RISC-V MCU中文社区

【分享】 Booth编码+Wallace树修改乘法器

发表于 开源蜂鸟E203 2023-05-31 15:40:37
0
556
1

团队名称:芯火

团队编号:CICC1181

当前主流乘法器修改方案主要是Booth编码的乘法器,但使用Booth编码的乘法器只能在减少部分积生成方面起作用,

加速乘法器的另一方面是部分积的压缩,此处常用的方法是使用树形结构减少运算开销,如wallace树与dadda树等,

我们团队在部分积压缩方面采用8位Booth编码来进行部分积的生成,我们也推导了基于16位Booth编码的结果,但是,

由于蜂鸟E203中的操作数只有32位,基于8位的Booth编码会生成12个部分积,编码值范围为-4~4,而基于16位的Booth

编码在补位之后会生成9个部分积,但编码值范围为-8~8,尽管减少了部分积个数,但多路选择器路数更多,因此我们首先选用

基于8位的Booth编码。由于先前已经介绍过8位Booth编码,所以此处不再叙述。

随后在部分积的生成方面我们选取常用的Wallace树对部分积进行压缩,压缩后的图示如下图所示:

共使用10个CSA。

喜欢1
用户评论
wxy111

wxy111 实名认证

懒的都不写签名

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