aboutsummaryrefslogtreecommitdiff
path: root/core/rtl/fetch.sv
blob: 7cbff6aa5270d2c639ba2e5d2ef3c8153c7b4720 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module fetch
(
  input  logic clk,
  input  logic rst_l,

  // IMEM interface
  output logic [63:0] if_imem_addr_IF
);

logic [63:0] pc_IF;
logic [63:0] pcNxt_IF;

assign if_imem_addr_IF = pc_IF; // Always fetch PC from IMEM, truncate addresses to be 64 bit aligned?

// Program Counter (PC)
assign pcNxt_IF = pc_IF + 64'd4;

AFFR #(.WIDTH(64)) ff_IF_pc ( .clk(clk), .rst_l(rst_l), .en(1'b1), .q(pc_IF), .d(pcNxt_IF) );

endmodule