有符号5位整数乘法器设计与制作

  • 格式:doc
  • 大小:945.00 KB
  • 文档页数:21

下载文档原格式

  / 21
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

哈尔滨工业大学(威海)

信息科学与工程学院

EDA课程设计报告

有符号5位整数乘法器设计与制作

指导老师:胡屏

学生班级:0802102

学生姓名:傅愉

学生学号:080210210

2009年11月10日

目录

1.课程设计的性质、目的和任务 (1)

2.题目要求 (1)

3.总体设计 (1)

3.1算法设计 (1)

3.2整体框图及原理 (2)

4.电路设计 (4)

4.1 乘法器总体电路原理图: (4)

4.2分时输入模块电路图: ........................................................... - 5 -

4.3乘法运算电路图: (6)

4.4阀门控制模块电路: ............................................................... - 9 -

4.5计数单元电路图: ................................................................. - 12 -

4.6数码管显示单元电路: ......................................................... - 14 -

4.7报警电路示意: ......................................... 错误!未定义书签。

5.调试过程中出现的问题以及解决办法 .......................................... - 19 -

6.心得体会........................................................................................... - 20 -

7.建议:............................................................................................... - 21 -

1.课程设计的性质、目的和任务

创新精神和实践能力二者之中,实践能力是基础和根本。这是由

被乘数

移位寄存 移位寄存

相乘逻辑

累加器

结果寄存

时钟

于创新基于实践、源于实践,实践出真知,实践检验真理。实践活动是创新的源泉,也是人才成长的必由之路。

通过课程设计的锻炼,要求学生掌握电路的一般设计方法,具备初步的独立设计能力,提高综合运用所学的理论知识独立分析和解决问题的能力,培养学生的创新精神。

2.题目要求

设计一个两个5位数相乘的乘法器。用发光二极管显示输入数值,用7段显示器显示十进制结果。乘数和被乘数分两次输入。在输入乘数和被乘数时,要求显示十进制输入数据。输入显示和计算结果显示,采用分时显示方式进行,可参见计算器的显示功能。

3.总体设计

3.1算法设计

图:乘法器对应的方框图

两个带符号的五位数相乘,首先将符号位与数值位分离,最终结果的符号位由两个数的符号位经过异或操作后得到,乘法运算采用移位相加的原理来实现。

移位相加原理:从乘数的最低位开始,若为1,则将被乘数右端与乘数右端对齐写在下面;若为0,则将与被乘数同样位数的0写在下面。然后进行乘数的次低位,若为1,则被乘数左移一位后与上一次的结果相加;若为0,则左移一位后以全0相加。以此类推,每次若乘数相应位为1,则被乘数左移一位与前次和相加;若乘数相应位为0,则左移一位以全0与前次和相加。相乘结果用十进制数表示。

3.2整体框图及原理

图:整体设计框图

乘法计算:

使用者通过按键输入二进制5位有符号的乘数与被乘数,并将乘数与被乘数分别用十进制显示,经过乘法器运算,显示十进制结果,完

成与计算器近似的简单乘法运算;

下面是部分模块的功能介绍:

分时输入:在控制端EA,EB和CLK的控制下,依次输入乘数与被乘数,且在输入被乘数后,按下定义的乘号键,可保持所显示的被乘数不变,改变数值,输入乘数,显示数值为乘数。

分时显示控制:在控制端EA,EB和CLK的控制下,实现对被乘数,乘数以及运算结果的分时显示。

4.电路设计

4.1 乘法器总体电路原理图:

MAX+PLUS II中的电路原理图

4.2分时输入模块电路图:

分时输入电路图

VHDL程序代码如下:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_ARITH.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY INPUT1 IS

PORT(EA,EB,CLK:IN STD_LOGIC;

I:IN STD_LOGIC_VECTOR(4 DOWNTO 0);

A,B:OUT STD_LOGIC_VECTOR(4 DOWNTO 0));

END INPUT1;

ARCHITECTURE behave OF INPUT1 IS

BEGIN

PROCESS(EA,EB,I,CLK)

BEGIN

IF CLK'EVENT AND CLK='1' THEN

IF EA='1' THEN

A<=I;

ELSE NULL;

END IF;

IF EB='1' THEN

B<=I;

ELSE NULL;

END IF;

END IF;

END PROCESS;

END behave;

功能仿真,结束时间为200ns;

MAX+PLUS II 中的功能仿真图