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

求助:关于SDRAM 的线长匹配

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 REALLY 于 2009-9-9 15:39 编辑 % R  Y, V$ S- w# ^) C# ]$ g7 v6 p# D
7 c5 l' X; l' }- Y
我设计的系统中有两片SDRAM 扩展成的存储空间,如下图所示: k' E- b0 H/ b2 O* U5 s

! g! m, Z4 i& X8 ^
+ [4 ^7 n2 ~- I7 T# @' y6 y现在想要CPU到这两片的地址数据控制线长匹配。我打算的做法是:
9 d- }5 e. e4 H1.将其中的时钟,数据 地址 控制线 分别设定规则,如SD_DATA, SD_CLK 等,并分配好网络
0 ?1 v, R( Y9 Q2.在ECset 中设置(SD_DATA等)最小走长,最大走长来控制长度
4 E5 A7 J! x* Q' Q- O. ], r: h8 `/ f$ [" _( k' [  t, c; B' m: [
但是现在,从CPU出来的地址线数据现如 TED TEA 等,还连接到其他芯片上,(如FLASH ,cpld),在allegro 中都是TED TEA来标示的, 如果在添加网络到对应的SD_DATA ,SD_CLK规则中的时候,不是把其他的线也包括进去了,这个时候我该怎么做才能够区分这些地址数据总线呢?+ y- U0 V& _- q- F, [, r$ R
0 m7 q7 l& E6 u) z
附注:如果用PIN TO PIN ,太多了,很不方便,大家在这个时候是怎么做的呢?非常感谢!!

该用户从未签到

2#
发表于 2009-9-9 16:10 | 只看该作者
地址线和数据线相同拓扑结构的可以建成一个BUS
% G. c" t* q: D0 r$ _对其中一个进行提取拓扑设置约束, Q# V8 D: o3 R: {; q- N; A, _/ q
其它的可以自动生成pin to pin,并生成Match Group9 z9 J; ~' l8 Y8 ^  f: B
记得论坛里应该有这篇操作文档

该用户从未签到

3#
 楼主| 发表于 2009-9-9 16:38 | 只看该作者
2# 袁荣盛
8 ]! U/ i. N" q2 [可不可以说具体点。呵呵,我还是不太懂。

该用户从未签到

4#
发表于 2009-9-9 18:11 | 只看该作者
Xnet就已经设置成功了。进入CM,选中Net-Routing-Relative Propagation Delay,把具有相同拓扑结构的网络生成一个BUS,并给这个BUS赋予一个名称DDR。
# \  ^) P' g0 r) {
7 x$ w8 T, C" x  ?3 J" l: K
  S) K* K5 j, w3 W! Y
$ j2 B1 G/ @( n1 g* h % L  R8 @7 A( t$ ~, p
1 u* R1 N0 K* J8 w( v( E
( y/ ^& ?, o/ U! l9 V
右击DDR总线,赋予总线电气约束集名称: y" i3 R2 `( R+ B1 m  F* Z
6 \  L" {) ^. e/ ?0 d. s( V
9 A5 Y4 t2 R" F9 s% D

# V6 p8 H: l$ [( {: y
0 E' T+ G' B, c( c- j% s
( a( A' J0 L7 D1 x8 h, Z: X6 W  F2 C: _9 e0 c3 o
设置完成后BUS中的Xnet都具有DDR约束集属性3 B# }7 s) Y/ Y" p" {! z- [# o
  `4 u; T( L: b' [' |1 J

& w6 U$ h; L' n' D! S' Q& @1 u
. V3 A/ L5 ^; T+ j, j, i! I/ C5 k# n右击DDR总线名称,选择SigXplorer,进入拓扑结构编辑器
4 _: n. o' l: K( B2 ?  | & j' h; S# j# l( c) S" W
, U/ T, q7 {& t7 _. r2 p

. ]& _% _4 ^8 C8 O: F$ \7 U2 }3 W& e* U2 J
- I! i' W! [& L7 [
一般打开的拓扑结构是DDR总线下第一个Xnet的拓扑,对其进行参数设置,在SigXplorer中执行Set-Constraints。在界面中选择Rel Prop Delay7 q$ i; G' v* L. g  K9 G6 u1 E

+ `9 }2 R& J; G* g' o) ~' {% F. s% J8 X- O7 I( |4 [8 |
参数设置完成后,回到SigXplorer界面,单击图示按钮更新CM- v( C; S! I  h4 Z% x5 r

5 J5 q1 G8 j4 N5 }3 n 9 }. K, A. d" S( J- M  o
* M% B: z8 z7 z9 U
% l& }- J& N1 M
( Y: ^$ z/ s2 _: Y
更新完成后关闭SigXplorer,在弹出的对话框中选择YES即可。: R4 Y1 u  I& G! i( s8 G) t" u

! t3 S9 U. F" l8 ?: j2 I, D   m) ~0 q1 V8 U7 d) s( w& r1 @

3 N2 T) Y$ B* L. G5 m! C# g1 ?这时CM中有三处发生变化,首先是约束集中的DDR有了参数设置6 a" r; U. o7 H9 `

& \# }* I+ S: t" u; r6 R1 W : ~$ L6 H& U6 s7 H! ?
" o( P7 \4 t5 y, p' i. |7 p
然后是所有遵循DDR约束集的Xnet自动生成了Pin Pair,这一结果是建立在所有的Xnet具有相同的拓扑结构基础上的,如果DDR总线中的Xnet具有不统一的拓扑结果,执行到这里会出现两种情况,一种就是和第一个Xnet(图中是DQM0)具有同样拓扑结果的Xnet自动生成了Pin Pair,与之不同拓扑结果的Xnet的约束集名称DDR会变成红色,并且没有Pin Pair生成,导致错误,这时应该删除此Xnet,或者Clear约束集Ref,然后重新建立约束集,并重复以上工作,对其拓扑结构中的约束参数进行设置。
0 k( k' O4 N& y* w; k) Y2 t+ ]. m0 b4 _
. u9 @3 f. F- ^4 I; e9 i  R
* W3 P- J  N9 d& X  }
最后是所有的Pin Pair自动生成了Match Group,名称为我们在前面Rule Edit中新建的Rule Name1 h8 ?+ ]! d" Z2 I4 ]4 `
% \2 Y$ c9 f8 y- {% E0 h

" g, A5 ^* l- Z; V2 u6 ^0 _' [  m+ k! B% d0 S
总线中的网络参数设置完成之后,还有其他的Xnet,比如一些地址总线,控制总线等等,需要一起做等长约束,上面已经介绍了一种处理方法。下面再介绍一种方法。相同拓扑结果的网络放在一起做等长比较方便,因为软件可以自动生成Pin Pair ,并且可以自动生成Match Group。不同网络拓扑结构的网络需要单独做约束规则。
) z0 I  @7 ?9 F& k9 J/ o7 D
: F4 z+ n: {: [* Y/ m9 Y3 ]1 w右键Xnet,生成一个新的约束Ref。! O# H# H6 D7 z: }7 H9 K
# e4 `! _& h: a, }' z
; ~( K. }& u$ c. l' g% c

. L' R1 {3 ~! V2 ^* q进入SigXplorer界面,对约束参数进行设置,唯一注意的是这里的Rule Name仍然命名为DDR,根据需要建立Pin Pair。) U5 F# g9 u6 T- o" n+ C$ L
/ {! A4 j5 e2 x
  b; e4 B# n* u3 G2 t
$ Q# s  {% U2 {; Z, d( |
设置完毕更新CM后发现Xnet CDS1的两组Pin Pair已经被加载到Match Group中了,成功实现了与之前设置BUS中的Pin Pair之间的等长约束。
3 V2 w9 Q0 v. Q* i3 D/ B# K
# R0 ?3 O9 L. o* o1 s' X' M# z
' b6 J6 F- N+ t9 S/ v* c( @
9 ^9 \0 q' I" n( h其实到这里已经可以收工了,但为了便于查阅,通常会把所有需要做等长的Xnet放在同一个总线目录下面) Y2 H3 {. k+ H& }( \

. H' [6 q1 n" ~4 O4 }! |
1 W8 r* i+ H- _
3 E/ v: v, F9 a4 U2 S从下拉列表中选择DDR即可
: M9 z3 s! y: s' v
$ ]$ n3 A) k/ r5 e" w, o   o: o( y9 p( P5 t' S
这样CDS1就被成功加载到DDR总线中
. W% n/ t& ?2 x# n2 e& R8 t) l$ j0 b
' X# S. E- j% f+ j

! s$ \4 n7 D' e+ \. i6 _自此,等长约束规则作成,即可进行布线工作

该用户从未签到

5#
 楼主| 发表于 2009-9-11 09:57 | 只看该作者
这个方法太好了,太谢谢楼主的热心帮助了4 v& X% C3 b% r6 V# ^* H

  f' L( y: s; s" a  但是当初我画原理图的时候用的是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-10 23:22 , Processed in 0.125000 second(s), 27 queries , Gzip On.

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

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

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