-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Match xsim implementation with RTL simulation #270
Comments
Considering HS first. First notable difference is RxActive end delay. This drops with RxValid. Note this will be implementation specific, specification is not fixed. Modifying RXA_END_DELAY in the testbench (from 2 to 0) resorts in test failures: FAILED test_bulk_loopback.py::test_RunUsbSession[xs3-1-1-HS-4-600] - assert False Note:
|
Second notable different is RxActive start delay - RTL sim shows 5 cycles, xsim shows 6 (despite RXA_START_DELAY being set to 5...) The off by one issue fixed here: 5e3d72e Note, value of 0 is not achievable at the moment. |
It has been noted that the set_pad_delay() doesn't effect the value at the flag1 port in the xsim based testbench Checking the RTL sim and looking inData[] in the RTL sim for Flag1 port (portInOut1Bit_inst4) and adjusting set_pad_delay() shows a delay being added. This appears to be an issue with the xsim implementation. The pad-delay appears to be inserted between the port and the shim - not between the shim and the phy as might be expected. The delay is only seen at inData at the port. Not i_UTMI_RXACTIVE into the shim or o_utmi_rx_flag2 out from the shim. |
Pad delay raised against xsim here: https://github0.xmos.com/xmos-int/xsim/issues/69 |
The xsim based test suite passes with sub 540MHz core frequencies whereas on the real hardware some packet issues are experienced.
Some work should be done to compare RTL to xsim simulations and to ascertain if any delays etc are missing in the xsim implementation.
Some difference between xsim and real hardware is to be expected, but currently the error-bar is rather large.
The text was updated successfully, but these errors were encountered: