aboutsummaryrefslogtreecommitdiff
path: root/rtl/src/instruction_reg.v
blob: 305789ed032c755ced2a967da8498cdae1c74f2e (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