FPGA的关键路径时序约束
If the FPGA is a device of Xilinx, Use FPGA editor to check if the placement is reasonable or not.
Place a region constraint for the enclosing module instantiation.
如果是altera 尝试 更改 随机种子的值
altera用时序分析仪 哪里可以设置约束的
同问,这些讨论才是精华!
有没有针对关键路径,加以必要的timing constraint命令?
学习了,知道怎么分析了
主要是看你的关键路径在什么位置。
如果关键路径从source 到 destination都是在同一个时钟域。那对于这条路径的约束主要是period约束。这样,如果你的设计没有满足时序,那没有办法,只能修改你的设计,把组合逻辑拆开,中间用时钟打几拍。
如果关键路径是跨时钟域的,那分情况了。首先肯定是fifo,需要明白,fifo的 data path是不需要约束的,要设成false,告诉工具,不要去分析这条路径。然后就是其他的跨时钟域的信号,设置多周期约束或者直接用timing ignore设成fase忽略掉都可以。
具体问题要具体分析,多碰到几次就熟悉了。当然最主要的还是用xilinx的xplorer去反复跑,寻求一个最优的结果。
感觉还是xilinx的约束环境好
用SMART EXPORLER吧。如果是4核8线程的CPU,别浪费CPU了
如果是组合逻辑引起的,多打几个时钟节拍
首先你用report_timing 命令让工具报出整个路径的信息,看看是哪些地方的延迟过大,如果slack在时钟周期的一定范围内(个人经验5%) 在范围能可以针对延迟较大的修改布线CELL进行修改, 如果违例过大就建议小编在路径上面在加入一级的DFF。应该就可以解决了
用过Synplify做综合,感觉Synplify的约束比Altera或Xilinx的工具方便些
