hwt.serializer.generic package¶
This package contains common parts of serializers.
Submodules¶
hwt.serializer.generic.constant_cache module¶
-
class
hwt.serializer.generic.constant_cache.
ConstantCache
(toHdlAst, tmpVars: hwt.serializer.generic.tmpVarConstructor.TmpVarConstructor)[source]¶ Bases:
object
Container of constants for serializer. Used to extract constants as constant variables.
hwt.serializer.generic.indent module¶
hwt.serializer.generic.ops module¶
hwt.serializer.generic.tmpVarConstructor module¶
-
class
hwt.serializer.generic.tmpVarConstructor.
TmpVarConstructor
(toHdlAst, name_scope: hdlConvertorAst.translate.common.name_scope.NameScope)[source]¶ Bases:
object
-
__init__
(toHdlAst, name_scope: hdlConvertorAst.translate.common.name_scope.NameScope)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
create_var
(suggestedName: str, dtype: hwt.hdl.types.hdlType.HdlType, const=False, def_val: Union[hwt.synthesizer.rtlLevel.mainBases.RtlSignalBase, hwt.hdl.value.HValue, None] = None, postponed_init=False) → hwt.synthesizer.rtlLevel.rtlSignal.RtlSignal[source]¶
-
hwt.serializer.generic.to_hdl_ast module¶
-
class
hwt.serializer.generic.to_hdl_ast.
ToHdlAst
(name_scope: Optional[hdlConvertorAst.translate.common.name_scope.NameScope] = None)[source]¶ Bases:
object
Base class for translators which translates hwt AST to a HDL ast
Variables: - name_scope – name scope for resolution of hdl names for objects and for name colision checking for newly generated objects
- tmpVars – A object which is used to create a tmp variable in current scope. It is set if it is possible to create a tmp variable.
- constCache – A ConstCache instance used o extract values as a constants.
-
ALL_STATEMENT_CLASSES
= [<class 'hdlConvertorAst.hdlAst._statements.HdlStmNop'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmBlock'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmAssign'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmIf'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmProcess'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmCase'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmFor'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmForIn'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmWhile'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmRepeat'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmReturn'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmWait'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmBreak'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmContinue'>, <class 'hdlConvertorAst.hdlAst._statements.HdlStmThrow'>, <class 'hwt.hdl.statements.codeBlockContainer.HdlStmCodeBlockContainer'>]¶
-
TMP_VAR_CONSTRUCTOR
¶ alias of
hwt.serializer.generic.tmpVarConstructor.TmpVarConstructor
-
__init__
(name_scope: Optional[hdlConvertorAst.translate.common.name_scope.NameScope] = None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
_as_hdl_HdlAssignmentContainer_auto_conversions
(a: hwt.hdl.statements.assignmentContainer.HdlAssignmentContainer)[source]¶
-
_as_hdl_HdlModuleDef
(new_m: hdlConvertorAst.hdlAst._structural.HdlModuleDef) → hdlConvertorAst.hdlAst._structural.HdlModuleDef[source]¶
-
_as_hdl_HdlModuleDef_body
(new_m, types, hdl_types, hdl_variables, extraVars: hwt.serializer.generic.tmpVarConstructor.TmpVarConstructor, processes: List[hdlConvertorAst.hdlAst._bases.iHdlStatement], component_insts: List[hdlConvertorAst.hdlAst._structural.HdlCompInst], others: List[Union[hdlConvertorAst.hdlAst._expr.HdlOp, hdlConvertorAst.hdlAst._bases.iHdlStatement]])[source]¶
-
_as_hdl_HdlModuleDef_param_asserts
(new_m: hdlConvertorAst.hdlAst._structural.HdlModuleDec) → List[hdlConvertorAst.hdlAst._bases.iHdlStatement][source]¶
-
_as_hdl_HdlModuleDef_param_asserts_real
(new_m: hdlConvertorAst.hdlAst._structural.HdlModuleDec) → List[hdlConvertorAst.hdlAst._bases.iHdlStatement][source]¶
-
_keywords_dict
= {}¶
-
as_hdl
(obj) → hdlConvertorAst.hdlAst._bases.iHdlObj[source]¶ Convert any object to HDL AST
Parameters: obj – object to convert
-
as_hdl_HdlAssignmentContainer
(a: hwt.hdl.statements.assignmentContainer.HdlAssignmentContainer)[source]¶
-
as_hdl_HdlCompInst
(o: hdlConvertorAst.hdlAst._structural.HdlCompInst) → hdlConvertorAst.hdlAst._structural.HdlCompInst[source]¶
-
as_hdl_HdlModuleDef
(o: hdlConvertorAst.hdlAst._structural.HdlModuleDef) → hdlConvertorAst.hdlAst._structural.HdlModuleDef[source]¶
-
as_hdl_HdlModuleDef_variable
(v, types, hdl_types, hdl_variables, processes, component_insts)[source]¶
-
as_hdl_HdlStmCodeBlockContainer
(proc: hwt.hdl.statements.codeBlockContainer.HdlStmCodeBlockContainer) → hdlConvertorAst.hdlAst._bases.iHdlStatement[source]¶ Serialize HdlStmCodeBlockContainer objects as process if top statement
-
as_hdl_IfContainer
(ifc: hwt.hdl.statements.ifContainter.IfContainer) → hdlConvertorAst.hdlAst._statements.HdlStmIf[source]¶
-
as_hdl_SwitchContainer
(sw: hwt.hdl.statements.switchContainer.SwitchContainer) → hdlConvertorAst.hdlAst._statements.HdlStmCase[source]¶
-
as_hdl_cond
(v, force_bool) → Union[hdlConvertorAst.hdlAst._expr.HdlValueId, hdlConvertorAst.hdlAst._expr.HdlValueInt, float, str, None, List[Union[hdlConvertorAst.hdlAst._expr.HdlValueId, hdlConvertorAst.hdlAst._expr.HdlValueInt, float, str, None, List[iHdlExpr], hdlConvertorAst.hdlAst._expr.HdlAll, hdlConvertorAst.hdlAst._expr.HdlOp]], hdlConvertorAst.hdlAst._expr.HdlAll, hdlConvertorAst.hdlAst._expr.HdlOp][source]¶
hwt.serializer.generic.utils module¶
hwt.serializer.generic.value module¶
-
class
hwt.serializer.generic.value.
ToHdlAst_Value
[source]¶ Bases:
object
-
as_hdl_SignalItem
(si: Union[hwt.hdl.variables.SignalItem, hdlConvertorAst.hdlAst._defs.HdlIdDef], declaration=False)[source]¶
-