出版時(shí)間:2009-9 出版社:科學(xué)出版社 作者:克里斯·斯皮爾 頁(yè)數(shù):365
Tag標(biāo)簽:無(wú)
前言
SystemVerilog語(yǔ)言的出現(xiàn)只有短短幾年的時(shí)間,目前市面上關(guān)于systemVerilog語(yǔ)言的中文書(shū)籍并不多見(jiàn),而且大多都是介紹systemVerilog語(yǔ)言的設(shè)計(jì)特性。實(shí)際上,SystemVerilog語(yǔ)言除了具有設(shè)計(jì)特性外,還具有驗(yàn)證及其他諸多方面的特性?!膀?yàn)證”經(jīng)常被認(rèn)為是簡(jiǎn)單的仿真,這當(dāng)然是一種誤解,本書(shū)將告訴你其中緣由。本書(shū)主要介紹SystemVerllog語(yǔ)言的驗(yàn)證技術(shù),尤其側(cè)重闡述如何使用受約束的隨機(jī)測(cè)試來(lái)達(dá)到令人滿意的覆蓋率。原著作者克里斯·斯皮爾(chrisSpear)是一名資深的數(shù)字電路工程師,在軟件編程方面有很豐富的經(jīng)驗(yàn),書(shū)中的很多觀點(diǎn)和例子就來(lái)自于作者平時(shí)工作的積累。本書(shū)沒(méi)有深?yuàn)W的理論,敘述上深入淺出。而且由于作者同時(shí)也精通c++、Verilog和Vera等編程語(yǔ)言,所以書(shū)中對(duì)于systemVerilog與這些語(yǔ)言之間的差別以及易混淆的地方交代得十分清楚,特別適合systemerilog的初學(xué)者閱讀。本書(shū)的翻譯過(guò)程頗為波折,前后總共持續(xù)了一年多的時(shí)間。當(dāng)我們?cè)?008年初開(kāi)始著手翻譯工作時(shí),使用的還是本書(shū)的第一版。但翻譯工作進(jìn)行到將近一半時(shí)。獲悉本書(shū)的第二版即將發(fā)行,于是轉(zhuǎn)為等待翻譯第二版。第二版除了章節(jié)內(nèi)容上有所增補(bǔ)以外,原有章節(jié)的很多字句也有所改動(dòng),只得重新翻譯、校對(duì)。本書(shū)的翻譯具體分工如下:第6、11章的翻譯由張春負(fù)責(zé);前言和第1、2、3、7、9章的翻譯由麥宋平負(fù)責(zé);第4、5、8、10、12章的翻譯由趙益新負(fù)責(zé);全書(shū)的審校和最終定稿由張春負(fù)責(zé)。衷心感謝清華大學(xué)微電子學(xué)研究所的王志華教授,他在本書(shū)翻譯之初就提出了很多具有指導(dǎo)性的意見(jiàn),并且為翻譯工作提供了很多支持。衷心感謝科學(xué)出版社的支持,正是出版社各位編輯的鼓勵(lì)和督促,以及他們勤勤懇懇的工作,才使得本書(shū)的中譯本得以如期與讀者見(jiàn)面。由于本書(shū)的翻譯稿出現(xiàn)第一版和第二版交叉,新詞匯又比較多。圃于譯者的經(jīng)驗(yàn)和水平,雖然經(jīng)過(guò)多次仔細(xì)的斟酌和校對(duì)。仍難免存在不準(zhǔn)確和紕漏的地方,請(qǐng)讀者不吝批評(píng)指正!
內(nèi)容概要
本書(shū)講解了SystemVerilog語(yǔ)言的工作原理,介紹了類(lèi)、隨機(jī)化和功能覆蓋率等測(cè)試手段和概念,并且在創(chuàng)建測(cè)試平臺(tái)方面提供了很多引導(dǎo)性的建議。本書(shū)借助大量的實(shí)例說(shuō)明SystemVerilog的各種驗(yàn)證方法,以及如何根據(jù)實(shí)際的應(yīng)用情況選擇最優(yōu)的方法達(dá)到盡可能高的覆蓋率。而且,重點(diǎn)演示了如何使用面向?qū)ο缶幊?OOP)的方法建立由覆蓋率驅(qū)動(dòng)并且受約束的基本的隨機(jī)分層測(cè)試平臺(tái),此外,還論述了SystemVerilog與C語(yǔ)言的接口技術(shù)。 本書(shū)可供具有一定Vetilog編程基礎(chǔ)的電路工程技術(shù)人員使用,也可作為高等院校電子類(lèi)、自動(dòng)化類(lèi)、計(jì)算機(jī)類(lèi)的學(xué)生參考書(shū)。
作者簡(jiǎn)介
作者:(美國(guó))克里斯·斯皮爾 譯者:張春 麥宋平 趙益新
書(shū)籍目錄
第1章 驗(yàn)證導(dǎo)論 1.1 驗(yàn)證流程 1.1.1 不同層次上的測(cè)試 1.1.2 驗(yàn)證計(jì)劃 1.2 驗(yàn)證方法學(xué) 1.3 基本測(cè)試平臺(tái)的功能 1.4 定向測(cè)試 1.5 方法學(xué)基礎(chǔ) 1.6 受約束的隨機(jī)激勵(lì) 1.7 你的隨機(jī)化對(duì)象是什么 1.7.1 設(shè)備和環(huán)境配置 1.7.2 輸入數(shù)據(jù) 1.7.3 協(xié)議異常、錯(cuò)誤和違例 1.7.4 時(shí)延和同步 1.7.5 并行的隨機(jī)測(cè)試 1.8 功能覆蓋率 1.8.1 從功能覆蓋率到激勵(lì)的反饋 1.9 測(cè)試平臺(tái)的構(gòu)件 1.10 分層的測(cè)試平臺(tái) 1.10.1 不分層的測(cè)試平臺(tái) 1.10.2 信號(hào)和命令層 1.10.3 功能層 1.10.4 場(chǎng)景層 1.10.5 測(cè)試的層次和功能覆蓋率 1.11 建立一個(gè)分層的測(cè)試平臺(tái) 1.11.1 創(chuàng)建一個(gè)簡(jiǎn)單的驅(qū)動(dòng)器 1.12 仿真環(huán)境的階段 1.13 最大限度的代碼重用 1.14 測(cè)試平臺(tái)的性能 1.15 結(jié)束語(yǔ)第2章 數(shù)據(jù)類(lèi)型 2.1 內(nèi)建數(shù)據(jù)類(lèi)型 2.1.1 邏輯(logic)類(lèi)型 2.1.2 雙狀態(tài)數(shù)據(jù)類(lèi)型 2.2 定寬數(shù)組 2.2.1 定寬數(shù)組的聲明和初始化 2.2.2 常量數(shù)組 2.2.3 基本的數(shù)組操作——for和foreach 2.2.4 基本的數(shù)組操作——復(fù)制和比較 2.2.5 同時(shí)使用位下標(biāo)和數(shù)組下標(biāo) 2.2.6 合并數(shù)組 2.2.7 合并數(shù)組的例子 2.2.8 合并數(shù)組和非合并數(shù)組的選擇 2.3 動(dòng)態(tài)數(shù)組 2.4 隊(duì)列 2.5 關(guān)聯(lián)數(shù)組 2.6 鏈表 2.7 數(shù)組的方法 2.7.1 數(shù)組縮減方法 2.7.2 數(shù)組定位方法 2.7.3 數(shù)組的排序 2.7.4 使用數(shù)組定位方法建立記分板 2.8 選擇存儲(chǔ)類(lèi)型 2.8.1 靈活性 2.8.2 存儲(chǔ)器用量 2.8.3 速度 2.8.4 排序 2.8.5 選擇最優(yōu)的數(shù)據(jù)結(jié)構(gòu) 2.9 使用typedef創(chuàng)建新的類(lèi)型 2.10 創(chuàng)建用戶(hù)自定義結(jié)構(gòu) 2.10.1 使用struct創(chuàng)建新類(lèi)型 2.10.2 對(duì)結(jié)構(gòu)進(jìn)行初始化 2.10.3 創(chuàng)建可容納不同類(lèi)型的聯(lián)合 2.10.4 合并結(jié)構(gòu) 2.10.5 在合并結(jié)構(gòu)和非合并結(jié)構(gòu)之間進(jìn)行選擇 2.11 類(lèi)型轉(zhuǎn)換 2.11.1 靜態(tài)轉(zhuǎn)換 2.11.2 動(dòng)態(tài)轉(zhuǎn)換 ……第3章 過(guò)程語(yǔ)句和子程序第4章 連接設(shè)計(jì)和測(cè)試平臺(tái)第5章 面向?qū)ο缶幊袒A(chǔ)第6章 隨機(jī)化第7章 線程以及線程間的通信第8章 面向?qū)ο缶幊痰母呒?jí)技巧指南第9章 功能覆蓋率第10章 高級(jí)接口第11章 完整的System Verilog測(cè)試平臺(tái)第12章 System Verilog與C語(yǔ)言的接口
章節(jié)摘錄
插圖:第1章驗(yàn)證導(dǎo)論“有些人相信,我們?nèi)狈δ軌蛎枋鲞@個(gè)完美世界的編程語(yǔ)言……”——《黑客帝國(guó)》,1999設(shè)想一下,你被委任去為別人建一幢房子。你該從哪里開(kāi)始呢?是不是一開(kāi)始就考慮如何選擇門(mén)窗、涂料和地毯的顏色,或者浴室的用料?當(dāng)然不是!首先你必須考慮房的主人將如何使用房子內(nèi)部的空間,這樣才能確定應(yīng)該建造什么類(lèi)型的房子。你應(yīng)該考慮的問(wèn)題是他們是喜歡烹飪并且需要一個(gè)高端的廚房,還是喜歡在家里邊看電影邊吃外賣(mài)比薩?他們是需要一間書(shū)房或者額外的臥室,還是受預(yù)算所限要求更簡(jiǎn)樸一些?在開(kāi)始學(xué)習(xí)有關(guān)SystemVerilog語(yǔ)言的細(xì)節(jié)之前,你需要理解如何制訂計(jì)劃來(lái)驗(yàn)證你的設(shè)計(jì),以及這個(gè)驗(yàn)證計(jì)劃對(duì)測(cè)試平臺(tái)結(jié)構(gòu)的影響。如同所有房子都有廚房、臥室和浴室一樣,所有測(cè)試平臺(tái)也都需要共享一些用于產(chǎn)生激勵(lì)和檢驗(yàn)激勵(lì)響應(yīng)的結(jié)構(gòu)。本章將就測(cè)試平臺(tái)的構(gòu)建和設(shè)計(jì)給出一些引導(dǎo)性的建議和編碼風(fēng)格方面的參考,以滿足個(gè)性化的需要。這些技術(shù)使用了Bergeron等人2006年所著《SystemVerilog驗(yàn)證方法學(xué)》書(shū)中的一些概念,但不包括基本類(lèi)。作為一個(gè)驗(yàn)證工程師,你能學(xué)到的最重要的原則是“程序漏洞利大于弊”。不要因?yàn)楹π叨桓胰フ蚁乱粋€(gè)漏洞,每次找到漏洞都應(yīng)該果斷報(bào)警并記錄下來(lái)。整個(gè)項(xiàng)目的驗(yàn)證團(tuán)隊(duì)假定設(shè)計(jì)中存在漏洞,所以在流片之前每發(fā)現(xiàn)一個(gè)漏洞就意味著最終到客戶(hù)手里少一個(gè)漏洞。你應(yīng)該盡可能細(xì)致深入地去檢驗(yàn)設(shè)計(jì),并提取出所有可能的漏洞,盡管這些漏洞可能很容易修復(fù)。不要讓設(shè)計(jì)者拿走了所有的榮譽(yù)——沒(méi)有你的耐心細(xì)致、花樣翻新的驗(yàn)證,設(shè)計(jì)有可能無(wú)法正常工作!
編輯推薦
《SystemVerilog驗(yàn)證:測(cè)試平臺(tái)編寫(xiě)指南(原書(shū)第2版)》:實(shí)用技術(shù)
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版