Skip to content

Fix dsim support #2286

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

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

Fix dsim support #2286

wants to merge 8 commits into from

Conversation

akashlevy
Copy link

@akashlevy akashlevy commented Jun 19, 2025

This PR fixes up Ibex UVM support for dsim simulator. Several things had to be fixed:

  • Simulator compatibility: dsim requires that enum values must use enum constants
    • Use ZERO enum value instead of '0 and 0 for instr enums
    • Protect Ibex-specific CSRs with `ifndef DSIM to ensure these are not included in implemented_csr[]. dsim requires that all array values be enumerated in privileged_reg_t, which they are currently not
  • Simulator compatibility: dsim does not appear to respect "re-exports"
    • Replace all re-exported ibex_mem_intf_agent_pkg::ADDR_WIDTH and ibex_mem_intf_agent_pkg::DATA_WIDTH with ibex_mem_intf_pkg::ADDR_WIDTH and ibex_mem_intf_pkg::DATA_WIDTH
  • Script fix: Add dsim case for reloc_word in dv/uvm/core_ibex/scripts/run_instr_gen.py
  • Script fix: Remove extra quote in dv/uvm/core_ibex/yaml/rtl_simulation.yaml
  • Script fix: Replace dsim_compile_opts with dsim_opts in util/ibex_config.py

With these fixes, I was able to get all the UVM tests passing with SIMULATOR=dsim.

@hcallahan-lowrisc hcallahan-lowrisc self-requested a review June 19, 2025 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant