mirror of
https://github.com/olofk/serv.git
synced 2025-04-23 21:38:59 -04:00
Simplify csr_en logic
This commit is contained in:
parent
31852f175d
commit
fb7c6c1458
1 changed files with 5 additions and 6 deletions
|
@ -153,13 +153,12 @@ module serv_decode
|
|||
//false for mstatus, mie, mcause, mip
|
||||
wire csr_valid = op20 | (op26 & !op22 & !op21);
|
||||
|
||||
assign o_csr_en = (o_ctrl_mret & state[1]) | o_ctrl_trap | (csr_en & csr_valid);
|
||||
wire csr_en = opcode[4] & opcode[2] & (|o_funct3) & running;
|
||||
|
||||
assign o_csr_mstatus_en = csr_en & !op26 & !op22;
|
||||
assign o_csr_mie_en = csr_en & !op26 & op22 & !op20;
|
||||
assign o_csr_mcause_en = csr_en & op21 & !op20;
|
||||
wire csr_op = opcode[4] & opcode[2] & (|o_funct3);
|
||||
|
||||
assign o_csr_en = state[1] & (o_ctrl_mret | state[0] | (csr_op & csr_valid));
|
||||
assign o_csr_mstatus_en = csr_op & (state == RUN) & !op26 & !op22;
|
||||
assign o_csr_mie_en = csr_op & (state == RUN) & !op26 & op22 & !op20;
|
||||
assign o_csr_mcause_en = csr_op & (state == RUN) & op21 & !op20;
|
||||
|
||||
|
||||
assign o_alu_cmp_eq = o_funct3[2:1] == 2'b00;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue