Xilinx¶
The torii.platform.vendor.xilinx module provides a base platform to support Xilinx devices with the ISE, Vivado, and Symbiflow toolchains.
- class torii.platform.vendor.xilinx.XilinxPlatform(*, toolchain: Literal['Vivado', 'ISE', 'Symbiflow'] = None) None¶
Vivado toolchain
- Required tools:
vivado
The environment is populated by running the script specified in the environment variable
TORII_ENV_VIVADO, if present.- Available overrides:
script_after_read: inserts commands afterread_xdcin Tcl script.synth_design_opts: sets options forsynth_design.script_after_synth: inserts commands aftersynth_designin Tcl script.script_after_place: inserts commands afterplace_designin Tcl script.script_after_route: inserts commands afterroute_designin Tcl script.script_before_bitstream: inserts commands beforewrite_bitstreamin Tcl script.script_after_bitstream: inserts commands afterwrite_bitstreamin Tcl script.add_constraints: inserts commands in XDC file.vivado_opts: adds extra options forvivado.
- Build products:
{{name}}.log: Vivado log.{{name}}_timing_synth.rpt: Vivado report.{{name}}_utilization_hierarchical_synth.rpt: Vivado report.{{name}}_utilization_synth.rpt: Vivado report.{{name}}_utilization_hierarchical_place.rpt: Vivado report.{{name}}_utilization_place.rpt: Vivado report.{{name}}_io.rpt: Vivado report.{{name}}_control_sets.rpt: Vivado report.{{name}}_clock_utilization.rpt: Vivado report.{{name}}_route_status.rpt: Vivado report.{{name}}_drc.rpt: Vivado report.{{name}}_methodology.rpt: Vivado report.{{name}}_timing.rpt: Vivado report.{{name}}_power.rpt: Vivado report.{{name}}_route.dcp: Vivado design checkpoint.{{name}}.bit: binary bitstream with metadata.{{name}}.bin: binary bitstream.
ISE toolchain
- Required tools:
xstngdbuildmapparbitgen
The environment is populated by running the script specified in the environment variable
TORII_ENV_ISE, if present.- Available overrides:
script_after_run: inserts commands afterrunin XST script.add_constraints: inserts commands in UCF file.xst_opts: adds extra options forxst.ngdbuild_opts: adds extra options forngdbuild.map_opts: adds extra options formap.par_opts: adds extra options forpar.bitgen_opts: adds extra and overrides default options forbitgen; default options:-g Compress.
- Build products:
{{name}}.srp: synthesis report.{{name}}.ngc: synthesized RTL.{{name}}.bld: NGDBuild log.{{name}}.ngd: design database.{{name}}_map.map: MAP log.{{name}}_map.mrp: mapping report.{{name}}_map.ncd: mapped netlist.{{name}}.pcf: physical constraints.{{name}}_par.par: PAR log.{{name}}_par_pad.txt: I/O usage report.{{name}}_par.ncd: place and routed netlist.{{name}}.drc: DRC report.{{name}}.bgn: BitGen log.{{name}}.bit: binary bitstream with metadata.{{name}}.bin: raw binary bitstream.
Symbiflow toolchain
- Required tools:
symbiflow_synthsymbiflow_packsymbiflow_placesymbiflow_routesymbiflow_write_fasmsymbiflow_write_bitstream
The environment is populated by running the script specified in the environment variable
TORII_ENV_SYMBIFLOW, if present.- Available overrides:
add_constraints: inserts commands in XDC file.
yosys_nextpnr toolchain
- Required tools:
yosysnextpnr-xilinxfasm2framesxc7frames2bit
The environment is populated by running the script specified in the environment variable
TORII_ENV_YOSYS_NEXTPNR, if present.- Available overrides:
nextpnr_db_dir: overrides nextpnr-xilinx chip-db path.prjxray_db_dir: overrides prjxray db path prefix.read_verilog_opts: adds options forread_verilogYosys command.script_after_read: inserts commands afterread_verilogin Yosys script.synth_opts: adds options forsynth_xilinxYosys command.script_after_synth: inserts commands aftersynth_xilinxin Yosys script.yosys_opts: adds extra options foryosys.nextpnr_opts: adds extra options fornextpnr-xilinx.fasm2frames_opts: adds extra options forfasm2frames.xc7frames2bit_opts: adds extra options forxc7frames2bit.