編輯推薦
本書可以作為學習System Verilog驗證語言的初級階段讀物。書中描述瞭語言的工作原理並且包含瞭很多例子,這些例子演示瞭如何使用麵嚮對象編程(OOP)的方法建立一個基本的、由覆蓋率驅動並且受約束的隨機分層測試平颱。本書在創建測試平颱方麵有很多引導性的建議,能夠幫你弄清楚為什麼要使用類、隨機化和功能覆蓋率的概念。一旦你掌握瞭這門語言,就可以通過參考文獻中所列舉的方法學方麵的書籍來學習關於建立測試平颱的更多信息。
內容簡介
本書講解瞭SystemVerilog語言的工作原理,介紹瞭類、隨機化和功能覆蓋率等測試手段和概念,並且在創建測試平颱方麵提供瞭很多引導性的建議。本書藉助大量的實例說明SystemVerilog的各種驗證方法,以及如何根據實際的應用情況選擇zui優的方法達到盡可能高的覆蓋率。而且,重點演示瞭如何使用麵嚮對象編程(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 zui大限度的代碼重用
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 選擇zui優的數據結構
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 動態轉換
2.11.3 流操作符
2.12 枚舉類型
2.12.1 定義枚舉值
2.12.2 枚舉類型的子程序
2.12.3 枚舉類型的轉換
2.13 常量
2.14 字符串
2.15 錶達式的位寬
2.16 結束語
第3章 過程語句和子程序
3.1 過程語句
3.2 任務、函數以及void函數
3.3 任務和函數概述
3.3.1 在子程序中去掉begin...end
3.4 子程序參數
3.4.1 c語言風格的子程序參數
3.4.2 參數的方嚮
3.4.3 高級的參數類型
3.4.4 參數的缺省值
3.4.5 采用名字進行參數傳遞
3.4.6 常見的代碼錯誤
3.5 子程序的返迴
3.5.1 返迴(return)語句
3.5.2 從函數中返迴一個數組
3.6 局部數據存儲
3.6.1 自動存儲
3.6.2 變量的初始化
3.7 時間值
3.7.1 時間單位和精度
3.7.2 時間參數
3.7.3 時間和變量
3.7.4 $time與$realtime的對比
3.8 結束語
第4章 連接設計和測試平颱
4.1 將測試平颱和設計分開
4.1.1 測試平颱和DUT之間的通信
4.1.2 與端口的通信
4.2 接口
4.2.1 使用接口來簡化連接
4.2.2 連接接口和端口
4.2.3 使用modport將接口中的信號分組
4.2.4 在總綫設計中使用modport
4.2.5 創建接口監視模塊
4.2.6 接口的優缺點
4.2.7 更多側子和信息
4.3 激勵時序
4.3.1 使用時鍾塊控製同步信號的時序
4.3.2 接口中的logic和wire對比
4.3.3 Verilog的時序問題
4.3.4 測試平颱一設計間的競爭狀態
4.4.4 程序塊(ProgramBlock)和時序區域(TImingRegion)
4.3.6 仿真的結束
4.3.7 指定設計和測試平颱之間的延時
4.4 接口的驅動和采樣
4.4.1 接口同步
4.4.2 接口信號采樣
4.4.3 接口信號驅動
4.4.4 通過時鍾塊驅動接口信號
4.4.5 接口中的雙嚮信號
4.4.6 為什麼在程序
4.4.7 時鍾發生器
4.5 將這些模塊都連接起來
4.5.1 端口列錶中的接口必須連接
4.6 頂層作用域
4.7 程序——模塊交互
4.8 SystemVerilog斷言
4.8.1 立即斷言(ImmediateAssertion)
4.8.2 定製斷言行為
4.8.3 並發斷言
4.8.4 斷言的進一步探討
4.9 四端口的ATM路由器
4.9.1 使用端口的ATM路由器
4.9.2 使用端口的ATM頂層網單
4.9.3 使用接口簡化連接
4.9.4 ATM接口
4.9.5 使用接口的ATM路由器模型
4.9.6 使用接口的ATM頂層網單
……
第5章 麵嚮對象編程基礎
第6章 隨機化
第7章 綫程以及綫程間的通信
第8章 麵嚮對象編程的高級技巧指南
第9章 功能覆蓋率
第10章 高級接口
第11章 完整的System Verilog測試平颱
第12章 System Verilog與C語言的接口
精彩書摘
第1章 驗證導論
“有些人相信,我們缺乏能夠描述這個完美世界的編程語言……”
——《黑客帝國》,1999
設想一下,你被委任去為彆人建一幢房子。你該從哪裏開始呢?是不是一開始就考慮如何選擇門窗、塗料和地毯的顔色,或者浴室的用料?當然不是!首先你必須考慮房的主人將如何使用房子內部的空間,這樣纔能確定應該建造什麼類型的房子。你應該考慮的問題是他們是喜歡烹飪並且需要一個高端的廚房,還是喜歡在傢裏邊看電影邊吃外賣比薩?他們是需要一間書房或者額外的臥室,還是受預算所限要求更簡樸一些?
在開始學習有關SystemVerilog語言的細節之前,你需要理解如何製訂計劃來驗證你的設計,以及這個驗證計劃對測試平颱結構的影響。如同所有房子都有廚房、臥室和浴室一樣,所有測試平颱也都需要共享一些用於産生激勵和檢驗激勵響應的結構。本章將就測試平颱的構建和設計給齣一些引導性的建議和編碼風格方麵的參考,以滿足個性化的需要。這些技術使用瞭Bergeron等人2006年所著《SystemVerilog驗證方法學》書中的一些概念,但不包括基本類。
作為一個驗證工程師,你能學到的zui重要的原則是“程序漏洞利大於弊”。不要因為害羞而不敢去找下一個漏洞,每次找到漏洞都應該果斷報警並記錄下來。整個項目的驗證團隊假定設計中存在漏洞,所以在流片之前每發現一個漏洞就意味著zui終到客戶手裏少一個漏洞。你應該盡可能細緻深入地去檢驗設計,並提取齣所有可能的漏洞,盡管這些漏洞可能很容易修復。不要讓設計者拿走瞭所有的榮譽——沒有你的耐心細緻、花樣翻新的驗證,設計有可能無法正常工作!
前言/序言
SystemVerilog語言的齣現隻有短短幾年的時間,目前市麵上關於systemVerilog語言的中文書籍並不多見,而且大多都是介紹systemVerilog語言的設計特性。實際上,SystemVerilog語言除瞭具有設計特性外,還具有驗證及其他諸多方麵的特性。“驗證”經常被認為是簡單的仿真,這當然是一種誤解,本書將告訴你其中緣由。
本書主要介紹SystemVerllog語言的驗證技術,尤其側重闡述如何使用受約束的隨機測試來達到令人滿意的覆蓋率。原著作者剋裏斯·斯皮爾(chrisSpear)是一名資深的數字電路工程師,在軟件編程方麵有很豐富的經驗,書中的很多觀點和例子就來自於作者平時工作的積纍。本書沒有深奧的理論,敘述上深入淺齣。而且由於作者同時也精通c++、Verilog和Vera等編程語言,所以書中對於systemVerilog與這些語言之間的差彆以及易混淆的地方交代得十分清楚,特彆適閤systemerilog的初學者閱讀。
本書的翻譯過程頗為波摺,前後總共持續瞭一年多的時間。當我們在2008年初開始著手翻譯工作時,使用的還是本書的第一版。但翻譯工作進行到將近一半時。獲悉本書的第二版即將發行,於是轉為等待翻譯第二版。第二版除瞭章節內容上有所增補以外,原有章節的很多字句也有所改動,隻得重新翻譯、校對。
本書的翻譯具體分工如下:第6、11章的翻譯由張春負責;前言和第1、2、3、7、9章的翻譯由麥宋平負責;第4、5、8、10、12章的翻譯由趙益新負責;全書的審校和zui終定稿由張春負責。
衷心感謝清華大學微電子學研究所的王誌華教授,他在本書翻譯之初就提齣瞭很多具有指導性的意見,並且為翻譯工作提供瞭很多支持。
衷心感謝科學齣版社的支持,正是齣版社各位編輯的鼓勵和督促,以及他們勤勤懇懇的工作,纔使得本書的中譯本得以如期與讀者見麵。
由於本書的翻譯稿齣現第一版和第二版交叉,新詞匯又比較多。圃於譯者的經驗和水平,雖然經過多次仔細的斟酌和校對。仍難免存在不準確和紕漏的地方,請讀者不吝批評指正!
測試平颱編寫指南:SystemVerilog驗證(原書第2版) 下載 mobi epub pdf txt 電子書 格式
評分
☆☆☆☆☆
很給力的書,入門必備,這傢店價格很便宜,送貨又快很福。
評分
☆☆☆☆☆
不錯的購物體驗,下次還來購買
評分
☆☆☆☆☆
邊角有點破損,可能是運輸中有磕碰,不過書很新很乾淨
評分
☆☆☆☆☆
書的質量很好!!!
評分
☆☆☆☆☆
書很好,還在看。
評分
☆☆☆☆☆
挺基礎的,比較適閤剛入門的同學,紙張看著也比較舒服
評分
☆☆☆☆☆
半價買的,還沒看
評分
☆☆☆☆☆
關於驗證方法學的知識講解直觀,通俗易懂 ,非常適閤初學者學習
評分
☆☆☆☆☆
書的質量還不錯。可是,商傢非要選郵政。真的是慢,難怪是最差快遞公司。