diff --git a/src_SSITH_P3/src_BSV/SoC_Map.bsv b/src_SSITH_P3/src_BSV/SoC_Map.bsv index a1cc9d4..e9e3aaf 100644 --- a/src_SSITH_P3/src_BSV/SoC_Map.bsv +++ b/src_SSITH_P3/src_BSV/SoC_Map.bsv @@ -91,6 +91,7 @@ interface SoC_Map_IFC; (* always_ready *) method Range#(Wd_Addr) m_flash_mem_addr_range; (* always_ready *) method Range#(Wd_Addr) m_ethernet_0_addr_range; (* always_ready *) method Range#(Wd_Addr) m_dma_0_addr_range; + (* always_ready *) method Range#(Wd_Addr) m_timer_0_addr_range; (* always_ready *) method Range#(Wd_Addr) m_uart16550_0_addr_range; (* always_ready *) method Range#(Wd_Addr) m_gpio_0_addr_range; (* always_ready *) method Range#(Wd_Addr) m_boot_rom_addr_range; @@ -158,6 +159,14 @@ module mkSoC_Map (SoC_Map_IFC); size: 'h_0001_0000 // 64K }; + // ---------------------------------------------------------------- + // Timer + + let timer_0_addr_range = Range { + base: 'h_5000_0000, + size: 'h_0001_0000 // 64K + }; + // ---------------------------------------------------------------- // UART 0 @@ -244,6 +253,7 @@ module mkSoC_Map (SoC_Map_IFC); || inRange(near_mem_io_addr_range, addr) || inRange(ethernet_0_addr_range, addr) || inRange(dma_0_addr_range, addr) + || inRange(timer_0_addr_range, addr) || inRange(uart16550_0_addr_range, addr) || inRange(gpio_0_addr_range, addr) || fn_is_flash_regs_addr (addr) @@ -275,6 +285,7 @@ module mkSoC_Map (SoC_Map_IFC); method Range#(Wd_Addr) m_flash_mem_addr_range = flash_mem_addr_range; method Range#(Wd_Addr) m_ethernet_0_addr_range = ethernet_0_addr_range; method Range#(Wd_Addr) m_dma_0_addr_range = dma_0_addr_range; + method Range#(Wd_Addr) m_timer_0_addr_range = timer_0_addr_range; method Range#(Wd_Addr) m_uart16550_0_addr_range = uart16550_0_addr_range; method Range#(Wd_Addr) m_gpio_0_addr_range = gpio_0_addr_range; method Range#(Wd_Addr) m_boot_rom_addr_range = boot_rom_addr_range;