[][src]Module moore_svlog::hir

The high-level intermediate representation for SystemVerilog.

After parsing the AST is lowered into this representation, eliminating a lot of syntactic sugar and resolving any syntactic ambiguities.

Structs

AccessTable

A table of accessed nodes.

Arena

An arena to allocate HIR nodes into.

Assign

A continuous assignment.

CallArg

An argument to a function or method call.

EnumVariant

A single variant of an enum.

Event

An individual event within an event expression.

EventExpr

An event expression.

Expr

An expression.

ExtPort

An external port.

ExtPortExpr

A port expression associating an external port with an internal port.

Gen

A generate statement.

GenvarDecl

A genvar declaration.

Inst

An instantiation.

InstTarget

An instantiation target.

IntPort

An internal port.

IntPortData

Additional internal port details.

Module

A module.

ModuleBlock

The contents of a module.

Package

A package.

Port

A module or interface port.

PortList

List of internal and external ports of a module.

Proc

A procedure.

Stmt

A variable declaration.

Subroutine

A subroutine declaration.

Type

A type.

TypeParam

A type parameter.

Typedef

A typedef.

ValueParam

A value parameter.

VarDecl

A variable or net declaration.

Enums

AssignKind

The different forms an assignment can take.

BinaryOp

The different binary operators.

BuiltinCall

The different builtin function calls that are supported.

BuiltinType

A builtin type.

ExprKind

The different forms an expression can take.

ExtPortSelect

A select operation into an internal port.

GenKind

The different forms a generate statement can take.

Hint

A hint about how a node should be lowered to HIR.

HirNode

A reference to an HIR node.

IndexMode

The different forms an index expression can take.

InsideRange

Single values or value ranges admissible in inside sets.

LoopKind

The different forms a loop can take.

PatternMapping

A named pattern mapping.

StmtKind

The different forms a statement can take.

TimingControl

The different forms of timing control that can be applied to a statement.

TypeKind

The different forms a type can take.

UnaryOp

The different unary operators.

VarKind

Variable or net-specific data.

Traits

Visitor

A visitor of the HIR.

Functions

walk_assign

Walk the contents of an assignment.

walk_event

Walk the contents of an event.

walk_event_expr

Walk the contents of an event expression.

walk_expr

Walk the contents of an expression.

walk_ext_port

Walk the contents of an external port.

walk_inst

Walk the contents of an instantiation.

walk_inst_target

Walk the contents of an instantiation target.

walk_int_port

Walk the contents of an internal port.

walk_module

Walk the contents of a module.

walk_module_block

Walk the contents of a module block.

walk_proc

Walk the contents of a procedure.

walk_stmt

Walk the contents of a statement.

walk_timing_control

Walk the contents of a timing control block.

walk_typedef

Walk the contents of a typedef.

walk_var_decl

Walk the contents of a variable declaration.

Type Definitions

NamedParam

A named parameter.

PosParam

A positional parameter.