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_xdc
in Tcl script.synth_design_opts
: sets options forsynth_design
.script_after_synth
: inserts commands aftersynth_design
in Tcl script.script_after_place
: inserts commands afterplace_design
in Tcl script.script_after_route
: inserts commands afterroute_design
in Tcl script.script_before_bitstream
: inserts commands beforewrite_bitstream
in Tcl script.script_after_bitstream
: inserts commands afterwrite_bitstream
in 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:
xst
ngdbuild
map
par
bitgen
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 afterrun
in 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_synth
symbiflow_pack
symbiflow_place
symbiflow_route
symbiflow_write_fasm
symbiflow_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:
yosys
nextpnr-xilinx
fasm2frames
xc7frames2bit
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_verilog
Yosys command.script_after_read
: inserts commands afterread_verilog
in Yosys script.synth_opts
: adds options forsynth_xilinx
Yosys command.script_after_synth
: inserts commands aftersynth_xilinx
in 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
.