移位相加位硬件乘法器电路设计
-
电子技术课程设计
----
移位相加
8
位硬件乘法器电路计
学
院
:
华科学院
专
业
:
通信工程
班
级
:
通信
052201H
姓
名
:
张茹
学
号
:2
指导教师
:
柴婷婷
2
007
年
12
月
30
日
1
/
18
一,
设计任务与要求
--------------------
(
3
p>
)
1
,
内容
2
,
要求
二,
总体框图
------------------------
---
(
3
)
1
,
电路的总体框图
2
,
框图的说明
3
,
设计思路
4
,
方案设计
三,
选择器件与功能模块
-----------------
(
5
)
1
,
选择器件各功能模块及功能说明
四,
功能模块
----------------------------
(
8
)
1
,
ADDER8B
的模块
2
,
ANDARITH
的模块
3
,
ARICTL
的模块
4
,
REG16B
的模块
5
,
SREG8B
的模块
五,
总体设计电路图
----------------------
(
1
4
)
1
,
总体原理图
2
,
仿真波形图
3
,
管脚分配图
4
,
硬件验证情况
六,
心得体会
--------------------------------------
(
18
)
2
/
18
移位相
加
8
位硬件乘法器
一
.
设计任务与要求
1
.内容
:
由
8
位加法器构成的以时序逻辑方式设计的
8
位乘法器乘法通过逐向
p>
移位加原理来实现,从被乘数的最低位开始,若为
1
,则乘数左移与
上一次和
相加;若为
0
,左移后以全零相加,直至被乘数的最高位。
p>
2
.要求
:
(1)
重点掌握
VHDL
设计电路模块
(2)
在掌握
8
位加法器设计的基础上,
进一步掌握
8×
8
位乘法器的设计;
(
3)
进一
步学习开发系统,掌握
MAX+PLUS
II
的设计流程。
二.总体框图
(电路的总体框图)
3
/
18
1
,
说明<
/p>
:
此电路由五部分组成
2
,它们分别是控制器,锁存器,寄存器,乘法器,加法器。<
/p>
1
控制器是
一个乘法器的控制模块,用来接受实验系统上的连续脉冲。
2
锁存器起锁存的作用,它可以锁存
8
位乘数。
3
移位寄存器起移位的作用,便于被乘数可以逐位移出。
4
乘法器功能类似一个特殊的与非门。
5
加法器用于
8
位乘数和高
8
位相加。
2
,设计思路:
纯组合逻辑构成的乘法器虽然工作速度比较快,
但过于占用硬件资源,
难以实现
宽位乘法器,
基于
< br>PLD
器件外接
ROM
九九表的
乘法器则无法构成单片系统,
也不
实用。
这里介绍由八位加法器构成的以时序逻辑方式设计的八位
乘法器,
具有一
< br>定的实用价值,
而且由
FPGA
构成实验系统后,
可以很容易的用
ASIC
大型集成芯
片来完成,性价比
高,可操作性强。其乘法原理是:乘法通过逐项移位相加原理
来实现,从被乘数的最低位开始,若为
1
,则乘数左移后与上一次的和相加;若
< br>为
0
,左移后以全零相加,直至被乘数的最高位。
3
,方案设计:
此设计是由八位加法器构成的以时序逻辑方式设计的八位乘法
器,
它的核心器件
是八加法器,所以关键是设计好八位加法器
方案一:八位直接宽位加法器,它的速度较快,但十分耗费硬
件资源,对于工业
化设计是不合理的
4
/
18
方案二:
由两个四位加法器组合八位加法器,
其中四位加法器
是四位二进制并行
加法器它的原理
简单,资源利用率和进位速度方面都比较好。综合各方面的考
虑,决定采用方案二。
2
三,选择器件与功能模块
1
,
选择器件
SREG8B(
移位寄存器
)
;
REG16B(16
位琐存器
)
;
ARICTL
(运算控制器)
;
< br>
ANDARITH(1
位乘
法器
)
;
ADDER8B
(
8
< br>位加法器)
;
数码管(显示结果)
。
(
1
)
p>
SREG8B
的模块图
p>
SREG8B
是一个移位寄存器,
SREG
8B
有三个输入端,
分别是
clk,l
oad,din[7..0]
。
<
/p>
其中
clk
为时钟信号。一个输出端,它
是
qb
。
5
/
18
(
2
p>
)
REG16B
的模块图
< br>
REG16B
是一个
16
位锁存器,
REG16B
有三个输入端,它们分别是
clk,clr,d[8..0].
其中
clk
为时钟信号。有一个输出端,它是
q[15..0].
(
3
)
ARI
CTL
的模块图
ARI
CTL
是乘法器的控制模块,
ARICTL
有两个输入端,它们分别是
clk,start
。有三个输
入
端,它们分别是
clkout,rstall,ariend
。
6
/
18
(4)ANDARITH
的模块图
AND
ARITH
是
一
个
一
位
乘
法
器
,
ANDARITH
有
两
个
输
入
< br>端
。
它
们
分
别
是
abin,din[7..0
]
。有一个输出端,它是
dout[7..0]
。
(
p>
5
)
ADDER8B
的模块图
ADDER8B
是一个
8
位加法器,
ADDER8B
有三个输入端,它们分别是
ci
n,a[7..0],b[7..0]
。
其中
< br>a[7..0]
为被乘数;
b[7..0]
为乘数。
有两个输出端,
它们分别是
s[7..0],cout
。
7
/
18
四,功能模块
(
1
)
p>
ADDER8B
模块设计
ADDER8B
的模块图
ADD
ER8B
(
8
位加法器)的模块
ADDER8B
的波形图
ADD
ER8B
模
块
的
功
能
:
ADDER8B
是
一
个
8
< br>位
加
法
器
。
有
三
个
输
入
端
(
CIN
,A[7..0],B[7..0]
)
,
其中
A[7..0]
是被乘数
.B[
7..0]
是乘数。
ADDER8B
起
到使两个数相加的作用;即在加法的基础上才能相乘。所以
8<
/p>
位加法器是一个
必不可少的模块。
8
/
18
(2
)
ANDARITH
模块设计
ANDARITH
的模块图
ANDARITH(
乘法器
)
的模块
ANDARITH
的波形图
p>
ANDARITH
模块的功能:
ANDAR
ITH
是一个
1
位乘法器。有两个输入
端
(
AB
IN,DIN[7.0]
)
.
有一个输
出端
.DOUT[7..0]
。
AND
ARITH
起乘法的作用。它类
9
/
18