定 價:¥99.00
作 者: | 劉斌 著 |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787121339011 | 出版時間: | 2018-04-01 | 包裝: | |
開本: | 頁數(shù): | 字數(shù): |
第1章 芯片驗證全視
1.1 功能驗證簡介
1.2 驗證的處境
1.2.1 驗證語言的發(fā)展
1.2.2 驗證面臨的挑戰(zhàn)
1.3 驗證能力的5個維度
1.3.1 完備性
1.3.2 復用性
1.3.3 高效性
1.3.4 高產(chǎn)出
1.3.5 代碼性能
1.4 驗證的任務和目標
1.4.1 按時保質(zhì)低耗
1.4.2 芯片研發(fā)與客戶反饋
1.4.3 缺陷增長曲線
1.5 驗證的周期
1.5.1 驗證周期中的檢查點
1.5.2 功能詳述
1.5.3 制定驗證計劃
1.5.4 開發(fā)驗證環(huán)境
1.5.5 調(diào)試環(huán)境和HDL文件
1.5.6 回歸測試
1.5.7 芯片生產(chǎn)
1.5.8 硅后系統(tǒng)測試
1.5.9 逃逸分析
1.6 本章結(jié)束語
第2章 驗證的策略
2.1 設計的流程
2.1.1 TLM模型的需求和ESL開發(fā)
2.1.2 傳統(tǒng)的系統(tǒng)設計流程
2.1.3 ESL系統(tǒng)設計流程
2.1.4 語言的抽象級比較
2.1.5 傳統(tǒng)的系統(tǒng)集成視角
2.1.6 ESL系統(tǒng)集成視角
2.2 驗證的層次
2.2.1 模塊級
2.2.2 子系統(tǒng)級
2.2.3 芯片系統(tǒng)級
2.2.4 硅后系統(tǒng)級
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 集成的環(huán)境
2.6.1 驗證平臺
2.6.2 待驗設計
2.6.3 運行環(huán)境
2.6.4 驗證管理
2.7 本章結(jié)束語
第3章 驗證的方法
3.1 動態(tài)仿真
3.1.1 定向測試
3.1.2 隨機測試
3.1.3 基于覆蓋率驅(qū)動的隨機驗證
3.1.4 基于TLM的隨機驗證
3.1.5 斷言檢查
3.2 靜態(tài)檢查
3.2.1 語法檢查
3.2.2 語義檢查
3.2.3 跨時鐘域檢查
3.2.4 形式驗證
3.3 開發(fā)環(huán)境
3.3.1 Vim開發(fā)環(huán)境
3.3.2 商業(yè)SV開發(fā)環(huán)境――DVT
3.4 虛擬模型
3.5 硬件加速
3.6 效能驗證
3.6.1 功率和能量
3.6.2 靜態(tài)功耗和動態(tài)功耗
3.6.3 節(jié)能技術(shù)
3.6.4 效能驗證
3.6.5 功耗預測與優(yōu)化
3.7 性能驗證
3.7.1 設定目標
3.7.2 測試環(huán)境
3.7.3 驗證方法
3.8 趨勢展望
3.8.1 技術(shù)之間的橫向跨越
3.8.2 層次之間的縱向復用
3.9 本章結(jié)束語
第4章 驗證的計劃
4.1 計劃概述
4.2 計劃的內(nèi)容
4.2.1 技術(shù)的視角
4.2.2 項目的視角
4.3 計劃的實現(xiàn)
4.3.1 邀請相關人員
4.3.2 開會討論
4.3.3 確定測試場景
4.3.4 創(chuàng)建驗證環(huán)境
4.4 計劃的進程評估
4.4.1 回歸測試通過率
4.4.2 代碼覆蓋率
4.4.3 斷言覆蓋率
4.4.4 功能覆蓋率
4.4.5 缺陷曲線
4.5 本章結(jié)束語
第5章 驗證的管理
5.1 驗證周期的檢查清單
5.2 驗證管理的三要素
5.2.1 時間管理
5.2.2 人力資源安排
5.2.3 任務拆分和重組
5.3 驗證的收斂
5.3.1 回歸流程
5.3.2 回歸質(zhì)量
5.3.3 回歸效率
5.4 讓漏洞無處可逃
5.5 團隊建設
5.6 驗證師的培養(yǎng)
5.6.1 全硅能力
5.6.2 不做假設
5.6.3 專注力
5.6.4 邏輯性
5.6.5 “戰(zhàn)鼓光環(huán)”
5.6.6 降低復雜度
5.7 驗證的專業(yè)化
5.7.1 對驗證的偏見
5.7.2 驗證面臨的現(xiàn)狀
5.7.3 驗證標準化
5.7.4 驗證經(jīng)驗的積累和突破
5.8 本章結(jié)束語
第6章 驗證的結(jié)構(gòu)
6.1 測試平臺概述
6.2 硬件設計描述
6.2.1 功能描述
6.2.2 設計結(jié)構(gòu)
6.2.3 接口描述
6.2.4 接口時序
6.2.5 寄存器描述
6.3 激勵發(fā)生器
6.4 監(jiān)測器
6.5 比較器
6.6 驗證結(jié)構(gòu)
6.6.1 項目背景
6.6.2 MCDF驗證進度安排
6.7 本章結(jié)束語
第7章 SV環(huán)境構(gòu)建
7.1 數(shù)據(jù)類型
7.2 模塊定義與例化
7.2.1 模塊定義
7.2.2 模塊例化
7.2.3 參數(shù)使用
7.2.4 參數(shù)修改
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的仿真調(diào)度機制
7.4.3 module數(shù)據(jù)采樣示例1
7.4.4 module數(shù)據(jù)采樣示例2
7.4.5 program數(shù)據(jù)采樣示例
7.5 測試的始終
7.5.1 系統(tǒng)函數(shù)調(diào)用方式結(jié)束
7.5.2 program隱式結(jié)束
7.5.3 program顯式結(jié)束
7.6 本章結(jié)束語
第8章 SV組件實現(xiàn)
8.1 激勵發(fā)生器的驅(qū)動
8.1.1 激勵驅(qū)動的方法
8.1.2 任務和函數(shù)
8.1.3 數(shù)據(jù)生命周期
8.1.4 通過接口驅(qū)動
8.1.5 測試向量產(chǎn)生
8.1.6 仿真結(jié)束控制
8.2 激勵發(fā)生器的封裝
8.2.1 類的封裝
8.2.2 類的繼承
8.2.3 成員覆蓋
8.2.4 虛方法
8.2.5 句柄使用
8.2.6 對象復制
8.2.7 對象回收
8.3 激勵發(fā)生器的隨機化
8.3.1 可隨機的激勵種類
8.3.2 約束求解器
8.3.3 隨機變量和數(shù)組
8.3.4 約束塊
8.3.5 隨機化控制
8.3.6 隨機化的穩(wěn)定性
8.3.7 隨機化的流程控制
8.3.8 隨機化的系統(tǒng)函數(shù)
8.4 監(jiān)測器的采樣
8.4.1 Interface clocking簡介
8.4.2 利用clocking事件同步
8.4.3 利用clocking采樣數(shù)據(jù)
8.4.4 利用clocking產(chǎn)生激勵
8.4.5 monitor的采樣功能
8.5 組件間的通信
8.5.1 通知的需求
8.5.2 資源共享的需求
8.5.3 數(shù)據(jù)通信的需求
8.5.4 進程同步的需求
8.5.5 進程通信要素的比較和應用
8.6 比較器和參考模型
8.6.1 異常檢查
8.6.2 常規(guī)檢查
8.6.3 時序檢查
8.6.4 組件連接
8.7 測試環(huán)境的報告規(guī)范
8.7.1 信息報告庫
8.7.2 信息庫使用場景
8.8 本章結(jié)束語
第9章 SV系統(tǒng)集成
9.1 包的意義
9.2 驗證環(huán)境的組裝
9.2.1 封裝驗證環(huán)境的方式
9.2.2 模塊環(huán)境的復用考量
9.2.3 比較器的復用考量
9.2.4 頂層環(huán)境的實現(xiàn)
9.3 測試場景的生成
9.3.1 動態(tài)控制激勵
9.3.2 調(diào)度多個激勵器
9.3.3 線程的精細控制
9.3.4 動態(tài)測試向量
9.3.5 向量群落的并發(fā)控制
9.4 靈活化的配置
9.4.1 Agent的兩面性
9.4.2 各個組件的模式配置
9.4.3 驗證結(jié)構(gòu)的集成順序
9.5 初論環(huán)境的復用性
9.5.1 復用的策略
9.5.2 水平復用的應用
9.5.3 垂直復用的應用
9.6 本章結(jié)束語
第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執(zhí)行機制
10.5.2 如何開始UVM仿真
10.5.3 如何結(jié)束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 宏的優(yōu)劣探討
10.9 本章結(jié)束語
第11章 UVM結(jié)構(gòu)
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頂層驗證環(huán)境方案1
11.2.2 MCDF頂層驗證環(huán)境方案2
11.3 構(gòu)建環(huán)境的內(nèi)經(jīng)
11.3.1 環(huán)境構(gòu)建的四要素
11.3.2 環(huán)境元素分類
11.4 本章結(jié)束語
第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 接口實現(xiàn)
12.4.2 傳送數(shù)據(jù)
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 本章結(jié)束語
第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 發(fā)送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 本章結(jié)束語
第14章 UVM寄存器
14.1 寄存器模型概覽
14.2 寄存器模型的集成
14.2.1 總線UVC的實現(xiàn)
14.2.2 MCDF寄存器模塊代碼
14.2.3 Adapter的實現(xiàn)
14.2.4 Adapter的集成
14.2.5 前門訪問
14.2.6 后門訪問
14.2.7 前門訪問和后門訪問的比較
14.3 寄存器模型的常規(guī)方法
14.3.1 mirrored、desired和actual value
14.3.2 prediction的分類
14.3.3 uvm_reg的訪問方法
14.3.4 mem與reg的聯(lián)系和差別
14.3.5 內(nèi)建sequences
14.4 寄存器模型的場景應用
14.4.1 如何檢查寄存器模型
14.4.2 功能覆蓋率的實現(xiàn)
14.5 本章結(jié)束語
第15章 驗證平臺自動化
15.1 為什么需要一款代碼生成器
15.2 UVM Framework
15.3 如何定制一款TB自動化工具
15.3.1 驗證環(huán)境的自動化創(chuàng)建
15.3.2 測試框架和測試用例的垂直復用
15.3.3 中心化的功能覆蓋率管理
15.4 本章結(jié)束語
第16章 跨平臺移植復用
16.1 便攜激勵標準(PSS)
16.2 PSS工具集概覽
16.2.1 inFact
16.2.2 Perspec
16.2.3 Breker Trek系列
16.3 跨平臺的驗證結(jié)構(gòu)考量
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 本章結(jié)束語
第17章 SV及UVM接口應用
17.1 DPI接口和C測試
17.1.1 總線接口的讀寫實現(xiàn)
17.1.2 virtual_core類的定義
17.1.3 DPI方法的實現(xiàn)
17.1.4 多核并行處理實現(xiàn)
17.1.5 中斷響應的實現(xiàn)
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 本章結(jié)束語
第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的代碼自動轉(zhuǎn)換
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 本章結(jié)束語
參考文獻