多谢回复!
1.
“data 的延时一般不会超过两个 clkb 周期。”
请问这是需要通过添加约束来实现不会超过两个clkb,还是说在不额外添加约束的情况下、即使PR在最差的情况下也一般不会超过两个clkb?
2.
"如果想把 data 的 delay 控制得小一点,可以加个 set_max_delay。"
请问您是在项目中用过这种方式?我也有看到有说可以通过在CTS阶段通过起点create clock,在各自终点设置stop pin来平衡相关信号的延时差的。不知道业界比较通用的方式是哪一种?
3.
“FIFO 通常不会同步 WEN。 通常是同步 write pointer 到 read clock domain 或反过来。 通过比较 pointer, 决定是否有数据在 FIFO 里需要读出。 避免 FIFO overflow, underflow, 这些是设计思想的问题,不是单纯的 timing constraint。
好的设计,是好的思想 + 好的实现。 “
您说的对。FIFO不同步WEN,而是通过将pointer进行gray码转换->同步到对端时钟域(一般是打2拍或3拍)->对端将gray码转换为pointer->从源时钟域进行数据的读写。设计思想这一块我没有太大疑问,我现在就是不太清除在好的设计思想上的好的实现该如何实现。其实就是我的第1、2点疑问,我想知道业界一般如何来做。
多谢回复!
|