Liste des suffixes de fichiers Xilinx (pour ISE)


15

J'ai demandé à Xilinx une telle liste mais ils n'ont pas de liste complète. Je souhaite m'assurer que tous les fichiers d'entrée sont sous contrôle de source et que tous les fichiers de sortie ne le sont pas. C'est avec 13.1-13.2 avec ISE et PlanAhead

Certaines des informations qu'ils fournissent sont la liste des fichiers de sortie PAR et les fichiers ISE Design Suite dans le Guide de l'utilisateur des outils de ligne de commande, la liste des fichiers source à partir d' ici .

Edit 19 août 2011: mentionné 13.2 et PlanAhead Edit 7 septembre 2011: suppression de la référence EDK car certains en réponse


1
Autant que je sache, ils se déplacent pour écrire à partir de zéro tous les outils logiciels qu'ils ont déjà ... alors probablement une telle liste est devenue obsolète dans un an et demi
doubleE

Ne créez-vous pas les fichiers d'entrée et ne connaissez-vous donc pas leurs noms et suffixes? Vous ne devriez pas avoir besoin de connaître les noms des fichiers de sortie pour vous assurer que les fichiers d'entrée sont sous contrôle de source. Je ne connais pas votre flux de travail, c'est donc un peu déroutant pour moi.
Kevin Vermeer

3
La plupart des contrôles de version fonctionnent sur une liste noire plutôt que sur une liste blanche pour décider quels fichiers sont candidats au contrôle de version. Par exemple, dans Mercurial, il y a le .hgignorefichier qui contient une liste d'expressions régulières spécifiant les fichiers à exclure. Subversion utilise une propriété nommée svn:ignorequi n'affecte que le répertoire sur lequel elle est définie. Ainsi, pour empêcher les autres utilisateurs de consigner toutes les corbeilles de build (ce qui provoque souvent des collisions lors des mises à jour et des fusions), vous devez avoir une liste de suffixes à exclure .
Mike DeSimone

@Kevin Vermeer: ​​Pas exactement. Il existe d'autres utilitaires tels que CoreGen qui génèrent certains fichiers. Et ceux-ci ont à la fois des sorties (par exemple des rapports) et des entrées (par exemple des paramètres pour le générateur)
Brian Carlton

Comme @Arash l'a souligné, ils ont réécrit leur logiciel en mai 2012, maintenant appelé Vivado press.xilinx.com/…
Brian Carlton

Réponses:


12

Réponse rapide: aucune liste de ce type n'existe, nulle part.

Réponse longue: je pourrais vous le dire, mais je me tromperais. J'utilise les outils Xilinx depuis plus de 15 ans et à chaque fois qu'ils sortent avec une nouvelle version (ou même un nouveau service pack), les choses changent. Parfois, même en changeant simplement diverses options XST / MAP / PAR, de nouveaux fichiers seront générés. Donc, même si je vous donnais une liste, elle serait probablement dépassée ou tout simplement fausse.

J'ai créé mes propres makefiles pour construire mes FPGA (je n'utilise pas l'environnement GUI d'ISE), et il est assez bien documenté quels sont les fichiers d'entrée des différents outils (XST, MAP, etc.). Tout le reste n'est pas requis et n'a donc pas besoin d'être enregistré dans le système de contrôle de source. Mes makefiles ont une option "make clean" qui supprime tous les fichiers supplémentaires. Ainsi, lorsque Xilinx sort une nouvelle version, je recompile simplement le "make clean". Tout fichier qui reste (et qui n'est évidemment pas quelque chose dont j'ai besoin) est considéré comme indésirable, et j'ajoute ces fichiers à la liste "make clean" des choses à supprimer.


3
Oui, c'est malheureusement souvent un problème ÉNORME avec l'intégration d'IDE fantaisistes dans une pratique d'ingénierie structurée.
Chris Stratton

1
@David Kessner Bon article. Avez-vous des chances de publier un de vos makefiles?
Jim Clay

@JimClay Désolé, mais je ne peux pas. Non seulement mes makefiles sont beaucoup plus compliqués et déroutants pour la plupart des gens, ils sont également faits pour mon travail et donc protégés par des droits d'auteur et autres.

9

Voici le début d'un wiki communautaire pour les suffixes. Je suis d'accord avec @David Kessner. Xilinx a également cette liste dans le document des outils de ligne de commande et a publié une liste ici et ici (pour la version antérieure de leur logiciel).

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
Le fichier sdc est répertorié en sortie, mais il s'agit généralement d'un fichier d'entrée pour l'analyseur de synchronisation (TimeQuest dans le monde Altera). Le fichier est généralement manuscrit et doit donc être en contrôle de version.
trondd

2

J'ai créé un projet sur Github appelé X-MimeTypes qui vise à fournir une base que la communauté peut utiliser une fois pour toutes pour créer une base de connaissances appropriée sur les types de fichiers utilisés dans l'industrie EDA.

Cette approche présente certains avantages par rapport à la simple énumération de tous les fichiers connus dans une liste, comme indiqué dans la réponse précédente:

  • C'est sur Github, donc son ouverture et sa version contrôlée pour que vous puissiez voir un historique complet.
  • Le format utilisé correspond à celui de la base de données de type mime OpenDesktop. Encore une fois, cette approche présente de nombreux avantages.

    • C'est prouvé.
    • Il peut être prolongé. Les extensions actuelles permettent à chaque type d'être marqué comme généré ou non. Très utile pour les opérations de contrôle de version et de nettoyage, etc.
    • Sous Linux, vous pouvez ajouter ce fichier à la base de données MIME de votre système et tous les programmes reconnaîtront les types dans le fichier.
    • Il prend en charge la possibilité de classer les fichiers à l'aide d'en-têtes magiques, etc. Un exemple de la raison pour laquelle cela est nécessaire est un fichier de configuration binaire Xilinx qui se termine par * .bin. La base de données de type mime standard définit un fichier .bin comme application / octet-stream , donc il sera traité comme un fichier binaire normal et il ne sera pas récupéré comme un fichier de configuration binaire Xilinx. La spécification mimetype résout facilement ce problème en utilisant des en-têtes magiques. Ainsi, une définition correcte possible de type MIME pour un fichier Xbininx .bin est:
  <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>
  • Tout le monde peut déposer des bogues sur le référentiel, le cloner, etc.
  • Ce n'est pas spécifique au fournisseur.

Les types de mime EDA sont accessibles ici .

Un tel projet nécessite vraiment la puissance de la foule, donc chaque petite contribution rendra la base de données plus utile à de nombreux concepteurs de FPGA.


1

Une autre solution pour trier les fichiers d'entrée des fichiers de sortie:

1) Construisez le FPGA

2) tout importer dans un système de contrôle de version (par exemple git init; git add.; Git commit -m "init";)

3) relancez la version FPGA

4) tous les fichiers modifiés ('git status') après la deuxième exécution sont les plus susceptibles d'être des fichiers de sortie (y compris les fichiers journaux, ...) et les non modifiés une fois sont les fichiers d'entrée.

C'est ce que je fais lorsque je reçois un répertoire ou un fichier zip avec le message "c'est le projet, veuillez le corriger ..."


4) fonctionne principalement. Mais parfois, ils mettent à jour les fichiers avec une dernière heure de compilation dans le fichier lui-même. Cela rend cette étape pas aussi bonne que je le souhaiterais.
Brian Carlton

1
@Brian Carlton Parlez-vous de fichiers d'entrée mis à jour avec un temps de modification. Par exemple, les fichiers XCO de Coregen. En effet, ici échoue ma méthode. J'empêche les outils de modifier ce type de fichiers en faisant un 'chmod -w' sur ces fichiers dans le Makefile.
vermaete
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.