转载:FPGA时序约束的几种方法(待续)
2011-02-19 21:26
351 查看
http://article.ednchina.com/Other/20081211092848.htm
对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地,设计的时序收敛就会更可控。
从最近一段时间工作和学习的成果中,我总结了如下几种进行时序约束的方法。按照从易到难的顺序排列如下:
0. 核心频率约束
这是最基本的,所以标号为0。
1. 核心频率约束+时序例外约束
这还不是最完整的时序约束。设计者的思路还局限在FPGA芯片内部。
2. 核心频率约束+时序例外约束+I/O约束(包括位置、外部走线延时、上下拉电阻、驱动电流强度等等)
这才是最完整的时序约束。FPGA作为PCB上的一个器件,是整个PCB系统时序收敛的一部分。FPGA作为PCB设计的一部分,是需要PCB设计工程师像对待所有COTS器件一样,阅读并分析其I/O Timing Diagram的。FPGA不同于COTS器件之处在于,其I/O Timing是可以在设计后期在一定范围内调整的;虽然如此,最好还是在PCB设计前期给与充分的考虑并归入设计文档。
正因为FPGA的I/O Timing会在设计期间发生变化,所以准确地对其进行约束是保证设计稳定可控的重要因素。许多FPGA外部器件在FPGA重新编译后出现不稳定的问题都有可能是由此引起的。
3. 核心频率约束+时序例外约束+I/O约束+LogicLock
LogicLock是FPGA器件内部的布局约束。从一次成功的时序收敛结果开始,把特定的一组逻辑在FPGA上实现的布局位置和范围固定下来。相应地,其布线结果和时序收敛结果也就得到了间接的保证。需要注意的是,LogicLock不同于DesignPartition中的Post-fit Netlist。LogicLock的约束是粗粒度的,并且其精度范围是可调整的;而引入Post-fit Netlist是精确到门级的细粒度约束。
4. 核心频率约束+时序例外约束+I/O约束+FloorPlan+LogicLock
FloorPlan也是FPGA器件内部的布局约束,是LogicLock的一种特例。成功的FloorPlan需要设计者对可能的时序收敛目标作出预计,并可以参考上一次时序成功收敛的结果。FloorPlan给了设计者对布局位置和范围更多的控制,不能也不可能照搬上一次时序收敛后零散的布局结果,所以对设计者的要求比简单的LogicLock要高。由于获得了更多的自主的控制权,时序收敛结果的可重现性也就越高。
5. 核心频率约束+时序例外约束+I/O约束+寄存器布局约束
寄存器布局约束是精确到寄存器或LE一级的布局约束。设计者通过对设计施加更精准的控制来获得更可靠的时序收敛过程。
6. 核心频率约束+时序例外约束+I/O约束+寄存器时序约束
对自己的设计的实现方式越了解,对自己的设计的时序要求越了解,对目标器件的资源分布和结构越了解,对EDA工具执行约束的效果越了解,那么对设计的时序约束目标就会越清晰,相应地,设计的时序收敛就会更可控。
从最近一段时间工作和学习的成果中,我总结了如下几种进行时序约束的方法。按照从易到难的顺序排列如下:
0. 核心频率约束
这是最基本的,所以标号为0。
1. 核心频率约束+时序例外约束
这还不是最完整的时序约束。设计者的思路还局限在FPGA芯片内部。
2. 核心频率约束+时序例外约束+I/O约束(包括位置、外部走线延时、上下拉电阻、驱动电流强度等等)
这才是最完整的时序约束。FPGA作为PCB上的一个器件,是整个PCB系统时序收敛的一部分。FPGA作为PCB设计的一部分,是需要PCB设计工程师像对待所有COTS器件一样,阅读并分析其I/O Timing Diagram的。FPGA不同于COTS器件之处在于,其I/O Timing是可以在设计后期在一定范围内调整的;虽然如此,最好还是在PCB设计前期给与充分的考虑并归入设计文档。
正因为FPGA的I/O Timing会在设计期间发生变化,所以准确地对其进行约束是保证设计稳定可控的重要因素。许多FPGA外部器件在FPGA重新编译后出现不稳定的问题都有可能是由此引起的。
3. 核心频率约束+时序例外约束+I/O约束+LogicLock
LogicLock是FPGA器件内部的布局约束。从一次成功的时序收敛结果开始,把特定的一组逻辑在FPGA上实现的布局位置和范围固定下来。相应地,其布线结果和时序收敛结果也就得到了间接的保证。需要注意的是,LogicLock不同于DesignPartition中的Post-fit Netlist。LogicLock的约束是粗粒度的,并且其精度范围是可调整的;而引入Post-fit Netlist是精确到门级的细粒度约束。
4. 核心频率约束+时序例外约束+I/O约束+FloorPlan+LogicLock
FloorPlan也是FPGA器件内部的布局约束,是LogicLock的一种特例。成功的FloorPlan需要设计者对可能的时序收敛目标作出预计,并可以参考上一次时序成功收敛的结果。FloorPlan给了设计者对布局位置和范围更多的控制,不能也不可能照搬上一次时序收敛后零散的布局结果,所以对设计者的要求比简单的LogicLock要高。由于获得了更多的自主的控制权,时序收敛结果的可重现性也就越高。
5. 核心频率约束+时序例外约束+I/O约束+寄存器布局约束
寄存器布局约束是精确到寄存器或LE一级的布局约束。设计者通过对设计施加更精准的控制来获得更可靠的时序收敛过程。
6. 核心频率约束+时序例外约束+I/O约束+寄存器时序约束
相关文章推荐
- (转)FPGA时序约束的几种方法
- 4000 FPGA 时序约束几种方法
- FPGA时序约束的几种方法
- FPGA时序约束的几种方法 (转)
- 每天进步一点点------时序分析基础与时钟约束实例(五)几种进行时序约束的方法
- 几种进行时序约束的方法
- 【转载】如何在FPGA设计环境中添加加时序约束
- Entity Framework 4中删除所有数据行的几种方法【转载】
- FPGA 提高 时序的方法
- ASP.NET弹出对话框几种基本方法 转载
- VC++开机自动启动程序的几种方法 (转载)
- linux进程后台运行的几种方法 - nohup/setsid/& [转载]
- 【转载】ARX给CAD发送命令的几种方法
- 用户态枚举进程的几种方法(转载)
- ASP.NET页面跳转的几种方法(转载)
- ASP.NET页面间的传值的几种方法(转载)
- FPGA静态时序分析——IO口时序(Input Delay /output Delay)(转载)
- FPGA时序约束
- Jquery取得iframe中元素的几种方法(转载)
- ASP.NET页面间的传值的几种方法(转载)