CIRCT
20.0.0git
|
A packed SystemVerilog type. More...
#include <MooreTypes.h>
Public Member Functions | |
Domain | getDomain () const |
Get the value domain of this type. More... | |
std::optional< unsigned > | getBitSize () const |
Get the size of this type in bits. More... | |
Public Member Functions inherited from circt::moore::UnpackedType | |
Domain | getDomain () const |
Get the value domain of this type. More... | |
std::optional< unsigned > | getBitSize () const |
Get the size of this type in bits. More... | |
void | print (mlir::AsmPrinter &odsPrinter) const |
Static Public Member Functions | |
static bool | classof (Type type) |
Static Public Member Functions inherited from circt::moore::UnpackedType | |
static bool | classof (Type type) |
static Type | parse (mlir::AsmParser &odsParser) |
A packed SystemVerilog type.
Packed types are the core types of SystemVerilog. They combine a core packed type with an optional sign and zero or more packed dimensions. The core packed types are:
bit
, logic
, reg
byte
, shortint
, int
, longint
, integer
, time
The packed dimensions can be:
[]
)[x:y]
)Note that every packed type is also a valid unpacked type. But unpacked types are not valid packed types.
Definition at line 133 of file MooreTypes.h.
|
inlinestatic |
Definition at line 135 of file MooreTypes.h.
std::optional< unsigned > PackedType::getBitSize | ( | ) | const |
Get the size of this type in bits.
Returns None
if any of the type's dimensions is unsized.
Definition at line 114 of file MooreTypes.cpp.
Domain PackedType::getDomain | ( | ) | const |
Get the value domain of this type.
Definition at line 100 of file MooreTypes.cpp.
References circt::moore::FourValued, and circt::moore::TwoValued.