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
VerilatorImportConfigs
containing 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_trace
output 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.