图第6章仍D4设计应用实例 628位乘法器的设计 1.设计思路 纯组合逻辑构成的乘法器虽然工作速度比较快,但占用硬件 资源多,难以实现宽位乘法器,而基于PLD器件外接ROM九九表 的乘法器则无法构成单片系统,也不实用。这里介绍由8位加法 器构成的以时序逻辑方式设计的8位乘法器,此乘法器具有一定 的实用价值。其乘法原理是:乘法通过逐项位移相加原理来实现, 从被乘数的最低位开始,若为1,则乘数左移后与上一次和相加; 若为0,左移后以全零相加,直至被乘数的最高位。从图62的逻 辑图上可以清楚地看出此乘法器的工作原理
第6章 VHDL设计应用实例 6.2 8位乘法器的设计 1.设计思路 纯组合逻辑构成的乘法器虽然工作速度比较快,但占用硬件 资源多,难以实现宽位乘法器,而基于PLD器件外接ROM九九表 的乘法器则无法构成单片系统,也不实用。这里介绍由8位加法 器构成的以时序逻辑方式设计的8位乘法器,此乘法器具有一定 的实用价值。其乘法原理是:乘法通过逐项位移相加原理来实现, 从被乘数的最低位开始,若为1,则乘数左移后与上一次和相加; 若为0,左移后以全零相加,直至被乘数的最高位。从图6.2的逻 辑图上可以清楚地看出此乘法器的工作原理
图第6章仍D4设计应用实例 ARICTL CLK FRIEND FRIEND GND START UI CL KOUT ADDer8B SI S6[7.0] START RSTALL CIN S7[158] S[7.0 S6(8) A[7.0] U4 COUT S5[7.0] B[70] SREG 8B A[70] LOAD U2 QB REGI6B DIN[7.0] CLK S7[7.0] U5 Q[5.01 [8.0] S7[15.8] DB80] ANDARITH S5[7.0] B[7.0] ABIN DOUT701 DIN[7.0] U3 S7[5.0] 图628×8位乘法器电路原理图
第6章 VHDL设计应用实例 图6.2 8×8位乘法器电路原理图 S7[7..0 ] S6[7..0 ] S6(8) ARIEND REG16B ADDER8B ARICTL SREG8B ANDARITH OUT[1 5..0] B[7..0 ] A[7 ..0] START CLK Q[1 5..0] D[8 ..0] CLR CLK GND S5[7..0 ] S6[8..0 ] RSTALL CLKOUT S5[7..0 ] S7[15 ..8] B[7..0 ] A[7 ..0] COUT CIN S[7..0] DOUT[7..0 ] DIN[7..0] ABIN Q B DIN[7..0] LOAD CLK CLK ARIEND START U 1 U 2 U 3 U 4 U 5 S2 S3 S4 S7[15 ..0] S7[15 ..8] S1
图第6章仍D4设计应用实例 图62中, ARICTL是乘法运算控制电路,它的 START(可锁定 于引脚IO49)信号的上跳沿与高电平有两个功能,即16位寄存器 清零和被乘数A[7.0]向移位寄存器SRFG8B加载;它的低电平则作 为乘法使能信号。乘法时钟信号从 ARICT的CIK输入。当被乘数 加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在 前,由低位至高位逐位移出。当为1时,与门 ANDARITH打开,8 位乘数B[70]在同一节拍进入8位加法器,与上一次锁存在16位锁 存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿 被锁进此锁存器。而当被乘数移出位为O时,与门全零输出。如此 往复,直至8个时钟脉冲后,由 ARICTL的控制,乘法运算过程自 动中止。 ARIEND输出高电平,以此可点亮一发光管,以示乘法 结束。此时REG16B的输出值即为最后乘积
第6章 VHDL设计应用实例 图6.2中,ARICTL是乘法运算控制电路,它的START(可锁定 于引脚I/O 49)信号的上跳沿与高电平有两个功能,即16位寄存器 清零和被乘数A[7..0]向移位寄存器SREG8B加载;它的低电平则作 为乘法使能信号。乘法时钟信号从ARICTL的CLK输入。当被乘数 加载于8位右移寄存器SREG8B后,随着每一时钟节拍,最低位在 前,由低位至高位逐位移出。当为1时,与门ANDARITH打开,8 位乘数B[7..0]在同一节拍进入8位加法器,与上一次锁存在16位锁 存器REG16B中的高8位进行相加,其和在下一时钟节拍的上升沿 被锁进此锁存器。而当被乘数移出位为0时,与门全零输出。如此 往复,直至8个时钟脉冲后,由ARICTL的控制,乘法运算过程自 动中止。ARIEND输出高电平,以此可点亮一发光管,以示乘法 结束。此时REG16B的输出值即为最后乘积
图第6章仍D4设计应用实例 此乘法器的优点是节省芯片资源,它的核心元件只是一个8 位加法器,其运算速度取决于输入的时钟频率。若时钟频率为 100MHz,则每一运算周期仅需80ns。而若利用备用最高时钟, 即12MHz晶振的MCS-51单片机的乘法指令,进行8位乘法运算 仅单指令的运算周期就长达4μS。因此,可以利用此乘法器或 相同原理构成的更高位乘法器完成一些数字信号处理方面的运 算
第6章 VHDL设计应用实例 此乘法器的优点是节省芯片资源,它的核心元件只是一个8 位加法器,其运算速度取决于输入的时钟频率。若时钟频率为 100 MHz,则每一运算周期仅需80 ns。而若利用备用最高时钟, 即12 MHz晶振的MCS-51单片机的乘法指令,进行8位乘法运算, 仅单指令的运算周期就长达4 μs。因此,可以利用此乘法器或 相同原理构成的更高位乘法器完成一些数字信号处理方面的运 算
图第6章仍D4设计应用实例 2.VHDL源程序 )选通与门模块的源程序 ANDARITH VHD LIBRARY IEEE: USE IEEE STD LOGIC 1164ALL ENTITY ANDARITH IS-选通与门模块 PORT(ABIN: IN STD LOGIO;-与门开关 DN: IN STD LOGIC VECTOR(7 DOWNTO0)-8位输入 DOUT: OUT STD LOGIC VECTOR(7 DOWNTO0);:-8位输出 END ANDARITH ARCHITECTURE ART OF ANDARITH IS
第6章 VHDL设计应用实例 2. VHDL源程序 1) 选通与门模块的源程序ANDARITH.VHD LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ANDARITH IS --选通与门模块 PORT (ABIN:IN STD_LOGIC; --与门开关 DIN:IN STD_LOGIC_VECTOR (7 DOWNTO 0) --8位输入 DOUT:OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); --8位输出 END ANDARITH; ARCHITECTURE ART OF ANDARITH IS