|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 xycaotao 于 2023-11-14 11:03 编辑
1. 用spectre仿真DAC unit, 得到Iu_sigma=0.0134;
2. 在spectre中用1中的DAC unit建立12bDAC,run 前仿真MC,只考虑DAC unit的Mismatch,仿真得到:
ENOB: mean=11.38b, sigma-0.33b, THD: mean=-81.32, sigma=5.35dB
3. 用matlab建立12b DAC model,根据Iu_sigma=0.0134得到4095个随机数,仿真得到
ENOB:mean=11.66, sigma=0.16b, THD: mean=-78dB, sigma=3.17dB
4. 对Matlab中的DAC run DNL/INL仿真,得到的曲线跟公式计算相同:
12b DAC(5T+7B), DNL_rms=sqrt(2^8)*Iu_sigma=0.214 LSB; INL_rms=0.5*sqrt(2^12)*Iu_sigma=0.429 LSB
由此可以认为该DAC的Matlab model时正确的。
但为什么Matlab中计算得到的ENOB 波动比spectre中要小?
|
|