SystemVerilog 驗證
內容描述
<內容簡介>
本書講解了SystemVerilog語言的工作原理,介紹了類、隨機化和功能覆蓋率等測試手段和概念,並且在創建測試平臺方面提供了很多引導性的建議。本書借助大量的實例說明SystemVerilog的各種驗證方法,以及如何根據實際的應用情況選擇最優的方法達到盡可能高的覆蓋率。而且,重點演示瞭如何使用面向對象編程(OOP)的方法建立由覆蓋率驅動並且受約束的基本的隨機分層測試平臺,此外,還論述了SystemVerilog與C語言的接口技術。
本書可供具有一定Vetilog編程基礎的電路工程技術人員使用,也可作為高等院校電子類、自動化類、計算機類的學生參考書。
<章節目錄>
第1章 驗證導論
1.1 驗證流程
1.1.1 不同層次上的測試
1.1.2 驗證計劃
1.2 驗證方法學
1.3 基本測試平臺的功能
1.4 定向測試
1.5 方法學基礎
1.6 受約束的隨機激勵
1.7 你的隨機化對象是什麽
1.7.1 設備和環境配置
1.7.2 輸入數據
1.7.3 協議異常、錯誤和違例
1.7.4 時延和同步
1.7.5 並行的隨機測試
1.8 功能覆蓋率
1.8.1 從功能覆蓋率到激勵的反饋
1.9 測試平臺的構件
1.10 分層的測試平臺
1.10.1 不分層的測試平臺
1.10.2 信號和命令層
1.10.3 功能層
1.10.4 場景層
1.10.5 測試的層次和功能覆蓋率
1.11 建立一個分層的測試平臺
1.11.1 創建一個簡單的驅動器
1.12 模擬環境的階段
1.13 最大限度的代碼重用
1.14 測試平臺的性能
1.15 結束語
第2章 數據類型
2.1 內建數據類型
2.1.1 邏輯(logic)類型
2.1.2 雙狀態數據類型
2.2 定寬數組
2.2.1 定寬數組的聲明和初始化
2.2.2 常量數組
2.2.3 基本的數組操作——for和foreach
2.2.4 基本的數組操作——復制和比較
2.2.5 同時使用位下標和數組下標
2.2.6 合並數組
2.2.7 合並數組的例子
2.2.8 合並數組和非合並數組的選擇
2.3 動態數組
2.4 隊列
2.5 關聯數組
2.6 鏈表
2.7 數組的方法
2.7.1 數組縮減方法
2.7.2 數組定位方法
2.7.3 數組的排序
2.7.4 使用數組定位方法建立記分板
2.8 選擇存儲類型
2.8.1 靈活性
2.8.2 存儲器用量
2.8.3 速度
2.8.4 排序
2.8.5 選擇最優的數據結構
2.9 使用typedef創建新的類型
2.10 創建用戶自定義結構
2.10.1 使用struct創建新類型
2.10.2 對結構進行初始化
2.10.3 創建可容納不同類型的聯合
2.10.4 合並結構
2.10.5 在合並結構和非合並結構之間進行選擇
2.11 類型轉換
2.11.1 靜態轉換
2.11.2 動態轉換
……
第3章 過程語句和子程序
第4章 連接設計和測試平臺
第5章 面向對象編程基礎
第6章 隨機化
第7章 線程以及線程間的通信
第8章 面向對象編程的高級技巧指南
第9章 功能覆蓋率
第10章 高級接口
第11章 完整的System Verilog測試平臺
第12章 System Verilog與C語言的接口