• Abcd
    置顶
    2022-08-21 来自湖北
    左移运算复用右移运算的电路,也体现了RISC-V精简的哲学:能够用基本的组合出来,就不创造新的电路

    作者回复: 是的

    
    2
  • peter
    置顶
    2022-08-12 来自湖北
    请教老师几个问题: Q1:[31:0],什么意思? input [31:0] regWData, 是说regWData占31位,每一位是0吗? Q2:reg [31:0] regs[31:0];: 这条语句什么意思? Q3:regs[ii] <= 32'b0; 是把32'b0写到regs[ii]吗? 32'b0;,是说有32位,每一位是0吗?

    作者回复: input [31:0] regWData, 占用32位 每个位为0

    共 2 条评论
    1
  • 吴建平
    2022-08-23 来自湖北
    “如果它们的最高位不相等,则根据 ALU 运算控制码 aluOp 的最低位判断。如果 aluOp 最低位为“1”,表示是无符号数比较,直接取操作数 2 的最高位作为比较结果。如果 aluOp 最低位为“0”,表示是有符号数比较,直接取操作数 1 的最高位作为比较结果。” 这句话什么意思,比如,为什么无符号数比较,直接取操作数2的最高位为比较结果,这个最高位和大小没关系吧

    作者回复: 两个无符号数相减,被减数小的话,结果会变成负数,最高位就算"1"

    共 3 条评论
    1
  • 😇
    2022-08-27 来自湖北
    always @(posedge clk or posedge reset) begin if(reset) begin for(ii=0; ii<32; ii=ii+1) regs[ii] <= 32'b0; end else if(wen & (|regWAddr)) regs[regWAddr] <= regWData; end 请问这里为什么|regWAddr,没太看懂

    作者回复: U型指令是和I型指令相对应的J型指令和B型相对应,都是为了更多的bit对齐

    
    
  • +1
    2022-08-20 来自湖北
    还是没懂$signed() 函数将符号位扩位后的作用是什么

    作者回复: 先把课程看完

    
    
  • 小博(微信/手机号18...
    2022-08-18 来自湖北
    itype我咋没找到在哪里

    作者回复: clone 新的代码

    
    
  • 苏流郁宓
    2022-08-12 来自湖北
    在 ALU 模块代码中,为什么要把左移操作转换为右移进行处理? 这和cpu小端模式有关?

    作者回复: 不是 只是更加容易实现

    共 2 条评论
    