Lista przyrostków plików Xilinx (dla ISE)

15

Poprosiłem Xilinx o taką listę, ale nie mają pełnej listy. Chcę się upewnić, że wszystkie pliki wejściowe są pod kontrolą źródła, a wszystkie pliki wyjściowe nie są. Tak jest w przypadku 13.1-13.2 z ISE i PlanAhead

Niektóre informacje, które podają, to lista plików wyjściowych PAR i plików pakietu ISE Design Suite w Podręczniku użytkownika narzędzi wiersza poleceń, lista plików źródłowych z stąd .

Edytuj 19 sierpnia 2011 r .: wspomniano 13.2 i PlanAhead Edytuj 7 września 2011 r .: usunięto odniesienie do EDK, ponieważ niektórzy w odpowiedzi

Brian Carlton
źródło
1
O ile mi wiadomo, zamierzają pisać od zera wszystkie narzędzia programowe, które już mają ... więc prawdopodobnie taka lista stanie się przestarzała za półtora roku
podwójna
Czy nie tworzysz plików wejściowych, a zatem znasz ich nazwy i sufiksy? Nie powinieneś znać nazw plików wyjściowych, aby upewnić się, że pliki wejściowe są pod kontrolą źródła. Nie znam twojego przepływu pracy, więc jest to dla mnie trochę mylące.
Kevin Vermeer
3
Większość kontroli wersji działa na czarnej liście, a nie na białej liście, aby decydować, które pliki są kandydatami do kontroli wersji. Na przykład w Mercurial znajduje się .hgignoreplik zawierający listę wyrażeń regularnych określających, które pliki należy wykluczyć. Subversion używa nazwanej właściwości, svn:ignorektóra wpływa tylko na katalog, w którym jest ustawiona. Dlatego, aby uniemożliwić innym użytkownikom sprawdzanie wszystkich śmieci kompilacji (co często powoduje kolizje podczas aktualizacji i scalania), musisz mieć listę sufiksów do wykluczenia .
Mike DeSimone,
@Kevin Vermeer: ​​Niezupełnie. Istnieją inne narzędzia, takie jak CoreGen, które generują niektóre pliki. I mają one zarówno dane wyjściowe (np. Raporty), jak i dane wejściowe (np. Ustawienia generatora)
Brian Carlton
Jak wskazał @Arash, przepisali swoje oprogramowanie w maju 2012 r., Teraz nazywane Vivado press.xilinx.com/…
Brian Carlton

Odpowiedzi:

12

Szybka odpowiedź: nigdzie nie ma takiej listy.

Długa odpowiedź: mógłbym ci powiedzieć, ale wtedy się myliłem. Używam narzędzi Xilinx od ponad 15 lat i za każdym razem, gdy pojawiają się w nowej wersji (lub nawet w nowym dodatku service pack), rzeczy się zmieniają. Czasami nawet sama zmiana różnych opcji XST / MAP / PAR spowoduje wygenerowanie nowych plików. Więc nawet gdybym ci dał listę, prawdopodobnie byłaby nieaktualna lub po prostu źle.

Stworzyłem własne pliki makefile do budowy moich układów FPGA (nie używam środowiska GUI ISE) i dość dobrze udokumentowane są pliki wejściowe do różnych narzędzi (XST, MAP itp.). Cała reszta nie jest wymagana i dlatego nie musi być sprawdzana w systemie kontroli źródła. Moje pliki makefile mają opcję „make clean”, która usuwa wszystkie dodatkowe pliki. Kiedy Xilinx wydaje nową wersję, po prostu rekompiluję i „czyść”. Każdy pozostały plik (i oczywiście nie jest to coś, czego potrzebuję) jest uważany za niepotrzebny i dodaję te pliki do listy „make clean” rzeczy do usunięcia.


źródło
3
Tak, niestety często jest to OGROMNY problem z integracją fantazyjnych IDE z ustrukturyzowaną praktyką inżynierską.
Chris Stratton,
1
@David Kessner Dobry post. Czy jest szansa, że ​​możesz opublikować jeden z plików makefile?
Jim Clay
@JimClay Przepraszam, ale nie mogę. Moje pliki makefile są nie tylko bardziej skomplikowane i mylące dla większości ludzi, ale są również wykonywane dla mojej pracy, a zatem chronione prawem autorskim i tym podobne.
9

Oto początek wiki społeczności dla sufiksów. Zgadzam się z @David Kessner. Xilinx ma również tę listę z dokumentu narzędzia wiersza poleceń i opublikował tutaj listę i tutaj (dla wcześniejszej wersji swojego oprogramowania).

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,,
Brian Carlton
źródło
2
Plik sdc jest wymieniony jako wyjście, ale zwykle jest to plik wejściowy do analizatora taktowania (TimeQuest w świecie Altera). Plik jest zwykle pisany ręcznie i dlatego powinien mieć kontrolę wersji.
trondd,
2

Stworzyłem projekt na Github o nazwie X-MimeTypes którego celem jest zapewnienie podstawy, z której społeczność może skorzystać raz na zawsze, aby stworzyć odpowiednią bazę wiedzy na temat typów plików używanych w branży EDA.

To podejście ma pewne zalety w porównaniu z listowaniem wszystkich znanych plików na liście, tak jak w poprzedniej odpowiedzi:

  • Jest na Githubie, więc jest otwarty, a jego wersja jest kontrolowana, abyś mógł zobaczyć pełną historię.
  • Zastosowany format odpowiada formatowi bazy danych typu mimetype OpenDesktop. Ponownie, zastosowanie tego podejścia ma wiele zalet.

    • To jest udowodnione.
    • Można go przedłużyć. Obecne rozszerzenia pozwalają oznaczać każdy typ jako wygenerowany lub nie. Bardzo przydatny do kontroli wersji i operacji czyszczenia itp.
    • W systemie Linux możesz dodać ten plik do bazy danych MIME systemu, a wszystkie programy rozpoznają typy w pliku.
    • Obsługuje możliwość klasyfikowania plików przy użyciu magicznych nagłówków itp. Przykładem tego, dlaczego jest to konieczne, jest binarny plik konfiguracyjny Xilinx, który kończy się na * .bin. Standardowa baza danych typów MIME definiuje plik .bin jako application / octet-stream , dlatego będzie traktowany jak normalny plik binarny i nie będzie pobierany jako binarny plik konfiguracyjny Xilinx. Specyfikacja mimetype z łatwością rozwiązuje ten problem za pomocą magicznych nagłówków. Dlatego możliwą poprawną definicją typu mimetype dla pliku .bin Xilinx jest:
  <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>
  • Każdy może zgłaszać błędy do repozytorium, klonować je itp.
  • Nie jest specyficzne dla dostawcy.

Dostęp do typów MIME EDA można uzyskać tutaj .

Taki projekt naprawdę wymaga siły tłumu, dlatego każdy mały wkład sprawi, że baza danych będzie bardziej użyteczna dla wielu projektantów FPGA.

Jaco Naude
źródło
1

Inne rozwiązanie do sortowania plików wejściowych z plików wyjściowych to:

1) Zbuduj FPGA

2) zaimportuj wszystko do systemu kontroli wersji (np. Git init; git add.; Git commit -m "init";)

3) uruchom ponownie kompilację FPGA

4) wszystkie zmodyfikowane pliki („status git”) po drugim uruchomieniu najprawdopodobniej będą plikami wyjściowymi (w tym pliki dziennika, ...), a niezmodyfikowane raz będą plikami wejściowymi.

Tak właśnie robię, gdy otrzymuję katalog lub plik zip z komunikatem „to jest projekt, proszę go naprawić ...”

Vermaete
źródło
4) głównie działa. Ale czasami aktualizują pliki z ostatnim czasem kompilacji w samym pliku. To sprawia, że ​​ten krok nie jest tak dobry, jak bym chciał.
Brian Carlton,
1
@Brian Carlton Czy mówisz o plikach wejściowych, które są aktualizowane z czasem modyfikacji. Np. Pliki XCO z Coregen. Rzeczywiście, tutaj zawodzi moja metoda. Zapobiegam narzędziom do modyfikowania tego rodzaju plików, wykonując „chmod -w” na tych plikach w Makefile.
vermaete