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