Список суффиксов файлов Xilinx (для ISE)


15

Я попросил Xilinx такой список, но у них нет полного списка. Я хочу убедиться, что все входные файлы находятся в системе контроля версий, а все выходные файлы - нет. Это с 13.1-13.2 с ISE и PlanAhead

Некоторая информация, которую они предоставляют, представляет собой список выходных файлов PAR и файлов ISE Design Suite в Руководстве пользователя по инструментам командной строки, отсюда список исходных файлов .

Редактировать 19 августа 2011: упомянуто 13.2 и PlanAhead Редактировать 7 сентября 2011: удалена ссылка на EDK, поскольку некоторые ответили


1
Насколько я знаю, они собираются писать с нуля все программные инструменты, которые у них уже есть ... так что, вероятно, такой список устареет через полтора года
doubleE

Разве вы не создаете входные файлы и, следовательно, знаете их имена и суффиксы? Вам не нужно знать имена выходных файлов, чтобы гарантировать, что входные файлы находятся в системе контроля версий. Я не знаком с вашим рабочим процессом, поэтому меня это немного смущает.
Кевин Вермеер

3
Большая часть контроля версий работает по принципу черного списка, а не по принципу белого списка, чтобы определить, какие файлы являются кандидатами на управление версиями. Например, в Mercurial есть .hgignoreфайл, который содержит список регулярных выражений, указывающих, какие файлы исключать. Subversion использует свойство с именем, svn:ignoreкоторое влияет только на каталог, в котором оно установлено. Таким образом, чтобы другие пользователи не могли проверять весь сборочный мусор (который часто вызывает конфликты во время обновлений и слияний), необходимо иметь список суффиксов для исключения .
Майк ДеСимоне

@ Кевин Вермеер: Не совсем. Есть и другие утилиты, такие как CoreGen, которые генерируют некоторые файлы. И у них есть и выходы (например, отчеты) и входы (например, настройки для генератора)
Брайан Карлтон

Как отметил @Arash, они переписали свое программное обеспечение в мае 2012 года, которое теперь называется Vivado press.xilinx.com/…
Брайан Карлтон

Ответы:


12

Быстрый ответ: такого списка нет нигде.

Длинный ответ: я могу вам сказать, но тогда я ошибусь. Я использую инструменты Xilinx уже более 15 лет, и каждый раз, когда они выходят с новой версией (или даже с новым пакетом обновлений), все меняется. Иногда даже простое изменение различных параметров XST / MAP / PAR приводит к созданию новых файлов. Так что даже если бы я дал вам список, он, скорее всего, был бы устаревшим или просто неправильным.

Я создал свои собственные make-файлы для сборки своих FPGA (я не использую среду графического интерфейса ISE), и он довольно хорошо задокументировал, что представляют собой входные файлы для различных инструментов (XST, MAP и т. Д.). Все остальное не требуется и, следовательно, не нуждается в проверке в системе контроля версий. Мои make-файлы имеют опцию «make clean», которая удаляет все лишние файлы. Поэтому, когда Xilinx выпускает новую версию, я просто перекомпилирую и "make clean". Любой файл, который остается (и, очевидно, не является тем, что мне нужно), считается ненужным, и я добавляю эти файлы в список «make clean» для удаления.


3
Да, это, к сожалению, часто ОГРОМНАЯ проблема с интеграцией модных IDE в структурированную практику проектирования.
Крис Страттон

1
@ Дэвид Кесснер Хороший пост. Есть ли шанс, что вы можете опубликовать один из ваших make-файлов?
Джим Клэй

@JimClay Извините, но я не могу. Мало того, что мои make-файлы намного сложнее и запутаннее для большинства людей, они также сделаны для моей работы и, таким образом, защищены авторским правом и тому подобным.

9

Вот начало вики сообщества для суффиксов. Я согласен с @ Дэвидом Кесснером. Xilinx также имеет этот список из документа инструментов командной строки и опубликовал список здесь и здесь (для более ранней версии их программного обеспечения).

File Suffix,Input or output,description
asy,output,symbol file
awc,,
bat,input,batch file. Some are generated by PlanAhead
bgn,,bitgen report file
bin,,
bit,output,FPGA bitstream
blc,output,NGCBuild report file
bld,output,build report from NGDBuild
bmm,,blockram files
bsb,,
cdc,input,ChipScope file 
cel,,
cfi,input and output,provides info to Support for Platform Flash PROM Design Revisioning
cgc,,ChipScope file
cgp,,Coregen project file
cmd,,
cmd_log,output,log file
cpj,,
css,output,HTML file
csv,output,pin list
ctj,,trigger file for ChipScope
dat,,
data,,
dbg
do,input,simulation script
drc,output,design rule check
edf,output,EDIF netlist
edif,,see edf
edn,,an EDIF file suffix
f,,used for functional simulation
filter,,used in ISE to filter messages
gise,output,"contain generated data, such as process status" per http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/ise_c_understanding_ise_project.htm
hdx,,used in PlanAhead for partitions
html,,report file
ipf,input,impact (programmer) project
isc,output,Configuration data in IEEE 1532 format.
jobs,,
js,output,JavaScript for some HTML report
lfp,,
ll,output, Readback information; created by bitgen
log,output,log file
lso,input,library search order input  to XST.
lst,,
make,outout,from EDK tools
map,output,report file
mcs,output,prom file
mhs,,(EDK) Defines system
mrp,output,report file from map
mhs,,(EDK)
mif,input,memory initalization
mpd,,MicroProcessor Definition (EDK)
msd,output,Mask information from bitgen; used for verification
msk,output,mask information from bitgen; related to .bit
ncd,output,Native Circuit Description; after map process; used as bitgen input
ncf,,constraints for a core
new,,
ngc,output,used by NGDbuild
ngc_xst,output,
ngd,output,
ngo,output,intermediate netlist from NGDBuild
ngr,output,RTL schematic generated from XST
nky,,encryption key file, used by bitgen
nlf,output,ASCII NetGen NetGen log file that contains information on the NetGen run
nmc,,physical macros; used by NGDBuild
opt,,EDK generation options
pad,output,list of I/O pads/pins
par,output,Place and route log
pcf,,physical constraints file; used by bitgen
pdf,output,Acrobat document for core
ppr,,PlanAhead project file
prj,input,project file
prm,,PROM file generation control file
prn,output,exported ChipScope .csv file. Often lacks that suffix.
psg,output,PlanAhead strategy file
ptxw,,twx file which project navigator uses for parsing 
pwr,,
pxml,,associated with partitions
rba,output,read back file created by bitgen; binary
rbb,output,read back file created by bitgen; ascii
rbd,output,read back file created by bitgen; data only
rbt,output,bit file in different format
restore,,
rtf,output,Documentation
runs,,directory in PlanAhead
rst,,
scr,,XST synthesis script
sdbl,,
sdbx,,Installation files
sdc,input,timing file [thanks @trondd]
sedif
sh,input,Linux shell script. Some are generated by PlanAhead
srcs,,directory in PlanAhead
srp,output,Synthesis log file
stx,,
sym,output,Core symbol file
tsi,,
txt,output,log file
twr,output,timing report
twx,output,
ucf,input,constraints file
unroutes,output,report file
urf,input,User Rules File; used by NGDBuild
ut,,
v,input or output,Verilog file for code. Output of coregen
vdbl,,
vbdx,,
veo,output,Verilog timing simulation file
vhd,input or output,input source VHDL file; output from Coregen
vho,output,VHDL timing simulation.
wcfg,input,ISim waveform configuration file
xaw,output,generated by Coregen
xbcd,,    
xco,,use by Coregen to regenerate cores. Contains core's parameters
xdc,,
xdl,,
xise,,created by coregen
xlsx,,some report
xml,,some are output reports
xmp,,(EDK)
xmsgs,output,log file
xpa,,
xpe,,
xpi,,
xreport,output,report file
xrpt,output,report file, others are inputs to PlanAhead
xsf,,symbol file for Mentor
xst,output,associated with HTML file?
xsl,,
xst,,
unroutes,output,report file
wbd,output,Waveform Database
wxbt,,
y,,

2
Файл sdc указан как выходной, но обычно это входной файл для анализатора синхронизации (TimeQuest в мире Altera). Файл обычно написан от руки и поэтому должен находиться в режиме контроля версий.
Трондд

2

Я создал проект на Github под названием X-MimeTypes, целью которого является предоставление основы, которую сообщество может использовать, чтобы раз и навсегда создать надлежащую базу знаний о типах файлов, используемых в индустрии EDA.

Этот подход имеет некоторые преимущества по сравнению с простым перечислением всех известных файлов в списке, как было сделано в предыдущем ответе:

  • Он на Github, таким образом, он открыт и его версия контролируется, чтобы вы могли просматривать полную историю.
  • Используемый формат соответствует формату базы данных mimetype OpenDesktop. Опять же, есть много преимуществ в использовании этого подхода.

    • Это доказано.
    • Это может быть продлено. Текущие расширения позволяют маркировать каждый тип как сгенерированный или нет. Очень полезно для контроля версий и операций очистки.
    • В Linux вы можете добавить этот файл в базу данных MIME вашей системы, и все программы будут распознавать типы в файле.
    • Он поддерживает возможность классификации файлов с использованием магических заголовков и т. Д. Примером необходимости этого является двоичный файл конфигурации Xilinx, заканчивающийся * .bin. Стандартная база данных MIME-типа определяет файл .bin как application / octet-stream , поэтому он будет обрабатываться как обычный двоичный файл и не будет считаться двоичным файлом конфигурации Xilinx. Спецификация mimetype легко решает эту проблему, используя магические заголовки. Таким образом, возможное правильное определение mimetype для файла Xilinx .bin:
  <mime-type type="application/vnd.xilinx.bitgen.binary_configuration_file">
    <comment xml:lang="en">Xilinx Binary Configuration File</comment>
    <glob pattern="*.bin"/>
    <magic priority="60">
      <match type="string" value="\xff\xff\xff\xff" offset="0"/>
    </magic>  
    <x:generated>true</x:generated>
  </mime-type>
  • Любой может отправить сообщение об ошибке в хранилище, клонировать его и т. Д.
  • Это не зависит от поставщика.

Типы пантомимы EDA доступны здесь .

Такой проект действительно требует силы толпы, поэтому каждый небольшой вклад сделает базу данных более полезной для многих разработчиков FPGA.


1

Другое решение для сортировки входных файлов из выходных файлов это:

1) Сборка ПЛИС

2) импортировать все в систему контроля версий (например, git init; git add.; Git commit -m "init";)

3) перезапустить сборку FPGA

4) все измененные файлы ('git status') после второго запуска, скорее всего, будут выходными файлами (в том числе файлы журналов, ...), а не модифицированные - входными файлами.

Это то, что я делаю, когда получаю каталог или zip-файл с сообщением «это проект, пожалуйста, исправьте его ...»


4) в основном работает. Но иногда они обновляют файлы с последним скомпилированным временем в самом файле. Это делает этот шаг не так хорошо, как хотелось бы.
Брайан Карлтон

1
@ Брайан Карлтон Вы говорите о входных файлах, которые обновляются со временем модификации. Например, файлы XCO от Coregen. Действительно, здесь не работает мой метод. Я не позволяю инструментам изменять файлы такого типа, выполняя команду «chmod -w» для этих файлов в Makefile.
Вермаете
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.