Reset
The Sapphire RV64 has a master reset signal,
io_asyncReset
that triggers a system reset. Your RTL design should hold io_asyncReset
for 10 ns to reset the whole SoC system completely. When you assert
io_asyncReset, the SoC asserts:io_systemReset, which resets the RISC-V processor, on-chip memory, and peripherals.io_peripheralReset, which resets the APB3 peripherals and AXI4 master A.io_ndmreset, which resets the JTAG debug module.axiB_reset, which responds to the reset for AXI master B, and is synchronized to axiB_clkio_memoryReset, which resets the memory controller, external memory module, I2C master and slave connected to the memory controller, and any user logic.io_ddrMasters_0_reset, which responds to the reset for AXI slave channel 0 and is synchronized toio_ddrMasters_0_clk.io_ddrMasters_1_reset, which responds to the reset for AXI slave channel 1 and is synchronized toio_ddrMasters_1_clk.
The SoC asserts the io_memoryReset, io_ndmreset,
axiB_reset, io_ddrMaster_0_reset, and
io_ddrMaster_1_reset signals at the same time to allow the AXI
slaves access to the AXI cross bar once the reset completes.
Once io_systemReset goes low, the user binary code is
executed.
| Port | Direction | Description |
|---|---|---|
| io_asyncReset | Input | Active-high asynchronous reset for the entire system. |
| io_systemReset | Output | Synchronous active-high reset for the system clock (io_systemClk). |
| io_peripheralReset | Output | Synchronous active-high reset for the peripheral clock (io_peripheralClock). |
| axiB_reset | Output | Synchronous active-high reset for the AXI master B clock (axiB_clk). |
| io_ndmreset | Output | Respond to the reset for the JTAG debug module. |
| io_memoryReset | Output | External memory reset source from the RISC-V SoC. |
| io_ddrMasters_0_reset, io_ddrMasters_1_reset | Output | Responds to the reset for the AXI slave. |