|
|
|
|
|
|
|
|
ISBN |
9787121448454 |
定价 |
RMB69.00 |
售价 |
RM75.90 |
优惠价 |
RM56.93 * (-25%)
|
作者 |
劉斌
|
出版社 |
電子工業出版社
|
出版日期 |
2023-01-01 |
装订 |
平裝. 無. 227 页. 26. |
库存量 |
購買後立即進貨 下单时可选择“空运”或“海运”(空运和海运需独立下单)。空运费每本书/CD是RM18.00。 空运需时8-11个工作天,海运需时约30个工作天。 (以上预计时间不包括出版社调货的时间以及尚未出版的预购商品) 库存有限或需要调货,订购时间可能延长。如无法订购则将通知进行退款。 |
|
我要订购 有现货时通知我 |
|
放入下次购买清单 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
資深芯片驗證專家劉斌(路桑)圍繞目前芯片功能驗證的主流方法——動態模擬面臨的日常問題展開分析和討論。根據驗證工程師在模擬工作中容易遇到的技術疑難點,本書內容在邏輯上分為System Verilog疑難點、UVM疑難點和Testbench疑難點三部分。
作者精心收集了上百個問題,給出翔實的參考用例,指導讀者解決實際問題。在這本實踐性很強的書中,作者期望能夠將作者與諸多工程師基於常見問題的交流進行總結,以易讀易用的組織結構呈現給讀者,目的是説明芯片驗證工程師更有效地處理技術疑難點,加快芯片驗證的調試過程。
本書面向在崗的芯片驗證工程師,可作為日常桌邊工作手冊翻閱,也可用于工作之余查漏補缺以提高自身技術能力。
|
|
|
|
|
|
|
|
|
|
|
|
購買中國簡體書籍請注意:
1. 因裝幀品質及貨運條件未臻完善,中國簡體書可能有出現磨痕、凹痕、折痕等問題,故簡體字館除封面破損、內頁脫落、缺頁等較嚴重的狀態外,其餘所有商品將正常出貨。
|
|
|
|
|
|
|
|
|
目錄
第1章 什麼是疑難點?
第2章 SystemVerilog疑難點集合
2.1 資料使用
2.1.1 組合型陣列和非組合型陣列怎麼區分?
2.1.2 組合型陣列和非組合型陣列如何做賦值?
2.1.3 在使用enum或struct時添加typedef與否的差別是什麼?
2.1.4 什麼是靜態變數和動態變數?
2.1.5 struct和struct packed區別在哪裡?
2.1.6 關聯陣列的散列存儲表示什麼?
2.1.7 如何將佇列插入到另外一個佇列中?
2.1.8 佇列在賦值時使用操作符{},那麼它屬於組合型嗎?
2.1.9 陣列的選取可以用兩個變數作為索引邊界嗎?
2.1.10 parameter、localparam和const有什麼聯繫和差別?
2.1.11 多維陣列的聲明和使用,哪種方式更合適呢?
2.2 操作符使用
2.2.1 {}操作符的使用場景有哪些?
2.2.2 條件賦值符?:和條件陳述式if-else的執行結果一致嗎?
2.2.3 if和iff的應用場景分別有哪些?
2.2.4 使用foreach在輪循陣列時按照什麼順序呢?
2.2.5 運算子的優先順序是否有必要記憶呢?
2.2.6 assign連續賦值可以賦值給logic(var)類型嗎?
2.2.7 ::和.這兩個符號使用起來有哪些區別?
2.3 模組、介面與方法
2.3.1 module中的方法在聲明時是否要添加automatic?
2.3.2 interface在何處需要使用virtual來聲明呢?
2.3.3 initial和always的執行順序是否與代碼位置有關?
2.3.4 interface的modport和clocking block如何使用?
2.3.5 module和interface之間可以相互例化嗎?
2.3.6 方法的參數默認方向該如何辨別?
2.3.7 return的使用場景有哪些?
2.3.8 task與function的聯繫和差別在哪裡?
2.3.9 方法的參數預設值該如何使用?
2.3.10 方法中參數方向inout和ref有什麼差別?
2.3.11 module和interface中的變數聲明必須放置在頭部位置嗎?
2.3.12 如何例化和傳遞多個相同類型的介面?
2.3.13 使用while和forever語句時需要注意什麼?
2.3.14 系統函數和內建方法有什麼區別?
2.3.15 介面和模組的聯繫和差別是什麼?
2.3.16 program和module的聯繫和差別是什麼?
2.3.17 多個執行緒在模擬調度中是如何在不同的域之間執行和切換的?
2.3.18 時鐘塊在使用時需要注意哪些地方?
2.3.19 如何連接和驅動雙向埠信號?
2.4 類的使用
2.4.1 類的成員變數在聲明時或在new函數中初始化有何區別?
2.4.2 new函數與其他函數有哪些不同?
2.4.3 關鍵字new的使用場景有哪些?
2.4.4 物件佔用的空間什麼時候會被回收?
2.4.5 this的使用場景有哪些?
2.4.6 物件拷貝的種類如何劃分?
2.4.7 this和super有什麼聯繫和差別?
2.4.8 子類成員如何覆蓋父類成員?
2.4.9 子類控制碼和父類控制碼的類型如何轉換?
2.4.10 為什麼父類控制碼經常需要轉換為子類控制碼?
2.4.11 虛方法聲明和不聲明的區別是什麼?
2.4.12 虛方法的描述符virtual應該在哪裡聲明?
2.4.13 控制碼一旦不指向物件,該物件就被回收了嗎?
2.4.14 什麼時候該使用local和protected?
2.4.15 class和virtual class的區別是什麼?
2.4.16 virtual修飾符在哪些場景中會用到?
2.4.17 子類能夠使用與父類相同名稱但不同參數的方法嗎?
2.4.18 使用參數類或者介面時要注意哪些?
2.5 隨機約束使用
2.5.1 rand描述符可用於哪些變數類型?
2.5.2 陣列使用rand聲明會發生什麼?
2.5.3 控制碼使用rand聲明會發生什麼?
2.5.4 rand和randc的區別在哪裡?
2.5.5 內嵌約束中的local::表示什麼?
2.5.6 是否可以利用動態陣列對變數值的範圍進行約束?
2.5.7 多個軟約束在隨機化時有衝突是否可以解決?
2.5.8 結構體是否可對其成員使用rand描述符?
2.5.9 如何隨機化物件的多個成員且使每次資料不重複?
2.5.10 子類會繼承還是覆蓋父類的約束?
2.6 覆蓋率應用
2.6.1 covergroup的採樣事件如何指定?
2.6.2 covergroup如何對變數進行採樣?
2.6.3 是否可對covergroup中的不同coverpoint指定採樣條件?
2.6.4 covergroup在哪裡定義和例化更合適?
2.6.5 如果covergroup中的bins沒有被採樣,可能有哪些原因?
2.6.6 如何減少不關心的cross bins採樣資料?
2.7 執行緒應用
2.7.1 semaphore使用時需要初始化嗎?
2.7.2 mailbox使用時需要例化嗎?
2.7.3 fork-join_none開闢的執行緒在外部任務退出後也會結束嗎?
2.7.4 父執行緒和子執行緒之間的執行關係是什麼?
2.7.5 disable fork和disable statement有什麼差別?
2.7.6 嵌套的fork有沒有可能被disable fork誤傷呢?
2.7.7 使用for配合fork-join_none觸
......
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
劉斌(路桑),目前是Intel公司的資深驗證專家。在Intel移動通信事業部主持驗證架構規劃和方法學研究,擔任過幾款億門級通信晶片的驗證經理角色。在工程領域之外,他在西安電子科技大學和西安交通大學客座講授晶片驗證課程。創辦的驗證技術訂閱號“路科驗證”,目前已有超過10000名的訂閱者。多次在設計驗證行業國際會議和展覽中發表論文,並做了富有特色的演講。在西安交通大學取得微電子專業學士學位,在瑞典皇家理工學院取得晶片設計專業碩士學位。
|
|
|
|
|
|
|
|
|
|
|
|