FPGA书籍
1、Xilinx FPGA 權(quán)威設(shè)計指南
??本書系統(tǒng)地介紹了Xilinx新一代集成開發(fā)環(huán)境Vivado 2018的設(shè)計方法、設(shè)計流程和具體實現(xiàn)。
??全書共11章,內(nèi)容包括Xilinx新一代UltraScale結(jié)構(gòu)、Vivado集成設(shè)計環(huán)境導(dǎo)論、Vivado工程模式基本設(shè)計實現(xiàn)、Vivado非工程模式基本設(shè)計實現(xiàn)、創(chuàng)建和封裝用戶IP核流程、Vivado高級約束原理及實現(xiàn)、Vivado調(diào)試工具原理及實現(xiàn)、Vivado部分可重配置原理及實現(xiàn)、Vivado HLS原理詳解、Vivado HLS實現(xiàn)過程詳解、HDMI顯示屏驅(qū)動原理和實現(xiàn)。
圖1 Xilinx FPGA 權(quán)威書籍指南??參考了Xilinx新一代的Vivado 2018設(shè)計套件設(shè)計資料,理論與應(yīng)用并重,將Xilinx新一代的設(shè)計理論貫穿在具體的設(shè)計實現(xiàn)中,目錄如下:
目 錄
第 1 章 Xilinx新一代UltraScale結(jié)構(gòu) 1
1.1 UltraScale結(jié)構(gòu)特點 1
1.2 可配置邏輯塊 2
1.2.1 可配置邏輯塊的特點 2
1.2.2 多路復(fù)用器 6
1.2.3 進(jìn)位邏輯 9
1.2.4 存儲元素 13
1.2.5 分布式RAM 16
1.2.6 只讀存儲器(ROM) 18
1.2.7 移位寄存器 21
1.3 時鐘資源和時鐘管理模塊 23
1.3.1 時鐘資源 25
1.3.2 時鐘管理模塊 28
1.4 塊存儲器資源 29
1.5 專用的DSP模塊 33
1.6 SelectIO資源 36
1.7 高速串行收發(fā)器 41
1.8 PCI-E模塊 43
1.9 Interlaken集成塊 43
1.10 Ethernet模塊 43
1.11 系統(tǒng)監(jiān)控器模塊 44
1.12 配置模塊 44
1.13 互聯(lián)資源 45
第 2 章 Vivado集成設(shè)計環(huán)境導(dǎo)論 46
2.1 Vivado系統(tǒng)級設(shè)計流程 46
2.2 Vivado功能和特性 48
2.3 Vivado中電路結(jié)構(gòu)的網(wǎng)表描述 49
2.4 Vivado中工程數(shù)據(jù)的目錄結(jié)構(gòu) 50
2.5 Vivado中Journal文件和Log文件功能 50
2.5.1 Journal文件(Vivado.jou) 50
2.5.2 Log文件(Vivado.log) 51
2.6 Vivado兩種設(shè)計流程模式 52
2.6.1 工程模式和非工程模式不同點比較 53
2.6.2 工程模式和非工程模式命令的不同 53
2.7 Vivado中的XDC文件 55
2.7.1 XDC的特性 55
2.7.2 XDC與UCF比較 55
2.7.3 約束文件的使用方法 56
2.7.4 約束順序 56
2.7.5 XDC約束命令 58
2.8 Vivado集成設(shè)計環(huán)境的啟動方法 59
2.9 Vivado集成設(shè)計環(huán)境主界面 60
2.10 Vivado設(shè)計主界面及功能 63
2.10.1 流程處理主界面及功能 63
2.10.2 工程管理器主界面及功能 64
2.10.3 工作區(qū)窗口 66
2.10.4 設(shè)計運行窗口 67
2.11 Vivado支持的屬性 68
第 3 章 Vivado工程模式基本設(shè)計實現(xiàn) 76
3.1 創(chuàng)建新的設(shè)計工程 76
3.2 創(chuàng)建并添加一個新的設(shè)計文件 80
3.3 RTL詳細(xì)描述和分析 85
3.3.1 詳細(xì)描述的實現(xiàn) 85
3.3.2 生成HDL例化模板 87
3.4 設(shè)計綜合和分析 89
3.4.1 綜合過程的關(guān)鍵問題 89
3.4.2 設(shè)計綜合選項 89
3.4.3 執(zhí)行設(shè)計綜合 92
3.4.4 綜合報告的查看 96
3.5 設(shè)計行為級仿真 97
3.6 創(chuàng)建實現(xiàn)約束 102
3.6.1 實現(xiàn)約束的原理 102
3.6.2 I/O規(guī)劃器功能 103
3.6.3 添加引腳約束 104
3.6.4 添加簡單的時鐘約束 109
3.7 設(shè)計實現(xiàn)和分析 111
3.7.1 設(shè)計實現(xiàn)原理 112
3.7.2 設(shè)計實現(xiàn)選項 112
3.7.3 設(shè)計實現(xiàn)及分析 117
3.7.4 靜態(tài)時序分析 123
3.8 設(shè)計時序仿真 126
3.9 生成編程文件 127
3.9.1 配置器件屬性 127
3.9.2 生成可編程文件 128
3.9.3 生成可編程文件選項 128
3.10 下載比特流文件到FPGA 130
3.11 生成并燒寫PROM文件 132
第 4 章 Vivado非工程模式基本設(shè)計實現(xiàn) 136
4.1 非工程模式基本命令和功能 136
4.1.1 非工程模式基本命令列表 136
4.1.2 典型Tcl腳本的使用 137
4.2 Vivado集成開發(fā)環(huán)境分析設(shè)計 138
4.2.1 啟動Vivado集成開發(fā)環(huán)境 138
4.2.2 打開設(shè)計檢查點的方法 139
4.3 修改設(shè)計路徑 139
4.4 設(shè)置設(shè)計輸出路徑 140
4.5 讀取設(shè)計文件 140
4.6 運行設(shè)計綜合 141
4.7 運行設(shè)計布局 142
4.8 運行設(shè)計布線 144
4.9 生成比特流文件 145
4.10 下載比特流文件 145
第 5 章 創(chuàng)建和封裝用戶IP核流程 148
5.1 Vivado定制IP流程 148
5.2 創(chuàng)建并封裝包含源文件的IP 149
5.2.1 創(chuàng)建新的用于創(chuàng)建IP的工程 149
5.2.2 設(shè)置定制IP的庫名和目錄 150
5.2.3 封裝定制IP的實現(xiàn) 151
5.3 調(diào)用并驗證包含源文件的IP設(shè)計 155
5.3.1 創(chuàng)建新的用于調(diào)用IP的工程 156
5.3.2 設(shè)置包含調(diào)用IP的路徑 156
5.3.3 創(chuàng)建基于IP的系統(tǒng) 158
5.3.4 系統(tǒng)行為級仿真 162
5.3.5 系統(tǒng)設(shè)計綜合 165
5.3.6 系統(tǒng)實現(xiàn)和驗證 166
5.4 創(chuàng)建并封裝不包含源文件的IP 166
5.4.1 創(chuàng)建網(wǎng)表文件 166
5.4.2 創(chuàng)建新的設(shè)計工程 167
5.4.3 設(shè)置定制IP的庫名和目錄 168
5.4.4 封裝定制IP的實現(xiàn) 168
5.5 調(diào)用并驗證不包含源文件的IP設(shè)計 169
5.5.1 創(chuàng)建新的用于調(diào)用IP的工程 169
5.5.2 設(shè)置包含調(diào)用IP的路徑 170
5.5.3 創(chuàng)建基于IP的系統(tǒng) 170
5.5.4 系統(tǒng)設(shè)計綜合 171
第 6 章 Vivado高級約束原理及實現(xiàn) 173
6.1 時序檢查概念 173
6.1.1 基本術(shù)語 173
6.1.2 時序路徑 173
6.1.3 建立和保持松弛 175
6.1.4 建立和保持檢查 176
6.1.5 恢復(fù)和去除檢查 179
6.2 時序約束概念 180
6.2.1 時鐘定義 180
6.2.2 時鐘組 186
6.2.3 I/O延遲約束 189
6.2.4 時序例外 192
6.3 生成時序報告 205
6.4 添加時序約束 212
6.4.1 時序約束策略1 212
6.4.2 時序約束策略2 214
6.5 物理約束原理 219
6.5.1 網(wǎng)表約束 219
6.5.2 布局約束 220
6.5.3 布線約束 221
6.6 布局約束實現(xiàn) 223
6.6.1 修改綜合屬性 224
6.6.2 布局約束方法 224
6.7 布線約束實現(xiàn) 227
6.7.1 手工布線 227
6.7.2 進(jìn)入分配布線模式 228
6.7.3 分配布線節(jié)點 230
6.7.4 取消分配布線節(jié)點 230
6.7.5 完成并退出分配布線模式 230
6.7.6 鎖定LUT負(fù)載上的單元輸入 231
6.7.7 分支布線 231
6.7.8 直接約束布線 233
6.8 修改邏輯實現(xiàn) 233
6.9 配置約束原理 235
6.10 增量編譯 235
6.10.1 增量編譯流程 235
6.10.2 運行增量布局和布線 236
6.10.3 使用增量編譯 238
6.10.4 增量編譯高級分析 240
第 7 章 Vivado調(diào)試工具原理及實現(xiàn) 241
7.1 設(shè)計調(diào)試原理和方法 241
7.2 創(chuàng)建新的設(shè)計 242
7.2.1 創(chuàng)建新的FIFO調(diào)試工程 242
7.2.2 添加FIFO IP到設(shè)計中 243
7.2.3 添加頂層設(shè)計文件 246
7.2.4 使用HDL例化添加FIFO到設(shè)計中 247
7.2.5 添加約束文件 251
7.3 網(wǎng)表插入調(diào)試探測流程方法及實現(xiàn) 253
7.3.1 網(wǎng)表插入調(diào)試探測流程的方法 253
7.3.2 網(wǎng)表插入調(diào)試探測流程的實現(xiàn) 255
7.4 使用添加HDL屬性調(diào)試探測流程 261
7.5 使用HDL例化調(diào)試核調(diào)試探測流程 262
7.6 VIO原理及應(yīng)用 267
7.6.1 設(shè)計原理 267
7.6.2 添加VIO核 268
7.6.3 生成比特流文件 271
7.6.4 下載并調(diào)試設(shè)計 272
第 8 章 Vivado部分可重配置原理及實現(xiàn) 274
8.1 可重配置導(dǎo)論 274
8.1.1 可重配置的概念 274
8.1.2 可重配置的應(yīng)用 275
8.1.3 可重配置的特點 278
8.1.4 可重配置術(shù)語解釋 280
8.1.5 可重配置的要求 282
8.1.6 可重配置的標(biāo)準(zhǔn) 283
8.1.7 可重配置的流程 285
8.2 基于工程的部分可重配置實現(xiàn) 285
8.2.1 設(shè)計原理 285
8.2.2 建立可重配置工程 289
8.2.3 創(chuàng)建新的分區(qū)定義 291
8.2.4 添加新的可重配置模塊 292
8.2.5 設(shè)置不同的配置選項 294
8.2.6 定義分區(qū)的布局 298
8.2.7 執(zhí)行DRC 301
8.2.8 實現(xiàn)第一個運行配置并生成比特流文件 302
8.2.9 實現(xiàn)第二個運行配置并生成比特流文件 304
8.2.10 實現(xiàn)第三個運行配置并生成比特流文件 304
8.2.11 實現(xiàn)第四個運行配置并生成比特流文件 305
8.2.12 下載不同運行配置的部分比特流 305
8.3 基于非工程的部分可重配置實現(xiàn) 307
8.3.1 查看腳本 307
8.3.2 綜合設(shè)計 309
8.3.3 實現(xiàn)第一個配置 310
8.3.4 實現(xiàn)第二個配置 315
8.3.5 驗證配置 317
8.3.6 生成比特流 317
8.3.7 部分重配置FPGA 318
8.4 部分重配置控制器PRC的原理及應(yīng)用 320
8.4.1 部分重配置控制器原理 320
8.4.2 實現(xiàn)原理 324
8.4.3 創(chuàng)建和配置新的設(shè)計 325
8.4.4 添加ILA核 327
8.4.5 添加和設(shè)置PRC核 328
8.4.6 設(shè)置不同的配置選項 331
8.4.7 定義分區(qū)的布局 334
8.4.8 實現(xiàn)第一個運行配置并生成比特流文件 335
8.4.9 實現(xiàn)第二個運行配置并生成比特流文件 337
8.4.10 實現(xiàn)第三個運行配置并生成比特流文件 337
8.4.11 創(chuàng)建板支持包工程 338
8.4.12 創(chuàng)建應(yīng)用程序工程 339
8.4.13 創(chuàng)建zynq_fsbl應(yīng)用 343
8.4.14 創(chuàng)建啟動鏡像 343
8.4.15 從SD卡啟動引導(dǎo)系統(tǒng) 345
第 9 章 Vivado HLS原理詳解 347
9.1 高級綜合工具概述 347
9.1.1 高級綜合工具的功能和特點 347
9.1.2 Vivado HLS工具的優(yōu)勢 348
9.1.3 HLS中使用術(shù)語說明 349
9.1.4 從C中提取硬件結(jié)構(gòu) 350
9.1.5 不同的命令對HLS綜合結(jié)果的影響 352
9.2 高級綜合工具調(diào)度和綁定 354
9.2.1 高級綜合工具調(diào)度 355
9.2.2 高級綜合工具綁定 355
9.3 C代碼的關(guān)鍵屬性 356
9.3.1 函數(shù) 357
9.3.2 類型 357
9.3.3 循環(huán) 364
9.3.4 數(shù)組 366
9.3.5 I/O端口 366
9.3.6 運算符 367
9.4 C代碼級和RTL級算法驗證 368
9.5 添加命令 370
9.6 延遲和吞吐量的概念 373
9.6.1 設(shè)計延遲 373
9.6.2 設(shè)計吞吐量 374
9.7 改善延遲 374
9.7.1 延遲最小化 374
9.7.2 用戶延遲的定義 375
9.7.3 循環(huán)的處理 377
9.8 改善吞吐量 380
9.8.1 數(shù)據(jù)流優(yōu)化 381
9.8.2 流水線優(yōu)化 384
9.9 性能瓶頸——數(shù)組 390
9.9.1 數(shù)組分割 391
9.9.2 數(shù)組重組 394
9.9.3 數(shù)據(jù)打包 395
9.10 改善面積和資源 396
9.10.1 綁定配置 396
9.10.2 分配命令 397
9.10.3 指定資源 397
9.10.4 函數(shù)內(nèi)聯(lián) 398
9.10.5 循環(huán)合并和平坦化 401
9.10.6 映射數(shù)組 401
9.10.7 任意精度整數(shù) 403
9.11 I/O類型 404
9.11.1 組合和時序邏輯設(shè)計 404
9.11.2 Vivado HLS I/O選項 405
9.11.3 模塊級協(xié)議說明 408
9.11.4 端口級I/O協(xié)議 412
9.12 命令和編譯指示 422
第 10 章 Vivado HLS實現(xiàn)過程詳解 425
10.1 FIR濾波器不同語言的描述方式 425
10.1.1 C語言描述風(fēng)格 425
10.1.2 C++語言描述風(fēng)格 427
10.1.3 SystemC語言描述風(fēng)格 428
10.2 Vivado HLS不支持的操作 429
10.3 測試平臺編碼 431
10.4 指針的使用 432
10.5 流的使用 437
10.6 支持庫 438
10.6.1 FFT 439
10.6.2 FIR 442
10.6.3 移位寄存器 446
10.6.4 線性算法庫 447
10.6.5 OpenCV庫 448
10.7 Vivado HLS數(shù)字系統(tǒng)實現(xiàn) 453
10.7.1 基于HLS實現(xiàn)組合邏輯 453
10.7.2 基于HLS實現(xiàn)時序邏輯 468
10.7.3 基于HLS實現(xiàn)矩陣相乘 476
第 11 章 HDMI顯示屏驅(qū)動原理和實現(xiàn) 495
11.1 HDMI的發(fā)展歷史 495
11.2 HDMI視頻顯示接口定義 496
11.3 HDMI鏈路結(jié)構(gòu) 497
11.4 HDMI鏈路時序要求 499
11.5 HDMI編碼算法 500
11.6 HDMI并行編碼數(shù)據(jù)轉(zhuǎn)換原理及實現(xiàn) 504
11.6.1 數(shù)據(jù)并行-串行轉(zhuǎn)換 505
11.6.2 三態(tài)并行-串行轉(zhuǎn)換器 505
11.6.3 OSERDESE2原語 505
11.6.4 TMDS信號轉(zhuǎn)換模塊 508
11.6.5 HDMI并行編碼數(shù)據(jù)轉(zhuǎn)換的實現(xiàn) 508
11.7 系統(tǒng)整體設(shè)計結(jié)構(gòu) 510
附錄 a7-edp-1開發(fā)板原理圖 512
??如果是使用Xlinx的相關(guān)芯片,這本書作為入門還是可以的,在微信公眾號后臺回復(fù) Xilinx FPGA 權(quán)威設(shè)計指南 進(jìn)行獲取。
2、FPGA從入門到精通
??本書由至芯科技教研組從各大高校的授課內(nèi)容中整理而來,是為初學(xué)者量身定制的FPGA入門教材,從基礎(chǔ)的軟件安裝、工具使用、語法解釋、設(shè)計方法、常用IP,到最后的設(shè)計技巧及大量的進(jìn)階實例,內(nèi)容環(huán)環(huán)相扣,為初學(xué)者建立了一個比較清晰的學(xué)習(xí)路徑。
??設(shè)計思路及方法”為本書的重點強(qiáng)調(diào)內(nèi)容,本書沒有收錄過多煩瑣的理論,一切從實戰(zhàn)出發(fā),按照一套相對高效的設(shè)計方法直接切入一個個小的實例。目錄如下:
第1章 沒有金剛鉆,不攬瓷器活 1
1.1 Quartus II 19.1――易學(xué)易用的編譯器 1
1.2 ModelSim――獨具慧眼的仿真工具 8
1.3 級聯(lián)調(diào)試實戰(zhàn)演練 8
第2章 諄諄教誨莫相忘,字字珠璣記心頭 30
2.1 賦值語句實戰(zhàn)演練 30
2.1.1 非阻塞型過程賦值語句 30
2.1.2 阻塞型過程賦值語句 32
2.2 關(guān)系運算符實戰(zhàn)演練 34
2.2.1 關(guān)系運算符的種類 34
2.2.2 關(guān)系運算符與算術(shù)運算符優(yōu)先級 34
2.3 if-else與case語句實戰(zhàn)演練 35
2.3.1 if-else條件分支語句 35
2.3.2 case分支控制語句 39
2.4 縮減運算符實戰(zhàn)演練 41
2.5 移位運算符實戰(zhàn)演練 44
2.6 位拼運算符實戰(zhàn)演練 46
第3章 工欲善其事,必先利其器 49
3.1 計數(shù)器實戰(zhàn)演練 49
3.1.1 設(shè)計原理 49
3.1.2 代碼說明 50
3.1.3 仿真分析 51
3.2 呼吸燈實戰(zhàn)演練 51
3.2.1 設(shè)計原理 51
3.2.2 系統(tǒng)框架 52
3.2.3 代碼說明 53
3.2.4 仿真分析 55
第4章 磨刀不誤砍柴工,層次設(shè)計立頭功 57
4.1 層次化設(shè)計實戰(zhàn)演練 57
4.1.1 項目需求 57
4.1.2 系統(tǒng)架構(gòu) 58
4.1.3 模塊設(shè)計 58
4.1.4 代碼說明 59
4.1.5 仿真分析 62
4.1.6 驗證分析 63
4.2 分頻器設(shè)計實戰(zhàn)演練 73
4.2.1 偶分頻設(shè)計 73
4.2.2 奇分頻設(shè)計 75
第5章 內(nèi)涵豐富本領(lǐng)多,誰與IP核爭鋒 79
5.1 鎖相環(huán)實戰(zhàn)演練 79
5.1.1 項目需求 80
5.1.2 操作步驟 80
5.1.3 模塊設(shè)計 84
5.1.4 代碼說明 85
5.1.5 仿真分析 86
5.1.6 使用Locked信號 87
5.2 ROM實戰(zhàn)演練 89
5.2.1 項目需求 90
5.2.2 操作步驟 90
5.2.3 模塊設(shè)計 94
5.2.4 代碼說明 95
5.2.5 仿真分析 97
5.3 RAM實戰(zhàn)演練 98
5.3.1 項目需求 98
5.3.2 操作步驟 98
5.3.3 模塊設(shè)計 101
5.3.4 代碼說明 101
5.3.5 仿真分析 105
5.4 FIFO實戰(zhàn)演練 106
5.4.1 項目需求 106
5.4.2 操作步驟 106
5.4.3 模塊設(shè)計 109
5.4.4 代碼說明 111
5.4.5 仿真分析 116
5.5 移位寄存器實戰(zhàn)演練 117
5.5.1 項目需求 117
5.5.2 操作步驟 118
5.5.3 模塊設(shè)計 120
5.5.4 代碼說明 121
5.5.5 仿真分析 125
第6章 基礎(chǔ)項目我在行,信手拈來顯聰慧 126
6.1 邊沿檢測電路實戰(zhàn)演練 126
6.1.1 電路原理分析 126
6.1.2 系統(tǒng)框架 127
6.1.3 代碼說明 128
6.1.4 仿真分析 130
6.2 按鍵消抖實戰(zhàn)演練 130
6.2.1 設(shè)計思路 131
6.2.2 系統(tǒng)框架 131
6.2.3 代碼說明 132
6.2.4 仿真分析 135
6.3 二進(jìn)制數(shù)轉(zhuǎn)BCD實戰(zhàn)演練 136
6.3.1 逐步移位法原理 136
6.3.2 設(shè)計任務(wù) 137
6.3.3 系統(tǒng)框架 137
6.3.4 代碼說明 139
6.3.5 仿真分析 141
6.4 數(shù)碼管實戰(zhàn)演練 142
6.4.1 項目需求 142
6.4.2 單個數(shù)碼管顯示 144
6.4.3 6個數(shù)碼管顯示 147
6.5 綜合項目實戰(zhàn)演練 154
6.5.1 項目要求 154
6.5.2 各模塊的功能說明 154
6.5.3 RTL視圖 154
6.5.4 仿真分析 155
第7章 沒有標(biāo)準(zhǔn)的方法,但見可行的技巧 156
7.1 異步復(fù)位同步釋放實戰(zhàn)演練 156
7.1.1 同步復(fù)位和異步復(fù)位 156
7.1.2 異步復(fù)位同步釋放 159
7.2 流水線實戰(zhàn)演練 166
7.2.1 流水線的基本概念 166
7.2.2 流水線的應(yīng)用實例 167
7.3 狀態(tài)機(jī)實戰(zhàn)演練 173
7.3.1 狀態(tài)機(jī)的基本概念 173
7.3.2 狀態(tài)機(jī)的應(yīng)用實例 175
第8章 進(jìn)階首選我當(dāng)前,乘勝追擊勢必行 184
8.1 TLC549實戰(zhàn)演練 184
8.1.1 設(shè)計原理 184
8.1.2 系統(tǒng)架構(gòu) 186
8.1.3 模塊功能 186
8.1.4 代碼說明 187
8.1.5 仿真分析 195
8.2 TLC5620實戰(zhàn)演練 195
8.2.1 設(shè)計原理 195
8.2.2 系統(tǒng)架構(gòu) 199
8.2.3 模塊功能 199
8.2.4 代碼說明 200
8.2.5 仿真分析 207
8.3 VGA實戰(zhàn)演練 207
8.3.1 設(shè)計原理 207
8.3.2 系統(tǒng)框架 211
8.3.3 代碼說明 211
8.3.4 仿真分析 216
8.4 串口通信實戰(zhàn)演練 216
8.4.1 設(shè)計原理 216
8.4.2 系統(tǒng)架構(gòu) 218
8.4.3 代碼說明 219
8.4.4 仿真分析 228
8.5 DDS實戰(zhàn)演練 228
8.5.1 數(shù)據(jù)生成 228
8.5.2 代碼說明 229
8.5.3 仿真分析 231
8.6 蜂鳴器實戰(zhàn)演練 232
8.6.1 設(shè)計原理 232
8.6.2 數(shù)據(jù)生成 233
8.6.3 系統(tǒng)架構(gòu) 235
8.6.4 代碼說明 235
8.7 I2C實戰(zhàn)演練 242
8.7.1 設(shè)計原理 242
8.7.2 系統(tǒng)架構(gòu) 243
8.7.3 代碼說明 243
8.7.4 仿真分析 256
??這本書作為入門還是可以的,在微信公眾號后臺回復(fù) FPGA從入門到精通 獲取。
3、數(shù)字邏輯基礎(chǔ)與Verilog設(shè)計(原書第3版)
??在邏輯電路的具體設(shè)計中,強(qiáng)調(diào)硬件描述語言(HDL)的使用,因為基于HDL的方法在實際應(yīng)用中是最有效的。本書詳細(xì)介紹了IEEE標(biāo)準(zhǔn)的Verilog HDL語言,并且在例子中廣泛使用。
??本書第3版的結(jié)構(gòu)進(jìn)行了較大的改進(jìn),第1~6章覆蓋一個學(xué)期內(nèi)該課程所需講述的所有內(nèi)容,而第7~11章則介紹更先進(jìn)的內(nèi)容。
??第1章概述了數(shù)字系統(tǒng)的設(shè)計流程,討論了設(shè)計流程中的關(guān)鍵步驟,解釋了如何運用CAD工具自動實現(xiàn)所要求的眾多工作;同時介紹了數(shù)字信息的表示方式。
??第2章介紹了邏輯電路的基本知識,展示了如何使用布爾代數(shù)表示邏輯電路;介紹了邏輯電路綜合和優(yōu)化的概念,展示了如何使用邏輯門實現(xiàn)簡單電路。第一次向讀者展現(xiàn)Verilog,一個可用于描述邏輯電路的硬件描述語言例子。
??第3章重點講述了算術(shù)運算電路,討論了數(shù)字系統(tǒng)中數(shù)字的表示方式,并說明了這樣的數(shù)字如何運用到邏輯電路中。另外,該章還闡述了如何使用Verilog詳細(xì)描述所期望的功能,以及CAD工具如何提供開發(fā)所期望電路的機(jī)制。
??第4章介紹了用作構(gòu)建模塊的組合電路,包括編碼器、譯碼器及多路選擇器。這些電路非常便于闡明眾多借助Verilog構(gòu)建的應(yīng)用,給讀者提供了一個揭示Verilog更多高級特性的機(jī)會。
??第5章介紹了存儲單元,討論了采用觸發(fā)器實現(xiàn)的規(guī)則結(jié)構(gòu),如移位寄存器和計數(shù)器,并給出了這些結(jié)構(gòu)的Verilog描述。
??第6章詳細(xì)闡明了同步時序電路(有限狀態(tài)機(jī)),解釋了這些電路的行為,并介紹了用手工和自動兩種方法進(jìn)行實際設(shè)計開發(fā)的技術(shù)。
??第7章討論了系統(tǒng)設(shè)計中經(jīng)常遇到的問題及其解決辦法,介紹了一個較大規(guī)模的數(shù)字系統(tǒng)層次化設(shè)計的例子,并給出了完整的Verilog代碼。
第8章介紹了邏輯功能優(yōu)化實現(xiàn)的更加先進(jìn)的技術(shù),提供了優(yōu)化算法;解釋了如何與二元決策圖一樣使用一種立方體表示法指定邏輯功能。
圖3 數(shù)字邏輯基礎(chǔ)與Verilog設(shè)計(原書第3版)??第9章討論了異步時序電路。雖然沒有面面俱到地敘述,但清晰展示了時序電路的主要特性。盡管異步時序電路在實際中的應(yīng)用并不是很廣泛,但是它們提供了一個深刻理解數(shù)字電路操作的非常好的途徑。該章還展示了可能存在于電路結(jié)構(gòu)內(nèi)部的傳播延遲和冒險競爭。
??第10章給出了設(shè)計者在設(shè)計、實現(xiàn)及測試數(shù)字電路過程中經(jīng)歷的一個完整的CAD流程。
??第11章介紹了電路的測試。邏輯電路的設(shè)計者必須清楚意識到電路測試的必要性,至少應(yīng)熟悉測試最基本的知識。
??目錄如下:
第1章引言1
1.1數(shù)字硬件1
1.2設(shè)計流程3
1.3計算機(jī)結(jié)構(gòu)4
1.4本書中的邏輯電路設(shè)計5
1.5信息的數(shù)字化表示5
1.6理論與實踐9
習(xí)題10
參考文獻(xiàn)10
第2章邏輯電路導(dǎo)論11
2.1變量與函數(shù)11
2.2反相12
2.3真值表13
2.4邏輯門和網(wǎng)絡(luò)14
2.5布爾代數(shù)17
2.6利用“與”門、“或”門和“非”門進(jìn)行綜合23
2.7“與非”和“或非”邏輯網(wǎng)絡(luò)電路28
2.8設(shè)計實例31
2.9CAD工具介紹34
2.10Verilog簡介37
2.11最簡化和卡諾圖41
2.12最小化策略46
2.13和之積形式的最簡式49
2.14非完整定義函數(shù)(無關(guān)項)50
2.15多輸出電路51
2.16小結(jié)53
2.17解決問題的實例53
習(xí)題58
參考文獻(xiàn)61
第3章數(shù)的表示方法和算術(shù)運算電路62
3.1按位計數(shù)法(數(shù)的位置表示法)62
3.2無符號數(shù)的加法運算64
3.3有符號數(shù)67
3.4快速加法器75
3.5使用CAD工具設(shè)計算術(shù)運算電路79
3.6乘法88
3.7其他數(shù)的表示方式90
3.8解決問題的實例94
習(xí)題97
參考文獻(xiàn)99
第4章組合電路模塊100
4.1多路選擇器100
4.2譯碼器105
4.3編碼108
4.4代碼轉(zhuǎn)換器109
4.5算術(shù)比較電路109
4.6用Verilog設(shè)計組合邏輯電路110
4.7小結(jié)121
4.8解決問題的實例121
習(xí)題126
參考文獻(xiàn)128
第5章觸發(fā)器、寄存器和計數(shù)器129
5.1基本鎖存器129
5.2門控SR鎖存器131
5.3門控D鎖存器132
5.4邊沿觸發(fā)的D觸發(fā)器134
5.5T觸發(fā)器139
5.6JK觸發(fā)器139
5.7術(shù)語小結(jié)140
5.8寄存器140
5.9計數(shù)器142
5.10復(fù)位同步147
5.11其他類型的計數(shù)器149
5.12用CAD工具設(shè)計含存儲元件的電路151
5.13用Verilog構(gòu)建寄存器和計數(shù)器156
5.14設(shè)計舉例160
5.15觸發(fā)器電路的時序分析164
5.16小結(jié)167
5.17解決問題的實例167
習(xí)題171
參考文獻(xiàn)174
第6章同步時序電路175
6.1基本設(shè)計步驟176
6.2狀態(tài)分配問題183
6.3Mealy狀態(tài)模型185
6.4采用CAD工具設(shè)計有限狀態(tài)機(jī)188
6.5串行加法器實例193
6.6狀態(tài)最小化197
6.7基于時序電路的計數(shù)器設(shè)計202
6.8仲裁電路的FSM207
6.9同步時序電路的分析209
6.10算法狀態(tài)機(jī)流程圖211
6.11時序電路的形式模型213
6.12小結(jié)214
6.13解決問題的實例214
習(xí)題219
參考文獻(xiàn)220
第7章數(shù)字系統(tǒng)設(shè)計222
7.1總線結(jié)構(gòu)222
7.2簡單的處理器227
7.3位計數(shù)電路234
7.4移位和加乘法器238
7.5除法器242
7.6算術(shù)平均248
7.7排序操作251
7.8時鐘同步和時序問題258
7.9小結(jié)260
習(xí)題261
參考文獻(xiàn)262
第8章邏輯函數(shù)的優(yōu)化實現(xiàn)264
8.1多級綜合264
8.2多級電路分析271
8.3邏輯函數(shù)的其他表示方法273
8.4基于立方體表示法的優(yōu)化技術(shù)279
8.5小結(jié)288
8.6解決問題的實例289
習(xí)題293
參考文獻(xiàn)294
第9章異步時序電路296
9.1異步行為296
9.2異步電路分析298
9.3異步電路綜合303
9.4狀態(tài)化簡309
9.5狀態(tài)分配316
9.6冒險324
9.7一個完整的設(shè)計實例328
9.8小結(jié)331
9.9解決問題的實例332
習(xí)題335
參考答案337
第10章計算機(jī)輔助設(shè)計工具338
10.1綜合338
10.2物理設(shè)計342
10.3小結(jié)345
參考文獻(xiàn)345
第11章邏輯電路測試346
11.1故障模型346
11.2測試集的復(fù)雜度347
11.3路徑敏化348
11.4樹形結(jié)構(gòu)電路350
11.5隨機(jī)測試351
11.6時序電路的測試353
11.7內(nèi)建自測試355
11.8印制電路板359
11.9小結(jié)361
習(xí)題362
參考文獻(xiàn)363
這本書作為入門還是可以的,在微信公眾號后臺回復(fù) 數(shù)字邏輯基礎(chǔ)與Verilog設(shè)計(原書第3版) 獲取。
總結(jié)
- 上一篇: c语言中锁的作用,C语言实现原子锁(二)
- 下一篇: 优秀工程师应该具备哪些素质_工程师应具备