VIVADO约束——FIFO生成器IP约束不小心掉落

描述

FIFO生成器IP可以生成一个**Cix.xDC文件,该文件使用“StIyMax延迟-DATAPATHOLY”约束,这取决于选择FIFO的配置来约束与FIFO逻辑相关联的CDC(时钟域交叉)路径。

用户可以在用户XDC文件中添加“StIsCixLyGROUP”约束,放松与FIFO相关的两个时钟的定时。

因为“StIsCixLyGROUP”优先于“StIGMax延迟”,所以不尊重FIFO“StIdMax延迟”约束。

这在VVADO中没有作为错误或临界警告出现,因为这符合SDC定义的约束优先级。

我怎样才能避免这个问题?

解决方案

为了验证设计约束,在综合设计中使用“方法方法检查规则”层来运行DRC。

这个问题可以用“方法论检查”规则层来捕获,并有如下警告:

计时α1警告时钟RDCLK和WRCK之间的St*Cox组或SETH-FALSE路径覆盖了SETXMax延迟-DATAPATHOLY(参见VIVADO IDE中的时序约束窗口中的约束位置7)。

不建议重写“SETIX Max延迟- DATAPATHOLY”约束。

下面是一些可能的解决方案:

  1. FIFO发生器使用点对点StIdMax延迟约束。
    对于同一个XDC命令,约束中的对象越具体,约束的优先级就越高。
    因此,可以使用两个时钟组之间的SETIXMax延迟,而不是SETH-CROCKIL组。
    这样,FIFO生成器SETIXMax延迟约束将具有更高的优先级,并且不会被重写。

  2. 用点对点StIfFixSePiess约束替换时钟之间的SETIOCRONILIGROR组或SETYFALSESEY路径。

  3. 使用内置(或硬核)FIFO,不需要“SETIX Max延迟”约束,因为相关的逻辑在硅中硬核而不是在织物中。

  4. 评估对于特定应用程序是否可以安全地忽略“StIxMax延迟”约束。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 17:37:54 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它