瀏覽人次:【7678】
CDC的協定
一個跨時脈域協定,可以被定義為使一個跨時脈域訊號在跨時域範圍內正確被傳輸的假設,有許多不同型態的CDC協議,被用來確認跨時域的資料是否正確被傳送,同時這也必須視何種同步架構被用到。即使CDC訊號必須靠2DFF同步器來取同步,它同時也要遵守CDC的協議:傳送暫存器的輸出端必須要一直保存它的值,直到同步器的輸出端已經準備好,以及它的值已被接收端所取樣。
《圖一 CDC協定傳輸之實例》 |
CDC的協定必須要強制遵守,以確認在跨時域下,資料不會被破壞。即使在設計中,正確的使用同步方法,功能性的問題還是會發生,例如,當訊號已經穩定了,但CDC的訊號卻產生變化;或是同步器的輸入訊號在接收端連續的兩個時脈週期都變化。因為傳統RTL的仿真無法模擬亞穩態狀態,錯誤通常無法經由模擬反應出來,通常藉由晶片顯示出來後,其時而正確,時而錯誤的行為讓晶片必須重新設計,因此將付出昂貴代價。
CDC的再聚合效應(Reconvergence)
當多個訊號從一時域被傳送至另一時域,而彼此間執行某種邏輯功能運算時,被稱做再聚合效應(reconvergence)。假如這些訊號有一定關係,CDC再聚合效應的錯誤就會產生。
使用2DFF同步器來檢視之前的問題,可以觀察到的現象是亞穩態在實際設計中,會造成不可預測的遞延,在經由同步器傳送CDC訊號的過程中。假如一個亞穩態SSP暫存器的輸出端已達到正確值,而這個值也會在下個週期被正確傳遞到下一級的輸出端。但假如SSP暫存器的輸出端是到達一個錯誤值時,就需要一個額外週期來傳遞此一正確的值。
因為就CDC訊號而言,亞穩態是無法避免的,設計者就必須要確認,在所有情況下,CDC訊號的任何關係都有可能。又因為亞穩態的狀況,無法用傳統模擬的方式來驗證,任何因應再聚合效應所犯的錯誤也無從發現。
因應再聚合效應的最佳方式就是,充分瞭解再聚合效應的不同種類,以最佳的線路設計方式來有效的排除此一現象。
單一位元多時脈的再聚合效應
假如就不同時域移動的單一訊號而言,其彼此間的多重轉換(transition)是有一定關係的,但經過同步器時,因為無法預測的遞延就會有破壞彼此關係的潛在危機。
《圖二 不同時域移動的單一訊號,彼此間的多重轉換具有一定關係》 |
多位元的再聚合效應(Multi-Bit Reconvergence)
當多位元訊號分別被同步處理,而且在不同時域傳送時,每一同步路徑將會有不同的遞延,彼此間也是獨立的。假如這些訊號彼此間有關係的話,這些關係也會被破壞掉,造成接收端的潛在危機。
《圖三 同步路徑的遞延將造成接收端的潛在危機。》 |
多位元多週期的再聚合效應(Multi-Bit Multi-Cycle Reconvergence)
即便使用前例再聚合效應的防範方式,一個設計還是可能會墜入多位元多週期的問題。這個現象會發生,主要是導因於任何邏輯其依賴資料在不同領域傳遞時,將會有可變的輸出時序。
假如含有多重功能(例如多個狀態機彼此間都有互動時),在模擬中關係都會產生變化。此種再聚合效應可能會在設計中,非常深入的地方,離CDC訊號很遠處,因此很難發現跟解決此種問題的根源。
CDC驗證的自動化
一個完整的CDC解決方案必須要能確認在整個設計中有妥善的同步架構,這些結構所需的協定都必須要能遵守。而這些設計的技巧,也必須要被應用以處理各種形式的再聚合效應。傳統的驗證技巧已無法應付所有領域,使CDC問題讓設計團隊承受高度的風險。
為了克服傳統驗證方法的侷限,完整的CDC解決方案對於跨時脈域解決方案需使用獨特的技巧,以加強現存的驗證結構,能自動驗證跨時脈域處理的正確性。跨時脈域利用三項關鍵能力可完成此功能:
* 靜態分析以保證同步裝置的結構正確性;
* 自動產生斷言來驗證跨時脈域協定;
* 產生亞穩態效應嵌入已存的模擬器來檢驗聚合邏輯。
這些技術被連接在一起並且高度自動化,使得它們可以被專家和非專家用戶所使用。
結構驗證
過去,在設計中CDC的訊號數量相對較少,設計團隊可以人工檢閱所有的連接,來確保它們的正確排列。然而,在今日的設計中,時域與經過它們的訊號數量急遽增加,這種人工檢閱的過程變得很不實際,而且出錯率極高。使用靜態分析技術之CDC解決方案進行結構驗證,它會自動執行以下任務:
* 確定設計中使用的時脈結構(時脈域、時脈門、除頻器等);
* 確定設計中的所有CDC訊號;
* 決定訊號的同步機制;
* 檢查同步機制是否被正確實施和使用。
《圖四 在2DFF同步器中出現的邏輯錯誤》 |
儘管這些步驟是自動實施的,但使用者依然可以導引此工具,藉著提供額外資訊,例如時脈群、優先的同步類型、例外情況和許多其他選擇的資訊來進行管理。
如果發現結構同步中的問題,可以使用一個圖形介面的互動環境來處理CDC訊號並排除此一問題。
在結構驗證中的所有問題可以透過修改設計,或者人工的檢閱而被修正。
協議驗證
一旦CDC管理結構設計中的問題被修正後,就需要驗證設計中是否貫徹了CDC交換協議。
一般來說,CDC協議的驗證如果被徹底實施,會包括多時脈關係下的執行模擬,因為其中的某一個時脈關係就可能會引發一個功能的錯誤。這種做法的問題在於工程師只可能覆蓋小部分的時脈和設計狀態的關係,這使整個過程的效果不那麼明顯。即使一個錯誤被模擬出來,仍然需要回到測試平台進行檢測,這樣就很明顯減少了CDC驗證的效果。
《圖五 CDC協議的驗證可能引發功能的錯誤》 |
完整的CDC解決方案透過基於斷言的高級驗證技術方式克服了這些侷限。在結構驗證的設計中抽離出的資訊,可以自動生成CDC協定的檢測器。它們會包含斷言來檢測正確的CDC協議是不是一直被遵循,而且與現有的時脈關係無關。這些斷言不要求,違法協定的實例一定導致模擬的失敗。在模擬中任何違法協定的實例都會被自動捕捉下來,這使設計者能夠解決問題。
另外,還可捕捉檢測器關鍵的覆蓋資訊。這使驗證團隊能夠對CDC驗證的品質進行量化。當運算這些多重模擬時,所得到的結果會自動連接,這使CDC測試中的覆蓋漏洞得以暴露。
再聚合檢驗(Reconvergence)
確定一個設計不會產生任何CDC問題的最後一步,就是確保設計中的所有再聚合邏輯,在所有亞穩態下,都不會出現錯誤。
再聚合問題是CDC問題中最難發現和排除的問題。一些設計小組在設計中加入了特殊的時序模型來協助找出潛在的問題,但是這些解決方案在尋找漏洞方面的能力非常有限。
《圖六 靜態分析技術能檢測出所有設計中可被啟動的CDC再聚合路徑》 |
完整的CDC解決方案包含一個窮舉式的靜態分析技術,它能夠檢測出所有設計中可被啟動的CDC再聚合路徑。當使用形式驗證技術時,誤判的再聚合會自動被檢測出來。一旦一個再聚合路徑被檢測出來,工程師便可以使用整合的除錯環境來解決它。
然而,靜態的再聚合分析,必須要依靠設計團隊的人工檢測來確定是否真正出現了問題。這是一個非常耗時,而且容易出現錯誤的過程。要使用靜態技術來發現所有的多迴圈,多位元的再聚合實例也不那麼實際,因為實際上可能出現的交疊狀況非常多。
為了克服這些侷限,利用CDC-FX技術可整合現有的模擬環境來注入亞穩態效果,以複製出可能會在最終硬體中產生的各種延遲行為。
《圖七 亞穩態被自動注入RTL模擬和CDC路徑中》 |
亞穩態被自動注入現有的RTL模擬和所有的CDC路徑中,儘管那些都不使用結構同步。只有當這些亞穩態在硬體中實際發生時,它們才會被隨機地植入CDC訊號中。由於再聚合路徑,當設計中不能容忍這些亞穩態產生的效果時,一個功能性錯誤就會被模擬出來,並且可以使用傳統的技術來排除錯誤。
使用CDC-FX可以免去使用靜態分析檢測時,潛在違規實例的人工步驟,它還能檢測出隱藏於深層的再聚合問題,而這些問題使用其他技術並無法檢測而出。在這個步驟中,自動生成的覆蓋監測器會繼續衡量再聚合CDC訊號的活動。
CDC驗證方法
CDC的設計中會出現許多問題,檢測這些問題又需具備許多不同的技術。所以採用一種綜合而有效的方法就顯得非常關鍵,以期能減少驗證的重複工作,並得以將檢測出的問題數量最大化。
模組式設計
在模組設計中,只要主要的代碼發生了改變,就應當進行靜態分析,這會在測試平台之前就檢測出結構問題和模組級別的再聚合問題。
模組驗證
在模組級的檢測中,應當使用包含生成的CDC協議監測器來確保CDC協議被遵守。CDC協議監測器可以在正式的檢測和模擬中被使用。
系統整合
當系統整合時應當再次運行靜態分析,來檢測多重模組整合時產生的新CDC訊號。
系統驗證
在系統驗證的過程中,CDC協定監測器應當包含在正常的回歸測試中。也應檢查監測器的覆蓋性,並且利用額外的測試來填補覆蓋的漏洞。最後,一旦系統驗證的結果穩定了,回歸測試應當包括CDC-FX亞穩態注入器。
結論
在今天的設計中,時脈域和經過它們的訊號數量的大大增加,使人工檢查這些連接變得不實際而且非常容易產生錯誤。這使亞穩態在晶片中引發錯誤的可能性大大增加。
一個完整的CDC驗證方案,必須確保整個設計中使用了正確的同步結構,這些結構所需的協定始終被遵守,且針對所有形式的再聚合設計技術都正確地執行的工作。傳統的驗證技術在所有這些領域裡都可能會遭遇失敗,這使CDC問題對設計團隊來說是一個很大的風險。
為了克服傳統驗證的侷限,有效的CDC驗證方法應當使用靜態分析、CDC協定,以及在模組設計、模組驗證、系統整合和系統驗證中注入亞穩態結果分析。完整的CDC工具和方法將它蘊涵的技術和專業知識,能整合成一套高度自動化的驗證CDC設計及管理的解決方案,使專家和非專業人士能夠從中得益。
(作者為Mentor Graphics明導國際市場部行銷經理)
border=0>
|
|
src="/images/misc_spacer.gif" width=1> |
border=0>
|
height=13 src="/images/arrow.gif" width=13> |
class=style4 style3>
color=#333333>明導國際(Mentor Graphics)宣佈昇陽電腦(Sun)利用Mentor的0-In CDC(Clock-Domain Crossing)技術設計出UltraSPARC T1處理器。這款剛發表的突破性處理器是內含8個核心並能同時支援32組執行緒的64位元處理器設計,不但採用該公司專利的CoolThreads技術,還包含開放原始碼的硬體和軟體規格。相關介紹請見「
href="http://www.mentorg.com.tw/news/view.php?id=269&PHPSESSID=dfcd18cb0f220acf245543ff5656e36e">Sun利用Mentor Graphics CDC解決方案驗證UltraSPARC T1處理器」一文。
|
height=13 src="/images/arrow.gif" width=13> |
color=#333333>全球第一大電子設計自動化(EDA)軟體公司美商新思科技(Synopsys)宣佈將斥資8億元在台灣成立研發中心,這是繼Intel、HP、DELL、SONY、IBM之後,另一家國際高科技大廠在台創設研發中心。你可在「
href="http://libertytimes.com/2004/new/sep/22/today-e1.htm">新思科技在台設研發中心」一文中得到進一步的介紹。
|
height=13 src="/images/arrow.gif" width=13> |
明導國際(Mentor Graphics)推出專用來協助電子公司設計大型電路板的XtremeAR產品。XtremeAR是Mentor利用Xtreme專利設計技術開發的第二代產品,最多能讓15顆處理器同時執行自動繞線,使得大型電路板的繞線時間從數天縮短為數小時。更高的生產力和更短的設計週期時間不但加速大型設計的上市時程,還能讓工程師試驗多種設計後再選擇最佳結果,這能提高設計品質和系統效能。
color=#333333>在「
href="http://www.mentorg.com.tw/news/view.php?id=267&PHPSESSID=dfcd18cb0f220acf245543ff5656e36e">Mentor Graphics推出業界首創的XtremeAR產品」一文為你做了相關的評析。 |
|
|
src="/images/misc_spacer.gif" width=1> |
|