本書主要內(nèi)容包括CPLD/FPGA可編程邏輯器件介紹,可編程邏輯器件EDA開發(fā)軟件使用,VHDL硬件描述語言設(shè)計(jì)方法和SOPC應(yīng)用,實(shí)驗(yàn)和設(shè)計(jì)實(shí)踐5大部分。第一部分CPLD/FPGA可編程邏輯器件主要介紹可編程器件結(jié)構(gòu)原理、設(shè)計(jì)流程、常用芯片特點(diǎn)及選用;第二部分重點(diǎn)介紹目前國內(nèi)外常用EDA軟件isp Design EXPERT System、QuartusⅡ、ISE開發(fā)流程及ModelSim仿真應(yīng)用;第三部分重點(diǎn)講述VHDL語言基礎(chǔ)、描述方法及設(shè)計(jì)實(shí)例;第四部分主要介紹DSP Builder、SOPC Builder、NiosⅡ應(yīng)用及實(shí)例;第五部分介紹實(shí)驗(yàn)及課程設(shè)計(jì)內(nèi)容。 本書可作為高等學(xué)校電子信息類、電氣信息類各專業(yè)的教材,也可作為電子工程設(shè)計(jì)技術(shù)人員的參考書。
隨著集成電路技術(shù)和EDA技術(shù)的快速發(fā)展,數(shù)字系統(tǒng)設(shè)計(jì)方法不斷演變,由原來單一的硬件邏輯設(shè)計(jì)發(fā)展成3個分支:硬件邏輯設(shè)計(jì)、軟件邏輯設(shè)計(jì)、專用集成電路設(shè)計(jì)(ASIC);诳删幊踢壿嬈骷腁SIC設(shè)計(jì)成為數(shù)字系統(tǒng)設(shè)計(jì)的重要分支,有關(guān)可編程邏輯器件的開發(fā)與應(yīng)用的課程成為電子信息類、電氣信息類各專業(yè)的必修課程。
基于PLD的EDA技術(shù)主要包括可編程邏輯器件知識、EDA開發(fā)軟件、硬件描述語言、代表可編程器件最新發(fā)展的SOPC、實(shí)驗(yàn)和設(shè)計(jì)實(shí)踐5大部分。本書主要介紹Lattice、Altera、Xilinx公司的CPLD、FPGA系列器件,以及與其配套的EDA工具軟件isp Design EXPERT System、QuartusⅡ、ISE,硬件描述語言則介紹IEEE標(biāo)準(zhǔn)語言VHDL。
本書共12章,第1~2章介紹可編程邏輯器件的發(fā)展演變、結(jié)構(gòu)特點(diǎn)、產(chǎn)品系列等,側(cè)重于根據(jù)需要選擇適當(dāng)器件;第3章主要介紹常用EDA開發(fā)工具的設(shè)計(jì)流程及仿真、驗(yàn)證的操作步驟;第4~8章詳細(xì)介紹VHDL語言基礎(chǔ)、語句結(jié)構(gòu)、設(shè)計(jì)方法、設(shè)計(jì)實(shí)例、子程序結(jié)構(gòu)、宏與IP核的應(yīng)用等;第9~10章主要介紹最新可編程器件SOPC的應(yīng)用實(shí)踐;第11~12章為實(shí)驗(yàn)和設(shè)計(jì)環(huán)節(jié)。
本書在編寫時,力求理論體系全面完整、實(shí)用性強(qiáng),便于快速掌握;程序設(shè)計(jì)先介紹整體結(jié)構(gòu),再介紹語言細(xì)節(jié)、常用描述方法;針對學(xué)生易混淆的概念、易犯的錯誤及技術(shù)要點(diǎn)、難點(diǎn),穿插適當(dāng)?shù)脑O(shè)計(jì)實(shí)例及相應(yīng)的習(xí)題;所附設(shè)計(jì)實(shí)例都經(jīng)過設(shè)計(jì)驗(yàn)證,可直接引用,為便于閱讀,附加了有效的注釋。建議講授課時40~60學(xué)時,實(shí)驗(yàn)課時12~20學(xué)時。
本書由張文愛編寫第3、5章,張博編寫第7、8章,喬學(xué)工編寫第1章,梁風(fēng)梅編寫第2章,李鴻鷹編寫第4章,冀小平編寫第6章,閻高偉編寫第9章,李瑞蓮編寫第10章,羅霄華編寫第11章,李彥民編寫第12章。全書最后由張文愛、張博修改定稿。
本書提供配套的電子課件和程序源代碼,可登錄華信教育資源網(wǎng):www.hxedu.com.cn,注冊后免費(fèi)下載。
在本書第2版修訂過程中,更新了PLD器件產(chǎn)品系列以及EDA開發(fā)軟件的版本,增加了ModelSim仿真應(yīng)用,對部分設(shè)計(jì)實(shí)例進(jìn)行了刪減。為方便實(shí)踐環(huán)節(jié)的教學(xué),補(bǔ)充了實(shí)驗(yàn)及設(shè)計(jì)章節(jié)。編寫參閱了Lattice、Altera、Xilinx、Mentor Graphics等公司公開的技術(shù)資料,參考了許多相關(guān)的專著和教材,在此謹(jǐn)向相關(guān)公司和作者表示衷心的感謝。
由于編者水平有限,書中錯漏和不足之處難免,殷切期望讀者批評指正。
作者
2016年5月
第1章 可編程邏輯器件概述
1.1 數(shù)字邏輯電路設(shè)計(jì)與ASIC技術(shù)
1.1.1 數(shù)字邏輯電路設(shè)計(jì)方法
1.1.2 ASIC及其設(shè)計(jì)方法
1.2 PLD概述
1.2.1 PLD的發(fā)展
1.2.2 PLD的分類
1.3 PLD邏輯表示法
1.4 PLD的設(shè)計(jì)與開發(fā)
1.4.1 PLD的設(shè)計(jì)流程
1.4.2 PLD的開發(fā)環(huán)境
1.4.3 IP核復(fù)用技術(shù)
習(xí)題1
第2章 大規(guī)模可編程邏輯器件CPLD/FPGA
2.1 CPLD結(jié)構(gòu)與工作原理
2.1.1 Lattice公司的CPLD器件系列
2.1.2 ispLSI 1016的結(jié)構(gòu)
2.1.3 ispLSI系列器件的主要技術(shù)特性
2.1.4 ispLSI器件的設(shè)計(jì)與編程
2.2 FPGA內(nèi)部結(jié)構(gòu)與工作原理
2.3 CPLD/FPGA產(chǎn)品概述
2.3.1 Altera公司產(chǎn)品
2.3.2 Xilinx公司產(chǎn)品
2.3.3 Lattice公司產(chǎn)品
2.4 編程與配置
2.4.1 在系統(tǒng)可編程ISP
2.4.2 配置
2.5 CPLD與FPGA的比較和選用
習(xí)題2
第3章 常用EDA軟件
3.1 isp Design EXPERT System編程軟件
3.1.1 建立設(shè)計(jì)項(xiàng)目
3.1.2 原理圖源文件輸入
3.1.3 功能和時序仿真
3.1.4 器件適配
3.1.5 器件編程
3.1.6 VHDL源文件輸入方法
3.2 Quartus II操作指南
3.2.1 建立設(shè)計(jì)工程
3.2.2 原理圖源文件輸入
3.2.3 編譯
3.2.4 仿真驗(yàn)證
3.2.5 器件編程
3.2.6 VHDL設(shè)計(jì)輸入方法
3.3 ISE開發(fā)軟件
3.3.1 ISE概述
3.3.2 新建工程
3.3.3 新建VHDL源文件
3.3.4 波形仿真
3.3.5 設(shè)計(jì)實(shí)現(xiàn)
3.3.6 下載配置
3.4 ModelSim仿真軟件
3.4.1 ModelSim與VHDL仿真概述
3.4.2 ModelSim仿真步驟
3.4.3 VHDL測試文件
習(xí)題3
第4章 VHDL語言基礎(chǔ)
4.1 VHDL語言的基本組成
4.1.1 參數(shù)部分
4.1.2 實(shí)體部分
4.1.3 結(jié)構(gòu)體部分
4.2 VHDL語言要素
4.2.1 文字規(guī)則
4.2.2 數(shù)據(jù)對象
4.2.3 VHDL中的數(shù)據(jù)類型
4.2.4 VHDL語言的運(yùn)算符
4.2.5 VHDL的屬性
習(xí)題4
第5章 VHDL基本描述語句
5.1 順序語句
5.1.1 順序賦值語句
5.1.2 IF語句
5.1.3 CASE語句
5.1.4 LOOP語句
5.1.5 NEXT語句
5.1.6 EXIT語句
5.1.7 WAIT語句
5.1.8 NULL語句
5.2 并行語句
5.2.1 并行信號賦值語句
5.2.2 PROCESS進(jìn)程語句
5.2.3 元件例化語句
5.2.4 BLOCK塊語句
5.2.5 GENERATE生成語句
習(xí)題5
第6章 子程序與程序包
6.1 子程序
6.1.1 函數(shù)
6.1.2 過程
6.2 程序包
6.2.1 程序包定義
6.2.2 程序包引用
6.2.3 常用預(yù)定義程序包
習(xí)題6
第7章 常用電路的VHDL描述
7.1 組合邏輯電路VHDL描述
7.1.1 基本門電路
7.1.2 編碼器
7.1.3 譯碼器
7.1.4 數(shù)值比較器
7.1.5 數(shù)據(jù)選擇器
7.1.6 算術(shù)運(yùn)算
7.1.7 三態(tài)門電路
7.1.8 雙向端口設(shè)計(jì)
7.2 時序邏輯電路VHDL描述
7.2.1 觸發(fā)器
7.2.2 計(jì)數(shù)器
7.2.3 移位寄存器
7.2.4 狀態(tài)機(jī)
7.3 存儲器設(shè)計(jì)
7.3.1 ROM存儲器設(shè)計(jì)
7.3.2 RAM存儲器設(shè)計(jì)
習(xí)題7
第8章 宏功能模塊與IP核應(yīng)用
8.1 LPM_RAM
8.1.1 LPM_RAM宏模塊定制
8.1.2 工程編譯
8.1.3 仿真驗(yàn)證
8.1.4 查看RTL原理圖
8.1.5 LPM_RAM應(yīng)用
8.2 LPM_ROM宏模塊
8.2.1 建立初始化數(shù)據(jù)文件
8.2.2 LPM_ROM宏模塊配置
8.2.3 仿真驗(yàn)證
8.2.4 LPM_ROM模塊調(diào)用
8.3 時鐘鎖相環(huán)宏模塊
8.3.1 LPM_PLL宏模塊配置
8.3.2 PLL模塊調(diào)用
8.3.3 仿真驗(yàn)證
8.4 片內(nèi)邏輯分析儀
8.4.1 新建邏輯分析儀設(shè)置文件
8.4.2 引腳鎖定
8.4.3 編程下載
8.4.4 信號采樣
習(xí)題8
第9章 DSP Builder應(yīng)用
9.1 DSP Builder軟件安裝
9.2 DSP Builder設(shè)計(jì)實(shí)例
9.2.1 建立Simulink模型
9.2.2 模型仿真
9.2.3 模型編譯
習(xí)題9
第10章 SOPC Builder應(yīng)用
10.1 SOPC Builder
10.2 Nios II 綜合設(shè)計(jì)實(shí)例
習(xí)題10
第11章 EDA技術(shù)實(shí)驗(yàn)
11.1 原理圖輸入方式
11.1.1 實(shí)驗(yàn)一 1位全加器
11.1.2 實(shí)驗(yàn)二 兩位十進(jìn)制計(jì)數(shù)器
11.2 VHDL文本輸入方式
11.2.1 實(shí)驗(yàn)三 顯示譯碼器
11.2.2 實(shí)驗(yàn)四 8位加法器
11.2.3 實(shí)驗(yàn)五 3線-8線譯碼器
11.2.4 實(shí)驗(yàn)六 十進(jìn)制加法計(jì)數(shù)器
11.2.5 實(shí)驗(yàn)七 4位十進(jìn)制計(jì)數(shù)顯示器
11.2.6 實(shí)驗(yàn)八 用狀態(tài)機(jī)實(shí)現(xiàn)序列檢測器
第12章 綜合設(shè)計(jì)
12.1 移位相加8位硬件乘法器
12.1.1 設(shè)計(jì)要求
12.1.2 設(shè)計(jì)原理
12.1.3 部分參考程序
12.1.4 設(shè)計(jì)步驟
12.1.5 設(shè)計(jì)報(bào)告
12.2 秒表
12.2.1 設(shè)計(jì)要求
12.2.2 設(shè)計(jì)原理
12.2.3 部分參考程序
12.2.4 設(shè)計(jì)步驟
12.2.5 設(shè)計(jì)報(bào)告
12.3 搶答器
12.3.1 設(shè)計(jì)要求
12.3.2 設(shè)計(jì)原理
12.3.3 部分參考程序
12.3.4 設(shè)計(jì)步驟
12.3.5 設(shè)計(jì)報(bào)告
12.4 數(shù)字鐘
12.4.1 設(shè)計(jì)要求
12.4.2 設(shè)計(jì)方案
12.4.3 部分參考程序
12.4.4 設(shè)計(jì)步驟
12.4.5 設(shè)計(jì)報(bào)告
12.5 交通燈控制器
12.5.1 設(shè)計(jì)要求
12.5.2 設(shè)計(jì)原理
12.5.3 部分參考程序
12.5.4 設(shè)計(jì)步驟
12.5.5 設(shè)計(jì)報(bào)告
12.6 多路彩燈控制器
12.6.1 設(shè)計(jì)要求
12.6.2 設(shè)計(jì)方案
12.6.3 VHDL參考程序
12.6.4 設(shè)計(jì)步驟
12.6.5 設(shè)計(jì)報(bào)告
附錄A DE2-115實(shí)驗(yàn)板引腳配置信息
參考文獻(xiàn)