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

求助:关于SDRAM 的线长匹配

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 REALLY 于 2009-9-9 15:39 编辑
+ m8 c; B2 m& D* C0 H+ I
/ G! k0 j9 f+ a: V我设计的系统中有两片SDRAM 扩展成的存储空间,如下图所示
+ p% O4 a1 R+ a, x1 u
5 R5 A; Z( _: @4 L' Y
0 {  [' O0 J' d' ~9 n/ Y现在想要CPU到这两片的地址数据控制线长匹配。我打算的做法是:
+ _; X- C8 z6 F: u) P1.将其中的时钟,数据 地址 控制线 分别设定规则,如SD_DATA, SD_CLK 等,并分配好网络) Y: e$ l; @/ Y2 Q% q  G
2.在ECset 中设置(SD_DATA等)最小走长,最大走长来控制长度3 e& l  D% u! n) t* q7 k) U
8 E0 i8 R0 U7 {9 h, u# B4 O, r6 B
但是现在,从CPU出来的地址线数据现如 TED TEA 等,还连接到其他芯片上,(如FLASH ,cpld),在allegro 中都是TED TEA来标示的, 如果在添加网络到对应的SD_DATA ,SD_CLK规则中的时候,不是把其他的线也包括进去了,这个时候我该怎么做才能够区分这些地址数据总线呢?5 y9 s# x, z! v1 b

5 N$ H6 o! R' ?$ `6 z1 \. v附注:如果用PIN TO PIN ,太多了,很不方便,大家在这个时候是怎么做的呢?非常感谢!!

该用户从未签到

2#
发表于 2009-9-9 16:10 | 只看该作者
地址线和数据线相同拓扑结构的可以建成一个BUS+ F, G- M* M# Z) i' Y5 c! y" K% @
对其中一个进行提取拓扑设置约束
  w+ T, w  k4 Q" U其它的可以自动生成pin to pin,并生成Match Group
1 H* u4 w0 M- E+ t3 r记得论坛里应该有这篇操作文档

该用户从未签到

3#
 楼主| 发表于 2009-9-9 16:38 | 只看该作者
2# 袁荣盛 * H- C. S3 L/ I0 l. p; y1 q
可不可以说具体点。呵呵,我还是不太懂。

该用户从未签到

4#
发表于 2009-9-9 18:11 | 只看该作者
Xnet就已经设置成功了。进入CM,选中Net-Routing-Relative Propagation Delay,把具有相同拓扑结构的网络生成一个BUS,并给这个BUS赋予一个名称DDR。. ]) [8 `' |: q' f! x2 F& k3 @
  j2 a3 d2 s# r. j8 B
3 B0 |4 D* \, i+ x. h3 n
% P) T4 `/ o1 B
% A% s2 h2 R  ^( B1 D# X

& M1 `' U5 _8 O. d! R; h
1 l3 z9 _! C$ ~) }) M2 a1 _右击DDR总线,赋予总线电气约束集名称
; _; W! h& J6 Q. ~& A( r5 s
- q/ [, }* `$ m( K" Y+ ?( H; T) A
' @7 i  q$ X5 f  \0 u. ~2 Z9 q
- i( n+ H3 Q" u) `, G
. N- x% H6 v- G% K1 r0 S) J. s& ]
' ]/ K! [/ `2 W9 z  r
设置完成后BUS中的Xnet都具有DDR约束集属性
: }! P$ |& F2 `; V- @ 1 r6 p- z9 R, l% l8 T

5 D3 Z! ]: D6 K/ [+ [( c" L( `7 k3 y' a& F% `! v
右击DDR总线名称,选择SigXplorer,进入拓扑结构编辑器
8 K" `. L5 L5 ~* O6 @6 d' h
4 U2 o$ W- n4 k6 r% ~: o+ ]9 t. v8 Q' ?5 h5 ]" o

6 b) j3 ?0 l6 k
$ J9 [- O: N5 v( {: Q2 Z4 X
0 T4 Z; `! i5 g  T9 V) l1 W  D一般打开的拓扑结构是DDR总线下第一个Xnet的拓扑,对其进行参数设置,在SigXplorer中执行Set-Constraints。在界面中选择Rel Prop Delay2 f6 ~2 Y2 S- [
. i9 U9 c1 Z) k% n/ o9 ?
. B6 @! u/ l( D1 f, D+ i" N7 b
参数设置完成后,回到SigXplorer界面,单击图示按钮更新CM
) i+ Q% P! s3 @1 H: J
- w2 |8 F$ r+ p ) ~3 W% u4 }* b! `# N
6 M& q- {9 U( p; ]' ~  o$ i# @

1 M1 X& y. O2 E" `  ?& f
$ K5 Q! k& s4 `! n$ F- f1 c2 O- ]/ q% J更新完成后关闭SigXplorer,在弹出的对话框中选择YES即可。
/ G3 g, y+ {5 j6 t8 _* J. `
* F3 A$ g2 L1 D& d2 K/ ]7 _" O1 w
& y; [( l5 q* t$ d. o1 \; d: w- Q) F. T1 `
这时CM中有三处发生变化,首先是约束集中的DDR有了参数设置
" Z8 o3 O! }: w0 Y3 \* [8 e- w( y$ Q
' l4 H" r1 `+ [2 o: k; z   J1 d$ r' v7 Q9 S) O# H; @- w
% V' s. h3 q7 ~  f
然后是所有遵循DDR约束集的Xnet自动生成了Pin Pair,这一结果是建立在所有的Xnet具有相同的拓扑结构基础上的,如果DDR总线中的Xnet具有不统一的拓扑结果,执行到这里会出现两种情况,一种就是和第一个Xnet(图中是DQM0)具有同样拓扑结果的Xnet自动生成了Pin Pair,与之不同拓扑结果的Xnet的约束集名称DDR会变成红色,并且没有Pin Pair生成,导致错误,这时应该删除此Xnet,或者Clear约束集Ref,然后重新建立约束集,并重复以上工作,对其拓扑结构中的约束参数进行设置。. M% A% K2 s8 B+ V# f" a0 [5 I

3 t: q( a8 v0 E- J# K, g
' S0 @% z! }" \. V, T. T1 B& }) G" B8 n6 _3 j, A3 I, L( s" i
最后是所有的Pin Pair自动生成了Match Group,名称为我们在前面Rule Edit中新建的Rule Name* p+ F+ M6 A5 e# I

9 _0 m# \( N' C( A3 r5 o: x
2 \8 {0 m; ~: `3 N2 s/ l6 _" G
% t! ]2 f2 g) H总线中的网络参数设置完成之后,还有其他的Xnet,比如一些地址总线,控制总线等等,需要一起做等长约束,上面已经介绍了一种处理方法。下面再介绍一种方法。相同拓扑结果的网络放在一起做等长比较方便,因为软件可以自动生成Pin Pair ,并且可以自动生成Match Group。不同网络拓扑结构的网络需要单独做约束规则。' d/ N4 v( K, K. @

  j- @* }# J3 G$ |右键Xnet,生成一个新的约束Ref。
$ U; o1 U5 ]# c2 t; I) l* ?' C4 r8 J2 P1 P* O7 |4 {7 E9 w) g

8 r% c) t% J3 C
- u/ r, }7 f5 b2 c7 u6 ~9 s进入SigXplorer界面,对约束参数进行设置,唯一注意的是这里的Rule Name仍然命名为DDR,根据需要建立Pin Pair。4 E8 k, H+ }, p) \+ m1 K! p2 p) c
$ E4 n) C5 d$ U! W
! b  N9 V5 |: d) d- F9 L: E
4 w0 L) l- }2 a& [, V
设置完毕更新CM后发现Xnet CDS1的两组Pin Pair已经被加载到Match Group中了,成功实现了与之前设置BUS中的Pin Pair之间的等长约束。
. l, _* |* ?+ A; C! ~2 I) @$ m/ R8 X8 G

, c7 ?$ j! G9 M) L) R4 d! f! u3 M9 v! `6 J8 t' @
其实到这里已经可以收工了,但为了便于查阅,通常会把所有需要做等长的Xnet放在同一个总线目录下面
* k5 E7 A* Y* O9 B! m# ?' A- {( ^9 A8 ^1 S5 ~" ]8 [1 h/ v8 |

7 ^; S7 ~) A" _+ v& S/ e7 [! W) l+ H, y& {) j+ w
从下拉列表中选择DDR即可
& q, J  g- I: H, a# v, [5 J+ _* e: a. Y4 f  W* R

- e* D( D0 ~: c# R; I这样CDS1就被成功加载到DDR总线中% K. Z, q1 H) z4 n" D4 [
8 `1 t; C7 b  O5 L- e4 T: ~. ~, Z
* t. z5 c3 G! |: p. r

+ o( e" q+ ?3 j6 o自此,等长约束规则作成,即可进行布线工作

该用户从未签到

5#
 楼主| 发表于 2009-9-11 09:57 | 只看该作者
这个方法太好了,太谢谢楼主的热心帮助了' ?! Q4 K* \' W  ]+ K' i* v( R# k

+ P( x7 l* s5 Y6 G( m  但是当初我画原理图的时候用的是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-10-26 09:54 , Processed in 0.171875 second(s), 27 queries , Gzip On.

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

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

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