芯片EDA實戰/新一代芯片驗證語言Eagle和PVM驗證平臺( 簡體 字) | |
作者:易敏| | 類別:1. -> 電腦組織與體系結構 -> 單晶片 |
出版社:機械工業 | 3dWoo書號: 56455 詢問書籍請說出此書號! 有庫存 NT售價: 695 元 |
出版日:7/1/2024 | |
頁數:403 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111754909 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第一篇驗證方法學基礎
晶片驗證目的/ 1.1晶片驗證與晶片品質/ 1.2晶片驗證品質度量方法/ 1.2.1代碼覆蓋率/ 1.2.2斷言覆蓋率/ 1.2.3功能覆蓋率/ 1.2.4覆蓋率度量方法比較/ 1.3功能覆蓋率/ 1.3.1驗證目標定義/ 1.3.2晶片系統模型/ 1.3.3激勵資料模型/ 1.3.4功能覆蓋率定義/ 1.3.5交叉組合功能覆蓋率/ 1.3.6順序組合功能覆蓋率/ 1.3.7功能覆蓋率直接驅動的隨機驗證 方法學/ 晶片驗證方法/ 2.1模擬驗證方法/ 2.1.1晶片驗證方法演進/ 2.1.2驗證效率成本問題/ 2.1.3測試和驗證的概念辨析/ 2.2驗證效率提升/ 2.2.1當前存在的效率問題/ 2.2.2程式設計效率和編譯效率提升/ 2.2.3模擬執行效率提升/ 2.3晶片驗證流程管理/ 2.3.1晶片專案階段劃分/ 2.3.2驗證分層/ 2.3.3全面度量管理/ 2.3.4驗證技術手段/ 2.3.5模擬驗證技術發展思考/目錄 第二篇Eagle程式設計語言 Eagle語言概述/ 3.1驗證語言設計背景/ 3.1.1晶片驗證語言發展歷史/ 3.1.2驗證語言設計需求/ 3.1.3Eagle語言設計思想和理念/ 3.2語言概況/ 3.2.1初識Eagle語言/ 3.2.2代碼原始檔案/ 3.2.3package套裝程式/ 3.2.4編譯工程/ 3.2.5代碼行和代碼塊/ 3.2.6注釋/ 3.3函數/ 3.3.1函數的定義/ 3.3.2函數的參數和返回值/ 3.4物件導向/ 3.4.1類的基本定義/ 3.4.2構造函數和析構函數/ 3.4.3類的繼承/ 3.4.4類限定詞/ 3.4.5類屬性符/ 3.4.6對象別名/ 3.5記憶體管理/ 3.6程式越界/ 3.7關鍵字和操作符/ 晶片EDA實戰:新一代晶片驗證語言Eagle和PVM驗證平臺3.8預定義系統參數/ 3.9控制語法/ 3.9.1if條件控制語句/ 3.9.2for[]迴圈控制語句/ 3.9.3for()迴圈控制語句/ 3.9.4foreach…in…迴圈控制語句/ 3.9.5while和dowhile迴圈控制語句/ 3.9.6switch… case… others…條件 控制語句/ 3.9.7break和continue迴圈控制 語句/ 3.9.8return返回語句/ 基底資料型別/ 4.1數字常量/ 4.2字串常量/ 4.3參數常量/ 4.4枚舉類型/ 4.5變數的類型及作用域/ 4.6列印輸出語句/ 4.6.1資訊輸出級別/ 4.6.2一般語法/ 4.6.3格式化列印輸出/ 4.7bool類型/ 4.7.1bool類型定義/ 4.7.2邏輯運算/ 4.7.3邏輯運算式/ 4.8int類型/ 4.9uint類型/ 4.10float類型/ 4.11string類型/ 4.11.1字串定義/ 4.11.2切片操作/ 4.11.3常用操作函數/ 4.11.4字串支援的運算子/ 4.12list/rlist資料結構設計/ 4.12.1list定義/ 4.12.2list元素切片/ 4.12.3物件替換操作符(.=)/ 4.12.4list的操作函數/ 4.13dict/rdict資料結構設計/ 4.13.1dict定義/ 4.13.2dict元素切片/ 4.13.3dict操作函數/ 驗證專用資料類型/ 5.1bit資料結構設計/ 5.1.1bit類型定義/ 5.1.2bit位切片/ 5.1.3bit位元標記/ 5.1.4bit位域定義/ 5.1.5點等操作符“.=”/ 5.1.6bit資料類型交叉賦值/ 5.1.7bit操作函數/ 5.1.8bit位運算/ 5.1.9bit算數運算/ 5.2byte資料結構設計/ 5.2.1byte資料類型定義/ 5.2.2byte資料類型位元組切片方式/ 5.2.3byte資料類型切片標記/ 5.2.4byte位域定義/ 5.2.5點等操作符“.=”/ 5.2.6基於標記進行byte類型資料 比較/ 5.2.7byte資料類型交叉賦值/ 5.2.8byte操作函數/ 5.3cover資料結構設計/ 5.3.1cross交叉組合/ 5.3.2comb排列組合/ 5.3.3sequence順序組合/ 5.3.4複雜cross交叉組合定義/ 5.3.5trans跳變序列/ 5.3.6變數關聯約束/ 5.3.7cover資料結構定義/ 5.3.8cover資料結構實現定向測試和 隨機測試/ 5.3.9feedby()函數/ 5.3.10cover資料操作函數/ 多執行緒程式設計/ 6.1設計背景/ 6.2生產者-消費者模型/ 6.3tube通信管道/ 6.4函數多執行緒執行/ 6.5物件多執行緒執行/ 6.6執行緒安全變數/ 庫及庫開發/ 7.1系統庫/ 7.1.1randint類/ 7.1.2系統函數/ 7.1.3math數學庫/ 7.1.4time庫/ 7.1.5演算法庫/ 7.2目錄和檔庫/ 7.2.1dir類/ 7.2.2file類/ 7.3規則運算式/ 7.3.1規則運算式語法/ 7.3.2regexp類/ 7.4sqlite3資料庫/ 7.4.1eglSQLite3DB類/ 7.4.2eglSQLite3Statement類/ 7.4.3eglSQLite3Query類/ 7.4.4資料庫使用示例/ 7.5庫開發工程/ 7.5.1程式設計介面/ 7.5.2編譯工程類型/ 7.5.3庫開發:Eagle原始檔案/ 7.5.4庫開發:C/C 原始檔案/ 7.5.5庫開發:Eagle、C/C 原始檔案/ 7.5.6庫開發:Eagle原始檔案、 動態庫/ 7.5.7庫開發:C/C 原始檔案、 動態庫/ 7.5.8庫開發:Eagle、C/C 原始檔案、 動態庫/ 第三篇PVM和DVM驗證平臺 PVM驗證平臺並行架構設計/ 8.1驗證平臺設計需求/ 8.1.1數位晶片常用類型/ 8.1.2驗證平臺功能需求/ 8.1.3工程類需求/ 8.2PVM驗證平臺設計/ 8.2.1傳統驗證平臺架構分析/ 8.2.2PVM基礎驗證平臺/ 8.2.3資料檢測驗證元件(monVC)/ 8.2.4驅動驗證組件(drvVC)/ 8.2.5寄存器塊(regBlock)/ 8.2.6記憶體驗證組件(memVC)/ 8.2.7服務驗證元件(svrVC)/ 8.3PVM驗證平臺整體架構/ 8.3.1PVM驗證平臺架構層次/ 8.3.2PVM執行過程/ 8.3.3PVM啟動/ 8.3.4PVM集成/ 8.4DPI介面函數/ 8.4.1DPI介面函數總表/ 8.4.2發送驗證元件DPI介面函數/ 8.4.3接收驗證元件DPI介面函數/ 8.4.4驅動驗證元件DPI介面函數/ 8.4.5行為級參考模型驗證元件DPI介面 函數/ 8.4.6多功能驗證元件DPI介面 函數/ 8.4.7記分牌驗證元件DPI介面 函數/ 8.4.8記憶體驗證元件DPI介面 函數/ 8.4.9服務驗證元件DPI介面 函數/ 8.4.10資料處理DPI介面函數/ 8.5simduv介面函數/ 8.5.1調試用介面函數總表/ 8.5.2發送驗證元件介面函數/ 8.5.3接收驗證元件介面函數/ 8.5.4驅動驗證元件介面函數/ 8.5.5行為級參考模型驗證元件介面 函數/ 8.5.6多功能驗證元件介面函數/ 8.5.7記分牌驗證元件介面函數/ 8.5.8記憶體驗證元件介面函數/ 8.5.9服務驗證元件介面函數/ 8.5.10資料處理服務函數/ 8.5.11模擬模擬時間遞增/ 8.6事件機制/ 8.6.1時鐘同步/ 8.6.2硬體中斷/ 8.6.3硬體事件/ 8.6.4定時事件/ 8.6.5軟事件/ 驗證元件設計指南/ 9.1驗證組件簡介/ 9.1.1驗證組件類型/ 9.1.2驗證組件執行階段/ 9.1.3pvmID和vcID/ 9.1.4驗證元件物件容器/ 9.1.5驗證組件迴圈執行/ 9.1.6tube管道容量設置/ 9.2packet數據包類/ 9.2.1packet類設計需求/ 9.2.2packet類設計/ 9.3驗證元件介面函數/ 9.3.1驗證元件介面函數總表/ 9.3.2驗證元件通用介面函數/ 9.3.3發送驗證元件介面函數/ 9.3.4接收驗證元件介面函數/ 9.3.5驅動驗證元件介面函數/ 9.3.6獲取資料包介面函數/ 9.3.7記分牌驗證元件介面函數/ 9.3.8記憶體驗證元件介面函數/ 9.3.9服務驗證元件介面函數/ 9.3.10PVM介面函數/ 9.4訪問驗證元件函數/ 9.4.1訪問驗證元件函數總表/ 9.4.2資料包複製函數/ 9.4.3訪問發送驗證元件函數/ 9.4.4訪問驅動驗證元件函數/ 9.4.5訪問行為級參考模型驗證元件 函數/ 9.4.6訪問多功能驗證元件函數/ 9.4.7訪問記分牌驗證元件函數/ 9.5發送驗證元件設計指南/ 9.5.1發送驗證組件實現方案/ 9.5.2發送驗證組件調度器設計/ 9.5.3發送驗證組件升降旗/ 9.5.4mTxVC發送BFM設計指南/ 9.5.5sTxVC發送BFM設計指南/ 9.5.6功能覆蓋率定義和隨機約束/ 9.6接收驗證元件設計指南/ 9.6.1接收驗證組件調度器設計/ 9.6.2mRxVC接收BFM設計指南/ 9.6.3sRxVC接收BFM設計指南/ 9.7MON資料檢測驗證元件設計指南/ 9.7.1monVC驗證組件調度器/ 9.7.2monVC驗證元件介面設計/ 9.8驅動驗證元件設計指南/ 9.8.1驅動驗證元件使用架構/ 9.8.2driver基類/ 9.8.3資料包介面設計指南/ 9.8.4驅動BFM設計指南/ 9.9行為級參考模型驗證元件設計指南/ 9.10多功能驗證元件設計指南/ 9.11記分牌驗證元件設計指南/ 9.11.1mScbVC介面設計指南/ 9.11.2snScbVC介面設計指南/ 9.12記憶體驗證元件設計指南/ 9.13服務驗證元件設計指南/ 9.14模擬控制函數/ 驗證平臺配置與重用/ 10.1變數配置機制/ 10.1.1操作函數/ 10.1.2變數設定檔/ 10.1.3變數查找規則/ 10.1.4變數設置優先順序/ 10.2Message資訊配置機制/ 10.2.1Message資訊分類/ 10.2.2Message資訊輸出函數/ 10.2.3Message輸出控制函數/ 10.2.4Message設定檔/ 10.2.5日誌查看工具logview/ 10.3factory工廠機制/ 10.3.1factory工廠實現/ 10.3.2PVM與UVM的factory機制比較/ 10.3.3類的虛函數重載機制/ 10.4proxy類代理機制/ 10.4.1proxy類代理機制實現原理/ 10.4.2代理類物件存儲層次結構/ 10.5測試用例和驗證平臺配置/ 測試用例設計/ 11.1cover定義和隨機約束/ 11.1.1定義功能覆蓋率/ 11.1.2隨機約束:A類功能覆蓋率/ 11.1.3B類功能覆蓋率/ 11.1.4功能覆蓋率目標達成/ 11.1.5測試用例目錄管理/ 11.1.6測試用例設定檔/ 11.1.7兩級測試用例檔配置/ 11.1.8功能覆蓋率報告/ 11.2升降旗和看門狗機制/ 11.2.1PVM升降旗實現原理/ 11.2.2看門狗機制/ DVM驗證平臺設計/ 12.1DVM驗證平臺應用場景/ 12.2虛集成/虛連接技術/ 12.3DVM驗證平臺架構設計/ 12.4驗證元件介面函數/ 第四篇PVM驗證平臺配套工具 寄存器模型/ 13.1寄存器屬性/ 13.2regBlock類/ 13.2.1按屬性讀寫/ 13.2.2後門讀寫/ 13.2.3前門讀寫/ 13.2.4批量後門讀寫/ 13.2.5批量前門讀寫/ 13.2.6其他常用函數/ 信號故障注入工具/ 14.1獲取信號值/ 14.2高精度時鐘/ 14.3單信號故障注入/ 14.4基於事件的信號故障注入/ 14.5時鐘信號故障注入/ 14.6狀態機故障注入/ 驗證平臺示例/ 15.1sha模組驗證平臺:shaDemo/ 15.1.1shaDemo驗證平臺架構/ 15.1.2BFM設計/ 15.1.3驗證組件設計/ 15.1.4測試用例設計/ 15.2可重用PVM驗證平臺: socDemoI/ 15.2.1驗證平臺架構/ 15.2.2eth8023數據包/ 15.2.3發送驗證組件設計/ 15.2.4發送BFM設計/ 15.2.5驅動驗證組件設計/ 15.2.6寄存器讀寫BFM設計/ 15.2.7接收BFM設計/ 15.2.8接收驗證組件設計/ 15.2.9brmVC驗證組件設計/ 15.2.10snScbVC驗證組件設計/ 15.2.11測試用例設計/ 15.3級聯PVM驗證平臺: socDemoII/ 15.4DVM分散式驗證平臺: socDemoIII/ 附錄A術語/ 本書從晶片驗證的目的出發,完善了功能覆蓋率的定義,闡述了新的隨機測試方法,即“功能覆蓋率直接驅動的隨機測試方法”,以及一種新的驗證語言EagleLang,即Eagle語言。該程式設計語言具有類似指令碼語言的簡潔語法,專用於晶片驗證,也可以用於文本處理、數學計算、多執行緒程式設計等應用領域。該語言的編譯執行具有接近C 語言的效率,eagle是該語言的編譯器工具。
晶片模擬驗證效率是影響晶片專案週期的主要因素,本書提出了新一代的驗證方法學PVM(Parallel Verification Methodology),採用多核並行技術搭建的PVM驗證平臺,具有執行效率高的特點,可以有效實現晶片模擬驗證加速。另外,在PVM驗證平臺中採用工廠模式和動態程式設計技術,可以實現驗證元件、測試用例的動態生成,減少驗證平臺、測試用例的編譯時間。 本書主要適合晶片驗證工程師、晶片驅動軟體發展工程師、晶片系統建模工程師、晶片設計工程師閱讀。本書也可以作為從事晶片EDA工具開發的軟體工程師、編譯器開發軟體工程師的參考書籍。本書還可以作為高校師生瞭解晶片設計與驗證技術的參考書籍。 |