时序计算和Cadence 仿真结果的运用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时序计算和Cadence仿真结果的运用
中兴通讯康讯研究所EDA设计部余昌盛刘忠亮
摘要:本文通过对源同步时序公式的推导,结合对SPECCTRAQuest时序仿真方法的分析,推导出了使用SPECCTRAQuest进行时序仿真时的计算公式,并对公式的使用进行了说明。
关键词:时序仿真源同步时序电路时序公式
一.前言
通常我们在时序仿真中,首先通过时序计算公式得到数据信号与时钟信号的理论关系,在Cadence仿真中,我们也获得了一系列的仿真结果,怎样把仿真结果正确的运用到公式中,仿真结果的具体含义是什么,是我们正确使用Cadence仿真工具的关键。下面对时序计算公式和仿真结果进行详细分析。
二.时序关系的计算
电路设计中的时序计算,就是根据信号驱动器件的输出信号与时钟的关系(Tco——时钟到数据输出有效时间)和信号与时钟在PCB上的传输时间(Tflytime)同时考虑信号驱动的负载效应、时钟的抖动(Tjitter)、共同时钟的相位偏移(Tskew)等,从而在接收端满足接收器件的建立时间(Tsetup)和保持时间(Thold)要求。通过这些参数,我们可以推导出满足建立时间和保持时间的计算公式。
时序电路根据时钟的同步方式的不同,通常分为源同步时序电路(Source-synchronous timing)和共同时钟同步电路(common-clock timing)。这两者在时序分析方法上是类似的,下面以源同步电路来说明。
源同步时序电路也就是同步时钟由发送数据或接收数据的芯片提供。图1中,时钟信号是由CPU驱动到SDRAM方向的单向时钟,数据线Data是双向的。
图1
图2是信号由CPU 向SDRAM 驱动时的时序图,也就是数据与时钟的传输方向相同时
的情况。
Tsetup ’
Thold ’ CPU CLK OUT
SDRAM CLK IN
CPU Signals OUT SDRAM Signals IN
Tco_min
Tco_max T ft_clk
T ft_data
T cycle
SDRAM ’S inputs Setup time SDRAM ’S inputs Hold time
图2
图中参数解释如下:
■ Tft_clk :时钟信号在PCB 板上的传输时间;
■ Tft_data :数据信号在PCB 板上的传输时间;
■ Tcycle :时钟周期
■ Tsetup’:数据到达接收缓冲器端口时实际的建立时间;
■ Thold’:数据到达接收缓冲器端口时实际的保持时间;
■ Tco_max/Tco_min :时钟到数据的输出有效时间。
由图2的时序图,我们可以推导出,为了满足接收芯片的Tsetup 和Thold 时序要求,即
Tsetup’>Tsetup 和Thold’>Thold ,所以Tft_clk 和Tft_data 应满足如下等式:
Tft_data_min > Thold – Tco_min + Tft_clk (公式1) Tft_data_max < Tcycle - Tsetup – Tco_max + Tft_clk (公式2)
当信号与时钟传输方向相反时,也就是图1中数据由SDRAM 向CPU 芯片驱动时,可
以推导出类似的公式:
Tft_data_min > Thold – Tco_min - Tft_clk (公式3) Tft_data_max < Tcycle - Tsetup – Tco_max - Tft_clk (公式4)
如果我们把时钟的传输延时Tft_clk 看成是一个带符号的数,当时钟的驱动方向与数据
驱动方向相同时,定义Tft_clk 为正数,当时钟驱动方向与数据驱动方向相反时,定义Tft_clk
为负数,则公式3和公式4可以统一到公式1和公式2中。
三.Cadence 的时序仿真
在上面推导出了时序的计算公式,
在公式中用到了器件手册中的Tco 参数,器件手册中Tco 参数的获得,实际上是在某一种测试条件下的测量值,而在实际使用上,驱动器的实际
负载并不是手册上给出的负载条件,因此,我们有必要使用一种工具仿真在实际负载条件下
的信号延时。Cadence 提供了这种工具,它通过仿真提供了实际负载条件下和测试负载条件
下的延时相对值。
我们先来回顾一下CADENCE 的仿真报告形式。仿真报告中涉及到三个参数:FTSmode 、
SwitchDelay 和SettleDelay 。其中Cadence 时序仿真的结果是通过SwitchDelay 和SettleDelay 两个参数反映出来的。
在解释FTSmode 、SwitchDelay 和SwitchDelay 前先解释一下BufferDelay 曲线的含义。BufferDelay 曲线是Cadence 仿真器断开实际负载,带上驱动芯片器件手册提供的测试负载条件下获得的一条曲线。测试负载是在IBIS 仿真模型库中设置的。Cadence 仿真报告中的延时测量是以BufferDelay 为基准曲线,以V Measure 为起始测量点获得的相对延时值。
FTSmode :定义了当前仿真驱动器的特性,分为Fast 、Type 和Slow 。该三种特性是在IBIS 模型中定义的,Fast 是驱动器沿最快的模式,Slow 是驱动器沿最慢的模式,从而定义了驱动器在正常工作条件下的两种极限特性。
SwitchDelay :定义为SwitchDelayFall 和SwitchDelayRise 两者的最小值。图3给出了SwitchDelayFall 和SwitchDelayRise 的图形解释。
SwitchDelayFall :是从BufferDelay 下降沿的Vmeasure 点开始到接收波形下降曲线第一次穿过高电平阈值时的延时值。
SwitchDelayRise :是从BufferDelay 上升沿的Vmeasure 点开始到接收波形上升曲线第一次穿过低电平阈值时的延时值。
SettleDelay :是SettleDelayFall 和SettleDelayRise 两者的最大值。图3给出了SettleDelayFall 和SettleDelayRise 的图形解释。
SettleDelayFall :是从BufferDelay 下降沿的Vmeasure 点开始到接收波形下降曲线最后一次穿过低电平阈值时的延时值。
SettleDelayRise :是从BufferDelay 上升沿的Vmeasure 点开始到接收波形上升曲线最后一次穿过高电平阈值时的延时值。
从SwitchDelay 和SettleDelay 的定义我们可以看出,SettleDelay 是一个与输入端的建立时间(Tsetup )有关的量,SwitchDelay 是一个与输入端保持时间有关的量(Thold )。
V ih min
V il max
Vmeasure
BufferDelay Driver Waveform
Receiver Waveform
SwitchDelayRise SwitchDelayFall
SettleDelayFall
SettleDelayRise 图3
公式1和公式2中的Tft_data 与Tft_clk 在Cadence 仿真工具中是通过仿真获得的数据,它与Cadence 仿真中fast 和slow 状态下的SwitchDelay 与SettleDelay 参数有关。
为了了解Cadence 仿真中的SwitchDelay 和SettleDelay 与时序公式中参数的关系,我们