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

一種CDC信號滑動窗口時序分析方法*

2022-03-22 04:12:58馬馳遠雷國慶
計算機工程與科學 2022年2期
關鍵詞:信號設計

馬馳遠,雷國慶

(國防科技大學計算機學院,湖南 長沙 410073)

1 引言

同步數字電路設計經常需要使用不同來源的多個異步時鐘,這些異步時鐘間信號的傳遞稱為跨時鐘域信號傳遞CDC(Clock Domain Crossing)。跨時鐘域傳遞的信號稱為CDC信號,該信號對于目的時鐘域來說是異步信號,即不能確保被穩定地采樣。這種不穩定性會造成意想不到的錯誤[1],使電路無法正常工作。針對這種情況,研究人員在設計中通常會插入CDC邏輯,將CDC信號穩定地傳遞到目的時鐘域[2]。

對于一個多位總線CDC信號的CDC邏輯,多位信號之間還需滿足一定的時序要求才能確保信號正確地傳遞到目的時鐘域。CDC信號的時序分析是分析源時鐘域寄存器發出的多位CDC信號是否能被目的時鐘域寄存器正確地采樣。CDC信號的一般時序要求是目的時鐘域采樣時刻范圍內同時變化的CDC信號不超過1個[3],因此CDC信號被目的時鐘域采樣的時刻偏差只要不超過一個源時鐘周期就可以滿足時序要求。

CDC信號產生時序違反的主要原因是時鐘頻率過高導致約束較嚴或CDC邏輯過于分散。近年來隨著設計頻率的逐漸提升、設計規模的逐漸增大,CDC信號時序檢查開始成為芯片投片前的必備檢查項。通常CDC邏輯采用固定約束分析方法進行時序檢查,但這種方法由于約束條件過嚴會導致虛假時序違反及不必要的時序修復,從而增大了設計面積。

本文提出了一種CDC信號滑動窗口時序分析方法,在每種工藝角(corner)的每條CDC通路上單獨設置適合的檢查窗口進行時序分析,有效避免了固定約束分析方法的問題。

2 背景

隨著設計頻率的逐漸提升、設計規模的逐漸增大,CDC邏輯電路的失效率也逐漸增大。為了避免CDC問題導致的電路錯誤,近年來國內外學者對CDC電路和時序展開了大量研究。Cummings[3]對CDC電路原理進行了闡述,給出了一種通用CDC邏輯結構并對這種結構的應用提出了具體實施方案。Chaturvedi[4]提出了一種CDC結構檢查和時序分析的流程并在芯片投片時應用成功。Matsuda等[5]在FPGA中對CDC結構進行了驗證方法學和時序分析的研究。Talupuru等[6]也提出了一種通過形式驗證和時序分析來避免CDC電路毛刺的方法。還有些學者針對CDC邏輯結構展開了研究[7,8]。

目前存在多種多位CDC信號的CDC邏輯,最常見的是如圖1所示的CDC邏輯結構[3],它包括2個方向的CDC信號:從寫時鐘wclk到讀時鐘rclk的CDC信號有寫指針信號和數據信號,從讀時鐘rclk到寫時鐘wclk的CDC信號有讀指針信號。這些CDC信號都應該滿足一定的時序要求。

Figure 1 Structure of CDC logic圖1 CDC邏輯結構

不同設計對CDC信號的時序要求是不一樣的。如果一個設計的時鐘頻率只有幾百兆赫茲并且CDC邏輯所在設計模塊面積不大,這時CDC信號幾乎不會違反時序要求,因此對這種設計不用檢查CDC信號的時序。如果設計頻率很高并且經過后端設計后的CDC邏輯比較分散,CDC信號就有可能違反時序約束。為了保證設計的功能正確,CDC信號就必須進行時序分析和收斂。

目前主要的CDC信號時序分析方法是固定約束分析方法[3 - 5],它在分析CDC信號是否滿足時序要求時,對所有CDC信號統一設置固定的約束參數。因為CDC邏輯一般在2個方向傳遞信號,所以既要分析源時鐘域到目的時鐘域的CDC信號,也要分析目的時鐘域到源時鐘域的CDC信號。以源時鐘域到目的時鐘域的分析來說,約束參數要設置2個:最大延時和最小延時。最大延時是指源時鐘域的CDC信號到目的時鐘域采樣時的最大延時約束,最小延時是指源時鐘域的CDC信號到目的時鐘域采樣時的最小延時約束。對源時鐘域到目的時鐘域的所有信號統一設置約束參數且參數是固定的,電路滿足最大延時約束和最小延時約束后就能確保正常工作。芯片投片前設計人員會在多個corner下進行時序分析。深亞微米工藝的corner數可能會有二、三十個且不同corner的時序情況差別很大,同一條時序路徑在針對setup分析的corner下和針對hold分析的corner下的延時會相差一倍甚至更多。固定約束分析方法只能選擇最嚴格的約束參數進行分析,以保證功能正確,并且為了通過檢查不得不加入一些不必要的邏輯。此外,2個時鐘域間可能存在多條CDC通路而不同通路的時鐘樹延時不一定相同。為了保證電路的時序正確性,固定約束分析方法可能在本來能滿足時序要求的電路上加入更多的邏輯,這些額外邏輯都是不必要的面積開銷,會導致電路的成本升高、功耗變大。

3 CDC信號滑動窗口時序分析方法

為了解決固定約束分析方法帶來的邏輯和面積增大的問題,本文提出了一種CDC信號滑動窗口時序分析方法。這種方法在每種corner的每條CDC通路上單獨設置適合的時序分析檢查窗口進行時序分析,分析流程如圖2所示。

Figure 2 Flow chart of the sliding window timing analysis method of CDC signals圖2 CDC信號滑動窗口時序分析方法流程圖

首先對設計進行corner劃分和CDC信號分組。設計在不同corner下的時序情況差別很大,所以要在所有corner下對設計進行時序分析并修復。2個異步時鐘域之間可能存在多組CDC通路,如果對多組CDC通路統一設置時序約束顯然會使約束過于嚴格,從而導致虛假的時序違反并增加額外的時序修復工作,因此根據通路對CDC信號進行分組會使時序檢查更加精確。當然,能夠對CDC信號進行分組的前提是能完全理解CDC邏輯,這對設計人員來說通常不是問題,但某些繼承的設計或重用的IP可能使用了特殊的CDC邏輯,從而造成分組困難。

其次,本文方法對于某一corner下的某一組CDC通路會單獨設置時序約束。在worst corner下和best corner下的設計頻率一般是不一樣的,這種差別也同樣要反映在CDC信號的時序約束上。如圖1所示,每一組CDC信號包括3類:寫指針信號、讀指針信號和數據信號。同一CDC通路信號的時序偏差不能超過1個源時鐘周期,按此原則可設置相應的約束。每一類信號可用最大延時命令和最小延時命令進行約束,最大延時和最小延時具體設置的值并不重要,但對CDC信號設置的最大延時和最小延時之差不能大于1個源時鐘周期。為了方便后續分析,同一個CDC通路寫指針信號和數據信號最小延時的設置最好一樣。

接著要計算每組CDC信號的時序偏差是否滿足時序要求。CDC信號時序滿足要求的關鍵在于每個總線的多位信號是否能在一個要求的時間段內被目的時鐘捕獲,也就是要在一個源時鐘周期內被捕獲,因此單個信號即使違反了時序約束也并不意味著有真正的時序違反。圖3所示是一個多位總線的CDC信號,clock_0是源時鐘,clock_1是目的時鐘,launch regs是n位源時鐘域寄存器,capture regs是n位目的時鐘域寄存器,在CDC邏輯里這些寄存器一一對應。時鐘到不同寄存器的時鐘樹延時是不一樣的,所以圖3中每組regs的不同reg并沒有對齊。本文方法是先計算出每個信號的時序偏差,以圖3中reg0為例,它的時序偏差是clock_0從產生點出發經過launch regs中的reg0并經過D0的延時減去clock_1從產生點出發到capture regs中的reg0的延時,這個偏差與clock_0和clock_1的時鐘樹偏差有關,結果可能是正值也可能是負值。對所有信號的時序偏差分別進行計算后,可以找出最大偏差值和最小偏差值,二者的差值如果小于時序約束值就可認為此類CDC信號的時序滿足要求。

Figure 3 CDC signals circuit圖3 CDC信號電路

本文方法實際上是劃定了一個時序約束窗口,這個窗口的寬度對于同一corner下同一組內的信號是固定的,但對不同corner或不同組的信號窗口是不同的。如圖4所示,wsignals是寫時鐘wclk相關寄存器發出的一組多位CDC信號,rsignals_1和rsignals_2分別是在不同corner下這些CDC信號到達讀時鐘rclk相關寄存器的輸入信號范圍。由于不同corner下的電路延時不一樣,因此rsignals_1和rsignals_2的到達時間范圍是有區別的。但是,只要所有CDC信號的捕獲時刻落在約束要求的窗口內,就可認為滿足了時序要求。所以,本文方法對于CDC信號的路徑延時沒有要求。信號捕獲窗口在不同情況下是可以左右移動的,因此本文將這種方法稱為滑動窗口時序分析方法。邏輯在后端設計時會生成時鐘樹,不同時鐘的時鐘樹延時是不一樣的,固定約束分析方法無法避免時鐘樹延時的影響,而本文方法可以避免時鐘樹延時的影響,降低了時序要求,獲得了最精確的分析結果,避免了由于約束過嚴而導致加入額外邏輯的情況。

Figure 4 Sliding window waveform of CDC signals圖4 CDC信號滑動窗口波形

計算完每一類信號的時序偏差后,根據時序報告可判斷當前CDC信號是否滿足時序要求。如果不滿足要求就需進行時序修復,常用的修復手段是在時鐘路徑或數據路徑中加入緩沖器來縮小時鐘樹偏差或彌補數據路徑的偏差,這些方法都會加入額外的邏輯,增加芯片面積。

上述時序約束設置和時序計算及修復需要在每種corner下對每條CDC通路分別進行,以確保在所有條件下功能都正確。因此,在完成物理設計和正常的靜態時序分析外,還要額外對設計進行CDC通路的分析。這種分析無需改動設計,只要通過時序分析軟件編寫程序進行分析即可。當然,這相對于固定約束分析方法來說增加了一定的軟件運行時間和分析工作量。

4 實驗與結果分析

CDC邏輯通路在布局布線后的放置通常較為集中,因此較少出現真正的數據捕獲錯誤。本文方法針對規模較大且頻率較高的多個真實CDC設計進行時序檢查,只有極少數的CDC電路出現了時序違反。而采用固定約束分析方法經常會檢查出時序違反的情況,大部分的時序違反是由于分析方法不當而產生的,在實際工作中這部分電路時序是沒有問題的。

對于CDC信號時序功能正確的情況,本文方法能精確確認時序而無需改動邏輯。而固定約束分析方法要求每一位信號都要滿足時序約束,這無疑使檢查過于嚴格,因此常常會出現虛假時序違反,不得不進行額外的時序修復,時序修復規模和源時鐘樹/目的時鐘樹的偏差以及CDC邏輯特性相關。

假設寫時鐘和讀時鐘的頻率都是2 GHz且同一時鐘到相關寄存器時鐘引腳的時鐘樹延時相等,圖5和圖6是在16 nm工藝下使用typical庫在CDC邏輯FIFO深度為4且通路位寬為32位時,分別評估讀寫時鐘樹延時不等時采用本文方法和固定約束分析方法進行時序修復后的面積對比情況。采用的設計經過驗證都沒有時序問題。圖中的時鐘偏差是讀時鐘樹延時減去寫時鐘樹延時的差。固定約束分析方法設置的最大延時和最小延時的值不一定是固定的,只要二者的差為一個時鐘周期就可以,但這2個值一旦設置好就不會隨設計的物理實現情況而改變,因此稱這種方法為固定約束分析方法。為了簡單起見,固定約束分析方法的最小延時和最大延時分別設為0和一個時鐘周期,設置成其他值的效果也是一樣的。固定約束分析方法是時鐘樹延時偏差敏感的,它會根據設置將CDC信號的讀寫時鐘樹延時取平。對于違反延時約束的信號,在寫時鐘樹延時比讀時鐘樹延時短的時候,寫時鐘樹可能會被加大延時;在寫時鐘樹延時比讀時鐘樹延時長的時候,讀時鐘樹可能會被加大延時。加大延時的方法是在每個相關寄存器的時鐘端插入緩沖單元。圖5給出了自動時序修復情況下在時鐘偏差為-900 ps~600 ps時使用固定約束分析方法和本文方法進行時序修復后的面積對比。由于時鐘偏差大小對本文方法的分析結果無影響,時序修復后的面積沒有變化;而對于固定約束分析方法,由于每位信號都要滿足時序要求,時鐘偏差的不同造成結果差別很大。

Figure 5 Area comparison of two timing analysis methods after automatic timing repair (FIFO depth is 4)圖5 2種時序分析方法自動時序修復后的面積對比(FIFO深度為4)

由圖5可知,使用固定約束分析方法在時鐘偏差為0時讀寫時鐘樹的延時相等,此時所有信號都滿足時序要求,因此不需進行時序修復,面積結果和本文方法是一樣的。時鐘偏差為負時表示寫時鐘樹延時大于讀時鐘樹延時,在一定范圍內所有信號還是可以滿足時序要求的,如圖5中時序偏差為-300 ps時,因此面積不會因為時序修復而增加。但是,偏差一旦超過某個閾值,就需要減小讀寫時鐘樹偏差進行時序修復,由圖1可知讀時鐘CDC信號為寫指針和讀數據,修復的方法是加大這些信號相關寄存器的讀時鐘樹延時。如圖5中時序偏差為-600 ps和-900 ps的情況,時鐘偏差越大插入單元越多,因此造成面積增大。時鐘偏差為正時表示寫時鐘樹延時小于讀時鐘樹延時,在一定范圍內所有信號也是可以滿足時序要求的,因此面積不會因為時序修復而增加。但是,偏差一旦超過某個閾值也需要減小讀寫時鐘樹偏差進行時序修復,由圖1可知寫時鐘CDC信號為讀指針和FIFO寄存器,修復的方法是加大這些信號相關寄存器的寫時鐘樹延時。如圖5中時序偏差為300 ps和600 ps時,時鐘偏差越大插入單元越多,因為FIFO寄存器數量較大且FIFO數據的每一位會通過mux直接連接到讀時鐘域,在自動修復過程中所有FIFO數據寄存器的時鐘端都會被插入延時單元,因此最終插入的單元數量取決于FIFO的容量。在時序偏差為600 ps時,采用本文方法的CDC邏輯面積是采用固定約束分析方法進行修復后面積的42%。從圖5中還可以觀察到,采用固定約束方法修復時時鐘偏差為600 ps和-600 ps的面積相差很大。這是因為加大寫時鐘樹延時要插入單元的寄存器數量很多(主要是FIFO寄存器),而加大讀時鐘樹延時要插入單元的寄存器數量較少。

物理設計階段有2種時序修復方式。一種是工具自動插入單元進行時序修復,圖5就是自動時序修復的結果,這種方式會在每個跨時鐘域寄存器前插入緩沖單元。另一種是手工時序修復,就是由設計人員手工插入延時單元進行時序修復,這種方式的好處是可以找到時鐘樹的公共點插入緩沖單元,在達到相同效果的同時減少插入的緩沖單元數。假設平均5個寄存器的時鐘端能找到一個時鐘樹的公共點,插入的單元數量就可以減少到自動時序修復的1/5。圖6給出了手工時序修復方式下的面積評估結果,可以看到這種方式下的面積比自動時序修復方式的小,在時序偏差為600 ps時采用本文方法的CDC邏輯面積是采用固定約束分析方法進行修復后面積的78%,這比自動時序修復的效果好,但手工時序修復使物理設計工作量加大。

Figure 6 Area comparison of two time analysis methods after the manual timing repair (FIFO depth is 4)圖6 手工時序修復時2種時序分析方法的面積對比(FIFO深度為4)

以上是FIFO深度為4時使用2種方法進行分析時的面積對比。在設計中FIFO深度為4是最小深度,更大的FIFO深度在實際設計中也經常會用到,本文進一步評估了FIFO深度為8時的情況。圖7為FIFO深度為8時自動時序修復方式下使用2種方法進行時序修復后的面積對比。圖8是FIFO深度為8時手工時序修復方式下使用2種方法進行時序修復后的面積對比。

Figure 7 Area comparison of two time analysis methods after automatic timing repair (FIFO depth is 8)圖7 2種時序分析方法自動時序修復后的面積對比(FIFO深度為8)

Figure 8 Area comparison of two time analysis methods after the manual timing repair (FIFO depth is 8)圖8 手工時序修復時2種時序分析方法的面積對比(FIFO深度為8)

從圖7和圖8可以看出,FIFO深度為8時本文方法在2種修復方式下相對固定約束分析方法的面積比例和FIFO深度為4時是基本一樣的,實驗表明,更深的FIFO深度的情況也類似,但固定約束方法增加單元的絕對面積要遠遠超過FIFO為4的情況。這是因為FIFO深度增加后無論加大寫時鐘樹延時還是加大讀時鐘樹延時都需要插入更多的緩沖單元,因此FIFO深度越大本文方法相對固定約束分析方法的優勢越明顯。

無論采取何種時序修復方式,固定約束分析方法都可能會導致單元面積的增長,而本文方法只在真正違反時序的路徑上進行時序修復,因此采用本文方法避免了由于檢查條件過嚴而增加不必要的邏輯,加速了時序收斂且最終能得到最優的實現結果。

5 結束語

多異步時鐘域設計中CDC信號的時序分析及修復是保證設計功能正確的必要手段。本文提出的CDC信號滑動窗口時序分析方法在每種corner的每條CDC通路上單獨設置適合的檢查窗口進行時序分析,有效避免了常用的固定約束分析方法由于約束條件過嚴導致的虛假時序違反及不必要的時序修復而使設計面積增大的問題,同時減輕了后端設計工作量。實驗結果表明,本文方法顯著節省了單元面積。

本文方法針對的是圖1中的CDC結構,這種結構也是目前使用最廣泛的CDC結構。本文方法對其他類型的CDC結構同樣適用,但具體實施方式需要相應地進行調整優化。

猜你喜歡
信號設計
信號
鴨綠江(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日韩| 国产久操视频| 99视频在线免费看| 国产精品蜜芽在线观看| 国模私拍一区二区三区| 日韩第一页在线| 日韩123欧美字幕| 91亚洲视频下载| 婷婷伊人久久| 久青草免费视频| 91色老久久精品偷偷蜜臀| 一本一道波多野结衣一区二区| 波多野结衣中文字幕久久| 91精品国产丝袜| 国产一级做美女做受视频| аv天堂最新中文在线| 综合久久久久久久综合网| 欧美视频免费一区二区三区| 午夜精品福利影院| 国产精品视频观看裸模| 久久福利片| 中国国产A一级毛片| 国产视频一区二区在线观看| 一区二区在线视频免费观看| 丁香五月亚洲综合在线| 红杏AV在线无码| 亚洲成人高清无码| 国产无码网站在线观看| 91福利在线观看视频| 国产精品任我爽爆在线播放6080 | 99视频在线免费看| 国产91精品最新在线播放| 九色在线视频导航91| 亚洲人成网站观看在线观看| 国产91九色在线播放| 亚洲中文字幕在线观看| 亚洲中文制服丝袜欧美精品| 午夜啪啪福利| 亚洲视频色图| 国产午夜无码片在线观看网站| 亚洲床戏一区| 亚洲制服中文字幕一区二区 | 国产欧美日韩精品第二区| 欧美一级片在线| 国产XXXX做受性欧美88| 亚洲欧洲自拍拍偷午夜色| 欧美三級片黃色三級片黃色1| 国产精品免费露脸视频| 国产另类视频| 国产福利小视频高清在线观看| 久996视频精品免费观看| 久久精品视频亚洲| 在线毛片网站| 55夜色66夜色国产精品视频| 五月婷婷导航| 亚洲国产日韩一区| 最新亚洲av女人的天堂| 思思热精品在线8| 亚洲青涩在线| 永久免费AⅤ无码网站在线观看| 99久久精品国产自免费| 国产美女自慰在线观看| 免费亚洲成人| 动漫精品啪啪一区二区三区| 国产日韩欧美一区二区三区在线| 91小视频在线观看| 99精品一区二区免费视频| 亚洲欧美日韩中文字幕一区二区三区 | 伊人网址在线| 国产成人精品视频一区视频二区| 欧美一级高清免费a| 国产精品久久久久久久久久98| 久久青草热| 日韩欧美中文在线| 亚洲国产成人精品无码区性色| 在线欧美一区| 国产无人区一区二区三区| 欧美精品三级在线| 久久人午夜亚洲精品无码区| 亚洲AⅤ无码国产精品| 欧美成人午夜影院| 欧美精品在线免费|