企业网站Wap在线生成,网络营销自学网站,鱼滑怎么制作教程,绍兴网站的优化卡诺图是一种逻辑化简工具#xff0c;用来在布尔函数的最小项和形式中#xff0c;找到冗余项并实现逻辑化简。也可用于HDL中竞争和冒险的判断。
最小项
任何一个逻辑函数都能化简为最小项的和的形式对于 n 个变量的布尔表达式#xff0c;每个变量都必须以原变量#xff0…卡诺图是一种逻辑化简工具用来在布尔函数的最小项和形式中找到冗余项并实现逻辑化简。也可用于HDL中竞争和冒险的判断。
最小项
任何一个逻辑函数都能化简为最小项的和的形式对于 n 个变量的布尔表达式每个变量都必须以原变量如A或非变量即否定的形式A’出现且在每个最小项中只能出现一次。每个最小项代表一个特定的输入组合。例假设有两个变量 A A A 和 B B B则最小项可以表示为 A ′ B ′ : 对应 ( A , B ) ( 0 , 0 ) AB : \text{对应 } (A, B) (0, 0) A′B′:对应 (A,B)(0,0) A ′ B : 对应 ( A , B ) ( 0 , 1 ) AB : \text{对应 } (A, B) (0, 1) A′B:对应 (A,B)(0,1) A B ′ : 对应 ( A , B ) ( 1 , 0 ) AB : \text{对应 } (A, B) (1, 0) AB′:对应 (A,B)(1,0) A B : 对应 ( A , B ) ( 1 , 1 ) AB : \text{对应 } (A, B) (1, 1) AB:对应 (A,B)(1,1)
格雷码
格雷码Gray Code是一种特殊的二进制编码每相邻两个数之间只有一个位发生变化。格雷码的这种特性在某些应用中可以减少误差和干扰因此被广泛用于数字电路设计、编码器、存储器地址生成、错误校验等领域。 格雷码可以循环排列即从最大值到最小值过渡时也只有一个位变化。 n 位的格雷码可以通过以下递归方式生成 0 位格雷码 G ( 0 ) [ 0 ] \text{G}(0) [0] G(0)[0]1 位格雷码 G ( 1 ) [ 0 , 1 ] \text{G}(1) [0, 1] G(1)[0,1]n 位格雷码将 n-1 位格雷码的所有数按顺序排列然后将 n-1 位格雷码的所有数按逆序排列。然后在第一个排列前加 0在第二个排列前加 1。 2 位格雷码生成过程 从 1 位格雷码 [ 0 , 1 ] [0, 1] [0,1] 开始。正序排列[0, 1]在前面加 0 得到 [ 00 , 01 ] [00, 01] [00,01]。逆序排列[1, 0]在前面加 1 得到 [ 11 , 10 ] [11, 10] [11,10]。合并得出 2 位格雷码为 [ 00 , 01 , 11 , 10 ] [00, 01, 11, 10] [00,01,11,10]。 3 位格雷码生成类似 正序排列[00, 01, 11, 10]前面加 0 得到 [ 000 , 001 , 011 , 010 ] [000, 001, 011, 010] [000,001,011,010]。逆序排列[10, 11, 01, 00]前面加 1 得到 [ 110 , 111 , 101 , 100 ] [110, 111, 101, 100] [110,111,101,100]。合并得到 3 位格雷码为 [ 000 , 001 , 011 , 010 , 110 , 111 , 101 , 100 ] [000, 001, 011, 010, 110, 111, 101, 100] [000,001,011,010,110,111,101,100]。 二进制到格雷码的转换:一个给定的二进制数可以通过以下公式转换为格雷码 对于二进制数 B B n − 1 B n − 2 … B 1 B 0 B B_{n-1} B_{n-2} \dots B_1 B_0 BBn−1Bn−2…B1B0相应的格雷码 G G n − 1 G n − 2 … G 1 G 0 G G_{n-1} G_{n-2} \dots G_1 G_0 GGn−1Gn−2…G1G0 可以表示为 G n − 1 B n − 1 G_{n-1} B_{n-1} Gn−1Bn−1 G i B i ⊕ B i 1 G_i B_i \oplus B_{i1} GiBi⊕Bi1对相邻位进行异或操作
卡诺图与最小项的表示
卡诺图是一种将布尔函数的最小项排列在网格上的方法可以更直观地找到可以合并的最小项。卡诺图中的每个方格代表一个最小项而方格的排列顺序遵循格雷码相邻的方格之间仅有一个变量变化。
在卡诺图中相邻的1最小项可以合并为一个更简化的项。例如
两个相邻的最小项可以合并为一个二变量的项。四个相邻的最小项可以合并为一个一变量的项。八个相邻的最小项可以简化为一个常数项。
卡诺图在最小项和表达式中的应用
通过卡诺图可以将最小项的和形式转换成更简化的逻辑表达式步骤如下
标记最小项在卡诺图中标记所有输出为1的最小项。寻找合并区域将相邻的1组成成组的区域尽可能合并更多的相邻项如2的幂次个2、4、8等。写出化简表达式合并后的区域直接写出更简单的逻辑表达式。例如四个相邻的最小项可以写成一个没有变化变量的项。得到简化的SOP表达式最终通过卡诺图的合并过程得到逻辑函数的最简化 SOP 表达式。
举例说明
假设一个布尔函数 F ( A , B , C ) F(A, B, C) F(A,B,C) 的最小项和为 F ( A , B , C ) m 1 m 3 m 5 m 7 F(A, B, C) m_1 m_3 m_5 m_7 F(A,B,C)m1m3m5m7
在三变量的卡诺图中标记出 m 1 , m 3 , m 5 , m 7 m_1, m_3, m_5, m_7 m1,m3,m5,m7 所对应的格子并进行合并得出最简化的表达式 F ( A , B , C ) m 1 m 3 m 5 m 7 F(A, B, C) m_1 m_3 m_5 m_7 F(A,B,C)m1m3m5m7 F ( A , B , C ) F(A, B, C) F(A,B,C)中任意相邻的两项可以消掉一个变量比如 m 1 m_1 m1和 m 3 m_3 m3相邻, m 1 m 3 ( A ′ B ′ C ) ( A ′ B C ) A ′ ( B ′ B ) C A ′ C m_1 m_3(ABC)(ABC)A(BB)CAC m1m3(A′B′C)(A′BC)A′(B′B)CA′C 同样 m 5 m 7 ( A B ′ C ) ( A B C ) A ′ ( B ′ B ) C A C m_5 m_7(ABC)(ABC)A(BB)CAC m5m7(AB′C)(ABC)A′(B′B)CAC F ( A , B , C ) C F(A, B, C) C F(A,B,C)C 使用卡诺图时圈出这四个最小项可发现这四个最小项可以被一个2x2的方块覆盖。所以 m 1 m 3 m 5 m 7 m_1m_3m_5m_7 m1m3m5m7 可以简化为 C C C因为四个相邻的最小项可以合并为一个一变量的项,且所有这些项都有 C C C的出现
CG
图片地址添加链接描述