时序分析/约束——Xilinx时钟资源 & ISE时序分析器(3)
 
- UID
- 1029342
- 性别
- 男
|
时序分析/约束——Xilinx时钟资源 & ISE时序分析器(3)
2.ISE时序分析器
单击Design Summary中的Static Timing就可以启动时序分析器(TimingAnalyzer)。在综合、布局布线阶段ISE就会估算时延,给出大概的时延和所能达到的最大时钟频率,经过PAR后,在StaticTiming中给出的是准确的时延,给出的时序报告可以帮助我们找到关键路径,然后针对其进行优化,提高系统的时钟频率。
造成时序性能差的原因很多,主要分为3种:
1. 布局太差
一般和代码本身没有关系。解决方案:只能从软件自身的布局算法考虑(调整布局的努力程度)或者使用高端芯片
2. 逻辑级数太多
逻辑级数越多,资源的利用率越高,但是对工作频率的影响也越大。解决方案:1.使用流水线技术;2.如果是多周期路径,添加多周期约束;3.良好的编码习惯,不要过多嵌套if-else,尽量使用case代替if语句。
3. 信号扇出过高
高扇出会造成信号传输路径过长,从而降低时序性能。解决方案:1.逻辑复制;2.区域约束,想过逻辑放置在一起。
4. 不要同时使用双边沿触发
FPGA的底层工艺都是单向的同步电路,所以本身不支持统一信号的爽边沿触发,ISE在实际处理的时候,会自动将该信号2倍频,然后利用第一个沿处理上升沿,第二个沿处理下降沿。这样在分析时序时,自动把约束升级为ucf文件中的两倍。
5. Xilinx最优时序解决方案
- I/O约束根据Xilinx器件的特点,控制信号置于器件的顶部或底部,且垂直布置;数据总线的I/O置于器件的左右两侧,且水平布置,这样可以最大程度的利用芯片底层结构。
- ISE实现工具ISE中的工具具备不同的努力程度,直接使用最高级别的可以提高时序性能,但是会耗费很多时间,所以应该逐步调整努力程度。第一遍使用默认的参数选项,如果不满足再调整综合、映射、布局布线的参数。
|
|
|
|
|
|