Merge branch 'master' into litedram
authorAnton Blanchard <anton@linux.ibm.com>
Tue, 19 May 2020 02:28:02 +0000 (12:28 +1000)
committerGitHub <noreply@github.com>
Tue, 19 May 2020 02:28:02 +0000 (12:28 +1000)
1  2 
Makefile
core.vhdl
soc.vhdl

diff --cc Makefile
Simple merge
diff --cc core.vhdl
index 0664c7334167b7f71707a7082e252e17cda0bccd,b0ccb7bc953c4e342073a7fe38f2b79c9a162d97..8ac724cb7af0dbc1d4e5da4f8ad858af34f0eda7
+++ b/core.vhdl
@@@ -183,9 -169,10 +197,10 @@@ begi
              )
          port map(
              clk => clk,
 -            rst => icache_rst,
 +            rst => rst_icache,
              i_in => fetch1_to_icache,
              i_out => icache_to_fetch2,
+             m_in => mmu_to_icache,
              flush_in => flush,
            stall_out => icache_stall_out,
              wishbone_out => wishbone_insn_out,
      loadstore1_0: entity work.loadstore1
          port map (
              clk => clk,
 -            rst => core_rst,
 +            rst => rst_ls1,
              l_in => execute1_to_loadstore1,
+             e_out => loadstore1_to_execute1,
              l_out => loadstore1_to_writeback,
              d_out => loadstore1_to_dcache,
              d_in => dcache_to_loadstore1,
              )
          port map (
              clk => clk,
 -          rst => core_rst,
 +          rst => rst_dcache,
              d_in => loadstore1_to_dcache,
              d_out => dcache_to_loadstore1,
+             m_in => mmu_to_dcache,
+             m_out => dcache_to_mmu,
              stall_out => dcache_stall_out,
              wishbone_in => wishbone_data_in,
              wishbone_out => wishbone_data_out
diff --cc soc.vhdl
index e9e947075593225baeff282cccf640316c66fb92,899a71b2e4088917d83e47fdb11d3323968c9f52..caa62cd56e45472251ed4f5eccb807d947984c24
+++ b/soc.vhdl
@@@ -73,7 -73,8 +73,7 @@@ architecture behaviour of soc i
  
      -- Syscon signals
      signal dram_at_0     : std_ulogic;
--    signal core_reset    : std_ulogic;
+     signal do_core_reset : std_ulogic;
      signal wb_syscon_in  : wishbone_master_out;
      signal wb_syscon_out : wishbone_slave_out;
  
      signal dmi_core_dout  : std_ulogic_vector(63 downto 0);
      signal dmi_core_req   : std_ulogic;
      signal dmi_core_ack   : std_ulogic;
 +
 +    -- Delayed/latched resets and alt_reset
 +    signal rst_core    : std_ulogic := '1';
 +    signal rst_uart    : std_ulogic := '1';
 +    signal rst_xics    : std_ulogic := '1';
 +    signal rst_bram    : std_ulogic := '1';
 +    signal rst_dtm     : std_ulogic := '1';
 +    signal rst_wbar    : std_ulogic := '1';
 +    signal rst_wbdb    : std_ulogic := '1';
 +    signal alt_reset_d : std_ulogic;
 +
  begin
  
-             rst_core    <= rst or core_reset;
 +    resets: process(system_clk)
 +    begin
 +        if rising_edge(system_clk) then
++            rst_core    <= rst or do_core_reset;
 +            rst_uart    <= rst;
 +            rst_xics    <= rst;
 +            rst_bram    <= rst;
 +            rst_dtm     <= rst;
 +            rst_wbar    <= rst;
 +            rst_wbdb    <= rst;
 +            alt_reset_d <= alt_reset;
 +        end if;
 +    end process;
 +
      -- Processor core
 -    core_reset <= rst or do_core_reset;
      processor: entity work.core
        generic map(
            SIM => SIM,