亞穩(wěn)態(tài)是我們?cè)谠O(shè)計(jì)經(jīng)常遇到的問題。這個(gè)錯(cuò)誤我在很多設(shè)計(jì)中都看到過。有人可能覺得不以為然,其實(shí)你現(xiàn)在沒有遇到問題只能說明:
1. 你的發(fā)貨量還沒到一定的量級(jí)。
2. 你很幸運(yùn)。
當(dāng)問題一旦發(fā)生的時(shí)候,亞穩(wěn)態(tài)的問題是非常難以定量的分析的,甚至復(fù)現(xiàn)也是非常困難的。為了不讓這樣的“玄學(xué)”問題困擾我們,我們?cè)谠O(shè)計(jì)調(diào)試的時(shí)候,首先要把這類問題規(guī)避,才有助于我們撥開迷霧,找到問題的原因。設(shè)計(jì)的檢視也非常重要,不能說功能測(cè)試通過了,小批量發(fā)貨沒有問題產(chǎn)品就沒有潛在的隱患。
亞穩(wěn)態(tài)與設(shè)計(jì)可靠性
設(shè)計(jì)數(shù)字電路時(shí)大家都知道同步是非常重要的,特別當(dāng)要輸入一個(gè)信號(hào)到一個(gè)同步電路中,但是該信號(hào)由另一個(gè)時(shí)鐘驅(qū)動(dòng)時(shí),這是要在接口處采取一些措施,使輸入的異步信號(hào)同步化,否則電路將無法正常工作,因?yàn)檩斎攵撕芸赡艹霈F(xiàn)亞穩(wěn)態(tài)(Metastability),導(dǎo)致采樣錯(cuò)誤。這里我們對(duì)亞穩(wěn)態(tài)的起因、危害、對(duì)可靠性的影響和消除仿真做一些介紹。
1.亞穩(wěn)態(tài)發(fā)生的原因
在同步系統(tǒng)中,如果觸發(fā)器的setup time / hold time不滿足,就可能產(chǎn)生亞穩(wěn)態(tài),此時(shí)觸發(fā)器輸出端Q在有效時(shí)鐘沿之后比較長(zhǎng)的一段時(shí)間處于不確定的狀態(tài),在這段時(shí)間里Q端毛刺、振蕩、固定的某一電壓值,而不是等于數(shù)據(jù)輸入端D的值。這段之間成為決斷時(shí)間(resolution time)。經(jīng)過resolution time之后Q端將穩(wěn)定到0或1上,但是究竟是0還是1,這是隨機(jī)的,與輸入沒有必然的關(guān)系。
2.亞穩(wěn)態(tài)的危害
由于輸出在穩(wěn)定下來之前可能是毛刺、振蕩、固定的某一電壓值,因此亞穩(wěn)態(tài)除了導(dǎo)致邏輯誤判之外,輸出0~1之間的中間電壓值還會(huì)使下一級(jí)產(chǎn)生亞穩(wěn)態(tài)(即導(dǎo)致亞穩(wěn)態(tài)的傳播)。
邏輯誤判有可能通過電路的特殊設(shè)計(jì)減輕危害(如異步FIFO中Gray碼計(jì)數(shù)器的作用),而亞穩(wěn)態(tài)的傳播則擴(kuò)大了故障面,難以處理。
3.亞穩(wěn)態(tài)的解決辦法
只要系統(tǒng)中有異步元件,亞穩(wěn)態(tài)就是無法避免的,因此設(shè)計(jì)的電路首先要減少亞穩(wěn)態(tài)導(dǎo)致錯(cuò)誤的發(fā)生,其次要使系統(tǒng)對(duì)產(chǎn)生的錯(cuò)誤不敏感。前者要靠同步來實(shí)現(xiàn),而后者根據(jù)不同的設(shè)計(jì)應(yīng)用有不同的處理辦法。用同步來減少亞穩(wěn)態(tài)發(fā)生機(jī)會(huì)的典型電路如圖1所示。
在圖1中,左邊為異步輸入端,經(jīng)過兩級(jí)觸發(fā)器同步,在右邊的輸出將是同步的,而且該輸出基本不存在亞穩(wěn)態(tài)。其原理是即使第一個(gè)觸發(fā)器的輸出端存在亞穩(wěn)態(tài),經(jīng)過一個(gè)CLK周期后,第二個(gè)觸發(fā)器D端的電平仍未穩(wěn)定的概率非常小,因此第二個(gè)觸發(fā)器Q端基本不會(huì)產(chǎn)生亞穩(wěn)態(tài)。注意,這里說的是“基本”,也就是無法“根除”,那么如果第二個(gè)觸發(fā)器Q出現(xiàn)了亞穩(wěn)態(tài)會(huì)有什么后果呢?后果的嚴(yán)重程度是由你的設(shè)計(jì)決定的,如果系統(tǒng)對(duì)產(chǎn)生的錯(cuò)誤不敏感,那么系統(tǒng)可能正常工作,或者經(jīng)過短暫的異常之后可以恢復(fù)正常工作,例如設(shè)計(jì)異步FIFO時(shí)使用格雷碼計(jì)數(shù)器當(dāng)讀寫地址的指針就是處于這方面的考慮。如果設(shè)計(jì)上沒有考慮如何降低系統(tǒng)對(duì)亞穩(wěn)態(tài)的敏感程度,那么一旦出現(xiàn)亞穩(wěn)態(tài),系統(tǒng)可能就崩潰了。
4.亞穩(wěn)態(tài)與系統(tǒng)可靠性
使用同步電路以后,亞穩(wěn)態(tài)仍然有發(fā)生的可能,與此相連的是MTBF(Mean Time Between Failure),亞穩(wěn)態(tài)的發(fā)生概率與時(shí)鐘頻率無關(guān),但是MTBF與時(shí)鐘有密切關(guān)系。有文章提供了一個(gè)例子,某一系統(tǒng)在20MHz時(shí)鐘下工作時(shí),MTBF約為50年,但是時(shí)鐘頻率提高到40MHz時(shí),MTBF只有1分鐘!可見降低時(shí)鐘頻率可以大大減小亞穩(wěn)態(tài)導(dǎo)致系統(tǒng)錯(cuò)誤的出現(xiàn),其原因在于,提供較長(zhǎng)的resolution time可減小亞穩(wěn)態(tài)傳遞到下一級(jí)的機(jī)會(huì),提高系統(tǒng)的MTBF,如圖2所示。
5.總結(jié)
亞穩(wěn)態(tài)與設(shè)計(jì)可靠性有非常密切的關(guān)系,當(dāng)前對(duì)很多設(shè)計(jì)來說,實(shí)現(xiàn)需要的功能并不困難,難的是提高系統(tǒng)的穩(wěn)定性、可靠性,較小亞穩(wěn)態(tài)發(fā)生的概率,并降低系統(tǒng)對(duì)亞穩(wěn)態(tài)錯(cuò)誤的敏感程度可以提高系統(tǒng)的可靠性。
審核編輯:湯梓紅
-
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1629瀏覽量
80822 -
亞穩(wěn)態(tài)
+關(guān)注
關(guān)注
0文章
46瀏覽量
13327 -
可靠性
+關(guān)注
關(guān)注
4文章
266瀏覽量
26807
原文標(biāo)題:亞穩(wěn)態(tài)的傳播
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論