p61q16_homework
功能真值表
编码 | 功能 |
---|---|
0 0 0 | 算数加 |
0 0 1 | 算数减 |
0 1 0 | 加一 |
0 1 1 | 传送 |
1 0 0 | 逻辑加 |
1 0 1 | 逻辑乘 |
1 1 0 | 取反 |
1 1 1 | 求补 |
- 前四个为算数运算,后四个为逻辑运算
总电路图
设计细节
- 控制器与辅助控制输出部件
采用138译码器,根据功能真值表设计相关电路。138译码器输出为低电平有效,即有效引脚输出低电平,其余输出高电平。
上图的非门和与非门皆是为了提供一个低电平(因为无效输出为高电平),使得计算结果经过一个与门后输出为0,保证只有一个结果能够输出。如下图,结果都进行一遍与处理
- 逻辑运算部件
①为逻辑加运算,②为逻辑乘运算,③为反向运算,④为求补运算
其中④求补电路原理为,当符号位为1时,从低位至高位遍历,遇见第一个1之后的所有位取反,符号位为0,则直接输出结果。
- 算数运算部件
①,②皆为控制B值的逻辑元件,③是一个四位全加器
当做加法时,即A+B+0,B不需要做任何处理,则U20A
输出高电平,U18A
输出低电平,且加法器C0为0,此时因为执行000加法操作,所以控制器(128译码器)只有Y0输出低电平 ,其余皆输出高电平。
当做减法时,即A+^b+1,B需要为[-B]补,即取反加一。②采用的异或门,又称为可控反向门,当一个脚输入为1时,输出为另一个脚的非,所以此时我们需要U18A
提供一个高电平,而加一操作可以通过③的C0提供。此时执行001,Y1输出低电平,其余输出高电平。
当做加一时,即A+0+1,B需要置为0。①采用的与门,只有要一个脚为0,结果就为0,所以此时我们需要U20A
能提供一个低电平,而加一操作仍是通过③的C0提供。此时执行010,Y2输出低电平,其余输出高电平。
当做传送时,即A+0+0,B需要置为0。在加一的基础上将③的C0置为0.
综上要求,所以在这我们的U19A
采用一个与非门,U20A
采用一个与门,U18A
采用一个非门。
- 连接部件
因为我们在一开始对每一个结果都进行了与处理,只有一个有效的结果会输出,其他的结果均变成0,所以只需要在对所有的部件进行或连接