- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
采用Booth算法的16×16并行乘法器设计
(西南交通大学计算机与通信工程学院 四川成都 610031)
摘 要:介绍了一种可以完成16位有符号/无符号二进制数乘法的乘法器。该乘法器采用了改进的Booth算法,简化了部分积的符号扩展,采用Wallace树和超前进位加法器来进一步提高电路的运算速度。本乘法器可以作为嵌入式CPU内核的乘法单元,整个设计用VHDL语言实现。??? 关键词:乘法器;Booth算法;Wallace树;超前进位加法器
在专用集成电路设计中,面积小但功能强大的CPU内核可以为设计提供很大的方便。而乘法器又是CPU中一个重要的部件,本文分析了设计乘法器所用到的算法并提供了乘法器的设计方案。乘法器的处理过程大致相同,都是先生成部分积再相加。为了提高乘法器的性能,可以从减少部分积的个数,对部分积的相加采用并行加法。采用Booth算法[1]可以使部分积的个数减少一半[1],采用Wallace树行结构的加法器完成N个部分积需要lgN次加法时间[2],最后再使用超前进位加法器来减少加法运算中进位传播时间[3]。本文设计的乘法器由Booth编码、Wallace树形结构和超前进位加法器3部分组成。1 乘法器结构 本乘法器提供16位二进制有符号/无符号乘法运算。为了区分是有符号还是无符号数,增加了1位即第17位用于符号控制,有符号则为1,无符号则为0。无符号数的范围是0~216-1,有符合的范围是-215~215-1。乘法器的结构如图1所示。 在执行一次乘法运算时,首先乘数和被乘数扩展1位符号控制位以判断是有符号数还是无符号数,然后用并行Booth编码器对乘数进行编码,根据Booth编码输出并行生成部分积。生成所有部分积后需要对部分积进行符号扩展以便进行相加,然后用Wallace树形结构加法器将部分积相加得到32位乘法结果。
2 Booth算法 在乘法器设计中大都采用改进Booth算法以减少部分积,简化电路和提高运算速度。改进的Booth算法的原理如下: 设乘数:??? 那么乘数Y也可以表示为:其中n是偶数,如果是奇数位的数则需要扩展1位。 根据式(2)可以知道部分积只有位数的一半,而且根据Y2t-1,Y2t,Y2t+1的不同,与被乘数相乘得到的部分积也不同。表1列出了不同的Y2t-1,Y2t,Y2t+1所对应的对被乘数的操作。
??? 因为改进的Booth算法要求乘数的位数为偶数,所以应将乘数符号扩展(乘数为负数是前面扩展2个‘1’,否则扩展2个‘0’)到18位,然后根据Booth编码得到部分积,得到部分积后需要对部分积进行相加。由于操作数可以是有符号数也可以是无符号数,所以在相加过程中应该考虑到符号扩展以便正确相加。由于乘数扩展到18位,所以产生的部分积有9项,最后一个部分积不需要符号扩展,所以只需要扩展前面8个部分积且符号扩展值为si(i=0..7),全部相加得到结果是34位。我们可以得到符号扩展的和S如下: 由于结果只有低32位有效,所以计算符号扩展的和只需要计算到低32位即可。??? 所以: 从式(5)可以看出,对部分积进行符号扩展即将17位部分积的最高位(符号扩展位)取反,再将符号位左边1位置‘1’,还要在最后结果的第17位加上1个‘1’。3 Wallace树 Wallace树算法是对部分积归约的一种树形算法,他利用CSA(Carry Save Adder)把3个部分积简化为2个部分积,2个CSA可以构成1个4-2压缩器,如图2所示。我们用CSA和4-2压缩器构造过图3的Wallace树将部分积化简为2个32位的数,再通过32位超前进位加法器得到结果。
4 结 论 该乘法器用VHDL语言实现整个设计,实现乘法器用到的门数为4 942门。本乘法器所采用的改进Booth算法和Wallace数化简部分积也是设计高性能CPU通常采用的方法,可以完成16×16无符号/有符号数的乘法运算,整个设计简单高效。还可以将乘法部件应用到其他设计中去。
您可能关注的文档
最近下载
- 2024天津市津南区事业单位考试笔试题库及答案.docx VIP
- [2025秋期版]国开电大专科《人力资源管理》一平台形考任务一至四在线形考试题及答案 (2).pdf
- 2025年新版人教版四年级上册英语 四上Unit 2 My friends单元整体教学设计(1).pdf VIP
- 数字媒体技术专业申报材料.doc VIP
- 2025上海市农业科学院工作人员招聘(2025年第二批)笔试备考题库及答案解析.docx VIP
- 2024年浙江省杭州市中考数学试题卷(含答案详解).docx
- 老年人日常生活护理案例及分析.docx VIP
- 2025天津市津南区法院系统招聘考试真题.docx VIP
- 2025上海市农业科学院工作人员招聘(2025年第二批)笔试参考题库附答案解析.docx VIP
- 国有大型煤炭企业如何科学编制“十五五”发展规划.docx
文档评论(0)