问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Cadence中使用Spectrum工具进行ADC动态性能指标仿真

创作时间:
作者:
@小白创作中心

Cadence中使用Spectrum工具进行ADC动态性能指标仿真

引用
CSDN
1.
https://blog.csdn.net/wang201938/article/details/137260743

在进行ADC动态性能指标仿真之前,你需要准备一个可仿真的ADC电路。接下来,我们将详细介绍如何通过Cadence中的Spectrum工具进行FFT仿真,以评估ADC的ENOB(有效位数)、SNR(信噪比)等关键性能指标。整个过程分为四个主要步骤:

第一步:修改理想DAC的VerilogA代码

为了准确评估ADC的性能,需要在ADC输出端接一个理想DAC。对于没有ADC仿真经验的工程师,可以参考何乐年老师的《逐次逼近模/数转换器(SAR ADC)设计与仿真》。理想DAC的VerilogA代码并不需要从头编写,Cadence自带的理想DAC代码位于特定的Library中。根据需要,可以简单修改代码中的位数参数。

第二步:确定相关输入频率及仿真设置

这一步是整个仿真过程中最为关键的环节,需要特别注意以下几点:

  1. 频谱分析工具DFT:在样本点为时有个高效的方法叫FFT
  2. 相干采样条件:采样若满足相干采样,则不需要加窗函数就可以分析
  3. 采样参数关系:满足相干采样时,采样频率、信号频率、采样周期数M、采样点数N要满足以下关系:

一、确定采样率

设ADCCLK的周期为40ns,即频率为25MHz,设置采样周期为8CLK,转换周期是12CLK,因此采样时间间隔为20CLK,从而采样率为1/(20*40n)=1.25MSPS(1.25MHz)。

(若采样周期为4CLK,采样率为25M/16=1.5625MSPS)

也就是ADCCLK的频率除以采样周期+转换周期。

二、确定采样点N和周期数M

采样点取2^n,这样可以进行FFT分析。此处取M=3,N=128

三、确定AC分析的输入频率fin=fs*M/N

根据采样定理,输入频率要小于1.25M/2=0.625MHz=625KHz。

若M=3,取N=128,则fin=1.25M*3/128=29.296875KHz

四、确定仿真时间

如果采样M个周期,每个周期时间1/fin,则:

T=M/fin=N/fs=128/1.25M=102.4us。仿真时,稍微多点时间,保证后面分析时,取数据取在非跳变处。比如仿真110us。

由这个公式也可以看出,在采样率确定的情况下,N越大需要的仿真时间越长,而与输入信号频率无关。

至此,已经考虑到有如何加激励,设置多长的仿真时间的问题。

接下来就是在电路图做好设置,就可以仿真啦。

如果仿真时间比较长,比如取4096个点,那仿真时间可能无法接受。可以考虑使用多核

在ADE窗口中:Setup>Environment,弹出如下窗口,加上:

+mt=20 +aps

仿真完成后,波形大概如下:

从图中可以看出,正弦信号经过ADC转换,再经过理想DAC的转换,基本靠谱。

第三步:设置参数并查看结果

得到瞬态仿真波形后,接下来就是对信号进行频谱分析。分析方法可以采用:

  1. Cadence Spectrum工具
  2. MATLAB计算

Spectrum工具的调用,可以参考:cadence-virtuoso中的FFT分析 - 知乎

这里要重点说明的是开始时间、结束时间、采样点数。比如此文中,采样点是128个,采样周期是3个,采样时间是102.4us

因此在设置时,首先选择一个稳定的点,比如本文选的1.6us,那么结束时间就为102.4+1.6=104us

再在下面的采样点中输入128,那么灰色的采样率将会与你预设的一致!!!

如下图所示。

第四步:把参数送到ADEL中的OUTPUT中查看

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号