Intel
The amaranth.vendor.intel
module provides a base platform to support Intel toolchains.
The Quartus and Mistral toolchains are supported.
- class amaranth.vendor.intel.IntelPlatform(*, toolchain='Quartus')
Quartus toolchain
- Required tools:
quartus_map
quartus_fit
quartus_asm
quartus_sta
The environment is populated by running the script specified in the environment variable
AMARANTH_ENV_QUARTUS
, if present.- Available overrides:
add_settings
: inserts commands at the end of the QSF file.add_constraints
: inserts commands at the end of the SDC file.nproc
: sets the number of cores used by all tools.quartus_map_opts
: adds extra options forquartus_map
.quartus_fit_opts
: adds extra options forquartus_fit
.quartus_asm_opts
: adds extra options forquartus_asm
.quartus_sta_opts
: adds extra options forquartus_sta
.
- Build products:
*.rpt
: toolchain reports.{{name}}.sof
: bitstream as SRAM object file.{{name}}.rbf
: bitstream as raw binary file.
Mistral toolchain
- Required tools:
yosys
nextpnr-mistral
The environment is populated by running the script specified in the environment variable
AMARANTH_ENV_MISTRAL
, if present.verbose
: enables logging of informational messages to standard error.read_verilog_opts
: adds options forread_verilog
Yosys command.synth_opts
: adds options forsynth_intel_alm
Yosys command.script_after_read
: inserts commands afterread_ilang
in Yosys script.script_after_synth
: inserts commands aftersynth_intel_alm
in Yosys script.yosys_opts
: adds extra options foryosys
.nextpnr_opts
: adds extra options fornextpnr-mistral
.
- 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):
…