999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

先進芯片設計中RTL 的CDC 問題分析及處理方法

2023-07-13 10:33:42孫遠航李彧倪曉波孫增振
電子制作 2023年11期
關鍵詞:信號設計

孫遠航,李彧,倪曉波,孫增振

(網絡通信與安全紫金山實驗室,江蘇南京,211100)

0 引言

隨著芯片的集成度的提高,其接口種類越來越多功能也變得越來越強大。不同功能模塊可以工作在不同的時鐘域下,這就對傳統的同步設計以及驗證方法提出了挑戰。特別是現在工藝制程越來越先進、手機等SoC 芯片時鐘越來越快越來越復雜,這類問題愈顯突出。如果這些跨時鐘的地方處理得不當,那么對于整個芯片來說可能是災難性的。而隨著近年來芯片研發的成本越來越大,其所造成的經濟損失也是可觀的。所以這就使得在芯片設計時必須很謹慎地去分析與對待異步信號跨時鐘域的問題,在設計時就將問題考慮充分,避免這類問題影響芯片整體的功能及可靠性。

1 亞穩態與同步器

亞穩態指的是觸發器無法在一個規定的時間達到一個確定的狀態,當觸發器進入亞穩態,我們既無法預測其輸出的電平,也無法預測其何時才能穩定地輸出正確的電平[1]。在亞穩態期間,觸發器輸出一些中間級電平,并且這種電平可以延通路傳播,如圖1(a)所示,其產生的原因是由于信號在時鐘觸發沿的判決窗口沒有保持穩定,導致觸發器中鎖存信號的電容充電不足,從而使得觸發器需要花很長的時間才能使輸出信號達到標準電平,使電路“反應”變遲鈍。亞穩態對我們的邏輯電路產生的危害包括:使輸入的數據采樣錯誤導致功能錯誤;擴散可能會導致后續的邏輯功能出錯;擴散的亞穩態會導致所有扇出的器件進入振蕩狀態從而導致器件功耗增加,嚴重的可能會損壞器件等。

圖1 亞穩態及同步器示意圖

一個異步信號跨時鐘域時,亞穩態是不可能從根本上消除的。我們在設計時所要做的是最大限度地減少亞穩態對電路的影響。通常我們用故障間隔平均時間(MTBF,mean time between failures)來衡量亞穩態對數字系統的影響,MTBF 越大則說明系統越安全[2,3]。其公式如下所示:

上式中c1 和c2 是常數,由器件的工藝與實際應用環境決定;fclk對異步信號進行采樣的時鐘頻率;fdata是輸入異步信號的反轉頻率;tMET是保證亞穩態不傳輸到下一級寄存器所允許的亞穩態持續最大時間。通過分析這些變量可以得出提高 MTBF 可以從以下方面入手:a.減小fdata即減小輸入數據的翻轉率;b.減小fclk即減小采樣時鐘的頻率;c.增大tMET即增大從亞穩態到確定電平之間的判決時間;d.改良工藝參數c1 和c2 對MTBF的不良影響。

以上4 項改善 MTBF 的手段中,前3 項是我們作為數字設計工程師可以通過合理的設計來實現的。其中fdata及fclk主要由設計需求決定,工程師干預程度偏低,我們可以重點從增大tMET入手。從下面的公式和圖2 可以看出,tMET主要與5 個因素有關,分別是時鐘周期 T、時鐘到輸出延時tco(clock to output)、兩寄存器之間組合邏輯延時與走線延時之和tdata,寄存器建立時間tsu以及兩觸發器之間的時滯tskew(tskew=tclk2-tclk1)。這5 個參數中T 由系統性能設計指標決定,tco和tsu由器件自身決定,tskew可以忽略不計,所以只有tdata是我們在設計是可以影響的。同步器是處理 CDC問題時所采用的主要器件,其通常由兩個級聯的觸發器組成,如圖1(b) 所示。當我們使用同步器對異步信號進行采樣時,由于同步器兩級寄存器靠得很近,tdata就變得非常小從而提高了tMET參數。

圖2 各時鐘參數示意圖

下面介紹同步器具體改善MTBF 的例子。以一個0.25μm 工藝的 ASIC 庫中的觸發器為例,tMET=2.3ns,c2=0.31ns,c1=9.6as(las=10-18s),fclk=100MHz,fdata=1MHz,則根據之前的 MTBF 公式可以算出其故障間隔平均時間大約為20 天。如果將兩個這種觸發器串聯作為同步器使用,則這個同步器的 MTBF 可以由以下的公式算出,大約是9.57×1010 年,而宇宙年齡大約是1010 年。

從上面介紹可以看出,采用多級寄存器級聯結構的同步器對提高系統的 MTBF 有很大的幫助,所以在項目中,凡是需要跨時鐘的地方一定要使用后端廠商提供的同步器來處理,如果后端廠商沒提供專門的同步器單元,那么需要前端設計師在代碼中對需要同步的信號做打拍處理(至少兩拍)并且要求后端工程師在后端設計中保證幾級同步器寄存器靠得足夠近。

2 常用的CDC 處理方法

本節主要介紹4 種常用的CDC 處理方法,分別是信號同步器、多周期路徑MCP(Multi-Cycle Path)同步法、握手協議以及異步FIFO。

■2.1 信號同步器

信號同步器的結構是四種方法中最簡單的,它是由同步器直接演化而來,根據功能的不同又可以分為電平信號同步器、邊緣檢測信號同步器以及脈沖信號同步器。

電平信號同步器如圖1(b)所示,它僅由一個同步器構成。其輸入信號的電平寬度至少應該是同步時鐘周期的兩倍,否則可能由于亞穩態導致電平信號在跨時鐘域時丟失如圖3 所示[4]。

邊緣檢測同步器結構如圖4 所示,它在電平信號同步器之后又加了一級寄存器和一個與門。這一電路會檢測同步器輸入的上升沿,產生一個與時鐘周期等寬、高電平有效的脈沖。如果將與門的兩個輸入端交換使用,就可以構成一個檢測輸入信號下降沿的同步器。將與門改為與非門可以構建一個產生低電平有效脈沖的電路。

圖4 邊緣檢測信號同步器

當輸入脈沖信號的寬度大于同步時鐘周期與第一個同步觸發器所需保持時間之和時,我們仍然可以使用邊緣檢測信號同步器來同步脈沖信號,但是當快時鐘域單時鐘脈沖進入慢時鐘時,邊緣檢測信號同步器就無法在正常工作了,需要采用脈沖信號同步器來實現相應的功能,如圖5 所示,每當翻轉電路接收到一個脈沖時,它就會在高、低電平間進行轉換,然后通過電平同步器到達異或門的一個輸入端,而另一個信號經一個時鐘周期的延遲進入異或門的另一端,翻轉電路每轉換一次狀態,這個同步器的輸出端就產生一個單時鐘寬度的脈沖。

圖5 脈沖信號同步器

■2.2 多周期路徑同步法

上面介紹的3 種信號同步器是同步單 bit 信號時所常采用的方法,當需要同步的信號是 bus 型的數據時再采用上面的方法就不適合了,因為bus 型的數據每一bit 經過同步器之后可能由于亞穩態的情況而出現bit 之間傳輸延時不一致的情況。多周期路徑同步法提供了一種簡潔的處理多 bit信號跨越時鐘域的解決方法,其電路如圖6 所示。

圖6 多周期路徑同步法

從圖中可以看出多周期路徑同步法其實是由脈沖信號同步器演化而來,其中控制通路就是一個脈沖同步器,當輸入擁有數據常要跨時鐘時,數據通路先將數據進行鎖存,控制路徑將數據有效使能脈沖同步到接收側,并用還原出的脈沖信號做選擇器的使能對數據總線上的數據進行采樣。這種同步多 bit 數據的方法結構簡單而且比較安全,由于控制通路使用脈沖同步器,在發送側就不需要根據不同時鐘頻率來推算數據有效使能需要保持多少時鐘周期,并且由于只對有效使能單bit 進行跨時鐘處理,而數據路徑在采樣時至少已經在數據路徑上保持了3 個時鐘周期,這就保證了(在后端時序約束時還是需要對數據路徑的到達時間進行約束)數據不會在接收時鐘采樣沿處發生跳變,從而避免了數據路徑亞穩態的發生。但由于這種同步機制是一種開環的同步機制,在收發兩側沒有交互機制,所以發送側何時可以安全的更新數據無法得到保障,這些問題由接下來的新機制加以解決。

■2.3 握手協議

上面提到的多周期路徑同步法是一種有效的數據 CDC 方法,但是也提到由于是開環路徑無法做到收發兩側信息交互,握手協議可以很好的解決這一問題。握手協議是一種閉環的數據同步方法,其主要結構如圖7 所示。它主要分為兩大路徑,分別是握手信號路徑和數據路徑。握手信號指示接收時鐘域的何時可以對總線數據進行采樣,以及源電路何時可以更新當前數據鎖存器中保存的內容。數據路徑主要由發送時鐘域的數據鎖存模塊以及接收時鐘域的數據采樣模塊組成。當有數據需要傳輸時發出請求信號,并將數據鎖存在數據鎖存器中。當請求信號在接收時鐘域被同步后,以此為依據將總線上的數據進行采樣,并向發送時鐘域發送響應信號[5,6]。

圖7 握手協議主要跨時鐘路徑

圖8 是一個典型的握手協議電路結構圖。從圖中可以看出,它與圖6 最大的區別是增加了一條由接收側向發送側反饋的控制路徑。當輸入數據有效時,輸入數據被鎖存數據跨時鐘進程開始,數據有效信號由綠色路徑向接收側傳輸,在接收側對其進行同步之后并將恢復出的脈沖信號為使能對藍色數據總線上的數據進行采樣。采樣結束后接收側將反饋信號沿紫色路徑反饋,發送側接收到這一反饋信號后表明當前數據已經被對端安全采樣,可以自行決定是否對數據通路進行刷新傳輸新的數據。

圖8 握手協議基本電路結構

■2.4 異步 FIFO

在許多設計中,有些需要跨時鐘的數據是burst 發送的,或者兩個時鐘域之間的數據需要做速率匹配,這時握手協議就很難來實現了,這時就需要引入異步FIFO。圖9 所示的是異步FIFO 的基本內部結構,藍色部分是寫時鐘域,紫色部分是讀時鐘域。其內部主要由讀寫指針生成器、讀寫指針比較器、同步器以及雙端口RAM 組成。讀寫指針生成器主要根據讀寫便能對讀寫指針進行累加,并將累加之后的指針進行格雷碼變換,由于格雷碼相鄰碼元之間只有1bit 發生反轉的特點,在讀寫指針進行跨時鐘同步的過程中可以有效地控制亞穩態導致的讀寫指針傳輸的誤差范圍;讀寫指針比較器是將同步之后的讀寫指針再進行逆格雷碼轉換,與本地當時刻產生的讀寫指針進行對比,并根據對比的結果輸出空滿信號,對上下級邏進進行反壓處理;跨時鐘的數據則通過雙端口RAM 做跨時鐘隔離[7]。

圖9 異步FIFO 的基本內部結構

以上介紹的4 種信號跨時鐘域的方法在我們的設計中都有使用,具體使用哪一種方法需要對應具體情況進行分析,在對于跨時鐘信號是單bit 信號的時候推薦使用信號同步器來實現;在對應跨時鐘信號是總線仲裁類或者緩變化bus型數據時推薦使用多周期路徑同步法或者握手協議來實現;當需要跨時鐘的是主數據路徑時,例如一些接口協議需要做速率四配時,推薦使用異步FIFO 來處理[8,9]。

3 結束語

本文主要介紹了 RTL 設計中的 CDC 問題,分析了亞穩態產生的原因以及解決的方法。重點介紹了在設計中常用的4 種信號跨時鐘的處理方法,并分析了一些設計中處理異步信號時常見的錯誤并給出了相應的改進意見。CDC 問題在設計中雖然不起眼,但是業界中很多失敗的案例都是由它引起的,特別是現在先進設計中可能會用到先進工藝、邏輯規模又異常大,從而導致成本非常高。同時也正是由于這些問題不起眼,在驗證與時序分析階段有時很難定位和發現這類問題,所以對于RTL 開發來說,作為芯片設計的最前端應該把這類問題消滅在源頭,這對于時間和成本來說都是最劃算的。

猜你喜歡
信號設計
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
孩子停止長個的信號
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 91麻豆精品国产高清在线| 毛片a级毛片免费观看免下载| 在线播放真实国产乱子伦| 日本影院一区| 九九视频在线免费观看| jizz在线免费播放| 欧美一级在线看| 看看一级毛片| 国产成人综合日韩精品无码不卡| 亚洲欧洲自拍拍偷午夜色| av免费在线观看美女叉开腿| 日韩 欧美 小说 综合网 另类| 人妻中文字幕无码久久一区| 国产高清无码第一十页在线观看| 国产午夜一级淫片| 青草视频在线观看国产| 久久久久人妻一区精品色奶水| 免费中文字幕在在线不卡| 一本一本大道香蕉久在线播放| 在线日韩一区二区| 91高清在线视频| 国产乱人激情H在线观看| 日韩在线观看网站| 国产亚洲男人的天堂在线观看| 人妻精品久久无码区| 日本人妻丰满熟妇区| 性欧美精品xxxx| 国产又色又爽又黄| 久久人搡人人玩人妻精品一| 91在线无码精品秘九色APP| 欧美无遮挡国产欧美另类| 自拍亚洲欧美精品| 国产成人精品第一区二区| 美女一区二区在线观看| 国产国拍精品视频免费看| 久久综合色88| 日韩国产亚洲一区二区在线观看| 日本亚洲最大的色成网站www| 40岁成熟女人牲交片免费| 国产在线观看一区精品| 亚洲欧美另类日本| 无码中文字幕乱码免费2| 国产无码制服丝袜| 高清国产va日韩亚洲免费午夜电影| 国产午夜无码片在线观看网站 | 欧美乱妇高清无乱码免费| 精品国产一二三区| 四虎国产在线观看| 91久久夜色精品国产网站| 九色综合伊人久久富二代| 精品国产一二三区| 好紧太爽了视频免费无码| 欧美成人免费午夜全| 国产综合欧美| 亚洲国产综合精品一区| 免费国产无遮挡又黄又爽| 国产91精选在线观看| 一级看片免费视频| 男女精品视频| 国产区福利小视频在线观看尤物| 无码精品国产VA在线观看DVD| 免费在线a视频| 蜜芽国产尤物av尤物在线看| 国产精品蜜芽在线观看| 亚洲Av综合日韩精品久久久| 国产毛片不卡| 亚洲 成人国产| 五月天丁香婷婷综合久久| 一级毛片免费高清视频| 亚洲欧美日韩久久精品| 97av视频在线观看| 欧美亚洲第一页| 亚洲va在线观看| 欧美成人午夜视频| 国产丝袜第一页| 亚洲三级片在线看| 免费一级毛片在线观看| 亚洲二区视频| 超级碰免费视频91| 国产人成在线视频| 极品av一区二区| 欧美视频二区|