计算机组成原理阵列乘法器课程设计报告
计算机组成原理实验报告
1
1.1
1、对容错技术有初步了解,理解掌握海明码的原理
2、掌握海明码的编码以及校验方法
1.2
海明码是由Richard Hamming于1950年提出的,目前是被广泛采用的很有效的校验编码。它的特点是只要增加少数几个校验位,就能检测出多位出错,并能自动纠错。
Hamming码的实现原理是在数据中加入几个校验位,将数据代码的码距比较均匀的拉大,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化。这不但可以发现出错,还能指出是哪一位出错,为进一步自动纠错提供了依据。
}
for(j=0;j<16;j++)
for(i=0;i<128;i++)
{
for(z=0;z<7;z++)
{
if(s[0][j][z]!=d[i][z])
break;
}
if(z==7)
{
for(m=0;m<7;m++)
d[i][m]=0;
break;
}
}
m=1;
re:for(i=0;i<128;i++)
8位数据
1010 1100
10110110
0110 1011
一种求补级阵列乘法器设计陈权刘伏龙陈琳琳_1
一种求补级阵列乘法器设计陈权刘伏龙陈琳琳
发布时间:2021-07-29T09:05:33.037Z 来源:《基层建设》2021年第14期作者:陈权刘伏龙陈琳琳
[导读] 乘法器作为乘法、除法、乘方和开方等模拟运算的主要基本单元,一般采用“串行移位”和“并行加法”相结合的方法广东科技学院机电工程学院广东东莞 523083
乘法器作为乘法、除法、乘方和开方等模拟运算的主要基本单元,一般采用“串行移位”和“并行加法”相结合的方法,虽使用器件少,但速度慢。本文介绍了一种求补级阵列乘法器,采用标准加法单元构成乘法器,利用多个一位全加器实现乘法运算,设计求补电路单元用于求补。Multisim仿真结果表明设计的乘法器能够正确运算。
1引言
乘法运算电路的设计就属于中规模集成电路应用,它主要的实现是靠全加器、唯一寄存器、七段译码显示器、振荡电路共同作用来实现的。中规模集成电路及其应用,本身就是一种完美的逻辑设计作品。由于他们所具有的通用性、灵活性及多功能性、使之除完成基本功能之外、还能以他们为基本器件所组成各类逻辑部件和数字系统,有效地实现各种逻辑功能[1]。本论文旨在设计一个补码 3×3 的阵列乘法器,输入端为两个4位带符号的补码,输出为一个 7 位的补码,其中最高位均为符号位。
2 系统总体设计
求补级阵列乘法器系统设计包括四部分[2]。设计一个3*3的带求补阵列乘法器总共需要四个部分,其中包括一个1位全加器,一个3位求补电路,一个6位求补器以及一个3*3无符号位乘法器。从输入端开始输入两个4位带符号位的原码,其中最高位为符号位,然后分别经过两个n位算前求补器进行求补,然后同时到达此乘法器的核心部分,n位乘n位不带符号的乘法阵列,通过运算后对得出的结果进行输出。
组成原理 阵列乘法器设计实验
组成原理阵列乘法器设计实验
《计算机组成原理》
专业,
学号,
学生姓名,
实验日期,
实验三
一、实验名称,阵列乘法器设计实验
二、实验目的,
1. 掌握乘法器的原理及其设计方法。
2. 熟悉CPLD 应用设计及EDA 软件的使用。
三、实验设备,
PC 机一台,TD-CMA 实验系统一套,排线若干。
四、实验内容,
1. 阵列乘法器的工作原理,掌握阵列乘法器的设计方法.
2.正确将电路原理图下载到试验箱中.
3.正确通过实验箱连线实现4位二进制数的相乘并得到正确结果
五、实验原理,
硬件乘法器常规的设计是采用“串行移位”和“并行加法”相结合的方法,这种方法并不需要很多的器件,然而“加法-移位”的方法毕竟太慢。随着大规模集成电路的发展,采用高速的单元阵列乘法器,无论从计算机的计算速度,还是从提高计算效率,都是十分必要的。阵列乘法器分带符号和不带符号的阵列乘法器,本次实验只讨论不带符号阵列乘法。高速组合阵列乘法器,采用标准加法单元构成乘
法器,即利用多个一位全加器(FA)实现乘法运算。对于一个4 位二进制数相乘,有如下算式:
这个4 × 4 阵列乘法器的原理如图1-3-1 所示。
FA(全加器)的斜线方向为进位输出,竖线方向为和输出。图中阵列的最后一行构成了一个串行进位加法器。由于FA 一级是无需考虑进位的,它的进位被暂时保留下来不往前传递,因此同一极中任意一位FA 加法器的进位输出与和输出几乎是同时形成的,与“串行移位”相比可大大减少同级间的进位传递延迟,所以送往最后一行串行加法器的输入延迟仅与FA 的级数(行数)有关,即与乘数位数有关。本实验用CPLD 来设计一个4×4 位加法器,且全部采用原理图方式实现。
阵列乘法器
换算成二进制数真值是
x·y=( -11000011)2=(-195)10 十进制数验证:x×y =
15× (-13) = -195相等。
5位×5位阵列乘法器的逻辑电路图演示
这种乘法器要实现n位
×n位时,需要n(n-1)个
全加器和n2个“与”门。
该乘法器的总的乘法时 间可以估算如下:
令Ta为“与门”的 传输延迟时间,Tf为全加 器(FA)的进位传输延迟 时间,假定用2级“与非” 逻辑来实现FA的进位链 功能,那么我们就有:
Ta = Tf = 2T 从演示中可知,最坏 情况下延迟途径,即是沿
上述过程说明了在m位乘n位不带符号整数的阵列乘法 中,“加法—移位”操作的被加数矩阵。每一个部分乘积项(位
积)aibj叫做一个被加数。这m×n个被加数{aibj|0≤i≤m-1和 0≤j≤n-1}可以用m×n个“与”门并行地产生(如右下图所
示)。显然,设计高速并行乘法器的基本问题,就在于缩短被加 数矩阵中每列所包含的1的加法时间。
有使能控制的二进制对2求补器电路图演示,其逻辑表达式如下:
C-1=0, Ci=ai+Ci-1
ai*=ai⊕ECi-1,
0≤i≤n
在对2求补时,要采用按位扫描技术来执行所需要的求补操作。令
A=an…a1a0是给定的(n+1)为带符号的数,要求确定它的补码形式 。进行求补的方法就是从数的最右端a0开始,,由右向左,直到找出第 一个“1”,例如ai=1, 0≤i≤n。这样,ai以左的每一个输入位都求反, 即1变0,0变1。最右端的起始链式输入C-1必须永远置成“0”。当控 制信号线E为“1”时,启动对2求补的操作。当控制信号线E为“0”时
计算机组成原理教案(第二章)
[例4]将十进制真值(-127,-1,0,+1,+127)列表表示成二进制数及原 码、反码、补码、移码值。
[例5]设机器字长16位,定点表示,尾数15位,数符1位,问: (1)定点原码整数表示时,最大正数是多少?最小负数是多少?
(2)定点原码小数表示时,最大正数是多少?最小负数是多少?;
(1)定点原码整数表示 最大正数值=(215-1)10=(+32767)10 0 111 111 111 111 111
x+y=0.0110
一是符号位要作为数的一部分一起参加运算
二是要在模2的意义下相加,即超过的位要丢掉。
2.2.2 补码减法
数用补码表示时,减法运算的公式为 [x-y]补=[x]补-[y]补=[x]补+[-y]补
2.2.3 溢出概念与检测方法
用两个符号位并都参加运算,次高位与最高位相异或
第二种溢出检测方法是采用单符号位法。
[例14] x=+0.1100, y=+0.1000,求x+y。 [x]补=00.1100, [y]补=00.1000 [x]补 +[y]补 00.1100 00.1000 01.0100
两个正数相加,结果大于机器所能表示的最大正数,称为上溢。
[例15] x=-0.1100, y=-0.1000,求x+y。
[x]补=11.0100,
[y]补=11.1000 11.0100 11.1000 10.1100
计算机组成原理教案(第二章)
计算机中常用的数据表示格式有两种
一是定点格式,数值范围有限,要求但的处理硬件比较简单。
二是浮点格式,数值范围很大,但要求硬件比较复杂。
1.定点数的表示方法
定点表示:约定机器中所有数据的小数点位置是固定不变的
(x0:符号位,0代表正号,1代表负号):
纯小数和纯整数
目前计算机中多采用定点纯整数表示,因此将定点数表示的运算 简称为整数运算。
2.2.4 基本的二进制加法/减法器
表2.2 一位全加器真值表
两个二进制数字Ai,Bi和一个进位输入Ci相加,产生一个和输出 Si,以及一个进位输出Ci+1。 输入 输出 Ai 0 Bi 0 Ci 0 Si 0 Ci+1 0
0 0 0 1 1 1 1
0 1 1 0 0 1 1
1 0 1 0 1 0 1
x+y=0.0110
一是符号位要作为数的一部分一起参加运算
二是要在模2的意义下相加,即超过的位要丢掉。
2.2.2 补码减法
数用补码表示时,减法运算的公式为 [x-y]补=[x]补-[y]补=[x]补+[-y]补
2.2.3 溢出概念与检测方法
用两个符号位并都参加运算,次高位与最高位相异或
第二种溢出检测方法是采用单符号位法。
为便于软件移植,按照 IEEE754 标准,32位浮点数和 64位浮点数的标准格式为
计算机组成原理_原码阵列除法器_仿真报告
计算机组成原理 专周报告
题目 班级 学号 姓名 指导老师 完成时间
原码阵列除法器
08512 10号 张 勇 倪继烈 2010-6-24
成都电子机械高等专科学校计算机工程系
`
目
一、项目名称 二、实验目的 三、不恢复余数的阵列除法器介绍 四、逻辑流程图及原理 算法流程 粗框图 CSA逻辑结构图 原理分析 五、实例结果及求解过程 实例结果图 实例求解过程 六、心得体会:
实例求解过程 X=21H=00100001,Y=05H=0101,求X/Y=? A=|X|=00010101,B=|Y|=00101,-B=11011 被除数A 00100001 -B 11011 余数为负 11111<0 Q3=0 移位 11110 +B 00101 余数为正 00011>0 Q2=1 移位 00110 -B 11011 余数为正 00001>0 Q1=1 移位 00011 -B 11011 余数为负 11110<0 Q0=0 +B 00101 恢复余数 00011 故得 商=1Q3Q2Q1Q0=00110(第一位是符号位)=6(16进制) 余数=00011=3(16进制)
计算机组成原理》课程设计报告
课程设计说明书
《计算机组成原理》算法实现(五)
专业 计算机科学与技术
学
生
夏晶晶 班级 M 计算机101 学
号
1051401122
指导教师花小朋
完成日期2013年6月21日
目录
1 课程设计目的 (2)
2 课程设计容与要求 (2)
2.1课程设计的容 (2)
2.2 课程设计的要求 (2)
3 实现方法 (2)
3.1 系统目标 (2)
3.2 主体设计 (4)
3.2.1 主窗体的设计 (4)
3.2.2 定点整数真值还原窗体的设计 (6)
3.2.3 定点整数单符号位补码加减法 (8)
3.2.4 定点整数的原码乘法 (10)
3.2.5 浮点数的加减运算 (12)
4 设计小结 (13)
参考文献 (13)
1 课程设计目的
本课程设计是在学完本课程教学大纲规定的全部容、完成所有实践环节的基础上,旨在深化学生学习的计算机组成原理课程基本知识,进一步领会计算机组成原理的一些算法,并进行具体实现,提高分析问题、解决问题的综合应用能力。
2 课程设计容与要求
2.1课程设计的容
计算机组成原理算法实现(五)
2.2 课程设计的要求
能够实现机器数的真值还原(定点整数)、定点整数的单符号位补码加减运算、定点整数的原码乘法运算和浮点数的加减运算。
3 实现方法
3.1 系统目标
本程序含有以下几个功能模块,分别能够实现如设计容所设计的功能。共有5个类,各类之间的关系如图3-1所示:
系统流程图:
3.2 主体设计
3.2.1 主窗体的设计
程序菜单需要在输入口令正确后方可使用,若口令输入错误需给出重新输入口令的提示,三次口令输入错误则禁止使用。
计算机组成原理-定点补码阵列乘法器(33)实验报告
课程设计报告
课程设计名称:计算机组成原理课程设计 课程设计题目:பைடு நூலகம்点补码阵列乘法器的设计
院〔系〕: 专 业: 班 级: 学 号: 姓 名: 指导教师: 完成日期:
.
z.
-
目录
总体设计方案 2 1.1 设计原理 2 1.2 设计环境 2
详细设计方案 2 2.1 实验仪器及元件:2 2.2 实验内容:3 2.3 实验过程及结果记录:3 2.4 实验结果分析:4
总结 5 3.1 思考:5 3.2 收获总结:5
.
z.
-
总体设计方案
1.1 设计原理
乘法原理: 0*0=0 0*1=0 1*0=0 1*1=1 两位乘法器的逻辑表达式: Q0=BD Q1=(AD)异或(BC) Q2=(AC)与(BD 与非) Q3=ABCD
1.2 设计环境
EDA 环境:MA*+PLUSⅡ软件
详细设计方案
2.1 实验仪器及元件:
4 个 INPUT 为 A B C D;6 个 AND2;一个非门;一个*OR;4 个 OUTPUT
.
z.
直接补码阵列乘法的手工计算方法
… , 补码 表 则
{ 2。 :一 。 +
cd m2 o
() 1
式中 : 补 [ 为机器数 ; ] 为真值 。 式( ) 明 , 1表 如果 为 正 时 , 号 位 为 0 如果 负 符 ,
符号 位 为 1 。 的乘法运算 , 再通过一个算后求补 电路将得 到的无符 时 , [ 补 ] 与 的真 值 之 间存 在 什 么关 系 呢 ?能 否 将 号数 的中间结 果转 换成 带 符号 的最 终结 果 。这 2种 阵 列乘 法运 算都 有一 定 的局 限性 , 运算 效率 不 高 , 且 而采 符号位与数值本身表示的值联系并统一起来呢? 回答 一个 较好 的解 决 方法 是 引入负权 , 用直 接补 码 阵列乘 法 可 以将符 号位 和 数据 位一 起参 加 ’ 是肯 定 的 。在这 里 , 而数值 位 采用 正权值 。 运 算 , 以完 成 补 码 数 的直 接 乘 法 , 不 需 要 求 补 电 就是 将符 号 位乘 以一 个 负权 值 , 可 而 设 [ 补= . … , ] 。 这里 表 示符 号位 , 正 。 为 路 , 种直 接 的运算 方 法排 除 了较慢 的对 2求补 操作 , 这 大大加 快 了乘 法运 算 的速度 。 本 文从 补码 与 真值 的 关 系 开始 , 明与 直 接 补 码 说 乘 法相 联 系 的数学 特征 , 然后 介 绍一 般化 的全加 器 , 再 通 过具 体 的实 例介 绍运 用直 接补 码 阵列 乘法 来进 行 手
计算机组成原理阵列乘法器课程设计报告
课程设计
教学院计算机学院
课程名称计算机组成原理
题目阵列乘法器
专业计算机科学与技术
班级2011级计科(X)班
姓名XXX
同组人员XXX XXX XXX
指导教师XXX
2013 年 1 月22 日
1 课程设计概述
1.1 课设目的
计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。
同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。
1.2 设计任务
计算机系统设计的总体目标是设计模型机系统的总体结构、指令系统和时序信号。所设计的主机系统能支持自动和单步运行方式。
具体设计任务如下:
(1).设计一位全加器
(2).设计4位求补电路
(3).设计8位求补电路
(4).设计4*4位无符号阵列乘法器
1.3 设计要求
根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。
(1)制定设计方案:
我们小组做的是阵列乘法器,阵列乘法器主要由求补器和阵列全加器组成。因此我们四人分两小组,一组做四位及八位求补器的内容,一组做阵列全加器的内容,最后综合就可以完成阵列全加器的任务。(2)客观要求
要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。
阵列乘法器设计实验报告
阵列乘法器设计实验报告
首先,我们对4位数字乘法运算进行了分析。两个4位数相乘的结果为一个8位数,即最多需要8位的加法器来实现。因此,我们将阵列乘法器划分为3个模块:乘法单元、加法器单元以及结果输出单元。
乘法单元是阵列乘法器中最核心的部分。我们采用了一种基于乘法器意义的设计方法,将乘法运算分解为一系列的AND门和全加器。具体地,我们将两个4位数的每一位相乘得到16个乘积,然后利用8个全加器将这16个乘积进行累加得到结果。通过使用层层递进的方式,我们可以保证乘法运算的正确性。
加法器单元负责将乘法单元的结果进行累加。在本实验中,我们使用了一个8位全加器来实现8位数的加法运算。通过将乘法单元的结果与加法器单元的进位相连,可以保证每一位的进位都被正确地累加到下一位。
结果输出单元将加法器单元的结果进行输出。由于乘法结果的有效位数是8位,因此我们只需要将加法器单元的前8位进行输出即可。
通过使用Verilog HDL对阵列乘法器进行了仿真和验证。我们设计了一个测试平台,使用不同的输入进行了对阵列乘法器进行了测试。实验结果表明,设计的阵列乘法器具有良好的性能和准确的计算结果。
总结来说,本实验设计了一种4位乘法器的阵列乘法器电路,并通过Verilog HDL进行了仿真和验证。通过设计和测试,我们验证了该电路的正确性和高效性。阵列乘法器是一种重要的数字逻辑电路,对于实现高速的数字乘法运算具有很高的实用价值。
计算机组成原理实训报告
计算机组成原理实训报告
计算机组成原理实训是计算机科学与技术专业的一门重要课程,通过实践操作,对计算机硬件的组成、工作原理以及指令系统等进行深入的了解。以下是我完成计算机组成原理实训报告的相关参考内容:
1. 实验目的:明确实验的目的,例如加深对计算机硬件组成和工作原理的理解,掌握计算机指令集的设计与实现方法等。同时也可以陈述实验的重要性和意义。
2. 实验环境:介绍实验所使用的硬件平台和软件环境,例如使用的开发板型号、使用的集成开发环境等。
3. 实验原理:详细阐述实验所涉及的计算机组成原理和相关的理论知识。例如,介绍计算机硬件的基本组成,包括中央处理器(CPU)、内存、输入输出设备等,并说明它们的工作原理和
相互之间的关联。
4. 实验步骤:清晰地描述实验过程中的步骤,包括实验前的准备工作、实验中的具体操作以及实验后的总结。
5. 实验结果:展示实验的结果,可以包括实验中产生的数据、实验过程中观察到的现象以及实验中得到的实验数据等。同时还可以对实验结果进行分析和讨论,与相关的理论知识进行对比和验证。
6. 实验总结与分析:对实验过程和结果进行总结和分析,总结
实验的亮点和不足之处,提出改进的方案和建议。同时可以思考和讨论实验内容的实际应用和发展趋势。
7. 实验心得体会:个人对本次实验的感受和体会,可以包括实验中遇到的问题和解决方法,以及自己对计算机组成原理课程的理解和认识。
8. 参考文献:列出参考过的相关文献或教材,注意不要出现链接,需按照规范格式进行引用。
以上是关于计算机组成原理实训报告的参考内容,通过详细的实验步骤描述、实验结果展示和深入的分析讨论,可以有效地展现实验的过程和结果,以及对计算机组成原理的理解和应用。同时,也可以提出自己的思考和思考问题,以展示对实验内容的深入思考和学习效果。
乘法器实验报告
乘法器实验报告
篇一:计组-4位乘法器实验报告
实验4位乘法器实验报告
XXX 姓名:
课程名称:计算机组成
实验时间:XXX 学号:同组学生姓名:无实验地点:指导老师: XXX 专业:计算机科学与技术
一、实验目的和要求
1. 熟练掌握乘法器的工作原理和逻辑功能
二、实验内容和原理
实验内容:
根据课本上例3-7的原理,来实现4位移位乘法器的设计。具体要求:1. 乘数和被乘数都是4位
2. 生成的乘积是8位的
3. 计算中涉及的所有数都是无符号数
4.需要设计重置功能
5.需要分步计算出结果(4位乘数的运算,需要四步算
出结果)
实验原理:
1. 乘法器原理图
2. 本实验的要求:
1. 需要设计按钮和相应开关,来增加乘数和被乘数
2. 每按一下M13,给一个时钟,数码管的左边两位显示每一步的乘
积
3. 4步计算出最终结果后,LED灯亮,按RESET重新开始计算
三、主要仪器设备
1. Spartan-III开发板
2. 装有ISE的PC机
1套 1台
四、操作方法与实验步骤
实验步骤:
1. 创建新的工程和新的源文件
2. 编写verilog代码(top模块、display模块、乘法运算模块、去抖动模块以及UCF引脚)
3. 进行编译
4. 进行Debug 工作,通过编译。
5.. 生成FPGA代码,下载到实验板上并调试,看是否与实现了预期功能
操作方法: TOP:
module alu_top(clk, switch, o_seg, o_sel);
input wire clk;
input wire[4:0] switch;
output wire [7:0] o_seg; // 只需七段显示数字,不用小数点 output wire [3:0] o_sel; // 4个数码管的位选
计算机组成原理-定点补码阵列乘法器(3x3)实验报告
课程设计报告
课程设计名称:计算机组成原理课程设计课程设计题目:定点补码阵列乘法器的设计
院(系):
专业:
班级:
学号:
姓名:
指导教师:
完成日期:
xxxx大学课程设计报告
目录
总体设计方案 (2)
1.1 设计原理 (2)
1.2 设计环境 (2)
详细设计方案 (2)
2.1 实验仪器及元件: (2)
2.2 实验内容: (3)
2.3 实验过程及结果记录: (3)
2.4 实验结果分析: (4)
总结 (5)
3.1 思考: (5)
3.2 收获总结: (5)
总体设计方案
1.1 设计原理
乘法原理:
两位乘法器的逻辑表达式:
1.2 设计环境
EDA环境:MAX+PLUSⅡ软件
详细设计方案
2.1 实验仪器及元件:
4个INPUT 为A B C D;6个AND2;一个非门;一个XOR;4个OUTPUT
2.2 实验内容:
1.通过真值表设计一个两位乘法器;
2.构造运行两位乘法器的仿真波形。
2.3 实验过程及结果记录:
1、为设计乘法器新建一个文件夹作工作库,文件夹名不可用中文和空格;
2、在MAX+PLUS II新建一个设计文件,选择打开原理图编辑器,然后双击空白处“Enter Symbol”输入各个实验所需元件,将所需元件连接起来形成两位乘法器原理图;
3、将设计项目设置成工程文件(PROJECT);
4、对工程文件进行编译、综合和适配等操作,编译后可能会有错误或警告的提醒,没有就证明原理图正确可用。
选择波形编辑器文件进行时序仿真,将相应的信号节点输入进去,并选择END TIME调试
5、整仿真时间区域,两位乘法器选择800us比较合适,根据实验指导书的波形图我们调整出四个输入信号的电平,运行仿真器可得对应的四个输出引脚的波形;
EDA_8位乘法器_实验报告
南华大学
船山学院
实验报告
(2009 ~2010 学年度第二学期)
课程名称EDA
实验名称8位乘法器
姓名学号
专业计算机科学与
班级01
技术
地点8-212 教师
一、实验目的:
学习和了解八位乘法的原理和过程
二、设计思路:
纯组合逻辑构成的乘法器虽然工作速度比较快,但过于占用硬件资源,难以实现宽位乘法器,基于PLD 器件外接ROM 九九表的乘法器则无法构成单片系统,也不实用。这里介绍由八位加法器构成的以时序逻辑方式设计的八位乘法器,具有一定的实用价值,而且由FPGA 构成实验系统后,可以很容易的用ASIC 大型集成芯片来完成,性价比高,可操作性强。其乘法原理是:乘法通过逐项移位相加原理来实现,从被乘数的最低位开始,若为1,则乘数左移后与上一次的和相加;若为0,左移后以全零相加,直至被乘数的最高位。
三、实验逻辑图:
四、实验代码:
1) 选通与门模块的源程序ANDARITH.VHD LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY ANDARITH IS PORT (ABIN:IN STD_LOGIC;
DIN:IN STD_LOGIC_VECTOR (7 DOWNTO 0) DOUT:OUT STD_LOGIC_VECTOR (7 DOWNTO 0)); END ANDARITH;ARCHITECTURE ART OF ANDARITH IS BEGIN
PROCESS (ABIN ,DIN) BEGIN
FOR I IN 0 TO 7 LOOP
DOUT (I)<=DIN (I)AND ABIN; END LOOP;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.
课程设计
.
教学院计算机学院
课程名称计算机组成原理题目4位乘法整列设计专业计算机科学与技术班级2014级计本非师班姓名唐健峰
同组人员黄亚军
指导教师
2016 年10 月 5 日
1 课程设计概述
1.1 课设目的
计算机组成原理是计算机专业的核心专业基础课。课程设计属于设计型实验,不仅锻炼学生简单计算机系统的设计能力,而且通过进行设计及实现,进一步提高分析和解决问题的能力。
同时也巩固了我们对课本知识的掌握,加深了对知识的理解。在设计中我们发现问题,分析问题,到最终的解决问题。凝聚了我们对问题的思考,充分的锻炼了我们的动手能力、团队合作能力、分析解决问题的能力。
1.2 设计任务
设计一个4位的二进制乘法器:
输入信号:4位被乘数A(A1,A2,A3,A4), 4位乘数B(B1,B2,B3,B4),
输出信号:8位乘积q(q1,q2,q3,q4,q5,q6,q7,q8).
1.3 设计要求
根据理论课程所学的至少设计出简单计算机系统的总体方案,结合各单元实验积累和课堂上所学知识,选择适当芯片,设计简单的计算机系统。
(1)制定设计方案:
我们小组做的是4位阵列乘法器,4位阵列乘法器主要由求补器和阵列全加器组成。
(2)客观要求
要掌握电子逻辑学的基本内容能在设计时运用到本课程中,其次是要思维灵活遇到问题能找到合理的解决方案。小组成员要积极配合共同达到目的。
2 实验原理与环境
2.1 1.实验原理
计算机组成原理,数字逻辑,maxplus2是现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
用乘数的每一位去乘被乘数,然后将每一位权值直接去乘被乘数得到部分积,并按位列为一行每一行部分积末位与对应的乘数数位对齐,体现对应数位的权值,将各次部分积求和得到最终的对应数位的权值。
2.2 2.实验环境
2.2.1双击maxplu2II软件图标,启动软件
(1).新建工程,flie->new project ....,出现存储路径的选项框,指定项目保存路径并且为工程命名,第三行设置实体名,保持与工程名一致。点击OK
(2).原理图输入 (1) 建立图形输入文件在图 1-16 中的 File 菜单的project 项下选择“New…”,出现图 1-18 所示的对话框
选择“Graphic Editor file”后,单击“OK”,出现图 1-19 即可开始建立图形输入文件
(3). 调入元件符号在图 1-19 图形编辑区双击鼠标左键可打开“Enter symbol”对话框,如图 1-20 所示。在该对话框你可选择需要输入的元件/逻辑符
号。例如你可选择一个计数器,一个与门等
3 总体方案设计总体结构图
图3 总体结构图一
根据an与bn的乘积,然后相应的am与bm与运算,可得到qn的值,最后按从大到小的顺序排列qn,即为计算结果。如下所示:
1 1 0 0
* 0 1 0 1
1 1 0 0
0 0 0 0
1 1 0 0
0 0 0 0
0 1 1 1 1 0 0
即为十进制的12*5=60
1.设计方案
(1)为了进一步提高乘法运算速度,可采用类似人工计算的方法,阵列的每一行送入乘数Y的每一数位,而各行错开形成的每一斜列则送入被乘数的每一数位。
(2)4×4阵列乘法器可以由一定数量的4个输入加法器构成的;
(3)4个输入加法器可以由多个全加1器(74283)构成;
详细设计与实现
4*4乘法的设计主要包括以下几个主要的模块的设计
3.1.2 一位全加器的设计与实现
一位全加器的逻辑图,如下图所示:
图5 一位全加器的逻辑图
3.1.3 四位及八位求补电路的设计
原图:
四位求补电路的逻辑图,如下图所示:
图6 四位求补电路的逻辑图八位求补电路的逻辑图,如下图所示:
图7 八位求补电路的逻辑图
3.1.4 阵列乘法器的设计: 4×4阵列乘法器的逻辑图,如下图所示:
图8 4×4阵列乘法器的逻辑图
图9 阵列乘法器的电路原理图
4 实验过程与调试实验仿真图:
图10 仿真结果
4 位*4位乘法器的仿真结果如图:
图11 4*4的乘法器仿真图
4.1 主要故障与调试
4.1.1 故障 1 这次课程设计的精华之一
就是设计阵列乘法器刚开始时由于按照
课本上的设计所以掉下了好多的与门所
以在仿真的时候出现了好多的问题,后
在老师的指导下,,得以改进了设计和避
免了很多的连线的错误,提高了速度
4.1.2 故障2 在实验的时候,对实验的软
件和装置很不是熟悉,导致文件的命名
时经常出错,而且问题还不宜被发现,
在老师的提示下照到了问题的所在,后
来就没有遇到类似的问题。
4.1.3 故障3 在做求补电路的时候我们做的事4位的求补器但是需要8位的求补
器所以我们就拿两个4位的求补器去连接结果由于连线的错误导致了好多的错误,后来我们直接连接8位的求补器就解决了问题。
5 设计总结与心得
5.1 课设总结
基于对象的存储是为了克服当前基于块的存储存在的诸多难题,在存储接口和结构层次的重要发展。可以根据应用负载选择优化的存储策略。作了如下几点工作:
1)我们小组负责的是阵列乘法器的设计,通过小组的合作我们一次完成了全加器、求补器、阵列乘法器然后完成了综合的
拼接工作,虽然在最后的阶段出了一些问题但是我们小组掌
握了此次设计的核心内容达到了实验的目的。
2)此次看课程设计我们实现任意给定两位四位二进制的相乘运算,相乘积的计算结果为8位二进制。将移位复制的被乘数
依次对准乘数数位的位置进行排列,然后将各列相加。如果
乘数的某一数位为0,将跳过相应的被乘数,下一个复制被乘
数的位置是由向乘数的最高位方向移动时有1出现的位置3)这次课程设计虽然没有在规定的时间内完成要求的任务,但是我们小组每一个组员都认真负责的设计,对组成原理这门
学科的了解更加深刻,学到了好多以前不曾知道的知识。其
他需要总结的内容,(自行修订扩充)。
5.2 课设心得
在还没有作课程设计时我是比较畏惧组成原理这门课设的,毕竟前几次小实验每每都是做得很不尽人意,总是不能在老师规定的时间内完成,所以担心这种不好的过程会给后面的大实验也即课设