概括
这个栏目的博客是博主的学习记录,每篇博客的面试题在两道左右,计划从概念/电路/时序等方面来剖析问题,夯实硬件基础。
Setup 和 Hold 时间
概念:
Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求。
- 建立时间(Setup Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信号应提前时钟上升沿 (如上升沿有效)T 时间到达芯片,这个 T 就是建立时间通常所说的 SetupTime。如不满足 Setup Time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿到来时,数据才能被打入触发器。
- 保持时间(Hold Time)是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果 Hold Time 不够,数据同样不能被打入触发器。
时序
理想状态是Setup Time与Hold Time相等。
竞争-冒险现象?消除?
产生原因及概念:
在组合逻辑电路中,由于门电路的输入信号经过的通路不尽相同,所产生的延时也就会不同,从而导致到达该门的时间不一致。因此,电路在信号电平变化瞬间,可能与稳态下的逻辑功能不一致,产生错误输出,称为竞争-冒险。
竞争
一个逻辑门的两个输入端的信号同时向相反方向,而变化的时间有差异的想象(有滞后),称为竞争。
冒险
产生情形:
- 两个输入端是两个不同信号,但是取值方向相反
- 门电路输出端的逻辑表达式可以简化成两个互补信号相乘或相加
由于竞争而在电路输出端可能产生干扰脉冲或毛刺的现象叫冒险。
消除方法
-
消去互补信号相乘项
-
增加乘积项避免互补项相加
-
输出端(芯片外部)加电容
未加电容:
并联电容后:
对比上两图可见电容对窄脉冲起到平波作用,消除输出端的逻辑错误,但同时也使输出端波形上升沿或下降沿变得缓慢。