[modelsim] route delay很大的design,ISE如何约束更容易meet timing

[复制链接]
7441|24
 楼主| AutoESL 发表于 2011-4-19 17:27 | 显示全部楼层 |阅读模式
比如如下report, logic delay很小, route delay非常大.
这种情况下如何给约束才更容易meet timing呢? (target clock is 4.5ns)

design的特点是DSP数量比较多,100左右

Maximum Data Path at Slow Process Corner: Equalizer_U0/C0re_4_V_11 to Equalizer_U0/grp_LmsMAC00_fu_1431/Maddsub_r_V_fu_61_p0[24]_r_V_fu_61_p1[17]_MuLt_4_OUT1
    Location             Delay type         Delay(ns)  Physical Resource
                                                       Logical Resource(s)
    -------------------------------------------------  -------------------
    SLICE_X91Y79.DQ      Tcko                  0.337   Equalizer_U0/C0re_4_V<11>
                                                       Equalizer_U0/C0re_4_V_11
    DSP48_X3Y26.B11      net (fanout=2)        3.856   Equalizer_U0/C0re_4_V<11>
    DSP48_X3Y26.CLK      Tdspdck_B_BREG        0.350   Equalizer_U0/grp_LmsMAC00_fu_1431/Maddsub_r_V_fu_61_p0[24]_r_V_fu_61_p1[17]_MuLt_4_OUT1
                                                       Equalizer_U0/grp_LmsMAC00_fu_1431/Maddsub_r_V_fu_61_p0[24]_r_V_fu_61_p1[17]_MuLt_4_OUT1
    -------------------------------------------------  ---------------------------
    Total                                      4.543ns (0.687ns logic, 3.856ns route)
                                                       (15.1% logic, 84.9% route)
 楼主| AutoESL 发表于 2011-4-23 11:54 | 显示全部楼层
hjjnet 发表于 2011-4-23 13:11 | 显示全部楼层
请使用floorplanning,这个工具专门用来解决此类问题
hjjnet 发表于 2011-4-23 13:12 | 显示全部楼层
可以和当地的xilinx工程师联系一下
hjjnet 发表于 2011-4-23 13:14 | 显示全部楼层
这个问题应该比较容易解决,只要把包含关键路径的父模块用floorplanning约束一下就行了,很好解决您的这种timing问题
 楼主| AutoESL 发表于 2011-4-23 15:08 | 显示全部楼层
非常感谢,试着用这些工具约束一下看看
dan_xb 发表于 2011-4-25 09:53 | 显示全部楼层
现在这工具叫PlanAhead
建议有时间好好研究一下这个工具,功能很强大的
atua 发表于 2011-4-25 10:17 | 显示全部楼层
from to 直接约束
 楼主| AutoESL 发表于 2011-4-25 12:46 | 显示全部楼层
7# dan_xb
前段时间用过这个东东,功能的确很强大,还需要好好学习才行,否则很难用好.
如果有一天傻瓜式的操作就可以自动用上这些强大的功能就爽了
edacsoft 发表于 2011-4-25 22:52 | 显示全部楼层
(15.1% logic, 84.9% route)
没用过Plan Ahead,如果是我,用FPGA Edtior优先先布这个关键路径。
难道PA特适合解决这种route too long的问题吗?
 楼主| AutoESL 发表于 2011-4-26 09:38 | 显示全部楼层
优先布这个关键路径可以解决这个问题,可是又会出现另外一个类似的路径
关键还是要找个平衡点
最后用register_duplicate + register_balance可以做到时序收敛了
ladygaga 发表于 2011-4-26 22:00 | 显示全部楼层
就么简单?
 楼主| AutoESL 发表于 2011-4-27 11:12 | 显示全部楼层
嗯,本来logic delay就很小,route做的稍微好点就可以了
dan_xb 发表于 2011-4-27 11:42 | 显示全部楼层
我看了一下,你这些都是DSP,DSP之间是有硬连线的吧,看看做一下区域约束会不会好
用PlanAhead做区域约束很简单的,只用鼠标画框就可以了
你看一下吧
 楼主| AutoESL 发表于 2011-4-27 16:03 | 显示全部楼层
我试过这个,也就是简单的约束了几个区域,可能是我用的不好,结果反而更差.
21IC之星 发表于 2011-5-29 08:58 | 显示全部楼层
顶起来
hjjnet 发表于 2011-5-29 23:20 | 显示全部楼层
做区域约束要注意两点:
1. 选择物理区域的大小
2. 选择物理区域的位置

基本原则(个人):
1. 以DSP/BRAM资源为基准,slice资源占用60%~70%比较合适
2. 根据关键路径父module 和其他module包括外部io的联系,器件的物理资源分配等来决定。

注意:
不要对所有的module都进行区域约束!有时候要相信工具!
wahahaabc 发表于 2011-6-18 22:42 | 显示全部楼层
11# AutoESL

同楼主一样遇到相同问题 楼主用的V6 俺用的S6 楼主运气不错 register_duplicate + register_balance可以做到时序收敛了
俺的设计用register_duplicate + register_balance不行
将综合器设置为speed优化也不行
将布局布线器的努力程度开到最大也不行
使用SmartExplorer执行多个策略也不行
也就是说,试遍了工具的所有speed优化选项都不行
然后就人工用PlanAhead优先布这个关键路径以后,又会出现另一路径的timing错误

想请教一下各位高手,比如设计了一个接收模块,在FPGA中有8路完全相同的接收模块,每个接收模块调用了一个IDDR2,其余都是用户逻辑,需要将每个模块放到离相应的I/O脚接近的区域,如何约束???(是不是使用RLOC约束)
 楼主| AutoESL 发表于 2011-6-19 19:57 | 显示全部楼层
18# wahahaabc
帮顶.
wahahaabc 发表于 2011-6-19 23:24 | 显示全部楼层
18# wahahaabc
看来周末大家都在休息呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:天使宝贝 博客IT人生 From C/C++/SystemC to Xilinx FPGA

0

主题

2517

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部
0