在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5565|回复: 4

[求助] 求DAC的INL和DNL的仿真问题

[复制链接]
发表于 2018-9-13 18:12:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在用 [url=]Monte Carlo[/url]测DAC的DNL和INL时,单位电容值往往设置成随机变量,如图所示,请问一下怎样设置单位电容值成为随机变量呢
2MDT(`GIKJ$%12B6C{X6655.png
发表于 2018-9-13 22:58:27 | 显示全部楼层
如果有PDK提供Monte Carlo, 跑Monte Carlo就可以了, 但这样就无法指定mismatch的大小了。这篇TCASI的论文里指定了mismatch的标准差是3%,所以不太可能是直接调用工艺库的mismatch做MC仿真的。 一种可能的方法是写一个verilog-a的电容模型,人为指定MISMATCH的大小。例子如下:

module CAP_GAUSS( p, n );
  parameter real    UNIT_CAP   = 0 from ( 0 : inf ); // size of unit capacitor
  parameter integer MULTIPLIER = 1 from [ 1 : inf );
  parameter real    MISMATCH   = 0 from [ 0 : 1   );
  
  (* cds_inherited_parameter *)parameter real RANDOM = 0;
  // inherit the random variation specified in .scs model

  real sigma, cap_val;
  
  inout p, n;
  electrical p, n;
        branch( p, n ) cap;
       
        analog
    begin
      @( initial_step )
        begin
          sigma   = sqrt( MULTIPLIER ) * UNIT_CAP * MISMATCH;
          cap_val = MULTIPLIER * UNIT_CAP + sigma * RANDOM;
        end
      I( cap ) <+ cap_val * ddt( V( cap ) );
    end
endmodule
 楼主| 发表于 2018-9-13 23:18:25 | 显示全部楼层
回复 2# quantus


   十分感谢,我还想问一下,这样建立的symbol和最后测试结果差距会很大吗?
发表于 2018-9-14 15:17:24 | 显示全部楼层
只考虑mismatch的话,我觉得还是能对得上的,实际还要考虑考虑settling,电荷注入,电源和地上的噪声...
 楼主| 发表于 2018-9-15 15:57:35 | 显示全部楼层
回复 4# quantus


   嗯嗯,太谢谢你了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-16 23:05 , Processed in 0.021320 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表