hwt.synthesizer.rtlLevel.signalUtils package¶
Submodules¶
hwt.synthesizer.rtlLevel.signalUtils.exceptions module¶
-
exception
hwt.synthesizer.rtlLevel.signalUtils.exceptions.
SignalDriverErr
[source]¶ Bases:
Exception
Signal has multiple combinational drivers (this is not possible in real word) or signal has no driver specified and it drives something which has effect on any output of component (it needs to have a driver but it does not have one)
Note: SignalDriverErr([(SignalDriverErrType, sig), ])
hwt.synthesizer.rtlLevel.signalUtils.ops module¶
-
class
hwt.synthesizer.rtlLevel.signalUtils.ops.
RtlSignalOps
[source]¶ Bases:
object
Definitions of operators and other operator functions for RtlSignal
Variables: _usedOps – cache for expressions with this signal -
_eq
(other)[source]¶ Attention: __eq__ is not overloaded because it will destroy hashability of object
-
_getDestinationSignalForAssignmentToThis
()[source]¶ Returns: a signal which should be used as a destination if assigning to this signal
-
naryOp
(operator: hwt.hdl.operatorDefs.OpDefinition, opCreateDelegate, *otherOps) → hwt.synthesizer.rtlLevel.mainBases.RtlSignalBase[source]¶ Try lookup operator with this parameters in _usedOps if not found create new one and stored it in _usedOps
Parameters: - operator – instance of OpDefinition
- opCreateDelegate – function (*ops) to create operator
- otherOps – other operands (ops = self + otherOps)
Returns: RtlSignal which is result of newly created operator
-