逻辑最小化
带有输入变量的k -map
输入的变量映射通过视觉上最小化k映射进一步简化了过程。地图的压缩使得多变量系统更容易可视化和最小化。
真值表提供了完全指定给定组合逻辑电路行为的最佳机制,而k映射提供了可视化和最小化数字逻辑电路的输入输出关系的最佳机制。到目前为止,我们已经展示了真值表左上角和k -map外围的输入变量。这允许将输出信号的每个状态定义为真值表中给定行上的0和1输入模式的函数,或者定义为给定K-map单元格的二进制编码。在不丢失任何信息的情况下,真值表和K-map可以通过将输入变量从真值表的左上角移动到输出列,或从K-map的外部移动到K-map的单元格内部,将其转换为更紧凑的形式。虽然直到后面的模块才会清楚,使用进入变量压缩真值表和k -映射通常使多变量系统更容易可视化和最小化。
转换机制如下图所示,其中16行真值表被压缩为8行和4行真值表。在8行真值表中,变量D不再用于标识输入列。相反,它出现在输出列中,对两行输出逻辑值和D输入之间的关系进行编码。在4行真值表中,变量C和D不再用于标识输入列,而是用于在输出列中编码四行输出逻辑值与C和D输入之间的关系。
4单元格的K-map被复制到右边,这一次显示了隐含的子映射,用于说明A和B变量的四个唯一值中的每个值的C和D之间的关系。对于任何输入的变量K-map,考虑(或实际绘制)子映射可以帮助识别输入变量的正确编码。注意,真值表行号可以通过读取K-map索引代码(从超级映射代码开始)并附加子映射代码来映射到子映射中的单元格。例如,子地图中的着色框位于框号1110。
下面演示了相同的映射压缩,显示了从未压缩的k -map直接到压缩的k -map的映射。颜色显示了如何将未压缩映射中的单元格转换为压缩映射中的单元格。注意,16单元映射中的两个单元在8单元映射中被压缩为单个单元,16单元映射中的四个单元在4单元映射中被压缩为单个单元。
Minterm SOP方程和maxterm POS方程也可以直接转换为输入的变量K-map,如下图所示(K-map单元格底部较小的数字表示分配给该单元格的Minterm或maxterm数)。当将minterms或maxterms编码到K-maps时,假设输入变量的最小数量。例如,如果最大的minterm present是14,则假设有4个输入变量。
循环输入变量k -map遵循与循环'1-0' map相同的一般原则——SOP电路寻求1和输入变量(ev)的最优分组,POS电路寻求0和ev的最优分组。规则是相似的:所有电动汽车和所有1(或0)都必须按最大的“2”次方大小的矩形或正方形分组,当所有电动汽车和所有1(或0)都包含在一个最优环路中时,这个过程就完成了。不同之处在于,类似的电动汽车可以自己包含在循环中,或者以1(或0)的形式包含在循环中,并且在以1(或0)的形式包含循环单元时必须小心,因为'1'(或'0')表示所有可能的电动汽车组合都存在于该map单元中,而包含1(或0)和电动汽车的循环通常只包含电动汽车可能组合的子集(如下图4所示)。当所有minterms或maxterms都包含在一个适当的组中时,EV K-map的循环就完成了。也许最具挑战性的方面是确保所有可能的电动汽车组合都已在包含1(或0)的单元格中计算。
为了帮助理解EV K-map中的循环,考虑每个K-map单元所隐含的子映射可能会有所帮助。如下图所示,K-map单元格中的变量可以通过循环将“1-0”信息输入隐含子映射的单元格中产生。EV K-map中相邻单元格中的信息循环可以包括子映射中出现在子映射中相同位置的1(或0)。
在读取循环方程时,每个循环的SOP乘积项(或POS求和项)必须包含定义环路域和环路中包含的ev的变量。例如,在下面的第一个例子中,第一个SOP术语$\overline{A}\cdot \overline{B}\cdot D$包括循环域$\overline{A}\cdot \overline{B}$和输入的变量D。
输入的变量映射中的单元格可能包含一个输入变量或两个或多个变量的逻辑表达式。当循环包含逻辑表达式的细胞时,它有助于识别SOP和POS循环机制的差异。与K-map单元中的单个EV相比,单元中的product term代表较小的SOP域,因为product term中的AND'ed变量越多,定义的逻辑域就越小。单元格中的和项表示较大的SOP域,因为和项中的OR'ed变量越多,定义的逻辑域越大。当从EV映射中循环SOP方程时,包含product项的单元在其子映射中比包含单个EV的单元具有更少的1,而包含sum项的单元包含更多的1。类似地,当从EV映射中循环POS方程时,包含和项的单元格在其子映射中比包含单个EV的单元格有更少的0,而包含乘积项的单元格包含更多的0。
不要关心输入的变量k -map的作用与“1-0”映射的作用相同;它们指示不能出现的输入条件或不相关的输入条件,并且可以根据需要将它们包含在1、0或输入变量组中,以最小化逻辑。如下面的图5所示,一个给定的don't care可以作为一个'1','0',或作为任何特定循环所需的输入变量。
重要思想
-
在不丢失任何信息的情况下,真值表和K-map可以通过将输入变量从真值表的左上角移动到输出列,或从K-map的外部移动到K-map的单元格内部,将其转换为更紧凑的形式。
-
Minterm SOP方程和maxterm POS方程也可以直接转换为输入的变量k -map。
-
循环输入的变量k -map遵循与循环'1-0' map相同的一般原则。
-
输入的变量映射中的单元格可能包含一个输入变量或两个或多个变量的逻辑表达式。
-
不要在意输入的变量k -map的作用与“1-0”映射相同。