实验四
1. 实验目的
根据原理图实现乘法的电路设计并运行。
2. 实验原理
利用相加和移位操作实现原码一位乘法,基本硬件配置框图如图2-9。
原码一位乘,即两个原码数相乘,其乘积的符号为相乘两数符号的异或值,数值则为两数绝对值之积。
在计算时,用乘数寄存器的最低位来控制部分积是否与被乘数相加,然后右移部分积和乘数,同时乘数寄存器接收部分积右移出来的一位,完成运算后,部分积寄存器保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。
可采用74LS181作为加法器,74LS194作为移位寄存器;手动开关作为计数器。
图2-9 原码一位乘运算的基本硬件配置
原码一位乘法的规则:
⑴参加运算的操作数取其绝对值;
⑵令乘数的最低位为判断位,若为“ 1”,加被乘数,若为“0”,不加被乘数(加0);
⑷重复n次⑵和⑶ ;
⑸符号位单独处理,同号为正,异号为负。
通常,乘法运算需要3个寄存器。被乘数存放在B寄存器中;乘数存放在C寄存器中;
三、电路设计
1. 信号发生电路
因为A寄存器起着存储并移位的作用,所以它的时钟信号频率应为主时钟频率的2倍,占空比相同且都大于50%,如图2信号发生电路。
反馈信号 |
图2
2. 数据输入电路
两个4位二进制数用开关控制其输入高低电平,左边四个为被乘数输入端左高位右低位,右边四个为乘数输入端,左高位右低位,如图4数据输入电路。
3. 移位寄存电路
因为两个4位二进制数相加结果可能为5位二进制数,所以将两个74LS194芯片连成一个8位双向移位寄存器,被乘数和乘数分别保存在两个74LS194寄存器中,如图4移位寄存电路。
4. 加法电路
该电路将根据主时钟信号和乘数最低位数字有选择性的把A寄存器中的数据和被乘数或0000相加,相加结果传送到A寄存器的输入端,如图5加法电路。
5. 运算结束判断电路
用一个移位寄存器初始存储0000,随着主时钟信号右移输入1,当寄存器中四个输出端均为1时,返回给主时钟信号和辅助时钟信号一个低电平,所有时钟控制的芯片停止工作,此时A寄存器中存储乘积的高位,MQ寄存器中存储乘积的低电位,如图6运算结束判断电路。
6. 启动电路
四、性能的测试
按电路图连接好电路,根据闭合或打开S2至S9的开关确定输入的被乘数和乘数,打开仿真电源然后右掷S10,右上两个数码管(左端为高位,右端为地位)稳定后的显示即为乘法的结果,如图8。函数发生器信号发射如图9。表4.1列出了一些二进制数相乘的结果,一个结果出来后再计算其它值可先在输入端改正输入的乘数和被乘数,将开关S10左掷时瞬间清零,然后右掷,即可得出新测试的值。
表4.1
被乘数 | 乘数 | 被乘数(2进制) | 乘数(2进制) | 积 | 积(2进制) |
8 | 1 | 1000 | 0001 | 8 | 00001001 |
3 | 2 | 0011 | 0010 | 6 | 00000110 |
10 | 3 | 1010 | 0011 | 30 | 00011110 |
11 | 5 | 1011 | 0101 | 55 | 00110111 |
6 | 7 | 0110 | 0111 | 42 | 00101010 |
9 | 9 | 1001 | 1001 | 81 | 01010001 |
10 | 3 | 1010 | 0011 | 30 | 00011110 |
12 | 3 | 1100 | 0011 | 36 | 00100100 |
14 | 5 | 1110 | 0101 | 70 | 01000110 |
15 | 15 | 1111 | 1111 | 225 | 11100001 |
信号发生器正确的使用方法如下:
1:当外接+和GND端子时,输出正极性信号,幅值等于信号发生器的有效值。
2:当外接﹣和GND端子时,输出负极性信号,幅值等于信号发生器的有效值。
3:当外接+和﹣端子时,输出幅值等于信号发生器的有效值的两倍。
4:同时接+ GND和﹣三个端子时,输出两个幅度相等极性相反的两个信号。