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_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
AMARANTH_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
AMARANTH_ENV_SYMBIFLOW, if present.- Available overrides:
add_constraints: inserts commands in XDC file.
Xray toolchain
- Required tools:
yosysnextpnr-xilinxfasm2framesxc7frames2bit
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):
…