微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 信号完整性分析 > 信号完整性分析讨论 > 请教:时序完整性

请教:时序完整性

时间:10-02 整理:3721RD 点击:
请教各位大侠:
可否在HyperLynx中在PCB Layout之前用Linesim做时序完整性仿真?如果不能做的话,用什麽软件可以做的到?

做时可以做
只不过需要你从仿真波形中测量数据然后进行计算
前提是你对你设计的系统的时序要求很清楚。

用linsim做时序前仿真关键是方法,就是阿鸣说的要对系统时序比较清楚.
工具倒是次要的.

多谢小编!
具体如何做:需要从仿真波形测量哪些数据测量?clk和data的关系能不能从
仿真中直接得到,比如仿真中实际的setup time and hold time可以观测到吗?
Linesim如何建立clk 和 data bus的关系?BTW,我是用IBIS模型仿真!用Spice模型可以吗?
Thanks

普通时序系统的时序裕量的标准计算公式(我们要保证setup和hold裕量均为正值):
Tsetup marin =Tcycle – TPCB skew –Tclock skew –Tjitter – Tco data – Tflt data-Tsetup  
Thold margin = Tco data + Tflt data + Tclock skew + Tpcb skew – Thold
    其中,Tcycel是时钟周期,TPCB skew 是到接收端和到发送端之间的时钟延时,Tclock skew 是指时钟发生器产生的两个相同子时钟之间的偏移,Tjitter指时钟周期间的抖动误差,Tco data指数据在驱动端器件内的延时,Tflt data指数据信号在传输中的飞行时间(在setup计算中取最大,在Hold计算中取最小),Tsetup和Thold分别指接收端的器件正常收到数据需要的建立和保持时间。
    其中大部分是器件本身的特性决定的,我们能改变的就是TPCB skew 和Tflt data ,对于TPCB skew来说,我们尽量保持为0,也就是说理想的普通时钟系统中,时钟信号到各个器件是同步的。一般情况,在仿真中我们是尽可能保证Clock和参考时钟(芯片/系统厂家规定)一致(比较这两个波形),时钟偏移尽可能小。
    而Tflt data 牵涉到传输线的长度和器件负载上升沿的影响,我们可以从波形中测量出来,方法就是同时显示驱动端的波形和接收端的波形,从某一参考电平Vmeas(测量电平,一般为幅值电压的一半左右)量度,分为上升沿和下降沿,以上升沿为例,从驱动端波形的Vmeas量起,到接收端波形的最小阈值电压的延时为最小Flight time(即最小Tflt data),到接收端波形的最大阈值电压的延时为为最大Flight time(即最大Tflt data);同样在对下降沿测量(和上升沿量的最大/最小阈值电压正好相反)。这样,我们取上升和下降沿中最小Flight time两个值中的最小值为带入hold公式中计算的最小Flight time,而取上升和下降沿中最大Flight time两个值中的最大值为带入setup公式中计算的最大Flight time。
    如果更为全面地考虑,在计算最大Tflt data时应该选择最弱(slow)的驱动,而计算最小Tflt data时应该选择最强(fast)的驱动。
    这些值获得之后,再加上从器件手册上可以查到的Tco,Tjitter,Tsetup,Thold等参数,带入前面的公式就可以算出你的时序裕量,如果为负值,那么就要从减少(增加)信号的Flight time来考虑了。
    实际的应用可能比较复杂,但基本原理和上面说的差不多,我已经说得很详细了。对于源同步时钟系统的时序计算,主要考是取决于数据和源同步时钟(选通信号)之间的Skew。具体的公式和普通时钟系统时序约束公式不同。

回复这麽详细!
向小编致敬!

这样表达没有错,因为算setup margin        时是用数据的起始点和下一个时钟之间的差值再减setup time得到的,所以会有一个Tcycle留下。算hold margin是用数据的结束点往前减hold time等等然后和接受时钟比较的,这时,时钟是下一个周期的,数据是这个周期开始加上数据长度,数据长度就是时钟周期,两者一减正好抵消,所以肯定不出现Tcycle。

圆圈连中学数学都没学好吧?

请教电源板强弱电要怎样布局才是最理想的

不错,顶一下!感谢小编!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top