數字電路設計與驗證快速入門 — Verilog + SystemVerilog

馬驍

  • 出版商: 清華大學
  • 出版日期: 2023-10-01
  • 售價: $594
  • 貴賓價: 9.5$564
  • 語言: 簡體中文
  • 頁數: 378
  • ISBN: 7302635072
  • ISBN-13: 9787302635079
  • 相關分類: Verilog
  • 立即出貨 (庫存 < 4)

  • 數字電路設計與驗證快速入門 — Verilog + SystemVerilog-preview-1
  • 數字電路設計與驗證快速入門 — Verilog + SystemVerilog-preview-2
  • 數字電路設計與驗證快速入門 — Verilog + SystemVerilog-preview-3
數字電路設計與驗證快速入門 — Verilog + SystemVerilog-preview-1

買這商品的人也買了...

商品描述

本書是面向數字芯片設計與驗證的入門書籍,是微電子相關專業的基礎課程。 本書以理論基礎為核心,以參考實例為主線,幫助讀者迅速建立數字芯片設計和驗證的概念和設計基礎,包括兩篇:數字電路及Verilog篇講解數字邏輯電路基礎,硬件描述語言Verilog的基礎語法,對應的實例分析,以及組合邏輯電路和時序邏輯電路的設計和驗證的參考實例;SystemVerilog篇講解包括兼顧設計和驗證的語言SystemVerilog的基礎語法,對應的實例分析,以及由簡單到相對復雜的運算器的設計和驗證的參考實例。 本書根據實際工程項目的經驗,做了精簡和重難點分析,並提供了豐富的實例和源代碼供學習參考,通俗易懂,並且易於上機實踐,提升學習效果,適合初學者入門,也可作為高等院校和培訓機構相關專業的教學參考書。

目錄大綱

 

 

 

目錄

 

 

 

配套資源

 

 

 

 

 

本書源碼

 

 

 

 

 

數字電路及Verilog篇

 

第1章引言(15min)

 

1.1基礎概念

 

1.1.1模擬信號和數字信號

 

1.1.2電腦和芯片的組成關系

 

1.1.3芯片設計的流程

 

1.1.4芯片設計的方向

 

1.1.5學習數字電路、Verilog和SystemVerilog的必要性

 

1.2設計與驗證的常識

 

1.2.1設計與驗證的關系

 

1.2.2驗證方案要素

 

1.2.3測試平臺組成

 

1.2.4覆蓋率的分類

 

1.3本章小結

 

第2章數字邏輯電路基礎(12min)

 

2.1數制及其表示

 

2.1.1數制

 

2.1.2有符號數

 

2.2布爾代數

 

2.3基本邏輯電路

 

2.3.1與門電路

 

2.3.2或門電路

 

2.3.3非門電路

 

2.3.4鎖存器

 

2.3.5觸發器

 

2.4邏輯電路結構

 

2.4.1建立時間和保持時間

 

2.4.2組合邏輯電路

 

2.4.3時序邏輯電路

 

2.5硬件描述的抽象級別

 

2.6本章小結

 

 

 

 

 

第3章Verilog基礎(85min)

 

3.1數值表示

 

3.2數據類型

 

3.2.1變量

 

3.2.2線網

 

3.2.3參數

 

3.2.4字符串

 

3.3運算符

 

3.3.1基本運算符

 

3.3.2按位運算符

 

3.3.3邏輯運算符

 

3.3.4關系運算符

 

3.3.5移位運算符

 

3.3.6拼接運算符

 

3.3.7縮減運算符

 

3.3.8三目運算符

 

3.3.9復制運算符

 

3.3.10位選擇運算符

 

3.3.11運算符的優先級別

 

3.4程序塊語句

 

3.4.1順序執行程序塊

 

3.4.2並行執行程序塊

 

3.4.3混合執行程序塊

 

3.5結構語句

 

3.5.1initial語句

 

3.5.2always語句

 

3.6賦值語句

 

3.6.1阻塞和非阻塞賦值語句

 

3.6.2連線賦值語句

 

3.6.3強制賦值語句

 

3.7條件和循環語句

 

3.7.1條件語句

 

3.7.2循環語句

 

3.7.3程序塊的自動生成

 

3.8任務和函數

 

3.8.1任務

 

3.8.2函數

 

3.9控制語句

 

3.9.1終止程序語句

 

3.9.2同步等待語句

 

3.10系統函數

 

3.10.1$display和$write,$time和$realtime

 

3.10.2$random

 

3.10.3$finish

 

3.10.4$readmemb和$readmemh

 

3.10.5$fopen、$fclose、$fdisplay和$fwrite

 

3.10.6$test$plusargs和$value$plusargs

 

3.10.7$realtobits和$bitstoreal

 

3.10.8$signed和$unsigned

 

3.10.9$monitor

 

3.11宏定義

 

3.11.1模擬時間單位和精度

 

3.11.2文件包含

 

3.11.3全局參數

 

3.11.4條件編譯

 

3.12本章小結

 

第4章組合邏輯電路實例(46min)

 

4.1解碼器

 

4.1.1真值表

 

4.1.2卡諾圖及邏輯表達式

 

4.1.3電路圖

 

4.1.4Verilog實現

 

4.1.5測試平臺

 

4.1.6模擬驗證

 

4.2加法器

 

4.2.1真值表

 

4.2.2卡諾圖及邏輯表達式

 

4.2.3電路圖

 

4.2.4Verilog實現

 

4.2.5測試平臺

 

4.2.6模擬驗證

 

4.3存儲器

 

4.3.1Verilog實現

 

4.3.2測試平臺

 

4.3.3模擬驗證

 

4.4本章小結

 

第5章時序邏輯電路實例(84min)

 

5.1觸發器

 

5.1.1Verilog實現

 

5.1.2測試平臺

 

5.1.3模擬驗證

 

5.2移位寄存器

 

5.2.1Verilog實現

 

5.2.2測試平臺

 

5.2.3模擬驗證

 

5.3計數器

 

5.3.1Verilog實現

 

5.3.2測試平臺

 

5.3.3模擬驗證

 

5.4狀態機

 

5.4.1過程分析

 

5.4.2Verilog實現

 

5.4.3測試平臺

 

5.4.4模擬驗證

 

5.5本章小結

 

 

SystemVerilog篇

 

第6章SystemVerilog基礎(169min)

 

6.1數據類型

 

6.1.1基本類型

 

6.1.2枚舉類型

 

6.1.3字符串類型

 

6.1.4數組和隊列類型

 

6.1.5自定義類型

 

6.1.6結構體和聯合體類型

 

6.1.7常量

 

6.1.8變量轉換

 

6.2運算符

 

6.3任務和函數

 

6.3.1Verilog與SystemVerilog的差異

 

6.3.2支持ref埠類型

 

6.4循環及其控制語句

 

6.4.1循環語句

 

6.4.2控制及結束語句

 

6.5結構語句

 

6.5.1final語句

 

6.5.2always_comb和always_ff語句

 

6.5.3末尾標簽

 

6.6並行執行程序塊語句

 

6.7控制語句

 

6.7.1wait fork等待語句

 

6.7.2iff條件控制語句

 

6.7.3inside匹配語句

 

6.7.4進程控制類

 

6.8分支語句

 

6.9面向對象編程

 

6.9.1面向對象的概念

 

6.9.2結構體和類

 

6.9.3類的封裝

 

6.9.4類的繼承

 

6.9.5類的多態

 

6.9.6類的模板

 

6.9.7類的靜態和動態變量及方法

 

6.9.8類的復制和克隆

 

6.9.9類的參數化

 

6.10接口

 

6.10.1基本介紹

 

6.10.2埠分組

 

6.10.3時鐘塊

 

6.10.4虛接口和接口方法

 

6.11包

 

6.12斷言

 

6.12.1立即斷言

 

6.12.2並發斷言

 

6.13隨機化

 

6.13.1類的隨機及約束

 

6.13.2隨機種子

 

6.13.3單向約束

 

6.13.4雙向約束

 

6.13.5權重分佈

 

6.13.6約束開關控制

 

6.13.7隨機開關控制

 

6.13.8隨機回調方法

 

6.13.9檢查器

 

6.13.10約束求解順序

 

6.13.11權重分支

 

6.13.12軟約束

 

6.13.13隨機範圍

 

6.14系統函數

 

6.14.1$isunknown

 

6.14.2$urandom_range

 

6.14.3$system

 

6.14.4$bits

 

6.14.5$typename

 

6.14.6$left、$right、$size、$dimensions

 

6.14.7$clog2

 

6.14.8$sformatf

 

6.14.9$fscanf

 

6.14.10$root

 

6.15宏函數

 

6.16線程間的通信

 

6.16.1旗語

 

6.16.2郵箱

 

6.16.3事件

 

6.17覆蓋率收集

 

6.17.1基本介紹

 

6.17.2覆蓋組

 

6.17.3設置覆蓋倉

 

6.17.4設置採樣條件

 

6.17.5參數化的覆蓋組

 

6.17.6翻轉覆蓋率收集

 

6.17.7覆蓋倉中的通配符

 

6.17.8交叉覆蓋率

 

6.17.9忽略和非法覆蓋倉

 

6.17.10覆蓋率選項參數

 

6.17.11覆蓋率方法接口

 

6.18綁定輔助代碼

 

6.18.1綁定到模塊

 

6.18.2綁定到接口

 

6.19與其他編程語言的通信

 

6.19.1基本介紹

 

6.19.2使用步驟

 

6.20本章小結

 

第7章參考實例

 

7.1對運算器的設計和驗證

 

7.1.1設計說明

 

7.1.2設計實現

 

7.1.3測試計劃

 

7.1.4搭建測試平臺

 

7.1.5模擬驗證

 

7.1.6覆蓋率分析和提高

 

7.2對寄存器控制的運算器的設計和驗證

 

7.2.1設計說明

 

7.2.2設計實現

 

7.2.3測試計劃

 

7.2.4搭建測試平臺

 

7.2.5模擬驗證

 

7.3對基於APB總線的運算器的設計和驗證

 

7.3.1設計說明

 

7.3.2設計實現

 

7.3.3測試計劃

 

7.3.4搭建測試平臺

 

7.3.5模擬驗證

 

7.4本章小結

 

參考文獻