打印

关于RLOC约束提供时序性能的问题

[复制链接]
6909|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小弟现在使用XC6SLX45T做8路的ASI接收模块,使用过采样实现ASI接收(XILINX有相关的代码),布局布线以后时序分析,发现前7路ASI接收都满足时序要求,第8路差一点点,查看时序报告,发现是布线延迟太大,已经将布局布线器的努力程度开到最大,并且使用SmartXplore执行多次,时序都差一点点,如下图:

点击最上面的那个时序错误,如下:

在看下面这张图:

可以看出,扇出都不大,布线延迟占用了69.4%

使用PlanAhead看了一下布线,如下:



听说RLOC约束可以约束元件的相对位置,
(1)可不可以将ASI第8路输入的实现的元件的相对位置固定???
(2)RLOC约束如何使用???
请教各位高手

相关帖子

沙发
edacsoft| | 2011-6-16 12:20 | 只看该作者
印象中本版有讲过RLOC的用法,你搜搜

使用特权

评论回复
板凳
wahahaabc|  楼主 | 2011-6-16 13:01 | 只看该作者
2# edacsoft
没有搜到

使用特权

评论回复
地板
GoldSunMonkey| | 2011-6-16 13:54 | 只看该作者
RLOC Description RLOC is a basic mapping and placement constraint. It is also a synthesis constraint. Relative location (RLOC) constraints group logic elements into discrete sets and allow you to define the location of any element within the set relative to other elements in the set, regardless of eventual placement in the overall design. 根据上述描述,RLOC是对一个功能元件集合做位置约束,而元件集合的相对位置固定,相对于FPGA器件的位置可变。 The general syntax for assigning elements to relative locations is RLOC=XmYn where 。 m and n are the relative X-axis (left/right) value and the relative Y-axis (up/down) value, respectively 。 the X and Y numbers can be any positive or negative integer including zero 如图所示: A、B、C、D集合的两种不同的相对位置约束

RLOC Sets
在进行RLOC相对位置约束时,需要把相关元件组成一个集合,可以使用U_SET把不同层次下的元件组成一个集合。

U_SET
U_SET constraints enable you to group into a single set design elements with attached RLOC constraints that are distributed throughout the design hierarchy. The letter U in the name U_SET indicates that the set is user-defined.
RLOC Applicable Elements
1.    Registers
2.    FMAP
3.    HMAP
4.    F5MAP
5.    CY4
6.    CY_MUX
7.    ROM
8.    RAM
9.    RAMS, RAMD
10.    BUFT (Can only be used if the associated RPM has an RLOC_ORIGIN that causes the RLOC values in the RPM to be changed to LOC values.)
11.    WAND primitives that do not have a DECODE constraint attached
12.    LUTs, F5MUX, F6MUX, MUXCY, XORCY, MULT_AND, SRL16, SRL16E, F7MUX (for Virtex-II and Virtex-II Pro only), F8MUX (for Virtex-II and Virtex-II Pro only)
13.    Block RAMs
14.    Multipliers
RLOC Propagation Rules
RLOC is a design element constraint and any attachment to a net is illegal. When attached to a design element, RLOC propagates to all applicable elements in the hierarchy beneath the design element.
RLOC只能对涉及的功能元件进行约束,对NET信号进行约束是错误的。
设计实例:
INST "*/infrastructure_top0/cal_top0/tap_dly0/l0" RLOC=X0Y6;
INST "*/infrastructure_top0/cal_top0/tap_dly0/l0" U_SET = delay_calibration_chain;

INST "*/infrastructure_top0/cal_top0/tap_dly0/l1" RLOC=X0Y6;
INST "*/infrastructure_top0/cal_top0/tap_dly0/l1" U_SET = delay_calibration_chain;

INST "*/infrastructure_top0/cal_top0/tap_dly0/l2" RLOC=X0Y7;
INST "*/infrastructure_top0/cal_top0/tap_dly0/l2" U_SET = delay_calibration_chain;

INST "*/infrastructure_top0/cal_top0/tap_dly0/l3" RLOC=X0Y7;
INST "*/infrastructure_top0/cal_top0/tap_dly0/l3" U_SET = delay_calibration_chain;

l0,l1,l2,l3 组成集合delay_calibration_chain,且l0,l1在同一个Slice中,同l2,l3的Slice上下紧邻。

使用特权

评论回复
评分
参与人数 1威望 +4 收起 理由
SuperX-man + 4
5
wahahaabc|  楼主 | 2011-6-16 15:19 | 只看该作者
4# GoldSunMonkey
MONKEY大侠 这篇资料小弟看过 不太明白 希望大侠举个例子 多谢

使用特权

评论回复
6
GoldSunMonkey| | 2011-6-16 19:48 | 只看该作者
5# wahahaabc
难道底部不是例子么??嘿嘿~~

使用特权

评论回复
7
wahahaabc|  楼主 | 2011-6-17 11:10 | 只看该作者
6# GoldSunMonkey
看了XAPP485的例子 明白了

使用特权

评论回复
8
SuperX-man| | 2011-6-17 11:19 | 只看该作者
顶顶顶...goldsunmonkey解答的非常好

使用特权

评论回复
9
钻研的鱼| | 2011-6-17 16:40 | 只看该作者
现在没时间仔细看,先留个记号

使用特权

评论回复
10
foreverly| | 2011-6-19 18:21 | 只看该作者
有收获,谢谢。

使用特权

评论回复
11
AutoESL| | 2011-6-19 19:51 | 只看该作者
有空再仔细看看

使用特权

评论回复
12
钻研的鱼| | 2011-6-20 09:12 | 只看该作者
今天按照wahahaabc的提示,看了xapp485.pdf和设计说明,ucf文件里面只有rloc_origin约束,是不是可以将模块asi_top0定义为rloc_origin,而asi_rx0定义为rloc?
  另外,这种接收,也可参考XAPP1064 - Source-Synchronous Serialization and Deserialization (up to 1050 Mbs).pdf

使用特权

评论回复
13
wahahaabc|  楼主 | 2011-6-20 13:00 | 只看该作者
12# 钻研的鱼
"ucf文件里面只有rloc_origin约束" 源代码文件中也有RLOC约束,如下:

使用特权

评论回复
14
wahahaabc|  楼主 | 2011-6-20 13:14 | 只看该作者
个人理解:RLOC约束可以定位模块内部的各个元件的相对位置,就像13楼图中的各个寄存器的定位,然后使用RLOC_ORIGIN对整个模块的绝对位置进行定位。这样,整个模块的绝对位置可以固定,且模块内部的各个元件的相对位置也固定。下图就是XAPP485的布局图,可以看出,模块内部的元件的布局非常整齐。

使用特权

评论回复
15
wahahaabc|  楼主 | 2011-6-20 13:16 | 只看该作者
可以看到寄存器fd_dpb4处于X0Y0位置,和约束一致,如下图:

使用特权

评论回复
16
vivisa| | 2011-6-22 14:58 | 只看该作者
MARK

使用特权

评论回复
17
ertu| | 2011-7-1 13:25 | 只看该作者
过来学习的

使用特权

评论回复
18
ertu| | 2011-7-1 13:25 | 只看该作者
:handshake

使用特权

评论回复
19
lelee007| | 2011-7-1 15:58 | 只看该作者
MARK

使用特权

评论回复
20
cdwujiang| | 2011-7-3 20:36 | 只看该作者
mark

使用特权

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

本版积分规则

119

主题

627

帖子

0

粉丝