IC設(shè)計(jì)常見的異步電路處理故障
0.引言
大四保研到實(shí)驗(yàn)室正好碰到師兄師姐們找工作,聽到的一些面試常問的內(nèi)容就是“跨時鐘域”、”異步處理“、”異步FIFO“等。然而我看的一些經(jīng)典的書籍都是這樣說的”異步電路很難設(shè)計(jì),最好全部使用同步技術(shù)進(jìn)行設(shè)計(jì),所有寄存器器使用一個全局時鐘驅(qū)動“??稍趯?shí)際項(xiàng)目中,我又發(fā)現(xiàn)現(xiàn)代芯片設(shè)計(jì)中很難只使用一個時鐘,時鐘分頻邏輯、時鐘選擇多路器,除了多時鐘,有時還必須在兩個不同的時鐘間傳遞數(shù)據(jù)。也就是異步電路處理問題(兩個沒有特定關(guān)系的時鐘傳遞數(shù)據(jù)被認(rèn)為是異步的)。”異步電路很復(fù)雜“會有很多設(shè)計(jì)的不確定性。
1.亞穩(wěn)態(tài)
時序邏輯中大量使用D觸發(fā)器,D觸發(fā)器的一般結(jié)構(gòu)是:兩個串聯(lián)的反相器加兩個傳輸門構(gòu)成鎖存器,兩個鎖存器串聯(lián)構(gòu)成D觸發(fā)器。D觸發(fā)器是一種雙穩(wěn)態(tài)電路,兩個穩(wěn)定狀態(tài)”1“、”0“。兩個反向器構(gòu)成的反饋回路可能會產(chǎn)生亞穩(wěn)態(tài)。
圖 1-1 兩個反向器反饋回路輸出特性
IC設(shè)計(jì)常見的異步電路處理故障
如圖1-1所示,當(dāng)電壓處于兩個曲線的交叉點(diǎn)時,在沒有任意外部干擾的情況下,電路將保持此狀態(tài)不變,也就是進(jìn)入了亞穩(wěn)態(tài)。實(shí)際電路不可能完全沒有外部干擾,在外部干擾下,電路可能會重新趨于一個穩(wěn)定狀態(tài)。(ps:從特性曲線看,如果上升和下降斜率越大,電路能越快從亞穩(wěn)態(tài)電路中恢復(fù)過來。)圖 1-2 雙穩(wěn)態(tài)圖示
建立時間保持時間
建立時間:為了保證觸發(fā)器可靠的接受輸入數(shù)據(jù),數(shù)據(jù)需要在時鐘上升沿到來之前保持穩(wěn)定的最小時間。
保持時間:時鐘有效沿后,數(shù)據(jù)還需要保持的最小時間。
圖 1-3 建立保持時間與亞穩(wěn)時間窗
建立時間保持時間方程
Tco+Tcomp+Tsu<=T+Tskew;
Tco+Tcomp>=Thd+Tskew;
亞穩(wěn)態(tài)
如果不能滿足最小建立時間或最小保持時間,DFF輸出將是不定狀態(tài),或在高低電平之間震蕩,幾進(jìn)入亞穩(wěn)態(tài)。
亞穩(wěn)態(tài):指觸發(fā)器無法在某個規(guī)定的時間段內(nèi)達(dá)到一個可確認(rèn)的狀態(tài)。但觸發(fā)器進(jìn)入亞穩(wěn)態(tài)時,既無法預(yù)測改單元輸出電平,也無法預(yù)測何時才能穩(wěn)定在某個正確電平上。
圖 1-4 亞穩(wěn)態(tài)時間窗
如圖所示,當(dāng)在輸入數(shù)據(jù)在亞穩(wěn)時間窗變化時,Tco增大,在Tco_max之后還沒有穩(wěn)定的情況就是亞穩(wěn)態(tài)。[!--empirenews.page--]
2.異步數(shù)據(jù)傳輸
異步數(shù)據(jù)傳輸可能導(dǎo)致亞穩(wěn)態(tài),如圖2-1所示
圖 2-1 異步數(shù)據(jù)傳輸
兩個時鐘CLK1和CLK2沒有相關(guān)性,無法保證DFF1的輸出在DFF2上能滿足建立保持時間。CLK1的數(shù)據(jù)傳輸?shù)紺LK2上可能發(fā)生以下情況:
1)滿足建立保持時間,數(shù)據(jù)正確接收
2)實(shí)際的建立時間小于臨界時間點(diǎn),數(shù)據(jù)無法接收3)數(shù)據(jù)實(shí)際建立時間不滿足建立時間,但大于臨界時間點(diǎn),數(shù)據(jù)Tco增大。
4)數(shù)據(jù)越接近臨界時間點(diǎn)變化,延時時間越大,相差很小時,輸出無法預(yù)測,噪聲可使結(jié)果出現(xiàn)隨機(jī)性。
圖 2-2 異步傳輸亞穩(wěn)態(tài)時序
在CLK1和CLK2沒有任何關(guān)系的情況下,Q1可能在CLK2上升沿的任何時候跳變,DFF2輸出必定有一定的概率進(jìn)入亞穩(wěn)態(tài),一旦DFF2進(jìn)入亞穩(wěn)態(tài),Tco增大,當(dāng)Tco增大到大于T+Tskew-Tcomb-Tsu時,DFF2到DFF3會產(chǎn)生建立時間違例,從而產(chǎn)生亞穩(wěn)態(tài)傳播。
圖 2-3 亞穩(wěn)態(tài)測量電路
通過改變時鐘周期,可測得一系列不同Tco的MTBF值。
3.異步處理電路
針對不同的異步數(shù)據(jù)可以采用不同的同步處理方式。
1)電平信號:多級串聯(lián)的DFF(2級以上)。
2)脈沖信號:
①在慢時鐘到快時鐘域傳遞,且連個時鐘相差比較大時,慢時鐘的脈沖可以被快時鐘當(dāng)做電平,使用電平同步技術(shù)同步后,在采用邊沿檢測電路即可得到相應(yīng)的脈沖信號。
②快時鐘到慢時鐘,使用脈沖同步器,下圖給出了兩個電路,不歸0翻轉(zhuǎn)電路,反饋清0電路IC設(shè)計(jì)常見的異步電路處理故障
3)多bit數(shù)據(jù):使用握手協(xié)議或者異步FIFO。在握手協(xié)議中,異步的REQ/ACK需要使用上述同步技術(shù)進(jìn)行同步處理,異步FIFO也是如此。關(guān)于FIFO涉及的內(nèi)容比較多,后續(xù)專門講解。