#本人天津大学大二,为复习作此笔记。偏向为了复习而设计,可能言语有不通顺处,请谅解
一。建立时间约束
建立时间:在时钟clk到来之前,寄存器输入值需要稳定一定时间,叫做建立时间
数据从R1左边进去,经过寄存器的传播延迟;然后经过组合逻辑电路,加上组合逻辑电路传播延迟;在下一个时钟周期到来之前,预留一个建立时间。
所以:寄存器传播延迟+组合逻辑电路传播延迟 < 时钟周期-建立时间
二。保持时间约束
保持时间:寄存器在时钟周期到来时采样需要时间,这个时间里输入不允许有波动
这里输入就是当前的D2,不需要进行更新
数据从R1进去,以最快速度跑出去(寄存器最小延迟);然后以最快速度跑出组合逻辑电路;现在,D2的数据应该已经过了保持时间约束,不然会“冲犯”到D2的值。
所以:寄存器最小延迟+组合逻辑最小延迟 > 保持时间
三。事上练
1.不能跑的太慢
最慢时间:触发器传播延迟+逻辑门传播延迟*3+建立时间 < 时钟周期
得:时钟周期>=215ps
2.不能跑的太快
最快时间:触发器最小延迟+逻辑门最小延迟>保持时间
显然55>70不成立!违反保持时间约束
所以怎么改: