数字电路逻辑设计 卡诺图
目录
前言
在学习FPGA的时候,关于竞争和冒险的判断方法之一卡诺图法,当时有看到的说法是用卡诺图查看电路是否存在互斥电路。当时很不理解,然后就去看了一下同学的《数字电路逻辑设计》对这个知识点做个记录。
1、什么是卡诺图
将真值表转换成方格图的形式,按循环码的规矩来排列变量的取值组合,所得的真值表称为卡诺图。
循环码:相邻两组之间只有一个变量值不同的编码。(是不是觉得很像格雷码,唯一不同的是循环码还有一个条件就是最大的值与最小的值也只有一个变量不同,例如:00--01--11--10,第一个和第四个也是相邻的,是不是就循环了呢,循环码又称反射码)
变量为n,循环码的个数为2^n个
A B | A B C |
---|---|
0 0 | 0 0 0 |
0 1 | 0 0 1 |
1 1 | 0 1 1 |
1 0 | 0 1 0 |
1 1 0 | |
1 1 1 | |
1 0 1 | |
1 0 0 |
卡诺图和真值表只是表现形式不一样而且,调换了顺序。
2、用卡诺图表示逻辑函数的方法
2.1、对于不是最小项表达式的逻辑函数,一般是将逻辑函数转换成最小项再填图。
2.2、观察法:在逻辑函数与-或式中乘积项只要有一个变量因子的值为0,该乘积项为0;所有乘积项变量因子为1,该乘积项为1。
3、利用卡诺图合并最小项的规律
由于循环码的特性,凡是在卡诺图中处于相邻位置的最小项均可合并。
a. 尽最大可能圈住合并按2^n规则;
b.每个圈组合中至少有一个没被别的单元利用。
4、任意项
名词解释:任意项是指一个逻辑函数中,变量的某些取值组合不会出现,或者函数在变量的某些组合时输出不确定,可能为1,可能为0。也称为约束项。具有任意项的逻辑函数成为非完全描述的逻辑函数。
合理运用任意项来化简逻辑函数,对于非完全描述逻辑函数1格一定要加圈覆盖,任意格可以作为1格加圈合并,最后要指出化简过程中对任意项赋予了确定的输出值。