介绍一下FPGA时序约束语法的“伪路径”和“多周期路径”

可编程逻辑

1340人已加入

描述

一、伪路径

1、伪路径的定义

FPGA开发过程中软件的综合布线耗时很长,这块对FPGA产品开发的进度影响很大。

伪路径表示该路径实际存在,但该路径的电路功能无须考虑时序约束。

通过定义伪路径,通知vivado等FPGA开发软件无需对这些路径进行时序优化布线。

这样FPGA开发软件就会自动跳过这部分路径的优化,可以减少综合布线的优化时间。

使用伪路径命令可以有效地减少时序分析的复杂度,同时提高系统性能和可靠性。

2、伪路径的应用范围

伪路径主要应用于异步时钟或异步复位的情况下,例如:

  • 跨时钟域
  • 异步复位逻辑
  • 异步RAM

3、伪路径的约束的写法

伪路径约束语法为:

寄存器

这里需要注意:伪路径约束是单向的,不是双向的,如果两个时钟域相互之间都有数据传输,则需要对两个方向的都做时序约束,如下所示:

寄存器

或者这样写也是可以的:

寄存器

二、多周期路径

默认情况下FPGA开发软件默认每条路径都是单周期路径,即从上一个寄存器到下一个寄存器的时间默认为一个周期内可达,并按照这个约定去布线优化。

其实我们写的代码基本默认就是单周期的,时序达不到就拆分代码逻辑,拆分成多个周期完成即可,则不需要做多周期路径约束。

但有时也存在需要多周期路径,设定这个路径从起点到终点需要1个周期以上才能到达,这时就要进行多周期约束,但这部分约束也用的少。

多周期约束语法:

寄存器

单时钟域下,数据经过N个周期从起点寄存器到达终点,约束如下:

寄存器

三、总结

本文介绍了伪路径和多周期路径的使用,但要注意的是伪路径约束不能滥用,只能用在一些异步时钟或异步复位这些对于时序要求不高的路径,对于关键路径,不能用这个约束命令,还是要从HDL代码来优化。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分