1616位移位相加乘法器设计样本.docx
《1616位移位相加乘法器设计样本.docx》由会员分享,可在线阅读,更多相关《1616位移位相加乘法器设计样本.docx(37页珍藏版)》请在冰豆网上搜索。
![1616位移位相加乘法器设计样本.docx](https://file1.bdocx.com/fileroot1/2022-10/13/f6360412-606a-4d45-8330-dea4d766dc94/f6360412-606a-4d45-8330-dea4d766dc941.gif)
1616位移位相加乘法器设计样本
本科学生毕业论文
论文题目:
16×16位移位相加乘法器设计
学院:
电子工程学院
年级:
级
专业:
集成电路设计与集成系统
姓名:
于昊
学号:
2141
指引教师:
曹贝
6月13日
摘要
随着集成电路设计技术不断进步,乘法器芯片设计实现研究与应用越来越广泛,对乘法器进行ASIC芯片设计,具备设计实现过程简朴、所用到EDA工具完善并且成熟、硬件开销小、易于在VLSI电路或系统级芯片中集成。
普通,数字电路设计流程对于芯片实现而言,需要RTL级HDL描述,并要对各层次设计进行功能仿真验证,在验证电路能按预期设计功能工作后,即可对RTL级HDL描述进行综合、优化,形成门级网表。
整个设计流程可称为数字电路前端设计。
本课题基于移位相加算法研究,设计16位移位相加乘法器,并在功能仿真通过后,将所设计VerilogRTL级代码进行综合,采用Synopsys公司DesignCompilerEDA工具进行电路综合,获得16位移位相加乘法器门级网表与电路实现。
核心词
数字电路设计;移位相加乘法器;综合;
Abstract
Abstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstractabstract.(英文摘要内容必要与中文摘要完全相应。
英文摘要采用TimesNewRoman小四号字书写,毕业论文、毕业设计行与行之间、段落和层次标题以及各段落之间均为1.5倍行距。
)
Keywords
Keywords;keywords;keywords(英文核心词内容必要与中文核心词完全相应。
英文核心词采用TimesNewRoman小四号字书写,毕业论文、毕业设计行与行之间、段落和层次标题以及各段落之间均为1.5倍行距。
核心词与核心词之间用“;”隔开)
第一章乘法器研究背景与意义
数字信号解决中需要频繁进行大数据量乘法运算。
乘法器作为数字信号解决器重要部件,它速度直接决定了整个解决器性能。
本课题采用verilogHDL设计了一种16位移位相加乘法器。
一方面简介了移位相加乘法器算法以及比较移位相加乘法器,Booth乘法器,WallaceTree乘法器各自特点。
简介了本课题在综合时需用到DesignCompiler(DC)综合工具。
随后提出了自己乘法器设计架构设计了一种16位移位相加乘法器。
并用DesignCompiler(DC)进行了优化。
所设计乘法器是16×16位,基于Altera公司Modelsim平台上用Verilog_HDL软件进行功能仿真,验证了功能对的,达到了预期目的。
微解决器发展随着集成电路迅猛发展而日新月异。
在微解决器芯片中乘法器是进行数字信号解决核心同步也是微解决器中进行数据解决核心部件,它已经是当代计算机必不可少一某些。
乘法器算法也有诸各种,例如移位相加算法、布斯(Booth)算法、华莱士树(WallaceTree)算法等。
其中移位相加算法是乘法器最基本算法,其他算法都是在它基本上为了压缩和优化这种算法延伸出来算法,目是提高乘法器运算速度以及实现更多乘法器功能。
虽然不断关于于32位、64位乘法器研究浮现,但由于大量媒体信号解决只需16位运算就能胜任,因而对16位乘法器研究仍有着相称应用价值。
1.1乘法器发呈现状
过去十年中,研究者扩展了Booth编码算法空间,提高了乘法器性能;改进了某些积压缩技术,使乘法器构造更加规则;以传播管逻辑、多路选取器和动态技术为基本各种电路实现办法也持续刷新高性能乘法器实现记录;与此同步,与物理实现紧密有关乘法器拓扑构造研究也硕果累累。
但不断提高高性能运算需求使得高性能乘法器设计和实现依然是当前热门话题。
1.1.1国内乘法器现状
乘法器设计与应用在国内研究领域也获得了较好成绩,1993年中科院声学研究所应用于18位乘法器,实现工作频率38MHZ.。
随着应用规定领域与性能不断提高,1997年国防科技大学完毕应用于数字神经解决16位乘法器,频率30MHZ。
西安微电子技术中心于敦山实现了32位定/浮点乘法器延时56/76ns。
进入新世纪以来,集成电路工艺水平不断提高,西安交通大学袁寿财实现了0.25um下延时40ns。
中科院计算研究所周旭采用0.18um工艺实现54位浮点乘法器384MHZ。
复旦大学武新宇采用0.18um工艺实现64位乘法器延时2.82ns。
上海大学王田采用0.18um工艺实现32位乘法器延时3.15ns。
东南大学王定采用FPGA设计24位乘法器延时18.81ns。
乘法器设计始终是集成电路设计研究领域一种热点,也有着广泛应用。
1.1.2国外乘法器现状
理论方面乘法器研究上里程碑应当从BoothAD在1951年提出Booth编码办法和Wallace树型压缩开始。
随后浮现了Booth2算法、压缩器(进位保存加法)、延迟平衡树等各种算法构造。
国外乘法器在电路方面发展同样迅猛,1995年Ohkubo基于传播管逻辑实现了4.4ns54位乘法器,同步提出了新4:
2压缩单元构造和进位选取加法器构造。
1996年Hanawa实现了4.3nS54位乘法器,同一年,Makino实现了8.8ns54位冗余二进制编码乘法器。
1997年Inoue提出了符号选取Booth解码和改进4:
2压缩单元构造,实现了4.1ns54位乘法器。
1998年Hagihara基于动态技术和传播管逻辑实现了2.7ns54位乘法器。
同年Carlson简介了6.0ns64位乘法器实现办法。
Itoh实现了一种600MHz两级流水线54位乘法器。
Cho基于原则单元库实现了一种3.25ns54位乘法器,并提出了改进进位选取加法器构造。
1.2乘法器概述
乘法器在当今数字信号解决以及其她诸多应用领域中起着十分重要作用。
随着科学技术发展,许多研究人员已经开始试图设计一类拥有更高速率和低功耗,布局规律占用面积小,集成度高乘法器。
这样,就能让它们更加合用于高速率,低功耗大规模集成电路应用当中。
普通乘法计算办法是添加和位移算法。
在并行乘法器当中,相加某些乘积数量是重要参数。
它决定了乘法器性能。
为了减少相加某些乘积数量,修正Booth算法是最惯用一类算法。
为了实现速度提高Wallace树算法可以用来减少序列增长阶段数量。
咱们进一步结合修正booth算法和Wallace树算法,可以看到将它们集成到一块乘法器上诸多优势。
但是,随着并行化增多,大量某些乘积和中间求和增长,会导致运营速度下降。
不规则构造会增长硅板面积,并且由于路由复杂而导致中间连接过程增多继而导致功耗增大。
另一方面串并行乘法器牺牲了运营速度来获得更好性能和功耗。
因而,选取一款并行或串行乘法器事实上取决于它应用性质。
在本文中,咱们将简介乘法算法以及在应用构造方面速度比较,占用面积,功率和这些状况组合绩效指标。
1.3乘运算
考虑两个没有符号二进制数X和Y,分别为M位宽和N位宽。
为了阐明乘法运算,可以用二进制形式来表达X和Y:
。
于是乘法运算定义如下:
执行一种乘法运算最简朴办法是采用一种两输入加法器。
对于M和N位宽输入,乘法采用一种N位加法器时需要M个周期。
这个乘法移位相加算法把M个某些积(partialproduct)加在一起。
每一种某些积是通过将被乘数与乘数一位相乘(这本质上是一种“与”操作),然后将成果移位到这个乘数位置得到。
实现乘法一种更快办法是采用类似于手工计算乘法办法。
所有某些积同步产生并构成一种列阵。
运用多操作数相加来计算最后积。
这一办法如图所示。
这一组操作可以直接映射到硬件。
所形成构造称为阵列乘法器(arraymultiplier),它结合下面三个功能:
产生某些积、累加某些积和最后相加。
例如:
1101被乘数
1101乘数
1101某些积
0000
1101
1101
10010101成果
二进制乘法例子
1.4乘法器构造
乘法器构造种类诸多,在此我只简介一种乘法器构造供接下来设计移位相加乘法器构造设计做参照。
浮点数涉及尾数和指数两某些,尾数某些进行是乘法运算,指数某些进行是加法运算,并根据尾数运算成果进行指数调节。
图2-1乘法器构造
尾数解决某些重要进行尾数扩展和某些数据正负判断以及负数生成,以备在进行Booth编码时候使用。
某些积产生采用修正Booth算法产生6个某些积,然后采用3:
2和4:
2压缩器将构造压缩为两个,高速相加得到成果。
之后通过符号修正、尾数舍入、规格化等操作对指数进行调节即可完毕乘法功能。
1.5乘法器端口定义
普通,依照乘法器功能计算规定定义乘法器端口如下:
mul_16_unsigned
ain[15..0]
start
bin[15..0]
done
clk
yout
rst_n
ain:
16位乘数输入
bin:
16位被乘数输入
clk:
工作时钟输入
res_n:
复位信号输入
start:
开始位
done:
结束位
yout:
乘积输出
第二章移位相加乘法器设计基本原理
移位相加乘法器实现起来比较简朴,它设计思想就是依照乘数每一位与否为1进行计算,若为1则将被乘数移位相加。
一种乘法器只需要一种移位寄存器和一种加法器就能构成。
2.1移位相加乘法器设计基本
2.1.1移位相加算法
移位相加算法是乘法器最基本算法,下面以一种例子阐明移位相加法实现M×N。
手动乘法运算举例:
1101
×1011
1101
1101
0000
﹢1101
10001111
计算机实现方案1:
某些积左移:
1101
×1011
1101
﹢1101
100111
﹢0000
100111
﹢1101
10001111
计算机实现方案2:
某些积之和右移:
1101
×1011
1101第一次某些积
1101某些积之和右移1位
﹢1101第二次某些积
100111某些积之和
100111某些积之和右移1位
﹢0000第三次某些积
100111某些积之和
100111某些积之和右移1位
﹢1101第四次某些积
10001111某些积之和
10001111某些积之和右移1位
2.1.2乘法器设计原理
乘法器基本工作原理大体分为三个环节:
(1)先将二进制被乘数与乘数每一位分别相乘,得到与乘数位数相似个数某些积;
(2)将得到某些积按权值错位相加,进行某些积压缩;(3)一级加法,普通采用一种超迈进位加法器模块。
对乘法器设计自然集中在各模块性能优化上,以达到速度快、面积小目。
2.2移位相加乘法器原理
从手算经验可知执行