引言
在數(shù)字電路設(shè)計(jì)中,大部分設(shè)計(jì)都是同步時(shí)序設(shè)計(jì),所有的觸發(fā)器都是在同一個(gè)時(shí)鐘節(jié)拍下進(jìn)行翻轉(zhuǎn)。這樣就簡化了整個(gè)設(shè)計(jì),后端綜合、布局布線的時(shí)序約束也不用非常嚴(yán)格。但是在設(shè)計(jì)與外部設(shè)備的接口部分時(shí),大部分外部輸入的信號(hào)與本地時(shí)鐘是異步的。在SoC設(shè)計(jì)中,可能同時(shí)存在幾個(gè)時(shí)鐘域,信號(hào)的輸出驅(qū)動(dòng)和輸入采樣在不同的時(shí)鐘節(jié)拍下進(jìn)行,可能會(huì)出現(xiàn)一些不穩(wěn)定的現(xiàn)象。本文分析了在跨時(shí)鐘域信號(hào)傳遞時(shí)可能會(huì)遇見的問題,并介紹了幾種處理異步時(shí)鐘域接口的方法。
圖1 多時(shí)鐘域的信號(hào)傳遞
圖2 異步信號(hào)傳輸通過不同路徑
圖3 同步器的構(gòu)建和使用
圖4 兩級(jí)采樣的同步器
圖5 一級(jí)采樣的同步器故障
圖6 兩級(jí)采樣的同步器
亞穩(wěn)態(tài)
當(dāng)觸發(fā)器的建立時(shí)間和保持時(shí)間要求沒有得到滿足時(shí),觸發(fā)器就會(huì)進(jìn)入一個(gè)界于邏輯1和邏輯0之間的第三種狀態(tài),即亞穩(wěn)態(tài)。
理想的觸發(fā)器是在時(shí)鐘邊沿到達(dá)的那個(gè)時(shí)刻采樣數(shù)據(jù)。但是在實(shí)際電路中,時(shí)鐘的跳變具有一定的斜率,電路采樣、保存、傳遞數(shù)據(jù)也需要一定的時(shí)間。如果在數(shù)據(jù)還未穩(wěn)定時(shí)進(jìn)行采樣,就可能會(huì)導(dǎo)致亞穩(wěn)態(tài)的發(fā)生。
平均無故障時(shí)間MTBF(Mean time between failures)是指任意兩次故障出現(xiàn)的間隔時(shí)間的期望值。一個(gè)系統(tǒng)亞穩(wěn)態(tài)的MTBF是和系統(tǒng)頻率、器件速度相關(guān)的指數(shù)函數(shù):
公式中的tr是有效的亞穩(wěn)態(tài)最大分辨時(shí)間,是指觸發(fā)器能夠保持亞穩(wěn)態(tài)輸出,并不會(huì)引起故障的時(shí)間。f是觸發(fā)器的時(shí)鐘頻率。是異步輸入每秒變化的次數(shù)。To和是由觸發(fā)器的電氣特性決定的參數(shù),可用于表征觸發(fā)器翻轉(zhuǎn)速度的快慢。增加tr,或者減小To、或f都可以加大MTBF,即使兩次故障出現(xiàn)的時(shí)間間隔加大。但在一般情況下,系統(tǒng)中的tr和f是固定的,故只能通過減小To、t或a來改善系統(tǒng)。降低輸入信號(hào)的變化頻率a可以滿足建立時(shí)間和保持時(shí)間的要求。而To、t是器件的固有性質(zhì),只有用速度更快的器件才能減小它們。
多時(shí)鐘域下同步器的設(shè)計(jì)與分析
當(dāng)在某個(gè)時(shí)鐘邊沿采樣一個(gè)變化的數(shù)據(jù)信號(hào)時(shí),時(shí)鐘邊沿和數(shù)據(jù)變化這兩個(gè)事件出現(xiàn)的先后順序?qū)Q定結(jié)果。這兩個(gè)事件出現(xiàn)先后的差異越小,判斷哪個(gè)事件先到來所花的時(shí)間就越多。當(dāng)兩個(gè)事件到來太接近時(shí),就會(huì)使判決所花的時(shí)間超過規(guī)定的分辨時(shí)間,從而導(dǎo)致故障發(fā)生。
異步信號(hào)傳輸?shù)膯栴}分析
如果信號(hào)跨越不同的時(shí)鐘域,就有可能會(huì)出現(xiàn)不滿足建立時(shí)間和保持時(shí)間的情況。如圖1所示,信號(hào)A經(jīng)過組合邏輯傳遞到模塊B中的觸發(fā)器,若信號(hào)A到達(dá)時(shí)間與模塊B的時(shí)鐘邊沿非常接近,模塊B中的觸發(fā)器就會(huì)工作在不確定的亞穩(wěn)態(tài)。如果這個(gè)亞穩(wěn)態(tài)持續(xù)了一個(gè)周期,就會(huì)影響到下一級(jí)的觸發(fā)器,最終產(chǎn)生連鎖反應(yīng),使整個(gè)芯片的功能發(fā)生混亂。
另外一種可能出現(xiàn)的現(xiàn)象如圖2所示,由于在實(shí)際電路中存在延時(shí),圖中采樣同一個(gè)異步信號(hào)的兩個(gè)D觸發(fā)器無法按理想狀況接收到時(shí)鐘信號(hào)和輸入信號(hào)。因此,當(dāng)異步輸入在時(shí)鐘邊沿發(fā)生變化時(shí),會(huì)出現(xiàn)在一段時(shí)間內(nèi),兩個(gè)觸發(fā)器的輸出值SYN1和SYN2不一致的情況。這種不一致將會(huì)導(dǎo)致系統(tǒng)出現(xiàn)不正確的操作。
另外,圖2中組合邏輯電路中的不同通路不可避免的具有不同的延時(shí),因此,產(chǎn)生不一致結(jié)果的可能性就更大,這種情況在有異步信號(hào)輸入的狀態(tài)機(jī)里特別普遍。例如,某個(gè)VME總線接口芯片,用于完成VME總線時(shí)序到MC6000系列CPU時(shí)序的轉(zhuǎn)換。CPU時(shí)鐘是50MHz,VME總線系統(tǒng)的時(shí)鐘是64MHz。VME總線是異步總線,存在很多跨越時(shí)域的握手信號(hào),如果不使用同步器對與狀態(tài)機(jī)的狀態(tài)變量相關(guān)的信號(hào)進(jìn)行同步化處理,就會(huì)出現(xiàn)故障。
同步器在多時(shí)鐘域設(shè)計(jì)中的應(yīng)用
同步器的功能是采樣異步輸入信號(hào),并使產(chǎn)生的輸出信號(hào)滿足同步系統(tǒng)的建立時(shí)間和保持時(shí)間的要求。簡單的同步器一般采用D觸發(fā)器來構(gòu)成。圖3中,D觸發(fā)器的每一個(gè)時(shí)鐘觸發(fā)沿采樣異步輸入信號(hào),并產(chǎn)生一個(gè)同步后的輸出信號(hào)。要構(gòu)建更好的同步器可以采用更快速的觸發(fā)器,減小采樣保持時(shí)間,使器件能夠更快地采樣到信號(hào);或者增加MTBF方程中的tr值,等信號(hào)穩(wěn)定后再采樣,這可以通過延時(shí)采樣來實(shí)現(xiàn)。
圖4為最常用的一種同步器,與一級(jí)同步相比,兩級(jí)同步能夠更可靠地避免亞穩(wěn)態(tài)的出現(xiàn),而三級(jí)以上同步器的效果并不能提高多少。
同步器故障分析
如果同步器的建立時(shí)間和保持時(shí)間得不到滿足,那么觸發(fā)器同樣會(huì)進(jìn)入亞穩(wěn)態(tài)。這個(gè)亞穩(wěn)態(tài)通過不同的延時(shí)傳到組合邏輯中,一部分電路把這個(gè)信號(hào)識(shí)別為邏輯1,一部分又將其識(shí)別為邏輯0,也會(huì)導(dǎo)致系統(tǒng)邏輯的混亂。
下面將比較一下一級(jí)同步器和兩級(jí)采樣同步器的差異。
一級(jí)同步器如圖5所示,aclk時(shí)鐘域產(chǎn)生的信號(hào)adat的變化與bclk時(shí)鐘域時(shí)鐘的邊沿采樣太接近,未滿足采樣保持時(shí)間。同步器故障導(dǎo)致輸出出現(xiàn)亞穩(wěn)態(tài),且在下一個(gè)時(shí)鐘邊沿到來之前,不會(huì)變成穩(wěn)態(tài)。此輸出傳遞到后面的組合邏輯中,導(dǎo)致系統(tǒng)混亂。
兩級(jí)同步器如圖6所示,當(dāng)?shù)谝患?jí)觸發(fā)器采樣異步輸入之后,允許輸出出現(xiàn)的亞穩(wěn)態(tài)可以長達(dá)一個(gè)周期,在這個(gè)周期內(nèi),亞穩(wěn)態(tài)特性減弱。在第二個(gè)時(shí)鐘沿到來時(shí),第二級(jí)同步器采樣,之后才把該信號(hào)傳遞到內(nèi)部邏輯中去。第二級(jí)輸出是穩(wěn)定且已被同步了的。如果在第二級(jí)采樣時(shí)第一級(jí)的輸出仍然處于很強(qiáng)的亞穩(wěn)態(tài),將會(huì)導(dǎo)致第二級(jí)同步器也進(jìn)入亞穩(wěn)態(tài),但這種故障出現(xiàn)的概率比較小。
兩級(jí)同步器總體的故障概率是一級(jí)同步器故障概率的平方。例如,對74LS74系列器件來說, TO=0.4s,t=1.5ns,建立時(shí)間ts=20ns。設(shè)時(shí)鐘頻率為10MHz,則同步器分辨時(shí)間tr=80ns。若異步信號(hào)變化頻率a=100kHz,則一級(jí)同步器的平均無故障時(shí)間為:
兩級(jí)同步器的MTBF為[MTBF(80ns)]2=1.296×1023s。在大部分的同步化設(shè)計(jì)中,兩級(jí)同步器足以消除所有可能的亞穩(wěn)態(tài)了。
結(jié)語
在異步設(shè)計(jì)時(shí),同步化和亞穩(wěn)態(tài)的問題是難以避免的。本文對該類問題做了較為詳細(xì)的分析。文中介紹的同步器解決亞穩(wěn)態(tài)和同步化的方案簡單、可行性較高,能夠滿足絕大部分的邏輯設(shè)計(jì)。
責(zé)任編輯:gt
-
布線
+關(guān)注
關(guān)注
9文章
762瀏覽量
84272 -
布局
+關(guān)注
關(guān)注
5文章
265瀏覽量
24970 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
1995瀏覽量
61012
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論