当前位置:首页 > 数字电路课程要点
前面提到的上升沿检测、教材上的组合锁例题都属于这类器件;
可用于网络传输的同步定位、文件起始与终止表达、特定信息传递、救援信号检测等。
例:对1011序列的Moore检测
状态设置
根据序列表达的不同长度设置状态: 从初始态开始;每次有效检测进入一个新的状态;每个不同的有效态采用不同的字符命名表达;对于Moore检测,N位序列需要设置N+1个状态; 例: 0字符态(初始)、1字符态、2字符态、3字符态、4字符态… -- 1 10 101 1011 S0 S1 S2 S3 S4
状态有效转移
从初态开始,为每个状态设置转移线: 为每条转移线标记转移条件;
状态无效转移
对每个状态分析缺失条件可能导致的转移:
采用从高位逐位减少分析法,确定其最近的可能转移状态。 将所有转移条件相加,结果应该为1;避免漏掉转移;
状态转移表
以状态和输入为变量,表达转移状态和输出; 表后可以列出各状态的含义;
Mealy机的输出列于表中;Moore机的输出列于状态之后;
状态编码
根据状态数量选择最短编码赋值;
初始态应便于设置:通常采用全0表达; 相邻的状态应尽量使用相邻的编码;
当多个状态与同一个状态相邻时,应根据转移的频率考虑编码;
转移输出表
变量较少时,可以根据根据状态转移图/表直接得到转移输出表;
变量较多时,可以将输入变量与状态变量分离,通过转移列表得到转移表; 对转移输出表化简,得到激励方程和输出方程;
对输出和转移的不同设置
保持输出,直到接收到复位控制信号:在设计中产生的变化;
Mealy型输出:少设置一个状态,提前产生输出,可能存在的风险;
产生输出之后的设计选择
返回初始态:此过程会漏掉1次检测;
连续检测:将产生输出后的第1次检测作为新检测的第1位;不一定回归初始态; 重叠检测:将产生输出后的第1次检测与前面的检测合并,决定新的转移状态;
对于相同序列检测,不同设计之间的区分仅在于最后状态的转移。
教材参考章节: 第7章:7.4、7.6 第8章:8.5
第27次课 (8-4)
多序列检测设计
方法与前述完全相同;
有效状态增加,有效转移增加;
例:对2种序列的Moore检测 1011,0101
初始态 1字符态 2字符态 3字符态 … -- 1,0 10,11 101,010
状态的意义与等价性
利用Moore检测的最后2个状态的转移,说明状态等价的含义和状态化简的意义: 状态的意义:决定当前输出和下步转移
等价状态定义: 当前输出相同、下步转移目标及条件相同 等价状态意义相同,可以合并;
状态合并可以减少状态数量,可能得到成本的优化;
简单状态机设计
教材例题:对A端口的00、11进行Moore检测;做可重叠检测,并利用B保持输出;
状态设置
例:对2种序列的Moore检测 00,11
初始态 1字符态 2字符态 -- 0,1 00,11
共5个状态;
状态等效性分析
回归初始态分析、连续序列检测分析:2字符态等效 重叠序列检测分析:2字符态不等效
保持输出的条件分析 新状态的引入; 等效性的判断; 最终只有5个状态;
采用状态表进行分析
先穷举应该有的状态数量:考虑所有的单字符和2字符状态,并按照输出进行区分; 对输入的各种不同情况,对每个状态,分析其转移状态; 根据输出将状态分类;
对比转移条件,确定等效状态并进行合并。
多输入信号的检测
教材例题:1的检测:从2个输入端检测1,当1的个数为4的倍数时输出有效电平; 状态设置:4个状态;
转移设置:根据输入情况确定; 自动售货机设计:
对输入的区分: X=1 Y=2
约束条件的加入:XY=0 不允许同时投入2种币; 初始态的添加:没有投币,清零的结果; 输出态的添加:产生输出后还有结余; 保留结余或退出结余的选择。
教材参考章节: 第7章:7.4—7.7
第28次课 (8-5)
状态机的分解设计
当输入状态多到一定程度,组合逻辑就很难适应真值表设计的方式,需要分解为功能单元进行设计;
同样,当状态及变量多到一定程度,状态机也难以适应状态图或转移表的设计,需要进行分解设计;
状态机的分解设计主要采用2种方式:
将状态机分解为不同功能的若干部件,分别进行设计; 将状态机看做是由基本运算单元进行扩展连接的设计;
简单状态机的分解设计 可以分解为2个功能:
功能1:对A进行2次检测,看看是否产生输出; 功能2:对B进行检测,看看是否保持输出;
功能1可以通过对接收A的寄存器的输入输出进行同或运算得到判断;
功能2则可以通过设计2状态的状态机得以实现: 有输出的状态 无输出的状态 这样的设计比标准设计更为简洁。
序列检测器的分解设计
采用1个寄存器接收被检测信号,则寄存器输入和输出就可以反映前后2次检测的结果; 将该结果送入常数比较器中(与门),就可以实现对指定的2位序列的检测;
将多个寄存器级联构成移位寄存器接收被检测信号,则各寄存器中数据就是连续多位检测
的结果;将这些结果通过常数比较器,就可以实现序列检测器的需求。 因此,序列检测器设计可以根据待检测序列的长度设置同样长度的移位寄存器,将串行序列转变为并行数据,再设置相应的常数比较器就可以实现检测。这样的设计方式概念简洁,设计方便,容易推广到超长序列的检测设计中。
汽车尾灯控制器设计
教程讲解的设计:整体设计方法
状态的设置:8种不同输出状态,3个独立的输入变量; 状态转移图的表达 状态转移列表
转移表及激励方程的最小化
系统分解设计
由状态图可见3个不同循环:对应不同输入,状态表现为不同循环--可以与计数器对应 采用模4计数器构成状态循环基础; 对不同循环设置不同的输出方程;
对输入进行编码,实现对输出的选择控制。
自动售货机(Vending Machine)
实际售货机输入与输出种类繁多,难以使用状态转移进行表达;
将状态机按照输入编码、激励运算、状态存储、输出控制分为4个功能块;
输入编码:将投币和选货2种输入根据金额编码为符号数:投币为正,选货为负;
激励运算:将输入符号数与状态存储器中数据(余额)进行相加,得出新的余额及判断:
余额为正才允许更新存储器数据及出货;
状态存储:存放交易余额,该余额不能为负; 输出控制:将余额通过数码管进行显示;
当输入为选货,且激励运算得到余额为正时,控制出货机构进行出货; 当输入为选货,且激励运算得到余额为负时,显示余额不足的信号;
序列信号发生器设计
分解为计数器和输出逻辑2部分分别设计;
计数器设计
采用带有使能控制的小型计数器进行扩展,得到大规模计数器。
采用带有清零控制的计数器,则可以通过对状态输出进行检测,在指定状态回零,从而实现变模设计。
课程设计:
交通灯的控制设计
可以控制十字路口4面交通灯的状态;
每一面具有红、黄、绿三种灯,任何时刻最多只有1种灯亮; 每个灯可以处于亮、暗、闪烁三种不同状态;
共分享92篇相关文档