FPGA实战开发技巧(8)

 5.4 大规模设计带来的综合和布线问题

FPGA 设计的时序性能是由物理器件、用户代码设计以及EDA 软件共同决定的,忽略了任何一方面的因素,都会对时序性能有很大的影响。本节主要给出大规模设计中,赛灵思物理器件和EDA 软件的最优使用方案。

 1)IO 约束技巧

优秀设计必须要考虑IO 约束的技巧。对于赛灵思器件来讲,进位链是垂直分布的、逻辑排列块之间也有水平方向上三态缓冲线的直接连接、且硬核单元基本都是按列分布( 在水平方向就具备最短路径),因此最优的方案为:将用于控制信号的I/O 置于器件的顶部或底部,且垂直布置;数据总线的I/O 置于器件的左部和右部,且水平布置,如图5-16 所示。


 FPGA实战开发技巧(8)_设计制作_模拟技术

图5-16 赛灵思器件的最佳IO布局示意图

这种IO 分配方式充分利用了Xilinx FPGA 芯片架构的特点,如进位链排列方式以及块RAM、硬核乘法器位置。进位链的结构如图5-17 所示。能解决多位宽加法、乘法从最低位向最高位的进位延时问题;块RAM 和硬核乘法器可节约大量的逻辑资源且保证时序,二者在FPGA 芯片中都是自上而下成条状分布,因此数据流水平、控制流垂直可最大限度地利用芯片底层架构。当然,在实际系统设计中,可能无法完全做到上述要求,但还是应该尽可能地将高速率、多位宽的信号布置在芯片左右两侧。


 FPGA实战开发技巧(8)_设计制作_模拟技术

图5-17 赛灵思器件的进位链结构示意图

 2)ISE 的实现工具

ISE 中集成的实现工具具备不同的努力程度(Effort Level),当然使用最高级别的,可以提高时序性能,而不必采取其它措施( 如施加更高级的时序约束,使用高级工具或者更改代码等),但需要花费很长的计算时间。为此,赛灵思推荐的最佳流程如图5-18 所示。

 FPGA实战开发技巧(8)_设计制作_模拟技术

图5-18 赛灵思实现工具的最佳使用策略

在第一遍实现时,使用全局时序约束和缺省的实现参数选项,如果不能满足时序要求,则可尝试以下方法:

(1) 尝试修改代码,如使用合适的代码风格,增加流水线等;
(2) 修改综合参数选项,如Op  TI miza  TI on Effort,Use Synthesis Constraints File,Keep Hierarchy,Register
Duplica  TI on,Register Balancing 等;
(3) 增加实现工具的努力程度;
(4) 在综合和实现时采用指定路径时序约束的方法。

实现工具分为映射(MAP) 和布局布线(PAR) 两部分,和PAR 一样,也可使用Map-  TI ming 参数选项针对关键路径进行约束。如:参数“Timing-Driven Packing and Placement”给关键路径以优先时序约束的权利;用户约束通过翻译(Translate) 过程从User Constraints File (UCF ) 中传递到设计中。

96
153
0
26

相关资讯

  1. 1、IDC:2018年Q2小米在印度可穿戴设备市场位居第一575
  2. 2、钛米完成2亿元B轮融资,加速医疗服务机器人市场布局1349
  3. 3、新的研究成果:垂直磁多层中通过应变产生高频磁声共振1837
  4. 4、调查发现云计算复杂性增加了挑战4545
  5. 5、英特尔投资7200万美元投资12家创新公司中国公司占1/43039
  6. 6、国内代工双雄:中芯14nm新突破,华虹特色受热捧778
  7. 7、Gartner发布2020数据与分析领域的十大趋势,云服务已成定局3077
  8. 8、华润上华600V半桥工艺实现月产1000片量产,聚焦功率半导体市场3262
  9. 9、“超光子”OLED显示屏每英寸可容纳10,000个像素3060
  10. 10、晶电营收表现较平淡,聚积获利可期3812
全部评论(0)
我也有话说
0
收藏
点赞
顶部