RISC-V MCU中文社区

【分享】 【分享】关于E203内核高性能乘法器优化(三)

发表于 全国大学生集成电路创新创业大赛 2023-05-28 17:26:57
0
742
1

团队编号:CICC1230

团队名称:少吃米饭多吃肉

4:2压缩器优化

一般的4:2压缩器是由两级3:2压缩器串接起来的,而3:2压缩器的实质就是全加器,其结构如下:
图片alt
表达式如下:
图片alt
代码实现:

module full_adder(
    input a,
    input b,
    input cin,
    output cout,
    output s
);

assign s = a ^ b ^ cin;
assign cout = a & b | (cin & (a | b));


endmodule

其中输出cout的权重要大于S一位才能继续送入下一个模块压缩
而对于直接串联的4:2压缩器如下:
图片alt
逻辑表达式如下:
图片alt
优化后:
图片alt
图片alt
可以看到原本的3:2压缩器两级串联会有4个XOR的延迟,而改进之后只有三个XOR的延迟
具体代码实现如下:

module single42 (
    input op1,
    input op2,
    input op3,
    input op4,
    input Cin,
    output Cout,
    output Carry,
    output Sum
);


wire o1,o2,o3,o4;

    xor xor2(o2,op3,op4);
    xor xor1(o1,op1,op2);
    xor xor3(o3,o1,o2);
    xor xor4(o4,o3,Cin);

    assign Sum = o4;
    assign Cout = (o1 == 1'b1) ? op1 : op3;
    assign Carry = (o3 == 1'b1) ? op4 : Cin;



endmodule
喜欢1
用户评论
EvanIC

EvanIC 实名认证

IC_dog

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板