第一章 数字逻辑概述
1. 原码
原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符号位. 因为第一位是符号位, 所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111]
即[-127 , 127]
原码是人脑最容易理解和计算的表示方式.
原码的优点:简单易懂,求取方便;
缺点:加、减运算不方便。
2. 反码
反码的表示方法是:
正数的反码是其本身
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.
[+1] = [00000001]原 = [00000001]反
[-1] = [10000001]原 = [11111110]反
可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算.
3. 补码
补码的表示方法是:
正数的补码就是其本身
负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值.
这样0用[0000 0000]表示, 而以前出现问题的-0则不存在了.而且可以用[1000 0000]表示-128:
补码的补码等于原码
补码还原成真值时,应对数值位变反加1。
补码表示的溢出问题:
由于计算机中的数字用补码表示,例如8bit的byte类型的表示范围为:
[-128, 127]
0 = [0000 0000](补)
-128 = [1000 0000](补)
127 = [0111 1111](补)
当byte类型的变量超上限127时,如:
+128 = -(-128)= 127 + 1
= [1111 1111](补)+ [0000 0001](补)
= [1000 0000](补)
= -128
+129 = 127 + 2
= [1111 1111](补)+ [0000 0001](补)
= [1000 0001](补)
= [1111 1111](原)
= -127
当byte类型的变量超过下限-128时:
-129 = -128 - 1
= [1000 0000](补) - [0000 0001](补)
= [0111 1111](补)
= 127
-130 = -128 - 2
= [1000 0000](补) - [0000 0010](补)
= [0111 1110](补)
= 126
“除2取余”法:除到商为0,从下到上
“乘2取整”法:乘到小数部分为0,从上到下
根据一个电路是否具有记忆功能,可将数字逻辑电路分为组合逻辑电路和时序逻辑电路两种类型
组合逻辑电路
如果一个逻辑电路在任何时刻的稳定输出仅取决于该时刻的输入,而与电路过去的输入无关,则称为组合逻辑(Combinational Logic)电路。
由于这类电路的输出与过去的输入信号无关,所以不需要有记忆功能。例如,一个“多数表决器”,表决的结果仅取决于参予表决的成员当时的态度是“赞成”还是“反对”,因此属于组合电路。
时序逻辑电路
如果一个逻辑电路在任何时刻的稳定输出不仅取决于该时刻的输入,而且与过去的输入相关,则称为时序逻辑(Sequential Logic)电路。
由于这类电路的输出与过去的输入相关,所以要用电路中记忆元件的状态来反映过去的输入信号。例如,一个统计串行输入脉冲信号个数的计数器,它的输出结果不仅与当时的输入脉冲相关,还与前面收到的脉冲个数相关,因此,计数器是一个时序逻辑电路。
时序逻辑电路按照是否有统一的时钟信号进行同步,又可进一步分为同步时序逻辑电路和异步时序逻辑电路。
一、几种常用的编码
十进制数的二进制编码(BCD码)
用4位二进制代码对十进制数字符号进行编码,简称为二–十进制代码,或称BCD(Binary Coded Decimal)码。
BCD码既有二进制的形式,又有十进制的特点。常用的BCD码有8421码、2421码和余3码。
[插图P73]
8421码
8421码是用4位二进制码表示一位十进制字符的一种有权码,4位二进制码从高位至低位的权依次为23、22、21、20,即为8、4、2、1,故称为8421码按8421码编码的0~9与用4位二进制数表示的0~9完全一样。所以,8421码是一种人机联系时广泛使用的中间形式。
注意:
(1) 8421码中不允许出现1010~1111六种组合(因为没有十进制数字符号与其对应)。
(2) 十进制数字符号的8421码与相应ASCII码的低四位相同,这一特点有利于简化输入输出过程中BCD码与字符代码的转换。
2421码
2421码:是用4位二进制码表示一位十进制字符的另一种有权码,4位二进制码从高位至低位的权依次为2、4、2、1,故称为2421码。
注意:
(1) 2421码不具备单值性。例如,0101和1011都对应十进制数字5。为了与十进制字符一一对应,2421码不允许出现0101~1010的6种状态。
(2) 2421码是一种对9的自补代码。即一个数的2421码只要自身按位变反,便可得到该数对9的补数的2421码。
余3码
余3码是由8421码加上0011形成的一种无权码,由于它的每个字符编码比相应8421码多3,故称为余3码。
例如,十进制字符5的余3码等于5的8421码0101加上0011,即为1000。
注意:
(1)余3码中不允许出现0000、0001、0010、1101、1110和1111六种状态。
(2)余3码与十进制数进行转换时,每位十进制数字的编码都应余3。
(3)余3码是一种对9的自补代码。
二、可靠性编码
作用: 提高系统的可靠性。
为了减少或者发现代码在形成和传送过程中都可能发生的错误。形成了各种编码方法。下面,介绍两种常用的可靠性编码。
1.格雷码
递归生成码表:
1. 1位格雷码有两个码字
2. (n+1)位格雷码中的前2n个码字等于n位格雷码的码字,按顺序书写,加前缀0
3. (n+1)位格雷码中的后2n个码字等于n位格雷码的码字,按逆序书写,加前缀1 [4]
4. n+1位格雷码的集合 = n位格雷码集合(顺序)加前缀0 + n位格雷码集合(逆序)加前缀1
2位格雷码 |
3位格雷码 |
4位格雷码 |
4位自然二进制码 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
11 |
11 |
11 |
10 |
10 |
10 |
10 |
11 |
|
110 |
110 |
100 |
|
111 |
111 |
101 |
|
101 |
101 |
110 |
|
100 |
100 |
111 |
|
|
1100 |
1000 |
|
|
1101 |
1001 |
|
|
1111 |
1010 |
|
|
1110 |
1011 |
|
|
1010 |
1100 |
|
|
1011 |
1101 |
|
|
1001 |
1110 |
|
|
1000 |
1111 |
2.奇偶检验码
信息位+奇偶检验位
奇检验:使信息位和检验位中“1”的个数共计为奇数;
偶检验:使信息位和检验位中“1”的个数共计为偶数。
第二章 逻辑代数基础
逻辑代数:
○逻辑代数L={ K ,+ ,· ,- ,0 ,1 },满足交换律、结合律、分配率、0-1率、互补率
○逻辑代数是 一 种二值代数系统,任何逻辑变量的取值只有两种可能性——取值0或取值1
“或”运算:F = A + B 或 F = A ∨ B,读作“F 等于 A 或 B”
“与”运算:F = A · B 或 F = A∧B,读作“F 等于 A 与 B”
“非”运算:F = 或 F = ¬A,读作“ F 等于A 非”
○逻辑函数:和逻辑变量一样,取值只有0和1两种可能,函数和变量之间的关系是由“或”、“与”、“非”三种基本运算决定的
○判断两个逻辑函数是否相等:真值表法、代数法
○对逻辑功能进行描述:逻辑表达式、真值表、卡诺图(由表示逻辑变量所有取值组合的小方格所构成的平面图,按格雷码排列,PPT-2-3)
卡诺图:https://wenku.baidu.com/view/80fcae0dcc1755270722080e.html?from=search
逻辑代数的基本定理:
定理1 0 + 0 = 0 1 + 0 = 1 0 · 0 = 0 1 · 0 = 0
0 + 1 = 1 1 + 1 = 1 0 · 1 = 0 1 · 1 = 1
定理2 A + A = A ; A · A = A
定理3 A + A · B = A ; A · ( A + B ) = A
定理4 A + · B = A + B ; A · ( + B ) = A · B
定理5 = A
定理6
定理7 A·B + A· = A
( A + B ) · ( A+ ) = A
定理8 A · B + · C + B · C = A · B + · C
(A + B) · ( + C) · (B + C) = (A + B) · ( + C)
逻辑代数的重要规则:代入规则、反演规则和对偶规则
一、代入规则:任何一个含有变量A的逻辑等式,如果将所有出现A的位置都代之以同一个逻辑函数F,则等式仍然成立。
二、反演规则:若将逻辑函数表达式F中所有的“·”变成“+”,“+”变成“·”,“0”变成“1”,“1”变成“0”,原变量变成反变量,反变量变成原变量,并保持原函数中的运算顺序不变 ,则所得到的新的函数为原函数F的反函数 。(注意: 使用反演规则时,应保持原函数式中运算符号的优先顺序不变)
三、对偶规则:如果将逻辑函数表达式F中所有的“·”变成“+”,“+”变成“·”,“0”变成“1”,“1”变成“0”,并保持原函数中的运算顺序不变,则所得到的新的逻辑表达式称为函数F的对偶式,并记作F’。(若逻辑函数表达式的对偶式就是原函数表达式本身,即F’=F,则称函数F为自对偶函数) 若两个逻辑函数表达式F和G相等,则其对偶式F’和G’也相等。这一规则称为对偶规则。(显然,利用对偶规则可以使定理、公式的证明减少一半。)
复合逻辑:与非逻辑、或非逻辑、与或非逻辑
异或逻辑:
逻辑功能:变量A、B取值相同,F为0;变量A、B取值相异,F为1。
在进行异或运算的多个变量中,若有奇数个变量的值为1,则运算结果为1;若有偶数个变量的值为1,则运算结果为0。
同或逻辑: F = A ⊙ B = + AB
逻辑功能:变量A、B取值相同,F为1;变量A、B取值相异,F为0。
当多个变量进行同或运算时,若有奇数个变量的值为0,则运算结果为0;反之,若有偶数个变量的值为0,则运算结果为1。
同或逻辑与异或逻辑的关系既互为相反,又互为对偶。
为了在逻辑问题的研究中使逻辑功能能和唯一的逻辑表达式对应,引入了逻辑函数表达式的标准形式。逻辑函数表达式的标准形式是建立在最小项和最大项概念的基础之上的。
1.最小项(标准“与项”)
2.最大项(标准“或项”)
性质:PPT-2.2-P23
两变量最小项、最大项的真值表如下:
三变量最小项的真值表如下:
三变量最大项的真值表如下:
最小项和最大项的关系:在同一问题中,下标相同的最小项和最大项互为反函数。或者说,相同变量构成的最小项mi和最大项Mi之间存在互补关系。
标准“与-或”表达式
F(A,B,C) = m1 + m2 + m4 + m7
=
标准“或-与”表达式
逻辑函数表达式的转换代:数转换法、真值表转换法
逻辑函数化简:代数化简法、卡诺图化简法、列表化简法
第三章 集成门电路与触发器
根据所采用的半导体器件,数字集成电路可以分为两大类:
1.双极型集成电路:采用双极型半导体器件作为元件。主要特点是速度快、负载能力强,但功耗较大、集成度较低。
2.单极型集成电路(又称为MOS集成电路):采用金属-氧化物半导体场效应管作为元件。主要特点是结构简单、制造方便、集成度高、功耗低,但速度较慢。
TTL电路的“性能价格比”最佳,应用最广泛,功耗大、线路较复杂,集成度受限,广泛应用于中小规模逻辑电路中,属于双极型集成电路
CMOS电路应用较普遍,因为它不但适用于通用逻电路的设计,而且综合性能最好,开关速度快,属于单极型集成电路
二极管的静态特性:锗管0.3V,硅管0.7V,
二极管的动态特性:反向恢复时间和开通时间
三极管
MOS管
小结:
两种特殊的门电路(PPT-3-2-P23):
(1) 集电极开路门(OC门)
(2) 三态输出门(TS门)
* CMOS集成逻辑门电路(PPT-3-2-P31):CMOS反相器、CMOS与非门、CMOS或非门、CMOS三态门、CMOS传输门
* 正逻辑和负逻辑(PPT-3-2-P39)
触发器
触发器是一种具有记忆功能的电子器件
特点:有两个互补的输出端和两个稳定状态
现态与次态的概念:
现态:输入信号作用前的状态,记作Q^n和非Q^n,一般简记为Q和非Q
次态:输入信号作用后的状态,记作Q^(n+1)和非Q^(n+1)
基本R-S触发器
1. 用与非门构成的基本R-S触发器
图中,R称为置0端或者复位端,S称为置1端或置位端;逻辑符号输入端加的小圆圈表示低电平或负脉冲有效。
次态方程:
约束方程:R + S = 1
2. 用或非门构成的基本R-S触发器
该电路的输入是正脉冲或高电平有效,故逻辑符号的输入端未加小圆圈。
次态方程:
约束方程:R · S = 0
几种常用的时钟控制触发器
(PPT-3-3-P15)
1. 时钟控制R-S触发器
R=0, S=0:G3、G4的输出均为1,触发器状态保持不变;
R=0, S=1:G3、G4的输出分别为1和0,触发器状态置成1状态;
R=1, S=0:G3、G4的输出分别为0和1,触发器状态置成0状态;
R=1,S=1:G3、G4的输出均为0,触发器状态不确定,这是不允许的。
时钟控制R-S触发器的功能表、次态方程和约束条件与由或非门构成的R-S触发器相同
不足:
● 输入信号依然存在约束条件,即R、S不能同时为1;
● 可能出现"空翻"现象
2. D触发器
解决了时钟控制R-S触发器在输入端R、S同时为1时状态不确定的问题
* 为解决"空翻"问题:维持阻塞D触发器
3. J-K 触发器
(1) 无时钟脉冲 (C=0)时,触发器保持原来状态不变。
(2) 时钟脉冲作用(C=1)时,与J、K相关。
① J=0,K=0:触发器状态不变。
② J=0,K=1:若原来处于0状态,触发器保持0 状态不变;若原来处于1状态,触发器状态置成0。即JK =01时,触发器次态一定为0态。
③ J=1,K=0:若原来处于0状态,触发器状态置成1;若原来处于1状态,触发器保持1状态不变。即JK =10时,触发器次态一定为1状态。
④ J=1,K=1:若原来处于0状态,触发器置成1状态;若原来处于1状态,触发器置成0状态。即JK =11时,触发器的次态与现态相反。
4.T触发器
T触发器又称为计数触发器
功能:
当T=1时,在时钟脉冲作用下状态翻转,相当于一位二进制计数器;
当T=0时,触发器状态保持不变。
* 集成触发器的主要参数(PPT-3-3-P37)
第四章 组合逻辑电路
组合逻辑电路: 若逻辑电路在任何时刻产生的稳定输出值仅仅取决于该时刻各输入值的组合,而与过去的输入值无关,则称为组合逻辑电路。(输出信号是输入信号的函数)
组合电路具有两个特点:
①由逻辑门电路组成,不包含任何记忆元件;
②信号是单向传输的,不存在反馈回路。
分析组合逻辑电路例题:(PPT-4-P7)
半加器 异或门
无关项的输出函数的值可以随意指定为1或者为0,通常记为“d”
逻辑表达式举例:F(A,B,C,D) = ∑m(7,9,11,12)+ ∑d(0,1,2,13,14,15)
化简逻辑函数时,利用无关项的随意性往往可以使逻辑函数得到更好地简化
* 组合逻辑电路的设计
* 组合逻辑电路的险象(PPT-4-P51)
第五章 同步时序逻辑电路
若逻辑电路在任何时刻产生的稳定输出信号不仅与电路该时刻的输入信号有关,还与电路过去的输入信号有关,则称为时序逻辑电路。
在对电路功能进行研究时,通常将某一时刻的状态称为“现态”,记作y^n,简记y;
将在某一现态下,外部信号发生变化后到达的新的状态称为“次态”,记作y^(n+1)。
时序逻辑电路具有如下特征:
☆电路由组合电路和存储电路组成,具有对过去输入进行记忆的功能;
☆电路中包含反馈回路,通过反馈使电路功能与“时序”相关;
☆电路的输出由电路当时的输入和状态(对过去输入的记忆)共同决定。
时序逻辑电路的分类
一、按电路的工作方式分类
1. 同步时序电路
(1)特点:电路中有统一的定时信号,存储器件采用时钟控制触发器,电路状态在时钟脉冲控制下同时发生转换,即电路状态的改变依赖于输入信号和时钟脉冲信号。具体说:状态如何变?取决与输入信号;状态何时变?取决于时钟信号;每个状态维持多久?取决于时钟脉冲的周期。
(2)现态与次态
同步时序电路中的现态与次态是针对某个时钟脉冲而言的。
现态----指时钟脉冲作用之前电路所处的状态。
次态----指时钟脉冲作用之后电路到达的状态。
注意:前一个脉冲的次态即后一个脉冲的现态
(3)对时钟的要求
脉冲的宽度:必须保证触发器可靠翻转;
脉冲的频率:必须保证前一个脉冲引起的电路响应完全结束后,后一个脉冲才能到来。
2. 异步时序逻辑电路
异步时序逻辑电路的存储电路可由触发器或延时元件组成,电路中没有统一的时钟信号同步,电路输入信号的变化将直接导致电路状态的变化。
二、按电路输出对输入的依从关系分类
1. Mealy型电路:若时序逻辑电路的输出是电路输入和电路状态的函数,则称为Mealy型时序逻辑电路。
2. Moore型电路:若时序逻辑电路的输出仅仅是电路状态的函数,则称为Moore型时序逻辑电路。
Mealy型电路的输入和输出之间存在直接联系,而Moore型电路则是将全部输入转换成电路状态后再和输出建立联系。即:
若一个时序逻辑电路没有专门的外部输出信号,而是以电路状态作为输出,则可视为Moore型电路的特殊情况。
无论是同步时序逻辑电路或是异步时序逻辑电路,均有Mealy型和Moore型两种模型。
三、按输入信号形式分类
时序逻辑电路的输入信号可以是脉冲信号也可以是电平信号。根据输入信号形式的不同,时序逻辑电路通常又被分为脉冲型和电平型两种类型。
下图所示为不同输入信号的波形图:
★同步时序逻辑电路的描述方法:逻辑表达式(输出函数表达式、激励函数表达式、次态函数表达式)、状态表、状态图(PPT-5-1-P12)
同步时序逻辑电路的设计例题:(PPT-5-2-P8)
★★状态化简:(PPT-5-2-P21~32)
等效对的判断方法:若状态Si和Sj 是完全确定的原始状态表中的两个现态,则Si和Sj 等效的条件可归纳为在一位输入的各种取值组合下满足如下两条:
第一,输出相同;
第二,次态属于下列情况之一:
a. 次态相同;
b. 次态交错或为各自的现态;
c. 次态循环或为等效对。
等效状态具有传递性。即假若S1和S2等效,S2和S3等效,那么,一定有S1和S3等效。记作(S1,S2),(S2,S3) → (S1,S3)
等效类:由若干彼此等效的状态构成的集合。在同一个等效类中的任意两个状态都是等效的。例如,由(S1,S2)和(S2,S3)可以推出(S1,S3),进而可知S1、S2、S3属于同一等效类,记作{S1,S2,S3},即(S1,S2),(S2,S3) → {S1,S2,S3}
最大等效类,是指不被任何别的等效类所包含的等效类。
简化后的状态数等于最大等效类的个数!
隐含表化简法的一般步骤:
① 作隐含表
隐含表是一个直角三角形阶梯网格,横向和纵向的网格数等于原始状态表中的状态数n减1。表的横向从左到右依次标上原始状态表中的前n-1个状态,纵向自上到下依次标上原始状态表中的后n-1个状态。表中每个方格代表一个状态对。
② 寻找等效对
利用隐含表寻找 “等效对”一般需要进行两轮比较,首先进行顺序比较,然后进行关联比较。
顺序比较:按照隐含表中从上至下、从左至右的顺序,对照原始状态表依次对所有“状态对”进行逐一检查和比较,并将检查结果标注在隐含表中的相应方格内。
比较结果标注如下:
等效 ------- 在相应方格内填上“∨”;
不等效----- 在相应方格内填上“×”;
与其他状态对相关 ---- 在相应方格内填上相关的状态对。
关联比较:指对那些在顺序比较时尚未确定是否等效的状态对作进一步检查。直到判别出状态对等效或不等效为止。
③ 求出最大等效类
在找出原始状态表中的所有等效对之后,可利用等效状态的传递性,求出各最大等效类。确定各最大等效类时应注意两点:
☆各最大等效类之间不应出现相同状态;
☆原始状态表中的每一个状态都必须属于某一个最大等效类,否则,化简后的状态表不能描述原始状态表所描述的功能。
④ 状态合并,作出最小化状态表
将每个最大等效类中的全部状态合并为一个状态,即可得到和原始状态表等价的最小化状态表。
★状态编码:(PPT-5-2-P33)
相邻分配法的状态编码原则如下:
①次态相同,现态相邻。
②同一现态,次态相邻。
③输出相同,现态相邻。
注:不能同时满足时按从①至③的优先顺序考虑。从电路实际工作状态考虑,一般将初始状态分配“0”状态。
★确定激励函数和输出函数并画出逻辑电路图:(PPT-5-2-P40)
第六章 异步时序逻辑电路
脉冲异步时序逻辑电路
若电路结构为Mealy型,则输出为脉冲信号。
若电路结构为Moore型,则输出是电平信号。
电平异步时序逻辑电路
好些内容发上来之后乱了(呆