系统级时序仿真
说仿真,其实也不真实算。对于时序的仿真暂时来看没有哪个工具做得很好,往往一些参数就把我们搞晕,更不用说时序参数的代入了,这次有机会对系统级的各方面影响大概了解了下。与大家一块学习讨论。
1.芯片级的影响因素:
tco:主要是时钟没有,而其他信号又不一定一致。这个值与芯片逻辑门电路结构有关,STA仿真后可得出具体值。
tacc:又称为delay element,dll的step长度;对信号最长最短时延有影响。
clk(skew):时钟树结构有影响,一般芯片端会做等长。
2.I/O的影响因素:
delay:I/O delay,就是各位大大们之前讲的buffer delay,大家先对应下。不同的buffer由于内部结构不一致也会不太一样,也会由于外部条件不一致会不太一样,这个变量芯片手册称为tcom,芯片端一般叫OCV。
3.package影响因素:
RLCG,当然用S参数来表征会更精确,因为crosstalk对skew的影响。
4.PCB板走线:
大家最熟悉的,一般会按照spec要求进行等长处理。
5.软件调节:
dq-dqs:tdelay延时,以满足建立时间裕量;
dq readQS偏移1/4tCK;...
希望可以让大家对影响时序的各阶段有个了解,能对PCB设计等长策略有更好的理解,可以做到大致估算各时序裕量情况。
此次讨论希望大家热烈参加,仅讨论静态时序,不讨论操作时序。今天就写到这。
在芯片级提出如下问题,可以让我们对时序调整的原理进行理解,并知道实际上我们板级考虑不了的内容:
DQ与DQS写操作比较时:setup时dqs一般偏移半个时钟周期,(由于加上setup,计算时为一个时钟周期)而holdup时由于减去tds因此为半个时钟周期;
DQ与DQS读操作比较时:没有时钟偏移,因此DQS偏移90度,作时序对齐。(初始为0.25时钟周期偏移)
DQS与CLK信号写数据时:比较时对tDQSS参数值进行多偏移一个时钟周期,裕量的确会变大,但实际多出的时钟周期的裕量是否会存在,但用0.25tCK进行表格公式时,时序关系不满足要求;tDSS,tDSH参数比较时,有一个DQS_HIGH时序关系(大约半周期),其原因是什么?
DV值与delay element为何有5倍的关系,为何有2*tphase+4 * tPhaseClk_err的关系?数字dll或模拟dll的delay line值是否变化?
芯片级pulse width的各信号如何获取?
ECHO gating
这张图片最左边为控制器->PHY(IP)->I/O(仿真时的buffer特性)->package&board(图中没有画出)->负载DDR颗粒。
从图中大家可以清楚看出影响时序的各个环节,下面先芯片端的影响因素和大家道来。

好贴,啊,继续啊小编,学习啊
从芯片内部出发,我们可以看到一些参数的由来,如为何存在tsu,thold;tco到底是哪部分的长度,它由哪些因素影响;tcom;时钟tree对板级的影响;dll步长及Rj。
图中,寄存器1处的延迟为TCO,寄存器2处的延迟为tsu,而TCOM为芯片上的buffer delay长度(上面定义为i/o delay),现在看来,芯片手册上对于I/O处的buffer delay有可能没有考虑。
此处:
TCO:由寄存器本身参数特性决定;
TCOM:主要由芯片layout时走线决定;
TSU:其实是读信号时的建立时间,如果写数据时需要的SDRM端寄存器的建立,保持时间。
而这张图基本是所有建立时序关系的基理,其它的关系无非是从中演变,但对于DDR部分的电路,add&clk,dq&dqs可以从此处得出建立时间关系。
对于地址网络,需要满足:
max delay (tco&tcom) + tIS <0.5tCK;
对于数据网络,需要满足:
max delay + tDS <0.25tCK;由于门电路结构的改变,max delay与add网络的不太一样。
上面时序关系为简单关系,实际过程中要考虑I/O(可以通过hspice住址获得,而IBIS模型由于不能提供内部的I/C pin脚并由于其原理不能获得此值),package delay , board delay ,skew-clk/dqs,以及最长信号时延引起的dll步进长度等变量。
而DQS&clk的时钟关系,由于芯片内部结构不一致而不一样。下回主要介绍DQS&CLK,DQ读信号时的时序关系。
