D触发器实现二选1
4位移位寄存器
移位寄存器,可以将寄存的Q信号逐位输出
N位寄存器
递增计数器
带并行载入端递增
这里载入的时候,省略掉的ELSE,自动操作就是锁存原状态,即Q<=Q
并行,递减
这个没有复位端
递增递减计数器
用三目表达式进行
反应计时器
两位的BCD计数器
最低位在每次E准许时,时钟上升沿来后计数一次,达到9后,开始判断下一位的情况,并让自己归0
如果开始或复位信号在,那么LED不亮,则LEDn亮,提示要推w
如果w在,那么LED亮,表示结束,等待下一次复位,复位后等待下一个时钟上升沿;此时LEDn不亮,表示推完了
LED为计时器的使能信号,当LED亮时,电路才开始计时
时序分析
希望计算出电路正常工作时的最大时钟频率FMAX,可以确保之内的保持时间没有偏差
例一
正沿时刻,数据加载到触发器,触发器开启,延迟TCQ后传到输出Q,然后信号再通过反相器
输入的数据传输到输出的数据位置也需要传输时间,因为电路有长度。
Tsu是触发器的时间参数
例二
有多条路径可以使触发器开始或结束,最长的路径开始于Q0结束于Q3,为关键路径
以上是同一时刻到达的,如果时钟信号达到触发器的时间不尽相同,为时钟偏斜
假设先到Q0,Q1,Q2,后到达Q3。
则输入信号在时钟信号到达Q3之前就已经开始向Q3传输了,而不是在时钟信号到达Q3后再向Q3传输入信号,即同时到达的情况
所以一般最长的关键路径,如果发生时钟偏斜,一般是时钟信号和输入信号都晚到,但是输入信号更晚,也就是此时它的时间就是时钟到达后还需要再额外等输入信号到的时间
画时序图
A前为或非门,有1个为1就是0,都为0则为1
C先到,C一个信号到A需要一个延迟,到B需要两个延迟,B到A要1个延迟
C变到1时, 过一个延迟到A,则A变;过两个延迟到B,B变
C变到0时,过一个延迟到A,但B没变,则A不变;过两个延迟到B,则B变;
B过一个延迟到A,则A变。关键路径为C-B-A,即一共过了三个延迟后,A才变
控制售货机
状态机
直接状态分配的话,2^n个状态只需要n个状态变量
如果用独热码,就需要等量状态的状态变量
电路输出基于电路状态和当前输入值的为MEALY状态机
y表示现态,Y表示次态,由于Y是次态,所以可用阻塞赋值,直接赋给
这里就没有设置次态,所以就必须要用非阻塞,等到这个时序下都结束了再赋值,把次态给现态