hwt.serializer.systemC package¶
SystemC serializer serializes HDL objects to systemC code.
-
class
hwt.serializer.systemC.
SystemCSerializer
[source]¶ Bases:
hwt.serializer.serializer_config.DummySerializerConfig
-
TO_CONSTRAINTS
¶
-
TO_HDL
¶ alias of
hdlConvertorAst.to.systemc._main.ToSystemc
-
TO_HDL_AST
¶
-
fileExtension
= '.cpp'¶
-
Submodules¶
hwt.serializer.systemC.expr module¶
-
class
hwt.serializer.systemC.expr.
ToHdlAstSystemC_expr
[source]¶ Bases:
hwt.serializer.generic.value.ToHdlAst_Value
-
as_hdl_Value
(v)[source]¶ Parameters: - dst – is signal connected with value
- val – value object, can be instance of Signal or HValue
-
as_hdl_operand
(operand: Union[hwt.synthesizer.rtlLevel.rtlSignal.RtlSignal, hwt.hdl.value.HValue], i: int, operator: hwt.hdl.operator.Operator)[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>}¶
-
static_cast
= <HdlValueId static_cast>¶
-
hwt.serializer.systemC.serializer module¶
-
class
hwt.serializer.systemC.serializer.
ToHdlAstSystemC
(name_scope: Optional[hdlConvertorAst.translate.common.name_scope.NameScope] = None)[source]¶ Bases:
hwt.serializer.systemC.expr.ToHdlAstSystemC_expr
,hwt.serializer.systemC.type.ToHdlAstSystemC_type
,hwt.serializer.systemC.statements.ToHdlAstSystemC_statements
,hwt.serializer.generic.to_hdl_ast.ToHdlAst
Serialized used to convert HWT design to SystemC code
-
__init__
(name_scope: Optional[hdlConvertorAst.translate.common.name_scope.NameScope] = None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
_keywords_dict
= {'SC_BIN': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'SC_CTHREAD': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'SC_CTOR': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'SC_DEC': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'SC_HEX': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'SC_METHOD': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'SC_MODULE': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'SC_OCT': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'SC_THREAD': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'alignas': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'alignof': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'and': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'and_eq': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'asm': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'atomic_cancel': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'atomic_commit': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'atomic_noexcept': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'auto': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'bitand': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'bitor': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'bool': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'break': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'case': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'catch': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'char': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'char16_t': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'char32_t': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'class': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'compl': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'concept': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'const': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'const_cast': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'constexpr': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'continue': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'decltype': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'default': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'delete': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'do': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'double': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'dynamic_cast': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'else': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'enum': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'explicit': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'export': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'extern': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'false': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'float': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'for': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'friend': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'goto': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'if': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'import': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'inline': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'int': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'long': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'module': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'mutable': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'namespace': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'new': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'noexcept': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'not': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'not_eq': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'notify': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'nullptr': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'operator': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'or': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'or_eq': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'private': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'protected': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'public': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'register': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'reinterpret_cast': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'requires': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'return': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_bigint': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_biguint': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_bit': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_bv': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_create_vcd_trace_file': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_event': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_fixed': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_in': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_inout': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_inout_clk': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_inout_resolve': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_inout_rv': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_int': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_logic': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_lv': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_module': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_out': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_out_clk': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_out_resolved': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_out_rv': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_signal': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_signal_resolved': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_signal_rv': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_trace': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sc_trace_file': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sensitive': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'short': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'signed': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'sizeof': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'static': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'static_assert': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'static_cast': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'std': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'struct': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'switch': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'synchronized': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'template': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'this': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'thread_local': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'throw': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'true': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'try': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'typedef': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'typeid': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'typename': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'union': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'unsigned': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'using': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'virtual': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'void': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'volatile': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'wchar_t': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'while': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'xor': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>, 'xor_eq': <hdlConvertorAst.translate.common.name_scope.LanguageKeyword object>}¶
-
as_hdl_HdlCompInst
(o: hdlConvertorAst.hdlAst._structural.HdlCompInst) → hdlConvertorAst.hdlAst._structural.HdlCompInst[source]¶
-
sc_in
= <HdlValueId sc_in>¶
-
sc_in_clk
= <HdlValueId sc_in_clk>¶
-
sc_inout
= <HdlValueId sc_inout>¶
-
sc_inout_clk
= <HdlValueId sc_inout_clk>¶
-
sc_out
= <HdlValueId sc_out>¶
-
sc_out_clk
= <HdlValueId sc_out_clk>¶
-
hwt.serializer.systemC.statements module¶
-
class
hwt.serializer.systemC.statements.
ToHdlAstSystemC_statements
[source]¶ Bases:
object
-
as_hdl_HdlAssignmentContainer
(a: hwt.hdl.statements.assignmentContainer.HdlAssignmentContainer)[source]¶
-