Add FENCE and FENCE.I instructions
Both are currently NOPs as the implementation is currently in-order and has separate instruction and data memories.
This commit is contained in:
parent
141912b568
commit
ee768c51d4
2 changed files with 11 additions and 0 deletions
|
|
@ -449,6 +449,14 @@ module rv32_decode (
|
|||
alu_src2_out <= RV32_ALU_SRC2_REG;
|
||||
rd_writeback_out <= 1;
|
||||
end
|
||||
{RV32_OPCODE_MISC_MEM, RV32_FUNCT3_MISC_MEM_FENCE, RV32_FUNCT7_ANY}: begin
|
||||
/* FENCE */
|
||||
valid_out <= 1;
|
||||
end
|
||||
{RV32_OPCODE_MISC_MEM, RV32_FUNCT3_MISC_MEM_FENCE_I, RV32_FUNCT7_ANY}: begin
|
||||
/* FENCE.I */
|
||||
valid_out <= 1;
|
||||
end
|
||||
endcase
|
||||
end
|
||||
endmodule
|
||||
|
|
|
|||
|
|
@ -42,6 +42,9 @@ localparam RV32_FUNCT3_OP_SRL_SRA = 3'b101;
|
|||
localparam RV32_FUNCT3_OP_OR = 3'b110;
|
||||
localparam RV32_FUNCT3_OP_AND = 3'b111;
|
||||
|
||||
localparam RV32_FUNCT3_MISC_MEM_FENCE = 3'b000;
|
||||
localparam RV32_FUNCT3_MISC_MEM_FENCE_I = 3'b001;
|
||||
|
||||
localparam RV32_FUNCT7_ANY = 7'b???????;
|
||||
localparam RV32_FUNCT7_ZERO = 7'b0000000;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue