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

一種基于靜態形式驗證的I/O復用電路高效驗證方法

2021-03-19 01:17:44北京智芯微電子科技有限公司段麗瑩馮文楠唐曉柯
電子世界 2021年3期
關鍵詞:功能方法設計

北京智芯微電子科技有限公司 段麗瑩 胡 毅 郝 燚 甘 杰 馮文楠 唐曉柯

隨著系統級芯片(System on Chip,SoC)中輸入/輸出(I/O)接口數量和復用功能的不斷增加,I/O復用電路的驗證變得越來越復雜,并且需要耗費大量時間。本文針對I/O復用電路的特點,提出一種基于靜態形式驗證的高效驗證方法,在驗證早期對I/O復用進行了復用功能驗證和連接性驗證,同時也進行了翻轉覆蓋率收集。與傳統基于動態驗證的方法相比,本方法可以將驗證時間縮短一半以上,顯著提升了設計質量和開發效率。

芯片驗證是芯片開發流程中必不可少的環節,芯片驗證的目標是全面,快速,簡單并高效。隨著芯片設計技術和制造工藝技術的發展,主流系統級芯片(System on Chip,SoC)的集成度不斷增加,使芯片具有越來越復雜的功能;同時,芯片面積和物理邊界在不斷減小。在這種環境下,芯片的輸入/輸出(I/O)接口面臨著功能需求增加與面積限制的矛盾。為解決這一問題,現今的SoC中普遍采用了I/O復用技術。傳統方法使用系統級仿真驗證來驗證I/O復用功能,需要在系統級別編寫場景測試例(case),然后可以配合進行相關的斷言驗證。然而隨著SoC復雜度的提升,I/O接口的數量和復用功能也都隨之增加,從芯片級別對I/O復用進行驗證需要編寫復雜的測試例組合并且花費大量時間。如何實現I/O復用電路的高效驗證成為了芯片驗證工作中的一個重大挑戰。

靜態形式化驗證(formal)方法是通過形式數學方法來證明斷言或屬性,以確保RTL代碼的正確性。屬性驗證(formal property verification,FPV)是一種典型的靜態形式驗證方法,已經被證明是設計驗證簽收(signoff)的一種可信賴的方案。但是,隨著設計逐漸變復雜,設計的容量和復雜度都會對使用形式化驗證方法帶來制限,如果沒有任何人工抽取方法是無法實現全覆蓋的驗證。本文提出了使用靜態驗證工具VC Formal CC來完成I/O復用的單體和SoC級別的驗證,無需搭建新的驗證平臺,也不需要編寫專門的驗證case。同時VC Formal CC可以產生覆蓋率數據,并合并到芯片級的覆蓋率數據中,有效提高了I/O復用電路驗證的效率和完備性。

1 基于靜態形式化驗證的連接性檢查

在芯片設計的驗證中,連接驗證是最基本的驗證內容。連接可以通過形式化驗證方法完成完全的驗證,但是需要執行FPV設計人員將SoC分成不同的子系統,手動將不進行驗證的模塊黑盒化,并使用常量和假設來約束設計。因此,驗證過程需要消耗大量的人力和時間。

連接性檢查(Connectivity Check,CC)應用是在形式化驗證的基礎上建立的。與FPV相比,CC是一個自動check的工具,可以實現高效的驗證工作。CC通過讀取CSV表格自動提取設計并分析連接檢查的需求。然后自動產生連接檢查需要的斷言和假定。因此理想化來說,CC執行屬性檢查,但是并不需要用戶再建立檢查器(checker)。該工具會幫助時鐘產生,重置(reset)產生和斷言產生。CC工具在設計提取方面具有強大的功能,能夠解決龐大的SoC編譯的問題。

靜態驗證工具VC Formal CC的目標應用包括結構檢查和功能檢查兩方面。結構檢查是檢查從源到目標是否有一個結構連接/路徑。功能檢查是檢查設計中的兩個信號是否具有同樣的值,注意是在特定的條件,比如數據選擇器(multiplexer,MUX)邏輯。雖然傳統方法中使用動態仿真也可以進行功能檢查,但是它不能進行結構檢查。

連接性檢查有組合邏輯和時序邏輯兩種應用場景。在組合邏輯的應用中可以驗證SoC I/O連接,模塊引腳復用/解復用,可配置多路復用,模塊的連接和常值檢查,在子模塊間的直接連接等內容。在時序邏輯的應用中,VC Formal CC可以支持檢查待延遲的路徑,比如在源-目的路徑上有觸發器(FlipFlop),和使能(enbale)路徑上有觸發器的路徑。在本工作中CC工具的使用主要是完成組合邏輯中的I/O復用進行的驗證。

2 IO復用的電路特征以及驗證目標

對于目前的SoC的焊盤(PAD)來說,大多數PAD屬于通用I/O(genneral Purpose I/O,GPIO)。常見的GPIO型PAD單元均為雙向I/O,除了輸入/輸出數據使能,還包括上下拉使能,驅動能力使能等。為了實現高集成度和盡可能小的芯片面積,有限的I/O就通過PINMUX模塊和寄存器的不同配置來實現GPIO的復用。PAD的復用從功能角度具有以下兩個特點:

(1)I/O復用情況復雜

實際上,SoC的每一個PAD在大部分的工作時間內都屬于自己主要服務的模塊,這是其最基本的屬性。但除此之外,它們還承擔著轉接到其他模塊并協助傳輸數據的任務。當I/O被切換到其它功能時,功能控制的選擇、輸入輸出方向控制邏輯等都是通過相關寄存器的配置來實現。

(2)工作模式的不同

在SoC的開發中,還會加入可測性設計模塊(Design For Test,DFT)。因此,I/O復用的電路也要把測試功能考慮進去。

圖1 IO復用在系統級的驗證對象

圖2 VCForaml CC需要的CSV文件格式和TCL命令

簡單來說,I/O復用實際上是利用一個巨大的MUX實現的。針對IO復用的結構,如果使用常規的驗證方法,從搭建驗證環境到驗證case的完成,工作量很大,并且工時較長。而這種情況對于連接性檢查工具CC check來說,正是它的優勢所在。通過使用CC check,不需要搭建專門的驗證環境,只需要提取驗證要點,配置驗證參數,驗證工具可以自動生成測試向量,并進行驗證。由此可以大幅提高I/O模塊的驗證效率,縮短產品開發周期。由于CC check使用的是靜態的數學理論實現測試向量的生成,極大地提高了驗證的完備性。

本工作的目標是在芯片級別驗證從各IP模塊經過PINMUX到IO PAD的驗證。圖1是系統級I/O復用驗證對象示意圖。其中灰色部分在連接性驗證中都是黑盒化,藍色部分是驗證的對象。

3 VC Fomral CC在I/O復用中的驗證流程

在進行連接性檢查之前,雖然使用測試case對IO復用進行了部分功能的驗證,但是對整個I/O復用的全部功能來說,這些驗證是不充分的,因此使用CC check對剩余的連接性進行驗證。在連接性檢查完成后,使用VC Formal CC產生的覆蓋率數據可以合并到芯片的覆蓋率數據中,完善SoC系統的連接性驗證。

使用VC Formal CC驗證I/O復用的流程如下:

(1)首先要根據I/O復用的設計spec抽取生成CC check需要的CSV表格

項目開始前需要準備一個CSV表格,它是VC Foraml CC用來連接驗證的輸入格式。這個表格就是一個CC測試計劃,如圖2所示,它包括源信號,目的信號,使能條件,復位,不同的延遲設置等。

圖3 CC check建立流程

(2)準備和運行TCL文件

在RTL和Formal流程中都是用的是工具命令語言(tool command language,TCL)。整個CC check流程建立中的設置如圖3所示。其中,定義復位信息可以支持多復位設置,打開自動黑盒子功能可以在連接驗證目標的基礎上對設計進行提取。通過使用命令Check_fv,在產生斷言后,會自動的執行check_fv和保存CC check的結果。

由于本SoC中的I/O復用模塊完全由組合邏輯構成,所以在腳本中沒有對時鐘和進行設置。在進行SoC中的I/O復用部分的驗證時,我們可以把不關心的連接驗證的設計部分進行黑盒化處理,這樣可以進一步減少VC fomal CC工具分析對象的數量,在滿足驗證完備性的前提下節省仿真時間。VC Formal CC中提供了自動識別黑盒化的命令。圖4是本I/O復用驗證中的部分黑盒化的list示意圖。

圖4 IO復用驗證中部分黑盒化list

圖5 使用Verdi GUI界面進行debug

(3)查看結果,debug,和鎖定bug

在編譯了RTL和CSV之后,VC Formal工具會為每個定義在CSV文件中的連接驗證生成斷言,在CSV文件中描述了n個連接檢查,就有n個斷言產生。

“check_fv”命令能夠自動執行這些斷言檢查,在進行了第一個檢查后,會發現有一些斷言失敗。我們查找了原因,一些是因為CSV文件中連接定義不正確,其余的是真正的RTL中的連接bug。

圖6 IO復用驗證的結果

圖7 IO驗證toggle結果

圖8 未toggle的信號調查

表1 本次驗證工作結果總結

表2 傳統驗證方法和本方法的對比

Debug的方法有兩種,一種debug方法是使用命令行。在命令行中使用analyze_root_cause和report_root_cause兩個命令,命令行會報出連接錯誤的原因。通過顯示的描述可以查找斷言fail的原因。另一種是使用VC Fomral CC的圖形用戶界面(Graphical User Interface,GUI),使用GUI可以同時觀測電路和波形,更加快速和便利。這種圖形化界面使得debug更直觀和便捷。圖5是一個fail的實例。通過GUI可以看到缺少一個enable的控制點(紅圈部分)。這種屬于CSV中enable定義不全。

4 驗證結果

圖6是本次IO復用CC Check驗證的最后結果。CSV中定義的所有的驗證項目全部pass。我們還可以把收集的覆蓋率數據與SoC的仿真覆蓋率數據合并在一起。通過GUI就可以直接的看到翻轉(toggle)結果。圖7是本工作中針對IO復用的CC check的覆蓋率結果,結果顯示有16個信號沒有toggle。除此之外,其他信號全部都實現了toggle。圖8是未toggle信號的列表,經過調查這些信號在IP內是被固定為常值的。

使用VC Formal CC容易地驗證連接性,并且實現toggle的覆蓋目標。研發人員可以在設計早期發現IO復用的連接錯誤。由于免去了搭建chip級驗證環境和編寫驗證case,assertion的工作,大大提升了驗證工作的效率,節省了產品開發時間。表1是對本次驗證工作結果的總結。表2是使用傳統驗證方法和使用VC Formal CC工作量的比較。

總結:靜態形式驗證作為芯片signoff的重要方法已經被應用到先進SoC芯片的驗證流程中,VC Formal CC更是簡化了Formal執行者的工作量,可以節省大量的人工,并且在連接性的結構性檢查中具有很大的優勢。本文使用VC Fomral CC實現了IO復用的驗證,在設計初期,不需要搭建驗證環境,不需要編寫驗證case,就可以對IO復用功能進行驗證,進而可以提前發現設計缺陷,縮短驗證時間。

猜你喜歡
功能方法設計
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
瞞天過海——仿生設計萌到家
藝術啟蒙(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
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 秋霞国产在线| 99视频精品在线观看| 色综合中文综合网| 亚洲国产精品国自产拍A| 欧美区国产区| 亚洲欧美另类中文字幕| 国产麻豆精品在线观看| 国内精品久久人妻无码大片高| 国产成人亚洲无码淙合青草| 国产午夜福利在线小视频| 国产成人午夜福利免费无码r| 免费av一区二区三区在线| 久草性视频| 国产成人三级| 亚洲国产成人自拍| 国产v精品成人免费视频71pao| 日本黄网在线观看| 红杏AV在线无码| 999国产精品永久免费视频精品久久| 爱做久久久久久| 国产99视频在线| 久久国产精品无码hdav| 国模视频一区二区| 第九色区aⅴ天堂久久香| 四虎综合网| 美女国内精品自产拍在线播放| 亚洲无线观看| 日韩精品无码一级毛片免费| 98超碰在线观看| 亚洲区第一页| 日韩高清中文字幕| 亚洲欧美国产五月天综合| 亚洲国产精品日韩av专区| 影音先锋亚洲无码| 精品国产美女福到在线不卡f| 女人18毛片水真多国产| 视频一本大道香蕉久在线播放| 香蕉精品在线| 伊人激情综合网| 国产91在线|日本| 91蝌蚪视频在线观看| 国产精品视频免费网站| 午夜福利无码一区二区| 久久久久久久久久国产精品| 国产精品尹人在线观看| 色妞www精品视频一级下载| 免费高清毛片| 国产一区自拍视频| 二级特黄绝大片免费视频大片| 国产第一色| 久久青草精品一区二区三区| 成年人午夜免费视频| 波多野结衣一区二区三区四区| 亚洲中文无码av永久伊人| 欧美精品1区| 伊人91在线| 一本久道久久综合多人| 国产亚洲视频免费播放| 毛片一级在线| 国产综合在线观看视频| 99青青青精品视频在线| 色精品视频| av无码久久精品| 高清无码手机在线观看| 99热这里只有精品免费| 国产视频入口| 亚欧成人无码AV在线播放| 亚洲小视频网站| 国产精品播放| 免费a在线观看播放| 伊人中文网| 毛片网站在线看| 国产一区二区福利| 亚洲人成影院在线观看| 亚洲成a人片| 亚洲中文字幕23页在线| 亚洲男人的天堂在线观看| 亚洲精品自拍区在线观看| 国产女人在线| 在线看AV天堂| 高清国产在线| 夜夜拍夜夜爽|