第三章组合逻辑电路设计与实践 第三章组合逻辑电路设计与实践 ◆内容见 Digital Design 逻辑函数的标准表示方法 ●组合逻辑电路分析与设计 且合逻辑电路的竟争与冒险 组合逻辑电路的vHDL描述 常用组合逻辑电路 只读存储器 31辽輯函救的准表杀方油 录小项( Minterm) ◆相同的真值表,不同的表达形式 ◆最小项与 Karnaugh Map、真值表 F=ABC+A BC F=(A+B+C)·(A+B+C) n个自变量的积项( product term,每变量出现 与或式积之和( Sum Of Products Expression) 标准与或式每项为最小项)例:AB.C ●任一最小项m,只有一种自变量取值组合使其为1, 最小项之和 Canonical sum)形式 m·m,=0 ●或与式和之积 Product Of Sum Expression) 标准或与式(每项为最大项)例:(A+B+C) 最大项之积( Canonical product)形式 录小項普码暴 录大项( Maxterm) ◆逻辑图 ◆n个自变量的求和项( sum term),每变量出现 次 C+b+A 任一是大项,只有一种自变量取值组乡为0 [[&|【& M,=0 日
1 2 第三章 组合逻辑电路设计与实践 内容见Digital Design zCh4 zCh5 3 第三章 组合逻辑电路设计与实践 z 组合逻辑电路分析与设计 z 逻辑函数的标准表示方法 z 只读存储器 z 常用组合逻辑电路 z 组合逻辑电路的竞争与冒险 z 组合逻辑电路的VHDL描述 4 3.1 逻辑函数的标准表示方法 相同的真值表,不同的表达形式 z与或式/积之和(Sum Of Products Expression) 标准与或式(每项为最小项) 最小项之和(Canonical sum)形式 z或与式/和之积(Product Of Sum Expression) 标准或与式(每项为最大项) 最大项之积(Canonical product)形式 F ABC ABC =⋅⋅+⋅⋅ F ABC ABC = ++ ⋅ ++ ( )( ) 例: A⋅ B C⋅ 例: ( ) A + B C+ 5 最小项(Minterm) (Minterm) 最小项与Karnaugh Map、真值表 n个自变量的积项(product term),每变量出现 一次,mi z 任一最小项mi ,只有一种自变量取值组合使其为1, 取值即序号i z z mi ⋅ mj = 0 n 2 1 0 1 mi − ∑ = C B A m0 m1 m2 m3 m4 m5 m6 m7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 CBA ⋅ ⋅ 6 最小项译码器 逻辑图 A B m0 1 1 A A & B B & & & m1 m2 m3 A B m0 1 1 A A B B m1 m2 m3 7 最大项(Maxterm) (Maxterm) n个自变量的求和项(sum term),每变量出现一 次,Mi z 任一最大项Mi ,只有一种自变量取值组合使其为0, 取值即序号i z z z z Mi + M j = 1 0 2 1 0 n ∏ = − Mi C B A M0 M1 M2 M3 M4 M5 M6 M7 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 Mi + mi = 1 ∑mi = ∏ Mi CBA + +
录大项译码 示侧C6 ◆逻辑图 ◆全加器 F=,+m, +2 +, 000 ++ 01001 F=∑m( 101 CO=∑m(3673 CO=∑m0.L,24) 录例1 录例1 ◆前四种标准形式 ◆后四种标准形式 CO=M+M5+M+M7CO=∑M()或非一或 C=M6+M,+M2+M.c=∑M().或非一或 CO=M·M5M6·M CO=∏M().或一与非 ∏M CO=∏m()与非一与非 CO=∏m(),与非一与非 录例2 3.2组合逻辑电路分析与设计 ◆标准形式转换 Analysis◆电路描述与设计 ●文字描述 F=∑m0,3,46,7)F=x了z+x,y.z+x2 +X.Y,Z+XF·Z °新铁墨关,确定入输出量,定文 ●罗列真值表(或时序图) ◆逻辑演算 逻辑函数形式(SOP或PoS F-∏M(25,F(x++2,(x+F+2(x+x+2 ●逻辑化简 ◆逻辑电路和逻辑图 Synthes
2 8 最大项译码器 逻辑图 M0 M1 M2 M3 A B 1 1 A A B B 1 1 1 1 A B M0 1 1 A A B B M1 M2 M3 9 示例C6 全加器 CI b a CO F 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 F = m1 + m2 + m4 + m7 CO = m3 + m5 + m6 + m7 3 F m = ∑ (1,2,4,7) 3 CO m = ∑ (3,5,6,7) CO b a FA F CI F = ∑m()i n 3 CO m = ∑ (0,1,2 4) , 10 示例1 前四种标准形式 CO = m3 + m5 + m6 + m7 CO = ∑mi n ( ) CO = M3 + M5 + M6 + M7 CO = ∑ Mi n ( ) 与-或 或非-或 CO = ∏ Mi n ( ) 或-与非 CO = ∏mi( )n 与非-与非 CO = m0 + m1 + m2 + m4 CO M M M M =⋅⋅⋅ 3567 CO m m m m =⋅⋅⋅ 3567 标准和式 11 示例1 后四种标准形式 CO = m0 + m1 + m2 + m4 CO = ∑mi n ( ) CO = M0 + M1 + M2 + M4 CO = ∑ Mi n ( ) 与-或非 或非-或非 CO = ∏ Mi n ( ) CO = ∏mi n ( ) 或-与非 标准积式 与非-与非 12 示例2 标准形式转换 3 F m = ∑ (0,3,4,6,7) F XYZ XYZ XYZ XYZ XYZ = ⋅⋅ + ⋅⋅+ ⋅⋅ +⋅⋅ + ⋅⋅ 3 F M = ∏ (1,2,5) F = ++ ⋅ ++ ⋅ ++ ( ) XYZ XYZ XYZ ( )( ) 13 3.2 组合逻辑电路分析与设计 电路描述与设计 z 文字描述 z 分析因果关系,确定输入输出量,定义 逻辑状态 z 罗列真值表(或时序图) 逻辑演算 z 逻辑函数形式(SOP或POS) z 逻辑化简 逻辑电路和逻辑图 Synthesis Analysis
示倒1 示倒1 e Most primitive functional description is the truth table e Number of input combinations grows exponentially with the number of inputs Y y expression F=(x+,z+,2,D )·Z+xy.z y+).(X+F+Y)、(X+F+Z)(Z+),( (X+Y+Z),(Z+X),(Z+Y),1 组合逻辑电路设计 组合逻辑电路的结构 电路描述与设计 ◆一般采用两级电路(Two- evel Circuits) ●文字描述 输入信号通过两级门到达输出信号 ●分析因果关系,确定输入输出量,定义 采用多于两级是基于扇入( Fan-in)限制或电路速度方面的考虑 ●罗列真值表(或时序图) AND-OR门网络,表达式用SOP形式 逻辑演算 O OR-AND门网络,表达式用POS形式 ●逻辑函数形式(SOP或Pos ●逻辑化简 ◆逻辑电路和逻辑图 nthesis 逻辑化简( Minimization) 逻辑化简原则 ◆As|C设计和PLD设计中,化简都很重要 ◆逻辑函数化简原则:与或式、与或非式(或与式) ●门多,芯片面积大 ●与积)项最少 ●门输入端数多,芯片面积大 积项中变量数目最少 ●最小化从而降低成本 ●化简时不考虑输入反相成本,一般输入变量及其 反码都是现成的一尤其对于PLD设计 ◆逻辑函数标准形式选择 ●“1”的个数较少时 “0”的个氨较少时
3 15 示例1 z Most primitive functional description is the truth table X Y Z F 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 16 示例1 z Number of input combinations grows exponentially with the number of inputs z Instead, we build up a parenthesized logic expression F = ( ) X Y Z XYZ + ⋅+ ⋅⋅ F X Y Z XYZ ( ) X Y X XYY XY Z Z X ZY ZZ = + ⋅+ ⋅⋅ =( ) ++ ⋅ ++ ⋅ ++ ⋅ + ⋅ + ⋅ + ( )( )( )( )( ) = 11 1 ⋅ ⋅ ++ ⋅ + ⋅ + ⋅ ( ) XY Z Z X ZY ( )( ) =( ) X ++ ⋅ + ⋅ + YZ XZ YZ ( )( ) 17 组合逻辑电路设计 电路描述与设计 z 文字描述 z 分析因果关系,确定输入输出量,定义 逻辑状态 z 罗列真值表(或时序图) 逻辑演算 z 逻辑函数形式(SOP或POS) z 逻辑化简 逻辑电路和逻辑图 Synthesis 18 组合逻辑电路的结构 一般采用两级电路(Two-level Circuits) z 输入信号通过两级门到达输出信号 z 采用多于两级是基于扇入(Fan-in)限制或电路速度方面的考虑 逻辑化简 z AND-OR门网络,表达式用SOP形式 z OR-AND门网络,表达式用POS形式 19 逻辑化简(Minimization) (Minimization) ASIC设计和PLD设计中,化简都很重要 z 门数多,芯片面积大 z 门输入端数多,芯片面积大 z 最小化从而降低成本 20 逻辑化简原则 逻辑函数化简原则:与或式、与或非式(或与式) z 与(积)项最少 z 积项中变量数目最少 z 化简时不考虑输入反相器成本,一般输入变量及其 反码都是现成的——尤其对于PLD设计 逻辑函数标准形式选择 z “1”的个数较少时 z “0”的个数较少时
逻辑化简方法C7 1)卡诺图化简(K-map) ◆ Boolean simplification(代数法) 示例1 00011110 e K-maps simplification o Automating simplification Quine-McCluskey Algorithm ● Espresso Method Voltage Levels: LVTTL TL与LVL电平 ◆ LVTTL输出可直接驱动TTL输入 ◆TTL输出不一定能直接驱动 LVTTL输入 LVTTL输入是否能耐受5V设计 查备件手册 V 2.0V Va1.5V vL0.8 Vo 0.4V 5VTIL 3.3V LVTTL Voltage Levels: LVTTL and LvCMos cMoS与 LVCMOS电平 ◆ LVCMOS输出直接驱动 TTL/CMOS输入不可行 ◆cMoS/TL输出不一定能直接驱动 LVCMOS输入 VI3.5V ● LVCMOS输入是否能耐受5V设计(查件手册) VoLo. 5v Vo.4V SV CMOS 3.3V LVTTL 25V LVCMOS lon-5V tolerant input V tolerant input HC Families (VHC Families
4 21 逻辑化简方法C7 Boolean simplification(代数法) K-maps simplification Automating simplification z Quine-McCluskey Algorithm z Espresso Method 22 1).卡诺图化简(K-map) (K-map) 示例1 1 1 CB A 00 01 11 10 A A C C B 0 1 F CBA CBA = ⋅⋅+⋅⋅ 23 Voltage Levels: LVTTL 5V VT VOH 2.4V VOL 0.4V VIH 2.0V VIL 0.8V 5V TTL 3.3V VT VOH VOL VIH VIL 5V CMOS 3.3V LVTTL 5V VT2.5V VOH4.4V VOL0.5V VIH3.5V VIL1.5V 24 TTL与LVTTL电平 LVTTL输出可直接驱动TTL输入 TTL输出不一定能直接驱动LVTTL输入 z LVTTL输入是否能耐受5V设计 z 查器件手册 25 Voltage Levels: LVTTL and LVCMOS 5V VT VOH 2.4V VOL 0.4V VIH 2.0V VIL 0.8V 5V TTL 3.3V VT VOH VOL VIH VIL 3.3V LVTTL 2.5V VT1.2V VOH2.0V VOL0.4V VIH1.7V VIL0.7V 5V CMOS 2.5V LVCMOS 5V VT2.5V VOH4.4V VOL0.5V VIH3.5V VIL1.5V 26 CMOS与LVCMOS电平 LVCMOS输出直接驱动TTL/CMOS输入不可行 CMOS/TTL输出不一定能直接驱动LVCMOS输入 z LVCMOS输入是否能耐受5V设计(查器件手册) Non-5V tolerant input (HC Families) 5V tolerant input (VHC Families)
逻輯化简方法L6 卡诺图化简 F=D·A+D ◆ Boolean simplification(代数法) ◆示例2 00011110 e K-maps simplification o Automating simplification Quine-McCluskey Algorithm ● Espresso Method 0110 F=D.A+D·C+D.A 卡诺图化简 卡诺图化简:相关术语1 ◆示例3:全加器进位数 ◆如何化简逻辑函数——最小化 Minimize) CO=∑m0124 ●(主蕴涵项定理:最简“积之和”是主蕴涵项之和 ◆蕴涵项( implicant ●任何积项都称为蕴涵项,与卡诺图中的圈对应 圆少Qa=7+a,+a7 ◆主蕴涵项( Prime implicant) ●也称“本原蕴涵项”或“素项 ●定义若逻辑函数的积项P再也不能同其它积项合并以 组成变量个数更少的积项,则称P为主蕴涵项 对应卡诺图中最大的圈 卡诺图化简:相关术语2 最小化积之和(MsOP) 实质主蕴涵项( Essential prime implicant o Minimum sum of products ●定义:不能被其它蕴涵项代替的主蕴涵项:至少包 ◆算法A(卡诺图) 含一个不能被其它任何主蕴涵项所覆盖的最小项 ●也称必要素项”,对应卡诺图中必不可少的最大圈 ●计算其中每个最小项的相邻单元数 从未被覆盖的具有最小相邻数的最小项(从最孤立的1) 覆盖( Cover) 开始:若存在多种选择,任选其 若逻辑函数的所有最小确被海项 °述接其的个主丰项共它个着中后茗 组蕴涵项称为函数的1个 的主蕴涵项 ◆最小覆盖inao 鲁回到第2步,直到所有最小项被覆盖 是1个包含最少主蕴涵 5
5 27 逻辑化简方法L6 Boolean simplification(代数法) K-maps simplification Automating simplification z Quine-McCluskey Algorithm z Espresso Method 28 卡诺图化简 F DA = ⋅ DC BA 00 01 11 10 00 01 11 10 B B A C 1 1 1 1 1 1 1 1 1 1 示例2 +D ⋅C + ⋅ D A D D F DA DC A = ⋅+ ⋅⋅ 29 卡诺图化简 示例3:全加器进位数 1 1 1 1 BA CI 00 01 11 10 CI A CI B 0 1 B CO = ∑m n (0,1,2,4) CO B A CI B CI A =⋅+ ⋅+ ⋅ 31 卡诺图化简: 相关术语1 如何化简逻辑函数——最小化(Minimize) z (主蕴涵项)定理:最简“积之和”是主蕴涵项之和 蕴涵项(Implicant) z 任何积项都称为蕴涵项,与卡诺图中的圈对应 主蕴涵项(Prime implicant) z 也称“本原蕴涵项”或“素项” z 定义若逻辑函数的积项P再也不能同其它积项合并以 组成变量个数更少的积项,则称P为主蕴涵项 z 对应卡诺图中最大的圈 32 卡诺图化简: 相关术语2 实质主蕴涵项(Essential prime implicant) z 定义:不能被其它蕴涵项代替的主蕴涵项;至少包 含一个不能被其它任何主蕴涵项所覆盖的最小项 z 也称“必要素项”,对应卡诺图中必不可少的最大圈 覆盖(Cover) z 若逻辑函数的所有最小项被1组蕴涵项所包含,则该 组蕴涵项称为函数的1个覆盖 最小覆盖(Minimal cover) z 是1个包含最少主蕴涵项和最少符号数的覆盖 DC BA 00 01 11 10 00 01 11 10 B B A C 1 1 1 1 1 1 1 1 1 1 D D 33 最小化积之和(MSOP) Minimum sum of products 算法A(卡诺图) z 计算其中每个最小项的相邻单元数 z 从未被覆盖的具有最小相邻数的最小项(从最孤立的1) 开始;若存在多种选择,任选其一 z 生成这个最小项的1个主蕴涵项并将它放入覆盖中;若 该最小项被其它多个主蕴涵项覆盖,选择1个覆盖最多 的主蕴涵项 z 回到第2步,直到所有最小项被覆盖