Source code for hwtLib.examples.statements.vldMaskConflictsResolving
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from hwt.code import If
from hwt.hwIOs.std import HwIOSignal
from hwt.hwModule import HwModule
from hwt.pyUtils.typingFuture import override
[docs]
class VldMaskConflictsResolving(HwModule):
"""
Example how invalid value of condition does not matter
if it has no effect on result
.. hwt-autodoc::
"""
@override
def hwDeclr(self):
self.a = HwIOSignal()
self.b = HwIOSignal()
self.c = HwIOSignal()._m()
@override
def hwImpl(self):
a = self.a
b = self.b
c = self.c
If(a,
If(b,
c(1)
).Else(
c(0)
)
).Else(
If(b,
c(1)
).Else(
c(0)
)
)
if __name__ == "__main__":
from hwt.synth import to_rtl_str
m = VldMaskConflictsResolving()
print(to_rtl_str(m))