1 数的表示与布尔代数
1.1 数的编码与二进制表示
编码是各种集合的元素映射到字符串的过程 。数字电路中的数字表示就是一串用已约定好的表示的 0 和 1 的组合。二进制的优点:
运算简单 ——算术运算加法和乘法仅各有3条规则不易出错 ;逻辑运算可与“真”“假” 对应
存储简单 ——高低电压表示两种状态;有更大的噪声容限
1.1.1 常见的编码
二元编码 ——条形码
BCD码 ——会计系统长数字串计算
格雷码 ——,其中B为二进制编码首位补一个0。九连环341种状态。2G一改零不改,G2奇变偶不变
1.2 二进制补码表示
1.2.1 补码分类
有符号数 ——开头位0正1负
1补码 ——负数对应的二进制正数 N 按位取反,2n-1-N。0有两种表示,-(2n-1-1)~2n-1-1
2补码 ——按位取反再+1,2n-N。0有唯一表示便于减法转加法,-2n-1~2n-1-1
1.2.2 溢出判断
对数字最高有效位进位和符号位进位做异或,为1则溢出;或满足其一即可判别:
符号异常 ——两个加数符号位相同但是与结果符号位不同
进位异常 ——内部进位(结果的符号位)≠外部进位(结果扩展位)
1.3 逻辑与布尔代数
1.3.1 基本定理
交换,结合,分配,互补,01,重叠,对合
对偶 ——与或互换,01 互换,布尔变量不变
多数 ——(X+Y)(Y+Z)(X’+Z)=(X+Y)(X’+Z) , XY+YZ+X’Z=XY+X’Z 可用于消除竞争冒险
1.3.2 德摩根定理
与或互换,01 互换,布尔变量求反得到 反函数 (注意到和对偶只相差是否变量求反)
一般来说,将布尔函数表示成与非门,可以用最小的代价实际映射到电路
1.4 布尔函数表示
程序表达、二分决策图、真值表、卡诺图、逻辑电路
1.4.1 两级逻辑
最小项或=互补序号的最大项与
1.4.2 布尔代数化简
代数化简 ——并项、吸收、消去、配项(冗余定理)
卡诺图化简 ——能够蕴含一个函数的与项是 蕴含项 ;不存在蕴含项 I≠P,使得 P => I => F,则称 P 为 本原蕴含项 ;某个元素仅由一个本原蕴含项覆盖,则该蕴含项为本质本原蕴含项
QM化简 ——搜索本原蕴含项,寻找最小覆盖
在逻辑表达式中,如果能够将信号合并使得输入端出现 尽可能少的信号种类 ,那么就有可能减少整个门电路的MOS管个数
2 组合电路与逻辑综合
在实际电路中,想要实现与/或门,一般都采用 NAND/NOR + 非门的形式。组合逻辑是当前的输入变量取值决定当前的输出的 无记忆元件 ,且输出是输入逻辑变量的函数。
CMOS ——高密度、低功耗,系统成本低,适用于主流数字系统
BJT ——超高速、超低噪声,适用于高速应用例如一些模拟和射频电路
2.1 组合逻辑分解
多级逻辑的基本表示方法是 复合函数 。一方面类似因式分解将函数计算进行分解化简;另一方面可以共享中间层次的计算。
2.2 组合逻辑中的竞争与冒险
毛刺 ——出现在组合逻辑电路输出端的多余脉冲,本应保持不变的输出值出现了瞬时变化。输出的毛刺是单端输入取值变化的结果
冒险 ——有可能产生毛刺的电路存在冒险,冒险是一个电路的固有特征,存在冒险的电路可能产生毛刺,也可能不产生毛刺
静态冒险 ——一个本应保持不变的输出经历瞬时转换
- 静态1冒险:取值为1的输出瞬时经历0状态
- 静态0冒险:取值为0的输出瞬时经历1状态
动态冒险 ——本应单次跳变的输出信号发生不止一次的跳变
- 多级电路存在多条路径,且这些路径的延时是不对称的
- 一个无静态冒险的多级网络仍可能存在动态冒险
2.2.1 组合逻辑静态冒险消除
增加冗余 ——如果输入初始值和输入最终值能被同一个本原蕴含项覆盖,则不会出现毛刺(静态1冒险)。
采样脉冲 ——采样脉冲在D稳定期间进行采样
2.3 评价逻辑电路的主要指标因素
2.3.1 稳态因素
逻辑电平 ——逻辑0和1对应的电压范围越宽,抗干扰的能力越强,对电子元器件参数精度的要求及电源电压范围的稳定度的要求越高
噪声容限 ——输出电压与输入电压之间的电压差称为噪声容限
扇出系数 ——最坏负载情况下一个逻辑门能驱动的输入端数目。TTL电路的扇出系数一般小于10,MOS电路的扇出系数不受负载影响,但是随着扇出的增大,负载电容增大,导致工作速度大幅下降
2.3.2 动态因素
转换时间 ——逻辑门的输出从一个状态变化到另一个状态所用的时间
延时 ——从逻辑门的输入发生变化到相应的输出发生变化所用的时间,会导致冒险的存在
功耗 ——分为动态功耗(CMOS由开关电流和短路电流引起)和静态功耗
- 开关电流是不断对负载电容充放电所产生的
- 短路电流是输入存在有限转换时间引起PMOS/NMOS同时导通形成的
低功耗技术 ——降低电路的功耗以延长寿命,应该降低电路的电压和频率,导致工作速度下降 ,因而追求低功耗延时积
2.4 常用的逻辑功能的实现与优化
2.4.1 传输门
使能控制信号EN为低电平时,TG截止,F为 高阻态 ——相当于悬空,如果用万用表测可能是高电平也可能是低电平
总线应用 ——各门的控制端EN轮流单独为高电平
2.4.2 编码器/译码器
编码器 ——按照输入是否有优先级分为普通编码器(单1)和优先编码器(多1)
译码器 ——每个输出对应一个最小项
2.4.3 多路选择器
对应通过地址查表的过程。2n个数据输入, n个选择输入,1个数据输出
n变量逻辑函数 ——函数输入变量加到地址端,数据输入端赋值
m(>n)变量逻辑函数 ——函数的m-1个输入变量加到地址端,数据输入端以第m个输入变量的逻辑关系赋值
- m=n+1时,不需要任何附加的逻辑门
2.4.4 加法器
半加器不考虑进位;全加器考虑进位,输和Si和进位Ci+1
串行加法器 ——电路简单、速度慢
并行加法器 ——电路复杂、速度快
组内并行、组间串行进位加法器 ——层次化设计,解决扇出增大导致的加法器延时
3 时序逻辑与FSM
3.1 基本概念
过程在数学上可以表示为时间的函数。过程需要用不同的状态表示,这些状态需要用记忆元件来控制和预测
3.1.1 过程离散化与时钟
过程离散化 ——即时间离散化、状态数字化。将过程离散化是为了充分利用数字信号处理的快捷和高效
时钟 ——分布于包含记忆元件的电路中的一个周期信号,用来同步控制所有时序单元。保证所有元件都在同一时刻改变状态的是 同步电路 ,没有时钟或不使用同一个时钟信号的是异步电路
摆率 ——在单位时间里电压升高/下降的幅度,影响上升和下降沿时间
时钟信号产生 ——利用电路中的延时,采用反相器或者环形振荡器
3.1.2 时钟域与同步处理
时钟域 ——所有同步于同一个时钟信号的信号集合。同一个时钟域中的信号只能由同一个时钟的时钟沿来触发,时隙内所有的信号不会发生变化
跨时钟域 ——在两个不同的时钟域之间传递数据,二者时钟频率不一样,或者频率相同但存在相位差,来自一个时钟域的信号被另一个时钟域认为是异步的输入信号
同步处理 ——当数据与采样时钟异步时,或跨时钟域时,就需要对信号事件顺序的决定和处理。
3.1.3 状态
状态 ——系统的基本数学特征
时序逻辑需要将输入信号的历史信息存储下来。而状态变量的取值就是用来记录电路过去的信息,从而说明电路将来的行为
3.1.4 有限状态机
状态机 ——离散数学模型,给定一个输入集合,根据对输入的接收次序来决定一个输出集合
有限状态机 ——输入集合和输出集合都是有限的,且状态数目是有限的。有限状态集合S,有限输入符号集合I,有限输出符号集合O,初始状态s0,状态转移规则f ,输出规则h
** Mealy机** ——输出依赖于当前的网络状态和当前的输入
Moore机 ——输出只依赖于电路当前的状态,和当前输入无关
状态转换表 ——有限状态机的描述方法:输入、现态、次态、输出
3.2 锁存器
锁存器 ——在任意时刻都连续监测其输入,并改变其输出状态,与有无时钟信号无关。锁存就是将信号暂存以维持某种电平状态,在计算机或数字系统的输入缓冲电路中广泛使用。这样可防止输入信号的各个位到达时间不一致造成竞争与险象
可以有时钟信号作为控制端,在有效期间时刻检测输入取值,具有透明性
3.2.1 SR 锁存器、D 锁存器
SR锁存器 ——
门控SR锁存器 ——C=1时S置位R复位,C=0时状态不变
时序电路的竞争 ——最终电路产生的状态与时间相关,且不能事先预测,通过约束输入取值来避免竞争条件的出现
门控D锁存器 ——C=1时随D变化,C=0时状态不变
3.2.2 锁存器的时间参数
最小脉宽 ——为了得到希望的输出结果,输入信号有效的最短时间
延时 ——输入信号发生变化,导致输出信号发生相应变化的时间
建立时间 ——锁存操作开始之前,输入信号应保持不变的最短时间
保持时间 ——锁存操作之后,输入信号还应保持不变的最短时间
3.2.3 亚稳态
亚稳态 ——不确定状态。若信号不满足建立时间与保持时间约束,在时钟的上升沿采样的信号正在发生变化,则输出可能为1或0
产生原因 ——不同时钟域的存在,时钟偏差的普遍存在
解决方法 ——同步器设计,异步FIFO,被采样信号满足建立时间与保持时间约束
3.3 基本时序逻辑单元——触发器
触发器 ——仅在时钟信号有效时采样输入,并改变其输出状态
3.3.1 主从SR触发器
主从触发器 ——脉宽触发的触发器,可避免锁存器的透明性。在控制信号发生改变时,触发器状态发生相应的变化。具有一个主触发器和一个从触发器
主从SR触发器 ——高电平主触发器置位复位,下降沿从触发器获得主触发器之前的状态
3.3.2 边沿D触发器
边沿触发器 ——利用时钟的上升沿或者下降沿进行触发,改变输出。只要在触发沿处,输入的取值在建立时间和保持时间内固定不变,在触发器的固有延时之后立即发生相应的变化
边沿D触发器 ——高电平主触发器置位复位,下降沿从触发器获得主触发器之前的状态
3.3.3 JK触发器与T触发器
JK触发器 ——相比SR触发器,JK=1时状态反向
T触发器 ——0不变1反向
3.3.4 触发器的时间参数
建立时间 ——触发器时钟沿到来之前输入信号应保持不变的最短时间
保持时间 ——触发器时钟沿到来之后输入信号还应保持的最短时间
输出响应时间 ——从开始采样到输出信号的延时
3.4 同步时序电路分析和设计方法
避免反馈振荡 ——插入时钟控制的触发器
3.4.1 同步时序电路的分析方法
- 写出各触发器的激励方程( 驱动方程 )
- 把得到的驱动方程代入到触发器的特性方程,得到次态方程
- 按照电路图得到输出方程
- 根据次态方程和输出方程得到状态表
- 得到时序电路的状态图
- 画出时序图
- 确定电路行为
3.4.2 Moore机和Mealy机输出时序对比
理论分析时仅在时钟触发沿时刻考虑外部输入对时序电路的影响,而米利型电路的输出与外部输入时时刻刻都相连
Moore输出 ——状态数更多,与时钟同步
Mealy输出 ——状态数更少,与时钟异步,输入变化则立即变化。可通过触发器消除时序关联
3.4.3 同步时序电路的设计方法
等价状态对 ——当且仅当它们输出相同、次态等价
状态不等价 ——至少有一种输入序列会使得它们作为起始状态时产生不同的输出序列
- 确定输入输出并抽象出有限状态机,得到状态表或状态图
- 状态化简 ——行匹配技术(合并具有相同次态和输出的行)、蕴含表技术(输出不同x,次态输出都相同√,其他待定)
- 状态分配
- 顺序编码(二进制/格雷)
- 随机编码、紧凑型编码、单点编码、面向输出的编码
- 启发式方法(最少位变化:基于次态和输入/输出的准则[*])
- 确定激励方程和输出方程
- 画出两级或者多级逻辑电路图
[*]基于次态和输入/输出的准则
Rule I ——具有相同次态的状态应该具有相邻的状态编码
Rule II ——同一状态的次态应该具有相邻的状态编码
Rule III ——具有相同输出的状态应具有相邻的状态编码
3.4.4 典型的时序逻辑电路——寄存器
(存储)寄存器 ——数字系统的存储元件,由n个触发器构成
移位寄存器 ——数字系统中既能寄存二进制信息又能移位的逻辑元件,分为左移寄存器、右移寄存器、双向移位寄存器。也可按照并/串行输入输出分类
串行输入 ——简单,存储时间长(n周期)
并行输入 ——多路选择实现移位/加载模式,单周期全加载
串行输出 ——仅最后一个存储单元值可见,减少输出端数目
并行输出 ——所有触发器储值可见
3.4.5 典型的时序逻辑电路——计数器
计数器 ——记录输入脉冲的个数,其最大值称作 模 ,用于定时、分频、产生节拍脉冲及数字运算等等。可以分为加法、减法、可逆计数器;特殊进制计数器;利用移位寄存器构成的计数器
自启动 ——非正常工作状态能经过若干次状态转换进入正常工作状态
- 增加组合电路
- 利用触发器预置位和复位端重新加载触发器状态使回到正常序列或起始状态
环形计数器 —— 循环的移位寄存器 。将移位寄存器的串行输出接回串行输入。电路简单,浪费状态
扭环形计数器 ——将移位寄存器的串行输出反接回串行输入。加倍模值,提高状态利用率。
异步计数器 ——低位计数器的反向输出是高位计数器的时钟信号,低位都为1时高位才翻转,最低位每次翻转
同步计数器 ——组合逻辑实现翻转规则:与门输入数目增加或延时增加。
-
编码器
+关注
关注
45文章
3585浏览量
134125 -
MOS管
+关注
关注
108文章
2392浏览量
66564 -
BJT
+关注
关注
0文章
221浏览量
18114 -
数字电路
+关注
关注
193文章
1600浏览量
80490 -
BCD码
+关注
关注
1文章
52浏览量
18272
发布评论请先 登录
相关推荐
评论