uvm實(shí)戰(zhàn)卷1是目前一本用研究的眼光解讀如何搭建基于UVM搭建驗(yàn)證平臺(tái)的圖書(shū),由資深驗(yàn)證工程師張震編著。本書(shū)脫胎于網(wǎng)絡(luò)上廣為流傳的《UVM1.1應(yīng)用指南及源碼分析》,內(nèi)容愈加爐火純青,涉及的內(nèi)容包括:全面的UVM驗(yàn)證方法學(xué)理論知識(shí)、豐富的實(shí)戰(zhàn)經(jīng)驗(yàn)和范例,并且步步清晰引導(dǎo)讀者掌握UVM的精髓和實(shí)用技巧。全書(shū)從理論到實(shí)踐、從初級(jí)到高級(jí)、從搭建平臺(tái)到系統(tǒng)調(diào)試,不但講述非常清楚,而且邏輯聯(lián)系嚴(yán)密。學(xué)習(xí)完本書(shū),并且按照書(shū)中的實(shí)例進(jìn)行練習(xí),就能夠系統(tǒng)地掌握UVM的使用和調(diào)試技術(shù)。
《uvm實(shí)戰(zhàn)卷1》同時(shí)提供大量示例代碼,這些代碼都經(jīng)過(guò)實(shí)際的運(yùn)行。全書(shū)內(nèi)容力求簡(jiǎn)單易懂,盡量將UVM中的概念與讀者已有的概念聯(lián)系起來(lái)。在第11章還專(zhuān)門(mén)介紹了OVM與UVM的區(qū)別,為那些從OVM遷移到UVM的用戶提供很大幫助。本書(shū)主要面向UVM的初學(xué)者及想對(duì)UVM追根尋底的中級(jí)用戶。針對(duì)沒(méi)有面向?qū)ο缶幊袒A(chǔ)的用戶,本書(shū)在附錄中簡(jiǎn)要介紹了面向?qū)ο蟮母拍罴癝ystemVerilog中區(qū)別于其他編程語(yǔ)言的一些特殊語(yǔ)法。
2、如果打不開(kāi)本文件,請(qǐng)務(wù)必下載pdf閱讀器
3、安裝后,在打開(kāi)解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
收起介紹展開(kāi)介紹
內(nèi)容介紹
《uvm實(shí)戰(zhàn)卷1》主要介紹UVM的使用。全書(shū)詳盡介紹了UVM的factory機(jī)制、sequence機(jī)制、phase機(jī)制、objection機(jī)制及寄存器模型等的使用。此外,本書(shū)還試圖引導(dǎo)讀者思考UVM為什么要引入這些機(jī)制,從而使讀者知其然,更知其所以然。本書(shū)以一個(gè)完整的示例開(kāi)篇,使得讀者一開(kāi)始就對(duì)如何使用UVM搭建驗(yàn)證平臺(tái)有總體的概念。《uvm實(shí)戰(zhàn)卷1》同時(shí)提供大量示例代碼,這些代碼都經(jīng)過(guò)實(shí)際的運(yùn)行。全書(shū)內(nèi)容力求簡(jiǎn)單易懂,盡量將UVM中的概念與讀者已有的概念聯(lián)系起來(lái)。在第11章還專(zhuān)門(mén)介紹了OVM與UVM的區(qū)別,為那些從OVM遷移到UVM的用戶提供很大幫助。本書(shū)主要面向UVM的初學(xué)者及想對(duì)UVM追根尋底的中級(jí)用戶。針對(duì)沒(méi)有面向?qū)ο缶幊袒A(chǔ)的用戶,本書(shū)在附錄中簡(jiǎn)要介紹了面向?qū)ο蟮母拍罴癝ystemVerilog中區(qū)別于其他編程語(yǔ)言的一些特殊語(yǔ)法。
章節(jié)目錄
第1章 與UVM的第一次接觸 1.1 UVM是什么 1.1.1 驗(yàn)證在現(xiàn)代IC流程中的位置 1.1.2 驗(yàn)證的語(yǔ)言 1.1.3 何謂方法學(xué) 1.1.4 為什么是UVM 1.1.5 UVM的發(fā)展史 1.2 學(xué)了UVM之后能做什么 1.2.1 驗(yàn)證工程師 1.2.2 設(shè)計(jì)工程師 第2章 一個(gè)簡(jiǎn)單的UVM驗(yàn)證平臺(tái) 2.1 驗(yàn)證平臺(tái)的組成 2.2 只有driver的驗(yàn)證平臺(tái) *2.2.1 最簡(jiǎn)單的驗(yàn)證平臺(tái) *2.2.2 加入factory機(jī)制 *2.2.3 加入objection機(jī)制 *2.2.4 加入virtual interface 2.3 為驗(yàn)證平臺(tái)加入各個(gè)組件 *2.3.1 加入transaction *2.3.2 加入env *2.3.3 加入monitor *2.3.4 封裝成agent *2.3.5 加入reference model *2.3.6 加入scoreboard *2.3.7 加入field_automation機(jī)制 2.4 UVM的終極大作:sequence *2.4.1 在驗(yàn)證平臺(tái)中加入sequencer *2.4.2 sequence機(jī)制 *2.4.3 default_sequence 的使用 2.5 建造測(cè)試用例 *2.5.1 加入base_test *2.5.2 UVM中測(cè)試用例的啟動(dòng) 第3章 UVM基礎(chǔ) 3.1 uvm_component與uvm_object 3.1.1 uvm_component派生自u(píng)vm_object 3.1.2 常用的派生自u(píng)vm_object的類(lèi) 3.1.3 常用的派生自u(píng)vm_component的類(lèi) 3.1.4 與uvm_object相關(guān)的宏 3.1.5 與uvm_component相關(guān)的宏 3.1.6 uvm_component的限制 3.1.7 uvm_component與uvm_object的二元結(jié)構(gòu) 3.2 UVM的樹(shù)形結(jié)構(gòu) 3.2.1 uvm_component中的parent參數(shù) 3.2.2 UVM樹(shù)的根 3.2.3 層次結(jié)構(gòu)相關(guān)函數(shù) 3.3 field automation機(jī)制 3.3.1 field automation機(jī)制相關(guān)的宏 3.3.2 field automation機(jī)制的常用函數(shù) *3.3.3 field automation機(jī)制中標(biāo)志位的使用 *3.3.4 field automation中宏與if的結(jié)合 3.4 UVM中打印信息的控制 *3.4.1 設(shè)置打印信息的冗余度閾值 *3.4.2 重載打印信息的嚴(yán)重性 *3.4.3 UVM_ERROR到達(dá)一定數(shù)量結(jié)束仿真 *3.4.4 設(shè)置計(jì)數(shù)的目標(biāo) *3.4.5 UVM的斷點(diǎn)功能 *3.4.6 將輸出信息導(dǎo)入文件中 *3.4.7 控制打印信息的行為 3.5 config_db機(jī)制 3.5.1 UVM中的路徑 3.5.2 set與get函數(shù)的參數(shù) *3.5.3 省略get語(yǔ)句 *3.5.4 跨層次的多重設(shè)置 *3.5.5 同一層次的多重設(shè)置 *3.5.6 非直線的設(shè)置與獲取 *3.5.7 config_db機(jī)制對(duì)通配符的支持 *3.5.8 check_config_usage 3.5.9 set_config與get_config 3.5.10 config_db的調(diào)試 第4章 UVM中的TLM1.0通信 4.1 TLM1. 4.1.1 驗(yàn)證平臺(tái)內(nèi)部的通信 4.1.2 TLM的定義 4.1.3 UVM中的PORT與EXPORT 4.2 UVM中各種端口的互連 *4.2.1 PORT與EXPORT的連接 *4.2.2 UVM中的IMP *4.2.3 PORT與IMP的連接 *4.2.4 EXPORT與IMP的連接 *4.2.5 PORT與PORT的連接 *4.2.6 EXPORT與EXPORT的連接 *4.2.7 blocking_get端口的使用 *4.2.8 blocking_transport端口的使用 4.2.9 nonblocking端口的使用 4.3 UVM中的通信方式 *4.3.1 UVM中的analysis端口 *4.3.2 一個(gè)component內(nèi)有多個(gè)IMP *4.3.3 使用FIFO通信 4.3.4 FIFO上的端口及調(diào)試 *4.3.5 用FIFO還是用IMP 第5章 UVM驗(yàn)證平臺(tái)的運(yùn)行 5.1 phase機(jī)制 *5.1.1 task phase與function phase 5.1.2 動(dòng)態(tài)運(yùn)行phase *5.1.3 phase的執(zhí)行順序 *5.1.4 UVM樹(shù)的遍歷 5.1.5 super.phase的內(nèi)容 *5.1.6 build階段出現(xiàn)UVM_ERROR停止仿真 *5.1.7 phase的跳轉(zhuǎn) 5.1.8 phase機(jī)制的必要性 5.1.9 phase的調(diào)試 5.1.10 超時(shí)退出 5.2 objection機(jī)制 *5.2.1 objection與task phase *5.2.2 參數(shù)phase的必要性 5.2.3 控制objection的最佳選擇 5.2.4 set_drain_time的使用 *5.2.5 objection的調(diào)試 5.3 domain的應(yīng)用 5.3.1 domain簡(jiǎn)介 *5.3.2 多domain的例子 *5.3.3 多domain中phase的跳轉(zhuǎn) 第6章 UVM中的sequence 6.1 sequence基礎(chǔ) 6.1.1 從driver中剝離激勵(lì)產(chǎn)生功能 *6.1.2 sequence的啟動(dòng)與執(zhí)行 6.2 sequence的仲裁機(jī)制 *6.2.1 在同一sequencer上啟動(dòng)多個(gè)sequence *6.2.2 sequencer的lock操作 *6.2.3 sequencer的grab操作 6.2.4 sequence的有效性 6.3 sequence相關(guān)宏及其實(shí)現(xiàn) 6.3.1 uvm_do系列宏 *6.3.2 uvm_create與uvm_send *6.3.3 uvm_rand_send系列宏 *6.3.4 start_item與finish_item *6.3.5 pre_do、mid_do與post_do 6.4 sequence進(jìn)階應(yīng)用 *6.4.1 嵌套的sequence *6.4.2 在sequence中使用rand類(lèi)型變量 *6.4.3 transaction類(lèi)型的匹配 *6.4.4 p_sequencer的使用 *6.4.5 sequence的派生與繼承 6.5 virtual sequence的使用 *6.5.1 帶雙路輸入輸出端口的DUT *6.5.2 sequence之間的簡(jiǎn)單同步 *6.5.3 sequence之間的復(fù)雜同步 6.5.4 僅在virtual sequence中控制objection *6.5.5 在sequence中慎用fork join_none 6.6 在sequence中使用config_db *6.6.1 在sequence中獲取參數(shù) *6.6.2 在sequence中設(shè)置參數(shù) *6.6.3 wait_modified的使用 6.7 response的使用 *6.7.1 put_response與get_response 6.7.2 response的數(shù)量問(wèn)題 *6.7.3 response handler與另類(lèi)的response *6.7.4 rsp與req類(lèi)型不同 6.8 sequence library 6.8.1 隨機(jī)選擇sequence 6.8.2 控制選擇算法 6.8.3 控制執(zhí)行次數(shù) 6.8.4 使用sequence_library_cfg 第7章 UVM中的寄存器模型 7.1 寄存器模型簡(jiǎn)介 *7.1.1 帶寄存器配置總線的DUT 7.1.2 需要寄存器模型才能做的事情 7.1.3 寄存器模型中的基本概念 7.2 簡(jiǎn)單的寄存器模型 *7.2.1 只有一個(gè)寄存器的寄存器模型 *7.2.2 將寄存器模型集成到驗(yàn)證平臺(tái)中 *7.2.3 在驗(yàn)證平臺(tái)中使用寄存器模型 7.3 后門(mén)訪問(wèn)與前門(mén)訪問(wèn) *7.3.1 UVM中前門(mén)訪問(wèn)的實(shí)現(xiàn) 7.3.2 后門(mén)訪問(wèn)操作的定義 *7.3.3 使用interface進(jìn)行后門(mén)訪問(wèn)操作 7.3.4 UVM中后門(mén)訪問(wèn)操作的實(shí)現(xiàn):DPI+VPI *7.3.5 UVM中后門(mén)訪問(wèn)操作接口 7.4 復(fù)雜的寄存器模型 *7.4.1 層次化的寄存器模型 *7.4.2 reg_file的作用 *7.4.3 多個(gè)域的寄存器 *7.4.4 多個(gè)地址的寄存器 *7.4.5 加入存儲(chǔ)器 7.5 寄存器模型對(duì)DUT的模擬 7.5.1 期望值與鏡像值 7.5.2 常用操作及其對(duì)期望值和鏡像值的影響 7.6 寄存器模型中一些內(nèi)建的sequence *7.6.1 檢查后門(mén)訪問(wèn)中hdl路徑的sequence *7.6.2 檢查默認(rèn)值的sequence *7.6.3 檢查讀寫(xiě)功能的sequence 7.7 寄存器模型的高級(jí)用法 *7.7.1 使用reg_predictor *7.7.2 使用UVM_PREDICT_DIRECT功能與mirror操作 *7.7.3 寄存器模型的隨機(jī)化與update 7.7.4 擴(kuò)展位寬 7.8 寄存器模型的其他常用函數(shù) 7.8.1 get_root_blocks 7.8.2 get_reg_by_offset函數(shù) 第8章 UVM中的factory機(jī)制 8.1 SystemVerilog對(duì)重載的支持 *8.1.1 任務(wù)與函數(shù)的重載 *8.1.2 約束的重載 8.2 使用factory機(jī)制進(jìn)行重載 *8.2.1 factory機(jī)制式的重載 *8.2.2 重載的方式及種類(lèi) *8.2.3 復(fù)雜的重載 *8.2.4 factory機(jī)制的調(diào)試 8.3 常用的重載 *8.3.1 重載transaction *8.3.2 重載sequence *8.3.3 重載component 8.3.4 重載driver以實(shí)現(xiàn)所有的測(cè)試用例 8.4 factory機(jī)制的實(shí)現(xiàn) 8.4.1 創(chuàng)建一個(gè)類(lèi)的實(shí)例的方法 *8.4.2 根據(jù)字符串來(lái)創(chuàng)建一個(gè)類(lèi) 8.4.3 用factory機(jī)制創(chuàng)建實(shí)例的接口 8.4.4 factory機(jī)制的本質(zhì) 第9章 UVM中代碼的可重用性 9.1 callback機(jī)制 9.1.1 廣義的callback函數(shù) 9.1.2 callback機(jī)制的必要性 9.1.3 UVM中callback機(jī)制的原理 *9.1.4 callback機(jī)制的使用 *9.1.5 子類(lèi)繼承父類(lèi)的callback機(jī)制 9.1.6 使用callback函數(shù)/任務(wù)來(lái)實(shí)現(xiàn)所有的測(cè)試用例 9.1.7 callback機(jī)制、sequence機(jī)制和factory機(jī)制 9.2 功能的模塊化:小而美 9.2.1 Linux的設(shè)計(jì)哲學(xué):小而美 9.2.2 小而美與factory機(jī)制的重載 9.2.3 放棄建造強(qiáng)大sequence的想法 9.3 參數(shù)化的類(lèi) 9.3.1 參數(shù)化類(lèi)的必要性 *9.3.2 UVM對(duì)參數(shù)化類(lèi)的支持 9.4 模塊級(jí)到芯片級(jí)的代碼重用 *9.4.1 基于env的重用 *9.4.2 寄存器模型的重用 9.4.3 virtual sequence與virtual sequencer 第10章 UVM高級(jí)應(yīng)用 10.1 interface 10.1.1 interface實(shí)現(xiàn)driver的部分功能 *10.1.2 可變時(shí)鐘 10.2 layer sequence *10.2.1 復(fù)雜sequence的簡(jiǎn)單化 *10.2.2 layer sequence的示例 *10.2.3 layer sequence與try_next_item *10.2.4 錯(cuò)峰技術(shù)的使用 10.3 sequence的其他問(wèn)題 *10.3.1 心跳功能的實(shí)現(xiàn) 10.3.2 只將virtual_sequence設(shè)置為default_sequence 10.3.3 disable fork語(yǔ)句對(duì)原子操作的影響 10.4 DUT參數(shù)的隨機(jī)化 10.4.1 使用寄存器模型隨機(jī)化參數(shù) *10.4.2 使用單獨(dú)的參數(shù)類(lèi) 10.5 聚合參數(shù) 10.5.1 聚合參數(shù)的定義 10.5.2 聚合參數(shù)的優(yōu)勢(shì)與問(wèn)題 10.6 config_db 10.6.1 換一個(gè)phase使用config_db *10.6.2 config_db的替代者 *10.6.3 set函數(shù)的第二個(gè)參數(shù)的檢查 第11章 OVM到UVM的遷移 11.1 對(duì)等的遷移 11.2 一些過(guò)時(shí)的用法 *11.2.1 sequence與sequencer的factory機(jī)制實(shí)現(xiàn) 11.2.2 sequence的啟動(dòng)與uvm_test_done *11.2.3 手動(dòng)調(diào)用build_phase 11.2.4 純凈的UVM環(huán)境 附錄A SystemVerilog使用簡(jiǎn)介 附錄B DUT代碼清單 附錄C UVM命令行參數(shù)匯總 附錄D UVM常用宏匯總
使用說(shuō)明
1、下載并解壓,得出pdf文件2、如果打不開(kāi)本文件,請(qǐng)務(wù)必下載pdf閱讀器
3、安裝后,在打開(kāi)解壓得出的pdf文件
4、雙擊進(jìn)行閱讀
- 下載地址
uvm實(shí)戰(zhàn)卷1 張強(qiáng)pdf掃描版
- 本地下載通道:
- 浙江電信下載
- 北京聯(lián)通下載
- 江蘇電信下載
- 廣東電信下載
有問(wèn)題? 點(diǎn)此報(bào)錯(cuò)
發(fā)表評(píng)論
0條評(píng)論軟件排行榜
熱門(mén)推薦
- 有柿電腦版 v11.6.284.23M / 簡(jiǎn)體中文
- cnki全球?qū)W術(shù)快報(bào)電腦版 v1.0.1135.99M / 簡(jiǎn)體中文
- 網(wǎng)易新聞電腦版 v113.197.68M / 簡(jiǎn)體中文
- 開(kāi)源閱讀電腦版 v3.2517.96M / 簡(jiǎn)體中文
- 京東讀書(shū)電腦版 v1.13.4官方版1.98M / 簡(jiǎn)體中文
- 瀟湘書(shū)院電腦版 v2.3.11.888官方版49.65M / 簡(jiǎn)體中文
- 未公開(kāi)的Oracle數(shù)據(jù)庫(kù)秘密 迪貝斯pdf掃描版34.69M / 簡(jiǎn)體中文
- linux常用命令大全 chm版1.48M / 簡(jiǎn)體中文
- Scala程序設(shè)計(jì)第二版 pdf高清完整版15.83M / 簡(jiǎn)體中文
- C++黑客編程揭秘與防范第2版 冀云pdf掃描版54.58M / 簡(jiǎn)體中文