
This project implements a self-contained AXI4-Lite system with a master and a slave connected inside a top-level wrapper (axi4lite_top).
It exposes a simple control interface so that reads and writes can be performed without directly driving AXI signals.
axi4lite_top) instantiates:
ui_in[0] → Start Writeui_in[2:1] → Write Addressuio_in → Write Dataui_in[4] → Start Readui_in[3:2] → Read Addressuo_out[0] goes high (Done).uio_out.Effectively, this module hides AXI4-Lite complexity and lets the user test simple memory-mapped transactions.
Two types of testbenches are provided:
sim/axi4lite_tb.v.sim/test_axi4lite.py.make SIM=icarus TOPLEVEL=axi4lite_top MODULE=test_axi4lite
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | m0_start_write | m0_rdata[0] | m1_start_write |
| 1 | m0_start_read | m0_rdata[1] | m1_start_read |
| 2 | m0_addr[0] | m0_rdata[2] | m1_addr[0] |
| 3 | m0_addr[1] | m0_rdata[3] | m1_addr[1] |
| 4 | m0_addr[2] | m0_rdata[4] | m1_addr[2] |
| 5 | m0_addr[3] | m0_rdata[5] | m1_addr[3] |
| 6 | m0_rdata[6] | m1_data[6] | |
| 7 | m0_rdata[7] | m1_data[7] |