|
CIRCT 23.0.0git
|
Public Member Functions | |
| None | test_mux_correctness (self, AcceleratorConnection conn) |
| None | test_mux_correctness_unbalanced (self, AcceleratorConnection conn) |
| None | test_mux_correctness_pipelined (self, AcceleratorConnection conn) |
| None | test_list_contiguity (self, AcceleratorConnection conn) |
| None | test_token_conservation (self, AcceleratorConnection conn) |
Definition at line 89 of file test_channel_arbiter.py.
| None tests.integration.test_channel_arbiter.TestChannelArbiterCosim.test_list_contiguity | ( | self, | |
| AcceleratorConnection | conn | ||
| ) |
Contending multi-flit list messages are never interleaved.
Definition at line 108 of file test_channel_arbiter.py.
| None tests.integration.test_channel_arbiter.TestChannelArbiterCosim.test_mux_correctness | ( | self, | |
| AcceleratorConnection | conn | ||
| ) |
Balanced (power-of-two) input count: every value appears once.
Definition at line 91 of file test_channel_arbiter.py.
References tests.integration.test_channel_arbiter._check_mux().
| None tests.integration.test_channel_arbiter.TestChannelArbiterCosim.test_mux_correctness_pipelined | ( | self, | |
| AcceleratorConnection | conn | ||
| ) |
Pipelined selection mux tree: the multi-cycle mux latency (absorbed by a deeper output FIFO + credit counter) must still deliver every value exactly once.
Definition at line 102 of file test_channel_arbiter.py.
References tests.integration.test_channel_arbiter._check_mux().
| None tests.integration.test_channel_arbiter.TestChannelArbiterCosim.test_mux_correctness_unbalanced | ( | self, | |
| AcceleratorConnection | conn | ||
| ) |
Unbalanced (non-power-of-two) input count: the array-indexed mux over N < 2**clog2(N) elements and the round-robin wrap still deliver every value exactly once.
Definition at line 95 of file test_channel_arbiter.py.
References tests.integration.test_channel_arbiter._check_mux().
| None tests.integration.test_channel_arbiter.TestChannelArbiterCosim.test_token_conservation | ( | self, | |
| AcceleratorConnection | conn | ||
| ) |
Zero-width (`i0`) token payloads: the credit-counter-as-buffer path delivers every token exactly once (no loss/duplication/reorder) and serves every producer -- the total is only reachable if no producer is starved.
Definition at line 129 of file test_channel_arbiter.py.