Fetch initial instructions from boot rom in simulation to improve

testing.
To make this not fail, remove the reset server behaviour in SoC_Top
which appears to not be needed as it is only calling reset servers upon
actual reset when everything has been reset anyway.
I suppose these reset servers are meant for debug-unit-initiated reset
events.
This commit is contained in:
jon
2020-06-11 10:56:07 +01:00
parent 1de6fc941e
commit 6719925b78
2 changed files with 6 additions and 15 deletions

View File

@@ -67,8 +67,12 @@ SoC_Map_Struct soc_map_struct =
SoC_Map_Struct {
near_mem_io_addr_base: 'h_0200_0000,
main_mem_addr_base: 'h_8000_0000,
`ifdef RVFI_DII
main_mem_addr_size: 'h_4000_0000,
pc_reset_value: 'h_8000_0000
`else
main_mem_addr_size: 'h_1000_0000,
`endif
pc_reset_value: 'h_0000_1000
};
// ================================================================

View File

@@ -254,20 +254,8 @@ module mkSoC_Top #(Reset dm_power_on_reset)
// ================================================================
// MODULE INITIALIZATIONS
function Action fa_reset_start_actions;
action
mem0_controller.server_reset.request.put (?);
uart0.server_reset.request.put (?);
boot_rom_axi4_deburster.clear;
mem0_controller_axi4_deburster.clear;
endaction
endfunction
function Action fa_reset_complete_actions;
action
let mem0_controller_rsp <- mem0_controller.server_reset.response.get;
let uart0_rsp <- uart0.server_reset.response.get;
// Initialize address maps of slave IPs
boot_rom.set_addr_map (rangeBase(soc_map.m_boot_rom_addr_range),
rangeTop(soc_map.m_boot_rom_addr_range));
@@ -303,7 +291,6 @@ module mkSoC_Top #(Reset dm_power_on_reset)
// Initial reset
rule rl_reset_start_initial (rg_state == SOC_START);
fa_reset_start_actions;
rg_state <= SOC_RESETTING;
$display ("%0d: %m.rl_reset_start_initial ...", cur_cycle);
@@ -358,7 +345,7 @@ module mkSoC_Top #(Reset dm_power_on_reset)
mem0_controller.set_watch_tohost (watch_tohost, tohost_addr);
corew.start (tohost_addr, fromhost_addr);
$display ("%0d: %m.method start (tohost %0h, fromhost %0h)",
cur_cycle, tohost_addr, fromhost_addr);
cur_cycle, tohost_addr, fromhost_addr);
endmethod
endmodule: mkSoC_Top