当前位置:首页 > 临时分类 > 移位相加8位硬件乘法器电路设计
南昌航空大学实验报告年月日课程名称:EDA技术实验课程名称:移位相加8位硬件乘法器电路设计班级:_09083114___姓名:康惠洋同组人:___________________________指导老师评定:___________________________签名:________________________一、实验目的1、学习移位相加8位硬件乘法器电路设计;2、进一步提高学生应用EDA技术进行项目设计的能力。二、实验原理纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器;基于PLD器件外接ROM九九表的乘法器则无法构成单片系统,也不实用。本实验由8位加法器构成的以时序逻辑方式设计的8位乘法器,具有一定的实用价值。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。原理框图如图5-1所示图5-1原理框图三、实验内容移位相加8位硬件乘法器电路原理图如图5-2所示;系统由8位右移寄存器(SREG8B)、8位加法器(ADDER8)、选通与门模块(ANDARITH)和16位锁存器(REG16)组成。START信号的上跳沿及其高电平有两个功能,即16位寄存器清零和被乘数A[7..0]向移位寄存器SREG8B加载;它的低电平则作为乘法使能信号。CLK为乘法时钟信号。当被乘数被加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在前,由低位至高位逐位移出。当为1时,与门ANDARITH打开,8位乘数B[7..0]在同一节拍进入8位加法器,与上一次锁存在16位锁存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿被锁进此锁存器。而当被乘数的移出位为0时,与门全零输出。如此往复,直至8个时钟脉冲后,乘法运算过程中止。此时REG16B的输出值即为最后的乘积。此乘法器的优点是节省芯片资源,它的核心元件只是一个8位加法器,其运算速度取决于输入的时钟频率。图5-2移位相加8位硬件乘法器电路原理图1、8位右移寄存器模块的设计:输入为CLK,LOAD和DIN,输出为QB;其流程图如图5-3所示图5-38位右移寄存器流程图VUDL语言描述为;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSREG8BISPORT(CLK:INSTD_LOGIC;LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);QB:OUTSTD_LOGIC);ENDSREG8B;ARCHITECTUREbehavOFSREG8BISSIGNALREG8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(CLK,LOAD)BEGINIFLOAD='1'THENREG8=DIN;ELSIFCLK'EVENTANDCLK='1'THENREG8(6DOWNTO0)=REG8(7DOWNTO1);ENDIF;ENDPROCESS;QB=REG8(0);ENDbehav;8位右移寄存器波形仿真图如图5-4所示;图5-48位右移寄存器波形仿真图2、8位加法寄存器模块的设计:输入为B,A,输出为S,模块的主要功能是实现两个8位数的加法运算;其流程图如图5-5所示图5-58位加法寄存器流程图VHDL语言描述为:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYADDER8ISPORT(B,A:INSTD_LOGIC_VECTOR(7DOWNTO0);S:OUTSTD_LOGIC_VECTOR(8DOWNTO0));ENDADDER8;ARCHITECTUREbehavOFADDER8ISBEGINS='0'&A+B;ENDbehav;8位加法器波形仿真图如图5-6所示;图5-68位加法器波形仿真图3、选通与门模块设计:输入为ABIN和DIN,输出为DOUT流程图如图5-7所示:图5-7选通与门流程图VHDL语言描述为:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYANDARITHISPORT(ABIN:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDANDARITH;ARCHITECTUREbehavOFANDARITHISBEGINPROCESS(ABIN,DIN)BEGINFORIIN0TO7LOOPDOUT(I)=DIN(I)ANDABIN;ENDLOOP;ENDPROCESS;ENDbehav;波形仿真图为如图5-8所示:图5-8选通与门波形仿真图4、16位锁存器设计,输入为CLK,CLR和D,输出为Q流程图如图5-9所示:图5-916位锁存器流程图VHDL语言描述为:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYREG16BISPORT(CLK,CLR:INSTD_LOGIC;D:INSTD_LOGIC_VECTOR(8DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDREG16B;ARCHITECTUREbehavOFREG16BISSIGNALR16S:STD_LOGIC_VECTOR(15DOWNTO0);BEGINPROCESS(CLK,CLR)BEGINIFCLR='1'THENR16S=(OTHERS='0');ELSIFCLK'EVENTANDCLK='1'THENR16S(6DOWNTO0)=R16S(7DOWNTO1);R16S(15DOWNTO7)=D;ENDIF;ENDPROCESS;Q=R16S;ENDbehav;波形仿真图如图5-10所示:图5-1016位锁存器波形仿真图5、移位相加8位硬件乘法器仿真波形如图5-11所示图5-118位硬件乘法器时序仿真图四、实验小结通过本次实验,学会了移位相加8位硬件乘法器电路的设计,同时学会了器内部模块的设计,进一步提高了自己的设计能力。
本文标题:移位相加8位硬件乘法器电路设计
链接地址:https://www.777doc.com/doc-5253894 .html