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

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

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

復(fù)位電路很簡(jiǎn)單,但卻有很多門(mén)道

jf_pJlTbmA9 ? 2023-12-07 16:34 ? 次閱讀

今天我們來(lái)聊聊聊聊復(fù)位電路的基礎(chǔ),本文的主要內(nèi)容有:

  • 復(fù)位電路概述

  • 同步復(fù)位電路

  • 異步復(fù)位電路

  • 復(fù)位策略——復(fù)位網(wǎng)絡(luò)

1、復(fù)位電路概述

復(fù)位信號(hào)數(shù)字電路里面的重要性?xún)H次于時(shí)鐘信號(hào)。對(duì)電路的復(fù)位往往是指對(duì)觸發(fā)器的復(fù)位,也就是說(shuō)電路的復(fù)位中的這個(gè)“電路”,往往是指觸發(fā)器,這是需要注意的。

有的電路需要復(fù)位信號(hào),就像是有的電路需要時(shí)鐘信號(hào)那樣,而有的電路是不需要復(fù)位信號(hào)的。

復(fù)位又分為同步復(fù)位和異步復(fù)位,這兩種各有優(yōu)缺點(diǎn)。

下面我們主要來(lái)說(shuō)說(shuō)復(fù)位信號(hào)的用途和不需要復(fù)位信號(hào)的情況。

(1)復(fù)位的目的

復(fù)位最基本的目的就是使電路(主要是觸發(fā)器)進(jìn)入一個(gè)能穩(wěn)定操作的確定狀態(tài)(主要是觸發(fā)器在在某個(gè)確定的狀態(tài)),主要表現(xiàn)為下面兩點(diǎn):

①使電路在復(fù)位后從確定的初始狀態(tài)運(yùn)行:

● 上電的時(shí)候,為了避免上電后進(jìn)入隨機(jī)狀態(tài)而使電路紊亂,這個(gè)時(shí)候你就需要上電復(fù)位了。

● 有時(shí)候,電路在某個(gè)狀態(tài)下,你想或者別人要求你從電路的初始狀態(tài)開(kāi)始進(jìn)行延時(shí)你的電路功能,這個(gè)時(shí)候你就要對(duì)你的電路進(jìn)行復(fù)位,讓它從最初的狀態(tài)開(kāi)始運(yùn)行。

②使電路從錯(cuò)誤狀態(tài)回到可以控制的確定狀態(tài):

有的時(shí)候,你的電路發(fā)生了異常,比如說(shuō)狀態(tài)機(jī)跑飛了、系統(tǒng)供電炸了之類(lèi)的,總之就是電路運(yùn)行得不正常了,這個(gè)時(shí)候你就要對(duì)電路進(jìn)行復(fù)位,讓它從錯(cuò)誤的狀態(tài)回到一個(gè)正常的狀態(tài)。

上面說(shuō)的都是和實(shí)際電路有關(guān)的,下面我們就從電路仿真的角度看一下復(fù)位信號(hào)的重要性。

仿真的要求

復(fù)位信號(hào)在仿真里面主要是使電路仿真時(shí)具有可知的初始值:

在仿真的時(shí)候,信號(hào)在初始狀態(tài)是未知狀態(tài)(也就是所謂的x,不過(guò)對(duì)信號(hào)初始化之后的這種情況除外,因?yàn)榉抡娴臅r(shí)候?qū)π盘?hào)初始化就使信號(hào)有了初始值,這就不是x了)。

對(duì)于數(shù)據(jù)通路(數(shù)字系統(tǒng)一般分為數(shù)據(jù)通路和控制通路,數(shù)據(jù)通路一般是對(duì)輸入的數(shù)據(jù)進(jìn)行處理,控制通路則是對(duì)運(yùn)行的情況進(jìn)行操作),在實(shí)際電路中,只要輸入是有效數(shù)據(jù)(開(kāi)始的時(shí)候可能不是有效的),輸出后的狀態(tài)也是確定的;在仿真的時(shí)候,也是輸入數(shù)據(jù)有效了,輸出也就確定了。也就是說(shuō),初始不定態(tài)對(duì)數(shù)據(jù)通路的影響不明顯。

對(duì)于控制通路,在實(shí)際電路中,只要控制通路完備(比如說(shuō)控制通路的狀態(tài)機(jī)是完備的),即使初始狀態(tài)即使是不定態(tài),在經(jīng)過(guò)一定的循環(huán)后,還是能回到正確的狀態(tài)上;然而在仿真的時(shí)候就不行了,仿真的時(shí)候由于初始狀態(tài)為未知態(tài),控制電路一開(kāi)始就陷入了未知態(tài);仿真跟實(shí)際電路不同,仿真是“串行”的,仿真時(shí)控制信號(hào)的初始不定態(tài)會(huì)導(dǎo)致后續(xù)的控制信號(hào)結(jié)果都是不定態(tài),也就是說(shuō),初始的不定態(tài)對(duì)控制通道是致命的。

(2)不需要復(fù)位信號(hào)的一些情況

復(fù)位信號(hào)很重要,但是并不是每一部分的電路都需要復(fù)位電路,一方面是復(fù)位電路也消耗邏輯資源、占用芯片面積,另一方面是復(fù)位信號(hào)會(huì)增加電路設(shè)計(jì)的復(fù)雜性(比如要考慮復(fù)位的策略、復(fù)位的布局布線等等)。

當(dāng)某個(gè)電路的輸出在任何時(shí)刻都可以不受到復(fù)位信號(hào)的控制就有正確的值時(shí),比如說(shuō)數(shù)據(jù)通路中的對(duì)數(shù)據(jù)進(jìn)行處理的部分。

在某些情況下,當(dāng)流水線的寄存器(移位寄存觸發(fā)器)在高速應(yīng)用中時(shí),應(yīng)該去掉某些寄存器的復(fù)位信號(hào)以使設(shè)計(jì)達(dá)到更高的性能,因?yàn)閹?fù)位的觸發(fā)器比不帶復(fù)位的觸發(fā)器更復(fù)雜,反應(yīng)也更慢。

對(duì)復(fù)位信號(hào)/電路有一定的概念后,下面我們就來(lái)說(shuō)說(shuō)復(fù)位的方式,也就是同步電路和異步電路以及它們的優(yōu)缺點(diǎn)。

2、同步復(fù)位

(1)同步復(fù)位電路

同步復(fù)位是指復(fù)位信號(hào)在時(shí)鐘有效沿到來(lái)時(shí)才復(fù)位電路(主要是復(fù)位觸發(fā)器)。

因此同步復(fù)位的復(fù)位信號(hào)受到時(shí)鐘信號(hào)的控制。同步復(fù)位的觸發(fā)器RTL代碼和電路如下所示:1

上面的電路在FPGA中容易綜合得到;也有可能綜合得到下面這樣的電路:

電路       

(2)同步復(fù)位的優(yōu)點(diǎn)

①首先同步復(fù)位一般能確保電路是100%同步的,因?yàn)殡娐范际怯赏綍r(shí)鐘觸發(fā)。

②同步復(fù)位會(huì)綜合為更小的觸發(fā)器(更????感覺(jué)有點(diǎn)不太對(duì),可能FPGA跟ASIC不一樣吧?)。從前面電路中我們也可以看到,復(fù)位電路僅僅是由一個(gè)普通的觸發(fā)器和一個(gè)與門(mén)構(gòu)成。

③由于同步復(fù)位僅僅發(fā)生在時(shí)鐘的有效沿,當(dāng)外部的復(fù)位信號(hào)有毛刺時(shí),時(shí)鐘可以當(dāng)做過(guò)濾毛刺的手段,也就是說(shuō)同步復(fù)位受到復(fù)位信號(hào)的毛刺影響小。

④當(dāng)復(fù)位信號(hào)是由內(nèi)部電路產(chǎn)生時(shí),此時(shí)復(fù)位信號(hào)就有可能有毛刺,時(shí)鐘就可以過(guò)濾毛刺。也就是說(shuō),可以在那些使用內(nèi)部信號(hào)當(dāng)做復(fù)位信號(hào)的設(shè)計(jì)中,使用同步復(fù)位。

(3)同步復(fù)位的缺點(diǎn)

①使用同步復(fù)位可能使綜合工具無(wú)法分辨分辨復(fù)位信號(hào)和其他控制信號(hào),導(dǎo)致進(jìn)行復(fù)位的控制邏輯遠(yuǎn)離觸發(fā)器(也就是說(shuō),并不是所以的ASIC庫(kù)都有內(nèi)置的同步復(fù)位邏輯,綜合工具可能把符合邏輯綜合到觸發(fā)器自身之外)。

例如對(duì)于帶同步復(fù)位和加載使能的觸發(fā)器,代碼如下所示:

3

綜合得到的電路圖如下所示,左邊是理想的電路,右邊是可能綜合出的電路:4

這兩個(gè)電路的功能完全一樣,只不過(guò)右邊電路的復(fù)位控制邏輯(即復(fù)位與門(mén))在多路復(fù)用器之外,也就是遠(yuǎn)離了觸發(fā)器。

解決方法就是:一方面這個(gè)只是綜合工具的問(wèn)題,一般綜合工具會(huì)自動(dòng)識(shí)別在敏感列表里面又在條件表達(dá)式信號(hào)中的第一個(gè)信號(hào)為復(fù)位信號(hào);另一方面,可以在RTL代碼編寫(xiě)的時(shí)候,加入相關(guān)的綜合指令,讓綜合的時(shí)候把復(fù)位邏輯靠近觸發(fā)器。

②由于同步復(fù)位需要在時(shí)鐘沿的觸發(fā)下才能起作用,復(fù)位信號(hào)是以短脈沖的方式出現(xiàn)時(shí),時(shí)鐘沿就有可能錯(cuò)失這個(gè)復(fù)位信號(hào),導(dǎo)致復(fù)位脈沖丟失,同步復(fù)位電路沒(méi)有起到作用,時(shí)序圖如下所示:

5

解決辦法:一方面,可以采用脈沖捕捉電路,這個(gè)電路在我的跨時(shí)鐘域控制信號(hào)傳輸中有講到。

另一方面,可以將復(fù)位信號(hào)進(jìn)行脈沖擴(kuò)展,維持足夠長(zhǎng)的時(shí)間,這個(gè)可以通過(guò)一個(gè)小的計(jì)數(shù)器實(shí)現(xiàn),如下圖所示:

6

③同步復(fù)位可能有組合邏輯延時(shí),當(dāng)復(fù)位邏輯距離觸發(fā)器比較遠(yuǎn)時(shí),這個(gè)時(shí)候就不能把觸發(fā)器當(dāng)做即時(shí)響應(yīng)復(fù)位信號(hào)的觸發(fā)器,而是有一定延時(shí)的觸發(fā)器,這個(gè)時(shí)候就有了復(fù)位信號(hào)偏移的問(wèn)題,關(guān)于復(fù)位信號(hào)偏移的描述,我們將在異步復(fù)位中進(jìn)行描述。

解決方法:使用內(nèi)置的同步復(fù)位觸發(fā)器;綜合的時(shí)候加入相關(guān)的綜合指令,這個(gè)和①類(lèi)似。

④我們前面說(shuō)過(guò),在由內(nèi)部組合邏輯的產(chǎn)生復(fù)位信號(hào)的設(shè)計(jì)中,推薦使用同步復(fù)位。其實(shí)這也是有缺點(diǎn)的,這是因?yàn)檫@樣產(chǎn)生復(fù)位信號(hào)的組合邏輯一方面在仿真的時(shí)候容易出現(xiàn)x態(tài),另一方面在實(shí)際電路中,這樣的復(fù)位信號(hào)容易被外部(多個(gè))信號(hào)影響。

解決方法:不建議使用內(nèi)部產(chǎn)生的復(fù)位信號(hào);使用異步復(fù)位。

⑤門(mén)控時(shí)鐘的同步復(fù)位可能無(wú)效:使用門(mén)控時(shí)鐘的時(shí)候,由于復(fù)位信號(hào)依賴(lài)于時(shí)鐘,在復(fù)位信號(hào)發(fā)出的時(shí)候,時(shí)鐘可能關(guān)閉了。

這個(gè)時(shí)候就會(huì)導(dǎo)致實(shí)際的電路沒(méi)有被復(fù)位,如下圖所示:

7

解決方法:只能使用異步復(fù)位,并在時(shí)鐘恢復(fù)前移除異步復(fù)位。

⑥總線設(shè)計(jì)中的同步復(fù)位問(wèn)題:

在總線控制中,系統(tǒng)上電復(fù)位的時(shí)候,我們要求不同芯片之間的總線工作在合理的狀態(tài)上(比如處于高阻態(tài)或者輸出);然而上電之后,由于系統(tǒng)時(shí)鐘可能仍未正常工作,上電(同步)復(fù)位就可能無(wú)效,這個(gè)時(shí)候各個(gè)模塊(芯片)就可能不會(huì)把總線接口設(shè)置為特定的狀態(tài),(當(dāng)多個(gè)模塊同時(shí)輸出數(shù)據(jù)到總線上時(shí))就可能導(dǎo)致電平?jīng)_突,嚴(yán)重的話(huà)會(huì)燒壞接口。

解決辦法:為了防止芯片上電時(shí)內(nèi)部總線出現(xiàn)競(jìng)爭(zhēng),有兩種解決辦法,一種是采用異步上電復(fù)位,如下圖所示:

8

這個(gè)時(shí)候使用了異步復(fù)位,使能信號(hào)oe輸出0,也就是有了初始的狀態(tài)

另一種方法是使用復(fù)位信號(hào)能直接撤銷(xiāo)三態(tài)使能的電路,如下所示:

9

從電路圖中可以看到復(fù)位信號(hào)一方面控制了復(fù)位邏輯,另一方面控制了三態(tài)的使能端;這種技術(shù)簡(jiǎn)化了復(fù)位-高阻這個(gè)條路徑的時(shí)序分析。

3、異步復(fù)位

(1)異步復(fù)位電路

異步復(fù)位觸發(fā)器則是在設(shè)計(jì)觸發(fā)器的時(shí)候加入了一個(gè)復(fù)位引腳,也就是說(shuō)復(fù)位邏輯集成在觸發(fā)器里面。

(一般情況下)低電平的復(fù)位信號(hào)到達(dá)觸發(fā)器的復(fù)位端時(shí),觸發(fā)器進(jìn)入復(fù)位狀態(tài),直到復(fù)位信號(hào)撤離。帶異步復(fù)位的觸發(fā)器電路圖和RTL代碼如下所示:

10

(2)異步復(fù)位的優(yōu)點(diǎn)

①使用異步復(fù)位的最大好處就是復(fù)位路徑上沒(méi)有延時(shí),如上面的圖所示,復(fù)位信號(hào)一直連接到觸發(fā)器的復(fù)位端口,而不是像同步復(fù)位那樣需要經(jīng)過(guò)一個(gè)復(fù)位控制邏輯(如與門(mén))。這樣子就減少了外界信號(hào)的影響。

②與時(shí)鐘沒(méi)有關(guān)系,不管時(shí)鐘上升沿有沒(méi)有到來(lái),只要復(fù)位信號(hào)一有效,觸發(fā)器就會(huì)復(fù)位,也就是基本上做到實(shí)時(shí)性;由于與時(shí)鐘沒(méi)有關(guān)系,因此也可以用在門(mén)控時(shí)鐘里面。

③綜合工具能自動(dòng)推斷出異步復(fù)位而不必加入任何綜合指令。

(3)異步復(fù)位的缺點(diǎn)

①?gòu)?fù)位撤離問(wèn)題

在介紹復(fù)位撤離問(wèn)題之前,先說(shuō)一下復(fù)位恢復(fù)時(shí)間和去除時(shí)間。所謂的復(fù)位恢復(fù)時(shí)間是指撤離一個(gè)復(fù)位信號(hào)時(shí),復(fù)位信號(hào)從有效跳變?yōu)闊o(wú)效的時(shí)刻與下一個(gè)有效時(shí)鐘沿之間的這段時(shí)間;去除時(shí)間是指撤離一個(gè)復(fù)位信號(hào)時(shí),復(fù)位信號(hào)從有效跳變?yōu)闊o(wú)效的時(shí)刻 與上一個(gè)有效時(shí)鐘沿之間的這段時(shí)間(可以類(lèi)比于觸發(fā)器的建立時(shí)間和保持時(shí)間)。如下圖所示:

11

上圖中,rst_n1是要求的復(fù)位恢復(fù)時(shí)間,rst_n2滿(mǎn)足復(fù)位恢復(fù)時(shí)間,rst_n3復(fù)位恢復(fù)時(shí)間不足。

12

上圖中,rst_nA是要求的復(fù)位去除時(shí)間,rst_n2滿(mǎn)足復(fù)位去除時(shí)間,rst_n3復(fù)位去除時(shí)間不足。

從上面的兩個(gè)圖中可以知道,如果你想讓某個(gè)時(shí)鐘沿起作用(也就是采數(shù)據(jù)),那么你就應(yīng)該在“恢復(fù)時(shí)間”之前讓異步控制信號(hào)變無(wú)效;如果你想讓某個(gè)時(shí)鐘沿不起作用(也就是在這個(gè)時(shí)鐘沿依舊復(fù)位),那么你就應(yīng)該在“去除時(shí)間”過(guò)后使控制信號(hào)變無(wú)效。

異步復(fù)位信號(hào)的恢復(fù)和去除時(shí)間需要大于一定的時(shí)間,如果你的異步復(fù)位信號(hào)在這兩種情況之間(撤離),那么就沒(méi)法確定時(shí)鐘沿是否起作用了,即判斷不出是復(fù)位還是不復(fù)位(不復(fù)位即是D觸發(fā)器才輸入端的數(shù)據(jù))。

介紹了復(fù)位恢復(fù)時(shí)間和去除時(shí)間之后,我們就可以看看異步復(fù)位信號(hào)的問(wèn)題了。由于異步復(fù)位信號(hào)與系統(tǒng)時(shí)鐘毫無(wú)關(guān)系,復(fù)位可以在隨時(shí)施加,也可以隨時(shí)撤離。在施加的時(shí)候復(fù)位信號(hào)的時(shí)候,不存在任何問(wèn)題,因?yàn)檫@跟復(fù)位恢復(fù)時(shí)間扯不上關(guān)系。

但是,在撤離復(fù)位信號(hào)的情況下就有問(wèn)題了,主要有兩個(gè)問(wèn)題:

● 當(dāng)異步復(fù)位信號(hào)的撤離時(shí)刻在時(shí)鐘有有效沿附近時(shí),就可能導(dǎo)致恢復(fù)時(shí)間或去除時(shí)間不足,即這個(gè)時(shí)候違背了復(fù)位恢復(fù)時(shí)間或去除時(shí)間,這時(shí)就可能導(dǎo)致觸發(fā)器的輸出端為亞穩(wěn)態(tài)(注意是可能),如下所示:

13

但是并不是所有情況都會(huì)產(chǎn)生亞穩(wěn)態(tài),當(dāng)復(fù)位值和此時(shí)的的輸出相同時(shí),就不會(huì)產(chǎn)生亞穩(wěn)態(tài),如下圖所示:

14

這是因?yàn)椋簭?fù)位信號(hào)翻轉(zhuǎn)的時(shí)候,如果復(fù)位信號(hào)判斷是低電平,輸出就復(fù)位即一定是低電平;

如果判斷復(fù)位信號(hào)是高電平,輸出信號(hào)就等于對(duì)輸入信號(hào)的采樣值。圖里面輸入信號(hào)就是低電平,不管你是復(fù)位還是不復(fù)位,輸出一直是低電平,沒(méi)有亞穩(wěn)態(tài)。

● 復(fù)位狀態(tài)不一致的問(wèn)題:

復(fù)位信號(hào)很時(shí)鐘信號(hào)一樣,復(fù)位通過(guò)復(fù)位網(wǎng)絡(luò)到達(dá)各個(gè)觸發(fā)器。一方面,復(fù)位網(wǎng)絡(luò)具有非常大的扇出和負(fù)載,到達(dá)不同的觸發(fā)器存在不同的延時(shí),也就是存在復(fù)位偏移,因此撤離異步復(fù)位的時(shí)刻也是不一樣的;

另一方面,由于時(shí)鐘網(wǎng)絡(luò)也存在時(shí)鐘偏移。這個(gè)時(shí)候異步復(fù)位信號(hào)就有可能在不同的觸發(fā)器的不同時(shí)鐘周期內(nèi)進(jìn)行撤離,也就是說(shuō)異步復(fù)位的信號(hào)不一致,如下圖所示:

15

異步復(fù)位信號(hào)a是異步復(fù)位信號(hào)源,異步復(fù)位信號(hào)b、c、d是到達(dá)觸發(fā)器的異步信號(hào)。

我們可以看到,b信號(hào)是在本周期就撤離了復(fù)位;c信號(hào)則由于復(fù)位恢復(fù)時(shí)間不滿(mǎn)足,則可能導(dǎo)致觸發(fā)器輸出亞穩(wěn)態(tài):而d信號(hào)則由于延時(shí)太長(zhǎng)(但是滿(mǎn)足了復(fù)位去除時(shí)間),在下一個(gè)周期才撤離復(fù)位。

撤離問(wèn)題的解決方法:異步復(fù)位的同步釋放

異步復(fù)位的同步釋放電路也稱(chēng)為復(fù)位同步器,這個(gè)方法是將外部輸入的異步復(fù)位信號(hào)進(jìn)行處理,產(chǎn)生另外一個(gè)適合用于后面電路的復(fù)位信號(hào),這個(gè)處理后的復(fù)位信號(hào)能夠異步復(fù)位電路中的觸發(fā)器,又不會(huì)存在撤離問(wèn)題(因?yàn)榻?jīng)過(guò)了同步);這個(gè)異步復(fù)位同步釋放的處理電路和RTL代碼如下所示:

16

從圖中可以看到,這是用外部異步復(fù)位信號(hào)來(lái)復(fù)位一對(duì)觸發(fā)器,這對(duì)觸發(fā)器異步地驅(qū)動(dòng)主復(fù)位信號(hào),也就是這對(duì)觸發(fā)器產(chǎn)生電路需要的復(fù)位信號(hào),這些復(fù)位信號(hào)再到達(dá)各個(gè)觸發(fā)器,然后進(jìn)行復(fù)位。

理想的異步復(fù)位同步釋放的時(shí)序如下所示:

17

上圖中,在理想的情況下,復(fù)位信號(hào)在兩級(jí)D觸發(fā)器上面的撤離時(shí)間可能不一樣,這個(gè)和復(fù)位信號(hào)傳輸?shù)降挠|發(fā)器位置和觸發(fā)器的時(shí)鐘沿有關(guān)。理想情況下的復(fù)位信號(hào)傳輸?shù)侥繕?biāo)觸發(fā)器都能夠同時(shí)撤離,并且不在時(shí)鐘有效沿附近。

實(shí)際情況一般不是那么理想的,當(dāng)不是理想的情況下,也就是說(shuō)復(fù)位信號(hào)到達(dá)目標(biāo)寄存器存在時(shí)鐘偏移,并且復(fù)位信號(hào)有可能在時(shí)鐘有效沿附近撤離,這個(gè)時(shí)候復(fù)位器出現(xiàn)的問(wèn)題就有三種:第一級(jí)OK,第二級(jí)出現(xiàn)問(wèn)題;第一級(jí)出現(xiàn)問(wèn)題,第二級(jí)OK;兩級(jí)都出現(xiàn)問(wèn)題。

下面我們就來(lái)看看這三種情況下產(chǎn)生的復(fù)位信號(hào)是什么情況:

第一級(jí)的撤離沒(méi)有問(wèn)題,第二級(jí)的撤離出現(xiàn)在時(shí)鐘的有效沿附近,也就是說(shuō)第二級(jí)的D觸發(fā)器的撤離時(shí)間不滿(mǎn)足復(fù)位恢復(fù)時(shí)間或者去除時(shí)間,這時(shí)候的時(shí)序圖如下所示:

18

我們可以看到無(wú)論是觸發(fā)器判斷此刻是復(fù)位還是不復(fù)位,輸出都是一樣的,也就是說(shuō),輸出rst_n不是亞穩(wěn)態(tài),而是確定的值。

第一級(jí)的撤離出現(xiàn)問(wèn)題,第二級(jí)的撤離沒(méi)有問(wèn)題,這時(shí)候的時(shí)序圖如下所示:

19

我們可以看到,第一級(jí)觸發(fā)器雖然產(chǎn)生了亞穩(wěn)態(tài),但是由于第二級(jí)觸發(fā)器的存在,亞穩(wěn)態(tài)并沒(méi)有傳播下去,得到的復(fù)位信號(hào)依然是干凈的,只不過(guò)這個(gè)復(fù)位信號(hào)可能延長(zhǎng)多一個(gè)周期而已(這是因?yàn)閬喎€(wěn)態(tài)穩(wěn)定后的可能態(tài)引起的)。

最極端的一種情況是,兩級(jí)的撤離都不滿(mǎn)足復(fù)位恢復(fù)時(shí)間或者去除時(shí)間,這時(shí)候的時(shí)序圖如下所示:

20

我們可以看到第一級(jí)觸發(fā)器產(chǎn)生了亞穩(wěn)態(tài),但是由于第二級(jí)觸發(fā)器的存在,亞穩(wěn)態(tài)沒(méi)有傳播下去;雖然第二級(jí)觸發(fā)器的復(fù)位信號(hào)撤離也在時(shí)鐘有效沿附近,但是跟第一種情況一樣,第二級(jí)觸發(fā)器是不會(huì)產(chǎn)生亞穩(wěn)態(tài)的。因此即使是極端狀態(tài),輸出的復(fù)位信號(hào)也是干凈的。

由此我們可以看到,異步復(fù)位的同步撤離能夠有效地解決撤離導(dǎo)致的復(fù)位恢復(fù)時(shí)間或者去除時(shí)間不足的問(wèn)題,同時(shí)把復(fù)位信號(hào)同步化,解決了復(fù)位撤離偏移的問(wèn)題。

②異步復(fù)位的抖動(dòng)問(wèn)題

當(dāng)外部輸入的異步復(fù)位信號(hào)產(chǎn)生毛刺時(shí),任何滿(mǎn)足觸發(fā)器最小復(fù)位脈沖寬度的輸入都有可能引起觸發(fā)器復(fù)位,這問(wèn)題是源頭上的問(wèn)題,即使是使用上面的同步器,也還是有同樣的敏感問(wèn)題,時(shí)序圖如下所示:

21

解決方法:一個(gè)是使用同步復(fù)位,另一個(gè)就是過(guò)濾毛刺了,過(guò)濾毛刺和消抖的思路有點(diǎn)像,主要就是經(jīng)過(guò)一段延時(shí)之后,在經(jīng)過(guò)邏輯門(mén)判斷產(chǎn)生外部來(lái)的是不是真正復(fù)位信號(hào),加上過(guò)濾毛刺信號(hào)部分的同步撤離電路和時(shí)序如下所示:

22

在上圖中,我們可以看到,抖動(dòng)問(wèn)題得到了解決。然而這種方法還是有缺點(diǎn)的,主要就是這個(gè)延時(shí)電路的延時(shí)控制可能隨著環(huán)境而變化,而且延時(shí)的時(shí)間要合適長(zhǎng)才行,絕對(duì)不能太短。

③DFT的問(wèn)題

在DFT的時(shí)候,如果異步復(fù)位信號(hào)不能直接被I/O引腳驅(qū)動(dòng),就必須將異步復(fù)位線和后面的的被驅(qū)動(dòng)電路斷開(kāi),用來(lái)保證DFT掃描和測(cè)試能夠正確進(jìn)行。總之異步復(fù)位增加了DFT的復(fù)雜性。

4、復(fù)位策略——復(fù)位網(wǎng)絡(luò)

在數(shù)字電路里面,復(fù)位信號(hào)驅(qū)動(dòng)了很多觸發(fā)器,僅次于時(shí)鐘,因此復(fù)位也往往形成或者使用復(fù)位網(wǎng)絡(luò)。

復(fù)位網(wǎng)絡(luò)的設(shè)計(jì)也是有值得斟酌的地方,例如,由于復(fù)位的扇出太大,全部的復(fù)位不能僅僅由一個(gè)端口驅(qū)動(dòng),也就是不能像下面一樣:

23

既然上面的不行,那就改成下面的唄,也就是使用多各“并聯(lián)”的同步釋放,分擔(dān)一下負(fù)載壓力:

24

然而這種方案還是有問(wèn)題的,這是第一級(jí)的撤離出現(xiàn)問(wèn)題,第二級(jí)的撤離沒(méi)有問(wèn)題的時(shí)候,亞穩(wěn)態(tài)穩(wěn)定后的狀態(tài)可能不一樣,導(dǎo)致rst_n的復(fù)位不一致,有的復(fù)位可能會(huì)快/慢一個(gè)周期。

最后的方案是,先進(jìn)行同步釋放之后,同步后的復(fù)位信號(hào)又當(dāng)做各個(gè)部分的異步信號(hào),然后進(jìn)行同步釋放,如下所示:

25

這樣先經(jīng)過(guò)前級(jí)的同步釋放之后,就不存在亞穩(wěn)態(tài)穩(wěn)定好導(dǎo)致的輸出rst_n不一致的問(wèn)題了。

最后說(shuō)一下多時(shí)鐘域的復(fù)位:在多時(shí)鐘域復(fù)位中,外部的異步復(fù)位信號(hào)的同步釋放應(yīng)該各自的時(shí)鐘進(jìn)行同步,比如異步FIFO中,寫(xiě)時(shí)鐘域就用寫(xiě)時(shí)鐘進(jìn)行同步釋放;讀時(shí)鐘域就用讀時(shí)鐘進(jìn)行同步釋放。

?免責(zé)聲明:本文為網(wǎng)絡(luò)轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳播相關(guān)技術(shù)知識(shí),版權(quán)歸原作者所有,如涉及侵權(quán),請(qǐng)聯(lián)系小編刪除。

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

    關(guān)注

    13

    文章

    314

    瀏覽量

    44445
  • 時(shí)鐘域
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    9510
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    fpga設(shè)計(jì)實(shí)戰(zhàn):復(fù)位電路仿真設(shè)計(jì)

    最近看advanced fpga 以及fpga設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位電路有這么多的門(mén)道,而不是
    發(fā)表于 09-01 15:37 ?1646次閱讀
    fpga設(shè)計(jì)實(shí)戰(zhàn):<b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>仿真設(shè)計(jì)

    說(shuō)一個(gè)很簡(jiǎn)單的12 V轉(zhuǎn)220 V逆變器的電路

    這次以文章的形式給大家說(shuō)一個(gè)很簡(jiǎn)單的12 V轉(zhuǎn)220 V逆變器的原理,原理圖如下,看起來(lái)很簡(jiǎn)單
    的頭像 發(fā)表于 11-14 11:20 ?2555次閱讀
    說(shuō)一個(gè)<b class='flag-5'>很簡(jiǎn)單</b>的12 V轉(zhuǎn)220 V逆變器的<b class='flag-5'>電路</b>圖

    cpu復(fù)位電路

    cpu復(fù)位電路圖 CPU復(fù)位電路電路相當(dāng)簡(jiǎn)單
    發(fā)表于 10-26 10:32 ?2431次閱讀
    cpu<b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>圖

    很簡(jiǎn)單的觸摸延時(shí)開(kāi)關(guān)電路

    很簡(jiǎn)單的觸摸延時(shí)開(kāi)關(guān)電路 電路非常簡(jiǎn)單,當(dāng)用手觸摸金屬片時(shí),VT1導(dǎo)通,給電容C2充電,電容通過(guò)R3放電,使VT4導(dǎo)通,點(diǎn)燈被點(diǎn)亮,當(dāng)電容C2中的電荷放
    發(fā)表于 12-24 18:45 ?7952次閱讀
    <b class='flag-5'>很簡(jiǎn)單</b>的觸摸延時(shí)開(kāi)關(guān)<b class='flag-5'>電路</b>

    一款很簡(jiǎn)單的功放,Simple power amplifier

    一款很簡(jiǎn)單的功放,Simple power amplifier 關(guān)鍵字:功放電路圖 一款很簡(jiǎn)單的功放,輸出管只需要NPN就行了,不用NPN+PNP,相對(duì)來(lái)說(shuō)材料容易找一
    的頭像 發(fā)表于 09-20 19:03 ?1748次閱讀

    FPGA設(shè)計(jì)實(shí)戰(zhàn)-復(fù)位電路仿真設(shè)計(jì)

    最近看 advanced fpga 以及 fpga 設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位電路有這么多的門(mén)道,而不是
    的頭像 發(fā)表于 10-30 12:17 ?442次閱讀

    實(shí)現(xiàn)FPGA實(shí)戰(zhàn)復(fù)位電路的設(shè)計(jì)和仿真

    最近看 advanced fpga 以及 fpga 設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位電路有這么多的門(mén)道,而不是
    發(fā)表于 12-22 12:54 ?13次下載
    實(shí)現(xiàn)FPGA實(shí)戰(zhàn)<b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>的設(shè)計(jì)和仿真

    高電平、低電平復(fù)位電路

    單片機(jī)最小系統(tǒng),即單片機(jī)能正常工作的最簡(jiǎn)單電路。復(fù)位電路是單片機(jī)最小系統(tǒng)的組成部分之一。對(duì)于不同單片機(jī),復(fù)位方式有高電平
    發(fā)表于 01-17 12:38 ?15次下載
    高電平、低電平<b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>

    電機(jī)軸維修原來(lái)這么很簡(jiǎn)單

    電機(jī)軸維修原來(lái)這么很簡(jiǎn)單
    發(fā)表于 02-28 16:17 ?15次下載

    220V LED燈泡的制作,內(nèi)部電路結(jié)構(gòu)就很簡(jiǎn)單

    LED燈的使用范圍現(xiàn)在算是比較廣了,現(xiàn)在很多地方都是用LED燈照明了,例如現(xiàn)在新式路燈很多都是利用LED燈來(lái)照明的,我們家里使用的照明燈也不例外,很多都選用的LED燈來(lái)照明,但是其實(shí)LED燈的成本可以壓的很低,內(nèi)部
    的頭像 發(fā)表于 12-29 17:07 ?3748次閱讀

    電路設(shè)計(jì):上下拉電阻應(yīng)用很簡(jiǎn)單嗎?

    “上下拉電阻應(yīng)用很簡(jiǎn)單嗎?”那可不一定。電路設(shè)計(jì)中,在哪些地方要加上下拉電阻?上下拉電阻加多大呢?是否要考慮它的功耗,以及它的灌電流大小,太大會(huì)損壞電子器件。一般情況下,元器件需要上下拉的地方,加4.7K或10k,3.3K也行,甚至1K也可以,不會(huì)考慮太多。
    的頭像 發(fā)表于 03-17 16:32 ?955次閱讀
    <b class='flag-5'>電路</b>設(shè)計(jì):上下拉電阻應(yīng)用<b class='flag-5'>很簡(jiǎn)單</b>嗎?

    復(fù)位電路那么多門(mén)道你知道多少1

    復(fù)位信號(hào)在數(shù)字電路里面的重要性?xún)H次于時(shí)鐘信號(hào)。對(duì)電路復(fù)位往往是指對(duì)觸發(fā)器的復(fù)位,也就是說(shuō)電路
    的頭像 發(fā)表于 05-25 14:30 ?395次閱讀
    <b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>那么多<b class='flag-5'>門(mén)道</b>你知道多少1

    復(fù)位電路那么多門(mén)道你知道多少2

    復(fù)位信號(hào)在數(shù)字電路里面的重要性?xún)H次于時(shí)鐘信號(hào)。對(duì)電路復(fù)位往往是指對(duì)觸發(fā)器的復(fù)位,也就是說(shuō)電路
    的頭像 發(fā)表于 05-25 14:31 ?473次閱讀
    <b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>那么多<b class='flag-5'>門(mén)道</b>你知道多少2

    復(fù)位電路中電阻和電容的作用

    復(fù)位電路是單片機(jī)最小系統(tǒng)的核心電路之一,下圖就是一個(gè)簡(jiǎn)單的低電平復(fù)位電路,
    的頭像 發(fā)表于 10-21 14:06 ?3492次閱讀
    <b class='flag-5'>復(fù)位</b><b class='flag-5'>電路</b>中電阻和電容的作用

    連接器端子壓接:看似簡(jiǎn)單,其實(shí)其中有門(mén)道……

    連接器端子壓接:看似簡(jiǎn)單,其實(shí)其中有門(mén)道……
    的頭像 發(fā)表于 12-06 15:41 ?862次閱讀
    連接器端子壓接:看似<b class='flag-5'>簡(jiǎn)單</b>,其實(shí)其中有<b class='flag-5'>門(mén)道</b>……