搭建你的數字積木 數字電路與邏輯設計(Verilog HDL&Vivado版)
出版時間:2017年版
內容簡介
本書系統(tǒng)論述了數字電路與邏輯設計的理論、方法與實踐技術。全書基于VerilogHDL與Vivado開發(fā)環(huán)境,共18章,詳盡介紹了如下內容:邏輯設計與Vivado基礎、布爾代數與VerilogHDL基礎、組合邏輯電路設計基礎、時序邏輯電路設計基礎、有限狀態(tài)機設計基礎、邏輯設計工程技術基礎、Vivado數字積木流程、串行通信接口控制器、RAM接口控制器、字符點陣顯示模塊接口控制器、VGA接口控制器、數字圖像采集、數字邏輯系統(tǒng)設計案例、單周期CPU設計案例、數字信號處理設計案例(FIR)、數字圖像處理設計案例、大學生FPGA設計案例以及Xilinx資源導讀。
為便于教師和廣大讀者學習與動手實踐,本書配套提供了教學課件、教學視頻及程序代碼等教學資源。
本書適合作為普通高等院校電子信息類、電氣信息類、自動化類專業(yè)的本科生教材,也可作為相關專業(yè)研究生參考教材,并適合作為電子與電氣工程技術領域的科研工程技術人員的參考用書。
目錄
*部分邏輯設計基礎
第1章邏輯設計概述及Vivado基礎
1.1邏輯設計概況
1.2VerilogHDL語言基礎
1.2.1硬件描述語言概述
1.2.2VerilogHDL語言要素和設計流程
1.3PLD器件基礎
1.3.1可編程邏輯器件技術發(fā)展歷程
1.3.2FPGA和CPLD簡介
1.3.3XilinxFPGA介紹
1.3.4FPGA選型應該考慮的問題
1.4Vivado開發(fā)環(huán)境及設計流程
1.4.1Vivado功能介紹
1.4.2Vivado用戶界面介紹和菜單操作
1.4.3Vivado開發(fā)流程
第2章布爾代數和VerilogHDL基礎
2.1布爾代數
2.1.1三種基本邏輯門
2.1.2四種常用邏輯門
2.2布爾定律
2.2.1單變量布爾定律
2.2.2雙變量和三變量的布爾定律
2.3布爾代數化簡
2.3.1公式法化簡
2.3.2卡諾圖化簡
2.4VerilogHDL語言基礎
2.4.1VerilogHDL模塊及端口
2.4.2VerilogHDL數據類型聲明
2.4.3VerilogHDL運算操作
第3章組合邏輯電路設計基礎
3.1組合電路中的always塊
3.1.1基本語法格式
3.1.2過程賦值
3.1.3變量的數據類型
3.1.4簡單實例
3.2條件語句
3.2.1ifelse語句
3.2.2case語句
3.3循環(huán)語句
3.3.1for語句
3.3.2repeat語句
3.3.3while語句
3.3.4forever語句
3.4always塊的一般編碼原則
3.4.1組合電路代碼中常見的錯誤
3.4.2組合電路中always塊的使用原則
3.5常數和參數
3.5.1常數
3.5.2參數
3.6設計實例
3.6.1多路選擇器
3.6.2比較器
3.6.3譯碼器和編碼器
3.6.4十六進制數七段LED顯示譯碼器
3.6.5二進制—BCD碼轉換器
3.7練習題
第4章時序電路設計基礎
4.1觸發(fā)器和鎖存器
4.1.1基本D觸發(fā)器
4.1.2含異步復位的D觸發(fā)器
4.1.3含異步復位和同步使能的D觸發(fā)器
4.1.4基本鎖存器
4.1.5含清0控制的鎖存器
4.2寄存器
4.2.11位寄存器
4.2.2N位寄存器
4.2.3寄存器組
4.3移位寄存器
4.3.1具有同步預置功能的8位移位寄存器
4.3.28位通用移位寄存器
4.4計數器
4.4.1簡單的二進制計數器
4.4.2通用二進制計數器
4.4.3模m計數器
4.5設計實例
4.5.1數碼管掃描顯示電路
4.5.2秒表
4.6練習題
第5章有限狀態(tài)機設計基礎
5.1引言
5.1.1有限狀態(tài)機的特點
5.1.2Mealy狀態(tài)機和Moore狀態(tài)機
5.1.3有限狀態(tài)機的表示方法
5.2有限狀態(tài)機代碼實現
5.3設計實例
5.3.1序列檢測器設計
5.3.2ADC采樣控制電路設計
5.3.3按鍵消抖電路設計
5.4課程練習
第6章邏輯設計工程技術基礎
6.1數字電路穩(wěn)定性
6.2組合邏輯與毛刺
6.2.1組合邏輯設計中的毛刺現象
6.2.2組合邏輯設計中毛刺的處理
6.3異步設計與毛刺
6.3.1異步時序電路中的毛刺現象
6.3.2異步時序電路中毛刺的處理
6.4VerilogHDL設計中的編程風格
6.4.1強調代碼編寫風格的必要性
6.4.2強調編寫規(guī)范的宗旨
6.4.3變量及信號命名規(guī)范
6.4.4編碼格式規(guī)范
6.5Xilinx開發(fā)環(huán)境中的其他邏輯設計輔助工具
第二部分常用邏輯設計模塊
第7章Vivado數字積木流程
7.1IP基礎
7.2打包屬于自己的IP
7.3IP設計示例——二進制轉格雷碼
7.4練習題
第8章串行通信接口控制器
8.1UART串口通信協(xié)議及控制器設計
8.1.1UART協(xié)議介紹
8.1.2UART協(xié)議實例
8.2PS/2協(xié)議及實例設計
8.2.1PS/2協(xié)議介紹
8.2.2PS/2設計實例
8.3SPI同步串行總線協(xié)議及控制器設計
8.3.1SPI協(xié)議介紹
8.3.2SPI控制器模塊實例
8.4I2C兩線式串行總線協(xié)議及控制器設計
8.4.1I2C協(xié)議介紹
8.4.2I2C模塊設計實例
8.5練習題
第9章RAM接口控制器
9.1內部存儲器
9.1.1FIFO
9.1.2單端口RAM設計
9.1.3雙端口RAM設計
9.2外部存儲器
9.2.1DRAM介紹
9.2.2DDRSDRAM原理
9.2.3DDRSDRAM控制器原理
9.3練習題
第10章字符點陣顯示模塊接口控制器
10.1字符型液晶控制器設計
10.1.1LCD原理
10.1.2字符型LCD1602模塊
10.1.3字符型液晶模塊顯示實例
10.2點陣OLED控制器設計
10.2.1OLED原理
10.2.2OLED驅動原理
10.2.3OLED顯示實例
10.3練習題
第11章VGA接口控制器
11.1CRT顯示器原理
11.2VGA控制器設計
11.2.1VGA視頻接口的概念
11.2.2VGA的接口信號
11.2.3行同步和場同步
11.3VGA接口設計實例
11.3.1VGA顯示條紋和棋盤格圖像
11.3.2VGA圖像顯示實例(文字/圖片顯示或者數碼相框)
11.3.3VGAIP的使用
11.4練習題
第12章數字圖像采集
12.1數字圖像采集概述
12.2系統(tǒng)設計原理
12.2.1系統(tǒng)架構
12.2.2OV7725芯片介紹
12.2.3OV7725SCCB協(xié)議
12.2.4OV7725配置寄存器
12.2.5OV7725圖像采集
12.2.6BlockRAM存儲單元
12.2.7VGA顯示的實現
12.3模塊搭建與綜合實現
12.4系統(tǒng)調試及板級驗證
12.4.1引腳分配
12.4.2模塊連接
12.5練習題
第三部分邏輯系統(tǒng)設計案例
第13章數字邏輯系統(tǒng)設計案例:數字鐘
13.1數字鐘設計案例
13.1.1實驗原理
13.1.2實驗設計流程
13.2基于集成邏輯分析儀的調試
13.3約束設計
13.3.1物理約束
13.3.2時序約束
13.4練習題
第14章單周期處理器設計實例
14.1單周期處理器體系架構簡介
14.1.1單周期處理器指令集簡介
14.1.2單周期處理器系統(tǒng)結構
14.2設計流程
14.2.1實驗原理
14.2.2設計與驗證
第15章數字信號處理實例:FIR濾波器
15.1FIR濾波器簡介
15.2基于HLS的FIR濾波器實現流程
15.3工程測試
15.4生成IP
15.5練習題
第16章數字圖像處理設計案例
16.1項目概述
16.2硬件介紹
16.3模塊介紹
16.3.1RGB轉HSV模塊
16.3.2ColorDetect色彩檢測及坐標計算
16.4舵機控制模塊
16.5實例實現過程
16.6板級驗證
16.7練習題
第17章大學生FPGA設計案例
17.1邏輯控制
17.2圖像處理
17.2.1VGA控制顏色
17.2.2視力表
17.2.3手部運動檢測系統(tǒng)
17.3儀表儀器
17.3.1數字示波器
17.3.2邏輯分析儀
17.3.3波形發(fā)生器
17.4其他
第18章Xilinx資源導讀
18.1獲取本書參考例程
18.1.1Github介紹及使用
18.1.2OpenHW介紹
18.1.3Xilinx各類比賽
18.2Xilinx網站
18.2.1FPGA應用與解決方案
18.2.2文檔資料查找
18.2.3Vivado工具和License的下載以及更新
18.2.4問題的查找
18.2.5Xilinx社區(qū)
18.3視頻教程
18.4Vivado學習參考文檔
參考文獻