elasticai.creator.ir2verilog.templates#

Module Contents#

Classes#

TemplateDirector

Director for verilog templates.

VerilogTemplate

API#

class elasticai.creator.ir2verilog.templates.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(name: str) Self[source]#
define_scoped_switch(name: str, default=True) 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.

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

Initialization

undef(name: str)[source]#

Disable a define switch, ie. comment out the define statement

define(name: str)[source]#

Enable a define switch, ie. uncomment the define statement

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