Liste der Xilinx-Dateiendungen (für ISE)

15

Ich habe Xilinx nach einer solchen Liste gefragt, aber es gibt keine vollständige Liste. Ich möchte sicherstellen, dass sich alle Eingabedateien in der Quellcodeverwaltung befinden und nicht alle Ausgabedateien. Dies ist mit 13.1-13.2 mit ISE und PlanAhead

Einige der bereitgestellten Informationen sind die Liste der PAR-Ausgabedateien und die ISE Design Suite-Dateien im Command Line Tools-Benutzerhandbuch, die Liste der Quelldateien von hier .

Edit 19. August 2011: Erwähnt 13.2 und PlanAhead Edit 7. September 2011: EDK-Referenz entfernt, da einige in Antwort

Brian Carlton
quelle
1
Soweit ich weiß, werden sie alle Software-Tools, die sie bereits haben, von Grund auf neu schreiben. Wahrscheinlich ist eine solche Liste in anderthalb Jahren veraltet
DoubleE
Erstellen Sie keine Eingabedateien und kennen daher deren Namen und Suffixe? Sie müssen die Namen der Ausgabedateien nicht kennen, um sicherzustellen, dass sich die Eingabedateien in der Quellcodeverwaltung befinden. Ihr Workflow ist mir nicht vertraut, daher ist das für mich etwas verwirrend.
Kevin Vermeer
3
Die meisten Versionskontrollen basieren eher auf einer Blacklist als auf einem Whitelist-Prinzip, um zu entscheiden, welche Dateien für die Versionskontrolle in Frage kommen. In Mercurial gibt es beispielsweise die .hgignoreDatei, die eine Liste von regulären Ausdrücken enthält, in denen angegeben ist, welche Dateien ausgeschlossen werden sollen. Subversion verwendet eine benannte Eigenschaft, svn:ignoredie sich nur auf das Verzeichnis auswirkt, in dem sie festgelegt ist. Um andere Benutzer daran zu hindern, den gesamten Erstellungsmüll einzuchecken (der häufig bei Aktualisierungen und Zusammenführungen zu Kollisionen führt), müssen Sie eine Liste von Suffixen zum Ausschließen haben .
Mike DeSimone
@ Kevin Vermeer: ​​Nicht genau. Es gibt andere Dienstprogramme wie CoreGen, die einige Dateien generieren. Und diese haben sowohl Ausgänge (z. B. Berichte) als auch Eingänge (z. B. Einstellungen für den Generator)
Brian Carlton
Wie @Arash betonte, haben sie ihre Software im Mai 2012 umgeschrieben und heißen nun Vivado press.xilinx.com/…
Brian Carlton

Antworten:

12

Schnelle Antwort: Es gibt nirgendwo eine solche Liste.

Lange Antwort: Ich könnte es Ihnen sagen, aber dann würde ich mich irren. Ich benutze Xilinx-Tools seit über 15 Jahren und jedes Mal, wenn sie mit einer neuen Version (oder sogar einem neuen Service Pack) herauskommen, ändern sich die Dinge. Manchmal werden auch nur durch Ändern verschiedener XST / MAP / PAR-Optionen neue Dateien generiert. Selbst wenn ich Ihnen eine Liste geben würde, wäre diese wahrscheinlich veraltet oder einfach falsch.

Ich habe meine eigenen Makefiles zum Erstellen meiner FPGAs erstellt (ich verwende nicht die GUI-Umgebung von ISE) und es ist ziemlich gut dokumentiert, welche Eingabedateien für die verschiedenen Tools (XST, MAP usw.) vorliegen. Alles andere ist nicht erforderlich und muss daher nicht in das Versionsverwaltungssystem eingecheckt werden. Meine Makefiles haben eine "make clean" -Option, die alle zusätzlichen Dateien entfernt. Also, wenn Xilinx eine neue Version veröffentlicht, kompiliere ich einfach neu und mache "sauber". Alle verbleibenden Dateien (und die ich offensichtlich nicht benötige) gelten als Junk-Dateien, und ich füge diese Dateien der Liste der zu löschenden Elemente hinzu.


quelle
3
Ja, dies ist leider oft ein RIESIGES Problem bei der Integration ausgefallener IDEs in die strukturierte Ingenieurspraxis.
Chris Stratton
1
@ David Kessner Guter Beitrag. Könntest du vielleicht eines deiner Makefiles posten?
Jim Clay
@ JimClay Sorry, aber ich kann nicht. Meine Makefiles sind nicht nur komplizierter und verwirrender für die meisten Leute, sie werden auch für meine Arbeit erledigt und sind somit urheberrechtlich geschützt.
9

Hier ist der Beginn eines Community-Wikis für die Suffixe. Ich stimme @ David Kessner zu. Xilinx hat diese Liste auch aus dem Befehlszeilentools-Dokument und hat hier und hier eine Liste veröffentlicht (für frühere Versionen ihrer Software).

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
quelle
2
Die sdc-Datei wird als Ausgabe aufgelistet, dies ist jedoch normalerweise eine Eingabedatei für den Timing-Analyzer (TimeQuest in der Welt von Altera). Die Datei ist normalerweise handgeschrieben und sollte sich daher in der Versionskontrolle befinden.
18.
2

Ich habe auf Github ein Projekt namens X-MimeTypes erstellt, das eine Grundlage bieten soll, auf der die Community ein für alle Mal eine geeignete Wissensbasis über die in der EDA-Branche verwendeten Dateitypen erstellen kann.

Dieser Ansatz hat einige Vorteile gegenüber dem Auflisten aller bekannten Dateien in einer Liste, wie in der vorherigen Antwort beschrieben:

  • Sein auf Github, also sein geöffnetes und seine Version, die gesteuert werden, damit Sie eine volle Geschichte ansehen können.
  • Das verwendete Format entspricht dem der OpenDesktop-Mimetyp-Datenbank. Die Verwendung dieses Ansatzes bietet wiederum viele Vorteile.

    • Es ist bewiesen.
    • Es kann erweitert werden. Mit den aktuellen Erweiterungen kann jeder Typ als generiert markiert werden oder nicht. Sehr nützlich für Versionskontrolle und Aufräumarbeiten usw.
    • Unter Linux können Sie diese Datei zur MIME-Datenbank Ihres Systems hinzufügen, und alle Programme erkennen die Dateitypen.
    • Es unterstützt die Möglichkeit, Dateien mithilfe von magischen Headern usw. zu klassifizieren. Ein Beispiel dafür, warum dies erforderlich ist, ist eine Xilinx-Binärkonfigurationsdatei, die mit * .bin endet. Die Standard-MIME-Typ-Datenbank definiert eine .bin-Datei als application / octet-stream , daher wird sie als normale Binärdatei behandelt und nicht als Xilinx-Binärkonfigurationsdatei aufgenommen. Die Mimetype-Spezifikation löst dieses Problem leicht mit magischen Headern. Daher lautet eine mögliche korrekte Mimetypdefinition für eine Xilinx-BIN-Datei:
  <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>
  • Jeder kann Bugs gegen das Repository einreichen, es klonen usw.
  • Es ist nicht herstellerspezifisch.

Auf die EDA-Mime-Typen kann hier zugegriffen werden .

Ein solches Projekt erfordert wirklich die Macht der Masse, daher wird jeder kleine Beitrag die Datenbank für viele FPGA-Designer da draußen nützlicher machen .

Jaco Naude
quelle
1

Eine andere Lösung, um die Eingabedateien von den Ausgabedateien zu sortieren, ist:

1) Bauen Sie das FPGA

2) alles in ein Versionskontrollsystem importieren (zB git init; git add.; Git commit -m "init";)

3) Führen Sie den FPGA-Build erneut aus

4) Bei allen geänderten Dateien ('Git-Status') nach dem zweiten Durchlauf handelt es sich höchstwahrscheinlich um Ausgabedateien (inkl. Protokolldateien, ...) und bei den nicht geänderten Dateien handelt es sich um die Eingabedateien.

Das mache ich, wenn ich ein Verzeichnis oder eine Zip-Datei mit der Meldung "Dies ist das Projekt, bitte korrigieren Sie es ..." erhalte.

Vermaete
quelle
4) funktioniert meistens. Aber manchmal aktualisieren sie Dateien mit einem letzten kompilierten Zeitpunkt in der Datei selbst. Das macht diesen Schritt nicht so gut, wie ich möchte.
Brian Carlton
1
@ Brian Carlton Sprechen Sie über Eingabedateien, die mit einer Änderungszeit aktualisiert werden. ZB XCO-Dateien von Coregen. In der Tat scheitert hier meine Methode. Ich verhindere, dass die Tools diese Art von Dateien ändern, indem ich ein 'chmod -w' für diese Dateien im Makefile mache.
Vermaete