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、《啪啪三国》甄姬像李小璐4星美女人设大盘点2317
  2. 2、《弹弹世界》炮弹轰鸣闯难关全新副本战震撼来袭716
  3. 3、财宝大丰收《战无双》金币副本介绍2087
  4. 4、《葫芦娃》元旦新版抢先报3080
  5. 5、《卧虎藏龙贰》邀你携好友一同赢取感恩惊喜4058
  6. 6、《幻城》手游正义化身审判天使降临3547
  7. 7、《破天一剑》手游封测今日开启成就不朽江湖梦1160
  8. 8、一飞冲天《梦幻之翼》删档测试震撼开启119
  9. 9、《神犬小七2》首播同名手游引爆暑期档701
  10. 10、《传奇战域》电脑版即将上线全新跨服PVP玩法曝光2025
全部评论(0)
我也有话说
0
收藏
点赞
顶部