文档介绍:位移位乘法器
第1页,此课件共15页哦
实 验
其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。从图9-5的 DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
QB : OUT STD_LOGIC );
END SREG8B;
ARCHITECTURE behav OF SREG8B IS
SIGNAL REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
PROCESS (CLK, LOAD)
BEGIN
IF LOAD = '1' THEN REG8 <= DIN;
ELSIF CLK'EVENT AND CLK = '1' THEN
REG8(6 DOWNTO 0) <= REG8(7 DOWNTO 1);
END IF;
END PROCESS;
QB <= REG8(0); -- 输出最低位
END behav;
实验8-1 移位相加8位硬件乘法器电路设计
第8页,此课件共15页哦
实 验
【例8-33】
LIBRARY IEEE; --8位加法器
USE ;
USE ;
ENTITY ADDER8 IS
PORT(B, A : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
S : OUT STD_LOGIC_VECTOR(8 DOWNTO 0) );
END ADDER8;
ARCHITECTURE behav OF ADDER8 IS
BEGIN
S <= '0'&A + B ;
END behav;
实验8-1 移位相加8位硬件乘法器电路设计
第9页,此课件共15页哦
实 验
【例8-34】
LIBRARY IEEE; --1位乘法器
USE ;
ENTITY ANDARITH IS -- 选通与门模块
PORT ( ABIN : IN STD_LOGIC;
DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) );
END ANDARITH;
ARCHITECTURE behav OF ANDARITH IS
BEGIN
PROCESS(ABIN, DIN)
BEGIN
FOR I IN 0 TO 7 LOOP -- 循环,完成8位与1位运算
DOUT(I) <= DIN(I) AND ABIN;
END LOOP;
END PROCESS;
END behav;
实验8-1 移位相加8位硬件乘法器电路设计
第10页,此课件共15页哦
实 验
【例8-35】
LIBRARY IEEE; --16位锁存器/右移寄存器
USE ;
ENTITY REG16B IS
PORT ( CLK,CLR : IN STD_LOGIC;
D : IN STD_LOGIC_VECTOR(8 DOWNTO 0);
Q : OUT STD_LOGIC_VECTOR(15 DOWNTO 0) );
END REG16B;
ARCHITECTURE behav OF REG16B IS
SIGNAL R16S : STD_LOGIC_VECTOR(15 DOWNTO 0);
BEGIN
PROCESS(CLK, CLR)
BEGIN
IF CLR = '1' THEN R16S <= (OTHERS =>'0') ; -- 清零信号ELSIF CLK'EVENT AND CLK = '1' THEN --时钟到来时,锁存输入值,并右移低8