xmos / lib_src

Sample rate conversion library
Other
16 stars 20 forks source link

AFIFO test_192000_low and test_1xxx00_high need debugging and enabling #119

Closed ed-xmos closed 8 months ago

ed-xmos commented 8 months ago

These are known issues and the tests have been disabled for now. See lib_src/tests/asynchronous_fifo_asrc_test.

Testing 44100 low Testing 48000 low Testing 44100/48000 high Testing 88200 low Testing 96000 low Testing 44100/48000 high Testing 176400 low Testing 192000 low Failure: ratio 22d81b64 low 22d8101e high 22d826f3 stable counter 139990 from 7081 ms input 192000 output 88200 total resets 6 Testing 176400/192000 high Failure: ratio 0fffffff low 1001acc1 high 1001b73e stable counter 0 from 9997 ms input 176400 output 176400 total resets 21523 Failure: ratio 116a3b35 low 116c0e87 high 116c19f2 stable counter 0 from 9997 ms input 192000 output 176400 total resets 21523 Failure: ratio 0eb33332 low 0eb4bf4d high 0eb4c8f0 stable counter 0 from 9997 ms input 176400 output 192000 total resets 21523 Failure: ratio 0fffffff low 1001afba high 1001ba37 stable counter 0 from 9997 ms input 192000 output 192000 total resets 21523 FAIL: 5 errors

ed-xmos commented 8 months ago

Seems this is a performance issue. Currently the tests run using a standard AI-EXPLORER XN at 600MHz giving a 75 MHz thread speed. Each test (originally 4) pars two jobs - consumer and producer. By reducing the test cases from 4 to 2 (4 threads total for 120 MHz each) test_1xxx00_high passes and test_192000_low passes when there are 3 test cases (6 threads @ 100 MHz each) so this is an optimisation task.

I have updated the test and re-enabled these tests cases with the above constraints so it passes for now.

ed-xmos commented 8 months ago

This has been resolved. It was down to XLINK congestion in instrumentation.

"When 8 threads are all xscoping at 192 kHz one will get congestion on the outgoing link. Each message is something like 10 bytes, 100 bits, the link runs at 25-100 mbit, so it can cope with 250,000 - 1,000,000 messages per second. 8 x 192 is likely beyond that number."