hwt.serializer.vhdl package¶
VHDL serializer serializes HDL objects to VHDL code.
-
class
hwt.serializer.vhdl.
Vhdl2008Serializer
[source]¶ Bases:
object
-
TO_CONSTRAINTS
¶
-
TO_HDL
¶ alias of
hdlConvertorAst.to.vhdl.vhdl2008.ToVhdl2008
-
TO_HDL_AST
¶
-
fileExtension
= '.vhd'¶
-
Submodules¶
hwt.serializer.vhdl.ops module¶
-
class
hwt.serializer.vhdl.ops.
ToHdlAstVhdl2008_ops
[source]¶ Bases:
object
-
_as_Bits_vec
(val: Union[hwt.synthesizer.rtlLevel.rtlSignal.RtlSignal, hwt.hdl.value.HValue])[source]¶
-
_cast_ops
= {<OpDefinition BitsAsSigned>: 'SIGNED', <OpDefinition BitsAsUnsigned>: 'UNSIGNED', <OpDefinition BitsAsVec>: 'STD_LOGIC_VECTOR'}¶
-
_tmp_var_for_ternary
(val: hwt.synthesizer.rtlLevel.rtlSignal.RtlSignal)[source]¶ Optionally convert boolean to std_logic_vector
-
as_hdl_operand
(operand: Union[hwt.synthesizer.rtlLevel.rtlSignal.RtlSignal, hwt.hdl.value.HValue])[source]¶
-
op_transl_dict
= {<OpDefinition AND>: <HdlOpType.AND: 18>, <OpDefinition OR>: <HdlOpType.OR: 19>, <OpDefinition XOR>: <HdlOpType.XOR: 22>, <OpDefinition CONCAT>: <HdlOpType.CONCAT: 51>, <OpDefinition DIV>: <HdlOpType.DIV: 4>, <OpDefinition DOWNTO>: <HdlOpType.DOWNTO: 78>, <OpDefinition TO>: <HdlOpType.TO: 79>, <OpDefinition EQ>: <HdlOpType.EQ: 36>, <OpDefinition GT>: <HdlOpType.GT: 42>, <OpDefinition GE>: <HdlOpType.GE: 43>, <OpDefinition LE>: <HdlOpType.LE: 41>, <OpDefinition POW>: <HdlOpType.POW: 8>, <OpDefinition LT>: <HdlOpType.LT: 40>, <OpDefinition SUB>: <HdlOpType.SUB: 2>, <OpDefinition MUL>: <HdlOpType.MUL: 5>, <OpDefinition NE>: <HdlOpType.NE: 37>, <OpDefinition ADD>: <HdlOpType.ADD: 3>, <OpDefinition NOT>: <HdlOpType.NEG: 15>, <OpDefinition MINUS_UNARY>: <HdlOpType.MINUS_UNARY: 0>, <OpDefinition RISING_EDGE>: <HdlOpType.RISING: 76>, <OpDefinition FALLING_EDGE>: <HdlOpType.FALLING: 77>, <OpDefinition INDEX>: <HdlOpType.INDEX: 50>}¶
-
hwt.serializer.vhdl.serializer module¶
-
class
hwt.serializer.vhdl.serializer.
ToHdlAstVhdl2008
(name_scope: Optional[hdlConvertorAst.translate.common.name_scope.NameScope] = None)[source]¶ Bases:
hwt.serializer.vhdl.value.ToHdlAstVhdl2008_Value
,hwt.serializer.vhdl.ops.ToHdlAstVhdl2008_ops
,hwt.serializer.vhdl.types.ToHdlAstVhdl2008_types
,hwt.serializer.vhdl.statements.ToHdlAstVhdl2008_statements
,hwt.serializer.generic.to_hdl_ast.ToHdlAst
Variables: name_scope – name scope used to generate a unique names for tmp variables (all object should be registered in namescope before serialization) -
ASSERT
= <HdlValueId assert>¶
-
DEFAULT_IMPORTS
= [{'__class__': 'HdlLibrary', 'name': {'__class__': 'str', 'val': 'IEEE'}} , {'__class__': 'HdlImport', 'path': {'__class__': 'list', 'items': ['IEEE', 'std_logic_1164', {'__class__': 'HdlAll'}]}} , {'__class__': 'HdlImport', 'path': {'__class__': 'list', 'items': ['IEEE', 'numeric_std', {'__class__': 'HdlAll'}]}} ]¶
-
FAILURE
= <HdlValueId failure>¶
-
_as_hdl_HdlModuleDef_param_asserts
(new_m: hdlConvertorAst.hdlAst._structural.HdlModuleDec) → List[hdlConvertorAst.hdlAst._bases.iHdlStatement][source]¶
-
_keywords_dict
= {'abs': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'access': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'across': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'after': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'alias': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'all': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'and': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'architecture': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'array': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'assert': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'attribute': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'begin': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'block': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'body': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'break': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'bugger': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'bus': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'case': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'component': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'configuration': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'constant': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'disconnect': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'downto': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'else': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'elsif': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'end': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'entity': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'exit': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'file': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'for': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'function': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'generate': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'generic': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'group': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'guarded': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'if': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'impure': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'in': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'inertial': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'inout': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'is': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'label': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'library': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'limit': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'linkage': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'literal': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'loop': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'map': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'mod': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'nand': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'nature': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'new': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'next': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'noise': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'nor': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'not': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'null': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'of': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'on': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'open': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'or': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'others': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'out': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'package': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'port': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'postponed': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'procedural': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'procedure': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'process': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'pure': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'quantity': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'range': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'record': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'reference': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'register': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'reject': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'rem': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'report': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'return': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'reverse_range': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'rol': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'ror': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'select': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'severity': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'shared': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'signal': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sla': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sll': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'spectrum': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sra': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'srl': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'subnature': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'subtype': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'terminal': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'then': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'through': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'to': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'tolerance': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'transport': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'type': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'unaffected': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'units': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'until': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'use': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'variable': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'wait': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'when': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'while': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'with': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'xnor': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'xor': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>}¶
-
hwt.serializer.vhdl.statements module¶
-
class
hwt.serializer.vhdl.statements.
ToHdlAstVhdl2008_statements
[source]¶ Bases:
object
-
as_hdl_HdlAssignmentContainer
(a: hwt.hdl.statements.assignmentContainer.HdlAssignmentContainer)[source]¶
-
hwt.serializer.vhdl.types module¶
-
class
hwt.serializer.vhdl.types.
ToHdlAstVhdl2008_types
[source]¶ Bases:
object
-
BOOLEAN
= <HdlValueId BOOLEAN>¶
-
INTEGER
= <HdlValueId INTEGER>¶
-
SIGNED
= <HdlValueId SIGNED>¶
-
STD_LOGIC
= <HdlValueId STD_LOGIC>¶
-
STD_LOGIC_VECTOR
= <HdlValueId STD_LOGIC_VECTOR>¶
-
STRING
= <HdlValueId STRING>¶
-
UNSIGNED
= <HdlValueId UNSIGNED>¶
-