hdl icon indicating copy to clipboard operation
hdl copied to clipboard

Fix adrv9361 hold timing violations

Open phlfm opened this issue 3 months ago • 1 comments

⚠️ 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

phlfm avatar Dec 01 '25 13:12 phlfm

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.

tymonx avatar Dec 26 '25 14:12 tymonx

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

tymonx avatar Dec 27 '25 05:12 tymonx