-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

芯片驗證漫游指南——從系統理論到UVM的驗證全視界

( 簡體 字)
作者:劉斌類別:1. -> 電子工程 -> 電子電氣
譯者:
出版社:電子工業出版社芯片驗證漫游指南——從系統理論到UVM的驗證全視界 3dWoo書號: 48889
詢問書籍請說出此書號!

有庫存
NT售價: 495

出版日:4/1/2018
頁數:560
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121339011
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

序(一)

近年來,我國集成電路(IC)產業高速蓬勃發展,與發達國家的技術差距不斷縮小。國家集成電路產業基金起到了積極的推動作用。產業基金的第二期將重點投資在集成電路設計領域,預計規模有望達2000億元。設計領域的投入,將會圍繞人工智能、物聯網、5G通信、智能汽車、智能電網等國家戰略和新興行業,創造出科技含量更高、能夠實現進口替代的高端集成電路芯片。
在這一時代背景下,我國集成電路企業正呈現出數量和規模迅速增長、競爭日趨激烈的態勢。在大量資本投入的背景下,企業對IC設計工程型專業人才的需求非常迫切,形成了巨大的人才需求缺口。需求差距表現在兩個方面,一方面高校每年畢業的IC設計人才無法滿足數量需求。另一方面,畢業生的專業IC技能與企業的實際需求也存在一定欠缺。因此,為了全面推動創新型復合IC工程人才的培養,作為人才培養主力軍的高校和集成電路企業之間就需要進行資源共享與深度產學合作,共同推動我國IC人才培養質量的提升。
在產學合作方面,十多年來西安電子科技大學微電子學院通過與英特爾等行業骨干企業的密切合作,積累了豐富的經驗,在合作機制、課程體系、教學方法等方面形成了鮮明的特色,為IC創新人才培養奠定了堅實的基礎。2015年,微電子學院與本書作者及其所在的英特爾公司攜手開展IC教學內容改革與協同育人的產學合作項目,邀請作者到我院客座講授集成電路芯片驗證課程,并在課程結束后優選學生到英特爾和其他眾多國內高端IC公司參加實習,進行項目實踐并完成工程論文。可以說,將企業實踐經驗引入教學體系,搭建起良好的產學協同育人平臺,使得我院學生在知識體系和實踐能力方面獲得了顯著提升,大大提升了我院人才培養的行業適應度和滿意度。我院與英特爾公司建立的研究生培養基地被評為2017年度全國專業學位研究生培養示范基地。
在與作者交流時,得知作者計劃將此書作為IC驗證工程類教材,我感到非常高興。我校已經和作者達成一致,將這三年以來逐漸打磨完善的芯片驗證課程推廣至中國大學慕課(MOOC)在線教育平臺,將合作多年形成的優秀工程實踐課程成果與全國其他高校分享,共同推進我國IC專業人才培養質量的提升和教學模式改革創新。
作者一直工作在企業研發的一線,是國際IC行業領導者英特爾公司的資深驗證專家,具有豐富的工程經驗,深知目前IC驗證人才所需的知識與能力要求。同時,作者在我校和西安交通大學客座講授芯片驗證課程多年,對驗證理論有很深的理解。因此,我相信本書將會成為集成電路驗證理論與實踐高度融合的不可多得的著作。作者能夠堅持多年在我校開展芯片驗證工程教學,在校企合作培養集成電路工程型人才中起到帶頭示范作用,在此我對作者長期致力于產學結合推動高校教育事業的奉獻精神表示由衷的感謝與敬意。
在本書出版前夕,我應邀為本書作序,感到非常榮幸。希望本書能為我國集成電路行業的創新型工程人才培養發揮重要的促進作用;希望作者進一步將本書和芯片驗證課程向全國推廣,為中國集成電路人才培養貢獻更大的力量。
張進成
教育部長江學者特聘教授
西安電子科技大學微電子學院副院長


序(二)

數字集成系統的驗證,是提高設計芯片一次流片成功的關鍵。驗證工作與設計仿真工作不同,仿真的目的是證明設計方案的正確性,用仿真的方法證明設計方案符合擬定的設計規范;驗證工作則是證明設計方案中不存在錯誤。理想情況下,存在任何設計錯誤的方案都不應該進入流片,換句話說,進入流片環節的設計方案中不應該存在已知錯誤。驗證過程的目標就是找出設計方案中可能存在的錯誤。
設計錯誤很容易造成芯片完全不能工作,而修正錯誤重新流片不但需要投入額外的費用,更會大大推遲將芯片上市時間,這些風險對于芯片產品的開發來說都是不可接受的。隨著芯片制造工藝的更加精細,芯片制造費用的不斷增加,芯片功能越來越復雜,驗證的重要性也日益增加。
本書作者2010年在瑞典皇家理工學院畢業后,一直從事芯片驗證工作,本書是其多年實際工作經驗的結晶。全書的內容涉及驗證方法及流程設計,也涉及常用數字單元的驗證經驗。相信本書的內容有益于高等學校數字集成系統設計的高年級學生和研究生的學習,有益于集成電路領域從事數字系統設計的工程師的工作,更有益于直接從事集成電路驗證工作的工程技術人員的工作。
中國集成電路產業的發展,正在進入新的高速發展階段。相信本書的出版定會給集成電路設計行業帶來新的知識、成熟的經驗,為行業的發展帶來新的動力。

王志華
清華大學教授,IEEE Fellow
2018年3月于清華園



前 言

在我有限的工作生涯中值得我慶幸的是,剛進入工作崗位時的第一任老板給了我選擇的權利——設計崗還是驗證崗?因為當時我已經在國外學習了芯片驗證的相關知識,也了解了驗證的相關事務,于是便選擇了驗證崗并一直從事到現在。與國內多數驗證工程師的入職經歷不同的是,我當時是有更多選擇的,而選擇驗證崗,并不是被公司指派到了驗證崗。這中間的差別在于,一家認可驗證工程師貢獻的公司是將驗證崗位與其他崗位同等看待的,甚至由于依賴驗證質量而會給予驗證更多的褒獎。從這兩年芯片設計行業的招聘數據來看,驗證工程師與設計工程師的薪資是看齊的。盡管驗證工程師的春天已經到來,不過我們還需要在芯片設計產業鏈上制定自己的從業標準,提高驗證工程師的從業形象,繼而才能擺脫多年以來設計為主,驗證為輔的陳舊思想。
參考清華大學魏少軍教授在2017年SEMICON大會上的講稿內容,我國在2020年的芯片設計從業人數需求將從現有的13萬人急速增長到28萬人,而全國高校每年培養的各類集成電路人才還不到1萬人。這中間的人才數量差距對于高校人才培養和企業用人單位都已是嚴峻的問題。在這么大的人才資源挑戰面前,2015年國家教育部發布了關于支持有關高校建設示范性微電子學院的通知,其中包括9所高校建設示范性微電子學院,17所高校籌備建設示范性微電子學院。在提高教學質量、擴充從業人才的同時,該通知要求加快培養集成電路產業急需的工程型人才,建立學院新型用人機制,鼓勵教師潛心育人并主動開展產學合作,聘請一定比例的企業專家授課或擔任指導教師,引進國外高水平專家,建立一支由專職教師、企業專家和兼職教師組成的師資隊伍,推動示范性微電子學院國際化發展。
同樣也是在2015年春季,我應西安交通大學微電子學院梁峰教授的邀請,為集成電路專業的碩士研究生開設了“SoC系統驗證”英文課程。同年,應西安電子科技大學微電子學院史江義教授的邀請,為集成電路專業的碩士研究生開設了“SystemVerilog芯片驗證”課程,到現在已然度過三個春秋。隨著課程內容體系的不斷打磨完善,以及每學期上百人的課程反饋,院方和學生都一致認為應該將這門課推廣到全國。因此在本書出版的同時,我也在積極同西安電子科技大學微電子學院對接,希望通過結合驗證課程和本書的出版,在不久的將來通過中國大學MOOC(慕課)網可以讓更多集成電路相關專業的學生了解驗證的知識,擴大產學結合的影響。讓更多在校學生能夠接觸主流的芯片驗證知識,同時也使得芯片設計企業可以獲得具備相關技能的人才,達到校企雙贏的目的。
響應國家集成電路產業戰略是IC從業者的幸事。在與高校展開校企合作的不久,我于2016年春季開始計劃將驗證課程做成精品課程,從高校教育出發來影響芯片行業對驗證崗位的認識,并且為企業輸送合格的工程類人才。為了配合這一計劃,我創辦了“路科驗證”的技術訂閱號。我創辦這個訂閱號的初衷一方面是為了督促自己能夠定期地輸出文章,另外一方面也是可以從驗證技術文章中早一點獲得讀者的反饋來修正本書內容。在2017年夏季,本書的所有內容完成,有賴于張國強先生的引薦,我得以與電子工業出版社簽訂著作出版合同。不過與計劃有點出入的是,此書原本是計劃在2017年秋季面市的,這可以為我的學生們提供配套的驗證課程教材,也是為了給我的女兒大蒙慶祝生日。結果由于企業項目的壓力和對出版過程的樂觀估計,一直將此書延遲到了2018年的春季,以至于我的二女兒小蒙已然半歲了。
路科驗證訂閱號在2017年秋季校招期間發布了一篇文章——《面對這份2017年的IC應屆薪資表,我真想再畢業一次!》,引起了驗證從業人員的廣泛評論和轉載。這篇文章也讓即將從事驗證的大學生們認識到國內IC行業的朝陽形勢。我相信,只有正確引導大學生對驗證的認識,才可能在未來讓這些從事IC行業的精英們將驗證的重要性銘記在心,而不論他們將來進入設計崗位、驗證崗位又或者是項目管理等其他崗位。
面對日益復雜的芯片系統設計和IP的高度集成方式,驗證的重要性日益突出。驗證工程師們不再僅僅掌握某一種工具或者某一種語言就可以確保芯片的功能正確。他們需要掌握多種工具和多種語言,并且在項目環節中需要選擇合適的工具和方法才有可能滿足緊張的項目節點和復雜的設計功能要求。同時,功能正確也不再是芯片的唯一指標,在移動化時代,芯片的低功耗和高性能兩大要求也被擺在同樣重要的地位。可以說,驗證工程師即使掌握了十八般武藝,還需要將它們靈活應用,最終才能做好芯片的“守護人”,為高成本流片掃清障礙,降低流片的風險。
驗證工程師的經驗提高得比較快,這與他們從事于近似軟件代碼編寫的工作性質有關。驗證工程師可以通過快速訓練、試錯并且再糾正來提升經驗。基于這一背景,近些年驗證方法學一直借鑒軟件開發的手段,不斷地在提升驗證效率。這也意味著在接下來的時間,驗證行業將因為與芯片設計復雜度不斷加大的效率代溝而需要不斷推出新的工具、語言和方法學來提升其效率。驗證崗位的知識“半衰期”要比同行業的其他崗位更短,驗證工程師因此需要保持不斷學習的心態來武裝自己。同時對于高校畢業生,驗證崗位的招聘要求也將不斷提高。可以預見到是,將來的芯片設計行業需求矛盾在于,需要數量巨大的驗證工程師來為芯片質量保駕護航,但日益提高的崗位技能要求又使得高校無法很好地培養驗證人才。相比于設計工程師,驗證工程師是更趨近于工程型的人才,因此如何能夠促進校企合作、深入產學結合就成為了解決校企之間人才技能需求不對等的根本手段。
在過去的十年中,驗證方法學經歷了一輪主要的變化。在這期間,SystemVerilog成為主要的驗證語言,UVM也經過各種動態驗證方法學的融合成為主流驗證方法學。同時,形式驗證方法學也依然有著它的優勢和用武之地,模擬(emulation)手段逐漸重回主流,成為與仿真(simulation)并重的芯片驗證手段。可以這樣說,如果要涵蓋目前所有主流的驗證技術,恐怕這本書還再需要一年的時間來充實其內容。可是時間不等人,我也希望本書能夠早日出版。雖然有一些內容上的缺憾,但本書針對主流驗證技術的入門和實用宗旨還是貫穿了下來。本書結合輕量級的仿真學習環境和動態仿真技術,盡可能地使準備入門或者具有初、中級經驗的讀者都能夠得到成長。本書的目的不單單在于驗證技術的掌握,還希望將驗證世界的全貌以及目前所面臨的主要問題一并帶給讀者。驗證技術的不斷衍變發展,預示著本書的部分內容將在未來需要逐步更新,而我也希望在下一版中將驗證世界新的技術手段和首版未盡的部分添加進去。
本書從結構上分為四個部分,在校學生或者驗證從業者可以根據自己的需要選擇閱讀,它們分別是:
? 驗證的通識部分(第1章至第6章)。具備不同經驗的讀者都可以從中獲取驗證世界的全貌。第1章是對芯片驗證的總覽;第2章從各個維度來介紹驗證的策略;第3章描述目前所有的驗證方法;第4章則從驗證計劃入手介紹如何量化驗證;第5章從驗證管理的角度來論述其各個要素;而第6章則作為進入下一部分(SystemVerilog語言)的準備來介紹驗證環境的結構和組件。
? SystemVerilog語言部分(第7章至第9章)。該部分不同于以往的語言類學習書籍,它的重點不在于提供完整的語法要點,而是結合貫穿于本書的設計MCDF來展開實踐,帶領讀者思考如何利用SV的主要特性去構建一個完整的驗證環境。因此,該部分是從驗證環境基礎要素學習(第7章)到基本組件的實現(第8章),再到最后的環境集成(第9章)。這一部分對于缺少SV語言基礎的讀者會有幫助,同時建議參考對照SV語言的標準手冊一同學習。對于具備SV經驗的讀者,閱讀這一部分也會幫助其梳理以往容易出錯的知識點。
? UVM驗證方法學部分(第10章至第14章)。通過SV語言部分的學習,讀者可以利用MCDF的SV輕量級環境來理解驗證環境的共性,包括環境的組織、構建、通信和運行。當進入到UVM部分時,建議讀者逐章閱讀,以此達到循序漸進的效果。第10章帶領讀者游覽UVM世界,了解其重要的各個特性;第11章則仿照SV的學習步驟,給讀者介紹UVM的各個組件和環境構成;第12章是UVM的TLM通信部分;第13章是UVM的運行部分,即介紹序列的各種用法;第14章是平行于UVM結構的部分但又不可或缺,即寄存器模型部分。從SV部分過渡到UVM部分的讀者會在這部分的各章節中有似曾相似識的感覺,因為UVM的主要特性和結構已經在SV部分中有類似的實現,這種連續性有助于將SV與UVM進行特性對比和學習。
? 高級應用部分(第15章至第18章)。該部分結合了實際項目和驗證潮流,對中高級驗證工程師有啟示作用。我也希望讀者可以從這些部分了解到,語言和方法學是驗證的技能基礎,但要解決項目的實際需求、提高整體的驗證效率和一致性、實現跨平臺、跨研發部分的驗證平臺,還需要做出更多的定制化解決方案。而對于目前還沒有令人滿意的解決方案的驗證難題,我們還需要時間去構想推動新的驗證方法和工具。第15章給出了如何實現驗證平臺自動化和測試標準化的方案,適用于大中型公司的驗證效率提升;第16章著眼于目前在標準制定過程中的便攜激勵標準,介紹了已有的便攜激勵工具和跨平臺的驗證結構;第17章針對SV與UVM同其他語言的接口給予實踐指導;第18章則將一些分散的高級話題給出行業的解決方案。讀者可以將這一部分作為工作的指導手冊,在將來遇到相關問題時參考。
盡管試圖給出動態驗證的全貌,但我也不得不遺憾地指出,幾個重要內容暫未在本書首版中囊括,包括:從驗證計劃到功能覆蓋率的量化手段和標準,功能覆蓋率驅動的智能化收斂驗證,斷言的應用場景和復用實踐,驗證IP的開發模式和推廣等,未盡的地方只能寄希望于在下一版中補缺,而在那時,驗證世界風起云涌,又將出現什么新的技術還未盡可知,且讓我們拭目以待吧。
對于本書的出版,需要感謝的人很多,他們包括但不限于我的家人,督促我出版的人以及幫助我出版的人。謝謝我的妻子支持我在周末外出寫作而不認為那是逃避帶孩子的行為;謝謝我的女兒們大蒙和小蒙,在我創作力缺乏的時候,你倆就是我快樂的源泉;謝謝我的父親在獲知我打算寫書的時候收回了對我從小不會寫作文的工科生看法。那些我告知要寫書出版的同事朋友們都是督促我出版的人,在這里感謝王凜、樊狄、王昊、安曉輝、馬鳳翔,劉昭,你們在我寫書的前后都給了我力量,讓我能夠將自己的想法堅持下來并最終得以實現。幫助我出版的人也在不同的方面給予我支持,在這里感謝邵海波、喬金浩、任文強、王東瑞、王衛凱、石軒、蔣心祝、郭宇、張石,是你們幫我進行資源對接,也讓我能夠從緊張的項目中抽身出來日復一日地寫作。還有很多的人需要致謝,盡管名字沒有一一列出,但我心存感激。此外,還需要感謝給予我安靜環境的婕妮花咖啡館和言幾又書店,還有在夜深人靜時陪我寫作的威士忌。
本書中的全部源代碼,讀者可以從路科驗證訂閱號(微信公眾號搜索“路科驗證”,或者掃描本書的路科驗證二維碼),或者從我的個人網站下載。讀者可以通過郵箱與我聯系,或者在路科驗證訂閱號后臺留言。我在客座講授驗證的時候就告訴每一位學生,語言和方法學的核心不在于語法和細碎的知識點,而在于實踐和全局的認識。結合本書內容,讀者也可以從訂閱號和個人網站下載我講授的驗證課程課件和配套實驗材料。另外,我也會不定期地舉辦路科驗證的線下與線上驗證培訓,幫助那些有意進入驗證領域、精進驗證技能的在校學生和工程師一同領略驗證世界的新奇壯麗。

著 者
2018年3月3日于西安
內容簡介:

資深驗證專家劉斌(路桑)向您全面介紹芯片驗證,從驗證的理論,到SystemVerilog語言和UVM驗證方法學,再到高級驗證項目話題。這本綜合性、實用性的驗證理論和編程方面的圖書,針對芯片驗證領域不同級別的驗證工程師,給出由淺入深的技術指南:學習驗證理論來認識驗證流程和標準,學習SystemVerilog語言和UVM方法學來掌握目前主流的動態驗證技術,了解高級驗證話題在今后遇到相關問題時可以參考。

目錄:

第1章 芯片驗證全視
1.1 功能驗證簡介
1.2 驗證的處境
1.2.1 驗證語言的發展
1.2.2 驗證面臨的挑戰
1.3 驗證能力的5個維度
1.3.1 完備性
1.3.2 復用性
1.3.3 高效性
1.3.4 高產出
1.3.5 代碼性能
1.4 驗證的任務和目標
1.4.1 按時保質低耗
1.4.2 芯片研發與客戶反饋
1.4.3 缺陷增長曲線
1.5 驗證的周期
1.5.1 驗證周期中的檢查點
1.5.2 功能詳述
1.5.3 制定驗證計劃
1.5.4 開發驗證環境
1.5.5 調試環境和HDL文件
1.5.6 回歸測試
1.5.7 芯片生產
1.5.8 硅后系統測試
1.5.9 逃逸分析
1.6 本章結束語
第2章 驗證的策略
2.1 設計的流程
2.1.1 TLM模型的需求和ESL開發
2.1.2 傳統的系統設計流程
2.1.3 ESL系統設計流程
2.1.4 語言的抽象級比較
2.1.5 傳統的系統集成視角
2.1.6 ESL系統集成視角
2.2 驗證的層次
2.2.1 模塊級
2.2.2 子系統級
2.2.3 芯片系統級
2.2.4 硅后系統級
2.3 驗證的透明度
2.3.1 黑盒驗證
2.3.2 白盒驗證
2.3.3 灰盒驗證
2.4 激勵的原則
2.4.1 接口類型
2.4.2 序列顆粒度
2.4.3 可控性
2.4.4 組件獨立性
2.4.5 組合自由度
2.5 檢查的方法
2.6 集成的環境
2.6.1 驗證平臺
2.6.2 待驗設計
2.6.3 運行環境
2.6.4 驗證管理
2.7 本章結束語
第3章 驗證的方法
3.1 動態仿真
3.1.1 定向測試
3.1.2 隨機測試
3.1.3 基于覆蓋率驅動的隨機驗證
3.1.4 基于TLM的隨機驗證
3.1.5 斷言檢查
3.2 靜態檢查
3.2.1 語法檢查
3.2.2 語義檢查
3.2.3 跨時鐘域檢查
3.2.4 形式驗證
3.3 開發環境
3.3.1 Vim開發環境
3.3.2 商業SV開發環境——DVT
3.4 虛擬模型
3.5 硬件加速
3.6 效能驗證
3.6.1 功率和能量
3.6.2 靜態功耗和動態功耗
3.6.3 節能技術
3.6.4 效能驗證
3.6.5 功耗預測與優化
3.7 性能驗證
3.7.1 設定目標
3.7.2 測試環境
3.7.3 驗證方法
3.8 趨勢展望
3.8.1 技術之間的橫向跨越
3.8.2 層次之間的縱向復用
3.9 本章結束語
第4章 驗證的計劃
4.1 計劃概述
4.2 計劃的內容
4.2.1 技術的視角
4.2.2 項目的視角
4.3 計劃的實現
4.3.1 邀請相關人員
4.3.2 開會討論
4.3.3 確定測試場景
4.3.4 創建驗證環境
4.4 計劃的進程評估
4.4.1 回歸測試通過率
4.4.2 代碼覆蓋率
4.4.3 斷言覆蓋率
4.4.4 功能覆蓋率
4.4.5 缺陷曲線
4.5 本章結束語
第5章 驗證的管理
5.1 驗證周期的檢查清單
5.2 驗證管理的三要素
5.2.1 時間管理
5.2.2 人力資源安排
5.2.3 任務拆分和重組
5.3 驗證的收斂
5.3.1 回歸流程
5.3.2 回歸質量
5.3.3 回歸效率
5.4 讓漏洞無處可逃
5.5 團隊建設
5.6 驗證師的培養
5.6.1 全硅能力
5.6.2 不做假設
5.6.3 專注力
5.6.4 邏輯性
5.6.5 “戰鼓光環”
5.6.6 降低復雜度
5.7 驗證的專業化
5.7.1 對驗證的偏見
5.7.2 驗證面臨的現狀
5.7.3 驗證標準化
5.7.4 驗證經驗的積累和突破
5.8 本章結束語
第6章 驗證的結構
6.1 測試平臺概述
6.2 硬件設計描述
6.2.1 功能描述
6.2.2 設計結構
6.2.3 接口描述
6.2.4 接口時序
6.2.5 寄存器描述
6.3 激勵發生器
6.4 監測器
6.5 比較器
6.6 驗證結構
6.6.1 項目背景
6.6.2 MCDF驗證進度安排
6.7 本章結束語
第7章 SV環境構建
7.1 數據類型
7.2 模塊定義與例化
7.2.1 模塊定義
7.2.2 模塊例化
7.2.3 參數使用
7.2.4 參數修改
7.2.5 宏定義
7.3 接口
7.3.1 接口連接方式1
7.3.2 接口連接方式2
7.3.3 接口的其他應用
7.4 程序和模塊
7.4.1 Verilog設計競爭問題
7.4.2 SV的仿真調度機制
7.4.3 module數據采樣示例1
7.4.4 module數據采樣示例2
7.4.5 program數據采樣示例
7.5 測試的始終
7.5.1 系統函數調用方式結束
7.5.2 program隱式結束
7.5.3 program顯式結束
7.6 本章結束語
第8章 SV組件實現
8.1 激勵發生器的驅動
8.1.1 激勵驅動的方法
8.1.2 任務和函數
8.1.3 數據生命周期
8.1.4 通過接口驅動
8.1.5 測試向量產生
8.1.6 仿真結束控制
8.2 激勵發生器的封裝
8.2.1 類的封裝
8.2.2 類的繼承
8.2.3 成員覆蓋
8.2.4 虛方法
8.2.5 句柄使用
8.2.6 對象復制
8.2.7 對象回收
8.3 激勵發生器的隨機化
8.3.1 可隨機的激勵種類
8.3.2 約束求解器
8.3.3 隨機變量和數組
8.3.4 約束塊
8.3.5 隨機化控制
8.3.6 隨機化的穩定性
8.3.7 隨機化的流程控制
8.3.8 隨機化的系統函數
8.4 監測器的采樣
8.4.1 Interface clocking簡介
8.4.2 利用clocking事件同步
8.4.3 利用clocking采樣數據
8.4.4 利用clocking產生激勵
8.4.5 monitor的采樣功能
8.5 組件間的通信
8.5.1 通知的需求
8.5.2 資源共享的需求
8.5.3 數據通信的需求
8.5.4 進程同步的需求
8.5.5 進程通信要素的比較和應用
8.6 比較器和參考模型
8.6.1 異常檢查
8.6.2 常規檢查
8.6.3 時序檢查
8.6.4 組件連接
8.7 測試環境的報告規范
8.7.1 信息報告庫
8.7.2 信息庫使用場景
8.8 本章結束語
第9章 SV系統集成
9.1 包的意義
9.2 驗證環境的組裝
9.2.1 封裝驗證環境的方式
9.2.2 模塊環境的復用考量
9.2.3 比較器的復用考量
9.2.4 頂層環境的實現
9.3 測試場景的生成
9.3.1 動態控制激勵
9.3.2 調度多個激勵器
9.3.3 線程的精細控制
9.3.4 動態測試向量
9.3.5 向量群落的并發控制
9.4 靈活化的配置
9.4.1 Agent的兩面性
9.4.2 各個組件的模式配置
9.4.3 驗證結構的集成順序
9.5 初論環境的復用性
9.5.1 復用的策略
9.5.2 水平復用的應用
9.5.3 垂直復用的應用
9.6 本章結束語
第10章 UVM世界觀
10.1 我們所處的驗證時代
10.2 類庫地圖
10.3 工廠機制
10.3.1 工廠的意義
10.3.2 工廠提供的便利
10.3.3 覆蓋方法
10.3.4 確保正確覆蓋的代碼要求
10.4 核心基類
10.4.1 域的自動化
10.4.2 復制
10.4.3 比較
10.4.4 打印
10.4.5 打包和解包
10.5 phase機制
10.5.1 phase執行機制
10.5.2 如何開始UVM仿真
10.5.3 如何結束UVM仿真
10.6 config機制
10.6.1 interface傳遞
10.6.2 變量設置
10.6.3 config object傳遞
10.6.4 config機制
10.6.5 其他配置方法
10.6.6 uvm_resource_db的使用
10.7 消息管理
10.7.1 消息方法
10.7.2 消息處理
10.7.3 消息機制
10.8 宏的優劣探討
10.9 本章結束語
第11章 UVM結構
11.1 組件家族
11.1.1 uvm_driver
11.1.2 uvm_monitor
11.1.3 uvm_sequencer
11.1.4 uvm_agent
11.1.5 uvm_scoreboard
11.1.6 uvm_env
11.1.7 uvm_test
11.2 把DUT裝進TB分幾步
11.2.1 MCDF頂層驗證環境方案1
11.2.2 MCDF頂層驗證環境方案2
11.3 構建環境的內經
11.3.1 環境構建的四要素
11.3.2 環境元素分類
11.4 本章結束語
第12章 UVM通信
12.1 TLM通信概論
12.2 單向、雙向及多向通信
12.2.1 單向通信
12.2.2 雙向通信
12.2.3 多向通信
12.3 通信管道應用
12.3.1 TLM FIFO
12.3.2 Analysis Port
12.3.3 Analysis TLM FIFO
12.3.4 Request & Response 通信
管道
12.4 TLM2通信
12.4.1 接口實現
12.4.2 傳送數據
12.4.3 時間標記
12.4.4 典型使用
12.5 同步通信元件
12.5.1 uvm_event應用
12.5.2 uvm_barrier應用
12.5.3 uvm_callback應用
12.6 本章結束語
第13章 UVM序列
13.1 新手上路
13.2 Sequence和Item
13.2.1 Sequence Item
13.2.2 Flat Sequence
13.2.3 Hierarchical Sequence
13.3 Sequencer和Driver
13.3.1 雙方的TLM端口和方法
13.3.2 事務傳輸實例
13.3.3 通信時序
13.4 Sequencer和Sequence
13.4.1 發送sequence及item的方法和宏
13.4.2 sequencer的仲裁特性及應用
13.5 Sequence的層次化
13.5.1 Hierarchical Sequence
13.5.2 Virtual Sequence
13.5.3 Layering Sequence
13.6 本章結束語
第14章 UVM寄存器
14.1 寄存器模型概覽
14.2 寄存器模型的集成
14.2.1 總線UVC的實現
14.2.2 MCDF寄存器模塊代碼
14.2.3 Adapter的實現
14.2.4 Adapter的集成
14.2.5 前門訪問
14.2.6 后門訪問
14.2.7 前門訪問和后門訪問的比較
14.3 寄存器模型的常規方法
14.3.1 mirrored、desired和actual value
14.3.2 prediction的分類
14.3.3 uvm_reg的訪問方法
14.3.4 mem與reg的聯系和差別
14.3.5 內建sequences
14.4 寄存器模型的場景應用
14.4.1 如何檢查寄存器模型
14.4.2 功能覆蓋率的實現
14.5 本章結束語
第15章 驗證平臺自動化
15.1 為什么需要一款代碼生成器
15.2 UVM Framework
15.3 如何定制一款TB自動化工具
15.3.1 驗證環境的自動化創建
15.3.2 測試框架和測試用例的垂直復用
15.3.3 中心化的功能覆蓋率管理
15.4 本章結束語
第16章 跨平臺移植復用
16.1 便攜激勵標準(PSS)
16.2 PSS工具集概覽
16.2.1 inFact
16.2.2 Perspec
16.2.3 Breker Trek系列
16.3 跨平臺的驗證結構考量
16.3.1 virtual prototyping與simulation的混合仿真
16.3.2 virtual prototyping與FPGAprototyping的混合仿真
16.3.3 simulation與emulation的混合仿真
16.3.4 virtual prototyping與emulation的混合仿真
16.4 本章結束語
第17章 SV及UVM接口應用
17.1 DPI接口和C測試
17.1.1 總線接口的讀寫實現
17.1.2 virtual_core類的定義
17.1.3 DPI方法的實現
17.1.4 多核并行處理實現
17.1.5 中斷響應的實現
17.2 SystemC與UVM的TLM2通信
17.2.1 UVMC連接
17.2.2 UVM指令API
17.3 MATLAB及Simulink模型與UVM的混合仿真
17.4 腳本語言與UVM的交互
17.4.1 線上控制和線下激勵的交互應用
17.4.2 線上控制和線上激勵的交互應用
17.5 本章結束語
第18章 SV及UVM高級話題
18.1 SystemVerilog開源公共庫
18.1.1 SV開源庫之一:svlib
18.1.2 SV開源庫之二:cluelib
18.2 SV單元測試方法SVUnit
18.3 OVM到UVM的移植
18.3.1 OVM代碼檢視
18.3.2 OVM到UVM的代碼自動轉換
18.3.3 替換OVM phase方法
18.3.4 替換OVM objection方法
18.3.5 替換OVM configuration方法
18.3.6 添加UVM的新特性
18.4 OVM與UVM的混合仿真
18.4.1 UVM-ML驗證框架
18.4.2 OVM兼容層
18.4.3 XVM
18.5 本章結束語
參考文獻
序: