基于fpga的算术逻辑单元设计

基于fpga的算术逻辑单元设计

ID:26004287

大小:50.00 KB

页数:4页

时间:2018-11-24

基于fpga的算术逻辑单元设计_第1页
基于fpga的算术逻辑单元设计_第2页
基于fpga的算术逻辑单元设计_第3页
基于fpga的算术逻辑单元设计_第4页
资源描述:

《基于fpga的算术逻辑单元设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于FPGA的算术逻辑单元设计

2、第1 基于FPGA的算术逻辑单元设计宋泽明,陈文楷(北京工业大学电子信息与控制工程学院 北京 100022) 摘 要:介绍了一种使用可编程逻辑器件FPGA和VHDL语言进行ALU设计的方法。并在加法器模块的设计中使用了超前进位的方法。使得所设计的ALU具有很好的稳定性和较高的速度。关键词:FPGAVHDL;算术逻辑单元;超前进位1 引 言随着可编程逻辑器件的发展,FPGA的应用已经越来越广泛,且用可编程逻辑器件代替传统的普通集成电路已成为一种发展的趋势。可编程逻辑器件FPGA以其高集成度、高速度、开

3、发周期短、稳定性好而受到了人们的青睐,并得到了广泛的应用。由于算术逻辑单元(ALU)在运算中对系统性能要求很高,而采用中小规模的集成电路设计的系统既庞大又存在稳定性的问题。因此,用可编程逻辑器件FPGA来实现算术逻辑单元是一个很好的选择。而硬件描述语言(HDL)是使用可编程逻辑器件的不可缺少的工具,所以本文选用VHDL语言。并以设计4位算术逻辑单元为例,来实现算术逻辑单元的功能,又通过纯组合逻辑电路和超级进位方法的应用,使得在高速可编程逻辑器件FPGA的基础上,实现了算术逻辑单元在速度上的进一步优化。2 电路设计本算术逻辑运算单元

4、可实现与、或、非、异或、逻辑左移、逻辑右移的逻辑运算和加、减、乘、除的算术运算等10种功能,也可以根据需要进行功能的增减,这也体现出了用VHDL语言设计硬件系统的灵活性。2.1 设计思想该ALU单元采用模块化设计。共划分了4个模块:控制与逻辑运算电路模块(Control)、加减法电路模块(Addsub)、乘法电路模块(Mul)和除法电路模块(div)。总体构成如图1所示。ALU模块图如图2所示。图中A,B为2个4位的输入;mand为功能选择输入;CIN为加减法的进位和借位输入;COUT为加减法的进位和借位的输出;Resulta和R

5、esultb为2个4位的输出,乘法时Resultb存放积的高4位,Resulta存放积的低4位,除法时Resulta存放商,Resultb存放余数。2.2 各模块分析(1)控制模块(Control) 该模块对系统的工作进行总体控制。根据对mand输入的信号分析来决定ALU执行的功能,并进行加减法模块、乘法模块、除法模块的选择和输出的控制。在程序中使用3个CASE语句来实现。第1个CASE语句控制逻辑运算的实现,第2个CASE语句控制加减法模块、乘法模块、除法模块的选择,第3个CASE语句控制输出的选择。(2)加减法模块(Addsu

6、b) 本设计中减法运算通过加补码的方式由加法器实现,这样可以简化系统前进位(有关超前进位的内容可参阅文献[1]的应用,使得加法器速度受进位限制的问题得到解决。源程序如下:(3)乘法模块和除法模块(Mul,Div) 乘法、除法模块也采用了纯组合逻辑电路的设计。比时序逻辑构成的乘除法器在速度上具有优势。编程原理采用通过逐位相加减的方法来实现。乘法模块源程序如下:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。