Jishuaishuai123

Results 6 issues of Jishuaishuai123

1.问题列表: ①jalr指令错误(地址最低有效位不会被置为0,不符合riscv规范,影响功能) 问题描述:jalr指令理论上运行的结果应为偶数,实际上NEMU无法将最低位的bit置为0。 报错信息:NEMU=0x00000000800015bb(error),理论应为0x00000000800015ba 该指令解析:跳转并寄存器链接(Jumpand LinkRegister).I-type, RV32IandRV64I.把pc设置为x[rs1]+sign-extend(offset),把计算出的地址的 **最低有效位设为0** ,并将原pc+4的值写入f[rd]。rd默认为x1。(标粗部分出错) (t=pc+4;pc=(x[rs1]+sext(offset))&[~1];x[rd]=t) ②ebreak&c.ebreak指令错误(显示为无效指令,影响功能) 问题描述:ebreak&c.ebreak在NEMU上运行输出为无效数: Welcome to riscv64-NEMU! For help, type "help" invalid opcode(PC = 0x00000000800001de): 02 90 17 5c 00 00 13...

您好:请问关于0x5c0-0x5Fd,这几个自定义读写寄存器这边是怎么设置的,我用csrw对这几个寄存器写0x0失败;

1.rs1*rs2两者结果的解码正好为上溢出时,fnmadd.s的运算结果为rs3的值,正确结果应为0xff800000; 2.rs1*rs2两者结果为上溢出(不包括临界条件),则计算正确; 通过计算: Fs10_4f057641(rs1):0 100 1111 0000 0101 0111 0110 0100 0001 数符:0 阶:阶码:10011110 阶码的值: 158-127=31 移码:阶码表示=真值+阶码常数 尾数部分:1.0000000000000000 0000000000000000 000000000000 00000000 ft0_0x70000000(rs2): 0 11100000 000 0000 0000 0000 0000 0000...

dcache_tag_case1: 1.调用clear_cop_csrs标签(将控制状态寄存器清零) 2.写任意数据(0x233)入cop_tag_data(0x5cd) 3.写特定数据入cop_level(0x5c7,1)、cop_way(0x5c8,0x1)、cop_index(0x5c9,0x1),写数据COP_WRITE_TAG(6)入cop_op(0x5c5) 4.调用wait_until_cop_finish_or_timeout(li t1, 0x0;li t0, 0x100)标签,等待寄存器cop_finish的值由0变1 5.调用clear_cop_csrs标签(将控制状态寄存器清零) 6.写与步骤3相同的特定数据入cop_level(1)、cop_way(0x1)、cop_index(0x1),写数据COP_READ_TAG(2)入cop_op 7.调用wait_until_cop_finish_or_timeout标签,等待寄存器cop_finish的值由0变1 8.读寄存器cop_tag_data,如果读值与步骤2所写的数据(0x233)不相等,就报错 您好:请问关于dcache/icache中0x5c5、0x5c7-0x5c9、0x5cd,这几个自定义读写寄存器你们emu是怎么设置的,我跑了你们的case,但是csrw对这几个寄存器写0x0失败;