Skip to content

How to avoid "divergent poking / peeking threads" when use fork/join #1989

Answered by ducky64
Wolf-Tungsten asked this question in Q&A
Discussion options

You must be logged in to vote

Possible cause (without looking at the details of your example or test case): ChiselTest doesn't allow combinational peek-after-poke operations between threads. This applies for peek-after-poke on the same signal, and signals that are combinationally dependent. From the error message, it appears one thread is poking io_port_0_request_valid and another is peeking io_port_3_request_ready, and there may be a combinational path between the two.

Here's the check that generates that error message.

Replies: 2 comments 2 replies

Comment options

You must be logged in to vote
1 reply
@Wolf-Tungsten
Comment options

Comment options

You must be logged in to vote
1 reply
@Wolf-Tungsten
Comment options

Answer selected by Wolf-Tungsten
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants