Bus Interfaces
Wishbone B3 Slave (4 × 32-Bit Registers) — L2 Upgrade
Wishbone B3 Slave with 4x32-bit registers and wait cycle timeout detection.
About this block
Simulate it in the Verilog IDE
Wishbone B3 Slave (4 × 32-Bit Registers) — L2 Upgrade is a Verilog reference block in the Bus Interfaces catalog. AXI, APB, Wishbone, and other on-chip bus interface adapters. Marked Hard: a larger reference. Simulate the packaged testbench before you change the RTL.
This IP core implements a Wishbone B3 compliant slave with four 32-bit addressable registers.
It is designed for Level 2 integration tasks and includes robust logic for handling wait cycles and timeout detection.
The design ensures that stalled transactions are detected and handled gracefully by asserting an error response after a configurable number of wait cycles.
- Standard Compliance: Fully compliant with Wishbone B3 specification.
- Register File: Four independent 32-bit registers accessible via address decoding.
- Timeout Protection: Configurable wait cycle counter (
MAX_WAIT) to detect stalled transactions. - Error Handling: Asserts
errsignal upon timeout; supportsrty(retry) andack(acknowledge) responses. - Synchronous Design: Operates on a single clock domain with active-low synchronous reset.
- Choose Open in IDE. RTL Studio loads the packaged workspace for Wishbone B3 Slave (4 × 32-Bit Registers) — L2 Upgrade.
- Read the Verilog module in the editor. The catalog line for this block: Wishbone B3 Slave with 4x32-bit registers and wait cycle timeout detection.
- Run the packaged testbench with the in-browser Verilator simulator, then open the VCD in the waveform viewer.
- Run Yosys in the same IDE for a generic netlist. Sky130 liberty mapping is a separate Pro library option.
RTL Studio is the Verilog simulator and IDE around this block: Slang lint, Verilator, VCD waveforms, and Yosys, in the browser. Simulation guide · Yosys guide.
Architecture
The internal architecture consists of a register file, control logic, and a wait-cycle timer.
Operation Logic:
- Address Decoding: The lower two bits of
adrselect one of the four registers. - Wait Cycle Detection: If
selis high andackis low, the wait counter increments. - Timeout: If the counter exceeds
MAX_WAIT,erris asserted along withack. - Normal Operation: On valid read/write,
ackis asserted, and data is transferred.
More in Bus Interfaces
- 2-Bit Read/Write Command Decode
- 4-Slot Address Chip-Select Decoder
- 8-Bit Address Range Hit
- 8-Bit Hold-on-Stall Register
- 8-Bit Valid/Ready Register Slice
- 8-Bit Write Merge with Byte Mask
- AHB-Lite Simple Master
- AHB-Lite Single-Beat Master
- AHB-Lite Slave Interface
- APB3 Master (Single-Transaction Pipeline)
- APB3 Master with Burst Support and Backpressure Handling
- APB3 Slave Register Interface
- AXI-Lite 4-Register Bank
- AXI-Lite Read-Only Slave 4 Regs
- AXI-Lite Write-Only Slave 4 Regs
- AXI-Stream 1-to-2 Demux