基于FPGA的8位硬件乘法器设计精品资料.doc
《基于FPGA的8位硬件乘法器设计精品资料.doc》由会员分享,可在线阅读,更多相关《基于FPGA的8位硬件乘法器设计精品资料.doc(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 本科毕业设计基于FPGA的8位硬件乘法器设计摘 要VHDL(VHSIC Hardware Description Language)是当今最流行的硬件描述语言之一,能够对最复杂的芯片和最完整的电子系统进行描述。以硬件描述语言作为设计输入,经过简单的综合与布局,快速烧录至FPGA(Field Programmable Gate Array)上进行测试,是现代IC设计验证的技术主流。 乘法器是处理器进行科学计算和数字信号处理的基本硬件结构,是现代微处理器中的重要部件。乘法器完成一次乘法操作的周期基本上决定了微处理器的主频。本文基于FPGA,采用VHDL语言,结合MAX+plus这个强大的软件平台
2、设计了8位二进制乘法器,并对其进行符号扩展,使其可以统一处理8位带符号数和无符号数。高速乘法器设计通常分为三个关键步骤:部分积产生、部分积累加和最终结果获得。本文对部分积产生过程采用改进Booth算法,有效减少部分积加法项;为了统一带符号和无符号数,对部分积进行符号扩展;而对部分积的累加则采取3-2压缩器和4-2压缩器进行压缩;最终结果的获得则以一个根据部分积累加结果到达时间的不同进行延迟优化的选择进位加法器将累加结果和累加进位相加而得。 关键词:乘法器 改进Booth算法 压缩器 选择进位加法器The Circuit Design of 8-bit Hardware Multiplier B
3、ased 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 electronic systems.The mult
4、iplier 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 the MAX+plus software platfo
5、rm. 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 generation process uses the mod
6、ified 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 Booth algorithm compressor s
7、elect carry adder 目 录1 前言11.1 乘法器的研究背景和意义11.2 乘法器的研究发展状况12 总体方案确定22.1 乘法器设计方案22.2 硬件描述语言VHDL32.2.1 硬件描述语言32.2.2 VHDL语言简介32.2.3 VHDL的基本结构42.2.4 VHDL的优点42.3 实验工具MAX+plus52.3.1 MAX+plus简介52.3.2 MAX+plus的设计流程62.3.3 MAX+plus的特点62.4 现场可编辑门阵列(FPGA)72.4.1 FPGA简介72.4.2 FPGA的基本结构72.4.3 FPGA的特点83 理论分析及设计93.1 乘
8、法器的数据格式93.1.1 二进制的表示93.1.2 无符号数的运算93.1.3 带符号数的运算93.1.4 带符号数的符号扩展表示93.2 乘法器算法103.2.1 移位相加算法103.2.2 Booth算法113.2.3 改进型Booth算法123.3 加法器153.3.1 半加器153.3.2 全加器163.3.3 串行进位加法器163.3.4 超前进位加法器173.3.5 选择进位加法器183.4 压缩器194 测试与试验分析224.1 乘法器的总体结构224.2 乘法器各个模块的仿真234.2.1 Booth编码器234.2.2 Booth译码器234.2.3 部分积产生电路244.
9、2.4 压缩器254.2.5 加法器264.2.6 顶层文件275 结论28参 考 文 献29附 录30致 谢33毕业设计成绩评定表1 前言1.1 乘法器的研究背景和意义微电子技术的迅猛发展,计算机技术的不断进步,带动了集成电路工艺的不断增进,数字芯片的集成度不断提高。在经历了小规模、中规模、大规模的发展过程之后,目前集成电路已经进入超大规模和甚大规模集成电路阶段,SOC(System on Chip)时代也已经到来。数字芯片的发展一直遵循着英特尔公司的主要创始人戈登摩尔(Gordon Moore)提出的摩尔定律:芯片的集成度每三年翻两番,特征尺寸缩小倍。由于可使用的芯片面积增加,为了进一步提
10、高运算性能,目前越来越多的处理器包含多个运算单元,算术运算单元已经成为处理器结构中的一个重要组成部分。而乘法器又是运算器不可或缺的重要组成单元,所以对乘法器的研究具有一定的意义。在高速数字信号处理器、微处理器等各类芯片中,乘法器是必不可少的算术逻辑单元。乘法器往往处于关键延时路径中,它对系统的运算速度有很大影响。为实现流水线的正常工作,乘法运算往往需要在一个时钟周期内完成,另一方面,随着便携式可移动数字产品市场和芯片集成度的不断增加,要求系统在保持高速的同时,具有较低的功耗,才能保持设备的长时间可靠工作。因此,高速低功耗的乘法器的设计是运算器系统设计中的关键。目前在乘法器的实现中,制约其性能提
11、高的因素主要有以下几个方面:部分积生成速度与面积的冲突、部分积的相加延迟过大、版图实现的规则性和紧凑性难以提高。乘法器的设计思想,就是在乘法器设计的结构复杂度,以及乘法器最终的运算速度,电路完成后的占用芯片的面积这几个因素之间进行均衡。1.2 乘法器的研究发展状况迄今为止,关于乘法器实现研究的著作和论文已经有很多。乘法器作为处理器最主要的模块之一,在大量文献中均有研究。过去的十年,修正Booth算法进一步扩展了 Booth编码算法的空间,以传输管逻辑、多路选择器和动态技术为基础的各种电路实现方法持续刷新着高性能乘法器的实现记录。与此同时,与物理实现紧密相关的乘法器拓扑结构的研究也硕果累累。乘法
12、器研究上的里程碑应该从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
13、2的时间内完成。进一步扩展到基16、基32、乃至基256的Booth算法也被提出和研究。拓扑结构方面,进位保留加法器被广泛使用,双阵列、高阶阵列用于提高阵列拓扑结构的速度。Shen和Weinberger提出了4:2压缩器用于构成较Wallace树更规整的二进制树,延迟平衡树Zuras和McAllister首先提出,倒阶梯树也可用于改善树型结构的规整性。乘法器算法方面已经日趋完善。与此相应的,可用于乘法器最后求和运算的各种加法器结构层出不穷。在电路实现方面,1981年,Weinberger提出了具有更高压缩比和对称性的4:2压缩单元以代替全加器和半加器完成部分积的求和工作。此举不仅降低了布局困难
14、,而且可以缩短关键路径,平衡端口延迟,极大的提高了运算速度。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的两级流
15、水线的54位乘法器。2003年,Cho基于标准单元库实现了一个3.25ns的54位乘法器,并提出了改进的进位选择加法器结构。除了提高乘法器的速度以外,各种结构的编码单元,改进的规整的树型压缩结构,以及乘法器的低功耗设计等也得到了广泛而深入的研究。2 总体方案确定2.1 乘法器设计方案本文采用了一种改进Booth编码算法,实现8位带/无符号并行乘法器,并选择3-2压缩器和4-2压缩器组成的部分积累加器及选择进位加法器为最终加法器结构实现乘法器的设计(王定,等,2007)。高速乘法器的关键就是要提高并行计算量,减少后续的计算量。Booth编码算法是广泛采用的算法,它可以减少一半的乘法乘积项,大大提
16、高运算速度。而部分积的相加采用3-2压缩器和4-2压缩器,它可以将乘法的时间复杂度降低。最终加法器则用选择进位加法器实现。算法运算可分为3部分来实现:Booth编码和译码;压缩器;最终加法器(李磊,等,2008)。 2.2 硬件描述语言VHDL2.2.1 硬件描述语言 所谓硬件描述语言,就是利用该语言可以描述硬件电路的逻辑功能、电路结构和连接形式。硬件描述语言是一种用于设计硬件电子系统的计算机语言,适合大规模电路系统的设计。例如一个32位的加法器,利用传统的图形输入软件需要输入500至1000个门,而利用VHDL语言只需要书写一行代码A=B+C即可。而且VHDL语言可读性强,易于发现错误和修改
17、。硬件描述语言可以在不同的层次上描述数字系统。比如,描述电阻、晶体管及其之间相互连线关系的,称为开关级描述;描述基本逻辑门、触发器及其之间相互连线关系的,称为门级描述;在更高层面上描述寄存器及其之间数据传递的,称为寄存器传输级描述。目前得到广泛认可的硬件描述语言有VHDL 和 Verilog两种。2.2.2 VHDL语言简介 VHDL的英文全名是 VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,于1983年由美国国防部正式推出,1986年VHDL被建议作为IEEE 标准,经过多次更改后,直到1987
18、年12月,它才被IEEE接纳为硬件描述语言标准(IEEE STD 1076),该标准经过不断完善和更新,最近的标准为 IEEE 1164标准,己经被IC生产厂家和 EDA工具提供商所接受。当前几乎所有的 EDA软件,比如SYNOPSYS,MENTOR GRAPHICS,COMPASS,CADANCE等都支持该项标准。VHDL已经成为硬件描述语言的业界标准之一。 VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL
19、来完成。VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或者称作设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或者称可视部分,及端口)和内部(或者称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。2.2.3 VHDL的基本结构一个VHDL设计系统是由若干个VHDL文件构成,每个文件主要
20、包含如下三个部分中的一个或全部,分别是程序包(Package)、实体(Entity)和结构体(Architecture)。已在设计实体中定义过的数据类型、子程序或数据对象对于其他设计实体是不可用的,或者说是不可见的。为了使已定义的常数、数据类型、元件调用说明以及子程序等能被更多其他设计实体方便地访问和共享,可以将它们收集在一起作为一个程序包。多个程序包可以并入一个VHDL库中,使之适用于更一般的访问和调用范围。程序包主要是用来定义结构体和实体中要用到的数据类型、元件和子程序等。VHDL实体作为一个设计实体(独立的电路功能结构)的组成部分,其功能是对这个设计实体与外部电路进行接口描述,即定义了一
21、个设计模块的外部输入和输出端口。实体是设计实体的表层设计单元,实体说明部分规定了设计单元的输入输出接口信号或引脚,描述了一个元件或一个模块与其他部分之间的连接关系,它是设计实体对外的一个通信界面。一个设计可以包含有多个实体,只有处于最高层的实体称为顶层实体,EDA工具的编译和仿真都是对顶层实体进行的。处于低层的各个实体可作为单个元件,被高层实体调用。 结构体是实体所定义的设计实体中的一个组成部分。结构体描述设计实体的内部结构和外部设计实体端口间的逻辑关系。结构体通常包括对数据类型、元件等元素的说明部分、描述实体逻辑行为的功能描述语句和外部元件端口的连接。每个实体可以有多个结构体,每个结构体对应
22、着实体的不同结构和算法实现方案,其间的各结构体的地位是同等(王志功,等,2010)。 2.2.4 VHDL的优点与其他硬件描述语言相比,使用VHDL进行工程设计有以下优点:VHDL支持自上向下和基于库的设计方法,而且支持同步电路、异步电路、现场可编程门阵列器件(FPGA)以及其他随即电路的设计。VHDL具有比其他硬件描述语言更强大的行为描述能力,基于抽象的行为描述风格避开了具体的器件结构,使设计人员能从逻辑行为上描述和设计大规模电子系统。目前流行的EDA工具和VHDL综合器大都能实现行为描述到RTL描述的转换。VHDL具有强大的系统硬件描述能力。VHDL具有多层次的设计描述功能,既可以描述系统
23、级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。VHDL对设计的描述具有相对独立性。设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。设计者可以不懂硬件的结构,也可以不管最终设计的目的器件是什么,而进行独立的设计。VHDL支持广泛、易于修改。由于VHDL已经
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于FPGA的8位硬件乘法器设计 精品资料 基于 FPGA 硬件 乘法器 设计 精品 资料
限制150内