PCB论坛网

 找回密码
 注册
楼主: xiechengmin

请教:时序分析公式的理解?

[复制链接]
发表于 2002-8-21 22:11:00 | 显示全部楼层
虽然时钟从CPU内部输出,其实其内部包含很多控制模块,包括控制内存的MCH,控制PCI的ICH等,也有PLL,DLL等,PLL将时钟发生器的时钟分为若干CLOCK输出控制外部器件,比如66MHz的PCI时钟,也可以再经过DLL分频为133MHz内存控制时钟,其内部的MCH和ICH等模块也是由系统时钟控制,因为PLL可以调节相位,只要调整反馈线的长度(可以看看Motorola的MPC8245芯片上是不是有个时钟信号反馈线?)就可以比较容易的保证到各个器件的时钟和系统时钟同步。所以虽然CLOCK是CPU产生的,但是其内部的电路还比较复杂,很多保证到各个控制模块的时钟同步都是在其内部实现的,我想对于低速的PCI控制,没有必要使用源同步技术,它一般都是针对频率较高(和时钟频率相同)的数据传输才会使用,毕竟源同步在芯片内部还要加一些数字延时器等功能模块,普通时序能满足要求的情况下何必再使用更高成本的新的技术。我到目前为止还没看到整个系统完全是源同步设计的例子,只看到数据总线使用源同步,而地址/控制线还都是普通时序系统,所以如果芯片中数据线是源同步传输,最显著的特点是有一个源同步时钟信号,但为了区别于系统时钟,这个信号一般不被称为时钟信号,而是数据读写探针(Data strope),这个DQS信号和数据信号同时产生,为了便于控制时序,在布线的时候要严格保持数据线和源同步时钟结构,线长都相同,即Flight time相同,由于Tco也基本一样,所以两个信号几乎是同相位的,只是在接收端将源同步时钟信号延迟1/4周期,这样就能保证在数据信号中央部位读取。如果除了AD0~AD31找不到类似ADS信号名的源同步时钟信号,那么我想这个肯定不是源同步时钟系统。

如果确信只是普通的时钟系统,那就容易了,时钟线只要调整长度保证和系统时钟同步就行,实际操作我猜应该是保证CPU上的时钟反馈线长和输出到PCI的时钟信号线长度大致相等,或参考Datasheet。以后考虑数据线的时序的时候就不用再关心数据线和时钟信号的线长差异了,而是和时钟周期有关。



[此贴子已经被阿鸣于2002-8-21 22:08:41编辑过]




[此贴子已经被阿鸣于2002-8-21 22:11:46编辑过]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-8-22 08:57:00 | 显示全部楼层
是啊!CPU内部的一大堆电路我都没有考虑到。但是如果在做仿真的时候,芯片内部的这些信号流程、延时等等我们都不知道啊!

但是我如果知道了它的输出时序参数,应该就可以不必去管它内部的电路了吧?比如我现在知道了从PCI输出的时钟和数据线之间的时序参数(即它们时序关系的Max、Min值),而我还知道接收端的时序要求(即建立时间、保持时间的要求)。输出端到接收端之间没有任何驱动等器件,直接用Trace连接。这时,分析这个接口连接之间的时序关系的话,以上的时序公式就用不着了吧?这时影响时序的最大因素就是传输线的长度差了?是否可以通过以上给定的参数,计算出实际要求的传输线长度差?
回复 支持 反对

使用道具 举报

发表于 2002-8-22 11:18:00 | 显示全部楼层
所以首先要看各个控制芯片的datasheet或者Layout guideline等等,应该会提到时钟控制。比如上面说的815ep芯片,它就明显的提到时钟到ICH和PCI的目标延时为0,至于它是怎么实现时钟同步的我们根本不用管,PCI规范上肯定会告诉你时钟线应该多长的,我们就认为只要按照这个标准长度去布时钟线,就可以实现Driver和Receiver时钟同步,然后就应该采用标准的时序计算啊。
你说的“PCI输出的时钟和数据线之间的时序参数(即它们时序关系的Max、Min值),”应该指Tco,又知道了接收端的时序要求拿很简单啦,假设CPU的Tco为1ns~2ns,PCI器件的Tco为1ns~5ns,PCI器件接受端需要的建立时间为3ns,保持时间为2ns,而控制器作为接受端是建立时间为2ns,保持时间为1ns,时钟周期为15ns(66MHz)暂时不考虑时钟skew,jitter和串扰影响,则分为两个过程(数据线是双向传输的)计算:
1.CPU-->CI,
Tfight_max=15-Tco_max(CPU)-Tsetup_require(PCI)=15-2-3=10ns,
Tfight_min=Thold_require(PCI)-Tco_min(CPU)=2-1=1ns
2.PCI-->CPU
Tfight_max=15-Tco_max(PCI)-Tsetup_require(CPU)=15-5-2=8ns,
Tfight_min=Thold_require(CPU)-Tco_min(PCI)=1-1=0ns

最终的Fight time(max)取两个中最小的8ns,Flight time(min)取最大的1ns,所以得到约束条件为1ns~8之间,然后通过仿真得到实际的线长约束。如果考虑到时钟的偏差,比如PCI时钟可能有+/-2ns的skew,则约束长度被进一步限制为2(0+2)~6(8-2)ns,如果再考虑到其它干扰因素影响大概1ns,则最大/最小flight time只能为3~5ns。这里算出的是实际的传输线的总的延时(包含上升时间的影响),而不是和时钟线的长度差。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-8-22 11:58:00 | 显示全部楼层
最后算出来的3~5ns的传输线总延时。为什么还有最小值3ns呢?难道传输线总延时小于3ns还不行?

这个时序问题确实很难理解!现在渐渐地有些明白,但最好还是再搞一些实例进行仿真、分析以后可能会更明白些吧!再此多谢阿鸣给予的大力帮助!谢谢!
回复 支持 反对

使用道具 举报

发表于 2002-8-22 12:18:00 | 显示全部楼层
这是考虑的很保守的情况,考虑到时钟偏差很大,实际不会有这么大,但肯定有个最小值,这是保证有足够的保持时间裕量。所以说走线不能太长也不能太短。
回复 支持 反对

使用道具 举报

发表于 2002-8-22 12:42:00 | 显示全部楼层
哇!几位高手的讲解真是精彩,不过我还是看得一头雾水!看来我还得加把劲.
回复 支持 反对

使用道具 举报

发表于 2003-4-21 14:06:00 | 显示全部楼层
确实很精彩,慢慢消化
回复 支持 反对

使用道具 举报

发表于 2003-4-21 15:27:00 | 显示全部楼层
天啊!象在看天书
我要啃书去了
回复 支持 反对

使用道具 举报

发表于 2007-4-6 13:41:00 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2007-4-7 09:45:00 | 显示全部楼层

好帖子

应该顶上来

回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|小黑屋|手机版|PCB设计论坛|EDA论坛|PCB论坛网 ( 沪ICP备05006956号-1 )

GMT+8, 2024-5-17 10:39 , Processed in 0.104854 second(s), 13 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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