elasticai.creator.ir2verilog#

Package Contents#

Classes#

Data#

API#

class elasticai.creator.ir2verilog.Ir2Verilog[source]#

Bases: elasticai.creator.ir.LoweringPass[elasticai.creator.ir2verilog.ir2verilog.Implementation, elasticai.creator.ir2verilog.ir2verilog.Code]

Initialization

register_static(name: str, fn: collections.abc.Callable[[], str]) None[source]#
__call__(args: collections.abc.Iterable[elasticai.creator.ir2verilog.ir2verilog.Implementation]) collections.abc.Iterator[elasticai.creator.ir2verilog.ir2verilog.Code][source]#
load_from_package(package: str) None[source]#
elasticai.creator.ir2verilog.type_handler#

‘FunctionDecorator(…)’

elasticai.creator.ir2verilog.type_handler_iterable#

‘FunctionDecorator(…)’

class elasticai.creator.ir2verilog.Node(name: str, data: dict[str, elasticai.creator.ir.base.Attribute])[source]#

Bases: elasticai.creator.ir.Node

implementation: str#

None

class elasticai.creator.ir2verilog.Implementation(*, graph: elasticai.creator.graph.Graph[str], data: dict[str, elasticai.creator.ir.Attribute])[source]#

Bases: elasticai.creator.ir.Implementation[elasticai.creator.ir2verilog.ir2verilog.Node, elasticai.creator.ir.Edge]

elasticai.creator.ir2verilog.Code: TypeAlias#

None

class elasticai.creator.ir2verilog.TemplateDirector[source]#

Director for verilog templates.

Most methods correspond to verilog language constructs.

Initialization

reset() Self[source]#
set_prototype(prototype: str) Self[source]#
parameter(name: str) Self[source]#
localparam(name: str) Self[source]#
replace_module_of_instance(module_name: str, new_name: str) Self[source]#
replace_instance_name(module_name: str, new_name: str) Self[source]#
define_scoped_switch(name: str, default: bool) Self[source]#

Add a switch for a define that is scoped to the module name.

The switch will be prefixed with the value that users provide as module_name to the render call.

Parameters:
  • name – String with name of the switch/define name

  • default – Setting switch for defining output state (True=set, False=undefine)

add_module_name() Self[source]#
build() elasticai.creator.ir2verilog.templates.VerilogTemplate[source]#
class elasticai.creator.ir2verilog.VerilogTemplate(template: string.Template, defines: dict[str, bool], module_name: dict[str, str])[source]#

Initialization

substitute(params: Mapping[str, str | bool]) str[source]#