mirror of
https://github.com/olofk/serv.git
synced 2026-01-13 15:17:25 +00:00
Simplify and explain csr_imm_en
This commit is contained in:
parent
215099dd3d
commit
8faf0cf33b
@ -144,7 +144,7 @@ module serv_decode
|
||||
|
||||
assign o_csr_source = funct3[1:0];
|
||||
assign o_csr_d_sel = funct3[2];
|
||||
assign o_csr_imm_en = csr_op & o_csr_d_sel;
|
||||
assign o_csr_imm_en = opcode[4] & opcode[2] & funct3[2];
|
||||
|
||||
assign o_csr_addr = (op26 & !op20) ? CSR_MSCRATCH :
|
||||
(op26 & !op21) ? CSR_MEPC :
|
||||
|
||||
@ -30,6 +30,7 @@ module serv_immdec
|
||||
|
||||
always @(posedge i_clk) begin
|
||||
if (i_wb_en) begin
|
||||
/* CSR immediates are always zero-extended, hence clear the signbit */
|
||||
signbit <= i_wb_rdt[31] & !i_csr_imm_en;
|
||||
imm19_12_20 <= {i_wb_rdt[19:12],i_wb_rdt[20]};
|
||||
imm7 <= i_wb_rdt[7];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user