0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

double tail comparator的debug过程(一)

通向模拟集成电路设计师之路 来源:向模拟集成电路设计师之 作者:向模拟集成电路设 2022-08-27 08:55 次阅读

很久没有分享自己的debug过程了,实在是因为这种过程需要介绍太多的背景故事,不是容易很详细的展开。

不过今天想跟大家分享的只是一个很简单的double tail comparator,没有那种很复杂的故事需要先聊上好久,所以想着写文章也是记录也是分享也是学习(有时候有很棒的评论,我也能学到很多,谢谢很多热心读者!),今天大致说一下这个comparator的debug过程。

我之前帮人做了一个大概200MHz的10 bits SAR ADC的comparator,SAR用的是大家经常看到的(比如之前我提过的CC Liu那篇经典JSSC)结构。comparator则是double tail comparator。

5e1285d6-2547-11ed-ba43-dac502259ad0.jpg

Liu, Chun-Cheng, Soon-Jyh Chang, Guan-Ying Huang, and Ying-Zu Lin. A 10-bit 50-MS/s SAR ADC with a monotonic capacitor switching procedure.; IEEE Journal of Solid-State Circuits 45, no. 4 (2010): 731-740

前仿PVT,MC我都跑了一遍,看起来做的还行。于是心里有底气的我,就把这个comparator交给了做ADC的同事。我抽了版图寄生的av_extracted coupled c之后,又单独跑了后仿,看起来也还行。于是我又交给了同事做ADC的后仿。然后……同事跟我说中间大概第六七步的时候就比出来的结果错了,而且只是tt就错了……

这感觉有点打脸了-_-

作为一个包售后的designer,我定然是义不容辞的要去debug了。于是我做了下面这些事情。

首先,我拿着ADC后仿的test bench研究了一下。

5e38843e-2547-11ed-ba43-dac502259ad0.jpg

因为是pmos的input pair,第一级的clock都是clkn控制的。所以,当clkn从1变成0的时候,发生了什么?右边波形图的第一行是M1的drain端Vs,第三行,是两个输入端vip和vin,第四行的紫色线是clkn,很浅的灰色线是vop。当clkn还没变化的时候,很明显,vin是小于vip的,所以vop应在clkn变成0之后继续保持1.但是,它怎么了?干嘛掉下去了?

再仔细看看我放置V1的那条虚线(在viva上面按v就行),clkn下降沿来的时候,vip和vin都往下掉了一点点。为什么会掉下去?

重新看左图电路,我画了M1的Cgd1和input pair的Cgs。这种瞬间变化的“奇景”,在电路里最常见的就是电容之间的电荷传导了。(电容很快的,啪的一下就过去了,它们不讲武德的^_^)想想要是mosfet的传导,还得先从反型层开始,然后沟道电荷,然后才能导通,明显多了几步,自然慢了对吧?所以clkn的1->0使得Cgd1上面的电荷被抽走了一些(我拿正电荷打比方,比较直观),下面的两个Cgs跟着上面的老大哥被吸走一点电荷,所以让vip和vin掉下去了一点点。

看来看去,vip和vin好像掉的也不多,作者君这个慢一拍的家伙分析这个干啥?

想想看,既然是寄生电容之间的短兵相接,是不是可以从寄生电容身上找找办法?

5e5bfedc-2547-11ed-ba43-dac502259ad0.jpg

作者君有个大胆的想法,于是做了一个尝试:最初的版本里面,M1的Width是8um,右边的图里,M1的width被改成了2um。呵呵呵,因为M1的Cgs1减小了,果然后续的影响没有那么大了(蓝色虚线框里),可以看到第二行里面的vop就没掉下来,结果对了!

(不过呢,看一下蓝色箭头,右边vop的输出比左边慢了不少。当然会慢:上面M1减小了这么多,等于之后整个第一级的总电流受限了,想想这样带来的潜在影响有点大啊!万一太慢了导致时间不够用,岂不是很惨?)

粗暴减小M1的方法暂时按下不表。

其实呢,万物之间皆有关联……好高深的样子!不是,上面右图里面第二行那个verf是什么东西?作者君画这个干什么?

当然是有用的啦!这个vref就是C.C.Liu那个图里的verf了。比如我的VDD是1.8V,选个合适的vref比如说0.9V,input swing就是1.8V了。(这个ADC的capacitor array就是不停的被在vref和vss之间顶来顶去的)

一个理想的LDO,加上一个理想的buffer,给我一个理想的0.9V。很可惜,现实很骨感,哪有那么好的vref?上面第二张图里的vref为什么往上走了?怪了怪了。

这篇的内容先到这里,vref的问题我们留到下一篇再讲吧?^_^

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • adc
    adc
    +关注

    关注

    95

    文章

    5653

    浏览量

    539508
  • Doubler
    +关注

    关注

    0

    文章

    7

    浏览量

    7143
  • DEBUG
    +关注

    关注

    3

    文章

    83

    浏览量

    19452

原文标题:一个传统double tail comparator的debug过程分享(一)

文章出处:【微信号:analogIC_gossip,微信公众号:通向模拟集成电路设计师之路】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    tail实时滚动显示log文件内容

    Linux shell中有tail命令,常用来显示个文件的最后n行文档内容但更多情况下,我们要在服务器端运行程序,并且需要实时监控运行日志,这时候有什么办法实时滚动显示log文件内容?这里可以
    发表于 07-09 08:04

    Implementing Double Data Rate

    Implementing Double Data Rate I/O Signaling in Cyclone Devices Double data rate (DDR) transmission
    发表于 05-14 10:44 24次下载

    DEBUG程序的使用

    实 验   DEBUG程序的使用 一、 实验目的 1. 学习使用DEBUG程序的各种命令
    发表于 09-28 23:10 6895次阅读

    Dual Comparator Forms Temperat

    Dual Comparator Forms Temperature-Compensated Proximity Detector Abstract: Simple comparator
    发表于 11-24 10:42 1390次阅读
    Dual <b class='flag-5'>Comparator</b> Forms Temperat

    Comparator/DAC Combinations So

    applications: the A/D conversion is sometimes better implemented with a discrete comparator and D/A converter. This substitution generally ent
    发表于 05-06 10:57 1660次阅读
    <b class='flag-5'>Comparator</b>/DAC Combinations So

    LTC1540-Nanopower Comparator w

    LTC1540描述 The LTC®1540 is an ultralow power, single comparator with built-in reference. The comparator’s fe
    发表于 11-28 16:01 1754次阅读
    LTC1540-Nanopower <b class='flag-5'>Comparator</b> w

    LTE中Tail-biting卷积码的译码器设计

    本文设计的译码器,利用Tail-biting卷积码的循环特性,采用固定延迟的算法与维特比算法结合,在FPGA上实现和验证,能达到135.78 MHz时钟
    发表于 08-05 11:57 4400次阅读
    LTE中<b class='flag-5'>Tail</b>-biting卷积码的译码器设计

    基于Tail Fit算法的抖动分离

    提出了一种基于Tail-Fit算法的抖动分离技术,给出了该算法的拟合结果,验证了算法的有效性。
    发表于 10-19 14:42 32次下载
    基于<b class='flag-5'>Tail</b> Fit算法的抖动分离

    Linux中tail与cat的区别

    使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容。
    的头像 发表于 03-15 17:21 9468次阅读

    Comparator动态噪声的仿真

    大家好!转眼又是年底了。这一年马上要过去,不知道大家今年收获到了什么呢? 高速ADC一直是个特别火的课题,无论是科研还是实际项目。与此同时,高速动态comparator的设计也就随之非常普遍。在这里
    的头像 发表于 11-10 14:53 2537次阅读
    <b class='flag-5'>Comparator</b>动态噪声的仿真

    在vscode上用gcc征服debug过程中遇到的各种疑难杂症

    在vscode上用gcc征服debug过程中遇到的各种疑难杂症! 2. 安装MinGW MinGW是什么东西,怎么安装?这里就不详述了,随便百度出来一堆。
    的头像 发表于 11-18 16:18 4861次阅读

    AD45048:Rail-Tail在ADSL线驱动数据Sheet上运行.

    AD45048:Rail-Tail在ADSL线驱动数据Sheet上运行.
    发表于 04-16 10:17 0次下载
    AD45048:Rail-<b class='flag-5'>Tail</b>在ADSL线驱动数据Sheet上运行.

    HT8 MCU Comparator应用须知

    本文通过对 Comparator 的功能应用及其注意事项的介绍,帮助用户正确应用 HT8 MCU Comparator 的功能。
    发表于 06-09 17:36 2次下载
    HT8 MCU <b class='flag-5'>Comparator</b>应用须知

    如何在Intellij IDEA中使用好Debug

    Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用
    的头像 发表于 07-29 11:35 755次阅读

    double tail comparatordebug过程(二)

    上一篇讲到了vref,这篇接着说。
    的头像 发表于 08-27 09:50 621次阅读