Fix adrv9361 hold timing violations
⚠️ Warning - these changes have not been tested on the corresponding hardware / setup / boards!
PR Description
Similar to #1909, this PR addresses timing violations observed following the upgrade to Vivado 2025.1, without requiring any HDL modifications. The solution for this project was to rerun route_design as suggested by AMD Employee on the Xilinx forums.
PR Type
- [x] Bug fix (change that fixes an issue)
- [ ] New feature (change that adds new functionality)
- [ ] Breaking change (has dependencies in other repos or will cause CI to fail)
- [ ] Documentation
PR Checklist
- [x] I have followed the code style guidelines
- [x] I have performed a self-review of changes
- [x] I have compiled all hdl projects and libraries affected by this PR
- [ ] I have tested in hardware affected projects, at least on relevant boards
- [x] I have commented my code, at least hard-to-understand parts
- [x] I have signed off all commits from this PR
- [x] I have updated the documentation (wiki pages, ReadMe files, Copyright etc)
- [x] I have not introduced new Warnings/Critical Warnings on compilation
- [ ] I have added new hdl testbenches or updated existing ones
I don't know if this will be OK either. failure and error XML elements were designed to cover raised exceptions:
try:
run_test()
except Exception as e:
element: Element = SubElement(testcase, "failure", message=str(e), type=str(type(e).__name__))
element.text = traceback.format_exc()
This feature will require to alter exception messages. And this is not good. Annotating values like random_seed in JUnit XML should be done via properties. This is the proper way. The random seed should be logged in CI logs (standard output) and annotated in JUnit XML via properties.
This is GitLab fault that JUnix XML properties are not showed in UI. In GitLab, you can download uploaded JUnit XML report. If you want to have random_seed showed in Merge Request UI, you can use metrics reports. It is in Open Metrics format (human-readable plain text). It should be easy to use some kind of XML query CLI to extract random_seed from generated JUnit XML file results.xml file and store it in metrics.txt file.
<job>:
scripts:
- pytest
- |-
cat <<-EOF > metrics.txt
# TYPE cocotb_random_seed gauge
cocotb_random_seed $(<extract-random-seed> results.xml)
EOF
artifacts:
reports:
junit: '**/results.xml'
metrics: 'metrics.txt'
Generating metrics.txt file could be part of pytest-cocotb-metrics pytest plugin to make this experience truly streamline.
This PR https://github.com/cocotb/cocotb/pull/5219 will report Cocotb random seed in XML test case element system-err. GitLab CI will report that for failed tests: junit.rb