SystemVerilog 硬件設計:RTL 設計和驗證
孫健,魏東
買這商品的人也買了...
-
$980Fourier Series and Boundary Value Problems, 8/e (Paperback)
-
$690$587 -
$594$564 -
$393深度學習的數學
-
$474$450 -
$911AI 芯片:前沿技術與創新未來
-
$954$906 -
$210$200 -
$654$621 -
$810$770 -
$654$621 -
$630$536 -
$1,134$1,077 -
$588$559 -
$479$455 -
$1,188$1,129 -
$564UVM 芯片驗證技術案例集
-
$959$911 -
$539$512 -
$1,188$1,129 -
$454專用集成電路低功耗入門:分析、技術和規範
-
$468$445 -
$505我在硅谷管芯片:芯片設計公司運營之道
-
$1,014$963 -
$834$792
相關主題
商品描述
本書側重於使用SystemVerilog編寫高效的RTL代碼,通過大量示例代碼展示如何使用SystemVerilog進行硬件設計和驗證。
全書共分15章,內容包括SystemVerilog中的常量和數據類型、SystemVerilog的硬件描述、SystemVerilog中的面向對象編程、SystemVerilog增強特性、SystemVerilog中的組合邏輯設計、SystemVerilog中的時序邏輯設計、RTL設計和綜合指南、復雜設計的RTL設計和策略、有限狀態機、SystemVerilog中的埠和接口、驗證結構、驗證技術和自動化、高級驗證結構、驗證案例等。
目錄大綱
目錄
第1章 緒論1
1.1 ASIC設計流程2
1.2 ASIC驗證4
1.3 Verilog結構6
1.4 SystemVerilog簡介9
1.5 用於硬件描述和驗證的SystemVerilog10
1.6 總結和展望11
第2章 SystemVerilog中的常量和數據類型13
2.1 預定義門14
2.2 結構級建模15
2.3 SystemVerilog格式描述符16
2.4 多位寬常量和拼位操作17
2.5 常量17
2.6 數據類型21
2.7 總結和展望26
第3章 SystemVerilog的硬件描述27
3.1 如何開始學習28
3.2 線網數據類型31
3.3 讓我們開始思考組合邏輯電路32
3.4 使用always_comb實現編碼轉換器36
3.5 理解硬件執行的並發性39
3.6 always_latch過程塊40
3.7 always_ff過程塊41
3.8 使用always_ff實現時序邏輯設計41
3.9 按照埠名進行實例化連接(Verilog風格)43
3.10 實例化採用混合埠連接方式44
3.11 總結和展望46
第4章 SystemVerilog中的面向對象編程47
4.1 枚舉類型48
4.2 結構體53
4.3 共享體56
4.4 數組57
4.5 總結和展望63
第5章 SystemVerilog增強特性65
5.1 Verilog過程塊66
5.2 SystemVerilog過程塊67
5.3 塊標簽71
5.4 語句標簽71
5.5 模塊標簽71
5.6 任務和函數72
5.7 void函數74
5.8 循環75
5.9 編碼規則78
5.10 總結和展望79
第6章 SystemVerilog中的組合邏輯設計81
6.1 always_comb過程塊82
6.2 if-else嵌套和優先級邏輯83
6.3 參數及其在設計中的應用85
6.4 條件操作符實現選擇器邏輯86
6.5 解碼器88
6.6 優先級編碼器91
6.7 總結和展望92
第7章 SystemVerilog中的時序邏輯設計95
7.1 使用always_latch設計鎖存器96
7.2 使用always_ff設計PIPO寄存器97
7.3 異步復位98
7.4 同步復位99
7.5 可逆計數器100
7.6 移位寄存器101
7.7 環形計數器102
7.8 約翰遜計數器103
7.9 基於時鐘的算術運算單元的RTL實現105
7.10 基於時鐘的邏輯運算單元的RTL實現109
7.11 總結和展望110
第8章 RTL設計和綜合指南111
8.1 RTL設計規則112
8.2 不完全條件case語句114
8.3 全條件case語句115
8.4 synopsysfull_case編譯命令116
8.5 uniquecase語句116
8.6 casez語句117
8.7 prioritycase語句118
8.8 uniqueif-else語句119
8.9 使用synopsysfull_case編譯命令的解碼器120
8.10 priorityif語句121
8.11 使用prioritycase或者synopsysfull_case時綜合註意事項122
8.12 時鐘產生123
8.13 門控時鐘124
8.14 多時鐘產生器125
8.15 多相時鐘126
8.16 優化面積127
8.17 提升速度130
8.18 功耗的改進和優化132
8.19 總結和展望134
第.9章 復雜設計的RTL設計和策略135
9.1 復雜設計策略136
9.2 ALU137
9.3 桶型移位器139
9.4 單埠存儲體和雙埠存儲體142
9.5 總線仲裁器和設計方法147
9.6 多時鐘域148
9.7 FIFO設計方法149
9.8 總結和展望156
第10章 有限狀態機157
10.1 FSM158
10.2 Moore狀態機159
10.3 Mealy狀態機159
10.4 Moore狀態機實現非重疊序列檢測器160
10.5 Moore狀態機實現重疊序列檢測器162
10.6 Mealy狀態機實現非重疊序列檢測器164
10.7 Mealy狀態機實現重疊序列檢測器165
10.8 二進制碼編碼方法167
10.9 獨熱碼編碼方法168
10.10 使用反向case語句的狀態機170
10.11 FSM控制器172
10.12 數據和控制路徑綜合173
10.13 FSM優化175
10.14 總結和展望176
第11章 SystemVerilog中的埠和接口177
11.1 Verilog中的埠名連接方式178
11.2 “.name”隱式埠連接180
11.3 “.*”隱式埠連接182
11.4 內嵌模塊183
11.5 外部模塊185
11.6 接口185
11.7 使用命名包的接口188
11.8 通用接口189
11.9 接口的埠191
11.10 modport193
11.11 接口中的方法196
11.12 虛接口196
11.13 旗語198
11.14 信箱200
11.15 總結和展望201
第12章 驗證結構203
12.1 initial過程塊204
12.2 時鐘產生205
12.3 產生可變占空比的時鐘206
12.4 復位產生邏輯207
12.5 響應監控機制207
12.6 響應的轉儲記錄209
12.7 讀取測試向量210
12.8 編寫測試平臺210
12.9 總結和展望214
第13章 驗證技術和自動化215
13.1 層次化事件調度216
13.2 延遲和延遲模型218
13.3 進程和線程219
13.4 循環及其在測試平臺中的應用224
13.5 clocking塊225
13.6 自動化測試平臺228
13.7 總結和展望229
第14章 高級驗證結構231
14.1 隨機化232
14.2 受約束的隨機化235
14.3 基於斷言的驗證235
14.4 程序塊237
14.5 示例238
14.6 總結和展望247
第15章 驗證案例249
15.1 驗證目標250
15.2 RTL設計(待測設計)250
15.3 設計驗證的展望258
附錄261
附錄A 262
附錄B 262
附錄C 265