[libre-riscv-dev] [Bug 318] fix LDSTCompUnit

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Fri Jun 12 11:58:30 BST 2020


https://bugs.libre-soc.org/show_bug.cgi?id=318

--- Comment #26 from Cesar Strauss <cestrauss at gmail.com> ---
In store():

538    if imm_ok:
539        yield dut.rd.go.eq(0b101)
540    else:
541        yield dut.rd.go.eq(0b111)
542    yield from wait_for(dut.rd.rel)
543    yield dut.rd.go.eq(0)

Another case of multi-cycle assertion of go.

This time, since there are multiple independent rel signals to wait for, a
parallel test is the sensible way to go.

I'll go ahead and implement it.

I intend to do it in a general way, that will apply whenever you need to test a
rel/go port.

Basically, you tell the producer process what it needs to send, and it sends it
whenever it receives a rel request, along with a go pulse.

In the same way, you tell the consumer process what it should expect, and
assert that it is presented by the port, along with the rel request, until the
process emits the go pulse.

In both cases, the rel->go delay will be parameterized, including a no-delay
case.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-riscv-dev mailing list