Xilinx
The amaranth.vendor.xilinx
module provides a base platform to support Xilinx toolchains.
The ISE, Vivado, and Symbiflow toolchains are supported.
- class amaranth.vendor.xilinx.XilinxPlatform(*, toolchain=None)
Vivado toolchain
- Required tools:
vivado
The environment is populated by running the script specified in the environment variable
AMARANTH_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
AMARANTH_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
AMARANTH_ENV_SYMBIFLOW
, if present.- Available overrides:
add_constraints
: inserts commands in XDC file.
Xray toolchain
- Required tools:
yosys
nextpnr-xilinx
fasm2frames
xc7frames2bit
The environment is populated by running the script specified in the environment variable
AMARANTH_ENV_XRAY
, if present.- toolchain = None
- property required_tools
A decorator indicating abstract properties.
Deprecated, use ‘property’ with ‘abstractmethod’ instead:
- class C(ABC):
@property @abstractmethod def my_abstract_property(self):
…
- property file_templates
A decorator indicating abstract properties.
Deprecated, use ‘property’ with ‘abstractmethod’ instead:
- class C(ABC):
@property @abstractmethod def my_abstract_property(self):
…
- property command_templates
A decorator indicating abstract properties.
Deprecated, use ‘property’ with ‘abstractmethod’ instead:
- class C(ABC):
@property @abstractmethod def my_abstract_property(self):
…