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