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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

時(shí)序邏輯的時(shí)鐘到Q傳播和建立/保持時(shí)間

OpenFPGA ? 來源:OpenFPGA ? 2023-02-12 10:28 ? 次閱讀

數(shù)字門級(jí)電路可分為兩大類:組合邏輯和時(shí)序邏輯。鎖存器是組合邏輯和時(shí)序邏輯的一個(gè)交叉點(diǎn),在后面會(huì)作為單獨(dú)的主題處理。

組合邏輯描述了門級(jí)電路,其中邏輯塊的輸出直接反映到該塊的輸入值的組合,例如,雙輸入AND門的輸出是兩個(gè)輸入的邏輯與。如果輸入值發(fā)生變化,輸出值將反映這一變化,組合邏輯的RTL模型需要反映這種門級(jí)行為,這意味著邏輯塊的輸出必須始終反映該邏輯塊當(dāng)前輸入值的組合。

SystemVerilog有三種在可綜合RTL級(jí)別表示組合邏輯的方法:連續(xù)賦值語句、always程序塊和函數(shù)。接下來幾篇文章將探討每種編碼風(fēng)格,并推薦最佳實(shí)踐編碼風(fēng)格。

時(shí)序邏輯的時(shí)鐘到Q傳播和建立/保持時(shí)間

ASICFPGA的實(shí)現(xiàn)層面,時(shí)鐘時(shí)序邏輯具有不同于組合邏輯的特點(diǎn)。其中一個(gè)特點(diǎn)是,從時(shí)鐘輸入觸發(fā)到觸發(fā)器輸出變化的傳播延遲。這通常被稱為時(shí)鐘到Q的延遲。第二個(gè)特性是建立和保持時(shí)間。建立時(shí)間是在時(shí)鐘觸發(fā)前數(shù)據(jù)輸入必須穩(wěn)定的時(shí)間段。

保持時(shí)間是時(shí)鐘觸發(fā)后數(shù)據(jù)必須保持穩(wěn)定的時(shí)間段。如果數(shù)據(jù)在建立和保持時(shí)間內(nèi)發(fā)生變化,作為新的觸發(fā)器狀態(tài)存儲(chǔ)的值將是不確定的。在這些條件下,一個(gè)觸發(fā)器的狀態(tài)也有可能在數(shù)值之間振蕩一段時(shí)間,然后再穩(wěn)定到一個(gè)穩(wěn)定的數(shù)值。這種不穩(wěn)定的時(shí)期被稱為偏移性(metastability)。

RTL模型應(yīng)該是零延遲模型--這是最佳協(xié)同結(jié)果質(zhì)量(QoR)的要求--這意味著RTL模型不存在傳播延遲。觸發(fā)器的輸出在仿真時(shí)間的同一時(shí)刻發(fā)生變化,沒有門級(jí)時(shí)鐘到Q的傳播延遲。作為零延遲模型,抽象的RTL觸發(fā)器也沒有建立和保持時(shí)間,也不會(huì)發(fā)生變異。然而,時(shí)鐘到Q的傳播行為必須用抽象的RTL模型來表示,而且RTL模型需要反映適當(dāng)?shù)脑O(shè)計(jì)技術(shù),以避免在ASIC或FPGA中實(shí)現(xiàn)后出現(xiàn)偏移性的情況。

時(shí)序邏輯的時(shí)鐘到Q的傳播延遲。在ASIC和FPGA的實(shí)現(xiàn)層面上,時(shí)鐘序列器件有一個(gè)時(shí)鐘到Q的傳播延遲。觸發(fā)器的狀態(tài)或內(nèi)部存儲(chǔ)在時(shí)鐘的一個(gè)邊沿上被更新。過渡到一個(gè)新的狀態(tài)并不是瞬間發(fā)生的。內(nèi)部狀態(tài)的改變需要少量的時(shí)間。在這個(gè)過渡時(shí)間內(nèi),翻轉(zhuǎn)器的前一個(gè)狀態(tài)可以在翻轉(zhuǎn)器的輸出上使用。當(dāng)多個(gè)觸發(fā)器串聯(lián)在一起時(shí),這種通過每個(gè)觸發(fā)器的時(shí)鐘到Q的傳播延遲在一系列觸發(fā)器中產(chǎn)生級(jí)聯(lián)效應(yīng)。移位寄存器和計(jì)數(shù)器就利用了這種級(jí)聯(lián)效應(yīng)。

圖8-1中的電路表示一個(gè)4位的約翰遜(Johnson)計(jì)數(shù)器,它是一個(gè)移位寄存器,最后一個(gè)觸發(fā)器的輸出被反相并反饋到第一個(gè)觸發(fā)器的輸入。

fae7ed5c-a980-11ed-bfe3-dac502259ad0.png

圖8-1:4位約翰遜(Johnson)計(jì)數(shù)器示意圖

復(fù)位后,這個(gè)4位約翰遜(Johnson)計(jì)數(shù)器的輸出示例是:

cnt[0:3]-0000
cnt[0:3]-1000
cnt[0:3]-1100
cnt[0:3]-1110
cnt[0:3]-1111
cnt[0:3]-0111
cnt[0:3]-0011
cnt[0:3]-0001
cnt[0:3]-0000

從一個(gè)觸發(fā)器到下一個(gè)觸發(fā)器的級(jí)聯(lián)效應(yīng)在這個(gè)輸出中很明顯。上一個(gè)觸發(fā)器DFF4的O輸出被反轉(zhuǎn),在第一個(gè)觸發(fā)器的D輸入端oFF1上變成1。在第一個(gè)時(shí)鐘周期,這個(gè)1被存儲(chǔ)到DFF1中,而DFFl的舊狀態(tài),一個(gè)0,被級(jí)聯(lián)到DFF2。在第二個(gè)時(shí)鐘周期,DFFl輸出的1被級(jí)聯(lián)到DFF2中。

在第三個(gè)時(shí)鐘周期,DFF2的1級(jí)聯(lián)到DFF3,而在第四個(gè)時(shí)鐘周期,DFF3的1級(jí)聯(lián)到DFF4。在第四個(gè)時(shí)鐘周期后,DFF4的輸出變?yōu)?,DFFl的D輸入變?yōu)?。下一個(gè)時(shí)鐘周期,0加載到DF Fl中,并且0在隨后的每個(gè)時(shí)鐘周期中級(jí)聯(lián)通過四個(gè)觸發(fā)器。

約翰遜(Johnson)計(jì)數(shù)器的設(shè)計(jì)取決于每個(gè)觸發(fā)器的時(shí)鐘到Q的傳播延遲,它允許系列中每個(gè)觸發(fā)器的前一個(gè)狀態(tài)成為系列觸發(fā)器中每個(gè)后續(xù)階段的穩(wěn)定D輸入。即使RTL代碼用零延遲建模,RTL模型也要保持這種時(shí)鐘到Q的傳播延遲行為,這一點(diǎn)至關(guān)重要。觸發(fā)器行為的這一重要特征是由非阻塞賦值符號(hào)(<=)表示的。





審核編輯:劉清

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598932
  • asic
    +關(guān)注

    關(guān)注

    34

    文章

    1175

    瀏覽量

    119988
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    384

    瀏覽量

    59518
  • Verilog語言
    +關(guān)注

    關(guān)注

    0

    文章

    113

    瀏覽量

    8192
  • 門級(jí)電路
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    1949

原文標(biāo)題:SystemVerilog-時(shí)序邏輯建模(3)建立/保持時(shí)間

文章出處:【微信號(hào):Open_FPGA,微信公眾號(hào):OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA的時(shí)鐘設(shè)計(jì):如何建立時(shí)間保持時(shí)間

    時(shí)鐘是整個(gè)電路最重要、最特殊的信號(hào),系統(tǒng)內(nèi)大部分器件的動(dòng)作都是在時(shí)鐘的跳變沿上進(jìn)行, 這就要求時(shí)鐘信號(hào)時(shí)延差要非常小, 否則就可能造成時(shí)序邏輯
    發(fā)表于 06-26 10:37 ?5120次閱讀
    FPGA的<b class='flag-5'>時(shí)鐘</b>設(shè)計(jì):如何<b class='flag-5'>建立時(shí)間</b>與<b class='flag-5'>保持</b><b class='flag-5'>時(shí)間</b>

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

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

    芯片設(shè)計(jì)進(jìn)階之路—從CMOS建立時(shí)間保持時(shí)間

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

    建立時(shí)間保持時(shí)間討論

    ;Tpd 為時(shí)鐘 T1 和 T2 的偏差;在一個(gè)時(shí)鐘周期 T 之內(nèi),數(shù)據(jù)從寄存器 T1 傳出,需要經(jīng)過延時(shí) Tco,然后經(jīng)過組合邏輯,需要經(jīng)過延時(shí) Tdelay,最后到達(dá)寄存器 T2
    發(fā)表于 03-10 23:19

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

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

    FPGA實(shí)戰(zhàn)演練邏輯篇57:VGA驅(qū)動(dòng)接口時(shí)序設(shè)計(jì)之4建立保持時(shí)間分析

    VGA驅(qū)動(dòng)接口時(shí)序設(shè)計(jì)之4建立保持時(shí)間分析本文節(jié)選自特權(quán)同學(xué)的圖書《FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)》配套例程下載鏈接:http://pan
    發(fā)表于 08-02 19:26

    VGA驅(qū)動(dòng)接口時(shí)序設(shè)計(jì)數(shù)據(jù)的建立時(shí)間保持時(shí)間

    VGA驅(qū)動(dòng)接口時(shí)序設(shè)計(jì)之4建立保持時(shí)間分析本文節(jié)選自特權(quán)同學(xué)的圖書《FPGA設(shè)計(jì)實(shí)戰(zhàn)演練(邏輯篇)》配套例程下載鏈接:http://pan
    發(fā)表于 04-10 06:33

    時(shí)序約束是如何影響數(shù)字系統(tǒng)的,具體如何做時(shí)序分析?

    ,Tclk2q為寄存器的傳輸延時(shí)(從時(shí)鐘有效沿輸出的時(shí)間),Tdelay為兩個(gè)寄存器之間的組合邏輯延時(shí)。 從公式(1)中可以看出,
    發(fā)表于 08-16 07:25

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

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

    FPGA時(shí)序約束--基礎(chǔ)理論篇

    FPGA開發(fā)過程中,離不開時(shí)序約束,那么時(shí)序約束是什么?簡(jiǎn)單點(diǎn)說,F(xiàn)PGA芯片中的邏輯電路,從輸入輸出所需要的時(shí)間,這個(gè)
    發(fā)表于 11-15 17:41

    建立時(shí)間保持時(shí)間(setup time 和 hold time)

    建立時(shí)間保持時(shí)間貫穿了整個(gè)時(shí)序分析過程。只要涉及同步時(shí)序電路,那么必然有上升沿、下降沿采樣,
    發(fā)表于 02-08 14:48 ?5801次閱讀

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

    當(dāng)然上述情況還忽略了時(shí)鐘的延遲,即默認(rèn)前后兩級(jí)寄存器的clk都是同時(shí)到達(dá)。如果時(shí)鐘存在正延時(shí),即時(shí)鐘傳播方向與數(shù)據(jù)傳播方向一致,即電路如下
    的頭像 發(fā)表于 09-10 10:45 ?7091次閱讀
    <b class='flag-5'>時(shí)序</b><b class='flag-5'>邏輯</b>電路的<b class='flag-5'>建立</b>,<b class='flag-5'>保持</b><b class='flag-5'>時(shí)間</b>裕量分析

    FPGA時(shí)序約束的建立保持時(shí)間方法

    首先來看什么是時(shí)序約束,泛泛來說,就是我們告訴軟件(Vivado、ISE等)從哪個(gè)pin輸入信號(hào),輸入信號(hào)要延遲多長(zhǎng)時(shí)間,時(shí)鐘周期是多少,讓軟件PAR(Place and Route)后的電路能夠
    的頭像 發(fā)表于 01-28 17:34 ?3416次閱讀
    FPGA<b class='flag-5'>時(shí)序</b>約束的<b class='flag-5'>建立</b>和<b class='flag-5'>保持</b><b class='flag-5'>時(shí)間</b>方法

    SOC設(shè)計(jì)中的建立時(shí)間保持時(shí)間

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

    PCB傳輸線建立時(shí)間保持時(shí)間、建立時(shí)間裕量和保持時(shí)間裕量

     信號(hào)經(jīng)過傳輸線到達(dá)接收端之后,就牽涉建立時(shí)間保持時(shí)間這兩個(gè)時(shí)序參數(shù),它們表征了時(shí)鐘邊沿觸發(fā)
    發(fā)表于 09-04 15:16 ?693次閱讀
    PCB傳輸線<b class='flag-5'>建立時(shí)間</b>、<b class='flag-5'>保持</b><b class='flag-5'>時(shí)間</b>、<b class='flag-5'>建立時(shí)間</b>裕量和<b class='flag-5'>保持</b><b class='flag-5'>時(shí)間</b>裕量