Proper Way to Have Multiple Channel Ops Per Channel (DSLX) #3736
-
|
Hello! I have been writing some state machines in DSLX that interact with external memories, writing DSLX test procs to verify correctness. An example of these state machines is below: I moved on to trying to generate verilog from these procs after verifying their correctness. However, when I try running the I am having a hard time understanding how to fix the state machines I have written given this error message. As seen in the example, I have tried using predicates to ensure only one send or receive of a channel is running in a given activation (the predicates being state_N_zero and state_N_one), though that does not seem to be enough. Also, having looked at the worked example in the documentation and compared it with my example, it seems fairly close to mine. So, I was hoping to learn where I went wrong that caused my example to fail to compile. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
|
Hm looks like we just forgot to handle bare-tokens in the ir-translator in |
Beta Was this translation helpful? Give feedback.
-
|
@allight thanks for the ack! @AyanaAlemayehu, slightly off-topic but I'm curious if you've attempted to rewrite this using https://google.github.io/xls/dslx_reference/#match-expression? |
Beta Was this translation helpful? Give feedback.
Bug report version of this over at #3738