静态时序分析:时钟标记(作为数据使用的时钟)及其分析方式 相关阅读静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482目录引言时钟标记作为数据使用的时钟的时序分析引言一般情况下设计中的时钟路径和数据路径是严格区分开的时钟路径即从时钟源对象时钟定义点到触发器的时钟引脚数据路径即从触发器的时钟引脚到另一个触发器的数据引脚如图1所示。根据这个定义发射路径由发射触发器的时钟路径和数据路径组成而捕获路径由捕获触发器的时钟路径组成。图1 时钟路径和数据路径的定义虽然不常见但有些时候时钟信号也会连接到触发器的数据引脚如图2所示本文就将讨论这种情况。图2 作为数据使用的时钟时钟标记从时钟源对象开始工具会遍历整个时钟网络并进行标记如果某个单元引脚的扇出中存在触发器时钟引脚则该单元引脚is_clock_used_as_clock属性被设置为true如果某个单元引脚的扇出中存在触发器数据引脚则该单元引脚is_clock_used_as_data属性被设置为true。以图2为例可以使用下面的命令报告设计中所有is_clock_used_as_clock属性或is_clock_used_as_data属性为true的引脚。dcnxt_shell get_pins -filter is_clock_used_as_clocktrue {u1/A u1/Y u2/A u2/Y o_reg/CK}dcnxt_shell get_pins -filter is_clock_used_as_datatrue {u1/A u1/Y u3/A u3/Y o_reg/D}作为数据使用的时钟的时序分析以图2为例此时的输入端口clk到触发器的时序分析时就像普通输入端口那样会计算真实发射路径上的延迟和转换时间即使时钟为理想时钟也是如此这是因为此时的时钟路径与数据路径重合了并且此时无需指定输入延迟数据自身就是时钟如图3所示。图3 作为数据使用的理想时钟但可能出现问题对于理想时钟来说如果使用真实发射路径上的延迟和转换时间时钟网络的高扇出而可能造成很大的延迟和转换时间这在时钟树综合前是过于悲观的。如果将enable_clock_to_data_analysis变量默认值为false设置为true则对于发射路径则会使用set_clock_latency命令和set_clock_transition命令设置的延迟和转换时间。对于捕获路径则会根据时钟的种类理想or传播使用相应的延迟和转换时间的计算策略就如一般情况下那样图4展示了时钟为传播时钟情况下的时序分析报告注意使用-full_clock选项和-transition_time以报告完整的时序路径和转换时间。图4 作为数据使用的传播时钟