找回密码
 注册
关于网站域名变更的通知
查看: 3093|回复: 7
打印 上一主题 下一主题

求助:关于SDRAM 的线长匹配

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-9 15:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 REALLY 于 2009-9-9 15:39 编辑 6 O& g2 O# |0 U
/ d: l* P$ {5 L' s0 Y0 l3 w
我设计的系统中有两片SDRAM 扩展成的存储空间,如下图所示+ R4 U; B) g& }$ O( E

1 G/ L* p8 G0 W: n4 p 3 c+ p! l, s5 Z) V. q+ _
现在想要CPU到这两片的地址数据控制线长匹配。我打算的做法是:' k3 G0 _+ E) ~! c7 r; d/ I
1.将其中的时钟,数据 地址 控制线 分别设定规则,如SD_DATA, SD_CLK 等,并分配好网络
8 f  R3 v, D: P4 r0 c2.在ECset 中设置(SD_DATA等)最小走长,最大走长来控制长度
4 B5 N) V& N- D
# B! E7 R/ Q" q2 G# ^6 g7 b! g; Q但是现在,从CPU出来的地址线数据现如 TED TEA 等,还连接到其他芯片上,(如FLASH ,cpld),在allegro 中都是TED TEA来标示的, 如果在添加网络到对应的SD_DATA ,SD_CLK规则中的时候,不是把其他的线也包括进去了,这个时候我该怎么做才能够区分这些地址数据总线呢?" ]/ H$ E! O5 c; D4 ]
) @6 g5 t% a! s0 U. v
附注:如果用PIN TO PIN ,太多了,很不方便,大家在这个时候是怎么做的呢?非常感谢!!

该用户从未签到

2#
发表于 2009-9-9 16:10 | 只看该作者
地址线和数据线相同拓扑结构的可以建成一个BUS
" m% d8 u& G" |3 F对其中一个进行提取拓扑设置约束8 {8 S- j( |; J' }& Q, s
其它的可以自动生成pin to pin,并生成Match Group
& U1 ^' l  x+ W* I, j, s1 i记得论坛里应该有这篇操作文档

该用户从未签到

3#
 楼主| 发表于 2009-9-9 16:38 | 只看该作者
2# 袁荣盛
8 T8 O% ]$ W; Q2 _可不可以说具体点。呵呵,我还是不太懂。

该用户从未签到

4#
发表于 2009-9-9 18:11 | 只看该作者
Xnet就已经设置成功了。进入CM,选中Net-Routing-Relative Propagation Delay,把具有相同拓扑结构的网络生成一个BUS,并给这个BUS赋予一个名称DDR。+ H. A0 K6 m+ R+ P" M' W6 @
( K. e" |/ e2 k% g& @; j* X& p

$ j6 f1 j' @3 U2 c/ A" V7 N- q' `4 [0 t' z- u* F7 |5 n

5 U. e7 t0 V: ~3 d/ ^- \6 k( `; i5 M. b9 D& G" q
/ ]" T$ G) d$ z, L
右击DDR总线,赋予总线电气约束集名称# t0 G' K5 J8 W7 {8 k4 U

$ E( D1 I( r" D$ m8 `' a/ b7 i% S 4 I3 F) U) F" e' Z; u* T2 g
2 X1 n& H) q' o0 d
" x* O, E4 T+ l0 C3 h

& q" ?! J. R9 l. a- {
9 i! j8 k+ {- Z4 r. `设置完成后BUS中的Xnet都具有DDR约束集属性: w, O9 x! ~4 C1 v" E
5 p: J$ F: T9 G" b$ L; n  b( s
1 v4 `) D4 q, L; g4 `/ T3 {9 t
6 Q8 B0 `% |0 V: {0 ]" |9 l
右击DDR总线名称,选择SigXplorer,进入拓扑结构编辑器
( Q# \% |, c  Q" u
3 ^( T: a" g, c
5 h8 [: a2 C" u4 ?& v
" a+ O9 O7 I1 }9 K+ W8 H
/ x% Y. s& r1 k+ [( i# s% A, b2 |* z1 g6 @- V: q( k6 x
一般打开的拓扑结构是DDR总线下第一个Xnet的拓扑,对其进行参数设置,在SigXplorer中执行Set-Constraints。在界面中选择Rel Prop Delay3 G) c" S' T0 v) k3 W* ^0 D  @; f
3 \$ K  j) v4 @. G# s8 F1 Y' R

: g8 e  E8 M# A参数设置完成后,回到SigXplorer界面,单击图示按钮更新CM0 P6 a" k+ y0 F) E- M, e/ X; x

3 K6 Q  b! H9 i5 Q & b1 D  k* i; g1 o5 K# c

/ R. h$ I8 ^6 G/ V' j
0 Q, p" {7 F& c
( Y  R- I; ]) f" M" d' L" o$ I更新完成后关闭SigXplorer,在弹出的对话框中选择YES即可。
" s  y1 {0 n, J2 N, m2 o1 }7 Z5 r$ [9 U: L! Y

% W; l/ b" m$ E) U/ }  {2 p. u% S+ `5 X& Y8 Z  B; W# q
这时CM中有三处发生变化,首先是约束集中的DDR有了参数设置' }+ |6 |! H$ s* H
2 H/ h, y) L: x2 r
  ?) V5 R) ^3 @
3 K9 y; Q' D0 Z- o6 {2 T3 J, t
然后是所有遵循DDR约束集的Xnet自动生成了Pin Pair,这一结果是建立在所有的Xnet具有相同的拓扑结构基础上的,如果DDR总线中的Xnet具有不统一的拓扑结果,执行到这里会出现两种情况,一种就是和第一个Xnet(图中是DQM0)具有同样拓扑结果的Xnet自动生成了Pin Pair,与之不同拓扑结果的Xnet的约束集名称DDR会变成红色,并且没有Pin Pair生成,导致错误,这时应该删除此Xnet,或者Clear约束集Ref,然后重新建立约束集,并重复以上工作,对其拓扑结构中的约束参数进行设置。
9 p, a3 B. o/ r( P% _! S
) X9 \2 u0 x2 t, s! A5 U4 h2 z
0 k: C2 ]/ c2 l
  e  m8 m  O. }5 q1 r最后是所有的Pin Pair自动生成了Match Group,名称为我们在前面Rule Edit中新建的Rule Name
9 q6 H( u" P9 T* w/ L1 u, R7 r3 D" k% |2 g
2 e* ^* ^! T8 H7 W0 |5 e4 c

+ `* Y1 _% [4 a5 l总线中的网络参数设置完成之后,还有其他的Xnet,比如一些地址总线,控制总线等等,需要一起做等长约束,上面已经介绍了一种处理方法。下面再介绍一种方法。相同拓扑结果的网络放在一起做等长比较方便,因为软件可以自动生成Pin Pair ,并且可以自动生成Match Group。不同网络拓扑结构的网络需要单独做约束规则。
; q" C* W/ ]$ P# f0 q8 _7 z  [& ^
右键Xnet,生成一个新的约束Ref。
, v1 m9 _2 z$ i  c
9 {. l, M' b. M, `7 D+ x " w  |, H7 G5 m' r. U

: P: u) K& d* v9 |& C$ T进入SigXplorer界面,对约束参数进行设置,唯一注意的是这里的Rule Name仍然命名为DDR,根据需要建立Pin Pair。( Z3 L# r3 I1 M

5 X2 o' {* z: r2 W ! Z6 r0 S% R' Q" D0 ?% ~. m

* g3 {  u" e! q& Z. x设置完毕更新CM后发现Xnet CDS1的两组Pin Pair已经被加载到Match Group中了,成功实现了与之前设置BUS中的Pin Pair之间的等长约束。
! }% i5 u% Y5 Z# `- d# ]8 q; \9 Q* X

9 n( m; ?, s, f( Q$ j* U% n0 \  y6 e: h4 T+ V) a& ^1 N3 y% }
其实到这里已经可以收工了,但为了便于查阅,通常会把所有需要做等长的Xnet放在同一个总线目录下面
+ |9 ]& J/ I, m! b# N6 T, i5 S4 X$ x( }
9 ]- I" e/ `0 s- w- U

% r, z0 f9 B. h# Y* h1 Z: X从下拉列表中选择DDR即可
' a# o/ G9 S6 ~0 x, G& D8 _) x! h5 ?3 f" ?
/ W# X" s& O( A: b# r( ?3 y  e3 i3 @
这样CDS1就被成功加载到DDR总线中0 g* U, A$ x1 F
2 j0 G- |5 a+ \4 |  A- t! a3 f+ a0 J

! e; V7 ^8 Q2 I9 p2 r( \0 r3 F- }
自此,等长约束规则作成,即可进行布线工作

该用户从未签到

5#
 楼主| 发表于 2009-9-11 09:57 | 只看该作者
这个方法太好了,太谢谢楼主的热心帮助了' Y/ t& [. E* Q+ P0 [2 I

6 P. p4 H; y! h& R# l0 r  但是当初我画原理图的时候用的是ORCAD ,不是HDL的,SigXplorer界面打不开,设置也没有成功,呵呵,有没有什么办法把ORCAD 的原理图转换成HDL的?

该用户从未签到

6#
发表于 2009-9-11 10:59 | 只看该作者
这个是在Allegro中进入到SixP中设置的

该用户从未签到

7#
发表于 2011-10-28 10:18 | 只看该作者
楼主真好 帮大忙了

该用户从未签到

8#
发表于 2011-10-28 15:39 | 只看该作者
很详细呢.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-13 12:59 , Processed in 0.140625 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表