Cadence高速PCB布线时的时序分析 列位看观,在上一次的连载中,我们介绍了什么是时序电路,时序分析的两种分类(同 步和异步),并讲述了一些关于SDRAM 的基本概念。这一次的连载中,我们将介绍什么是 定时问题,怎样保证接收端的建立和保持时间。 信号经过传输线到达接收端之后,必须满足建立时间和保持时间这两个时序参数,它们 由接收器本身的特性决定,可以从芯片的数据手册中获得。时钟沿有效时,要求数据必须已 经存在一段时间,这就是器件需要的建立时间(Setup time);而时钟边沿触发之后,数据 还必须要继续保持一段时间,以便能稳定的读取,这就是器件需要的保持时间(Hold Time)。 数据信号在时钟沿触发前后持续的时间必须分别都要超过建立和保持时间,否则接收端可能 不能正确地采样到数据,setup/hold 时间是时序问题产生的根源。 我们分析DSP 读取SDRAM 数据时怎样才能满足DSP 的建立和保持时间。不管列位看 观在哪篇文献里看到了哪样的定时数学公式,请你将它遗忘。我们从来不需要死记硬背任何 的数学公式,我们要的是聪明的分析头脑。 图6 为DSP 读取SDRAM 数据的定时,很明显,DSP 在ECLKOUT 的上升沿采样数据, 图6 中的时间6 和时间7 分别是建立和保持时间,查TMS320C6713 数据手册获知建立时间 最小为1.5ns,保持时间最小为2.5ns。 图6 TMS320C6713 读取SDRAM 数据的时序 在DSP 读取SDRAM 数据时,SDRAM 在第一个时钟的上升沿后将数据放入总线,而 DSP 总是在接下来的一个时钟上升沿触发时采样数据,如图7 所示,我们先假设SDRAM 与DSP 的时钟是完全同步的。 显然欲满足DSP 的setup/hold,必须有: T4 > DSP setup time;T5 > DSP hold time② 即Tclk-T1-T3 > DSP setup time; T2+T3 > DSP hold time ②请列位看观不要将此看做公式,我反对公式,赞成直观和推理。 图7 DSP 读取SDRAM 数据 很显然,我们弄明白了T1 、T2和T3的含义,就完全明白了setup/hold时间的需求! 什么是T1,直观而言,就是源端时钟上升沿有效到其在总线上放入的数据达到参考电平 时的时间,这就是传说中的Tco。确定Tco的方法是在源端输出的末端直接相连一个测量负载, 最常见的是50欧姆的电阻或者30pF的电容,然后测量负载上的信号电压达到一定电平的时 间,这个电平称为测量电压(Vms),一般是信号高电平的一半。T3则是指在源端到第2个时 钟周期上升沿后,数据还能准确地在数据线上保持多长时间(过了下文所说的First Switch Delay就不叫还在准确地保持)。很多文献中将T1和T3混为一谈,分别称为Tco-max和Tco-min, 实际上是不准确的。 T3 是什么呢?列位看观一看就明白,不准确地说就是源端的数据到接收端数据之间的 时间,那么这个时间具体是什么呢?就是传说中的飞行时间Tflight,注意Tflight 不同于传播时 延,后者仅由传输线长和传输速度决定,而前者还受接收端负载大小的影响。Tflight 分为最 小飞行时间Tflight-min 和最大飞行时间Tflight-max,在Cadence 软件中,Tflight-min 定义为First Switch Delay,Tflight-max 定义为Final Settle Delay,而这个定义,我认为,远远要超过飞行时 间来得准确,让我们热情地歌颂它。如图8,假设数据从0 到1(上升沿),First Switch Delay 指的是从这一刻起,接收端就不能准确地判断原来的0 了;而Final Settle Delay 这是指接收 端只有从这一刻起才能准确地判断新来的1,虽然信号以前已经在1 上面跑过了一回(但是 它又振荡回去了)。在数据的下降沿,如图9,看观们可以自己推理得出什么是First Switch Delay 和Final Settle Delay。很显然了,First Switch Delay 会被用在保持时间的计算中,而 Final Settle Delay 则会用于建立时间的计算中。
1
|
|
|
|