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

        常见的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只能对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做一个简单的例子:

你可能感兴趣的:(芯片后端,时序相关,soc,skew)