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

[复制链接]
8278|25
 楼主| wahahaabc 发表于 2011-6-16 10:19 | 显示全部楼层 |阅读模式
小弟现在使用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

查看全部评分

 楼主| wahahaabc 发表于 2011-6-16 15:19 | 显示全部楼层
4# GoldSunMonkey
MONKEY大侠 这篇资料小弟看过 不太明白 希望大侠举个例子 多谢
GoldSunMonkey 发表于 2011-6-16 19:48 | 显示全部楼层
5# wahahaabc
难道底部不是例子么??嘿嘿~~
 楼主| wahahaabc 发表于 2011-6-17 11:10 | 显示全部楼层
6# GoldSunMonkey
看了XAPP485的例子 明白了
SuperX-man 发表于 2011-6-17 11:19 | 显示全部楼层
顶顶顶...goldsunmonkey解答的非常好
钻研的鱼 发表于 2011-6-17 16:40 | 显示全部楼层
现在没时间仔细看,先留个记号
foreverly 发表于 2011-6-19 18:21 | 显示全部楼层
有收获,谢谢。
AutoESL 发表于 2011-6-19 19:51 | 显示全部楼层
有空再仔细看看
钻研的鱼 发表于 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
 楼主| wahahaabc 发表于 2011-6-20 13:00 | 显示全部楼层
12# 钻研的鱼
"ucf文件里面只有rloc_origin约束" 源代码文件中也有RLOC约束,如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wahahaabc 发表于 2011-6-20 13:16 | 显示全部楼层
可以看到寄存器fd_dpb4处于X0Y0位置,和约束一致,如下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
vivisa 发表于 2011-6-22 14:58 | 显示全部楼层
ertu 发表于 2011-7-1 13:25 | 显示全部楼层
过来学习的
ertu 发表于 2011-7-1 13:25 | 显示全部楼层
:handshake
lelee007 发表于 2011-7-1 15:58 | 显示全部楼层
cdwujiang 发表于 2011-7-3 20:36 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

119

主题

627

帖子

0

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