Elenco dei suffissi dei file Xilinx (per ISE)


15

Ho chiesto a Xilinx un simile elenco ma non hanno un elenco completo. Vorrei assicurarmi che tutti i file di input siano nel controllo del codice sorgente e tutti i file di output no. Questo è con 13.1-13.2 con ISE e PlanAhead

Alcune delle informazioni fornite sono l'elenco dei file di output PAR e dei file ISE Design Suite nella Guida dell'utente degli strumenti della riga di comando, l'elenco dei file di origine da qui .

Modifica il 19 agosto 2011: menzionato il 13.2 e PlanAhead Modifica il 7 settembre 2011: rimosso il riferimento EDK poiché alcuni in risposta


1
Per quanto ne so si stanno muovendo per scrivere da zero tutti gli strumenti software che già hanno ... quindi probabilmente tale elenco diventerà obsoleto in un anno e mezzo
doppio E

Non crei i file di input e quindi conosci i loro nomi e suffissi? Non è necessario conoscere i nomi dei file di output per assicurarsi che i file di input siano nel controllo del codice sorgente. Non ho familiarità con il tuo flusso di lavoro, quindi questo mi confonde un po '.
Kevin Vermeer,

3
La maggior parte del controllo di versione opera su una lista nera piuttosto che sul principio della whitelist per decidere quali file sono candidati per il controllo di versione. Ad esempio, in Mercurial, c'è il .hgignorefile che contiene un elenco di espressioni regolari che specifica quali file escludere. Subversion utilizza una proprietà denominata svn:ignoreche influisce solo sulla directory in cui è impostata. Pertanto, per impedire ad altri utenti di archiviare tutto il cestino di compilazione (che spesso causa collisioni durante aggiornamenti e fusioni), è necessario disporre di un elenco di suffissi da escludere .
Mike DeSimone,

@Kevin Vermeer: ​​Non esattamente. Esistono altre utilità come CoreGen che generano alcuni file. E quelli hanno sia uscite (es. Report) che ingressi (es. Impostazioni per il generatore)
Brian Carlton

Come ha sottolineato @Arash, hanno riscritto il loro software nel maggio 2012, ora chiamato Vivado press.xilinx.com/…
Brian Carlton,

Risposte:


12

Risposta rapida: tale elenco non esiste, ovunque.

Risposta lunga: potrei dirtelo, ma poi mi sbaglierei. Ho usato gli strumenti Xilinx negli ultimi 15 anni e ogni volta che escono con una nuova versione (o anche un nuovo service pack) le cose cambiano. A volte anche la semplice modifica di varie opzioni XST / MAP / PAR provoca la generazione di nuovi file. Quindi, anche se ti dessi un elenco, sarebbe probabilmente obsoleto o semplicemente sbagliato.

Ho creato i miei makefile per costruire i miei FPGA (non sto usando l'ambiente GUI di ISE), ed è abbastanza ben documentato quali sono i file di input per i vari strumenti (XST, MAP, ecc.). Tutto il resto non è richiesto e quindi non deve essere verificato nel sistema di controllo del codice sorgente. I miei makefile hanno un'opzione "make clean" che rimuove tutti i file extra. Quindi, quando Xilinx rilascia una nuova versione, mi limito a ricompilare e "rendere pulito". Qualsiasi file che rimane (e ovviamente non è qualcosa di cui ho bisogno) è considerato spazzatura e io aggiungo quei file all'elenco di cose "pulite" da eliminare.


3
Sì, questo è purtroppo spesso un problema ENORME con l'integrazione di IDE di fantasia nella pratica di ingegneria strutturata.
Chris Stratton,

1
@David Kessner Ottimo post. Qualche possibilità che potresti pubblicare uno dei tuoi makefile?
Jim Clay,

@JimClay Siamo spiacenti, ma non posso. Non solo i miei makefile sono più complicati e confusi per la maggior parte delle persone, ma sono anche fatti per il mio lavoro e quindi protetti da copyright e cose del genere.

9

Ecco l'inizio di una wiki della community per i suffissi. Sono d'accordo con @David Kessner. Xilinx ha anche questo elenco dal documento degli strumenti della riga di comando e ha pubblicato un elenco qui e qui (per la versione precedente del loro 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,,

2
Il file sdc è elencato come output, ma di solito si tratta di un file di input per l'analizzatore di temporizzazione (TimeQuest nel mondo Altera). Il file di solito è scritto a mano e dovrebbe quindi essere sotto controllo di versione.
trondd

2

Ho creato un progetto su Github chiamato X-MimeTypes che mira a fornire una base che la comunità può usare una volta per tutte per creare una base di conoscenza adeguata sui tipi di file utilizzati nel settore EDA.

Questo approccio presenta alcuni vantaggi rispetto al semplice elenco di tutti i file conosciuti in un elenco come fatto nella risposta precedente:

  • È su Github, quindi è aperto e la sua versione controllata in modo da poter visualizzare una cronologia completa.
  • Il formato utilizzato corrisponde a quello del database mimetype OpenDesktop. Ancora una volta, ci sono molti vantaggi nell'utilizzare questo approccio.

    • È dimostrato.
    • Può essere esteso. Le estensioni correnti consentono di contrassegnare ogni tipo come generato o meno. Molto utile per le operazioni di controllo versione e pulizia ecc.
    • Su Linux puoi aggiungere questo file al database mime del tuo sistema e tutti i programmi riconosceranno i tipi nel file.
    • Supporta la capacità di classificare i file usando intestazioni magiche ecc. Un esempio del perché questo è necessario è un file di configurazione binario Xilinx che termina con * .bin. Il database di tipo mime standard definisce un file .bin come application / octet-stream , quindi verrà gestito come un normale file binario e non verrà raccolto come file di configurazione binario Xilinx. La specifica del mimetype risolve facilmente questo problema usando le intestazioni magiche. Pertanto, una possibile definizione mimetype corretta per un file .bin Xilinx è:
  <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>
  • Chiunque può archiviare bug nel repository, clonarlo ecc.
  • Non è specifico del fornitore.

I tipi mime EDA sono accessibili qui .

Un tale progetto richiede davvero il potere della folla, quindi ogni piccolo contributo renderà il database più utile per molti progettisti FPGA là fuori.


1

Un'altra soluzione per ordinare i file di input dai file di output in questo modo:

1) Costruisci l'FPGA

2) importa tutto in un sistema di controllo della versione (es. Git init; git add.; Git commit -m "init";)

3) rieseguire la build FPGA

4) tutti i file modificati ('git status') dopo la seconda esecuzione hanno più probabilità di essere file di output (inclusi file di registro, ...) e quelli non modificati una volta sono i file di input.

Questo è quello che faccio quando ricevo una directory o un file zip con il messaggio "questo è il progetto, per favore correggilo ..."


4) funziona principalmente. Ma a volte aggiornano i file con un'ultima ora compilata nel file stesso. Questo rende questo passaggio non buono come vorrei.
Brian Carlton,

1
@Brian Carlton Parli di file di input che vengono aggiornati con un tempo di modifica. Ad esempio file XCO da Coregen. In effetti, qui non riesce il mio metodo. Impedisco agli strumenti di modificare quel tipo di file facendo un 'chmod -w' su quei file nel Makefile.
Vermaete,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.