-
2021-07-23 01:28:14
1.课程设计的内容和要求
内容:设计四位原码乘法器电路。
耍求:1 .有关资料,设计乘法器电路;
画出乘法器逻辑图;
在实验箱上完成乘法器电路的组装,调试,核对记录,测试有关数据, 通过老师当场验收;
4 .完成课程设计报告。
1.课程设计原理
运用存储器的存储功能实现数字的存储。令电路的初始状态为000,000,000000 o 以二进制的形式输入数字,计算方式是以十进制数字乘法。输入的数字为三位数字, 输出的是六位数字。先存储输入的乘数和乘积,然后再将乘积的导线端连到输出段, 此时Z前输入的乘积就可以在输出端显示。
此时序电路的真值表为:
A5
A4
A3
A2
A1
A0
F5F4F3F2F1F0
0
0
0
0
0
0
000000
0
0
0
0
0
1
000000
0
0
0
0
1
0
000000
0
0
0
0
1
1
000000
0
0
0
1
0
0
000000
0
0
0
1
0
1
000000
0
0
0
1
1
0
000000
0
0
0
1
1
1
000000
0
0
1
0
0
0
000000
0
0
1
0
0
1
000001
0
0
1
0
1
0
000010
0
0
1
0
1
1
000011
0
0
1
1
0
0
000100
0
0
1
1
0
1
000101
0
0
1
1
1
0
000110
0
0
1
1
1
1
000111
0
1
0
0
0
0
000000
0
1
0
0
0
1
000010
0
1
0
0
1
0
000100
0
1
0
0
1
1
000110
0
1
0
1
0
0
001000
0
1
0
1
0
1
001010
0
1
0
1
1
0
001100
0
1
0
1
1
1
001110
0
1
1
0
0
0
000000
0
1
1
0
0
1
000011
0
1
1
0
1
0
000110
0
1
1
0
1
1
001001
0
1
1
1
0
0
001100
0
1
1
1
0
1
001111
0
1
1
1
1
0
010010
0
1
1
1
1
1
010101
1
0
0
0
0
0
000000
1
0
0
0
0
1
000100
1
0
0
0
1
0
001000
1
0
0
0
1
1
001100
1
0
0
1
0
0
010000
1
0
0
1
0
1
010100
1
0
0
1
1
0
011000
1
0
0
1
1
1
011100
1
0
1
0
0
0
000000
1
0
1
0
0
1
000101
1
0
1
0
1
0
001010
1
0
1
0
1
1
001111
1
0
1
1
0
0
010100
1
0
1
1
0
1
011001
1
0
1
1
1
0
011110
1
0
1
1
1
1
100011
1
1
0
0
0
0
000000
1
1
0
0
0
1
000110
1
1
0
0
1
0
001100
1
1
0
0
1
1
010010
1
1
0
1
0
0
011000
1
1
0
1
0
1
011110
1
1
0
1
1
0
100100
1
1
0
1
1
1
101010
1
1
1
0
0
0
000000
1
1
1
0
0
1
000111
1
1
1
0
1
0
001110
1
1
1
0
1
1
010101
1
1
1
1
0
0
011100
1
1
1
1
0
1
100011
1
1
1
1
1
0
101010
1
1
1
1
1
1
110001
1.课程设计思路
本次课程设计的题目为四位原码乘法器,利用真值表输入乘数时,需要存放数 字,于是我杳阅了一些资料,用存储器可以实现这一电路,所以木实验中用到的是 INTEL 2114 芯片。
具体实现过程如下图:
1.课程设计所需的器材
1.2114是一个容量为1K4位的静态RAM芯片,常用于寄存器。 其具体的引脚图为:
此芯片的电路图为:
2 ?数字电路实验箱
3.导线若干
1.课程设计实现
本次课程设计的题目是四位原码乘法器电路。
此部分只用到了2块INTEL2114芯片,具体连接如下:
1、先将这些芯片按在电路板上(注意不耍插反,否者容易烧毁芯片)。
2、将两片芯片的A6和GND端,A7,A&A9接地。
3、Vcc端接电压5V,药接存储端,呢端接控制端。
4、两块芯片的A5, A4, A3组成一个乘数,AO,A1,A2组成另一个乘数。莫屮一块芯
片的1/01, 1/02, 1/03, 1/04和另一块芯片的1/01, 1/02组成耍求的乘积。乘数与乘积 的显示方式均为二迓制,但是计算方法是以十进制数的乘法法则计算。
1.调试
更多相关内容 -
原码乘法
2020-07-16 20:02:52 -
原码乘法,原码乘法原理详解
2021-07-17 00:35:59原码乘法,原码乘法原理详解1.人工算法与机器算法的同异性在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数...原码乘法,原码乘法原理详解
1.人工算法与机器算法的同异性
在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或运算得到,而乘积的数值部分则是两个正数相乘之积。
设n位被乘数和乘数用定点小数表示(定点整数也同样适用)
被乘数 [x]原=xf .xn-1…x1x0
乘数 [y]原=yf .yn-1…y1y0
则乘积
[z]原=(xf⊕yf)+(0.xn-1…x1x0)(0.yn-1…y1y0) (2.26)
式中,xf为被乘数符号,yf为乘数符号。
乘积符号的运算法则是:同号相乘为正,异号相乘为负。由于被乘数和乘数和符号组合只有四种情况(xfyf=00,01,10,11),因此积的符号可按“异或”(按位加)运算得到。
数值部分的运算方法与普通的十进制小数乘法类似,不过对于用二进制表达式的数来说,其乘法规则更为简单一些。
设x=0.1101,y=0.1011.让我们先用习惯方法求其乘积,其过程如下:
运算的过程与十进制乘法相似:从乘数y的最低位开始,若这一位为“1”,则将被乘数x写下;若这一位为“0”,则写下全0。然后在对乘数y的最高为进行乘法运算,其规则同上,不过这一位乘数的权与最低位乘数的权不一样,因此被乘数x要左移一位。以此类推,直到乘数个位乘完为止,最后将它们统统加起来,变得到最后乘积z。
如果被乘数和乘数用定点整数表示,我们也会得到同样的结果。
人们习惯的算法对机器并不完全适用。原因之一,机器通常只有n位长,两个n位数相乘,乘积可能为2n位。原因之二,只有两个操作数相加的加法器难以胜任将各n位积一次相加起来的运算。早期计算机中为了简化硬件结构,采用串行的1位乘法方案,即多次执行“加法—移位”操作来实现。这种方法并不需要很多器件。然而串行方法毕竟太慢,自从大规模集成电路问世以来,出现了各种形式的流水式阵列乘法器,它们属于并行乘法器。
图2.4 m×n位不带符号的阵列乘法器逻辑图
2.不带符号的阵列乘法器
设有两个不带符号的二进制整数:
A=am-1…a1a0
B=bn-1…b1b0
它们的数值分别为a和b,即
在二进制乘法中,被乘数A与乘数B相乘,产生m+n位乘积P:
P=pm+n-1…p1p0
乘积P 的数值为
实现这个乘法过程所需要的操作和人们的习惯方法非常类似:
上述过程说明了在m位乘n位不带符号整数的阵列乘法中,“加法—移位”操作的被加数矩阵。每一个部分乘积项(位积)aibj叫做一个被加数。
这m×n个被加数{aibj|0≤i≤m-1和0≤j≤n-1}
可以用m×n个“与”门并行地产生。显然,设计高速并行乘法器的基本问题,就在于缩短被加数矩阵中每列所包含的1的加法时间。
这种乘法器要实现n位×n位时,需要n(n-1)个全加器和n2个“与”门。该乘法器的总的乘法时间可以估算如下:
令Ta为“与门”的传输延迟时间,Tf为全加器(FA)的进位传输延迟时间,假定用2级“与非”逻辑来实现FA的进位链功能,那么我们就有:
Ta = Tf = 2T
从演示中可知,最坏情况下延迟途径,即是沿着矩阵P4垂直线和最下面的一行。因而得n位×n位不带符号的阵列乘法器总的乘法时间为:
tm=Ta+(n-1)×6T+(n-1)×Tf
=2T+(n-1)×6T+(n-1)×2T=(8n-6)T (2.27)
[例16] 已知两个不带符号的二进制整数A=11011,B=10101,求每一部分乘积项aibj的值与p9p8……p0的值。
[解:]
a4b0=1 a3b0=1 a2b0=0 a1b0=1 a0b0=1
a4b1=0 a3b1=0 a2b1=0 a1b1=0 a0b1=0
a4b2=1 a3b2=1 a2b2=0 a1b2=1 a0b2=0
a4b3=0 a3b3=0 a2b3=0 a1b3=0 a0b3=0
a4b4=1 a3b4=1 a2b4=0 a1b4=1 a0b4=1
P=p9p8p7p6p5p4p3p2p1p0=1000110111(56710)
3.带符号的阵列乘法器
(1) 对2求补器电路
我们先来看看算术运算部件设计中经常用到的求补电路。一个具有使能控制的二进制对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位的对2求补器中,,如果输入数为1010,那么输出数应是0110,其中从右算起的第2位,就是所遇到的第一个“1”的位置。用这种对2求补器来转换一个(n+1)为带符号的数,所需的总时间延迟为
tTC=n·2T+5T=(2n+5)T (2.28)
其中每个扫描级需2T延迟,而5T则是由于“与”门和“异或”门引起的。
(2) 带符号的阵列乘法器
(n+1)×(n+1)位带求补器的阵列乘法器逻辑方框图
通常,把包括这些求补级的乘法器又称为符号求补的阵列乘法器。在这种逻辑结构中,共使用三个求补器。其中两个算前求补器的作用是:将两个操作数A和B在被不带符号的乘法阵列(核心部件)相乘以前,先变成正整数。而算后求补器的作用则是:当两个输入操作数的符号不一致时,把运算结果变成带符号的数。
设A=anan-1…a1a0和B=bnbn-1…b1b0均为用定点表示的(n+1)位带符号整数。在必要的求补操作以后,A和B的码值输送给n×n位不带符号的阵列乘法器,并由此产生2n位真值乘积:
A·B=P=p2n-1…p1p0
p2n=an⊕bn
其中P2n为符号位。
上面所示的带求补级的阵列乘法器既适用于原码乘法,也适用于间接的补码乘法。不过在原码乘法中,算前求补和算后求补都不需要,因为输入数据都是立即可用的。而间接的补码阵列乘法所需要增加的硬件较多。为了完成所必需的乘法操作,时间大约比原码阵列乘法增加1倍。
[例17] 设x=+15,y=-13,用带求补器的原码阵列乘法器求出乘积x·y=?
[解:]
设最高位为符号位,则输入数据为
[x]原=01111 [y]原=11101
符号位单独考虑,算前求补级后 |x|=1111,|y|=1101
算后经求补级输出并加上乘积符号位1,则原码乘积值为111000011。
换算成二进制数真值是
x·y=( -11000011)2=(-195)10
十进制数验证:x×y = 15× (-13) = -195相等。
[例18] 设x=+15,y=-13,用带求补器的补码阵列乘法器求出乘积x·y=?
[解:]
设最高位为符号位,则输入数据用补码表示为
[x]补=01111 [y]补=10011
符号位单独运算,x0⊕y0=0+1=1
尾数部分算前求补器输出为: |x|=1111,|y|=1101
算后求补器输出为00111101,加符号位1,得
[x·y]补=100111101
补码二进制数真值是
x·y=-1×28+1×25+1×24+1×23+1×22+1×20=(-195)10
十进制数验证: x×y=(+15)×(-13)=-195相等。
-
模拟一位原码乘法
2012-12-19 17:41:57自己初做的一个模拟一位原码乘法,感兴趣和想研究计组的朋友可以看看, -
原码乘法运算(计算机组成原理17)
2020-10-12 11:19:59- 计算机中原码乘法的实现过程 - 手算模拟原码一位乘法原码乘法运算
视频链接地址: https://www.bilibili.com/video/BV1BE411D7ii?from=search&seid=6420326887479343502
前言
在本篇中,你将掌握
- 计算机中原码乘法的实现过程
- 手算模拟原码一位乘法
1 原码一位乘法
原码的乘法实现原理如上图所示,在运算器中,MQ(乘商寄存器)存储乘数、X(通用寄存器)存储被乘数、ACC存储乘积高位,符号位单独处理,对于数值位计算如下:
初始时,ACC全0,MQ乘数,X被乘数
接下来,乘数最低位若为1,则ACC加上被乘数;若为0,则ACC加0
然后,ACC和MQ进行逻辑右移,高位补0,ACC的低位移到MQ。注:每次加法后都要进行逻辑右移,重复n次上述机器乘法原理类似于人工乘法,注意理解
让我们来看一下手动模拟的方法
2 小结
本篇重点:请读者自行手算模拟原码的一位乘法,及ACC存储乘积高位、X存储被乘数、MQ存储乘数。 -
原码乘法运算
2021-03-17 13:36:211、原码一位乘法 首先,符号位和数值位要分开计算,因此分为两步: (1)确定乘积的符号位。由两个乘数的符号异或得到。 (2)计算乘积的数值位。 已知[x]原= X0.X1X2……Xn,[y]原= Y0.Y1Y2……Yn 通过数学推导得: ... -
原码一位乘法器实验报告(完整)+代码
2021-07-19 20:43:22华中科技大学计算机组成原理实验报告(完整)+代码参考 ---自己写的 ...1.掌握原码一位乘法运算的基本原理 2.熟练掌握 Logisim 寄存器电路的使用 3.能在 Logisim 平台中设计实现一个 8*8 位的无符号数乘法器。 -
Educoder画CPU 第二关一位原码乘法器 华中科技大学实验题
2021-05-12 11:16:28请删除第一行空行! 请删除第一行空行! 请删除第一行空行! -
计算机组成原理——原码乘法运算(※)
2021-05-13 16:32:09文章目录乘法运算的思想手算乘法(二进制)列竖式移位运算原码的一位乘法补充:运算器相关知识原码一位乘法实现方法:先加法再移位,重复n次手算模拟tips例题 乘法运算的思想 手算乘法(二进制) 例如: 算 0.1101×... -
计组之数据运算:6、原码乘法运算
2020-09-22 11:25:45原码乘法运算思维导图原码一位乘法原理实现:(类比十进制)机器实现:寄存器步骤演示:手算实现补码一位乘法硬件区别:手算实现 思维导图 原码一位乘法 先来看一下十进制乘法的本质原理: 原理实现:(类比十进制... -
计算机内原码乘法、除法的实现
2020-06-09 18:30:38计算机内原码的乘法和除法的实现方式 -
原码乘法与除法的设计与实现.docx
2019-06-17 16:40:321.输入数值位数不限,结果最多32位 2.X*Y、X/Y的计算同时进行,均显示出结果 3.由于除法位数为32位,精度足够,省略表示余数 4.除数为0时自动报错 5.计算可循环 -
原码乘法、补码乘法
2017-01-07 12:23:36原码乘法 1.人工算法与机器算法的同异性 在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或 运算得到,而乘积的数值部分则是两个正数相乘之积。 ... -
原码一位乘法运算器
2018-04-22 22:04:00用vhdl语言编写原码一位乘法运算器........................................................... -
八位原码乘法器(包含显示模块)
2018-10-28 13:53:47module mul(clk,k,kc,o,comscan);//this program is powered by tance input clk; input [7:0]k; input [2:0]kc; output reg [7:0]o; output reg [1:0]comscan; reg [7:0]A; reg [7:0]B;...reg [3:0]CR=4... -
原码乘法与补码乘法
2015-03-14 14:14:16原码乘法 1.人工算法与机器算法的同异性 在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号位按异或 运算得到,而乘积的数值部分则是两个正数相乘之积。 设n位被... -
汇编一位原码乘法器(八位二进制)
2008-12-19 13:49:42用汇编语言编写的原码一位乘法器,能进行八位二进制数的乘法运算 -
4乘4原码阵列乘法器
2020-12-16 19:54:351、通过multisim仿真平台,设计一个能计算含符号位的5位阵列乘法器,即内部为一个4×4阵列乘法器,符号位单独处理,如图6所示。 2、输入为两个5位含符号位的原码,输出结果亦是含符号位的原码。 图6 5×5阵列乘法器... -
一位原码乘法器 一位补码乘法器原理
2021-12-03 10:15:28一位原码乘法器 在定点计算机中,原码表示的两个数字相乘的计算规则是:乘积的符号位由两个数字的符号的异或运算得到,乘积的数字部分是两个正数的乘积。设n位被乘数和乘数用定点小数表示(定点整数也适用) 乘数:[x... -
原码一位乘法与补码一位乘法
2020-12-22 12:23:39原码1位乘法在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运算得到。而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点小数表示(定点整数也相同适用)被乘数[x]... -
二进制8位原码一位乘法程序.doc
2019-05-16 20:38:02二进制8位原码一位乘法程序,还有整个程序设计的流程,最后是运行效果 -
Logism-原码一位乘法器(计算机组成原理实验 头歌)
2022-04-22 21:44:58Logism-原码一位乘法器(计算机组成原理实验 头歌)Logism-原码一位乘法器(计算机组成原理实验 头歌)Logism-原码一位乘法器(计算机组成原理实验 头歌)Logism-原码一位乘法器(计算机组成原理实验 头歌)Logism-... -
原码一位乘法器设计.circ
2020-06-05 13:30:51原码一位乘法器设计 华中科技大学计算机组成原理 原码 -
计算机组成原理:原码的乘法运算
2022-01-15 11:39:26手动计算二进制乘法: 和十进制是一样的。 机械实现的问题: 一:符号位的处理 直接异或就可以了。接下来乘法的运算就是绝对值的运算了,因此符号位都变成0. 二:计算的过程 先回忆一下运算器... -
计算机组成原理(原码乘法、除法),补码乘法的矫正法
2021-07-10 07:00:49好,书归正传主要讲一下原码的一位乘、两位乘、除法以及矫正法一位乘不举例子了直接文字描述X*Y0.10010.1101开始乘法0.00000.1001 11010.1001 1101 乘完开始移位0.01001 1101 接着乘0.000000.01001 1101 移位... -
原码一位乘法器.rar
2020-07-11 17:14:17原码一位乘,两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。这里是原码的设计与实现,包括说明 -
一位原码乘法的计算
2015-07-07 10:42:09一位原码乘法的计算 -
课程设计报告——用硬件描述语言设计浮点乘法器(原码一位乘法)
2015-06-01 19:24:16完完整整的课程设计报告——用硬件描述语言设计浮点乘法器(原码一位乘法),仅去除了作者和指导老师名字