Context
Related Issues / PRs:
We are adding daisy chain capability to the AMDS link on the AMDC in #500. This is requiring an overhaul of the hardware (verilog). We need to test the new hardware via verilog testbenches to make sure all cases are properly handled.
Note that in #502, we have reason to believe that timeouts may not be properly handled for the case of only 1 channel of data being expected from an AMDS.
Approach
Create verilog test benches and check:
- Baseline case of 1x AMDS transmitting 8 channels
- Case of 3x AMDS's, each transmitting 8 channels
- Case of 3x 2S boards, each transmitting 2 channels
- Case of 1x AMDS transmitting only 1 channel
- These same cases but with incomplete data, parity errors, and delays that should cause timeouts.
- Other msc cases that come up
Carefully confirm that the timeouts and data corruption detection are working properly, both in the sense that we are detecting problems, but also in the sense that we are not adding additional delays by unnecessarily waiting for channels that we do not expect to have arrive.
Context
Related Issues / PRs:
We are adding daisy chain capability to the AMDS link on the AMDC in #500. This is requiring an overhaul of the hardware (verilog). We need to test the new hardware via verilog testbenches to make sure all cases are properly handled.
Note that in #502, we have reason to believe that timeouts may not be properly handled for the case of only 1 channel of data being expected from an AMDS.
Approach
Create verilog test benches and check:
Carefully confirm that the timeouts and data corruption detection are working properly, both in the sense that we are detecting problems, but also in the sense that we are not adding additional delays by unnecessarily waiting for channels that we do not expect to have arrive.