文档介绍:该【EDA课设八位硬件乘法器 】是由【花开花落】上传分享,文档一共【15】页,该文档可以免费在线阅读,需要了解更多关于【EDA课设八位硬件乘法器 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。EDA课设八位硬件乘法器
8位硬件乘法器
一、 设计目的
学习移位相加时序式乘法器的设计方法
学习层次化设计方法
学习原理图调用VHDL模块方法
熟悉EDA仿真分析方法
二、 设计原理
(1)设计原理
由加法器构成的时序逻辑方式的乘法器的原理是,通过逐项移位相加原理来实现,从被乘数的最低位开始,若为,若为1,则乘数左移与上一次和相加;若为0,左移后以全零相加,直至被乘数的最高位。
在下图中。ARICTL是乘法运算控制电路,它的START信号的上升沿与高电平有两个功能,即16位寄存器清0和被乘数A向移位寄存器SREG8B加载;它的低电平则作为乘法使能信号。
CLK为乘法时钟信号,当被乘数加载于8位右移寄存器SEG8B后,在时钟同步下由低位至高位逐位移出,当其为1时,与门ANDARITH打开,8位乘数B在同一节拍进入8位加法器,与上一节拍锁存在16位锁存器REG26B中的高8位进行相加,其和在下一时钟节拍的上升沿被锁存进此锁存器;而当被乘数的移出位为0时,与门全0输出。如此往复,直至8个时钟脉冲后,乘法运算过程中止,此时REG16B的输出值即为最后乘积。原理图如下:
AEICIL
eiiE
(2)乘法器中各模块
(电路的总体框图)
说明:此电路由五部分组成它们,分别是控制器,锁存器,寄存器,乘法器,加
法器。
1控制器是一个乘法器的控制模块,用来接受实验系统上的连续脉冲。
2锁存器起锁存的作用,它可以锁存8位乘数。
3移位寄存器起移位的作用,便于被乘数可以逐位移出。
4乘法器功能类似一个特殊的与非门。
5加法器用于8位乘数和高8位相加。
三、选择器件与功能模块
选择器件:
SREG8B(移位寄存器)
REG16B(16位琐存器)
ARICTL(运算控制器)
ANDARITH(1位乘法器)
ADDER8B(8位加法器)
数码管(显示结果)
功能模块:
LIBRARYIEEE;
;
ENTITYSREG8IS
PORT(CLK:INSTD_LOGIC;LOAD:INSTD_LOGIC;
DIN:INSTD_L0GIC_VECT0R(7DOWNTO0);
EN:INSTD_LOGIC;
QB:OUTSTD_LOGIC);
ENDSREG8:
ARCHITECTUREbehaveOFSREG8IS
SIGNALREG8:STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
PROCESS(CLK,LOAD,EN)
BEGIN
IFEN='1'THEN
IFLOAD='1'THENREG8<=DIN;
ELSIFCLK'EVENTANDCLK='1'THEN
REG8(6DOWNTO0)<=REG8(7DOWNTO1):
ENDIF;
ENDIF;
ENDPROCESS;
QB<=REG8(0);
ENDbehave;
时序仿真图:
LIBRARYIEEE;
;
FNTTTYHh"
ENTITYandarithIS
PORT(ABIN:INSTD_LOGIC;
DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);
I
DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0))
ENDandarith;
ARCHITECTUREbehaveOFandarithIS
BEGIN
PROCESS(ABIN,DIN)
BEGIN
FORIIN0TO7LOOP
DOUT(I)<=DIN(I)ANDABIN;
ENDLOOP;
ENDPROCESS;
ENDbehave;
ANDARITH
RS1N DQUT[7.■
D1N[T..O]
1
时序仿真图:
Value:[
\IQOths 2lQDDn2 300Qu 如。0住 GOODns &闻』g TOOOu 舶口。旭 9MOns
U II i i i i i i i i i
D_
J L J L
Hao
Ki
Xs¥chKwKm3旧R访K 3 &8 *
00
?mR 皿 Bl弟T明/工 皿
LIBRARYIEEE;
;
ENTITYREG16IS
PORT(CLK,CLR,EN:INSTD_LOGIC;
D:INSTD_LOGIC_VECTOR(8DOWNTO0);
Q:OUTSTD_LOGIC_VECTOR(15DOWNTO0)
ARCHITECTUREbehaveOFREG16IS
SIGNALR16S:STD_LOGIC_VECTOR(15DOWNTO0);
BEGIN
PROCESS(CLK,CLR,EN)
BEGIN
IFEN='1'THEN
IFCLR='1'THENR16S<=(OTHERS=>'0')
ELSIFCLK'EVENTANDCLK='1'THEN
R16S(6DOWNTO0)<=R16S(7DOWNTO1);
R16S(15DOWNTO7)<=D;
ENDIF;
ENDIF;
ENDPROCESS;
Q<=R16S;
ENDbehave;
RECl&B
Cl_K
CLR 4EJ-S..Q]
D[8__CJ
时序仿真图:
IM
Ont
血阴
JODOnsi
■4闻口旭
QXLDha■
900Dru
■rf-CLP
n
L J L
■K-CLK
q
J
ii ii ii ii ii ii ii ri_
D
hwa
auu;
QD1
r
。般3gn?
1 «5~
叫$ Kgo?
twT
工
-UT□
Hacoa
anm
aiaaJ
O1B[>X
OQDD
*皿皿X
044】