anchor.diff:                 else if (decoded.funct3 == f3_ORI)   fa_finish_with_Rd(decoded.rd, pack(s_v1 | s_v2));
                  else if (decoded.funct3 == f3_ANDI)  fa_finish_with_Rd(decoded.rd, pack(s_v1 & s_v2));
   
  -               else if ((decoded.funct3 == f3_SLLI) && (instr[31:25] == 7'b000_0000))
  +               else if ((decoded.funct3 == f3_SLLI) && (decoded.imm12_I[11:5] == 7'b000_0000))
                     fa_finish_with_Rd(decoded.rd, (v1 << shamt));
   
   
                  // SRLI
  -               else if ((decoded.funct3 == f3_SRxI) && (instr[31:25] == 7'b000_0000))
  +               else if ((decoded.funct3 == f3_SRxI) && (decoded.imm12_I[11:5] == 7'b000_0000))
                     fa_finish_with_Rd(decoded.rd, (v1 >> shamt));
   
                  // SRAI
  -               else if ((decoded.funct3 == f3_SRxI) && (instr[31:25] == 7'b010_0000))
  +               else if ((decoded.funct3 == f3_SRxI) && (decoded.imm12_I[11:5] == 7'b010_0000))
                     fa_finish_with_Rd(decoded.rd, pack(s_v1 >> shamt));
   
                  else
  
positive.code:    // This function encapsulates ALL the opcodes.
     // It has internal functions that group related sub-opcodes.
  
     function Action fa_exec(Instr instr);
        action
           // ----------------------------------------------------------------
           // Instruction decode
  
           Decoded_Instr decoded = fv_decode(instr);
  
           // Values of Rs1 and Rs2 fields of the instr, unsigned
           Word    v1   = ((decoded.rs1 == 0) ? 0: regfile.sub(decoded.rs1));
  
negative.code:       if (imem_resp matches tagged IMem_Resp_Ok .instr) begin
           if (cfg_verbose > 1) $display("[%7d] rl_exec: PC = 0x%08X, instr = 0x%08X", csr_cycle, pc, instr);
           rg_instr <= instr;
  
           if (cfg_verbose != 0) $display("[%7d] fa_exec: instr 0x%08h", csr_cycle, instr);
  
           // ----------------------------------------------------------------
           // Instruction decode
  
           Decoded_Instr decoded = fv_decode(instr);
           fa_exec(decoded);
        end
     endrule
  
  