本書是為高等學校電子信息類及相關專業(yè)編寫的數(shù)字系統(tǒng)設計教材,共分為11章,主要內(nèi)容包括數(shù)字邏輯基礎、可編程邏輯器件工藝和結(jié)構(gòu)、Vivado集成開發(fā)環(huán)境IP設計流程、Vivado集成開發(fā)環(huán)境Verilog HDL設計流程、Verilog HDL語言規(guī)范、基本數(shù)字單元Verilog HDL描述、Verilog HDL數(shù)字系統(tǒng)設計和實現(xiàn)、創(chuàng)建和封裝用戶IP設計和實現(xiàn)、Vivado調(diào)試工具原理及實現(xiàn)、數(shù)字系統(tǒng)高級設計方法和數(shù)模混合系統(tǒng)設計。 本書以Xilinx Artix7系列FPGA器件和Xilinx最新一代的Vivado 2015.4集成開發(fā)環(huán)境為設計平臺,根據(jù)數(shù)字系統(tǒng)設計課程的教學要求以及作者多年的教學經(jīng)驗,將本科傳統(tǒng)的數(shù)字電子技術(shù)(數(shù)字邏輯)課程與復雜數(shù)字系統(tǒng)設計課程相結(jié)合,遵循循序漸進、由淺入深的原則,內(nèi)容涵蓋了晶體管、門電路、數(shù)字邏輯理論、組合邏輯和時序邏輯、可編程邏輯器件結(jié)構(gòu)、Vivado集成開發(fā)環(huán)境設計流程、Verilog HDL語言、Verilog HDL復雜數(shù)字系統(tǒng)設計、IP封裝與調(diào)用、在線邏輯分析儀工具以及數(shù);旌舷到y(tǒng)設計等方面。 為了方便教師教學和學生自學,書中給出了大量設計實例,并提供了配套的教學資源(詳見書中的學習說明)。本書可作為本科生和研究生學習數(shù)字系統(tǒng)設計等相關課程的教材,或作為從事Xilinx FPGA設計的工程技術(shù)人員的參考用書,也可作為Xilinx大學計劃培訓的授課教材。
何賓,著名的嵌入式技術(shù)和EDA技術(shù)專家,長期從事電子設計自動化方面的教學和科研工作,與全球多家知名的半導體廠商和EDA工具廠商大學計劃保持緊密合作。目前已經(jīng)出版嵌入式和EDA方面的著作30余部,內(nèi)容涵蓋電路仿真、電路設計、可編程邏輯器件、數(shù)字信號處理、單片機、嵌入式系統(tǒng)、片上可編程系統(tǒng)等。典型的代表作有《Xilinx FPGA設計*指南》《Xilinx All Programmable Zynq-7000 SoC設計指南》《Altium Designer 13.0電路設計、仿真與驗證*指南》《Altium Designer 15.0電路仿真、設計、驗證與工藝實現(xiàn)*指南》《Xilinx FPGA數(shù)字設計——從門級到行為級的雙重描述》《Xilinx FPGA數(shù)字信號處理*指南——從HDL、模型到C的描述》《模擬與數(shù)字系統(tǒng)協(xié)同設計*指南-Cypress集成開發(fā)環(huán)境》《STC單片機原理及應用》《STC單片機C語言程序設計》等。
第1章數(shù)字邏輯基礎
1.1數(shù)字邏輯的發(fā)展史
1.2開關系統(tǒng)
1.2.10和1的概念
1.2.2開關系統(tǒng)的優(yōu)勢
1.2.3晶體管作為開關
1.2.4半導體物理器件
1.2.5半導體邏輯電路
1.2.6邏輯電路符號描述
1.3半導體數(shù)字集成電路
1.3.1集成電路的發(fā)展
1.3.2集成電路構(gòu)成
1.3.3集成電路版圖
1.4基本邏輯門電路分析
1.4.1基本邏輯門電路的描述
1.4.2邏輯門電路的傳輸特性
1.4.3基本邏輯門集成電路
1.4.4不同工藝邏輯門的連接
1.5邏輯代數(shù)理論
1.5.1邏輯代數(shù)中運算關系
1.5.2邏輯函數(shù)表達式
1.6邏輯表達式的化簡
1.6.1使用運算律化簡邏輯表達式
1.6.2使用卡諾圖化簡邏輯表達式
1.6.3不完全指定邏輯功能的化簡
1.6.4輸入變量的卡諾圖表示
1.7毛刺產(chǎn)生及消除
1.8數(shù)字碼制表示和轉(zhuǎn)換
1.8.1數(shù)字碼制表示
1.8.2數(shù)字碼制轉(zhuǎn)換
1.9組合邏輯電路
1.9.1編碼器
1.9.2譯碼器
1.9.3碼轉(zhuǎn)換器
1.9.4數(shù)據(jù)選擇器
1.9.5數(shù)據(jù)比較器
1.9.6加法器
1.9.7減法器
1.9.8加法器/減法器
1.9.9乘法器
1.10時序邏輯電路
1.10.1時序邏輯電路類型
1.10.2時序邏輯電路特點
1.10.3基本SR鎖存器
1.10.4同步SR鎖存器
1.10.5D鎖存器
1.10.6D觸發(fā)器
1.10.7其他觸發(fā)器
1.10.8普通寄存器
1.10.9移位寄存器
1.10.10存儲器
1.11有限自動狀態(tài)機
1.11.1有限自動狀態(tài)機原理
1.11.2狀態(tài)圖表示及實現(xiàn)
1.11.3三位計數(shù)器
第2章可編程邏輯器件工藝和結(jié)構(gòu)
2.1可編程邏輯器件的發(fā)展歷史
2.2可編程邏輯器件工藝
2.3簡單可編程邏輯器件結(jié)構(gòu)
2.3.1PROM原理及結(jié)構(gòu)
2.3.2PAL原理及結(jié)構(gòu)
2.3.3PLA原理及結(jié)構(gòu)
2.4CPLD原理及結(jié)構(gòu)
2.4.1功能塊
2.4.2宏單元
2.4.3快速連接矩陣
2.4.4輸入輸出塊
2.5FPGA原理及結(jié)構(gòu)
2.5.1查找表結(jié)構(gòu)及功能
2.5.2可配置的邏輯塊
2.5.3時鐘資源
2.5.4時鐘管理模塊
2.5.5塊存儲器資源
2.5.6互聯(lián)資源
2.5.7專用的DSP模塊
2.5.8輸入和輸出塊
2.5.9吉比特收發(fā)器
2.5.10PCIE模塊
2.5.11XADC模塊
2.6CPLD和FPGA比較
2.7Xilinx可編程邏輯器件
2.7.1Xilinx CPLD芯片介紹
2.7.2Xilinx FPGA芯片介紹
2.7.3Xilinx PROM芯片介紹
第3章Vivado集成開發(fā)環(huán)境IP核設計流程
3.1IP的基本概念
3.1.1IP核來源
3.1.2IP核的提供方式
3.1.3IP核優(yōu)化
3.2Vivado工具設計流程
3.3Vivado IP數(shù)字系統(tǒng)的設計與實現(xiàn)
3.3.1建立新的設計工程
3.3.2修改工程設置屬性
3.3.3創(chuàng)建塊設計
3.3.4生成設計輸出文件
3.4XDC文件原理及添加方法
3.4.1XDC的特性
3.4.2約束文件的使用方法
3.4.3約束順序
3.4.4XDC約束命令
3.4.5添加XDC文件
3.5查看綜合后的結(jié)果
3.6查看實現(xiàn)后的結(jié)果
3.7生成和下載比特流文件
3.7.1生成比特流文件
3.7.2下載比特流文件
3.8生成和下載PROM文件
第4章Vivado集成開發(fā)環(huán)境Verilog HDL設計流程
4.1創(chuàng)建新的設計工程
4.2創(chuàng)建并添加一個新的設計文件
4.3RTL詳細描述和分析
4.3.1詳細描述的原理
4.3.2詳細描述的過程
4.4設計綜合和分析
4.4.1綜合過程的關鍵問題
4.4.2執(zhí)行設計綜合
4.4.3綜合報告的查看
4.5設計行為級仿真
4.6創(chuàng)建實現(xiàn)約束文件XDC
4.6.1實現(xiàn)約束的原理
4.6.2I/O規(guī)劃器功能
4.6.3實現(xiàn)約束過程
4.7設計實現(xiàn)和分析
4.7.1設計實現(xiàn)原理
4.7.2設計實現(xiàn)及分析
4.8設計時序仿真
4.9生成并下載比特流文件
4.9.1生成比特流文件
4.9.2下載比特流文件到FPGA
4.10生成并燒寫PROM文件
第5章Verilog HDL語言規(guī)范
5.1Verilog HDL語言發(fā)展
5.2Verilog HDL程序結(jié)構(gòu)
5.2.1模塊聲明
5.2.2模塊端口定義
5.2.3邏輯功能定義
5.3Verilog HDL描述方式
5.3.1行為級描述方式
5.3.2數(shù)據(jù)流描述方式
5.3.3結(jié)構(gòu)級描述方式
5.3.4開關級描述方式
5.4Verilog HDL語言要素
5.4.1注釋
5.4.2間隔符
5.4.3標識符
5.4.4關鍵字
5.4.5系統(tǒng)任務和函數(shù)
5.4.6編譯器命令
5.4.7運算符
5.4.8數(shù)字
5.4.9字符串
5.4.10屬性
5.5Verilog HDL數(shù)據(jù)類型
5.5.1值的集合
5.5.2網(wǎng)絡和變量
5.5.3向量
5.5.4強度
5.5.5隱含聲明
5.5.6網(wǎng)絡類型
5.5.7寄存器類型
5.5.8整數(shù)、實數(shù)、時間和實時時間
5.5.9數(shù)組
5.5.10參數(shù)
5.5.11Verilog HDL命名空間
5.6Verilog HDL表達式
5.6.1操作符
5.6.2操作數(shù)
5.6.3延遲表達式
5.6.4表達式的位寬
5.6.5有符號表達式
5.6.6分配和截斷
5.7Verilog HDL分配
5.7.1連續(xù)分配
5.7.2過程分配
5.8Verilog HDL門級和開關級描述
5.8.1門和開關聲明
5.8.2邏輯門
5.8.3輸出門
5.8.4三態(tài)門
5.8.5MOS開關
5.8.6雙向傳輸開關
5.8.7CMOS開關
5.8.8pull門
5.8.9邏輯強度建模
5.8.10組合信號的強度和值
5.8.11通過非電阻器件的強度降低
5.8.12通過電阻器件的強度降低
5.8.13網(wǎng)絡類型強度
5.8.14門和網(wǎng)絡延遲
5.9Verilog HDL用戶自定義原語
5.9.1UDP定義
5.9.2組合電路UDP
5.9.3電平觸發(fā)的時序UDP
5.9.4邊沿觸發(fā)的時序電路UDP
5.9.5初始化狀態(tài)寄存器
5.9.6UDP例化
5.9.7邊沿觸發(fā)和電平觸發(fā)的混合行為
5.10Verilog HDL行為描述語句
5.10.1過程語句
5.10.2過程連續(xù)分配
5.10.3條件語句
5.10.4case語句
5.10.5循環(huán)語句
5.10.6過程時序控制
5.10.7語句塊
5.10.8結(jié)構(gòu)化的過程
5.11Verilog HDL任務和函數(shù)
5.11.1任務和函數(shù)的區(qū)別
5.11.2任務和任務使能
5.11.3禁止命名的塊和任務
5.11.4函數(shù)和函數(shù)調(diào)用
5.12Verilog HDL層次化結(jié)構(gòu)
5.12.1模塊和模塊例化
5.12.2覆蓋模塊參數(shù)值
5.12.3端口
5.12.4生成結(jié)構(gòu)
5.12.5層次化的名字
5.12.6向上名字引用
5.12.7范圍規(guī)則
5.13Verilog HDL設計配置
5.13.1配置格式
5.13.2庫
5.13.3配置例子
5.13.4顯示庫綁定信息
5.13.5庫映射例子
5.14Verilog HDL指定塊
5.14.1模塊路徑聲明
5.14.2為路徑分配延遲
5.14.3混合模塊延遲和分布式延遲
5.14.4驅(qū)動布線邏輯
5.14.5脈沖過濾行為的控制
5.15Verilog HDL時序檢查
5.15.1使用穩(wěn)定窗口檢查時序
5.15.2用于時鐘和控制信號的時序檢查
5.15.3邊沿控制符
5.15.4提示符: 用戶定義對時序沖突的響應
5.15.5使能有條件的時序檢查
5.15.6向量信號的時序檢查
5.15.7負時序檢查
5.16Verilog HDL SDF逆向注解
5.16.1映射SDF結(jié)構(gòu)到Verilog
5.16.2多個注解
5.16.3多個SDF文件
5.16.4脈沖限制注解
5.16.5SDF到Verilog延遲值映射
5.17Verilog HDL系統(tǒng)任務和函數(shù)
5.17.1顯示任務
5.17.2文件輸入輸出系統(tǒng)任務和函數(shù)
5.17.3時間標度系統(tǒng)任務
5.17.4仿真控制任務
5.17.5可編程邏輯陣列建模系統(tǒng)任務
5.17.6隨機分析任務
5.17.7仿真時間函數(shù)
5.17.8轉(zhuǎn)換函數(shù)
5.17.9概率分布函數(shù)
5.17.10命令行輸入
5.17.11數(shù)學函數(shù)
5.18Verilog HDL的VCD文件
5.18.1四態(tài)VCD文件的創(chuàng)建
5.18.2四態(tài)VCD文件的格式
5.18.3擴展VCD文件的創(chuàng)建
5.18.4擴展VCD文件的格式
5.19Verilog HDL編譯器指令
5.19.1'celldefine和'endcelldefine
5.19.2'default_nettype
5.19.3'define和'undef
5.19.4'ifdef、'else、'elsif、'endif和'ifndef
5.19.5'include
5.19.6'resetall
5.19.7'line
5.19.8'timescale
5.19.9'unconnected_drive和'nounconnected_drive
5.19.10'pragma
5.19.11'begin_keywords和'end_keyword
5.20Verilog HDL編程語言接口PLI
5.20.1Verilog HDL PLI發(fā)展過程
5.20.2Verilog HDL PLI提供的功能
5.20.3Verilog HDL PLI原理
5.20.4Verilog HDL VPI工作原理
5.21Verilog HDL(IEEE 1364—2005)關鍵字列表
第6章基本數(shù)字邏輯單元Verilog HDL描述
6.1組合邏輯電路的Verilog HDL描述
6.1.1邏輯門的Verilog HDL描述
6.1.2編碼器的Verilog HDL描述
6.1.3譯碼器的Verilog HDL描述
6.1.4多路選擇器的Verilog HDL描述
6.1.5數(shù)字比較器的Verilog HDL描述
6.1.6總線緩沖器的Verilog HDL描述
6.2數(shù)據(jù)運算操作的Verilog HDL描述
6.2.1加法操作的Verilog HDL描述
6.2.2減法操作的Verilog HDL描述
6.2.3乘法操作的Verilog HDL描述
6.2.4除法操作的Verilog HDL描述
6.2.5算術(shù)邏輯單元的Verilog HDL描述
6.3時序邏輯電路的Verilog HDL描述
6.3.1觸發(fā)器和鎖存器的Verilog HDL描述
6.3.2計數(shù)器的Verilog HDL描述
6.3.3移位寄存器的Verilog HDL描述
6.3.4脈沖寬度調(diào)制PWM的Verilog HDL描述
6.4存儲器的Verilog HDL描述
6.4.1ROM的Verilog HDL描述
6.4.2RAM的Verilog HDL描述
6.5有限自動狀態(tài)機的Verilog HDL描述
6.5.1FSM設計原理
6.5.2FSM的分類及描述
第7章Verilog HDL數(shù)字系統(tǒng)設計和實現(xiàn)
7.1設計所用外設的原理
7.1.1LED燈驅(qū)動原理
7.1.2開關驅(qū)動原理
7.1.3七段數(shù)碼管驅(qū)動原理
7.1.4VGA顯示器原理
7.1.5通用異步接收發(fā)送器原理
7.2系統(tǒng)設計原理
7.3創(chuàng)建新的設計工程
7.4Verilog HDL數(shù)字系統(tǒng)設計流程
7.4.1設計分頻時鐘模塊2
7.4.2設計和仿真計數(shù)器模塊
7.4.3設計頂層模塊
7.4.4設計和例化分頻時鐘模塊1
7.4.5設計七段數(shù)碼管模塊
7.4.6設計和例化分頻時鐘模塊3
7.4.7設計和例化通用異步收發(fā)器模塊
7.4.8設計和例化分頻時鐘模塊4
7.4.9設計和例化VGA控制器模塊
第8章創(chuàng)建和封裝用戶IP設計與實現(xiàn)
8.1Vivado定制IP流程導論
8.2封裝用戶定義IP核設計流程
8.2.1創(chuàng)建新的封裝IP設計工程
8.2.2添加Verilog HDL設計源文件
8.2.3設置定制IP的庫名和目錄
8.2.4封裝定制IP的實現(xiàn)
8.3調(diào)用用戶自定義IP實現(xiàn)流程
8.3.1創(chuàng)建新的調(diào)用IP工程
8.3.2設置包含調(diào)用IP的路徑
8.3.3創(chuàng)建基于IP的系統(tǒng)
8.4系統(tǒng)行為級仿真
8.5系統(tǒng)設計綜合
8.6系統(tǒng)實現(xiàn)和驗證
第9章Vivado調(diào)試工具原理及實現(xiàn)
9.1設計調(diào)試原理和方法
9.2FIFO IP的生成和調(diào)用
9.2.1創(chuàng)建新的工程
9.2.2添加FIFO IP核
9.2.3添加頂層設計文件
9.2.4添加XDC文件
9.3網(wǎng)表插入調(diào)試探測流程方法及實現(xiàn)
9.3.1網(wǎng)表插入調(diào)試探測流程的方法
9.3.2網(wǎng)表插入調(diào)試探測流程的實現(xiàn)
9.4使用添加Verilog HDL屬性調(diào)試探測流程
9.5使用Verilog HDL例化調(diào)試核調(diào)試探測流程
第10章數(shù)字系統(tǒng)高級設計方法
10.1數(shù)字系統(tǒng)設計目標
10.2時序的基本概念
10.2.1基本術(shù)語
10.2.2時序路徑
10.2.3建立和保持松弛
10.2.4去除和恢復檢查
10.3邏輯復制和復用
10.3.1邏輯復制
10.3.2邏輯復用
10.4并行和流水線
10.4.1并行設計
10.4.2流水線設計
10.5同步和異步單元處理
10.5.1同步單元處理
10.5.2異步單元處理
10.6邏輯結(jié)構(gòu)處理
10.6.1邏輯結(jié)構(gòu)設計方法
10.6.2if和case語句的使用
第11章數(shù);旌舷到y(tǒng)設計
11.1模數(shù)轉(zhuǎn)換器原理
11.1.1模數(shù)轉(zhuǎn)換器的參數(shù)
11.1.2模數(shù)轉(zhuǎn)換器的類型
11.2數(shù)模轉(zhuǎn)換器原理
11.2.1數(shù)模轉(zhuǎn)換器的參數(shù)
11.2.2數(shù)模轉(zhuǎn)換器的類型
11.3基于XADC的信號采集和處理原理及實現(xiàn)
11.3.1XADC模塊原理
11.3.2XADC原語
11.3.31602模塊原理
11.3.4信號采集、處理和顯示的實現(xiàn)
11.4基于DAC的信號發(fā)生器的設計原理及實現(xiàn)
11.4.1D/A轉(zhuǎn)換器工作原理
11.4.2函數(shù)信號產(chǎn)生原理
11.4.3設計實現(xiàn)