2010-5-21 作者:清华大学电子工程系 罗嵘 第 27页
– 逻辑函数及其表示方法
定义,用有限个与或非逻辑运算符号按某种逻辑关系将逻
辑变量 A,B,C,… 连接起来, 所得到的表达式 Y= F( A,
B,C,...) 称为逻辑函数
四种表示方法,真值表, 函数式, 逻辑图, 卡诺图
逻辑代数 第一章
+

A
B
C
Y
逻辑函数式,Y=(A+B)C
A
B
C Y
逻辑图等效电路图
2010-5-21 作者:清华大学电子工程系 罗嵘 第 28页
真值表
A B C Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
BC
A
00 01 11 10
0 0 0 1 0
1 0 1 1 0
卡诺图
从函数式画出逻辑图:用逻辑符号画出对应的运算;
从逻辑图画出函数式:从输入到输出依次列出逻辑符号所对应的逻
辑运算的输出;
从函数式列出真值表:用变量的所有取值组合列出 Y的值;
从真值表写出函数式:将 Y= 1的项相加
CBACABA
CABBABA
A B CCBABCAY
)()(
)(
????
???
???
)1( ?? BB
)( BABAA ???
2010-5-21 作者:清华大学电子工程系 罗嵘 第 29页
逻辑函数的两种标准形式,最小项与最大项
设有 n个逻辑变量, 由它们组成具有 n个变量的与项中, 每个变量以原变量或反变量的形
式出现一次且仅出现一次, 则称这个与项为最小项 。
性质:见表 1.15
对于 n个变量来说, 可有 2n个最小项;
在输入变量的任何取值下必有一个最小项, 而且仅有一个最小项的取值为 1。 将最
小项为 1时各输入变量的取值看成二进制数, 其对应的十进制数 i作为最小项的编号,
并把最小项记作 mi,i=0~ (2n-1);
任意两个最小项之积为 0;
全体最小项之和为 1;
具有相邻性的两个最小项之和可以合并成一项,并消去一个因子;
??
?????
?????
?????
???
)7,4,3,2(
)()(
43723
m
mmmmm
CBABCAA B CCBABCA
CBABCAACCBA
CBABCBAY
例 1
2010-5-21 作者:清华大学电子工程系 罗嵘 第 30页
设有 n个逻辑变量, 由它们组成具有 n个变量的或项中, 每个变量以原变量或反变量的形
式出现一次且仅出现一次, 则称这个或项为最大项 。
性质:见表 1.16
对于 n个变量来说, 可有 2n个最大项;
在输入变量的任何取值下必有一个最大项, 而且仅有一个最大项的取值为 0。 将最
大项为 0时各输入变量的取值看成二进制数, 其对应的十进制数 i作为最大项的编号,
并把最大项记作 Mi,i=0~ (2n-1);
任意两个最大项之和为 1;
全体最大项之积为 0;
只有一个变量不同的两个最大项之积等于各相同变量之和;
BABABA
BABA
CCBABABA
CBACBA
??????
?????
??????
??
)(1
))(())((
))(( ++
最大项性质 5
)4,1,0(
))()((
)()(
)()(
410
M
MMM
CBACBACBA
CBACCBA
CBABAY
??
?
???????
???????
?????
例 2
2010-5-21 作者:清华大学电子工程系 罗嵘 第 31页
第一章
实例 2
)6,5,1,0(
)6,5,1,0(
)6,5,1,0(
)7,4,3,2(
MY
MY
mY
mY
??
??
?
?
?
?
)7,4,3,2(
)7,4,3,2(
7432
7432
7432
M
MMMM
MMMM
mmmmY
mY
??
????
????
????
? ?
实例 3
实例 1
66 MCBACABCABm ??????
最大项与最小项的关系
2010-5-21 作者:清华大学电子工程系 罗嵘 第 32页
表 1, 1 5 最小项
最小项为 1 时,输入变量的值最小项
A B C
十进制数
i
m
i
CBA 0 0 0 0 m
0
CBA 0 0 1 1 m
1
CBA 0 1 0 2 m
2
BCA 0 1 1 3 m
3
CBA 1 0 0 4 m
4
CBA 1 0 1 5 m
5
CAB 1 1 0 6 m
6
A B C 1 1 1 7 m
7
表 1, 16 最大项
最大项为 0 时,输入变量的值最大项
A B C
十进制数
i
M
i
CBA ++
0 0 0 0 M
0
CBA ++
0 0 1 1 M
1
CBA ++ 0 1 0 2 M
2
CBA ++
0 1 1 3 M
3
CBA ++
1 0 0 4 M
4
CBA ++
1 0 1 5 M
5
CBA ++
1 1 0 6 M
6
CBA ++
1 1 1 7 M
7
第一章
2010-5-21 作者:清华大学电子工程系 罗嵘 第 33页
– 逻辑函数的化简法
公式化简法
第一章
1,并项法 ABAAB ??
2,吸收法 AABA ??
3,消项法 CAABBCCAAB ????
4,消因子法 BABAA ???
5,配项法 1; ???? AAAAA
DBCBA
DCDBCBA
DEBAADCDBCBAC
DEBACBADCDBCBAC
DEBADBCACBADCDBCBACY
???
????
??????
??????
????????
3
2
4
2
)(
2010-5-21 作者:清华大学电子工程系 罗嵘 第 34页
第一章–卡诺图化简法
逻辑函数的卡诺图表示法
用卡诺图表示最小项
用卡诺图表示逻辑函数
用卡诺图化简逻辑函数
具有随意项的逻辑函数的化简
C D
AB
00 01 11 10
00 m 0 m 1 m 3 m 2
01 m 4 m 5 m 7 m 6
11 m 12 m 13 m 15 m 14
10 m 8 m 9 m 11 m 10
B C
A
00 01 11 10
0 m 0 m 1 m 3 m 2
1 m 4 m 5 m 7 m 6
图 2三变量的卡诺图 图 3四变量的卡诺图
B
A
0 1
0 m 0 ( BA ) m 1 ( BA )
1 m 2 ( BA ) m 3 ( AB )
图 1二变量的卡诺图
2010-5-21 作者:清华大学电子工程系 罗嵘 第 35页
第一章
CDE
AB
000 001 011 010 110 111 101 100
00 m 0 m 1 m 3 m 2 m 6 m 7 m 5 m 4
01 M 8 m 9 m 11 m 10 m 14 m 15 m 13 m 12
11 m 24 m 25 m 27 m 26 m 31 m 30 m 29 m 28
10 m 16 m 17 m 19 m 18 m 22 m 23 m 21 m 20
图 4五变量的卡诺图
)15,11,10,9,8,6,4,1(? ??
?
im
BAA C DDBADCBAY
i
+++
CD
AB
00 01 11 10
00 0 1 0 0
01 1 0 0 1
11 0 0 1 0
10 1 1 1 1
图 5 用卡诺图表示逻辑函数
2010-5-21 作者:清华大学电子工程系 罗嵘 第 36页
第一章
图 6 用卡诺图化简逻辑函数
?????? )6,5,4,3,2,1(mCBCBCACAY
BC
A
00 01 11 10
0 0 1 1 1
1 1 1 0 1
BC
A
00 01 11 10
0 0 1 1 1
1 1 1 0 1
CBCABAY ??? BACBCAY ???
CD
AB
00 01 11 10
00 1 0 0 1
01 1 0 0 1
11 1 1 1 1
10 1 1 1 1
DCACBADCDCAA B DA B CY +++++?
DADAYY
DAY
YY
+=??
?
?? 1
2010-5-21 作者:清华大学电子工程系 罗嵘 第 37页
第一章
图 7 用卡诺图化简具有随意项的逻辑函数
CD
AB
00 01 11 10
00 1 ×
01 × 1
11 × × ×
10 1 × ×
DADAY +?
0
0
10141591253
871
???????
???????
????
mmmmmmm
DCBADA B CA B C DDCBADCABDCBACDBA
mmmDCBAB C DADCBAY
约束
++
2010-5-21 作者:清华大学电子工程系 罗嵘 第 38页
卡诺图化简法小结
蕴含项。一个逻辑函数的与-或表达式(不一定是最简式)中的每一个与项
(积项)都是该函数的蕴含项。显然,一个函数所包含的最小项一定是该
函数的蕴含项。
本原蕴含项 。 如果逻辑函数的一个蕴含项再也不能同该函数的其它蕴含项合
并以组成变量个数更少的蕴含项, 则这种蕴含项称为本原蕴含项 。 实际上,
本原蕴含项对应着该逻辑函数的卡诺图中最大的圈 ( 方块群 ) 。
实质本原蕴含项 。 不能被其它蕴含项所代替的本原蕴含项称为实质本原蕴含
项 。 实际上, 实质本原蕴含项对应着卡诺图中必不可少的最大圈, 它至少
包含了一个该逻辑函数的一个未被其它本原蕴含项所包含的最小项 。
覆盖 。 包含了逻辑函数中所有最小项的一些蕴含项之或是该函数的一个覆盖 。
非冗余覆盖 。 一个覆盖中, 每一个蕴含项都是必不可少的 ( 去掉其中任何一
个蕴含项就不能包含函数的所有最小项 ), 则这个覆盖为非冗余覆盖 。
最小覆盖 。 逻辑函数的一个非冗余覆盖中包含的蕴含项个数最少, 每个蕴含
项中变量的个数又最少, 则这种非冗余覆盖称为最小覆盖 。 逻辑函数表达
式化简的目的就是寻找逻辑函数的最小覆盖 。
2010-5-21 作者:清华大学电子工程系 罗嵘 第 39页
第一章
图 8 用卡诺图化简, 没有多余的方块群, 不一定最简
CD
AB
00 01 11 10
00 1 1 0 1
01 0 1 1 1
11 0 0 1 1
10 0 0 0 0
BDDCADBAY ++最简表达式 ?
CD
AB
00 01 11 10
00 1 1 0 1
01 0 1 1 1
11 0 0 1
10 0 0 0
BDDCABDACBAY ?? ++非最简表达式
2010-5-21 作者:清华大学电子工程系 罗嵘 第 40页
第一章
CD
AB
00 01 11 10
00 0 0 1 1
01 1 1 0 1
11 * * * *
10 1 1 * *
)()( DCBCBAYY
B C DCBAY
???????
? +
图 9用卡诺图化简成或-与表达式
2010-5-21 作者:清华大学电子工程系 罗嵘 第 41页
– VHDL概述
VHSIC Hardware Description Language
VHSIC( Very High Speed Integrated Circuit),美国国
防部的超高速集成电路计划, 1983年
1987年 12月 IEEE接受 VHDL为标准 HDL,LRM87
此后作了若干修改, 增加了一些功能, 形成新版本,LRM93,
IEEE1076.1
– VHDL功能
VHDL支持行为领域和结构领域的硬件描述, 并且适用于从最
抽象的系统级到最精确的逻辑级 。
优点之一:在描述数字系统时, 可以使用前后一致的语义和
语法跨越多个层次, 且可使用跨越多个级别的混合描述模
拟该系统 。
VHDL语言 补充内容
2010-5-21 作者:清华大学电子工程系 罗嵘 第 42页
VHDL语言
表 1.17 设计的表示方法:领域和抽象层次
领域层次
行为 结构
系统级 性能描述 CPU,存储器、开关、控制
器及总线之间的逻辑连接
算法级 数据结构操作 硬件模块、数据结构
寄存器 状态表 各种功能块的物理连接
逻辑级 布尔方程 门,触发器、锁存器
电路级 微分方程 晶体管、电阻、电容
– VHDL模型结构
设计实体是 VHDL中的基本单元和最重要的抽象,它可
以代表整个系统,1块电路板,1个芯片,1个单元或 1
个门电路
实体说明:初级设计单元
结构体:次级设计单元
补充内容
2010-5-21 作者:清华大学电子工程系 罗嵘 第 43页
VHDL语言
– 实体说明的一般格式:
ENTITY 实体名 IS
[GENERIC (类属表); ]
[PORT (端口表); ]
实体说明部分;
[BEGIN
实体语句部分; ]
END [ENTITY] 实体名;
– 结构体的一般格式:
ARCHITECTURE 结构体名 OF 实体名 IS
-说明语句
BEGIN
-并行语句
END [ARCHITECTURE] 结构体名;
补充内容
2010-5-21 作者:清华大学电子工程系 罗嵘 第 44页
– VHDL描述实例,
例 1
ENTITY and2 IS
PORT ( a,b:IN BIT;c:OUT BIT);
END and2;
ARCHITECTURE and2_behav OF and2 IS
BEGIN
c<=a AND b AFTER 5ns;
END and2_behav;
ARCHITECTURE and2_table OF and2 IS
BEGIN
c<=′1′WHEN a =′1′ AND b =′1′
ELSE ′0′;
END and2_table;
补充内容
2010-5-21 作者:清华大学电子工程系 罗嵘 第 45页
– VHDL描述实例 (续 ):
例 2
ENTITY nand2 IS
PORT ( a,b:IN BIT;c:OUT BIT);
END nand2;
ARCHITECTURE nand2_behav OF nand2 IS
BEGIN
c<=a NAND b AFTER 5ns;
END nand2_behav;
ARCHITECTURE nand2_table OF nand2 IS
BEGIN
IF a=′1′AND b =′1′ THEN
c<=′0′;
ELSE c<=′1′;
END nand2_table;
补充内容