0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

到底什么是建立時間/保持時間?

冬至子 ? 來源:數(shù)字設計課堂 ? 作者:kamilyc ? 2023-06-27 15:43 ? 次閱讀

在時序電路設計中,建立時間/保持時間可以說是出現(xiàn)頻率最高的幾個詞之一了,人們對其定義已經耳熟能詳,對涉及其的計算(比如檢查時序是否正確,計算最大頻率等)網上也有很多。但拋開這些表面,建立時間/保持時間到底是如何產生的,了解的人卻不是很多。本篇文章就透過現(xiàn)象看本質,打開觸發(fā)器的“黑盒子”,來了解一下到底什么是建立時間/保持時間。

01

先來看一下建立時間/保持時間的定義:

建立時間(setup time):觸發(fā)器的時鐘信號上升沿到來以前,數(shù)據(jù)需要保持穩(wěn)定的時間。

保持時間(hold time):觸發(fā)器的時鐘信號上升沿到來之后,數(shù)據(jù)需要保持穩(wěn)定的時間。

值得注意的是,建立/保持時間的概念是針對觸發(fā)器的特性來說的。但是不僅觸發(fā)器有建立/保持時間,鎖存器也有,而且觸發(fā)器的建立/保持時間還是基于鎖存器的特性得來的。為此,先來了解一下鎖存器。

圖片

圖1 鎖存器的符號表示

典型的鎖存器如圖1所示,包括三個端口:數(shù)據(jù)輸入端D,使能輸入端G和數(shù)據(jù)輸出端Q。當使能端為高電平時,輸出Q隨輸入D變化;當使能端為低電平時,輸出保持不變。鎖存器的時序如圖2所示。

圖片

圖2 鎖存器的時序特性

在使能端由高電平向低電平變化過程中,為了使鎖存器正確鎖存住數(shù)據(jù),需要對輸入數(shù)據(jù)的時間加以約束,因此便有了鎖存器的建立時間和保持時間,即圖2中的T_setup 和T_hold 。鎖存器的這兩個時序特性定義跟觸發(fā)器很相似,不同的是在鎖存器上這兩個時序約束條件發(fā)生在使能端由高電平向低電平轉化時。圖2中的T_dGQ為使能端到輸出端的延時。

鎖存器在使能信號為高電平時相當于透明,而如何組合鎖存器,使其變成只在使能信號邊沿鎖存數(shù)據(jù)的觸發(fā)器呢?答案是兩個鎖存器串聯(lián)。如圖3(a)所示,串聯(lián)的前一個鎖存器使能端為低電平觸發(fā)(即反向使能),稱為主鎖存器,后一個鎖存器稱為從鎖存器。在clk為低電平時,使能主鎖存器,主鎖存器的輸出信號m隨輸入d變化,此時因為從鎖存器未被使能,所以輸出信號q無變化;在clk從低電平變?yōu)楦唠娖綍r,m采樣輸入信號d并且保持,與此同時從鎖存器打開,輸出端輸出被主鎖存器鎖存的信號值。觸發(fā)器的符號表示如圖3(b)。

圖片

圖3 (a)兩個鎖存器組成的觸發(fā)器 (b)觸發(fā)器符號表示

為了進一步了解主從鎖存器的工作原理,示例的波形圖如圖4所示??梢钥吹?,當clk為低時,m跟隨d變化;當clk由低變高,主鎖存器鎖存輸入值,中間m停止變化,此時從鎖存器打開,經過一段延遲后將中間信號送至輸出。

圖片

圖4 兩個鎖存器組成的觸發(fā)器時序波形

為了不引起混淆,圖4在重畫的波形圖上給出觸發(fā)器的時序特性表示。其中T_dCQ為觸發(fā)器從clk端到Q端的延遲。需要注意的是,在clk上升后到Q端穩(wěn)定以前,Q端可能會變化多次,T_dCQ 則是取從clk變化到穩(wěn)定輸出之間的延遲。

圖片

圖5 觸發(fā)器的時序特性表示

鎖存器的時序特性和觸發(fā)器的時序特性該如何對應呢?仔細一想就會得到答案:觸發(fā)器的建立時間和保持時間其實就是主鎖存器的建立時間和保持時間,而觸發(fā)器的clk到q端的延遲T_dCQ就是從鎖存器的延遲T_dGQ。

到這里我們已經打開了觸發(fā)器的第一層“黑盒子”,但是建立時間和保持時間究竟是如何產生的呢?這就需要打開第二層“黑盒子”——觸發(fā)器的門電路表示。

02

構成鎖存器的電路多種多樣,這里我們選擇使用傳輸門和三態(tài)門構建的CMOS鎖存器,電路如圖6所示。

圖片

圖6 鎖存器電路

當G為高電平時,傳輸門Ug打開,信號從D端輸入,經過Ug、U2、U4到達輸出端Q,此時三態(tài)反相器為關閉狀態(tài);當G端變?yōu)榈碗娖綍r,傳輸門關閉,U3打開,此時U2、U3構成雙穩(wěn)態(tài)器件將輸入信號保持,輸出端Q也穩(wěn)定輸出雙穩(wěn)態(tài)器件保持的信號。

現(xiàn)在來探討鎖存器的建立時間和保持時間。在G為高電平時,輸入D變化后為了能輸出正確的值,存儲器——即雙穩(wěn)態(tài)器件必須存儲到正確的輸入值。這意味著要想使輸出正確,在G下降前輸入值必須經過U2。由此得出建立時間

T_setup = Tg + T2

其中Tg和T2分別為傳輸門和反相器U2的延遲。

當G變?yōu)榈碗娖胶?,輸入值需要在傳輸門關閉之前保持不變,否則輸入值就會穿過傳輸門,從而無法鎖存正確的值。傳輸門的關閉信號需要經過U1,所以得出保持時間

T_hold = T1

其中T1為反相器U1的延遲。

接下來算一下T_dGQ。G由高變低后,G的變化經過反相器U1到達傳輸門Ug,使傳輸門關閉,輸入的信號再經過Ug、U2、U4到達輸出端。所以

T_dGQ = T1 + Tg + T2 + T4

從輸入端到輸出端,信號經過了Ug、U2、U4,所以輸入到輸出的延遲

T_dDQ = Tg + T2 + T4

因為在觸發(fā)器中T_dDQ意義不大,所以在此也不做過多贅述。

有了單個鎖存器的基礎,接下來進行觸發(fā)器的探討也會變得容易很多。

03

由第一段分析可知,觸發(fā)器是由兩個鎖存器串聯(lián)而組成的,由傳輸門和三態(tài)反相器構成的觸發(fā)器如圖7所示:

圖片

圖7 觸發(fā)器電路

可以看到在觸發(fā)器電路中,Ug1、U2、U3構成了主鎖存器,Ug2、U4、U5構成了主鎖存器。為了更直觀的展示觸發(fā)器的原理,將圖7中的時鐘信號用彩色的連線代替,得到圖8:

圖片

圖8 觸發(fā)器的原理圖的直觀表示

在圖8中,主鎖存器和從鎖存器分別用虛線框出,紅色連線為clk信號,藍色連線為經過反相器U1后的clk信號。

觸發(fā)器的建立時間和保持時間與主鎖存器的相同:

T_setup = Tg1 + T2

T_hold = T1

觸發(fā)器的clk到Q端延遲則為從鎖存器的延遲,分析方法與鎖存器的分析方法相同:

T_dCQ = T1 + Tg2 + T4
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 反相器
    +關注

    關注

    6

    文章

    309

    瀏覽量

    43198
  • 時序電路
    +關注

    關注

    1

    文章

    114

    瀏覽量

    21672
  • 鎖存器
    +關注

    關注

    8

    文章

    904

    瀏覽量

    41420
  • 門電路
    +關注

    關注

    7

    文章

    199

    瀏覽量

    40100
  • 觸發(fā)器
    +關注

    關注

    14

    文章

    1995

    瀏覽量

    61011
收藏 人收藏

    評論

    相關推薦

    靜態(tài)時序之建立時間保持時間分析

    靜態(tài)時序分析包括建立時間分析和保持時間分析。建立時間設置不正確可以通過降低芯片工作頻率解決,保持時間
    的頭像 發(fā)表于 08-22 10:38 ?4137次閱讀

    芯片設計進階之路—從CMOS到建立時間保持時間

    建立時間(setup time)和保持時間(hold time)是時序分析中最重要的概念之一,深入理解建立時間保持
    發(fā)表于 06-21 10:44 ?1674次閱讀
    芯片設計進階之路—從CMOS到<b class='flag-5'>建立時間</b>和<b class='flag-5'>保持</b><b class='flag-5'>時間</b>

    FPGA時序分析-建立時間保持時間裕量都是inf怎么解決呢?

    今天有個小伙伴遇到一個問題,就是在vivado里面綜合后看到的建立時間保持時間裕量都是inf,我們來看看怎么解決這個問題。
    發(fā)表于 07-30 10:26 ?1222次閱讀
    FPGA時序分析-<b class='flag-5'>建立時間</b>和<b class='flag-5'>保持</b><b class='flag-5'>時間</b>裕量都是inf怎么解決呢?

    建立時間保持時間討論

    本帖最后由 虎子哥 于 2015-3-12 21:24 編輯 建立時間(Setup Time):是指在觸發(fā)器的時鐘信號上升沿到來以前,數(shù)據(jù)穩(wěn)定不變的時間,如果建立時間不夠,數(shù)據(jù)將不能在這個時鐘
    發(fā)表于 03-10 23:19

    FPGA實戰(zhàn)演練邏輯篇51:建立時間保持時間

    建立時間保持時間本文節(jié)選自特權同學的圖書《FPGA設計實戰(zhàn)演練(邏輯篇)》配套例程下載鏈接:http://pan.baidu.com/s/1pJ5bCtt 在這個波形中,我們看到clk_r3的前后
    發(fā)表于 07-17 12:02

    PLL jitter 對建立時間保持時間有什么樣的影響?哪位大神給解答下

    PLL jitter 對建立時間保持時間有什么樣的影響?哪位大神給解答下
    發(fā)表于 10-30 11:16

    什么叫建立時間,保持時間,和恢復時間

    什么叫建立時間,保持時間,和恢復時間
    發(fā)表于 04-08 16:52

    保持時間建立時間

    如圖,建立時間保持時間都是針對的時鐘沿,如圖所示,時鐘沿有一個上升的過程,圖中虛線與clk上升沿的交點是什么?幅值的50%?還是低電平(低于2.5V)往高電平(高于2.5V)跳轉的那個點?
    發(fā)表于 11-29 00:20

    數(shù)字 IC 筆試面試必考點(9)建立時間以及保持時間 精選資料分享

    建立時間(Setup Time)是指觸發(fā)器的時鐘信號上升沿到來之前,數(shù)據(jù)保持穩(wěn)定不變的時間。  輸入信號應該提前時鐘上升沿(如上升沿有效)Tsu時間到達芯片,這個 Tsu就是
    發(fā)表于 07-26 07:36

    為什么觸發(fā)器要滿足建立時間保持時間

    什么是同步邏輯和異步邏輯?同步電路和異步電路的區(qū)別在哪?為什么觸發(fā)器要滿足建立時間保持時間?什么是亞穩(wěn)態(tài)?為什么兩級觸發(fā)器可以防止亞穩(wěn)態(tài)傳播?
    發(fā)表于 08-09 06:14

    為什么觸發(fā)器要滿足建立時間保持時間

    什么是同步邏輯和異步邏輯?同步電路和異步電路的區(qū)別在哪?為什么觸發(fā)器要滿足建立時間保持時間?
    發(fā)表于 09-28 08:51

    數(shù)字IC設計中的建立時間保持時間

    ??本文主要介紹了建立時間保持時間。
    的頭像 發(fā)表于 06-21 14:38 ?2413次閱讀
    數(shù)字IC設計中的<b class='flag-5'>建立時間</b>和<b class='flag-5'>保持</b><b class='flag-5'>時間</b>

    SOC設計中的建立時間保持時間

    建立時間保持時間是SOC設計中的兩個重要概念。它們都與時序分析有關,是確保芯片正常工作的關鍵因素。
    的頭像 發(fā)表于 08-23 09:44 ?896次閱讀

    PCB傳輸線建立時間保持時間、建立時間裕量和保持時間裕量

     信號經過傳輸線到達接收端之后,就牽涉到建立時間保持時間這兩個時序參數(shù),它們表征了時鐘邊沿觸發(fā)前后數(shù)據(jù)需要在鎖存器的輸入持續(xù)時間,是接收器本身的特性。簡而言之,時鐘邊沿觸發(fā)前,要求數(shù)
    發(fā)表于 09-04 15:16 ?790次閱讀
    PCB傳輸線<b class='flag-5'>建立時間</b>、<b class='flag-5'>保持</b><b class='flag-5'>時間</b>、<b class='flag-5'>建立時間</b>裕量和<b class='flag-5'>保持</b><b class='flag-5'>時間</b>裕量

    關于建立時間保持時間的測量方法

    文件提到兩種setup/hold測量方式:10% push-up和pass/fail,按照TSMC說法,前者會更樂觀一些,因此如果是采用前者(10% push-up)的測量方式得到建立時間保持時間,需要十份小心時序裕量是否足夠
    的頭像 發(fā)表于 12-05 11:19 ?1648次閱讀
    關于<b class='flag-5'>建立時間</b>和<b class='flag-5'>保持</b><b class='flag-5'>時間</b>的測量方法