diff --git a/scc b/scc index 2d5b268..9fca1a7 160000 --- a/scc +++ b/scc @@ -1 +1 @@ -Subproject commit 2d5b268615924c4c4a980909dc8f669bbab0bc9b +Subproject commit 9fca1a7895dd07ffff3b85672bcbaa22d8a65da0 diff --git a/src/vp/system.cpp b/src/vp/system.cpp index 323cd24..d4e7782 100644 --- a/src/vp/system.cpp +++ b/src/vp/system.cpp @@ -29,7 +29,7 @@ using namespace vpvper::minres; system::system(sc_core::sc_module_name nm) : sc_core::sc_module(nm) -, NAMED(ahb_router, 5, 2) +, NAMED(ahb_router, 6, 2) , NAMED(apbBridge, PipelinedMemoryBusToApbBridge_map.size(), 1) { mtime_clk = (1.0 / 32768) * 1_sec; @@ -39,11 +39,12 @@ system::system(sc_core::sc_module_name nm) core_complex.mtime_i(mtime_s); core_complex.clint_irq_i(clint_int_s); - ahb_router.bind_target(mem_ram.target, 1, 0x00000000, 128_kB); - ahb_router.bind_target(apbBridge.target[0], 2, 0x10000000, 128_MB); - ahb_router.bind_target(eth0.socket, 3, 0x18000000, 4_KiB); - ahb_router.bind_target(eth1.socket, 4, 0x18001000, 4_KiB); - ahb_router.bind_target(qspi.xip_sck, 0, 0x20000000, 16_MB); + ahb_router.bind_target(mem_dram.target, 0, 0x00000000, mem_dram.getSize()); + ahb_router.bind_target(mem_ram.target, 1, 0xE0000000, mem_ram.getSize()); + ahb_router.bind_target(apbBridge.target[0], 2, 0xF0000000, 16_MB); + ahb_router.bind_target(eth0.socket, 3, 0xF1000000, 4_KiB); + ahb_router.bind_target(eth1.socket, 4, 0xF1001000, 4_KiB); + ahb_router.bind_target(qspi.xip_sck, 5, 0xF2000000, 16_MB); size_t i = 0; for(const auto& e : PipelinedMemoryBusToApbBridge_map) { apbBridge.initiator.at(i)(e.target); diff --git a/src/vp/system.h b/src/vp/system.h index 2a2ffe4..871a32c 100644 --- a/src/vp/system.h +++ b/src/vp/system.h @@ -66,6 +66,7 @@ private: vpvper::minres::ethmac_tl eth1{"eth1"}; scc::memory<128_kB, scc::LT> mem_ram{"mem_ram"}; + scc::memory<2_GB, scc::LT> mem_dram{"mem_dram"}; scc::memory<8_kB, scc::LT> boot_rom{"boot_rom"}; sc_core::sc_signal mtime_clk{"mtime_clk"};