Xilinx Toolchain

Chapter Two of “FPGAs!? Now What?” gives a good overview of the full compilation process. The basic layers are:

Synthesis
The “logic synthesizer” compiles from HDL to a netlist
Implementation

The “translator” takes a set of netlists and design constraints and generates a merged netlist.

Then a “mapper” regroups the netlist so that place and route will be easier

Then a “place and route” tool decides exactly how the FPGA logic will be configured

Bitstream
The “bitstream generator” translates the configuration into the binary format that the FPGA uses to re-flash itself

File Extensions

Extension Description
.par “place and route” output
.vhd VHDL source code
.v Verilog source code
.ucf “constraints file”: hardware pinouts, timing, etc
.prj [list of files in the project?]
.wcfg [waveform configuration (saved from gtkwave?]
.srp “Synthesis Report File”
.xst [xst settings?]
.lso  
.vcf  
.bgn bitgen report file
.bit Final FPGA bitstream file (binary)
.xwbt  
.bld Build report from NGDBuild
.blc NGDBuild report file
.cmd_log  
.drc Design rule check output
.ncd  
.wdb  
.exe  
.map [intermediate step]
.mrp  
.ncd [intermediate step? netlist?]
.ngm  
.xrpt  
.par [place and route output?]
.pcf  
.ptwx  
.stx  
.syr  
.twr  
.twx  
.unroutes unrouted traces; if routing was successful, there should be none
.ut  
.xpi  
.log  
.xmsgs  
.gise  
.xise ISE project/workplace
.cgc [coregen? used to programatically re-gen core?]
.cgp Coregen Project
.ngc Pre-compiled netlist
.sym  
.asy “Symbol file”
_flist.txt File list (?)
.gise  
.ncf  
.sym  
.veo  
.vho  
.xco [intermediate file?]

See also: