查看: 610|回复: 0

[经验] 高速PCB设计:共同时钟系统时序案例

[复制链接]

该用户从未签到

发表于 2021-3-4 15:27:18 | 显示全部楼层 |阅读模式
分享到:
在上一个话题介绍了共同时钟总线的时序原则,这一个专题就举例子来进行说明。

某单板为标准CPCI构架,使用的芯片如下:
CPU:MPC7448,桥:MV64460,DDR400,要求CPU、DDR要全速工作。CPU和桥之间的PPC总线就是典型的共同时钟时序关系,需要工作在200M。

MPC7448相关参数如下:

5.jpg

MV64460的相关参数如下:

6.jpg

写时序计算如下:
MPC7448的输出Tco max = 1.8ns Tco min = NA
MV64460的建立时间 Tinput_Setup = 1.5ns
MPC7448的保持时间 Toutput_hold = 0.5ns
时钟的Skew和Jetter是0.3ns
串扰带来的影响估计为0.2ns
Tfly_time Tfly_time>Toutput_hold- Tco min--TClock_ckew-TCrosstalk
Toutput_hold = 0ns,也可以看成是NA,估计下来,不等式右边也是负数,负数意味着Tfly_time的最短长度没有要求
综合读写时序的计算结果,要求PPC总线飞行时间的延迟小于0.4ns,实际仿真结果如下:
Data组选择最长网络PPC1_D0,仿真波形如下:
CPU写时序


7.jpg

测量得到Tflight time max = 0.769ns

CPU读时序

8.jpg

测量得到Tflight time max = 0.69ns
实际布线情况下仿真结果无法满足要求,这时候就是常见系统降频才能稳定工作,比如CPU频率降到166M,可以多出1ns的时序余量,那就可以满足时序要求了。

还有一个办法是综合读写时序建立保持时间的裕量,比如这个例子,写时序有1.2ns的裕量,比较充裕,而保持时间的要求都可以满足,这时候可以想办法通过人为调整布线的时钟Skew,达到系统时序设计的目标。

总结:
1. 共同时钟系统的时序并不简单,尤其是时钟频率超过100M的时候,需要严格时序计算和仿真,超过166M的共同时钟系统,时序非常紧张
2. 共同时钟的时序关系不是数据和时钟线等长,也不是数据地址总线等长,在大部分的共同时钟的时序系统中,保持总长度尽量短是非常关键的
3. 因为并不存在时序要求而做的整个总线绕等长,而又为了绕等长而导致这个总线的布线长度增加,串扰增加,这样的设计是错误的,失败的例子非常多
4. 特殊情况下,需要人为改变PCB布线时钟Skew,达到系统时序设计的目标,这种情况下,会对最短走线长度相应做下控制

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-8 02:59 , Processed in 0.112153 second(s), 16 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.