信号skew约束与检查—set_data_check/get_attr arrival

  • Post author:
  • Post category:其他


常见的I2S,I2C和高速接口之间,异步处理的gray码指针同步都需要对多个信号进行skew约束和检查。

skew检查的信号之间可以没有path,比如I2S的sdo和ws_o是两个独立的IO。但这些信号都来自同一clkdomain,如果不在同一个clk-domain 这些信号之间变化是没有先后顺序的 就没必要做skew检查。


timingPath/set_data_check和set_max_delay/set_multicycle_path_cy413026的博客-CSDN博客

上文给出了一个 grayCode skew检查的实例,用的是set_data_check。这种方式是正向去约束,综合工具会尽量meet这些约束,如果不meet就会报violation。

还可以参考另一篇文章:


set_data_check专题[使用,report_timing,setup/hold检查]_cy413026的博客-CSDN博客

需要注意的是set_data_check只能对data 信号进行约束,如果某信号有clock属性是不行的,所以如果I2S的sclk_o如果被设置为clock就不能用set_data_check约束。

但是set_data_check在后端PR阶段可能不能被识别,那么在后端PR该如何来确定这些skew来满足需求呢?此时即使有综合的skew timing report也不准确了,因为增加了布线延迟。

PD工程师此时采用的方法时报出来所有需要skew检查的信号的arrival时间,在分别计算两两信号间的rise fall max skew和min skew,并于skew阈值比较,一旦大于阈值,PD工程师就只能手动优化该path的delay。下面以I2S的sdo和ws_o做一个简单的例子:



TODO



版权声明:本文为cy413026原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。