打印
[modelsim]

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

[复制链接]
5587|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工程师联系一下

使用特权

评论回复
5
hjjnet| | 2011-4-23 13:14 | 只看该作者
这个问题应该比较容易解决,只要把包含关键路径的父模块用floorplanning约束一下就行了,很好解决您的这种timing问题

使用特权

评论回复
6
AutoESL|  楼主 | 2011-4-23 15:08 | 只看该作者
非常感谢,试着用这些工具约束一下看看

使用特权

评论回复
7
dan_xb| | 2011-4-25 09:53 | 只看该作者
现在这工具叫PlanAhead
建议有时间好好研究一下这个工具,功能很强大的

使用特权

评论回复
8
atua| | 2011-4-25 10:17 | 只看该作者
from to 直接约束

使用特权

评论回复
9
AutoESL|  楼主 | 2011-4-25 12:46 | 只看该作者
7# dan_xb
前段时间用过这个东东,功能的确很强大,还需要好好学习才行,否则很难用好.
如果有一天傻瓜式的操作就可以自动用上这些强大的功能就爽了

使用特权

评论回复
10
edacsoft| | 2011-4-25 22:52 | 只看该作者
(15.1% logic, 84.9% route)
没用过Plan Ahead,如果是我,用FPGA Edtior优先先布这个关键路径。
难道PA特适合解决这种route too long的问题吗?

使用特权

评论回复
11
AutoESL|  楼主 | 2011-4-26 09:38 | 只看该作者
优先布这个关键路径可以解决这个问题,可是又会出现另外一个类似的路径
关键还是要找个平衡点
最后用register_duplicate + register_balance可以做到时序收敛了

使用特权

评论回复
12
ladygaga| | 2011-4-26 22:00 | 只看该作者
就么简单?

使用特权

评论回复
13
AutoESL|  楼主 | 2011-4-27 11:12 | 只看该作者
嗯,本来logic delay就很小,route做的稍微好点就可以了

使用特权

评论回复
14
dan_xb| | 2011-4-27 11:42 | 只看该作者
我看了一下,你这些都是DSP,DSP之间是有硬连线的吧,看看做一下区域约束会不会好
用PlanAhead做区域约束很简单的,只用鼠标画框就可以了
你看一下吧

使用特权

评论回复
15
AutoESL|  楼主 | 2011-4-27 16:03 | 只看该作者
我试过这个,也就是简单的约束了几个区域,可能是我用的不好,结果反而更差.

使用特权

评论回复
16
21IC之星| | 2011-5-29 08:58 | 只看该作者
顶起来

使用特权

评论回复
17
hjjnet| | 2011-5-29 23:20 | 只看该作者
做区域约束要注意两点:
1. 选择物理区域的大小
2. 选择物理区域的位置

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

注意:
不要对所有的module都进行区域约束!有时候要相信工具!

使用特权

评论回复
18
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约束)

使用特权

评论回复
19
AutoESL|  楼主 | 2011-6-19 19:57 | 只看该作者
18# wahahaabc
帮顶.

使用特权

评论回复
20
wahahaabc| | 2011-6-19 23:24 | 只看该作者
18# wahahaabc
看来周末大家都在休息呀

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

0

主题

2517

帖子

3

粉丝