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控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 国产麻豆另类AV| 亚洲欧洲日韩综合色天使| 91在线丝袜| 97成人在线视频| 国产99精品视频| 中文字幕乱码二三区免费| 欧美精品在线视频观看 | 中文字幕一区二区视频| 日本免费新一区视频| 国产一在线| 丝袜美女被出水视频一区| 大陆精大陆国产国语精品1024| www成人国产在线观看网站| 成人日韩精品| 欧美日韩中文国产| 亚洲欧美成aⅴ人在线观看| 国产女人爽到高潮的免费视频| 国产成人精品一区二区免费看京| 青青国产在线| 国产福利免费视频| 热九九精品| 亚洲欧美h| 欧洲成人免费视频| 91麻豆久久久| 国产欧美精品午夜在线播放| a级毛片免费在线观看| 国产精品视频白浆免费视频| 国产精品永久不卡免费视频| 欧美三級片黃色三級片黃色1| 色综合婷婷| 亚洲av片在线免费观看| 五月婷婷综合色| 国产精品香蕉| 日韩精品一区二区三区大桥未久| 亚洲Aⅴ无码专区在线观看q| 波多野结衣一二三| 色婷婷狠狠干| 97久久精品人人| 亚洲高清中文字幕| 日韩人妻无码制服丝袜视频| 久久精品嫩草研究院| 国产你懂得| 国产三级视频网站| 又污又黄又无遮挡网站| 99re在线视频观看| 日韩a在线观看免费观看| 国产91小视频| 亚洲香蕉在线| 一区二区三区在线不卡免费| 91国内在线观看| 国产理论一区| 成人小视频在线观看免费| 亚洲天堂在线免费| 精品人妻一区无码视频| a欧美在线| 中字无码精油按摩中出视频| 国产精品私拍在线爆乳| 国产91久久久久久| 亚洲啪啪网| 国产色伊人| 91香蕉国产亚洲一二三区| 亚洲欧美天堂网| 亚洲美女一区| 亚洲欧美国产五月天综合| 国产激爽爽爽大片在线观看| a免费毛片在线播放| 国产91色| 欧美一级大片在线观看| 九色最新网址| 九九久久99精品| 国产人在线成免费视频| 沈阳少妇高潮在线| 久久青草免费91观看| 久草性视频| 国产Av无码精品色午夜| 免费观看成人久久网免费观看| 8090成人午夜精品| 97在线观看视频免费| 中国国产A一级毛片| 亚洲经典在线中文字幕| 五月天在线网站| 人妻少妇乱子伦精品无码专区毛片|