Translation Pass Metadata Reference¶
Verilog translation pass¶
-
class
pymtl3.passes.backends.verilog.translation.VerilogTranslationPass.VerilogTranslationPass(debug=False)¶ Translate a PyMTL component hierarchy into Verilog.
-
__init__(debug=False)¶ Initialize self. See help(type(self)) for accurate signature.
-
__call__(top)¶ Translate a PyMTL component hierarhcy rooted at
top.
-
Here are the available input and output metadata of the Verilog translation pass:
-
class
pymtl3.passes.backends.verilog.translation.VerilogTranslationPass.VerilogTranslationPass(debug=False) Translate a PyMTL component hierarchy into Verilog.
-
enable= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable translation on a component.
Type:
bool; inputDefault value:
False
-
explicit_file_name= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Specify the filename of the translated source file.
Type:
str; inputDefault value: value of
explicit_module_nameof the top level
-
explicit_module_name= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Specify the translated name of the component.
Type:
str; inputDefault value: component class name concatenated with parameters
-
is_same= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Whether or not the translated result is the same as the existing output file.
Type:
bool; output
-
no_synthesis= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Wrap component translation result within `ifndef SYNTHESIS Enabling this option effectively removes the component from the hierarchy during logic synthesis.
Type:
bool; inputDefault value:
False
-
no_synthesis_no_clk= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ In the translated source, wrap the clk port connection of the component within `ifndef SYNTHESIS. This option can only be enabled while
no_synthesisisTrue. Enabling this option effectively removes the clk pin of the component during logic synthesis.Type:
bool; inputDefault value:
False
-
no_synthesis_no_reset= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ In the translated source, wrap the reset port connection of the component within `ifndef SYNTHESIS. This option can only be enabled while
no_synthesisisTrue. Enabling this option effectively removes the reset pin of the component during logic synthesis.Type:
bool; inputDefault value:
False
-
translate_config= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ An instance of
TranslationConfigsthat contains the parsed options.Type:
TranslationConfigs; output
-
translated= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Whether or not the component has been translated.
Type:
bool; output
-
translated_filename= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Filename of the translation result.
Type:
str; output
-
translated_top_module= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Top level module name in the translation result.
Type:
str; output
-
translator= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ A reference of the translator called during translation.
Type: output
-
Yosys translation pass¶
-
class
pymtl3.passes.backends.yosys.translation.YosysTranslationPass.YosysTranslationPass(debug=False)¶ -
__init__(debug=False)¶ Initialize self. See help(type(self)) for accurate signature.
-
__call__(top)¶ Translate a PyMTL component hierarhcy rooted at
top.
-
The available input and output metadata of the Yosys translation pass are the same as those of the Verilog translation pass.