CIRCT

Circuit IR Compilers and Tools

'moore' Dialect

Types and operations for Moore dialect This dialect defines the moore dialect, which represents various SystemVerilog-specific constructs without ambiguities and all types resolved.

Type constraint definition 

System-Verilog int type 

 

an SystemVerilog int 

 

Operation definition 

moore.mir.assign (::circt::moore::AssignOp) 

Continuous assignment

Syntax:

operation ::= `moore.mir.assign` $dest `,` $src  attr-dict `:` type($dest) `,` type($src)

A SystemVerilog assignment statement ‘x = y;'. These occur in module scope. See SV Spec 10.3.2.

Operands: 

OperandDescription
destMoore LValue type of any type values
srcMoore RValue type of any type values

moore.mir.constant (::circt::moore::ConstantOp) 

A constant value

Syntax:

operation ::= `moore.mir.constant` $value attr-dict `:` type($result)

Interfaces: NoSideEffect (MemoryEffectOpInterface)

Effects: MemoryEffects::Effect{}

Attributes: 

AttributeMLIR TypeDescription
value::mlir::IntegerAttr32-bit signless integer attribute

Results: 

ResultDescription
resultMoore RValue type of any type values

moore.mir.vardecl (::circt::moore::VariableDeclOp) 

A variable declaration

Syntax:

operation ::= `moore.mir.vardecl` $name `=` $init attr-dict `:` type($result)

Attributes: 

AttributeMLIR TypeDescription
name::mlir::StringAttrstring attribute
init::mlir::IntegerAttr32-bit signless integer attribute

Results: 

ResultDescription
resultMoore LValue type of any type values

Type definition 

IntType 

System-Verilog int type

LValueType 

Parameters: 

ParameterC++ typeDescription
nestedType::mlir::Type

RValueType 

Parameters: 

ParameterC++ typeDescription
nestedType::mlir::Type