You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add SwDvWindow as a device on the main AXI crossbar in top_chip_system,
separate from rest_of_chip.
This removes the INST_SIM_SRAM CVA6-level interception hack, the
axi_demux_simple from sim_sram_axi_sink (now a plain AXI slave), and the
force statements in tb.sv. FPGA and simulation tops wire the new port to
their respective hw_id handlers directly.
Signed-off-by: martin-velay <mvelay@lowrisc.org>
Copy file name to clipboardExpand all lines: hw/top_chip/dv/README.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,14 +57,15 @@ Because simulating the CPU boot ROM process is slow, we load the software binary
57
57
## SW-to-DV Communication
58
58
59
59
To facilitate interactions between the Software and the DV environment, we utilize the **`sim_sram_axi`** module.
60
-
This is a special hardware block inserted only during simulation that intercepts AXI traffic.
61
60
62
61
For more details, see: [sim_sram_axi/README.md](./sim_sram_axi/README.md)
63
62
64
63
### Mechanism
65
64
66
-
1. **Interception:** The module "swallows" traffic destined for a specific Simulation Address Range (`SW_DV_START_ADDR`).
67
-
Traffic outside this range is transparently forwarded to the AXI Crossbar.
65
+
1. **Dedicated crossbar port:** The SW-DV window (`0x2002_0000`, 256 bytes) is a first-class device on the main AXI crossbar inside `top_chip_system`.
66
+
The crossbar routes all accesses to this range out via the `sw_dv_req_o`/`sw_dv_resp_i` port pair, keeping it completely separate from the rest-of-chip bus.
67
+
In simulation, `tb.sv` connects `sim_sram_axi_sink` to this port as a plain AXI slave.
68
+
On FPGA, `chip_mocha_genesys2` connects the same port to its hardware ID logic.
68
69
2. **Binding:** In `tb.sv`, we `bind` verification interfaces (`sw_test_status_if` and `sw_logger_if`) to this module.
0 commit comments