freeren_liming的个人空间 https://blog.eetop.cn/527831 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

时序优化的若干策略

已有 1601 次阅读| 2013-11-16 21:26 |个人分类:IC design

近日看到http://blog.163.com/fpga_ip/blog/static/20444302420127101122794/

题为时序优化的若 干策略的博文,在此做转载,后续会对自己在IC设计过程中使用的优化策略做记录,也希望在此抛砖引玉。。

本文总结了一些可以优化时序的方法,主要是针对xilinx的virtex系列FPGA以及ISE软件。当然,对于其他厂商的FPGA和相应的开发工具,这些方法也是有一定借鉴意义的。这些优化方法全部来自一些实际项目的实践中,具有较强的实用性,希望能给大家带来帮助,也希望各位同行能提出建议和更好的解决办法,促进大家共同进步!

优化方向一:合理使用Blcok RAM和Distributed RAM

       1.  均衡Block RAM和Distributed RAM的使用。如果Block RAM使用的过多而Distributed RAM使用的较少,建议将一些小型的fifo用Distributed RAM来实现;如果Distributed RAM使用的过多,而Block RAM有大量富余,建议将一部分由Distributed RAM实现的FIFO改用Block RAM来实现。

       2.  当需要使用Block RAM来构建大型的FIFO用作缓存时,由于Block RAM也是分布在FPGA的不同位置,当构建一个FIFO使用的RAM太多时,会给布局布线带来很大的压力。所以建议实施的时候可以用多个中型的FIFO带代替一个大型的FIFO。

       3.  不宜使用distributed RAM构建大位宽或者大深度的FIFO。

 

优化方向二:合理放宽时序约束

       1.  当芯片设计中有多个时钟域时,对于那些通过FIFO隔开的时钟域之间,并不需要有太严格的约束。

       2.  如果这些不相关的异步时钟是通过同一个MMCM产生的,如果不对这些异步时钟单独约束,那么按照软件的默认行为,这些异步时钟之间的路径是按同步路劲的分析方法进行分析的。这种默认行为的结果就是,一些不应该那么严格约束的路劲被过约束了。

       3.  针对这种现象,一种可行的方案是:对同一个MMCM输出的多个异步时钟分别进行时序约束,并且只需约束两时钟域之间异步线路的最大布线延迟,而不需将异步线路中时序逻辑与LUT的响应时间纳入时序约束的范围。

       4.  Tip3中提及的时序约束方案的示例如下:

NET "CLKA" TNM_NET = "GRP_A";

NET "CLKB" TNM_NET = "GRP_B";
       TIMESPEC TS_Path_A_B = FROM "GRP_A" TO "GRP_B" 5 ns DATAPATHONLY; 


优化方向三:设置合理的实现工具属性

1.  尝试将synplify->Implementation option->Device->Enable advanced LUT combining属性关闭。

2.  尝试将ISE中Map Properties->Combinatorial logic optimization属性打开。

3.  尝试将ISE中Map Properties->Register duplication 属性打开。

4.  尝试将ISE中Map Properties->Allow logic optimization across hierarchy属性打开。

5.  尝试将ISE中Map Properties->LUT conbining属性关闭。


优化方向四:优化代码

 1.  对于那些输出线扇出太大的寄存器,可以考虑在代码中手动复制。为避免复制的寄存器在综合阶段被优化掉,如果使用的是synplify综合工具,可在寄存器定义时使用综合指导属性/* synthesis syn_keep=1 */。

 2.  不宜在一个寄存器前放置过多的组合逻辑,如果一个功能涉及的组合逻辑过于复杂,最好是将组合逻辑较均匀的分布在各个寄存器前面。


点赞

发表评论 评论 (2 个评论)

回复 shmilyduo 2013-11-20 21:22
把所有不同时钟域产生的信号都合理处理了,也是一个巨大方向啊~~

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 1

    好友
  • 0

    获赞
  • 2

    评论
  • 1788

    访问数
关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 05:58 , Processed in 0.015270 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部