aboutsummaryrefslogtreecommitdiff
path: root/rtl/src/instruction_reg.v
blob: d2146b488bae59a6575808952a102bbcaf9cc202 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// instruction reg:
// Stores current instruction (and pc) until next one gets fetched.

module instruction_reg (
  input clk, 
  input rstn, 
  
  input we,
  input [31:0] pc_in, instr_in,
  output reg [31:0] pc_buf, instr
);

always @ (posedge clk or negedge rstn) begin
  if (!rstn) begin
    pc_buf <= 32'b0;
    instr  <= 32'b0;
  end else if (we) begin
    pc_buf <= pc_in;
    instr  <= instr_in;
  end
end

endmodule