Import Pass Metadata Reference¶
Verilog import pass¶
-
class
pymtl3.passes.backends.verilog.import_.VerilogVerilatorImportPass.VerilogVerilatorImportPass(debug=False)¶ Import an arbitrary SystemVerilog module as a PyMTL component.
-
__init__(debug=False)¶ Initialize self. See help(type(self)) for accurate signature.
-
__call__(top)¶ Import the PyMTL component hierarhcy rooted at
top.
-
Here are the available input and output metadata of the Verilog import pass:
-
class
pymtl3.passes.backends.verilog.import_.VerilogVerilatorImportPass.VerilogVerilatorImportPass(debug=False) Import an arbitrary SystemVerilog module as a PyMTL component.
-
c_flags= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Optional flags to be passed to the C compiler.
Type:
str; inputDefault value:
''
-
c_include_path= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Optional include paths to be passed to the C compiler.
Type:
[str]; inputDefault value:
[]
-
c_srcs= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Optional source file paths to be passed to the C compiler.
Type:
[str]; inputDefault value:
[]
-
enable= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable import on a component.
Type:
bool; inputDefault value:
False
-
fast= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Spend more time on compilation for faster simulation performance
Type:
bool; inputDefault value:
False
-
import_config= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ An instnace of
VerilatorImportConfigscontaining the parsed options.Type:
VerilatorImportConfigs; output
-
ld_flags= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Optional flags to be passed to LD.
Type:
str; inputDefault value:
''
-
ld_libs= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Optional libraries to be passed to LD (e.g.,
'-lfoo').Type:
str; inputDefault value:
''
-
verbose= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Print out extra debug information during import.
Type:
bool; inputDefault value:
False
-
vl_W_fatal= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable Verilator fatal warnings.
Type:
bool; inputDefault value:
True
-
vl_W_lint= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable Verilator lint warnings.
Type:
bool; inputDefault value:
True
-
vl_W_style= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable Verilator style warnings.
Type:
bool; inputDefault value:
True
-
vl_Wno_list= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ A list of suppressed Verilator warnings.
Type:
[str]; inputDefault value:
['UNSIGNED', 'UNOPTFLAT', 'WIDTH']
-
vl_coverage= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable Verilator coverage.
Type:
bool; inputDefault value:
False
-
vl_enable_assert= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable Verilog assert.
Type:
bool; inputDefault value:
False
-
vl_line_coverage= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable Verilator line coverage.
Type:
bool; inputDefault value:
False
-
vl_line_trace= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Use Verilog
line_traceoutput as the Python line_trace return value.Type:
bool; inputDefault value:
False
-
vl_mk_dir= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Specify the Verilator make directory.
Type:
str; inputDefault value: obj_<top-component-name>
-
vl_opt_level= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Verilator optimization level.
Type:
int; inputDefault value:
3
-
vl_toggle_coverage= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable Verilator toggle coverage.
Type:
bool; inputDefault value:
False
-
vl_trace= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Enable Verilator VCD tracing.
Type:
bool; inputDefault value:
False
-
vl_trace_cycle_time= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Cycle time of PyMTL clk pin in the generated Verilator VCD in unit of
vl_trace_timescale.Type:
int; inputDefault value:
100
-
vl_trace_filename= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Filename of Verilator VCD tracing.
Type:
str; inputDefault value: translated-component-name.verilator1
-
vl_trace_on_demand= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Set to true to allow for on-demand VCD dumping
Type:
bool; inputDefault value:
False
-
vl_trace_on_demand_portname= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Top level port name that is used to enable VCD dumping when vl_trace_on_demand is True. Assuming the port is an active-high enable signal.
Type:
str; inputDefault value:
""
-
vl_trace_timescale= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Time scale of generated Verilator VCD.
Type:
str; inputDefault value:
'10ps'
-
vl_unroll_count= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Verilator unroll count.
Type:
int; inputDefault value:
1000000
-
vl_unroll_stmts= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Verilator unroll statement count.
Type:
int; inputDefault value:
1000000
-
vl_xinit= <pymtl3.dsl.MetadataKey.MetadataKey object>¶ Verilator initialization options.
Possible values:
'ones','zeros','rand', and non-zero integers; inputDefault value:
'zeros'
-
Yosys import pass¶
-
class
pymtl3.passes.backends.yosys.import_.YosysVerilatorImportPass.YosysVerilatorImportPass(debug=False)¶ -
__init__(debug=False)¶ Initialize self. See help(type(self)) for accurate signature.
-
__call__(top)¶ Import the PyMTL component hierarhcy rooted at
top.
-
The available input and output metadata of the Yosys import pass are the same as those of the Verilog import pass.