AXI-lite Register Bank
Design an AXI-Lite register bank in Verilog that supports 4 32-bit registers. The module must handle read/write transactions, assert ready/valid appropriately, and avoid bus contention. Registers must be memory-mapped at offsets 0x0, 0x4, 0x8, and 0xC.
Constraints
- 4 registers, 32-bit each.
- AXI-lite slave interface.
- Support read and write operations.
- Generate read_data and ready signals.
- Synchronous reset.
- No burst transactions.
1module axi_reg(2 input wire clk,3 input wire rst,4 input wire [3:0] awaddr,5 input wire wvalid,6 input wire [31:0] wdata,7 input wire [3:0] araddr,8 input wire rvalid,9 output reg [31:0] rdata10);11// TODO12endmodule