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例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 精品久久久久成人码免费动漫 | 草草影院国产第一页| 国产亚洲精品资源在线26u| 国产精品v欧美| 无码AV日韩一二三区| 亚洲视频无码| 欧美一区二区啪啪| 1024国产在线| aa级毛片毛片免费观看久| 国产成人精品午夜视频'| 国产黄在线观看| 国产黑丝视频在线观看| 亚洲Av激情网五月天| 国产小视频网站| 国产一二三区视频| 亚洲伊人久久精品影院| 亚洲欧美综合另类图片小说区| 97se亚洲| 五月婷婷中文字幕| 久久毛片网| 9丨情侣偷在线精品国产| 日韩av高清无码一区二区三区| 国产亚洲精品自在久久不卡| 97狠狠操| 自偷自拍三级全三级视频| 婷婷午夜天| 四虎永久在线精品国产免费| 一级毛片免费高清视频| 最新日韩AV网址在线观看| 播五月综合| 亚洲人成网址| 五月婷婷欧美| 五月天久久综合| 亚洲不卡无码av中文字幕| 免费欧美一级| 色天天综合久久久久综合片| 亚洲国产理论片在线播放| 99热线精品大全在线观看| 国产香蕉国产精品偷在线观看| 亚洲精品亚洲人成在线| 一本色道久久88综合日韩精品| 亚洲精品无码人妻无码| 成年人视频一区二区| 国产精品亚洲片在线va| 欧美另类图片视频无弹跳第一页| 国产精品第一区在线观看| 视频国产精品丝袜第一页| 制服无码网站| aa级毛片毛片免费观看久| 国产一级片网址| 亚洲无码日韩一区| 国产毛片基地| 久久a毛片| 91偷拍一区| 国产伦精品一区二区三区视频优播| 日本高清视频在线www色| 国产菊爆视频在线观看| 日韩资源站| 四虎精品国产AV二区| 亚洲无码视频喷水| 朝桐光一区二区| 亚洲AⅤ综合在线欧美一区| 久久99国产乱子伦精品免| 九九九精品成人免费视频7| 亚洲国产高清精品线久久| 亚洲精品片911| 国产国产人成免费视频77777| 免费A级毛片无码免费视频| 国产精品黄色片| 国产精品网址你懂的| 老司机午夜精品网站在线观看 | 亚洲第一区欧美国产综合| 免费国产小视频在线观看| 国产视频自拍一区| 视频一区亚洲| 亚洲国产日韩欧美在线| 国产一区二区三区精品欧美日韩| 尤物亚洲最大AV无码网站| 免费一级成人毛片| 黄色成年视频| 波多野一区| 欧美日韩第三页|