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

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

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

時鐘與復(fù)位信號設(shè)計方案

CHANBAEK ? 來源:奇異白勺書 ? 作者:Kim71 ? 2023-09-19 09:26 ? 次閱讀

01時鐘方案

1、避免內(nèi)部產(chǎn)生時鐘

我們設(shè)計時要盡可能避免在內(nèi)部產(chǎn)生時鐘,如果操作不當(dāng),會導(dǎo)致設(shè)計功能和時序問題??偠灾?,盡量在代碼中避免操作時鐘。

組合邏輯搭建的時鐘會引入毛刺,使功能出現(xiàn)問題,數(shù)據(jù)輸入有毛刺會被過濾,但是時鐘端毛刺會有明顯問題。如圖所示為組合邏輯產(chǎn)生的時鐘效果。

圖片

解決辦法:在組合邏輯產(chǎn)生的時鐘后面加入一個寄存器,用寄存器輸入作為后續(xù)的時鐘輸入。但是由于組合邏輯會增加時鐘線上的延遲,在一些情況下,邏輯延遲會導(dǎo)致時鐘偏移比兩個寄存器之間的數(shù)據(jù)延遲大。這樣會違背寄存器的時序要求。

圖片

2、分頻時鐘

在設(shè)計中盡量保證所需的時鐘來自PLL。若要對主時鐘進行分頻時,始終使用同步計數(shù)器或者狀態(tài)機。產(chǎn)生輸出時鐘時用寄存器進行輸出,而不應(yīng)該用組合邏輯。

3、多路時鐘復(fù)用

多路時鐘復(fù)用器,可以使同一個邏輯擁有不同的時鐘。前提是得滿足以下標準:

  • 在初始化配置后,時鐘多路邏輯就不再改變;
  • 在測試時,設(shè)計會繞過功能時鐘多路邏輯而選擇普通時鐘;
  • 在時鐘切換時,寄存器始終處于復(fù)位狀態(tài);
  • 在時鐘切換時產(chǎn)生的短暫錯誤響應(yīng)沒有負面影響

圖片

4、門控時鐘

門控時鐘使用使能信號開關(guān)時鐘,實現(xiàn)對某些門控電路的控制。在時鐘關(guān)閉時,對應(yīng)的時鐘域的寄存器就會停止翻轉(zhuǎn)。所以門控時鐘時減少功耗的有效手段之一。

圖片

顯而易見,這種方式并不是同步設(shè)計,會導(dǎo)致時鐘偏移以及毛刺現(xiàn)象。下圖是同步時鐘門控使能,不過此種方式由于時鐘一直在不停的驅(qū)動,雖然后面寄存器輸出保持不變,卻并沒有停止工作,因此不能達到降低功耗的作用。

圖片

那有沒有既滿足同步要求又降低功耗的設(shè)計呢?

首先需要知道功耗到底耗在哪。傳統(tǒng)的同步設(shè)計中,系統(tǒng)時鐘連接到每個寄存器的時鐘端,這使得功耗主要由三個部分組成:

  1. 在時鐘沿變化的組合邏輯所產(chǎn)生的的功耗
  2. 由觸發(fā)器產(chǎn)生的功耗
  3. 設(shè)計中時鐘樹產(chǎn)生的功耗

時鐘門控能夠大幅降低觸發(fā)器的功耗,時鐘門控可以存在于時鐘樹的根部、末端或者兩者之間任何位置。由于 時鐘樹幾乎消耗了整個芯片功耗的50% ,因此最好始終在根部產(chǎn)生或者關(guān)閉時鐘。

基于鎖存器的門控時鐘電路是在上述門控時鐘電路中加入一個電平敏感時鐘的鎖存。其只需要保證EN信號在時鐘上升沿附近穩(wěn)定不變就可以。如此就可以保證輸出不含任何毛刺與尖峰脈沖。

圖片

為了保證較高的生產(chǎn)缺陷覆蓋率,有必要保證在插入掃描鏈時門控時鐘電路是完全可控和可觀察的。加入Test控制信號,使得測試狀態(tài)下不管使能值是多少都能被時鐘驅(qū)動。大多數(shù)ASIC生產(chǎn)商都提供“門控時鐘單元”作為標準單元庫的一部分。

圖片

02復(fù)位信號設(shè)計方案

復(fù)位的基本目的是使SoC進入一個能進行穩(wěn)定操作的確定狀態(tài) 。好的設(shè)計會在系統(tǒng)沒有明確要求的情況下為SoC的每個觸發(fā)器都提供復(fù)位信號。但是在某些情況下,當(dāng)流水線的寄存器在高速應(yīng)用中使用時,應(yīng)該去掉某些寄存器的復(fù)位信號以使設(shè)計達到更高的性能。

1、同步復(fù)位和異步復(fù)位

同步復(fù)位: 復(fù)位信號只有在時鐘的有效沿到來時才能影響或者復(fù)位觸發(fā)器的狀態(tài)。

同步復(fù)位的優(yōu)點:

1)同步復(fù)位一般能確保電路100%同步;

2)同步復(fù)位會綜合為更小的觸發(fā)器;

3)同步復(fù)位確保復(fù)位只發(fā)生在有效時鐘沿,可過濾毛刺。

同步復(fù)位缺點:

1)同步復(fù)位可能需要一定長度的脈寬,保證時鐘有效沿附近復(fù)位信號有效;

2)復(fù)位信號可能經(jīng)過多級組合邏輯,會存在潛在問題;

3)復(fù)位電路需要復(fù)位時鐘,門控時鐘電路中,可能因為時鐘無效導(dǎo)致復(fù)位無效。

異步復(fù)位: 復(fù)位觸發(fā)器在設(shè)計時加入了一個復(fù)位引腳,通過復(fù)位信號直接控制。

異步復(fù)位優(yōu)點:

1)保證數(shù)據(jù)路徑上的整潔干凈;

2)不管有沒有時鐘都可以復(fù)位。

異步復(fù)位缺點:

1)異步復(fù)位信號不一定可以被I/O口直接驅(qū)動;

2)異步復(fù)位為異步過程,撤銷異步信號時,若剛好處于時鐘有效沿,會使電路進入亞穩(wěn)態(tài);

3)板機系統(tǒng)或者其他造成的噪聲毛刺引起偽復(fù)位。

2、常用的解決方案:異步復(fù)位,同步釋放。

所謂異步復(fù)位同步釋放,是指復(fù)位信號到來時不受時鐘信號的同步,復(fù)位信號釋放時需要進行時鐘信號的同步。

圖片

上圖清楚地展示了異步復(fù)位和同步釋放兩個階段。

異步復(fù)位階段:當(dāng)rst_async_n有效時,此時第二個D觸發(fā)器的輸出rst_sync_n立即置為低電平,實現(xiàn)異步復(fù)位。

同步釋放階段:假設(shè)rst_async_n在clk的上升沿時撤除,那么第一級觸發(fā)器處于亞穩(wěn)態(tài),但是由于兩級觸發(fā)器的緩沖作用,第二級觸發(fā)器的輸入為clk到來前第一級觸發(fā)器的輸出,即為低電平。因此,此時第二級觸發(fā)器的輸出一定是穩(wěn)定的低電平,方框左中觸發(fā)器仍然處于復(fù)位狀態(tài)。在下一個clk到來時,第一級觸發(fā)器的輸出已經(jīng)是穩(wěn)定的高電平了,故rst_sync_n已經(jīng)是穩(wěn)定的高電平,此時復(fù)位釋放,實現(xiàn)同步釋放。

代碼示例:

always@(posedge clk, negedge rst_async_n)begin
    if (!rst_async_n) begin   
        rst_s1 <= 1'b0;  
        rst_s2 <= 1'b0;  
    end  
    else begin  
        rst_s1 <= 1'b1;  
        rst_s2 <= rst_s1;  
    end
end

assign rst_sync_n = rst_s2;

rst_async_n=0時,rst_sync_n會被立即復(fù)位為0,輸出到后續(xù)電路用于異步復(fù)位;rst_async_n=1時,假設(shè)此時恰好在時鐘沿附近,會造成recovery或者removal的違例,但經(jīng)過DFF1和DFF2的兩級同步,rst_sync_n釋放沿與時鐘沿同步,送入到后續(xù)電路不會再有recovery和removal違例出現(xiàn)。

可以看到,異步復(fù)位、同步釋放其最顯著特征是既保留了異步復(fù)位的功能,又避免了異步復(fù)位釋放時所面臨的recovery或者removal違例問題。

03小結(jié)

本文簡單介紹了在ASIC設(shè)計中常用的時鐘方案選擇和處理復(fù)位信號時的方案選擇。時鐘設(shè)計上,應(yīng)盡可能避免通過內(nèi)部邏輯產(chǎn)生時鐘,需要多個時鐘域時可以選擇用PLL產(chǎn)生分頻時鐘。需要考慮功耗的情況下可以選擇帶鎖存器的門控時鐘來降低功耗。在處理復(fù)位信號時,一般采用異步復(fù)位、同步釋放的方法,既保留異步復(fù)位的功能,又避免了復(fù)位信號釋放時的恢復(fù)時間和去除時間違例問題。

在后續(xù)的文章中,面對時鐘,還將介紹更為復(fù)雜棘手的多時鐘切換問題。

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

    關(guān)注

    31

    文章

    5359

    瀏覽量

    120779
  • 時鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1739

    瀏覽量

    131624
  • 組合邏輯
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    10056
  • 異步復(fù)位
    +關(guān)注

    關(guān)注

    0

    文章

    47

    瀏覽量

    13329
  • 復(fù)位信號
    +關(guān)注

    關(guān)注

    0

    文章

    54

    瀏覽量

    6348
收藏 人收藏

    評論

    相關(guān)推薦

    復(fù)位信號是什么意思?復(fù)位信號的作用?詳解Xilinx FPGA復(fù)位信號那些事

    復(fù)位信號幾乎是除了時鐘信號外最常用的信號了,幾乎所有數(shù)字系統(tǒng)在上電的時候都會進行復(fù)位,這樣才能保
    的頭像 發(fā)表于 07-27 09:48 ?8827次閱讀
    <b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>是什么意思?<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>的作用?詳解Xilinx FPGA<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>那些事

    為什么需要復(fù)位樹?復(fù)位信號用什么電路產(chǎn)生?

    復(fù)位信號在數(shù)字電路里面的重要性僅次于時鐘信號。對一個芯片來說,復(fù)位的主要目的是使芯片電路進入一個已知的,確定的狀態(tài)。
    的頭像 發(fā)表于 08-27 10:18 ?2212次閱讀
    為什么需要<b class='flag-5'>復(fù)位</b>樹?<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>用什么電路產(chǎn)生?

    FPGA時鐘內(nèi)部設(shè)計方案

    時鐘設(shè)計方案 在復(fù)雜的FPGA設(shè)計中,設(shè)計時鐘方案是一項具有挑戰(zhàn)性的任務(wù)。設(shè)計者需要很好地掌握目標器件所能提供的時鐘資源及它們的限制,需
    發(fā)表于 01-22 09:30 ?654次閱讀
    FPGA<b class='flag-5'>時鐘</b>內(nèi)部<b class='flag-5'>設(shè)計方案</b>

    從ASIC到FPGA的轉(zhuǎn)換系統(tǒng)時鐘設(shè)計方案

    從ASIC到FPGA的轉(zhuǎn)換系統(tǒng)時鐘設(shè)計方案
    發(fā)表于 03-02 09:37

    51單片機復(fù)位電路的設(shè)計方案

    51單片機復(fù)位電路的設(shè)計方案
    發(fā)表于 11-29 19:37

    基于51單片機的時鐘-跑表設(shè)計方案(程序+仿真)

    基于51單片機的時鐘-跑表設(shè)計方案(程序+仿真)
    發(fā)表于 11-29 12:07

    異步復(fù)位,同步釋放的方式,而且復(fù)位信號低電平有效

    顧名思義,同步復(fù)位就是指復(fù)位信號只有在時鐘上升沿到來時,才能有效。否則,無法完成對系統(tǒng)的復(fù)位工作。
    發(fā)表于 02-11 12:40 ?8289次閱讀
    異步<b class='flag-5'>復(fù)位</b>,同步釋放的方式,而且<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>低電平有效

    有源嵌位復(fù)位技術(shù)的設(shè)計方案資料下載.pdf

    有源嵌位復(fù)位技術(shù)的設(shè)計方案資料下載
    發(fā)表于 04-25 16:35 ?10次下載
    有源嵌位<b class='flag-5'>復(fù)位</b>技術(shù)的<b class='flag-5'>設(shè)計方案</b>資料下載.pdf

    外加電壓檢測復(fù)位電路設(shè)計方案

    PIC單片機 的 外接電壓檢測 復(fù)位電路 舉例 1.設(shè)計思路 有許多型號單片機的內(nèi)部均不具備掉電復(fù)位功能,即使對于內(nèi)部包含該功能的PIC單片機,其復(fù)位門檻電壓值是固定不可更改的,有時不能滿足用戶的需求,因此,外加電壓檢測
    發(fā)表于 07-01 10:36 ?7521次閱讀
    外加電壓檢測<b class='flag-5'>復(fù)位</b>電路<b class='flag-5'>設(shè)計方案</b>

    同步復(fù)位和異步復(fù)位電路簡介

    同步復(fù)位和異步復(fù)位都是狀態(tài)機的常用復(fù)位機制,圖1中的復(fù)位電路結(jié)合了各自的優(yōu)點。同步復(fù)位具有時鐘
    的頭像 發(fā)表于 08-12 15:20 ?7467次閱讀
    同步<b class='flag-5'>復(fù)位</b>和異步<b class='flag-5'>復(fù)位</b>電路簡介

    基于STM32單片機的時鐘設(shè)計方案

    基于STM32單片機的時鐘設(shè)計方案
    發(fā)表于 08-04 16:37 ?38次下載

    信號放大電路設(shè)計方案匯總

    信號放大電路設(shè)計方案匯總
    發(fā)表于 09-14 15:01 ?142次下載

    STM32電源管理、復(fù)位、時鐘

    第二篇文章——STM32電源、復(fù)位、時鐘電源管理電源電壓調(diào)節(jié)器可編程電壓監(jiān)測器(PVD: Programmable voltage detector )低功耗模式復(fù)位Cortex-M3的復(fù)位
    發(fā)表于 01-05 14:25 ?10次下載
    STM32電源管理、<b class='flag-5'>復(fù)位</b>、<b class='flag-5'>時鐘</b>

    Xilinx FPGA芯片內(nèi)部時鐘復(fù)位信號使用方法

    如果FPGA沒有外部時鐘源輸入,可以通過調(diào)用STARTUP原語,來使用FPGA芯片內(nèi)部的時鐘復(fù)位信號,Spartan-6系列內(nèi)部時鐘源是5
    的頭像 發(fā)表于 10-27 11:26 ?2096次閱讀
    Xilinx FPGA芯片內(nèi)部<b class='flag-5'>時鐘</b>和<b class='flag-5'>復(fù)位</b><b class='flag-5'>信號</b>使用方法

    同步復(fù)位和異步復(fù)位到底孰優(yōu)孰劣呢?

    復(fù)位方式具有精確控制的特點,因為復(fù)位信號時鐘信號同步工作,所以可以保證復(fù)位
    的頭像 發(fā)表于 01-16 16:25 ?1833次閱讀