-# Code borrowed from cesar, runs, but shouldn't actually work because of
-# self. statements and non-existent signal names.
-def test_case1():
- print("Example test case")
- yield Passive()
- while True:
- # Settle() is needed to give a quick response to
- # the zero delay case
- yield Settle()
- # wait for rel_o to become active
- while not (yield self.rel_o):
- yield
- yield Settle()
- # read the transaction parameters
- assert self.expecting, "an unexpected result was produced"
- delay = (yield self.delay)
- expected = (yield self.expected)
- # wait for `delay` cycles
- for _ in range(delay):
- yield
- # activate go_i for one cycle
- yield self.go_i.eq(1)
- yield self.count.eq(self.count + 1)
- yield
- # check received data against the expected value
- result = (yield self.port)
- assert result == expected,\
- f"expected {expected}, received {result}"
- yield self.go_i.eq(0)
- yield self.port.eq(0)
-