这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 一些关于Timing的建议和步骤

共1条 1/1 1 跳转至

一些关于Timing的建议和步骤

菜鸟
2017-06-28 15:58:03     打赏
最近帮助客户解决timing问题,找到了手册一些关于timing的建议和步骤。虽然目标器件是V6 or S6,但即使7系列工程,也具有很好的应用性,整理一下提供大家参考。目前很多概念或设计思想,已经被xilinx整理成为UFDM的一部分。

Timing closure:时序收敛意味着在任何合法的工作条件下,FPGA工作都是稳定正常的。这里的合法条件包括 Process 、 Voltage 、Temperature 。
Achieving Timing :首先需要明确系统设计要求、也同时需要了解器件的性能feature;
时序收敛流程图:


GoodPin 约束:根据FPGA的架构、设计流程、单板的需求来约束管脚。工程师可以提前使用planahead工具来分配管脚,避免关键逻辑横跨器件左右bank。单侧临近的IO分布有利于timing收敛;


合适的编码策略、充分利用FPGA内部资源:首先熟悉目标器件的硬件资源,遵循xilinx的coding原则,如pipeline关键路径、跨时钟域的信号处理、复位极性等;


尽量避免CLOCK_DEDICATED_ROUTE:CLOCK_DEDICATED_ROUTE是很常见的约束,避免在量产的版本中使用这个约束语句,仅仅是临时clock分配不合理的做法。


使用指定的寄存器:通常RAM和DSP48内部都有专用寄存器来减少setup和clk2out时间。建议工程师在调用时开启寄存功能。


综合时的几个选项:


Keep Hierarchy :保持层次结构有利于debug找到信号,但不利于模块边界的优化,建议关闭;
LUT Combining :合并LUT有利于资源优化,但不利于满足timing;需要根据需要来确定;
Resource Sharing:可以通过Resource Sharing来共享资源,但不利于timing,建议关闭。
Pack I/O Registers Into IOB:IOB寄存器在接口应用中有利于timing,建议开启;
Over-Constraining a Design:不建议过约束design 时钟,如果需要考虑PVT,建议通过SYSTEM_JITTER 来完成。
Run SmartXplorer:在timing结果不到10000时,可以尝试不同cost table来解决timing问题。
适当通过Multi-Cycle & false path 来解决timing 问题。


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]