專利名稱:一種跨時鐘域事件雙向傳遞的方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要應(yīng)用于多時鐘域數(shù)字集成電路設(shè)計中跨時鐘域事件的雙向傳遞,如中 斷請求事件與響應(yīng)事件的傳遞、共享數(shù)據(jù)緩沖區(qū)讀寫事件的傳遞等等。
背景技術(shù):
在數(shù)字集成電路設(shè)計領(lǐng)域,片上系統(tǒng)(SOC)設(shè)計已成為目前集成電路設(shè)計中一項 最主要的技術(shù)。隨著SOC設(shè)計規(guī)模的越來越大,對異步電路進(jìn)行動態(tài)仿真來進(jìn)行驗證所花 費的時間也越來越長,甚至變得不可接受。而對于同步電路而言,其特性在于電路的輸出變 化總是與時鐘有著固定的關(guān)系(如總是在時鐘上升沿或下降沿時刻變化)。因此對于同步 電路可以使用一些靜態(tài)的分析手段(如靜態(tài)時序分析)來減小驗證設(shè)計時序的工作量,大 大縮短驗證的時間。因此基于時鐘的同步電路在數(shù)字集成電路設(shè)計中被大量廣泛的使用。隨著設(shè)計復(fù)雜度的增加以及出于降低集成電路功耗的考慮,在設(shè)計中往往會采用 多個時鐘信號,各個時鐘信號的頻率和相位都可能各不相同。在本領(lǐng)域中一般將同一個時 鐘信號驅(qū)動下的電路稱為一個時鐘域。如果工作在某個時鐘下的電路的輸出為工作在另一 個時鐘下電路的輸入,則把這個信號稱為跨時鐘域信號。如果在設(shè)計中對跨時鐘域信號的 處理不當(dāng),就會因為同步電路的時序違反,從而導(dǎo)致電路出現(xiàn)亞穩(wěn)態(tài),進(jìn)而可能導(dǎo)致邏輯錯 誤或功能出錯。由于此類錯誤的出現(xiàn)取決于兩個時鐘之間的關(guān)系以及亞穩(wěn)態(tài)出現(xiàn)后最終導(dǎo) 致錯誤的幾率,因此這種類型的錯誤往往最終表現(xiàn)為可靠性較低,會偶爾發(fā)生功能錯誤,因 此這種設(shè)計錯誤在早期的驗證過程中很難被識別出來。此外當(dāng)設(shè)計中需要跨時鐘域傳遞事件時,也需要對電路進(jìn)行仔細(xì)設(shè)計,一般的傳 遞電路會對源時鐘域和目標(biāo)時鐘域的時鐘頻率關(guān)系或相位關(guān)系要一定要求,且只能實現(xiàn)單 向的事件傳遞。當(dāng)實現(xiàn)上述功能的電路設(shè)計不當(dāng)時就會出現(xiàn)被傳遞的事件丟失,導(dǎo)致整個 集成電路芯片功能出錯。
發(fā)明內(nèi)容
本發(fā)明的目的在于解決一種利用狀態(tài)量的跨時鐘域事件雙向傳遞的方法,其不僅 可用于兩個時鐘域之間跨時鐘域事件的雙向傳遞,也可適用于多個時鐘域兩兩之間跨時鐘 域事件的雙向傳遞。兩個時鐘域之間事件的雙向傳遞問題,即兩個時鐘域在不同的時刻既可能是發(fā)送 事件的源時鐘域又可能是接收事件的目標(biāo)時鐘域。通過采用本發(fā)明中所提出的方法或裝置 可以在兩個時鐘頻率、相位完全無關(guān)的時鐘域之間實現(xiàn)事件的可靠雙向傳遞,也可完成多 個時鐘域兩兩之間跨時鐘域事件的雙向傳遞。本發(fā)明所采用的具體技術(shù)方案如下(1).工作在時鐘域1中的事件檢測裝置檢測到時鐘域1中的一個有效事件時,事 件可能是一個中斷請求或?qū)蚕頂?shù)據(jù)緩沖區(qū)的一次讀或?qū)懖僮魇录?。?dāng)檢測到特定事件發(fā) 生時(如中斷請求信號有效,或外部設(shè)備對共享數(shù)據(jù)緩沖區(qū)執(zhí)行了一次讀或?qū)懖僮?,檢測 裝置輸出一個有效脈沖信號。
3
(2).狀態(tài)指示裝置中的兩個子模塊各自工作在時鐘域1和時鐘域2,兩個子模塊 使用1比特數(shù)據(jù)(狀態(tài)量)來表示其狀態(tài)。在初始狀態(tài)下,兩個子模塊的狀態(tài)量被設(shè)置為 完全相同;當(dāng)兩個子模塊的狀態(tài)量相異時表示兩個子模塊狀態(tài)互斥。(3).當(dāng)狀態(tài)指示裝置接收到時鐘域1中事件檢測裝置輸出的脈沖信號之后,首先 對其內(nèi)部兩個子模塊的狀態(tài)進(jìn)行判斷,若兩個子模塊已處于互斥狀態(tài),那么則表示之前的 事件傳遞尚未完成,需要丟棄新產(chǎn)生的事件,因此子模塊不更新其狀態(tài)。若兩個子模塊處于 非互斥狀態(tài),則狀態(tài)指示裝置更新子模塊A的狀態(tài),翻轉(zhuǎn)其狀態(tài)量。(4).工作在時鐘域2中的狀態(tài)檢測裝置檢測到狀態(tài)指示裝置內(nèi)部子模塊A和B的 狀態(tài)量相異,則在時鐘域2輸出檢測結(jié)果,實現(xiàn)事件從時鐘域1到時鐘域2的傳遞,并同時 產(chǎn)生回應(yīng)脈沖信號,狀態(tài)指示裝置根據(jù)回應(yīng)脈沖信號更新子模塊B的狀態(tài),(即翻轉(zhuǎn)其狀態(tài) 量),使子模塊A和B的狀態(tài)量再次變?yōu)橄嗤?,此時整個裝置回到初始狀態(tài),一次從時鐘域1 到時鐘域2的事件傳遞完成。(5).由于整個裝置為對偶結(jié)構(gòu),因此當(dāng)需要從時鐘域2向時鐘域1傳遞事件時,整 個過程與上述步驟1至4類似。
圖1給出了依據(jù)本發(fā)明中的方法所實現(xiàn)的裝置所包含的各個功能模塊及其互連關(guān)系。圖2給出了狀態(tài)指示模塊中子模塊的狀態(tài)切換圖。圖3給出了依據(jù)本發(fā)明實施例所設(shè)計芯片的功能框圖。圖4給出了依據(jù)本發(fā)明實施例所設(shè)計芯片的關(guān)鍵信號時序圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明的實施例進(jìn)行說明。本實施例在以本發(fā)明技術(shù)方案的前提 下進(jìn)行實施,給出了詳細(xì)的實施方式和實現(xiàn)細(xì)節(jié),本發(fā)明的保護(hù)范圍不限于下述的實施例。如圖3中所示,當(dāng)外圍設(shè)備的特定事件發(fā)生時,需要通知處于另一個時鐘域中的 處理器來進(jìn)行相應(yīng)處理。同時,在另一些情況下,當(dāng)處理器上特定事件發(fā)生時也需要通知處 于另一個時鐘域中的外圍設(shè)備進(jìn)行相應(yīng)處理。整個過程的實現(xiàn)細(xì)節(jié)如下所述,整個過程中 關(guān)鍵信號的時序如圖4中所示1.初始情況下,兩個時鐘域的事件檢測裝置的輸出event_deteCtA和event_ detectB均保持為低電平,狀態(tài)指示裝置中子模塊A的狀態(tài)和子模塊B的狀態(tài)為一致,其狀 態(tài)量StateA禾口 StateB均為低電平;2.當(dāng)外圍設(shè)備的特定事件發(fā)生時,時鐘域1中的事件檢測裝置產(chǎn)生事件觸發(fā)脈沖 event_detectA,此脈沖信號保持一個時鐘域1中時鐘(clkl)周期的高電平;3.在事件觸發(fā)脈沖的控制下,狀態(tài)指示裝置中的子模塊A發(fā)生狀態(tài)更新,其狀態(tài) 量(stateA)發(fā)生翻轉(zhuǎn);4.利用時鐘域2的時鐘(elk》對stateA信號進(jìn)行兩級D觸發(fā)器采樣處理得 到stateA’,此時工作在時鐘域2的狀態(tài)檢測裝置通過檢測stateA’和stateB獲知子模 塊A和子模塊B狀態(tài)量的不同,因此輸出一個檢測結(jié)果脈沖(resultB)以及一個回應(yīng)脈沖(ackB);5.在回應(yīng)脈沖的控制下,狀態(tài)指示裝置中子模塊B的狀態(tài)被更新,其狀態(tài)量 StateB翻轉(zhuǎn),此時事件從時鐘域1到時鐘域2的事件傳遞完成,狀態(tài)指示裝置中子模塊A和 子模塊B的狀態(tài)再次相同,只不過此時狀態(tài)量均為高電平,此時整個電路又回到初始狀態(tài), 可以進(jìn)行下一次的事件傳遞;6.當(dāng)處理器上特定事件發(fā)生時,時鐘域2中的事件檢測裝置產(chǎn)生事件觸發(fā)脈沖 event_detectB,與event_detectA時序類似,此信號也保持一個時鐘域2中時鐘(clk2)周 期的高電平;7.在事件觸發(fā)脈沖的控制下,狀態(tài)指示裝置中的子模塊B發(fā)生狀態(tài)更新,其狀態(tài) 量(stateB)發(fā)生翻轉(zhuǎn);8.利用時鐘域1的時鐘(clkl)對stateB信號進(jìn)行兩級D觸發(fā)器采樣處理得 到stateB’,此時工作在時鐘域1的狀態(tài)檢測裝置通過檢測stateB’和stateA獲知子模 塊A和子模塊B狀態(tài)量的不同,因此輸出一個檢測結(jié)果脈沖(resultA)以及一個回應(yīng)脈沖 (ackA);9.在回應(yīng)脈沖的控制下,狀態(tài)指示裝置中子模塊A的狀態(tài)被更新,其狀態(tài)量 stateA翻轉(zhuǎn),此時事件從時鐘域2到時鐘域1的事件傳遞完成,狀態(tài)指示裝置中子模塊A和 子模塊B的狀態(tài)再次相同,此后整個電路又可以進(jìn)行下一次的事件傳遞;上面描述了通過本發(fā)明中的裝置在兩個時鐘域之間進(jìn)行雙向事件傳遞的過程以 及具體的實現(xiàn)細(xì)節(jié)。本發(fā)明中所提出的方法及依照其實現(xiàn)的裝置可以應(yīng)用于兩個頻率、相 位無關(guān)時鐘域之間的雙向事件傳遞,也可適用于多個時鐘域兩兩之間跨時鐘域事件的雙向 傳遞。
權(quán)利要求
1.一種利用狀態(tài)量的跨時鐘域事件雙向傳遞的裝置,其特征在于包括事件檢測裝置當(dāng)該時鐘域事件發(fā)生時產(chǎn)生事件觸發(fā)脈沖,事件檢測裝置輸出一個有 效脈沖信號,啟動狀態(tài)指示裝置動作;狀態(tài)指示裝置當(dāng)任一時鐘域的事件觸發(fā)脈沖發(fā)生時,狀態(tài)指示裝置更新相應(yīng)時鐘域 的子模塊狀態(tài);狀態(tài)檢測裝置狀態(tài)檢測裝置對狀態(tài)指示裝置中兩個子模塊狀態(tài)的輸出進(jìn)行比較,當(dāng) 兩個子模塊狀態(tài)相異時輸出有效結(jié)果,并產(chǎn)生回應(yīng)脈沖控制信號,狀態(tài)指示裝置根據(jù)回應(yīng) 脈沖信號更新對應(yīng)子模塊的狀態(tài),實現(xiàn)跨時鐘事件的傳遞。
2.根據(jù)權(quán)利要求1所述的一種利用狀態(tài)量的跨時鐘域事件雙向傳遞的裝置,其特征在 于所述狀態(tài)指示裝置內(nèi)部包含兩個子模塊,兩個子模塊的初始狀態(tài)相同,當(dāng)兩個子模塊狀 態(tài)量相異時,不再更新子模塊的狀態(tài)。
3.根據(jù)權(quán)利要求1所述的一種利用狀態(tài)量的跨時鐘域事件雙向傳遞的裝置,其特征在 于所述狀態(tài)指示裝置中的子模塊利用1比特數(shù)據(jù)來表示子模塊狀態(tài),當(dāng)一個子模塊狀態(tài)被 更新后其狀態(tài)量也相應(yīng)發(fā)生翻轉(zhuǎn)。
4.一種利用狀態(tài)量的跨時鐘域事件雙向傳遞的方法,其特征在于包含以下步驟(1).工作在一個時鐘域中的事件檢測裝置檢測到此時鐘域中的一個有效事件,事件檢 測裝置輸出一個有效脈沖信號;(2).當(dāng)狀態(tài)指示裝置接收到此時鐘域中事件檢測裝置輸出的脈沖信號之后,首先對其 內(nèi)部兩個子模塊的狀態(tài)進(jìn)行判斷,若兩個子模塊狀態(tài)量相異,需要丟棄此有效事件,子模塊 狀態(tài)不更新;若兩個子模塊狀態(tài)量相同,則狀態(tài)指示裝置更新對應(yīng)子模塊的狀態(tài),翻轉(zhuǎn)其狀 態(tài)量;(3).工作在另一時鐘域中的狀態(tài)檢測裝置檢測到狀態(tài)指示裝置內(nèi)部子模塊的狀態(tài)量 相異,則在此時鐘域輸出檢測結(jié)果,并同時產(chǎn)生回應(yīng)脈沖信號,狀態(tài)指示裝置根據(jù)回應(yīng)脈沖 信號更新對應(yīng)子模塊的狀態(tài)。
5.如權(quán)利要求4所述的一種利用狀態(tài)量的跨時鐘域事件雙向傳遞的方法,其特征在于 狀態(tài)指示裝置中的兩個子模塊工作在各自時鐘域,兩個個子模塊使用1比特數(shù)據(jù)表示其狀 態(tài),在初始狀態(tài)下,兩個個子模塊的狀態(tài)量被設(shè)置為相同。
6.如權(quán)利要求4所述的一種利用狀態(tài)量的跨時鐘域事件雙向傳遞的方法,其特征在于 該方法適用于多個時鐘域兩兩之間跨時鐘域事件的雙向傳遞。
全文摘要
本發(fā)明提出了一種用于多時鐘域數(shù)字集成電路設(shè)計領(lǐng)域中對跨時鐘域事件進(jìn)行雙向傳遞的方法及其裝置。在本發(fā)明中,包含兩個在不同時鐘域的信號或數(shù)據(jù)變化檢測裝置、一個內(nèi)部包含兩個子模塊的狀態(tài)指示裝置以及兩個在不同時鐘域的狀態(tài)檢測裝置。當(dāng)上述任一時鐘域中的事件觸發(fā)后,檢測裝置產(chǎn)生脈沖控制信號啟動狀態(tài)指示裝置,狀態(tài)指示裝置中相應(yīng)時鐘域的子狀態(tài)模塊發(fā)生狀態(tài)翻轉(zhuǎn),最終狀態(tài)檢測裝置根據(jù)兩個子狀態(tài)模塊的狀態(tài)輸出結(jié)果,完成事件在源時鐘域信號到目標(biāo)時鐘域的傳遞。由于狀態(tài)指示器中的兩個狀態(tài)子模塊完全對偶,因此依據(jù)本發(fā)現(xiàn)設(shè)計的裝置可用于從源時鐘域到目標(biāo)時鐘域以及相反方向的跨時鐘域雙向傳遞,且對兩個時鐘域的時鐘無特殊要求。
文檔編號H04L7/02GK102111260SQ20091024348
公開日2011年6月29日 申請日期2009年12月23日 優(yōu)先權(quán)日2009年12月23日
發(fā)明者張帆 申請人:北京中電華大電子設(shè)計有限責(zé)任公司