本書針對數(shù)字系統(tǒng)設計和工程開發(fā)的要求與特點,按照數(shù)字系統(tǒng)的整體結構,通過由淺入深的設計實例,采用Verilog HDL對FPGA數(shù)字系統(tǒng)設計流程、關鍵技術及原理和方法進行深入講解,包括FPGA數(shù)字系統(tǒng)設計的基本流程及其實現(xiàn)、組合與時序邏輯電路設計、有限狀態(tài)機、數(shù)據(jù)通道設計、時序分析、流水線及設計優(yōu)化等內容。全部設計原理和方法通過具體設計實例演示,主要包括通用計數(shù)器、通用異步收發(fā)器(UART)、有符號數(shù)算術運算電路、FIR濾波器等內容。本書既可作為電子信息類、自動化類、電氣類及計算機類各專業(yè)高年級本科生和研究生的教材或參考書,也可作為電子系統(tǒng)設計及數(shù)字集成電路設計工程師的專業(yè)技術培訓教材或自學參考書。
王建民,男,副教授,主要從事數(shù)字電子技術、模擬電子技術、硬件描述語言和FPGA數(shù)字系統(tǒng)設計理論和教學工作,并致力于實驗項目開發(fā)與改進。
第1章 設計流程:Quartus Prime簡介
1.1 典型設計流程
1.2 設計實例:LED控制電路設計與實現(xiàn)
1.2.1 啟動Quartus Prime軟件
1.2.2 創(chuàng)建工程
1.2.3 設計輸入
1.2.4 向工程添加文件
1.2.5 編譯
1.2.6 功能仿真
1.2.7 引腳分配
1.3 下載
1.4 電路測試
1.5 思考題
1.6 實踐練習
第2章 門級原語和模塊實例化
2.1 模塊
2.2 門級原語
2.3 模塊實例化
2.4 設計實例:五選一數(shù)據(jù)選擇器
2.5 數(shù)字電路的仿真
2.6 二選一數(shù)據(jù)選擇器的Testbench模塊
2.7 ModelSim仿真
2.7.1 基本仿真流程
2.7.2 仿真過程
2.8 思考題
2.9 實踐練習
第3章 組合邏輯電路設計
3.1 數(shù)碼顯示電路
3.1.1 連續(xù)賦值語句
3.1.2 顯示譯碼電路
3.1.3 數(shù)據(jù)選擇譯碼電路
3.1.4 滾動顯示電路
3.2 組合邏輯always塊
3.3 編碼器和譯碼器
3.3.1 編碼器和優(yōu)先編碼器
3.3.2 譯碼器
3.4 參數(shù)化模塊設計
3.5 BCD碼加法顯示電路
3.5.1 加法器
3.5.2 二進制數(shù)-BCD碼轉換電路
3.5.3 BCD碼加法電路設計實現(xiàn)
3.6 實例化IP核數(shù)字電路設計
3.6.1 加/減電路
3.6.2 實例化IP核加/減電路設計
3.6.3 實例化IP核
3.7 避免產(chǎn)生鎖存器
3.8 思考題
3.9 實踐練習
第4章 時序邏輯電路設計
4.1 基本存儲元件
4.1.1 鎖存器
4.1.2 D觸發(fā)器
4.1.3 寄存器
4.2 時序邏輯電路仿真
4.2.1 時序邏輯電路的Testbench模塊
4.2.2 ModelSim工程仿真流程
4.3 計數(shù)器
4.3.1 通用計數(shù)器
4.3.2 模M計數(shù)器
4.4 移位寄存器
4.5 環(huán)形計數(shù)器和約翰遜計數(shù)器
4.5.1 環(huán)形計數(shù)器
4.5.2 約翰遜計數(shù)器
4.6 線性反饋移位寄存器
4.7 計數(shù)分頻電路
4.7.1 偶分頻電路
4.7.2 奇分頻電路
4.7.3 設計實例:流水燈電路
4.8 同步時序電路與導出時鐘
4.9 簡易秒表
4.10 時鐘顯示電路
4.11 思考題
4.12 實踐練習
第5章 有限狀態(tài)機
5.1 有限狀態(tài)機特征和結構
5.2 有限狀態(tài)機的表示
5.2.1 狀態(tài)轉換圖
5.2.2 狀態(tài)轉換表
5.2.3 算法狀態(tài)機圖
5.3 米利狀態(tài)機和摩爾狀態(tài)機
5.3.1 邊沿檢測電路
5.3.2 摩爾狀態(tài)機
5.3.3 米利狀態(tài)機
5.3.4 摩爾狀態(tài)機和米利狀態(tài)機的區(qū)別
5.4 序列檢測器
5.5 格雷碼計數(shù)器
5.6 雙向計數(shù)器
5.7 思考題
5.8 實踐練習
第6章 通用異步收發(fā)器
6.1 過采樣
6.1.1 過采樣方案
6.1.2 波特率產(chǎn)生模塊
6.2 接收模塊
6.3 接口電路
6.4 發(fā)送模塊
6.5 完整的UART
6.6 思考題
6.7 實踐練習
第7章 數(shù)據(jù)通道
7.1 帶有限狀態(tài)機的數(shù)據(jù)通道
7.2 寄存器傳輸級設計
7.2.1 RTL抽象層次和電路架構
7.2.2 算法
7.2.3 數(shù)據(jù)流模型
7.2.4 RTL設計
7.3 FSMD設計
7.3.1 寄存器傳輸操作
7.3.2 數(shù)據(jù)通道
7.3.3 控制器
7.4 乘法器
7.4.1 寄存器傳輸操作
7.4.2 設計實現(xiàn)
7.4.3 資源共享乘法器的設計
7.5 思考題
7.6 實踐練習
第8章 流水線設計
8.1 吞吐率和延遲
8.2 流水線設計
8.3 流水線乘法器設計
8.4 思考題
8.5 實踐練習
第9章 設計實踐:混合方程
9.1 混合方程
9.2 混合方程直接實現(xiàn)
9.3 資源共享混合方程
9.4 握手信號數(shù)據(jù)通道
9.5 輸入總線數(shù)據(jù)通道
9.6 思考題
9.7 實踐練習
第10章 時序分析基礎
10.1 時序分析術語
10.2 時序路徑和時序分析
10.2.1 時序網(wǎng)表
10.2.2 時序路徑
10.2.3 數(shù)據(jù)到達時間和數(shù)據(jù)需要時間
10.2.4 數(shù)據(jù)發(fā)送時鐘沿和數(shù)據(jù)鎖存時鐘沿
10.3 建立時間檢查
10.4 保持時間檢查
10.5 恢復時間檢查
10.6 移除時間檢查
10.7 多周期路徑分析
10.8 思考題
10.9 實踐練習
第11章 DDS信號發(fā)生器
11.1 呼吸燈設計
11.1.1 設計思路
11.1.2 設計實現(xiàn)
11.2 ROM表正弦信號發(fā)生電路
11.3 DDS正弦信號發(fā)生器
11.3.1 工作原理
11.3.2 性能參數(shù)
11.3.3 設計實現(xiàn)
11.4 思考題
11.5 實踐練習
第12章 有符號數(shù)加法器和乘法器
12.1 定點數(shù)和浮點數(shù)
12.2 有符號數(shù)和無符號數(shù)
12.2.1 無符號數(shù)
12.2.2 有符號數(shù)
12.3 定點數(shù)的范圍和精度
12.4 定點數(shù)加法
12.4.1 符號位擴展
12.4.2 有符號定點數(shù)加法
12.5 有符號數(shù)加法器的Verilog HDL描述
12.5.1 Verilog-1995中的有符號數(shù)
12.5.2 Verilog-2001中的有符號數(shù)
12.6 定點數(shù)乘法
12.6.1 無符號數(shù)乘以無符號數(shù)
12.6.2 有符號數(shù)乘以無符號數(shù)
12.6.3 無符號數(shù)乘以有符號數(shù)
12.6.4 有符號數(shù)乘以有符號數(shù)
12.7 有符號數(shù)乘法器的實現(xiàn)
12.8 生成語句
12.9 思考題
12.10 實踐練習
第13章 有限沖激響應濾波器
13.1 濾波器
13.2 FIR濾波器原理
13.3 FIR濾波器的設計:窗函數(shù)
13.4 FIR濾波器的結構
13.4.1 直接結構
13.4.2 級聯(lián)結構
13.5 FIR濾波器的實現(xiàn)
13.5.1 組合邏輯FIR濾波器
13.5.2 流水線結構FIR濾波器
13.5.3 參數(shù)化FIR濾波器
13.6 思考題
13.7 實踐練習
第14章 設計優(yōu)化:面積和速度
14.1 操作符共享
14.2 電路結構與速度
14.2.1 高吞吐率設計
14.2.2 低延遲設計
14.2.3 高速設計
14.3 電路結構與面積
14.3.1 定點數(shù)乘法器
14.3.2 流水線結構FIR濾波器
14.4 思考題
14.5 實踐練習
參考文獻