From f6929f9a4703e3eee9d7bd9752de055729cdd498 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Tue, 8 Nov 2022 13:00:40 -0600 Subject: Register decode output in a new porch stage --- rtl/core/arm810.sv | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'rtl/core/arm810.sv') diff --git a/rtl/core/arm810.sv b/rtl/core/arm810.sv index 3f2a53c..07a397b 100644 --- a/rtl/core/arm810.sv +++ b/rtl/core/arm810.sv @@ -13,25 +13,38 @@ module arm810 output word bus_data_wr ); - logic stall, prefetch_flush, insn_start; - word insn; ptr fetch_insn_pc, insn_addr; + word fetch_insn; + logic stall, flush, prefetch_flush, insn_start; + + //TODO + assign prefetch_flush = 0; core_fetch #(.PREFETCH_ORDER(2)) fetch ( - .branch(explicit_branch || wr_pc), - .flush(0), //TODO .addr(insn_addr), - .fetched(insn_ready), - .fetch_data(insn_data_rd), + .insn(fetch_insn), .fetch(insn_start), + .branch(explicit_branch || wr_pc), + .fetched(insn_ready), .insn_pc(fetch_insn_pc), + .fetch_data(insn_data_rd), .* ); - insn_decode dec; + insn_decode fetch_dec; core_decode decode + ( + .dec(fetch_dec), + .insn(fetch_insn) + ); + + ptr insn_pc; + word insn; + insn_decode dec; + + core_porch porch ( .* ); -- cgit v1.2.3