Skip to content

Add UVM integration guide and SystemVerilog UVM kernel code for CHIron#3

Draft
Copilot wants to merge 2 commits intomainfrom
copilot/add-markdown-guides-systemverilog-uvm
Draft

Add UVM integration guide and SystemVerilog UVM kernel code for CHIron#3
Copilot wants to merge 2 commits intomainfrom
copilot/add-markdown-guides-systemverilog-uvm

Conversation

Copy link
Copy Markdown

Copilot AI commented Mar 31, 2026

Summary

Adds markdown documentation and a complete SystemVerilog UVM testbench skeleton showing how to use CHIron as the protocol kernel of a UVM-based AMBA CHI verification environment.

Changes

Documentation (docs/)

  • docs/uvm_integration_guide.md — Comprehensive guide covering:

    • Architecture diagram (CHIron C++ kernel ↔ UVM via DPI-C)
    • Step-by-step setup: configure parameters, build DPI-C shim, connect DUT, enable CLog logging, write sequences, run simulation (VCS/Xcelium/Questa commands)
    • How to extend the reference model using CHIron's Xact::Router and XactionAllocatingRead etc.
    • CHI Issue E/EB/B support matrix and known limitations
    • Full file reference table
  • docs/uvm_quickstart.md — 5-minute quickstart: clone → build → connect DUT → run → inspect CLog

SystemVerilog UVM Code (uvm/)

File Purpose
chi_pkg.sv SV package: CHI Issue E parameters, REQ/RSP/DAT/SNP opcodes, packed flit structs, helper functions
chi_if.sv Parameterised CHI bus interface with rn_driver_cb and monitor_cb clocking blocks
chi_seq_item.sv UVM sequence item: all 6 CHI channel fields + raw 512-bit flit (for CLog) with correct position-tracked pack_req()
chi_driver.sv Credit-aware UVM driver for TXREQ / TXRSP / TXDAT channels
chi_monitor.sv Passive monitor for all 6 channels with inline CLog.B DPI-C logging
chi_agent.sv UVM agent (active/passive)
chi_scoreboard.sv Protocol checker that forwards every flit to the CHIron reference model via DPI-C
chi_coverage.sv Functional coverage: REQ opcode × size × NS, RSP opcode × resp × resp_err, SNP opcode × RetToSrc, QoS × channel
chi_seq_lib.sv Built-in sequences: ReadShared, ReadUnique, WriteUniqueFull, WriteBackFull, AtomicSwap, SnpResp, randomised mix
chi_env.sv UVM environment wiring agent → scoreboard + coverage
chi_test.sv chi_read_test, chi_write_test, chi_rand_test
chi_top.sv Top-level testbench (clock/reset, DUT hook, run_test())
chi_refmodel_dpi.cpp C++ DPI-C shim skeleton wrapping CHIron FlitConfiguration / Xaction classes

Security Summary

No security vulnerabilities found. CodeQL analysis returned 0 alerts. The C++ DPI-C shim validates flit lengths before accessing memory.

Copilot AI and others added 2 commits March 31, 2026 02:30
…nel usage

Agent-Logs-Url: https://github.com/RISMicroDevices/CHIron/sessions/f1043d6e-2536-4bf2-ba6e-61e47b2bf33f

Co-authored-by: Kumonda221-CrO3 <10897073+Kumonda221-CrO3@users.noreply.github.com>
…red field, CLOG_ISSUE_E macro, clock syntax

Agent-Logs-Url: https://github.com/RISMicroDevices/CHIron/sessions/f1043d6e-2536-4bf2-ba6e-61e47b2bf33f

Co-authored-by: Kumonda221-CrO3 <10897073+Kumonda221-CrO3@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants