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

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

3天內不再提示

時序邏輯電路的建立,保持時間裕量分析

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-09-10 10:45 ? 次閱讀

時序邏輯電路的建立,保持時間裕量分析

Verilog里,時序邏輯電路即表示如下圖所示的電路。前后兩級寄存器之間有一個組合邏輯運算電路。

假設寄存器的建立時間要求為tsetup, 保持時間要求為thold, 輸出延時為tcq。

故對于第一個寄存器,時鐘上升沿之后,經(jīng)過時間tcq數(shù)據(jù)才從Q端輸出。波形圖示如下。

假設組合邏輯運算電路的運算耗時為tlogic。故運算后的數(shù)據(jù)在時鐘上升沿之后經(jīng)過時間tcq+tlogic才到達下一級寄存器的D端,圖示如下。

那么對于下一級寄存器在接下來到來的時鐘上升沿采集數(shù)據(jù),其必須要滿足建立保持時間要求。

建立時間:既數(shù)據(jù)D至少需要提前于clk上升沿多長時間到來,數(shù)據(jù)的采集才不會出錯。

從上述分析可得數(shù)據(jù)D提前于clk上升沿的時間為 tcycle-(tcq+tlogic)。

其中tcycle為時鐘周期。

如果tcycle-(tcq+tlogic) >tsetup 那么建立時間要求就得到了滿足。一般稱tcycle-(tcq+tlogic) -tsetup 為建立時間裕量,為保證建立時間滿足要求,裕量必須要大于0。

當然上述情況還忽略了時鐘的延遲,即默認前后兩級寄存器的clk都是同時到達。如果時鐘存在正延時,即時鐘的傳播方向與數(shù)據(jù)傳播方向一致,即電路如下圖所示。clk從第一級到后一級寄存器的線路延時為tclk_delay。

從而對應的時序如下。針對于下一級的寄存器來說,相當于建立時間裕量增加了tclk_delay,即建立時間裕量為tcycle-(tcq+tlogic) -tsetup+tclk_delay。這種情況對于建立時間是有好處的。

相反,如果時鐘存在反向延時,即時鐘的傳播方向與數(shù)據(jù)傳播方向相反,那么對于建立時間是不利的。此時的建立時間裕量為tcycle-(tcq+tlogic) -tsetup-tclk_delay。大家可自行畫時序圖分析,當作練習。

從上述對建立時間裕量的分析,可以發(fā)現(xiàn),從前端設計的角度去分析,優(yōu)化建立時間裕量可以靠減少兩級寄存器之間的組合邏輯的延時去增大建立時間裕量。后面會有文章去根據(jù)示例來介紹優(yōu)化方法,其中流水線設計就是一種優(yōu)化方式。

保持時間(thold):就是時鐘上升沿之后,數(shù)據(jù)D還需要維持多長時間不變,寄存器對數(shù)據(jù)的采集才不會出錯。還是對下面這個電路模型進行分析。

對于后一級寄存器來說,時鐘上升沿之后,后一級D端的數(shù)據(jù)要得到改變,必須是上一級的數(shù)據(jù)Q輸出了,并通過組合邏輯運算電路的延時,送到了D端。故在時鐘上升沿之后,數(shù)據(jù)要經(jīng)過時間tcq+tlogic才到達下一級寄存器的D端,故每次時鐘上升沿之后,后一級寄存器的數(shù)據(jù)D可以維持不變的時間為tcq+tlogic。那么保持時間裕量為tcq+tlogic-thold。時序見下圖。

從這可以看出,時序邏輯電路里面tlogic越大,對建立時間裕量不利,但對保持時間裕量有利。

同樣,再考慮存在時鐘延時對保持時間的影響。如下電路,即時鐘存在正延時時。

分析后一級寄存器的保持時間裕量時,對應的時序變成如下。可以看到,相當于前級寄存器的clk比下一級寄存器的clk提前了tclk_delay時間,故數(shù)據(jù)D2提前到來了。保持時間裕量變成了tcq+tlogic-thold-tclk_delay。

可以看到時鐘正向延時對建立時間要求有利,但對于保持時間要求是不利的。對于時鐘反向延時,大家自行畫圖分析。

上面還有一個因素沒有說明,就是時鐘clk的抖動。因為時鐘上升沿不可能每次都固定間隔時間tcycle到來一次??赡芘c這個時間有一個小小的偏差,但是不確定是提前到來還是延遲到來。這個偏差的時間為tjitter。如果考慮這個因素,建立時間與保持時間裕量都還要減掉這個抖動時間。故最終的建立時間與保持時間裕量計算公式入下(其中的tclk_delay為時鐘正向延時):

建立時間裕量 tsetup_slack =tcycle-(tcq+tlogic) -tsetup+tclk_delay-tjitter

保持時間裕量 thold_slack =tcq+tlogic-thold-tclk_delay-tjitter

到這大家明白了,建立時間裕量與保持時間裕量就是一對矛盾的關系,我們需要通過優(yōu)化時鐘延時,組合邏輯延時來折中考慮這兩個裕量。在裕量不滿足要求時,可以選擇增大時鐘clk的周期,但這就降低了電路的運行速度。從而就要考慮時序優(yōu)化,從前端考慮也就是兩級寄存器之間的組合邏輯延時優(yōu)化,比如簡化組合邏輯,或者通過流水線設計,后面會通過實例介紹。

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

    關注

    13

    文章

    494

    瀏覽量

    42632
  • 寄存器
    +關注

    關注

    31

    文章

    5343

    瀏覽量

    120437

原文標題:時序邏輯電路的建立,保持時間裕量分析

文章出處:【微信號:LF-FPGA,微信公眾號:小魚FPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    靜態(tài)時序分析包括建立時間分析保持時間分析。
    的頭像 發(fā)表于 08-22 10:38 ?4301次閱讀

    fpga時序邏輯電路分析和設計

    fpga時序邏輯電路分析和設計 時序邏輯電路的結構及特點時序
    發(fā)表于 06-20 11:18

    同步時序邏輯電路

    同步時序邏輯電路:本章系統(tǒng)的講授同步時序邏輯電路的工作原理、分析方法和設計方法。從同步時序
    發(fā)表于 09-01 09:06 ?0次下載

    異步時序邏輯電路

    異步時序邏輯電路:本章主要從同步時序邏輯電路與異步時序邏輯電路狀態(tài)改變方式不同的特殊性出發(fā), 系
    發(fā)表于 09-01 09:12 ?0次下載

    時序邏輯電路

    數(shù)字邏輯電路邏輯功能和電路組成的特點可分為組合邏輯電路時序邏輯電路兩大類。
    發(fā)表于 08-10 11:51 ?39次下載

    時序邏輯電路分析方法

    時序邏輯電路分析方法 1. 時序邏輯電路的特點 在時序
    發(fā)表于 04-07 23:18 ?8767次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>邏輯電路</b>的<b class='flag-5'>分析</b>方法

    時序邏輯電路分析實例

    時序邏輯電路分析實例 例1 分析圖所示電路邏輯功能。設起始狀態(tài)是
    發(fā)表于 04-07 23:20 ?4633次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>邏輯電路</b><b class='flag-5'>分析</b>實例

    時序邏輯電路分析與設計

    電子專業(yè)單片機相關知識學習教材資料之時序邏輯電路分析與設計
    發(fā)表于 09-02 14:30 ?0次下載

    時序邏輯電路的主要故障分析

    時序邏輯電路其任一時刻的輸出不僅取決于該時刻的輸入,而且還與過去各時刻的輸入有關。常見的時序邏輯電路有觸發(fā)器、計數(shù)器、寄存器等。由于時序
    發(fā)表于 04-09 16:00 ?6358次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>邏輯電路</b>的主要故障<b class='flag-5'>分析</b>

    組合邏輯電路時序邏輯電路比較_組合邏輯電路時序邏輯電路有什么區(qū)別

    組合邏輯電路時序邏輯電路都是數(shù)字電路,組合邏輯電路邏輯功能上的特點是任意時刻的輸出僅僅取決于
    發(fā)表于 01-30 17:26 ?9.4w次閱讀
    組合<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>有什么區(qū)別

    時序邏輯電路分析有幾個步驟(同步時序邏輯電路分析方法)

    分析時序邏輯電路也就是找出該時序邏輯電路邏輯功能,即找出
    發(fā)表于 01-30 18:55 ?12.7w次閱讀
    <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>方法)

    時序邏輯電路由什么組成_時序邏輯電路特點是什么

    本文開始介紹了時序邏輯電路的特點和時序邏輯電路的三種邏輯器件,其次介紹了時序
    發(fā)表于 03-01 10:53 ?11.1w次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>邏輯電路</b>由什么組成_<b class='flag-5'>時序</b><b class='flag-5'>邏輯電路</b>特點是什么

    時序邏輯電路分析方法

      時序邏輯電路分析和設計的基礎是組合邏輯電路與觸發(fā)器,所以想要分析和設計,前提就是必須熟練掌握各種常見的組合
    的頭像 發(fā)表于 05-22 18:24 ?3933次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>邏輯電路</b>的<b class='flag-5'>分析</b>方法

    時序邏輯電路的相關概念和分析方法

    ?時序邏輯電路分為同步時序邏輯電路和異步時序邏輯電路兩大類。
    的頭像 發(fā)表于 06-21 14:35 ?6682次閱讀
    <b class='flag-5'>時序</b><b class='flag-5'>邏輯電路</b>的相關概念和<b class='flag-5'>分析</b>方法

    時序邏輯電路故障分析

    時序邏輯電路的主要故障分析是一個復雜而重要的課題,它涉及電路的穩(wěn)定性、可靠性以及整體性能。以下是對時序
    的頭像 發(fā)表于 08-29 11:13 ?924次閱讀