Lockup latch的用法,看這個就夠了!

2021-03-02 吾愛IC社區

本公眾號秉承「越分享越有價值,越分享越幸運」的理念,致力於數字IC後端實現方面(涉及邏輯綜合,布局布線,靜態時序分析,物理驗證等)的技術經驗交流和分享。目前短期計劃是每周更新兩篇技術乾貨分享,年度目標是實現2018年度發表100+篇技術原創文章。

同時,小編也開通了知識星球,滿足部分粉絲特別的需求(比如平時技術上或者職業規劃等方面有比較多的困惑)。歡迎有興趣的朋友加入。另外明天星球上會發布高性能CPU模塊的設計實現教程。

吾愛IC社區公眾號之前推送過一篇文章,簡單分享過LOCKUP LATCH的概念及其應用。今天將帶大家深入來了解Lockup latch實際的應用。

聽說Latch可以高效修hold違例(Timing borrowing及其應用)

如下圖所示,DOMAIN1和DOMAIN2分別為兩個clock domain,在func mode下兩個domain不存在相互交互的path。因此,在做時鐘樹綜合(CTS)時,會各自獨立長clock tree,即他們之間的clock latency可能存在較大的差異。在func模式下不會有任何問題。

但是,在做DFT的時候,我們將DOMAIN1和DOMAIN2的寄存器串在一條鏈上了。在scan shift時是有問題的。他們之間是需要做hold check(比如DOMAIN2的clock latency比較長)。對應的setup和hold檢查波形圖如下圖所示。從波形圖中得知,hold violation比較大。為了解決這個較大的hold violation,需要在DOMAIN1和DOMAIN2之間插入LOCKUP LATCH,從而改善較大的hold violations。

Positive or Negative Level Latch?

       這種情況需要加一個低電平傳輸的Lockup Latch。也是最常見的case。

       這種情況無需加Lockup Latch。

        這種情況需要加一個高電平傳輸的Lockup Latch。

        這種情況留給各位思考,自己畫波形圖就可以知曉

深入淺出講透set_multicycle_path,從此徹底掌握它

這裡以第一種情況為例(即Launch flipflop和capture flipflop均是正沿觸發的情況)。通過以上的分析得知,需要在這兩個domain之間加Lockup latch,才能夠顯著減少hold violations。那麼問題來了,這個Lockup latch應該加在靠近Domain1,還是靠近Domain 2?

將Lockup latch加在靠近Domain2中後的簡易電路結構如下圖所示。由於時鐘樹綜合階段工具會做將 Lockup latch和Domain2中的寄存器做balance,因此clock skew會比較小,這裡假設skew為0。對應的setup和hold檢查波形如下圖所示。

從波形圖中得知,Domain1中的DFF到Lockup latch的並沒有改善(與之前Domain1中DFF和Domain2中DFF的hold一樣大)。因此,這種Lockup latch加的方式是不正確的。

將Lockup latch加在靠近Domain1中後的簡易電路結構和波形圖如下圖所示。

從波形圖得知,Domain1中的DFF到Lockup latch的hold明顯得到了改善。同樣Lockup latch到Domain2中的DFF的hold也沒有問題。雖然setup檢查變嚴格了,但是由於scan模式下,scan clock 是低速的。所以setup也沒有問題。

眾所周知,傳統修hold violation的方法就是插buffer。理論上當你的hold violations比較大的情況,都可以採用insert Lockup latch的方法來解決(Func下慎重,需要確認不影響邏輯功能)。比如在某個endpoint點存在1ns hold violation,此時你可能需要在這個endpoint上插幾十個甚至上百個hold buffer。這種方式解決hold violation存在以下幾方面的弊端。

Hold buffer太多,可能導致routing congestion問題

Hold buffer太多,可能導致power consume問題

由於large skew和OCV效應,timing在各個corner下variation會比較大,容易導致setup和hold衝突

關於setup和hold衝突的解法方法,會推送在小編的知識星球上。有需要的可以關注起來。

Clock skew特別大,往往是由於前端設計時,時鐘結構規劃不合理導致的。比如scan clock和func clock太早分開。一方面可以通過前期更改時鐘電路結構。另一方面可以後期Timing fixing階段通過ECO方式加入Lockup latch。關於如何做這種ECO留給各位思考,其實很簡單。

在吾愛IC社區之前推送的關於時鐘樹綜合的分享中,提到想得到一個比較好的,比較小的clock skew,一定要將uncommon clock path做到最短。Uncommon clock path越長,受OCV的影響越大,不同corner下variation越大,hold越不好收斂。

數字後端設計實現之時鐘樹綜合實踐篇

小編知識星球簡介:

在這裡,目前已經規劃並正著手做的事情:

在這裡,各位可以提問(支持匿名提問,提問從此不再害羞),小編會在24小時內給予解答(也可以發表你對數字後端設計實現中某個知識點的看法,項目中遇到的難點,困惑或者職業發展規劃等)。

反正它是一個縮減版的論壇,增強了大家的互動性。更為重要的是,微信有知識星球的小程序入口。星球二維碼如下,可以掃描或者長按識別二維碼進入。目前已經有十八位星球成員,感謝這十八位童鞋的支持!歡迎各位鐵桿粉絲加入!(星球的門檻將越來越高,成員滿20後,由目前的128元調整為168元

相關文章推薦(不看保證後悔)

深度解析Create_clock與Create_generated_clock的區別

盤點數字後端設計實現用到的各種文件

clock jitter是否對hold time有影響?(文末有福利)

為什麼時鐘樹上要用clock inverter(min pulse width check)

LVS 就是這麼簡單!(數字後端物理驗證篇)

揭秘為何net delay是負值(數字後端實現時序篇)

PBA(Path Base Analysis)想說愛你不容易(靜態時序分析基礎篇)

一網打盡時鐘樹綜合Clock Skew

數字後端設計實現之時鐘樹綜合實踐篇

【驚呆了!】你居然還在用flatten方式進行timing signoff

數字後端面試問答No.16-18

合理的時鐘結構能夠加速Timing收斂(時鐘樹綜合中級篇)

數字後端面試問答No.13-15(每日三問)

【機密】從此沒有難做的floorplan(數字後端設計實現floorplan篇)

數字後端面試問答No.10-12(每日三問)

數字後端面試問題No.7-9(每日三問)

聽說Latch可以高效修hold違例(Timing borrowing及其應用)

15天零基礎入門到精通python-最全的視頻教程

數字後端面試問答No.4-6(每日三問)

IR Drop分析之Redhawk分析流程

CRPR能補償crosstalk嗎?

原來電路最高工作頻率是這麼算出來的(STA基礎篇)

數字後端面試問答No.1-3(每日三問)

秒殺數字後端實現中clock gating使能端setup violation問題

教你輕鬆調DCT和ICC之間Timing與Congestion的一致性

數字晶片設計實現中修復setup違例的方法匯總

數字IC設計中ECO的那些事,其實並不是事!

Scan chain reordering 怎麼用你知道嗎?

如何評價數字後端設計中floorplan的好壞?

數字後端實現時congestion比較嚴重,你hold得住嗎?

數字後端實現place過程進階

Final netlist release前,你應該做好哪些工作?

基於Physical Aware的動態功耗優化實現方案

深入淺出講透set_multicycle_path,從此徹底掌握它

【大師必備】最全的數字IC設計經典書籍電子版下載

你與數字後端大神的差距在這裡,快來瞧瞧!

數字後端實現時congestion比較嚴重,你hold得住嗎?

時鐘樹綜合(clock tree synthesis)基礎篇

【福利】數字IC後端各種Userguide下載


好了,今天的碼字就到這裡了,原創不容易,喜歡的可以幫忙轉發和讚賞,你的轉發和讚賞是我不斷更新文章的動力。小編在此先謝過!與此同時,吾愛IC社區(52-ic.com)也正式上線了。吾愛IC社區(52-ic.com)是一個專業交流和分享數字IC設計與實現技術與經驗的IC社區。如果大家在學習和工作中有碰到技術問題,歡迎在微信公眾號給小編留言或者添加以下幾種聯繫方式進行提問交流。



打賞的朋友,請長按下方二維碼,識別小程序進行打賞,歡迎砸錢過來!小編晚飯能不能加個雞腿,全靠它了,呵呵!


作者微信:

相關焦點

  • 您知道lock up是什麼意思嗎?
    說到lock這個單詞,我們都知道的意思是鎖,可以做動詞,也可以做名詞。今天,我們就一起看一下lock的用法。首先,我們看一下lock做名詞的用法。1、She turned the key in the lock.她轉動鎖眼裡的鑰匙。這句話中lock的意思是鎖、鎖頭。2、I had the steering wheel on full lock.我把方向盤轉到了底。這句話中lock的意思是(汽車等) 前輪轉向角度。
  • Linux內核為什麼會發生soft lockup?
    [kworker/3:0:32]這個幾乎和panic,oops並列,也是非常難以排查甚至比panic更麻煩。至少panic之後你可以去分析一個靜態的屍體,然而soft lockup,那是一個動態的過程,甚至轉瞬即逝,自帶自愈功能。
  • Lockup or lockdown? 禁閉
    Reader question:Coronavirus lockup or coronavirus lockdown, which is correct?Same thing in the case of lockup or lockdown. Both literally mean fastening the door or gate to a place using a lock.
  • 英語語法:多義短語turn up的用法
    >異同之處:turn up表示「調高」時,後面要跟表示電視、收音機或者音量之類的名詞作賓語,表示「出現,露面,來到」時,一般要單獨使用,後面不跟任何賓語。 例2:The thief didn’t turn up until eight o』clock.小偷直到8點才出現。
  • 您知道lock是什麼意思嗎?
    說到lock這個單詞,我們都知道的意思是鎖、鎖住。既可以做名詞,也可以做動詞。今天,我就一起看一下lock做動詞的用法。首先,我們看一下lock做名詞的用法。這句話中locked是lock的過去式,意思是把…鎖起來。3、He locked his helmet into position with a click.他喀噠一聲把頭盔扣好。這句話中locked是lock的過去式,意思是(使)固定、卡住、塞住。
  • 英語be up to 的用法小結
    英語短語 be up to 是一個非常常用的詞組,今天我們一起學習一下它的幾個用法。用法1: 表達「是…的職責,由…來決定」。常用 it’s up to somebody to do something.
  • Pick up 的三種用法
    動詞短語 「pick up」 有 「撿起、拾起(某物)」 的意思。但你知道嗎,它還可以用來指 「買東西」 、「得病」?看視頻,用一分鐘時間學習 「pick up」 的三個常見用法。Pick upis a phrasal verb. This means it is a verb (pick) followed by a particle (up).
  • 英語語法:短語light up,link up的用法​
    257.light up照亮用法:light up也可以表示「容光煥發,面露喜色」;其後一般接表示物的名詞。 例句:A candle is not enough to light up the whole room.
  • Java中synchronized鎖和lock鎖的比較
    所謂的顯式鎖和隱式鎖的區別也就是說說Synchronized(下文簡稱:sync)和lock(下文就用ReentrantLock來代之lock)的區別。本文主要內容:將通過七個方面詳細介紹sync和lock的區別。
  • 英語live up to 的用法
    今天我們一起來學習一個非常有用的詞組:live up to。這個詞組的意思是「不辜負;符合」,表示達到了一個特定的標準。下面我們通過幾個例句來學習一下它的用法。例句1:This car will live up to all your expectations if you buy it.如果你買了這輛車,它將會滿足你所有的使用要求的。例句2:She found it hard to live up to his high ideals.她覺得很難達到他的高標準要求。
  • In "lockstep"?
    However, the "lock" in lockstep or lock stepping is real.And when those prisoners walked, they walked in lock step, literally.
  • 英語cough up 的用法
    英語中,cough up 是一個很有意思的詞組,字面有咳嗽的意思,引申卻是「被迫付出」的意思。表達的是不得不付出一定的金錢,帶有勉強的色彩。可能這個意思大家會覺得很奇怪,今天我們通過幾個例句來學習一下它的用法。
  • Linux內核同步機制之(四):spin lock
    先看最簡單的單CPU上的進程上下文的訪問。如果一個全局的資源被多個進程上下文訪問,這時候,內核如何交錯執行呢?對於那些沒有打開preemptive選項的內核,所有的系統調用都是串行化執行的,因此不存在資源爭搶的問題。如果內核線程也訪問這個全局資源呢?
  • 英語bottle up 的用法
    英語中,bottle up 是一個很有趣的詞組,裝到瓶子裡面,其引申意思是「壓抑情感;克制」,表達是對情感的一種壓抑。今天我們一起通過幾個例句來學習一下它的用法。例句1:Don't bottle up your anger; Let it out.
  • 一文搞懂 CountDownLatch 用法和源碼!
    順著這個場景,你自己就可以延伸、拓展出來很多其他任務場景。CountDownLatch 用法下面我們通過一個簡單的計數器來演示一下 CountDownLatch 的用法public class TCountDownLatch {
  • Latch up Rule中的阻擋問題
    在Latch up Rule的檢查中,經常遇到阻擋檢查。所謂隔離(阻擋)檢查就是檢查在 layer1和layer2之間必須有layer3將其隔離(或阻擋)。如下圖所示:中間的圖形是一個layer,上下的圖形是另外一個layer,這2個layer必須被某個layer隔離或者阻擋才符合DRC規則。
  • 「Pick up」 的三種用法
    So, we can pick up languages, pick up some milk, and pick up a cold.用法總結Pick up is a phrasal verb.動詞短語由一個動詞 (pick) 和一個小品詞 (up) 構成。動詞短語的用法較難掌握,因為根據上下文的變化,它們所表達的意思也會隨之發生改變。
  • 英語come up against 的用法
    英語中, come up against 是一個很有用的詞組,意思是「遇到;遭遇」等,常表達與問題、意見等相關的遭遇。今天我們通過幾個例句來體會一下這個詞組的用法。例句1:They expected to come up against a lot of opposition to the plan.他們預料這個計劃會遭到很多人的反對。
  • had better用法大全,你不得不看!
    had better用法大全1. 意思是「應該;最好」;You had better study hard for your entrance exam.3.其用法相當於情態動詞,動詞 had 沒有人稱或數的變化。She』d better get here soon or she』ll miss the opening ceremony.
  • pick up 的三種用法
    嗨,我是BBC英語學習欄目的KeeoToday I'm going to tell you three different ways of using the phrasal verb pick up.今天我將告訴你動詞短語 pick up的三種用法。