静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482目录介绍发射时钟和捕获时钟相同发射时钟和捕获时钟不同介绍在静态时序分析中建立时间检查约束了触发器时钟引脚时钟路径和输入数据引脚数据路径之间的时序关系以满足触发器的建立时间要求。简单来说就是建立时间要求数据在时钟的有效沿到达之前提前到达且稳定一段时间这是为了数据被有效锁存捕获。通常来说在检查一条时序路径时会有一个发射触发器即发射数据的触发器就算是输入端口也会有一个假想的发射触发器还有一个捕获触发器即捕获数据的触发器就算是输出端口也会有一个假想的捕获触发器进行建立时间检查时我们会使用最大路径即延迟最大的时序路径。有一点需要特别注意发射触发器和捕获触发器的时钟并不一定是同一个时钟虽然在同步设计中常常能保证这一点。建立时间检查是从发射时钟的某个有效沿到其后捕获时钟的最近有效沿不包括同时这里的先后并不考虑时钟延迟包括时钟网络延迟和时钟源延迟、时钟不确定度的即考虑理想情况。在同步设计中由于理想情况下时钟是对齐的因此发射捕获时钟的任何一个沿的检查都是等效的。发射时钟和捕获时钟相同例如对于图1图中有两个同步的D触发器其中左边的t_reg是发射触发器而右边的data_out_reg是捕获触发器。图1 一个简单的例子图2是时钟的波形图周期为10ns假设D触发器是上升沿触发则发射触发器会在5ns、15ns、25ns...发射数据而捕获触发器则相应的会在15ns、25ns、35ns...捕获数据并检查建立时间是否满足要求。图2 时钟波形图使用report_timing命令可以报告时序检查结果如图3所示就是从t_reg触发器的时钟引脚CK到data_out_reg触发器的输入引脚D的时序路径的报告报告中会出现library setup time关键词。图3 建立时间时序报告图3中Path_type为max表示这是一个建立时间检查或最大延迟时间检查注意将其与其他SDC命令中的-max和-min选项区分开并不代表着-max指定的参数就只用于建立时间检查也不代表着-min指定的参数就只用于保持时间检查这取决于工作模式是否为bc_wc模式还是on_chip_variation模式。从图3中可以看出发射时钟选择了5ns时的上升沿而捕获时钟选择了15ns时的上升沿在报告的最后给出了时序检查的裕度(slack)在满足时序要求的设计中裕度应该是正的并且留有一定的余量。发射时钟和捕获时钟不同下面来看一个发射时钟和捕获时钟不是同一个时钟的例子。以图4为例此时t_reg触发器的时钟改为clk1周期为16如图5所示而data_out_reg触发器的时钟改为clk2周期为14如图6所示。图4 发射时钟和捕获时钟不同的例子图5 时钟clk1的波形图图6 时钟clk2的波形图根据我们的规则易知发射时钟的有效沿在8ns、24ns、40ns、56ns...而捕获时钟需要检查的相应有效沿在21ns、35ns、49ns、63ns...。在进行建立时间检查时会对最难满足条件的时钟沿时刻组合进行检查即相隔最短的一组时刻在本例中为发射时钟在104ns而捕获时钟在105ns时。图7的时序报告证明了这一分析。图7 建立时间时序报告
阅读完成 · 觉得有帮助?