组合逻辑电路:
目录
0x01 组合逻辑电路的分析
Si为本位和,Ci+1为本位向高位的进位。
0x02 组合逻辑电路的设计
最重要的一步是逻辑抽象:即确定实现这些需求需要有多少个输入,有多少个输出
只有确定了输入和输出才能写出真值表
理解:被减数-减数的过程中可能存在减不过的情况,这时需要向高位借位。那么反过来想,在计算本位的过程中,是不是也要考虑到低位是不是向本位借过位。
题目要求与或非们实现电路,按正常套路直接写最简与或式肯定没有非。我们可以先列出Cn+1的非的卡诺图,写出它的最简与或式,然后求非,就是题目要求的东西了
用异或门实现的套路是:直接把最小项写出来(用ABC表示),然后通过化简原式,把异或写出来
0x03 译码器
译码器是一个翻译器件,即将 二进制 转化为对应的10进制
例如 3 8译码器,就是将3位二进制转化为 0-7 8种10进制数
3-8译码器就是2-4译码器的扩展:
3-8译码器的工作原理:
译码器的应用:
解释:现在有数据D3D2D1D0,如何控制它们存入那个寄存器呢?
当A1A0 = 00的时候,只有Y0是有效电平,因此只有寄存器1被选中,数据存入寄存器1。同理,当A1A0=01的时候,只有Y1为有效电平,因此只有寄存器2被选中,数据存入寄存器2.
分析思路:
要想让译码器工作,E1必须为高电平,E2a和E2b必须为低电平,即
F1=1 => A5=1 A7=1
F2=0 => A4=0 A6=0
A3=0
所以,该译码器的译码范围为10100xxx
思路:A9到A3设计为使能端,然后A2 A1 A0设计为输入
因为F2比较复杂,所以用卡诺图化简。
作业:
0x03 编码器
将10进制数编码为 二进制数
例如 8 3编码器,0-7 8种10进制 转化为 二进制
0x04 数据选择器(MUX)
4选1数据选择器:
8选1数据选择器:
数据选择器的典型应用:
2.数据选择器实现组合逻辑函数:
(1)函数的输入变量数 < = 地址输入端数目:
Y中的m是地址端组成的最小项:地址最小项
F的m是输入变量组成的最小项
要想Y=F,只要将输入变量接入地址端,然后在最小项下标对应的D处接1即可。
(2)函数的输入变量数 > 地址输入端数目:
例题:
F有三个输入变量,而数据选择器MUX却只有2个地址端。
降维卡诺图解决该问题:
8选1MUX :2^3=8>>只有3个地址端
F:4个输入变量
所以4个输入变量只能选择3个放在地址端,假设选择ABC,则D必须体现在数据端。
现在需要将4变量的卡诺图降维成3变量的卡诺图。
ABC放在地址端,所以ABC为000的时候对应D0,ABC为010的时候对应D2,ABC为110的时候对应D6......
当ABC为000的时候,D0被输出,由图可知:D为0时D0为1,D为1时D0为0
所以D0 = D的非,同理可以求出其他Dx的公式
左图:ABC为地址端,D放在数据端
右图:ACD为地址端,B放在数据端
3.数据选择器可以将并行的数据转化为串行的数据传输出去。
4.序列信号:一串固定的01代码
我们可以将固定的01代码放置在输入的数据端,然后让地址端周期性的循环,那么就可以将数据端的01代码周期性的有序输出
数据选择器的扩展:
4选1MUX只有2个地址端,但是8选1MUX却有3个地址端
所以必须添加一个地址端。
首先,列出功能表:
然后根据功能表设计电路
A3和A2接在2-4译码器上,这样当A3 A2为00的时候,译码器的Y0被选中,
也就是说,数据选择器Y1 的使能端有效。
最终将四个数据选择器的输出或起来即可。
例如:当A1A0为00的时候,Y1选出来的是D0,Y2选出来的是D4,Y3选出来的是D8,Y4选出来的是D12
这些由上层数据选择器再次进行选择。
当A3A2为00的时候D0被选中,为01的时候,D4被选中,为11的时候,D8被选中