您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 利用VHDL设计乘法器.pdf
在计算机结构里加,减,乘,除是常被用到的运算,本文提出以非常高速积体电路硬体描述语言(VHDL)来描述硬体,说明如何将两个运算元作相乘的运算。我们首先以无号数整数做乘法运算来说明其原理,设计其电路结构。其实在VHDL程式中,我们更可以载入STD_LOGIC_ARITH与STD_LOGIC_UNSIGNED元件盒之后,直接进行乘法运算,既简单又容易扩充。最后,我们将以4-bitX4-bit的例子来做电路描述、电路合成、电路模拟并以七段显示器将其结果显示出来。关键字:非常高速积体电路硬体描述语言、电路描述、电路合成、电路模拟AbstractWehaveknownoperationthatperformaddition,subtraction,multiplication,anddivision.InthispaperwearepresentedprimarilytodescribehardwareusingbyVHDL.Wecanexplainhowmultiplicationmaybeperformedfortwooperand.Multiplicationofunsignednumbersillustratesthemainissuesinvolvedinthedesignofmultipliercircuit.Infact,aftertheSTD_LOGIC_ARITHandSTD_LOGIC_UNSIGNEDpackageswereaddedtotheVHDLprogram,itbecamenotonlysimplebutalsoeasytoextended.Next,considera4x4exampletocircuitdescription,circuitsynthesis,andcircuitsimulationbyusingVHDL.Finally,thisapproachcanalsobedisplayedby7-segment.Keyword:VHDL,circuitdescription,circuitsynthesis,circuitsimulation利用VHDL设计乘法器一.简介VHDL是VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage的英文缩写。是一种快速的电路设计工具,功能涵盖了电路描述、电路合成、电路模拟等三大电路设计工作。VHDL原来是由美国国防部于70年代开始研究发展的电路设计工具,并于1987年成为IEEE的一种标准语言。原先发展的目的是为了将电子电路的设计和其内部的含意,用文件的方式储存起来,以便其他人能够轻易地了解电路的设计意义。这至少意味着两种重大的改变:●设计电路可以透过文字描述的方式,完成设计工作。●电子电路也可以当作文件一样来储存。从VHDL每年能够以超过30%的速度快速成长便可以知道VHDL电路设计语言不但功能强大,而且能够满足各个设计阶层的设计工作,从ASIC设计到PCB系统设计,都能够轻易地达成设计工作者的需求。在产品更换快速的今天,VHDL可以说是符合市场需求,VHDL有以下之优点:●功能强大。●设计灵活。●有各种不同的描述风格。●可流通性与可携性。本文将先就无号数整数乘法运算,以四位元乘四位元作解说。接着也可作有号数两运算元之相乘;其次,载入STD_LOGIC_ARITH与TD_LOGIC_UNSIGNED元件盒之后,直接进行乘法运算;并以七段显示器将其结果显示出来。二.乘法器基本原理兩个二进位数相乘如十进位数相乘一样。首先由右至左逐次检查乘数位元是否为1,如为1,将被乘数做适当地移位至适当的位置;如为0,将0放置适当位置。其次将所有移位之被乘数求其和即为所得之积,此积应为八位元。利用多重加法器来完成。即每一步中一个四位元加法器可用来计算其新的部分乘积。于计算进行时最不重要位元在连续加法中,并不受到影响;因此他们可直接放到最后之乘积中。三﹑利用VHDL设计4X4乘法器LIBRARYIEEE;USEIEEE.std_logic_1164.all;ENTITYONE_BIT_ADDERisPORT(A:inSTD_LOGIC;B:inSTD_LOGIC;C:inSTD_LOGIC;S:outSTD_LOGIC;C:outSTD_LOGIC);ENDONE_BIT_ADDER;ARCHITECTUREONE_BIT_ADDERofONE_BIT_ADDERisBEGINS=AXORBXORC_in;C_out=(AandB)or(C_inand(AXORB));ENDONE_BIT_ADDER;LIBRARYIEEE;USEIEEE.std_logic_1164.all;ENTITYmultiisPORT(A:inSTD_LOGIC_VECTOR(3downto0);B:inSTD_LOGIC_VECTOR(3downto0);data_out:outSTD_LOGIC_VECTOR(6downto0));ENDmulti;ARCHITECTUREmulti_archofmultiisSIGNALA_MULT_B0:STD_LOGIC_VECTOR(2downto0);SIGNALA_MULT_B1:STD_LOGIC_VECTOR(2downto0);SIGNALA_MULT_B2:STD_LOGIC_VECTOR(2downto0);SIGNALS_TEMP1:STD_LOGIC_VECTOR(1downto0);SIGNALS_TEMP2:STD_LOGIC_VECTOR(1downto0);SIGNALC_TEMP:STD_LOGIC_VECTOR(6downto0);SIGNALC0_out_B0,C1_out_B0,C2_out_B0:STD_LOGIC;SIGNALC0_out_B1,C1_out_B1,C2_out_B1:STD_LOGIC;SIGNALZERO:STD_LOGIC;COMPONENTone_bit_adderPORT(A:inSTD_LOGIC;B:inSTD_LOGIC;C_in:inSTD_LOGIC;S:outSTD_LOGIC;C_out:outSTD_LOGIC);ENDCOMPONENT;BEGINU_0_0:one_bit_adderportmap(A=A_MULT_B0(1),B=A_MULT_B1(0),C_in=ZERO,S=C_TEMP(1),C_out=C0_out_B0);U_0_1:one_bit_adderportmap(A=A_MULT_B0(2),B=A_MULT_B1(1),C_in=C0_out_B0,S=S_TEMP1(0),C_out=C1_out_B0);U_0_2:one_bit_adderportmap(A=ZERO,B=A_MULT_B1(2),C_in=C1_out_B0,S=S_TEMP1(1),C_out=C2_out_B0);U_1_0:one_bit_adderportmap(A=A_MULT_B2(0),B=S_TEMP1(0),C_in=ZERO,S=C_TEMP(2),C_out=C0_out_B1);U_1_1:one_bit_adderportmap(A=A_MULT_B2(1),B=S_TEMP1(1),C_in=C0_out_B1,S=S_TEMP2(0),C_out=C1_out_B1);U_1_2:one_bit_adderportmap(A=A_MULT_B2(2),B=C2_out_B0,C_in=C1_out_B1,S=S_TEMP2(1),C_out=C2_out_B1);A_MULT_B0(0)=A(0)andB(0);A_MULT_B0(1)=A(1)andB(0);A_MULT_B0(2)=A(2)andB(0);A_MULT_B1(0)=A(0)andB(1);A_MULT_B1(1)=A(1)andB(1);A_MULT_B1(2)=A(2)andB(1);A_MULT_B2(0)=A(0)andB(2);A_MULT_B2(1)=A(1)andB(2);A_MULT_B2(2)=A(2)andB(2);ZERO='0';C_TEMP(0)=A_MULT_B0(0);C_TEMP(4downto3)=S_TEMP2(1downto0);C_TEMP(5)=C2_out_B1;C_TEMP(6)=A(3)xorB(3);data_out=C_TEMP;ENDmulti_arch;三.4X4乘法器仿真图四.结论VHDL对于电路的设计可以从很高阶的方式写起,也可从低阶的方式,像是电路图(即schematics),也可以完成我们所需的工作,但电路太复杂时就不适宜。在位元数少之两运算元相乘的乘法器,先写出其布林方程式,其次利用VHDL程式写法使用基本逻辑运算子将布林方程式描述出来;也可用类似徒手相乘之乘法器结构利用VHDL程式写法如图4及图5。但位元数增加时两运算元相乘的乘法器即显得更複杂,可用载入STD_LOGIC_ARITH与STD_LOGIC_UNSIGNED元件盒之后,直接进行乘法运算,所得答桉是一样的。由此可看出其为既清爽又容易扩充。五.参考文献1.黄孝祖,郑光钦,“CPLD与VHDL设计实务,”全威图书股份有限公司,2001.2.胡振华,“VHDL与FPGA设计,”全华科技图书股份有限公司,2001.3.卢毅,赖杰,“VHDL与数位电路设计,”文魁资讯股份有限公司,2002.4.萧如宣,“VHDL数位电路设计,”儒林图书股份有限公司,2002.DSP0610423:
本文标题:利用VHDL设计乘法器.pdf
链接地址:https://www.777doc.com/doc-3832967 .html