Source code for hwt.synthesizer.interfaceLevel.interfaceUtils.directionFns

from hwt.hdl.constants import INTF_DIRECTION, DIRECTION
from hwt.doc_markers import internal


[docs]@internal class InterfaceDirectionFns():
[docs] @internal def _setDirectionsLikeIn(self, intfDir): assert intfDir in [INTF_DIRECTION.MASTER, INTF_DIRECTION.SLAVE, INTF_DIRECTION.TRISTATE], intfDir d = DIRECTION.asIntfDirection(self._masterDir) if intfDir == INTF_DIRECTION.MASTER or d == INTF_DIRECTION.TRISTATE: pass else: d = INTF_DIRECTION.opposite(d) self._direction = d for i in self._interfaces: i._setDirectionsLikeIn(d)
[docs] @internal def _setAsExtern(self, isExtern): """Set interface as extern""" self._isExtern = isExtern for prop in self._interfaces: prop._setAsExtern(isExtern)
[docs] @internal def _reverseDirection(self): """Reverse direction of this interface in implementation stage""" self._direction = INTF_DIRECTION.opposite(self._direction) for intf in self._interfaces: intf._reverseDirection()