- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA 的快速加法器的设计与实现
1 2
赵亚威 吴海波
(1.沈阳理工大学,辽宁 沈阳 110045;
2.东北大学,辽宁 沈阳 110004)
E-mail: hb_0427@126.com
摘要:加法器是算术运算的基本单元,可以有多种实现结构,采
用不同的结构实现其耗用的资源和运算的速度也各不相同。本文研究
了基于FPGA 的常用加法器的结构及其设计方法,对各自性能加以分
析比较,在此基础上采用流水线结构设计了一个 8bit 的加法器。并
在Xilinx 公司的ISE 5.2i 软件环境下, 采用VHDL 和Verilog HDL
硬件描述语言进行了设计实现并使用 Modelsim 进行仿真验证,在此
基础上对其性能进行了比较分析。实验结果表明流水线加法器的速度
高于其它结构实现的加法器。
关键词:加法器、进位、FPGA、Verilog HDL、流水线
1. 引言
算术逻辑单元(ALU) 不仅能完成算术运算也能完成逻辑运算,是微处理器芯片中的一个
十分重要的部件[3]。但是所有基本算术运算(加、减、乘、除)最终都可归结为加法运算,
所以加法运算的实现显得尤为重要。对于多位加法操作来说,因为存在进位问题,使得某一位
计算结果的得出与所有低于它的位都相关。为了减少进位传输所耗费的时间,提高计算速度,
人们设计了多种类型的加法器, 提出了很多实现加法器的设计方法,如行波进位加法器、快
速行波进位加法器、超前进位加法器等。以上提到的都是并行加法器,此外还有串行加法器,
其具有占用资源少、设计灵活等优点。
2. 常用加法器设计方法的分析比较
并行加法器中全加器的位数与操作数的位数相同,可同时对操作数的各位相加。影响运
算速度的主要是传递进位信号的逻辑线路(即进位链)。接下来就上面提到的几种并行加法器
加以分析比较。
2.1 行波进位加法器
N位行波进位加法器是将N个一位全加器串联进行两个N位数的相加,进位是采用串行进
[3]
位的方法来实现的,即本级的C 作为下一级的C 参与下一位的加法运算 。这种加法器结构
out in
简单,但速度较慢,从其逻辑表达式: Sum = A ⊕B ⊕C ,C =A B + C (A ⊕B )可以看
i i i i i + 1 i i i i i
- 1 -
出,串行进位链的总延迟时间与字长成正比,字长越长,延迟时间就越长。假设每一级全加器
的延迟时间为dt ,则N位加法器的进位总延迟为Ndt。所以高性能设计中一般不用这种结构的
加法器。
2.2 快速行波进位加法器
从Xilinx公司的Virtex-E器件的结构可以发现,虽然行波进位加法器由于速度太慢一般
不被IC设计采用,但是在这种可编程逻辑器件上,行波进位加法器由于结构最为工整,占用
资源少,且速度能够满足较多应用的需求,是最适宜实现的结构形式[4]。每一个Virtex-E的
CLB包含两个SLICE,每个SLICE由两个LC构成,在每个SLICE中都有专用进位逻辑,从而为高
速算术功能提供快速的算术进位能力[2]。算术逻辑中包括一个异或门,使每个LC单元可以实
现一个一位全加器。与传统的全加器相比,它在结构上有一些适当的调整,这样一方面缩短
了进位传递的时间 (约为组合逻辑输出的10%),另一方面又可以在低级进位到达时,更快
速地输出该位的和运算结果。此外,在FPGA内部同一列的两个SLICE间,还专门为
文档评论(0)