笔记参考资料:student_guide 和lab guide

时序约束在lab3

时序约束在lab3

为什么需要时钟约束?

仿真的时候,我们是不需要时钟约束的,因为所有寄存器的触发时间一定都完全一样。所谓的时钟约束,就是通过修改设计或者添加buf等对时钟到达寄存器的时间进行修改,或者是限定某些组合逻辑的计算时间,从而满足时序要求。

约束便是对时种,延时等的设置,所有的这些个设置被存放在xxx.con文件中,要理解这些时钟设置的原因。

由于时钟设置不能快也不能慢,太快可能会导致下一级存储器来不及储存这一级的数据,太慢可能会造成输入数据亚稳态等

名词定义

下面的解释都是针对下图的设计进行的约束

Untitled

Clk约束

clock latency 总结_u010170039的博客-CSDN博客_clock latency

Untitled

clk frequency: 时钟频率

clock lantency = source lanytency + network latency

source lantancy : 就是时钟源到模块clk输入的地方

network lantancy:就是时钟从模块clk到模块内部各个寄存器的时间

clock uncertainty =clock jitter + 2*clock skew

clock jitter: 每个时钟周期的微小偏差

clock skew: 到达两个相邻模块的network lantency的不同

d触发器有什么功能_常用d触发器芯片有哪些

如何理解这里的setup margin?

属于clock uncertainty的一部分,除了jitter和ckew外的额外约束

如何理解这里的worst case rise/fall transition time

就是clock的那个上升或者下降沿,它不可能是直上直下的,有一定的上升时间和下降时间,这个时间就是transition time

Input约束

Untitled

Input_delay = T - ext_delay - reg_setup - uncertainty

输入时钟要在一个周期内到达输入端口。输入约束主要由外部输入延迟决定