Bus Interfaces
AXI-Lite Write-Only Slave 4 Regs
AXI4-Lite compliant write-only slave with 4 registers and byte enable support. Read accesses return DECERR.
About this block
Simulate it in the Verilog IDE
AXI-Lite Write-Only Slave 4 Regs 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 implements a compliant AXI4-Lite write-only slave interface with 4 configurable 32-bit registers.
It supports byte-enable strobes for partial register updates and strictly rejects all read transactions with a DECERR response.
This design is ideal for control registers where read-back is handled via alternative mechanisms or is not required.
- Choose Open in IDE. RTL Studio loads the packaged workspace for AXI-Lite Write-Only Slave 4 Regs.
- Read the Verilog module in the editor. The catalog line for this block: AXI4-Lite compliant write-only slave with 4 registers and byte enable support. Read accesses return DECERR.
- 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.
Features
- AXI4-Lite Compliant: Supports AW, W, and B channels.
- Write-Only: All Read (AR/R) channels are hardwired to return
DECERR. - Byte-Enable Support: Partial register updates via
s_wstrb. - Address Decoding: 4-byte aligned addresses for registers at offsets
0x0,0x4,0x8, and0xC. - Reset: Synchronous reset, active low (
s_aresetn).
Ports
| Port Name | Direction | Width | Description |
|---|---|---|---|
| Clock & Reset | |||
s_aclk | Input | 1 | Clock input |
s_aresetn | Input | 1 | Synchronous reset, active low |
| Write Address (AW) | |||
s_awid | Input | 4 | Write address ID |
s_awaddr | Input | 32 | Write address |
s_awvalid | Input | 1 | Write address valid |
s_awready | Output | 1 | Write address ready |
| *(Other AW fields ignored)* | |||
| Write Data (W) | |||
s_wdata | Input | 32 | Write data |
s_wstrb | Input | 4 | Write byte strobe |
Verification
### Test Cases
| Test Case | Description | Expected Result |
|---|---|---|
| TC1 | Single Write to Register 0 | PASS |
| TC2 | Single Write to Register 3 | PASS |
| TC3 | Read Attempt | DECERR Response |
| TC4 | Partial Strobe Write | PASS |
### Simulation Output
After running the simulation, the log should display:
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-Stream 1-to-2 Demux
- AXI-Stream Broadcast 1-to-2