最新-基于FPGA的8位硬件乘法器设计 (1).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《最新-基于FPGA的8位硬件乘法器设计 (1).doc》由会员分享,可在线阅读,更多相关《最新-基于FPGA的8位硬件乘法器设计 (1).doc(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料-基于FPGA的8位硬件乘法器设计 (1). 本科毕业设计基于FPGA的8位硬件乘法器设计摘 要VHDL(VHSIC Hardware Description Language)是当今最流行的硬件描述语言之一,能够对最复杂的芯片和最完整的电子系统进行描述。以硬件描述语言作为设计输入,经过简单的综合与布局,快速烧录至FPGA(Field Programmable Gate Array)上进行测试,是现代IC设计验证的技术主流。 乘法器是处理器进行科学计算和数字信号处理的基本硬件结构,是现代微处理器中的重要部件。乘法器完成一次乘法操作的周期基本上决定了微处理器的主频。本文基于FPGA,采用
2、VHDL语言,结合MAX+plus这个强大的软件平台设计了8位二进制乘法器,并对其进行符号扩展,使其可以统一处理8位带符号数和无符号数。高速乘法器设计通常分为三个关键步骤:部分积产生、部分积累加和最终结果获得。本文对部分积产生过程采用改进Booth算法,有效减少部分积加法项;为了统一带符号和无符号数,对部分积进行符号扩展;而对部分积的累加则采取3-2压缩器和4-2压缩器进行压缩;最终结果的获得则以一个根据部分积累加结果到达时间的不同进行延迟优化的选择进位加法器将累加结果和累加进位相加而得。 关键词:乘法器 改进Booth算法 压缩器 选择进位加法器The Circuit Design of 8
3、-bit Hardware Multiplier Based on FPGAKe Xiuyan(College of Engineering, South China Agricultural University, Guangzhou 510642, China)Abstract: VHSIC Hardware Description Language, one of todays most popular hardware description languages, is used to describe the most complex chip and most complete e
4、lectronic systems.The multiplier is not only the basic hardware structure of the processor for scientific computing and digital signal processing but also an important component of modern microprocessors. This design for 8-bit binary multiplier is based on FPGA, using VHDL language, and proved by th
5、e MAX+plus software platform. The multiplicand has an extended sign bit so that the multiplier can unify 8-bit signed and unsigned.High-speed multiplier design is usually divided into three key steps: partial product generation circuit, accumulator and adder. In this paper, the partial product gener
6、ation process uses the modified Booth algorithm, so that the partial product addition terms can be effectively reduced. The accumulation of partial products takes 3-2 compressor and 4-2 compressor to compress. The final result is obtained with select carry adder.Key words: multiplier the modified Bo
7、oth algorithm compressor select carry adder 目 录毕业设计成绩评定表1 前言1.1 乘法器的研究背景和意义微电子技术的迅猛发展,计算机技术的不断进步,带动了集成电路工艺的不断增进,数字芯片的集成度不断提高。在经历了小规模、中规模、大规模的发展过程之后,目前集成电路已经进入超大规模和甚大规模集成电路阶段,SOC(System on Chip)时代也已经到来。数字芯片的发展一直遵循着英特尔公司的主要创始人戈登摩尔(Gordon Moore)提出的摩尔定律:芯片的集成度每三年翻两番,特征尺寸缩小倍。由于可使用的芯片面积增加,为了进一步提高运算性能,目前越来
8、越多的处理器包含多个运算单元,算术运算单元已经成为处理器结构中的一个重要组成部分。而乘法器又是运算器不可或缺的重要组成单元,所以对乘法器的研究具有一定的意义。在高速数字信号处理器、微处理器等各类芯片中,乘法器是必不可少的算术逻辑单元。乘法器往往处于关键延时路径中,它对系统的运算速度有很大影响。为实现流水线的正常工作,乘法运算往往需要在一个时钟周期内完成,另一方面,随着便携式可移动数字产品市场和芯片集成度的不断增加,要求系统在保持高速的同时,具有较低的功耗,才能保持设备的长时间可靠工作。因此,高速低功耗的乘法器的设计是运算器系统设计中的关键。目前在乘法器的实现中,制约其性能提高的因素主要有以下几
9、个方面:部分积生成速度与面积的冲突、部分积的相加延迟过大、版图实现的规则性和紧凑性难以提高。乘法器的设计思想,就是在乘法器设计的结构复杂度,以及乘法器最终的运算速度,电路完成后的占用芯片的面积这几个因素之间进行均衡。1.2 乘法器的研究发展状况迄今为止,关于乘法器实现研究的著作和论文已经有很多。乘法器作为处理器最主要的模块之一,在大量文献中均有研究。过去的十年,修正Booth算法进一步扩展了 Booth编码算法的空间,以传输管逻辑、多路选择器和动态技术为基础的各种电路实现方法持续刷新着高性能乘法器的实现记录。与此同时,与物理实现紧密相关的乘法器拓扑结构的研究也硕果累累。乘法器研究上的里程碑应该
10、从A.D.Booth在1951年提出的Booth编码方法和Wallace的树型压缩开始。其中Wallace介绍了著名的用于压缩部分积的Wallace树结构。随后在1961年O.L.Mcsorley把Booth算法中的每次交叠检验乘法的两位推广到每次交叠检验三位,即著名的修正Booth算法,或称Booth2算法,这种方法使得部分积数目减少一半。1965年Dadda提出的计数器的概念,可将3:2计数器推广到4:2,5:2和9:2等,进一步减少Wallace树所需计数器个数。进入上世纪九十年代之后,Bewick提出了冗余Booth3算法,使得Booth 3可以在略多于Booth 2的时间内完成。进一
11、步扩展到基16、基32、乃至基256的Booth算法也被提出和研究。拓扑结构方面,进位保留加法器被广泛使用,双阵列、高阶阵列用于提高阵列拓扑结构的速度。Shen和Weinberger提出了4:2压缩器用于构成较Wallace树更规整的二进制树,延迟平衡树Zuras和McAllister首先提出,倒阶梯树也可用于改善树型结构的规整性。乘法器算法方面已经日趋完善。与此相应的,可用于乘法器最后求和运算的各种加法器结构层出不穷。在电路实现方面,1981年,Weinberger提出了具有更高压缩比和对称性的4:2压缩单元以代替全加器和半加器完成部分积的求和工作。此举不仅降低了布局困难,而且可以缩短关键路
12、径,平衡端口延迟,极大的提高了运算速度。1995年Ohkubo基于传输管逻辑实现了4.4ns的54位乘法器,同时提出了新的4:2压缩单元结构和进位选择加法器结构。1996年,Hanawa实现了4.3ns的54位乘法器,同一年,Makino实现了8.8ns的54位冗余二进制编码乘法器。1997年Inoue提出了符号选择Booth解码和改进的4:2压缩单元结构,实现了4.lns的54位乘法器。1998年Hagihara基于动态技术和传输管逻辑实现了2.7ns的54位乘法器,同年Carlson介绍了6.0ns的64位乘法器实现方法。2001年Itoh实现了一个600MHz的两级流水线的54位乘法器。
13、2003年,Cho基于标准单元库实现了一个3.25ns的54位乘法器,并提出了改进的进位选择加法器结构。除了提高乘法器的速度以外,各种结构的编码单元,改进的规整的树型压缩结构,以及乘法器的低功耗设计等也得到了广泛而深入的研究。2 总体方案确定2.1 乘法器设计方案本文采用了一种改进Booth编码算法,实现8位带/无符号并行乘法器,并选择3-2压缩器和4-2压缩器组成的部分积累加器及选择进位加法器为最终加法器结构实现乘法器的设计(王定,等,2007)。高速乘法器的关键就是要提高并行计算量,减少后续的计算量。Booth编码算法是广泛采用的算法,它可以减少一半的乘法乘积项,大大提高运算速度。而部分积
14、的相加采用3-2压缩器和4-2压缩器,它可以将乘法的时间复杂度降低。最终加法器则用选择进位加法器实现。算法运算可分为3部分来实现:Booth编码和译码;压缩器;最终加法器(李磊,等,2008)。 2.2 硬件描述语言VHDL2.2.1 硬件描述语言 所谓硬件描述语言,就是利用该语言可以描述硬件电路的逻辑功能、电路结构和连接形式。硬件描述语言是一种用于设计硬件电子系统的计算机语言,适合大规模电路系统的设计。例如一个32位的加法器,利用传统的图形输入软件需要输入500至1000个门,而利用VHDL语言只需要书写一行代码A=B+C即可。而且VHDL语言可读性强,易于发现错误和修改。硬件描述语言可以在
15、不同的层次上描述数字系统。比如,描述电阻、晶体管及其之间相互连线关系的,称为开关级描述;描述基本逻辑门、触发器及其之间相互连线关系的,称为门级描述;在更高层面上描述寄存器及其之间数据传递的,称为寄存器传输级描述。目前得到广泛认可的硬件描述语言有VHDL 和 Verilog两种。2.2.2 VHDL语言简介 VHDL的英文全名是 VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,于1983年由美国国防部正式推出,1986年VHDL被建议作为IEEE 标准,经过多次更改后,直到1987年12月,它才被IE
16、EE接纳为硬件描述语言标准(IEEE STD 1076),该标准经过不断完善和更新,最近的标准为 IEEE 1164标准,己经被IC生产厂家和 EDA工具提供商所接受。当前几乎所有的 EDA软件,比如SYNOPSYS,MENTOR GRAPHICS,COMPASS,CADANCE等都支持该项标准。VHDL已经成为硬件描述语言的业界标准之一。 VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。VHDL主要
17、用于描述的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的。VHDL的程序结构特点是将一项工程设计,或者称作设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或者称可视部分,及端口)和内部(或者称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。2.2.3 VHDL的基本结构一个VHDL设计系统是由若干个VHDL文件构成,每个文件主要包含如下三个部分中的一个或全部,分别是程序
18、包(Package)、实体(Entity)和结构体(Architecture)。已在设计实体中定义过的数据类型、子程序或数据对象对于其他设计实体是不可用的,或者说是不可见的。为了使已定义的常数、数据类型、元件调用说明以及子程序等能被更多其他设计实体方便地访问和共享,可以将它们收集在一起作为一个程序包。多个程序包可以并入一个VHDL库中,使之适用于更一般的访问和调用范围。程序包主要是用来定义结构体和实体中要用到的数据类型、元件和子程序等。VHDL实体作为一个设计实体(独立的电路功能结构)的组成部分,其功能是对这个设计实体与外部电路进行接口描述,即定义了一个设计模块的外部输入和输出端口。实体是设计
19、实体的表层设计单元,实体说明部分规定了设计单元的输入输出接口信号或引脚,描述了一个元件或一个模块与其他部分之间的连接关系,它是设计实体对外的一个通信界面。一个设计可以包含有多个实体,只有处于最高层的实体称为顶层实体,EDA工具的编译和仿真都是对顶层实体进行的。处于低层的各个实体可作为单个元件,被高层实体调用。 结构体是实体所定义的设计实体中的一个组成部分。结构体描述设计实体的内部结构和外部设计实体端口间的逻辑关系。结构体通常包括对数据类型、元件等元素的说明部分、描述实体逻辑行为的功能描述语句和外部元件端口的连接。每个实体可以有多个结构体,每个结构体对应着实体的不同结构和算法实现方案,其间的各结
20、构体的地位是同等(王志功,等,2010)。 2.2.4 VHDL的优点与其他硬件描述语言相比,使用VHDL进行工程设计有以下优点:VHDL支持自上向下和基于库的设计方法,而且支持同步电路、异步电路、现场可编程门阵列器件(FPGA)以及其他随即电路的设计。VHDL具有比其他硬件描述语言更强大的行为描述能力,基于抽象的行为描述风格避开了具体的器件结构,使设计人员能从逻辑行为上描述和设计大规模电子系统。目前流行的EDA工具和VHDL综合器大都能实现行为描述到RTL描述的转换。VHDL具有强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采
21、用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。VHDL对设计的描述具有相对独立性。设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。设计者可以不懂硬件的结构,也可以不管最终设计的目的器件是什么,而进行独立的设计。VHDL支持广泛、易于修改。由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前
22、大多数EDA工具都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。VHDL具有强大的移植能力,易于共享和调用。VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行调用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。由于VHDL具有类属描述语句和子程序调
23、用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。VHDL语句的行为描述能力和程序结构,也决定它对具有支持大规模设计的分解和已有设计的再利用功能。VHDL具有丰富的仿真语句和库函数,使得门电路级的功能仿真、检查成为可能,可随时对系统进行仿真模拟,使设计者在任何大系统的设计早期就能对整个工程设计的结构和功能的可行性做出判断。VHDL作为一种IEEE的工业标准,使VHDL的设计成果便于重复利用和交流。这就更进一步推动了VHDL语言的推广和完善。另外,由于其语法严格,给阅读和使用带来极大的便利。2.3 实验工具MAX+plus2.3.1 MAX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新-基于FPGA的8位硬件乘法器设计 1 最新 基于 FPGA 硬件 乘法器 设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内