1、导言
跟着可编程逻辑器材的开展,FPGA的运用现已越来越广泛,且用可编程逻辑器材替代传统的一般集成电路已成为一种开展的趋势。可编程逻辑器材FPGA以其高集成度、高速度、开发周期短、稳定性好而受到了人们的喜爱,并得到了广泛的运用。因为算术逻辑单元(ALU)在运算中对体系功用要求很高,而选用中小规划的集成电路规划的体系既巨大又存在稳定性的问题。因而,用可编程逻辑器材FPGA来完成算术逻辑单元是一个很好的挑选。而硬件描绘言语(HDL)是运用可编程逻辑器材的不行短少的东西,所以本文选用VHDL言语。并以规划4位算术逻辑单元为例,来完成算术逻辑单元的功用,又经过纯组合逻辑电路和超级进位办法的运用,使得在高速可编程逻辑器材FPGA的基础上,完成了算术逻辑单元在速度上的进一步优化。
2、电路规划
本算术逻辑运算单元可完成与、或、非、异或、逻辑左移、逻辑右移的逻辑运算和加、减、乘、除的算术运算等10种功用,也能够依据需要进行功用的增
减,这也表现出了用VHDL言语规划硬件体系的灵活性。
2.1规划思维
该ALU单元选用模块化规划。共划分了4个模块:操控与逻辑运算电路模块(Control)、加减法电路模块(Addsub)、乘法电路模块(Mul)和除法电路模块(div)。整体构成如图1所示。
ALU模块图如图2所示。图中A,B为2个4位的输入;Command为功用挑选输入;CIN为加减法的进位和借位输入;COUT为加减法的进位和借位的输出;Resulta和Resultb为2个4位的输出,乘法时Resultb寄存积的高4位,Resulta寄存积的低4位,除法时Resulta寄存商,Resultb寄存余数。
2.2各模块剖析
(1)操控模块(Control)该模块对体系的作业进行整体操控。依据对Command输入的信号剖析来决议ALU履行的功用,并进行加减法模块、乘法模块、除法模块的挑选和输出的操控。在程序中运用3个CASE句子来完成。第1个CASE句子操控逻辑运算的完成,第2个CASE句子操控加减法模块、乘法模块、除法模块的挑选,第3个CASE句子操控输出的挑选。
(2)加减法模块(Addsub)本规划中减法运算经过加补码的方法由加法器完成,这样能够简化体系前进位(有关超前进位的内容可参看文献[1]的运用,使得加法器速度受进位约束的问题得到解决。
(3)乘法模块和除法模块(Mul,Div)乘法、除法模块也选用了纯组合逻辑电路的规划。比时序逻辑构成的乘除法器在速度上具有优势。编程原理选用经过逐位相加减的办法来完成。乘法模块源程序如下:
2.3体系仿真
最终选用VHDL言语中的例化句子对上述各模块进行整合,并对其进行仿真,得到了预期的作用。完成了ALU的各项功用。仿真图如图3所示。
3、结语
跟着EDA技能的开展,可编程逻辑器材FPGA和VHDL言语在硬件电路规划中,越来越显示出其优越性,本规划便是一个很好的验证。经过实践的运用和日常的试验中的运用,该ALU体系表现出了杰出的稳定性,在速度上也能很好的满意体系的要求。
责任编辑:gt