Add external memory

This commit is contained in:
2026-04-18 18:40:30 -07:00
parent 756b96d9e2
commit 048af1c341
8 changed files with 168 additions and 14 deletions

View File

@@ -7,6 +7,7 @@ verilog6502_wrapper_tb.sv
../src/verilog6502_addr_decoder.sv
../src/verilog6502_internal_memory.sv
../src/verilog6502_apb_adapter.sv
../src/verilog6502_external_memory.sv
../src/verilog6502_wrapper.sv
@@ -15,10 +16,13 @@ verilog6502_wrapper_tb.sv
../sub/taxi/src/apb/rtl/taxi_apb_if.sv
../sub/taxi/src/axi/rtl/taxi_axi_if.sv
../sub/taxi/src/axi/rtl/taxi_axil_if.sv
../sub/taxi/src/axi/rtl/taxi_axi_ram_if_rd.sv
../sub/taxi/src/axi/rtl/taxi_axi_ram_if_wr.sv
../sub/taxi/src/axi/rtl/taxi_axi_ram_if_rdwr.sv
../sub/taxi/src/apb/rtl/taxi_apb_interconnect.sv
../sub/taxi/src/apb/rtl/taxi_apb_tie.sv
../sub/taxi/src/prim/rtl/taxi_arbiter.sv
../sub/taxi/src/prim/rtl/taxi_penc.sv
../sub/taxi/src/prim/rtl/taxi_penc.sv
../sub/taxi/src/apb/rtl/taxi_apb_axil_adapter.sv

View File

@@ -3,7 +3,7 @@ module verilog6502_wrapper_tb();
`define SIM
taxi_apb_if s_apb();
taxi_axi_if m_axi();
taxi_axil_if m_axil();
taxi_axi_if s_axi();
logic clk;
@@ -18,8 +18,8 @@ verilog6502_wrapper u_dut(
.clk(clk),
.rst(rst),
.s_apb(s_apb),
.m_axi_rd(m_axi),
.m_axi_wr(m_axi),
.m_axil_rd(m_axil),
.m_axil_wr(m_axil),
.s_axi_rd(s_axi),
.s_axi_wr(s_axi),
.o_irq_ext(o_irq_ext),

View File

@@ -5,7 +5,7 @@ from cocotb.clock import Clock
from cocotb.triggers import Timer, RisingEdge
from cocotbext.axi.apb import ApbMaster, ApbBus
from cocotbext.axi import AxiMaster, AxiBus
from cocotbext.axi import AxiMaster, AxiBus, AxiLiteBus, AxiLiteRam
@@ -20,6 +20,9 @@ async def test_sanity(dut):
s_apb = ApbMaster(ApbBus.from_prefix(dut.s_apb, ""), dut.clk, dut.rst)
s_axi = AxiMaster(AxiBus.from_prefix(dut.s_axi, ""), dut.clk, dut.rst)
m_axil = AxiLiteRam(AxiLiteBus.from_prefix(dut.m_axil, ""), dut.clk, dut.rst, size=2**32)
m_axil.write(0, b"Hello, world!")
dut.rst.value = Immediate(1)
@@ -29,7 +32,8 @@ async def test_sanity(dut):
for _ in range(10):
await RisingEdge(dut.clk)
await s_axi.write(0x200, [0x58, 0xa9, 0x00, 0x1a, 0xcb, 0x4c, 0x02, 0x03])
# await s_axi.write(0x200, [0x58, 0xa9, 0x00, 0x1a, 0xcb, 0x4c, 0x03, 0x02])
await s_axi.write(0x200, [0xAD, 0x00, 0xE0, 0xAD, 0x01, 0xE0, 0xAD, 0x02, 0xE0, 0xAD, 0x03, 0xE0, 0xAD, 0x04, 0xE0, 0xCB])
cocotb.start_soon(s_axi.read(0x200, 8))