發表於2024-11-26
資深驗證專傢劉斌(路桑)嚮您全麵介紹芯片驗證,從驗證的理論,到SystemVerilog語言和UVM驗證方法學,再到高級驗證項目話題。這本綜閤性、實用性的驗證理論和編程方麵的圖書,針對芯片驗證領域不同級彆的驗證工程師,給齣由淺入深的技術指南:學習驗證理論來認識驗證流程和標準,學習SystemVerilog語言和UVM方法學來掌握目前主流的動態驗證技術,瞭解高級驗證話題在今後遇到相關問題時可以參考。
劉斌(路桑)目前是Intel公司的資深驗證專傢。在Intel移動通信事業部主持驗證架構規劃和方法學研究,擔任過幾款億門級通信芯片的驗證經理角色。在工程領域之外,他在西安電子科技大學和西安交通大學客座講授芯片驗證課程。創辦的驗證技術訂閱號“路科驗證”,目前已有超過10000名的訂閱者。多次在設計驗證行業國際會議和展覽中發錶論文,並做瞭富有特色的演講。在西安交通大學取得微電子專業學士學位,在瑞典皇傢理工學院取得芯片設計專業碩士學位。
第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 本章結束語
參考文獻
序(一)
近年來,我國集成電路(IC)産業高速蓬勃發展,與發達國傢的技術差距不斷縮小。國傢集成電路産業基金起到瞭積極的推動作用。産業基金的第二期將重點投資在集成電路設計領域,預計規模有望達2000億元。設計領域的投入,將會圍繞人工智能、物聯網、5G通信、智能汽車、智能電網等國傢戰略和新興行業,創造齣科技含量更高、能夠實現進口替代的高端集成電路芯片。
在這一時代背景下,我國集成電路企業正呈現齣數量和規模迅速增長、競爭日趨激烈的態勢。在大量資本投入的背景下,企業對IC設計工程型專業人纔的需求非常迫切,形成瞭巨大的人纔需求缺口。需求差距錶現在兩個方麵,一方麵高校每年畢業的IC設計人纔無法滿足數量需求。另一方麵,畢業生的專業IC技能與企業的實際需求也存在一定欠缺。因此,為瞭全麵推動創新型復閤IC工程人纔的培養,作為人纔培養主力軍的高校和集成電路企業之間就需要進行資源共享與深度産學閤作,共同推動我國IC人纔培養質量的提升。
在産學閤作方麵,十多年來西安電子科技大學微電子學院通過與英特爾等行業骨乾企業的密切閤作,積纍瞭豐富的經驗,在閤作機製、課程體係、教學方法等方麵形成瞭鮮明的特色,為IC創新人纔培養奠定瞭堅實的基礎。2015年,微電子學院與本書作者及其所在的英特爾公司攜手開展IC教學內容改革與協同育人的産學閤作項目,邀請作者到我院客座講授集成電路芯片驗證課程,並在課程結束後優選學生到英特爾和其他眾多國內高端IC公司參加實習,進行項目實踐並完成工程論文。可以說,將企業實踐經驗引入教學體係,搭建起良好的産學協同育人平颱,使得我院學生在知識體係和實踐能力方麵獲得瞭顯著提升,大大提升瞭我院人纔培養的行業適應度和滿意度。我院與英特爾公司建立的研究生培養基地被評為2017年度全國專業學位研究生培養示範基地。
在與作者交流時,得知作者計劃將此書作為IC驗證工程類教材, 芯片驗證漫遊指南――從係統理論到UVM的驗證全視界 下載 mobi epub pdf txt 電子書 格式
芯片驗證漫遊指南――從係統理論到UVM的驗證全視界 下載 mobi pdf epub txt 電子書 格式 2024
芯片驗證漫遊指南――從係統理論到UVM的驗證全視界 下載 mobi epub pdf 電子書芯片驗證漫遊指南――從係統理論到UVM的驗證全視界 mobi epub pdf txt 電子書 格式下載 2024