移位相加8位硬件乘法器电路计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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起乘法的作用。它类

相关文档
最新文档