mirror of
https://github.com/olofk/serv.git
synced 2026-01-13 15:17:25 +00:00
Gate mem_rd in mem_if
This commit is contained in:
parent
0f767ad2d3
commit
2b5c71fe9b
@ -55,8 +55,7 @@ module serv_decode
|
||||
output wire o_imm,
|
||||
output wire o_op_b_source,
|
||||
output wire o_rd_csr_en,
|
||||
output wire o_rd_alu_en,
|
||||
output wire o_rd_mem_en);
|
||||
output wire o_rd_alu_en);
|
||||
|
||||
`include "serv_params.vh"
|
||||
|
||||
@ -226,7 +225,6 @@ module serv_decode
|
||||
assign o_op_b_source = opcode[3];
|
||||
|
||||
assign o_rd_alu_en = !opcode[0] & opcode[2] & !opcode[4];
|
||||
assign o_rd_mem_en = !opcode[2] & !opcode[4];
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
@ -39,7 +39,7 @@ module serv_mem_if
|
||||
(dat_sel == 1) ? dat1[0] : dat0[0];
|
||||
|
||||
wire dat_valid = i_word | (i_bytecnt == 2'b00) | (i_half & !i_bytecnt[1]);
|
||||
assign o_rd = dat_valid ? dat_cur : signbit & i_signed;
|
||||
assign o_rd = i_mem_op & (dat_valid ? dat_cur : signbit & i_signed);
|
||||
|
||||
|
||||
wire upper_half = i_lsb[1];
|
||||
|
||||
@ -55,7 +55,6 @@ module serv_top
|
||||
wire slt_op;
|
||||
|
||||
wire rd_alu_en;
|
||||
wire rd_mem_en;
|
||||
wire rd_csr_en;
|
||||
wire ctrl_rd;
|
||||
wire alu_rd;
|
||||
@ -231,8 +230,7 @@ module serv_top
|
||||
.o_imm (imm),
|
||||
.o_op_b_source (op_b_source),
|
||||
.o_rd_csr_en (rd_csr_en),
|
||||
.o_rd_alu_en (rd_alu_en),
|
||||
.o_rd_mem_en (rd_mem_en));
|
||||
.o_rd_alu_en (rd_alu_en));
|
||||
|
||||
assign o_dbus_adr = {bufreg_out[31:2], 2'b00};
|
||||
|
||||
@ -284,7 +282,7 @@ module serv_top
|
||||
assign rd = (ctrl_rd ) |
|
||||
(rd_alu_en & alu_rd ) |
|
||||
(csr_rd & rd_csr_en) |
|
||||
(rd_mem_en & mem_rd);
|
||||
(mem_rd);
|
||||
|
||||
assign op_b = (op_b_source == OP_B_SOURCE_IMM) ? imm : rs2;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user