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

标题: sense-amplifier based flip-flop(SAFF) 亚稳态 [打印本页]

作者: cyydx    时间: 2012-11-12 20:28
标题: sense-amplifier based flip-flop(SAFF) 亚稳态
( , 下载次数: 200 )
sense-amplifier based flip-flop,上半部分为sense-amplifier,下半部分的功能就类似于SR latch。R.B. STASZEWSKI用0.13um工艺进行设计,metastability window为几个ps,可是我用smic0.18um工艺设计metastability window总是在几十个ps的大小,降不下来。有没有人对这个电路的亚稳态问题比较了解,指点一下,谢谢!

我是这么分析的:当CLK为低电平时,Sb和Rb预充到高电平;当CLK跳变为高之后,Sb或Rb放电,得到相应输出。若D和Db在CLK跳变为高之后才跳变,假设D跳变为高,Db同时跳变为低,则Rb先放电;当D跳变为高,Db跳变为低后Rb停止放电,Sb一边导通。若此时Rb较高,则Sb放电,Mp3管将Rb拉高,进一步促进Sb降低;而若Rb足够低,则Sb一路不能导通,或Sb放电所能达到的电平较高,Mp3不导通,Rb维持低电平,Sb维持高电平,这样输出错误。因此我觉得增加Mp2和Mp3的W/L可以降低metastability window,Rb的较小的变化就可以引起Sb的较大变化,但仿真好像没有效果。我也试着增加过尾电流、Mn3和Mn4,但似乎metastability window始终没什么变化。不知道大家是怎么分析的,谢谢!
作者: semico_ljj    时间: 2012-11-12 23:00
metastability
作者: vdslafe    时间: 2012-11-13 12:46
你跑的是什么corner?
什么叫做metastability window?
作者: cyydx    时间: 2012-11-13 13:24
回复 3# vdslafe

    就是跑的TT工艺角,1.8V电源电压。这个都不对,其它的还没跑
    metastability window我看文献中好像就是说,先确定一个延迟允许的最大值,如400或500ps,然后分别让信号在时钟之前和之后跳变,即考虑setup和hold两种情况,找到相应的两个点,当信号跳变沿与时钟跳变沿的距离在这两个点所确定的范围内的时候,延迟超过所允许的最大值。这两个点之间的距离就是metastability window
    一篇文章中的metastability window是这么讲的:Metastability window, delta, can be defined as the period where data transition will not be resolved within a given resolution time (tr).
    R.B. STASZEWSKI用0.13um工艺设计的结果如图
( , 下载次数: 194 )
这幅图没有详细的解释,我的理解就是左半部分曲线是测setup time情况,右半部分曲线是测hold time情况,不知道正不正确?我现在就想做出类似的结果,但是我的metastability window总是小不下来
作者: vdslafe    时间: 2012-11-13 14:35
你仿真的时候是怎么跑的?
作者: cyydx    时间: 2012-11-13 15:14
回复 5# vdslafe


    在CLK、D和Db这三个输入端上各加了一个vpwl源,D和Db之间全差动。跑tran仿真,扫描D和CLK上升沿之间的距离,这个距离的扫描范围取0~200ps(D上升沿在CLK上升沿之后),看输出Q。tran仿真跑了2us,后来又试过5us,发现好像只要仿真时间足够长,输出Q总可以得到正确的结果,比如我跑2us,两个上升沿为40ps的时候输出错误,但是跑5us可能发现3、4个us的时候输出又正常了...现在一头雾水啊!
作者: vdslafe    时间: 2012-11-13 15:22
一般看第一个cycle 出错就是出错了。不能看后面的,因为你的reset 不是理想的
作者: cyydx    时间: 2012-11-13 15:41
回复 7# vdslafe


    我用的不是周期信号源,是vpwl电压源,可以在D和Db上实现一个单独的上升或下降沿。我仿真发现在我扫描的范围内,好像仿真时间足够长,输出就可以得到正确结果,比如仿setup time,D正跳变,Db负跳变,可能跑2us的仿真,输出Q保持低电平,我原来认为是违反了setup time,输出错误,但是把仿真时间增加到5us,发现在3或4个us的时候输出又上升了,弄得我都不敢确定应该仿真多长时间了
作者: vdslafe    时间: 2012-11-13 15:49
把仿真图发出来,要不实在无法理解。
任何comp 只要给足够时间都能翻转。
作者: cyydx    时间: 2012-11-13 16:25
回复 9# vdslafe


    ( , 下载次数: 205 )
这是setup time仿真情况,D在CLK之后35ps从0跳变到1,Q初始值为0,可以看到CLK跳变之后大约20ns,Q跳变到1。若D的跳变沿再向后,Q可能在几个us处跳变到1,说明Rb刚开始被放电到低电平,最终在20ns甚至几个us后被来回高电平,同时Sb降为低电平。
( , 下载次数: 198 )
这是hold time仿真情况,D在CLK之后40ps从1跳变到0,Q初始值为0,可以看到Q先跳变到1,这是正确的输出,但是之后又跳变回0,。若D的跳变沿再向后,Q可能在几个us处跳变回0,说明Sb刚开始被放电到低电平,这一低电平甚至足够使Q上升为高电平,但是一段时间后,甚至几个us后,Sb又被拉回高电平,同时Rb降为低电平。
作者: cyydx    时间: 2012-11-13 16:28
回复 10# cyydx


    这样我怎么确定仿真时间啊?tran跑2us觉得输出正确或错误了,再延长仿真时间发现输出又变化了...
    若跑2us来看,则metastability window也有几十个ps,该怎么降低呢?
作者: cyydx    时间: 2012-11-16 10:02
没有人了解这个东西吗?
作者: cyydx    时间: 2012-11-16 10:53
哈哈!一周了,终于把这个问题解决了,加一个管子一切都OK
作者: cyydx    时间: 2012-11-16 10:54
刚好像灵光一闪一样明白了。。。
作者: littledavid    时间: 2012-11-26 09:13
楼主说的详细点啊,别卖关子呀

回复 13# cyydx
作者: littledavid    时间: 2012-11-26 09:17
你说的是在第一级的latch底部,加一个always on的nmos管子么?
回复 14# cyydx
作者: cyydx    时间: 2012-11-26 09:54
是的,在其它论文中看到加了,但主要是说对速度有影响
作者: littledavid    时间: 2012-11-27 06:55
回复 17# cyydx

我觉得不仅仅是速度吧。可以看那篇2000年的jssc原文,主要是避免clk high期间input多次变化产生影响。

我猜,可能是他的博士论文里面少画了一个这个nmos管子,离开这个管子应该不工作才对。。。
作者: cyydx    时间: 2012-11-27 17:23
回复 18# littledavid


我觉得不加这个管子,只要CLK跳变为高电平,得到输出结果之后,输出也不再会对之后的输入响应了,因为相应的交叉耦合的NMOS管被关死了
作者: littledavid    时间: 2012-11-28 01:44
回复 19# cyydx

我觉得这个结构很有意思,如果没有那个always on的nmos的话,latch是没有形成的,因为交叉耦合的nmos没有共地。因此你说的被锁定可能也就不存在。

我想着可能也就是为啥你之前仿真不对的原因。
   

分析归分析,回头有空我做个仿真试试吧。
作者: ygchen2    时间: 2012-11-28 06:51
本帖最后由 ygchen2 于 2012-11-28 07:01 编辑

有个PPT讲了一些LATCH和FLOP,相信有参考价值,slides#21,22应该就是LZ所用电路。
SAFF设计是个细活,好像那里也没细讲,记得需要分成三个完全不同的过程去了解,reset,regeneration和decision. 有兴趣自己分析一下看看。你原来的电路无法reset,所以不可能对,会看到很大的hysteresis。 要做好,需要知道哪些参数对那个过程有影响,不同过程需要权衡从而做出好的设计。
作者: andyseu    时间: 2013-2-3 10:08
正在搞saff,学习以下
作者: semico_ljj    时间: 2013-2-3 19:40

作者: ejsdljp    时间: 2013-12-30 14:50
正在搞saff,学习以下
作者: cyydx    时间: 2013-12-31 12:01
一年前做的了。虽说解决了,但原理后来想想还是不很清楚。本想有空再仔细琢磨琢磨,就给忘了...有时间再想想吧
作者: ably    时间: 2014-3-20 06:02
THAKS!!!!
作者: JoyShockley    时间: 2014-12-5 15:39
回复 13# cyydx


    的确,那个管子 always-on的管子在 传统的SAFF里面都有大的作用,结果R B 的ADPLL 书里面把这个重要的管子忽略了,诶。

    后来做ADPLL 的还是参考这篇原论文设计SAFF吧。
    Nikolic, B (UCB), “Improved Sense-Amplifier-Based Flip-Flop: Design and Measurements,” JSSC 2000.
    ( , 下载次数: 170 )
作者: JoyShockley    时间: 2014-12-5 17:42
回复 19# cyydx


    Rabaey, J M, 的 Digital Integrated Circuits 中有对这个管子的解释,

    主要就是消除灵敏放大器高电平期间的高阻点,使得漏电不会在高阻点上积累电荷
作者: 魂断IC    时间: 2015-2-3 14:04
谢谢楼主分享
作者: vikinglan    时间: 2015-4-22 09:47
回复 4# cyydx

学习了,标记一下
作者: hzx85337856    时间: 2015-6-28 18:34
版主真心博学啊!
作者: socratesfu    时间: 2015-10-24 15:11
跟着学习学习
作者: 122013137    时间: 2015-11-3 14:24
甚至几个us后,Sb又被拉回高电平
作者: hzx85337856    时间: 2015-11-15 15:04
敢问楼主仿真的频率是多少呢?
作者: hqsz    时间: 2019-1-2 10:23
谢谢分享,学习中
作者: 122013137    时间: 2019-1-2 10:30
试着增加过尾电流、Mn3和Mn4
作者: aimu_wl    时间: 2021-5-27 18:10
学习
作者: zdl1986    时间: 2022-11-28 20:06
学习了,谢谢楼主,很认真很细致
作者: byrd2010    时间: 2022-12-1 20:50
学习了

作者: Candydarte    时间: 2023-3-19 19:49
kkkkkkkkkkkkk
作者: chenchenxi0217    时间: 2025-7-9 16:38


   
cyydx 发表于 2012-11-16 10:53
哈哈!一周了,终于把这个问题解决了,加一个管子一切都OK


求助大佬,想问一下你现在的SAbased DFF的setup time和hold time现在是大概多少?我在55nm下的setup + hold只实现了13ps的水平。





欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) Powered by Discuz! X3.5