|
CIRCT 23.0.0git
|


Public Member Functions | |
| __init__ (self, str id, List[Tuple[str, "ESIType"]] fields) | |
| Tuple[bool, Optional[str]] | is_valid (self, obj) |
| bytearray | serialize (self, obj) |
| Tuple[Dict[str, Any], bytearray] | deserialize (self, bytearray data) |
Public Member Functions inherited from esiaccel.types.ESIType | |
| wrap_cpp (cls, cpp.Type cpp_type) | |
| str | id (self) |
| Tuple[bool, Optional[str]] | supports_host (self) |
| int | bit_width (self) |
| int | max_size (self) |
| int | __hash__ (self) |
| bool | __eq__ (self, other) |
| str | __str__ (self) |
Public Attributes | |
| fields | |
Public Attributes inherited from esiaccel.types.ESIType | |
| cpp_type | |
| id | |
Protected Member Functions | |
| _init_from_cpp (self, cpp.UnionType cpp_type) | |
| esiaccel.types.UnionType.__init__ | ( | self, | |
| str | id, | ||
| List[Tuple[str, "ESIType"]] | fields | ||
| ) |
Reimplemented from esiaccel.types.ESIType.
Definition at line 483 of file types.py.
References esiaccel.types.ArrayType._init_from_cpp(), esiaccel.types.BundleType._init_from_cpp(), esiaccel.types.ChannelType._init_from_cpp(), esiaccel.types.ListType._init_from_cpp(), esiaccel.types.StructType._init_from_cpp(), esiaccel.types.ESIType._init_from_cpp(), esiaccel.types.TypeAlias._init_from_cpp(), esiaccel.types.UnionType._init_from_cpp(), and esiaccel.types.WindowType._init_from_cpp().
Referenced by synth.LongestPathCollection.drop_non_critical_paths(), and synth.LongestPathCollection.merge().
|
protected |
Initialize instance attributes from a C++ type object.
Reimplemented from esiaccel.types.ESIType.
Definition at line 487 of file types.py.
References esiaccel.types.UnionType._init_from_cpp().
Referenced by esiaccel.types.ESIType.__init__(), esiaccel.types.VoidType.__init__(), esiaccel.types.AnyType.__init__(), esiaccel.types.ListType.__init__(), esiaccel.types.ArrayType.__init__(), esiaccel.types.ChannelType.__init__(), esiaccel.types.BitsType.__init__(), esiaccel.types.IntType.__init__(), esiaccel.types.UIntType.__init__(), esiaccel.types.SIntType.__init__(), esiaccel.types.BundleType.__init__(), esiaccel.types.StructType.__init__(), esiaccel.types.UnionType.__init__(), esiaccel.types.TypeAlias.__init__(), esiaccel.types.WindowType.__init__(), and esiaccel.types.UnionType._init_from_cpp().
| Tuple[Dict[str, Any], bytearray] esiaccel.types.UnionType.deserialize | ( | self, | |
| bytearray | data | ||
| ) |
Convert a bytearray to a Python object. Return the object and the leftover bytes.
Reimplemented from esiaccel.types.ESIType.
Definition at line 522 of file types.py.
References esiaccel.types.ESIType.bit_width(), circt::om::evaluator::ObjectValue.fields, esi::StructType.fields, esi::WindowType::Frame.fields, esi::UnionType.fields, esiaccel.types.StructType.fields, esiaccel.types.WindowType.Frame.fields, esiaccel.types.UnionType.fields, llvm::yaml::MappingContextTraits< sv::InterfaceOp, Context >::Interface.fields, and MappingInfo.fields.
| Tuple[bool, Optional[str]] esiaccel.types.UnionType.is_valid | ( | self, | |
| obj | |||
| ) |
Is a Python object compatible with HW type? Returns either '(True, None)' if it is, or '(False, reason)' if it is not.
Reimplemented from esiaccel.types.ESIType.
Definition at line 492 of file types.py.
References circt::om::evaluator::ObjectValue.fields, esi::StructType.fields, esi::WindowType::Frame.fields, esi::UnionType.fields, esiaccel.types.StructType.fields, esiaccel.types.WindowType.Frame.fields, esiaccel.types.UnionType.fields, llvm::yaml::MappingContextTraits< sv::InterfaceOp, Context >::Interface.fields, and MappingInfo.fields.
| bytearray esiaccel.types.UnionType.serialize | ( | self, | |
| obj | |||
| ) |
Convert a Python object to a bytearray.
Reimplemented from esiaccel.types.ESIType.
Definition at line 506 of file types.py.
References esiaccel.types.ESIType.bit_width(), circt::om::evaluator::ObjectValue.fields, esi::StructType.fields, esi::WindowType::Frame.fields, esi::UnionType.fields, esiaccel.types.StructType.fields, esiaccel.types.WindowType.Frame.fields, esiaccel.types.UnionType.fields, llvm::yaml::MappingContextTraits< sv::InterfaceOp, Context >::Interface.fields, and MappingInfo.fields.
| esiaccel.types.UnionType.fields |
Definition at line 490 of file types.py.
Referenced by esiaccel.types.StructType.deserialize(), esiaccel.types.UnionType.deserialize(), esiaccel.types.StructType.is_valid(), esiaccel.types.UnionType.is_valid(), esiaccel.types.StructType.serialize(), and esiaccel.types.UnionType.serialize().