使用时钟周期约束的优势
扫描二维码
随时随地手机看文章
设计人员可通设置时序约束来满足芯片设计的具体时序需求。物理综合工具可通过布局布线满足这些时序约束。一个非常常见且重要的时序约束条件与最大时钟频率密切相关,我们通常称其为周期约束。在Xilinx ISE工具套件中,该约束在用户约束文件(UCF)中被称之为TS_clk。赛灵思时序约束用户指南规定,周期约束用于:
1)定义设计中的每个时钟;
2)覆盖每个时钟域中的所有同步路径;
3)交叉检查相关时钟域之间的路径;
4)定义时钟持续时间;
5)定义时钟占空比。
用户指南包含丰富的详细信息,并对周期约束功能提供了良好的相关解释。不过我们应当深入了解FPGA综合工具背后的奥秘,探索相关周期约束行为的一系列问题,并掌握布局布线的算法如何工作。具体而言,我们将讨论解释TS_clk约束失效的方法,通过渐进约束工具来检查您是否正在逐步改善结果,讨论为什么工具显示的结果存在差异。最后我们还将了解这种时序约束相对于非约束设计的优劣。
如何解释TS_clk约束失效
如果设计不能满足时钟周期约束要求,就意味着它不能在相应的时钟频率下运行。此后您可进行流水线设计,在慢速路径下放松时序要求。流水线技术可能足以让设计满足约束条件。还有一种改进时序的办法就是减少两个寄存器之间的逻辑级数,事实上您需要简化关键路径中的逻辑设计。这两种方法都适用于设计层面,在该层面上设计人员可对RTL代码进行必要的调整。如果您的设计在RTL调整后仍无法满足时序要求,下一步就要启用赛灵思ISE开关:register_balancing(专门用于寄存器重新定时)与register_duplication(可复制寄存器,降低特定寄存器下的高扇出)。
改进时序的另一种途径就是将引脚正确地分配给I/O信号。良好的设计实践是将相邻的引脚分配给相邻的信号。例如,一个I/O总线上的所有信号应分配给一个bank上的相邻引脚。分配大量引脚时应使用相邻bank。
以上问题非常重要,它们将作为布局布线工具的约束条件。该工具通常会尽量使相关逻辑在一起,如果相关I/O分配给相邻引脚,这就比较容易,因为该技术很有可能将减少布线延迟,然后工具也不会分散器件上的逻辑。分散逻辑会加大布线延迟。
一般而言,在FPGA必须位于印刷电路板上时,在分配引脚时就要考虑更多相关电路板的问题。由于FPGA会与电路板上其它芯片连接,因而相邻引脚分配法不见得总能适用。因此,FPGA设计人员最好在设计阶段早期就与电路板设计人员沟通,以减少引脚分配冲突。
还有一种改进时序的方法是使用更高速级别的器件。不过,这会影响产品价格,因此这不是轻易可以选择的。我们不光要考虑器件本身成本的提高,还要考虑更高速器件会对电路板设计产生的影响,进而对电路板设计成本的影响。