CIRCT 23.0.0git
Loading...
Searching...
No Matches
Public Member Functions | List of all members
tests.integration.test_channel_arbiter.TestChannelArbiterCosim Class Reference

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)
 

Detailed Description

Definition at line 89 of file test_channel_arbiter.py.

Member Function Documentation

◆ test_list_contiguity()

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.

◆ test_mux_correctness()

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().

◆ test_mux_correctness_pipelined()

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().

◆ test_mux_correctness_unbalanced()

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().

◆ test_token_conservation()

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.


The documentation for this class was generated from the following file: