找回密码
 注册
查看: 3081|回复: 7
打印 上一主题 下一主题

求助:关于SDRAM 的线长匹配

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 REALLY 于 2009-9-9 15:39 编辑 " J3 p. k% U( e$ ^. f
% ]' n& n' k1 C. C% P, C% b
我设计的系统中有两片SDRAM 扩展成的存储空间,如下图所示
8 C0 P* l* e; D8 b8 E4 A- G( i6 y) O7 s

$ J. A9 u0 d3 g% k' s! F, Q现在想要CPU到这两片的地址数据控制线长匹配。我打算的做法是:: x: x  _8 t- u! Z
1.将其中的时钟,数据 地址 控制线 分别设定规则,如SD_DATA, SD_CLK 等,并分配好网络; ^' H5 W# x& ~% G6 f
2.在ECset 中设置(SD_DATA等)最小走长,最大走长来控制长度
/ R3 c0 B+ n. d" i0 e) d9 j7 q, Y) p# O- P
但是现在,从CPU出来的地址线数据现如 TED TEA 等,还连接到其他芯片上,(如FLASH ,cpld),在allegro 中都是TED TEA来标示的, 如果在添加网络到对应的SD_DATA ,SD_CLK规则中的时候,不是把其他的线也包括进去了,这个时候我该怎么做才能够区分这些地址数据总线呢?
! B& j4 K  J7 ]/ R% C) N( \3 y3 F& {( H9 y2 ^
附注:如果用PIN TO PIN ,太多了,很不方便,大家在这个时候是怎么做的呢?非常感谢!!

该用户从未签到

2#
发表于 2009-9-9 16:10 | 只看该作者
地址线和数据线相同拓扑结构的可以建成一个BUS' Y$ P* x9 f1 e- |! C# }0 x
对其中一个进行提取拓扑设置约束
- w- n. D' G% @; @1 \! q其它的可以自动生成pin to pin,并生成Match Group2 g! {1 B/ K/ {/ Q- X
记得论坛里应该有这篇操作文档

该用户从未签到

3#
 楼主| 发表于 2009-9-9 16:38 | 只看该作者
2# 袁荣盛 " b( ?: E5 ~4 g1 ?) `! k
可不可以说具体点。呵呵,我还是不太懂。

该用户从未签到

4#
发表于 2009-9-9 18:11 | 只看该作者
Xnet就已经设置成功了。进入CM,选中Net-Routing-Relative Propagation Delay,把具有相同拓扑结构的网络生成一个BUS,并给这个BUS赋予一个名称DDR。5 ^# Y9 p; W% }. G

/ A0 n( g: j9 L/ Z+ s- d* }
9 |$ k( i+ Q4 I: H, T6 E2 L. n& p( R; n' ], Q; q
8 b5 o4 j1 |$ i3 V7 i' T
4 O, b. L" ]  [9 r6 q, y% O4 J
3 Q& Z. Q' U: m- U+ e& u2 g# u
右击DDR总线,赋予总线电气约束集名称( i' X& l; l& Z# d: }1 v

% J7 L1 Y  Y  W ' W, g$ n, D, u& I: \" s* v

4 S( [8 U9 ~% L4 a0 } ) D3 r& @$ I* U, |) ?2 [
; ^( N/ @+ U% K. u$ C

) g- D0 P) K; b  w4 B, E设置完成后BUS中的Xnet都具有DDR约束集属性; I6 Q9 P) y: ~" \7 A

" d9 M" h& Q5 W. c
/ n2 q" F* M5 C
4 u$ N' y# k" k. W7 p# O右击DDR总线名称,选择SigXplorer,进入拓扑结构编辑器
0 Q& y& r- Q1 I+ a   M8 T6 g0 w$ \

1 ?+ E! i3 }% W0 M8 g2 W, v % b5 h& }+ M3 O& D* e0 |9 y
! ~; F+ C7 M' J
1 j% L5 S! e% T
一般打开的拓扑结构是DDR总线下第一个Xnet的拓扑,对其进行参数设置,在SigXplorer中执行Set-Constraints。在界面中选择Rel Prop Delay$ D2 Y+ f# X9 B2 Q/ i

$ Y* t7 m# c' c
% ^. r- D% L$ g7 m2 ]5 F& Z: s参数设置完成后,回到SigXplorer界面,单击图示按钮更新CM
: A# l2 _( H  k" s/ }. `
# A/ [) Y8 Y# }( F4 {- X# Z
( N# o! V( I+ j- E7 B* Z! L: u' j" G

+ o" ^, k) ]0 S: o8 H! Z1 e; s$ Q2 V# p3 b  C
更新完成后关闭SigXplorer,在弹出的对话框中选择YES即可。
, I2 E; z$ G9 d7 i* O- z1 D& A2 j  T6 ?+ d/ k$ x/ X  z

* G5 U7 K  _. g1 k+ a; S" I$ L; e. a* F
这时CM中有三处发生变化,首先是约束集中的DDR有了参数设置# r4 H) H' V" G; O5 w; L8 [
  t6 R5 z% {' C. x# c

- |* X5 s8 a/ g; S& C# V; M) a
/ F* z3 R8 D/ n* F" v: E然后是所有遵循DDR约束集的Xnet自动生成了Pin Pair,这一结果是建立在所有的Xnet具有相同的拓扑结构基础上的,如果DDR总线中的Xnet具有不统一的拓扑结果,执行到这里会出现两种情况,一种就是和第一个Xnet(图中是DQM0)具有同样拓扑结果的Xnet自动生成了Pin Pair,与之不同拓扑结果的Xnet的约束集名称DDR会变成红色,并且没有Pin Pair生成,导致错误,这时应该删除此Xnet,或者Clear约束集Ref,然后重新建立约束集,并重复以上工作,对其拓扑结构中的约束参数进行设置。/ R, C  |# b; z1 F/ E1 g
1 N! A6 e+ V1 F4 m
5 ^' A( {5 b7 `# J  x# v

; B, z; I* G- ?* g* Z! t+ z最后是所有的Pin Pair自动生成了Match Group,名称为我们在前面Rule Edit中新建的Rule Name
( X! v) c4 }& {, T2 c
- L6 {% g% X( G" ?- j' Q : E9 R+ P7 h1 D0 E0 W! g$ {9 A
! s/ @5 i& S* i* v- N" u, f
总线中的网络参数设置完成之后,还有其他的Xnet,比如一些地址总线,控制总线等等,需要一起做等长约束,上面已经介绍了一种处理方法。下面再介绍一种方法。相同拓扑结果的网络放在一起做等长比较方便,因为软件可以自动生成Pin Pair ,并且可以自动生成Match Group。不同网络拓扑结构的网络需要单独做约束规则。
6 n* x5 {. j& d& e, {; P9 S, b/ W$ z9 Y& F1 [
右键Xnet,生成一个新的约束Ref。
2 G7 F; F' O% v4 k6 d+ Q
  `' J% }8 _5 D, a
9 P8 [! \+ S  O/ {3 I
$ _  [& L1 n1 W进入SigXplorer界面,对约束参数进行设置,唯一注意的是这里的Rule Name仍然命名为DDR,根据需要建立Pin Pair。
6 C# z; K+ ^8 M! y7 W& V  |3 b3 g' X

  p7 [; S' d2 V/ X5 f. w3 A! @" _* O' ~0 o0 U5 `( x
设置完毕更新CM后发现Xnet CDS1的两组Pin Pair已经被加载到Match Group中了,成功实现了与之前设置BUS中的Pin Pair之间的等长约束。# m) y$ P( q$ z2 E5 ?' C) |( q3 j

) w$ j: w# v' r% g& [; Y3 j& ^
5 E9 i. u# l8 H) v& L' A: K2 w% h1 J0 t" \7 H+ _; ~/ R( s8 \5 q' K
其实到这里已经可以收工了,但为了便于查阅,通常会把所有需要做等长的Xnet放在同一个总线目录下面
& {2 J, I. k+ h+ B1 O
( E1 O' p/ z) H
' q$ x+ H' i  c2 Z0 ~! f6 i8 M% \$ z
5 N. p1 N, y; Y3 B3 f# h0 C从下拉列表中选择DDR即可
0 Q7 h$ M  N' r0 `( R0 H& k  C
# C6 d, x5 Y/ B3 U1 A4 y ; p3 `& G2 U8 c8 h/ U5 ^4 ~4 T
这样CDS1就被成功加载到DDR总线中
1 d8 v1 J" I8 P3 l( U$ O  Q+ W1 p% C8 p
1 Z7 g  K& q9 }" R8 d$ @' |

! m6 m/ x$ J7 A0 @自此,等长约束规则作成,即可进行布线工作

该用户从未签到

5#
 楼主| 发表于 2009-9-11 09:57 | 只看该作者
这个方法太好了,太谢谢楼主的热心帮助了
# W& n1 T9 o: k4 K# u+ J2 X
) R* a& u7 R# L5 e- l; l) G+ e  但是当初我画原理图的时候用的是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-6-3 02:21 , Processed in 0.093750 second(s), 27 queries , Gzip On.

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

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

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