EDA是當(dāng)今世界上最先進(jìn)的電子電路設(shè)計(jì)技術(shù),它的重要作用逐步被我國的產(chǎn)業(yè)界、科技界和教育界認(rèn)可。本書分為8章,包括EDA技術(shù)概述、EDA工具軟件的使用方法、VHDL、Verilog HDL、常用EDA工具軟件、可編程邏輯器件、EDA技術(shù)的應(yīng)用以及EDA技術(shù)實(shí)驗(yàn)及綜合設(shè)計(jì)。另外,附錄部分介紹了友晶ED2 EDA實(shí)驗(yàn)開發(fā)系統(tǒng)的使用方法。
第5版前言
在20世紀(jì)90年代,國際上電子和計(jì)算機(jī)技術(shù)先進(jìn)的國家,一直在積極探索新的電子電路設(shè)計(jì)方法,在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,并取得巨大成功。在電子設(shè)計(jì)技術(shù)領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到很好的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來了極大的靈活性?删幊踢壿嬈骷梢酝ㄟ^軟件編程而對其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),這使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。
EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來。EDA技術(shù)是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語言(HDL)完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線、仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可靠性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。
本書是在《EDA技術(shù)與應(yīng)用》(第4版)基礎(chǔ)上編寫的,跟隨EDA技術(shù)的發(fā)展,本書將各種最新版本的EDA工具軟件的使用方法展示給讀者,包括Quartus II 13.0及Qsys、ModelSim-Altera 10.1d、MATLAB R2012a等。
本書共7章。第1章EDA技術(shù)概述,介紹EDA技術(shù)的發(fā)展、EDA設(shè)計(jì)流程及EDA技術(shù)涉及的領(lǐng)域。
第2章介紹EDA工具軟件的使用方法。EDA的核心是利用計(jì)算機(jī)完成電路設(shè)計(jì)的全程自動(dòng)化,因此基于計(jì)算機(jī)環(huán)境下的EDA工具軟件是不可缺少的。利用EDA技術(shù)進(jìn)行電路設(shè)計(jì)的大部分工作是在EDA開發(fā)設(shè)計(jì)平臺(tái)上進(jìn)行的,離開了EDA工具,電路設(shè)計(jì)的自動(dòng)化是不可能實(shí)現(xiàn)的。因此,掌握EDA工具軟件的使用方法,應(yīng)該是EDA技術(shù)學(xué)習(xí)的第一步。至今Altera公司已公布了Quartus II 16.0版本的EDA并發(fā)設(shè)計(jì)軟件,本章以Altera公司的Quartus II 13.0為主介紹EDA工具軟件的使用方法。
第3章和第4章分別介紹VHDL和Verilog HDL兩種常用硬件描述語言的基礎(chǔ)知識(shí)。VHDL和Verilog HDL作為IEEE標(biāo)準(zhǔn)的硬件描述語言,經(jīng)過30多年的發(fā)展、應(yīng)用和完善,它們以其強(qiáng)大的系統(tǒng)描述能力、規(guī)范的程序設(shè)計(jì)結(jié)構(gòu)、靈活的語言表達(dá)風(fēng)格和多層次的仿真測試手段,在電子設(shè)計(jì)領(lǐng)域受到了普遍的認(rèn)同和廣泛的接受,成為現(xiàn)代EDA領(lǐng)域的首選硬件描述語言。專家認(rèn)為,在本世紀(jì)VHDL與Verilog HDL語言將承擔(dān)起幾乎全部的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。
第5章介紹幾種目前世界上最流行和實(shí)用的EDA工具軟件,包括ModelSim、MATLAB、Nios II和Qsys,以適應(yīng)不同讀者的需要。這些軟件主要是基于PC機(jī)平臺(tái),面向PLD、SOPC和ASIC設(shè)計(jì),比較適合學(xué)校教學(xué)、項(xiàng)目開發(fā)和相關(guān)的科研。
第6章介紹PLA、PAL、GAL、EPLD和FPGA等各種類型可編程邏輯器件的電路結(jié)構(gòu)、工作原理、使用方法、編程方法和Altera公司可編程邏輯器件。
第7章介紹EDA技術(shù)在組合邏輯、時(shí)序邏輯電路設(shè)計(jì),以及基于EDA技術(shù)的數(shù)字系統(tǒng)設(shè)計(jì)中的應(yīng)用。
為了方便讀者能較系統(tǒng)和較完整地學(xué)習(xí)EDA技術(shù),本書從教學(xué)的目的出發(fā),盡量將有關(guān)EDA技術(shù)的內(nèi)容編入書中,并力求內(nèi)容精練,語言通俗易懂。讀者可以根據(jù)實(shí)際需要,節(jié)選學(xué)習(xí)書中的部分內(nèi)容,盡快掌握EDA基本技術(shù),然后通過相關(guān)EDA技術(shù)書籍的學(xué)習(xí),達(dá)到精通EDA技術(shù)的目的。
本書的教學(xué)可安排32學(xué)時(shí),其中第1章占2學(xué)時(shí),第2章占4學(xué)時(shí),第3章占8學(xué)時(shí),第4章占8學(xué)時(shí),第5章作為選學(xué)內(nèi)容(需6~8學(xué)時(shí)),第6章占2學(xué)時(shí),第7章占8學(xué)時(shí)。另外,還需要安排4~8學(xué)時(shí)的實(shí)驗(yàn),第1個(gè)實(shí)驗(yàn)安排EDA工具軟件的使用方法,其余的實(shí)驗(yàn)可安排HDL的編程實(shí)驗(yàn)。
本書提供配套的電子課件,可登錄華信教育資源網(wǎng),注冊后免費(fèi)下載。
本書由桂林電子科技大學(xué)的江國強(qiáng)和覃琴編著,對于書中的錯(cuò)誤和不足之處,懇請讀者指正。
收起全部↑
江國強(qiáng),桂林電子科技大學(xué)信息科技學(xué)院教授,從事數(shù)字邏輯電路、計(jì)算機(jī)原理和EDA技術(shù)教學(xué),是廣西區(qū)數(shù)字邏輯電路精品課程建設(shè)項(xiàng)目負(fù)責(zé)人。
第1章 EDA技術(shù)概述
1.1 EDA技術(shù)及發(fā)展
1.2 EDA設(shè)計(jì)流程
1.2.1 設(shè)計(jì)準(zhǔn)備
1.2.2 設(shè)計(jì)輸入
1.2.3 設(shè)計(jì)處理
1.2.4 設(shè)計(jì)校驗(yàn)
1.2.5 器件編程
1.2.6 器件測試和設(shè)計(jì)驗(yàn)證
1.3 硬件描述語言
1.3.1 VHDL
1.3.2 Verilog HDL
1.3.3 AHDL
1.4 可編程邏輯器件
1.5 常用EDA工具
1.5.1 設(shè)計(jì)輸入編輯器
1.5.2 仿真器
1.5.3 HDL綜合器
1.5.4 適配器(布局布線器)
1.5.5 下載器(編程器)
本章小結(jié)
思考題和習(xí)題1
第2章 EDA工具軟件的使用方法
2.1 Quartus II軟件的主界面
2.2 Quartus II的圖形編輯輸入法
2.2.1 編輯輸入圖形設(shè)計(jì)文件
2.2.2 編譯設(shè)計(jì)文件
2.2.3 仿真設(shè)計(jì)文件
2.2.4 編程下載設(shè)計(jì)文件
2.3 Quartus II宏功能模塊的 使用方法
2.3.1 設(shè)計(jì)原理
2.3.2 編輯輸入頂層設(shè)計(jì)文件
2.3.3 仿真頂層設(shè)計(jì)文件
2.3.4 圖形文件的轉(zhuǎn)換
2.4 嵌入式邏輯分析儀的使用方法
2.4.1 打開SignalTap II編輯窗口
2.4.2 調(diào)入節(jié)點(diǎn)信號(hào)
2.4.3 參數(shù)設(shè)置
2.4.4 文件存盤
2.4.5 編譯與下載
2.4.6 運(yùn)行分析
2.5 嵌入式鎖相環(huán)的設(shè)計(jì)方法
2.5.1 嵌入式鎖相環(huán)的設(shè)計(jì)
2.5.2 嵌入式鎖相環(huán)的仿真
2.5.3 使用嵌入式邏輯分析儀觀察嵌入式鎖相環(huán)的設(shè)計(jì)結(jié)果
2.6 設(shè)計(jì)優(yōu)化
2.6.1 面積與速度的優(yōu)化
2.6.2 時(shí)序約束與選項(xiàng)設(shè)置
2.6.3 Fitter設(shè)置
2.7 Quartus II的RTL閱讀器
本章小結(jié)
思考題和習(xí)題2
第3章 VHDL
3.1 VHDL設(shè)計(jì)實(shí)體的基本結(jié)構(gòu)
3.1.1 庫、程序包
3.1.2 實(shí)體
3.1.3 結(jié)構(gòu)體
3.1.4 配置
3.1.5 基本邏輯器件的VHDL描述
3.2 VHDL語言要素
3.2.1 VHDL文字規(guī)則
3.2.2 VHDL數(shù)據(jù)對象
3.2.3 VHDL數(shù)據(jù)類型
3.2.4 VHDL的預(yù)定義數(shù)據(jù)類型
3.2.5 IEEE預(yù)定義的標(biāo)準(zhǔn)邏輯位和矢量
3.2.6 用戶自定義數(shù)據(jù)類型方式
3.2.7 VHDL操作符
3.2.8 VHDL的屬性
3.3 VHDL的順序語句
3.3.1 賦值語句
3.3.2 流程控制語句
3.3.3 WAIT語句
3.3.4 ASSERT(斷言)語句
3.3.5 NULL(空操作)語句
3.4 并行語句
3.4.1 PROCESS(進(jìn)程)語句
3.4.2 塊語句
3.4.3 并行信號(hào)賦值語句
3.4.4 子程序和并行過程調(diào)用語句
3.4.5 元件例化(COMPONENT)語句
3.4.6 生成語句
3.5 VHDL的庫和程序包
3.5.1 VHDL庫
3.5.2 VHDL程序包
3.6 VHDL設(shè)計(jì)流程
3.6.1 編輯VHDL源程序
3.6.2 設(shè)計(jì)8位計(jì)數(shù)顯示譯碼電路頂層文件
3.6.3 編譯頂層設(shè)計(jì)文件
3.6.4 仿真頂層設(shè)計(jì)文件
3.6.5 下載頂層設(shè)計(jì)文件
3.7 VHDL仿真
3.7.1 VHDL仿真支持語句
3.7.2 VHDL測試平臺(tái)軟件的設(shè)計(jì)
本章小結(jié)
思考題和習(xí)題3
第4章 Verilog HDL
4.1 Verilog HDL設(shè)計(jì)模塊的基本結(jié)構(gòu)
4.1.1 模塊端口定義
4.1.2 模塊內(nèi)容
4.2 Verilog HDL的詞法
4.2.1 空白符和注釋
4.2.2 常數(shù)
4.2.3 字符串
4.2.4 關(guān)鍵詞
4.2.5 標(biāo)識(shí)符
4.2.6 操作符
4.2.7 Verilog HDL數(shù)據(jù)對象
4.3 Verilog HDL的語句
4.3.1 賦值語句
4.3.2 條件語句
4.3.3 循環(huán)語句
4.3.4 結(jié)構(gòu)聲明語句
4.3.5 語句的順序執(zhí)行與并行執(zhí)行
4.4 不同抽象級別的Verilog HDL模型
4.4.1 Verilog HDL的門級描述
4.4.2 Verilog HDL的行為級描述
4.4.3 用結(jié)構(gòu)描述實(shí)現(xiàn)電路系統(tǒng)設(shè)計(jì)
4.5 Verilog HDL設(shè)計(jì)流程
4.5.1 編輯Verilog HDL源程序
4.5.2 設(shè)計(jì)BCD加法器電路頂層文件
4.5.3 編譯頂層設(shè)計(jì)文件
4.5.4 仿真頂層設(shè)計(jì)文件
4.5.5 下載頂層設(shè)計(jì)文件
4.6 Verilog HDL仿真
4.6.1 Verilog HDL仿真支持語句
4.6.2 Verilog HDL測試平臺(tái)軟件的設(shè)計(jì)
本章小結(jié)
思考題和習(xí)題4
第5章 常用EDA工具軟件
5.1 ModelSim
5.1.1 ModelSim的圖形用戶交互方式
5.1.2 ModelSim的交互命令方式
5.1.3 ModelSim的批處理工作方式
5.1.4 ModelSim與Quartus II的接口
5.1.5 在Quartus II 13.0中使ModelSim仿真
5.2 基于MATLAB/DSP Builder 的DSP模塊設(shè)計(jì)
5.2.1 設(shè)計(jì)原理
5.2.2 建立MATLAB設(shè)計(jì)模型
5.2.3 MATLAB模型仿真
5.2.4 Signal Compiler使用方法
5.2.5 使用ModelSim仿真
5.2.6 DSP Builder的層次設(shè)計(jì)
5.3 Qsys系統(tǒng)集成軟件
5.3.1 Qsys的硬件開發(fā)
5.3.2 Qsys系統(tǒng)的編譯與下載
5.4 Nios II嵌入式系統(tǒng)開發(fā)軟件
5.4.1 Nios II的硬件開發(fā)
5.4.2 生成Nios II硬件系統(tǒng)
5.4.3 Nios II系統(tǒng)的調(diào)試
5.4.4 Nios II的常用組件與編程
5.4.5 基于Nios II的Qsys系統(tǒng)應(yīng)用
本章小結(jié)
思考題和習(xí)題5
第6章 可編程邏輯器件
6.1 PLD的基本原理
6.1.1 PLD的分類
6.1.2 陣列型PLD
6.1.3 現(xiàn)場可編程門陣列FPGA
6.1.4 基于查找表(LUT)的結(jié)構(gòu)
6.2 PLD的設(shè)計(jì)技術(shù)
6.2.1 PLD的設(shè)計(jì)方法
6.2.2 在系統(tǒng)可編程技術(shù)
6.2.3 邊界掃描技術(shù)
6.3 PLD的編程與配置
6.3.1 CPLD的ISP方式編程
6.3.2 使用PC的并口配置FPGA
6.4 Altera公司的PLD系列產(chǎn)品簡介
6.4.1 Altera高端Stratix FPGA系列
6.4.2 Altera中端FPGA的Arria系列
6.4.3 Altera低成本FPGA的Cyclone系列
6.4.4 Altera SoC FPGA系列
6.4.5 Altera低成本MAX系列
6.4.6 Altera硬件拷貝HardCopy ASIC系列
本章小結(jié)
思考題和習(xí)題6
第7章 EDA技術(shù)的應(yīng)用
7.1 組合邏輯電路設(shè)計(jì)應(yīng)用
7.1.1 運(yùn)算電路設(shè)計(jì)
7.1.2 編碼器設(shè)計(jì)
7.1.3 譯碼器設(shè)計(jì)
7.1.4 數(shù)據(jù)選擇器設(shè)計(jì)
7.1.5 數(shù)據(jù)比較器設(shè)計(jì)
7.1.6 ROM的設(shè)計(jì)
7.2 時(shí)序邏輯電路設(shè)計(jì)應(yīng)用
7.2.1 觸發(fā)器設(shè)計(jì)
7.2.2 鎖存器設(shè)計(jì)
7.2.3 移位寄存器設(shè)計(jì)
7.2.4 計(jì)數(shù)器設(shè)計(jì)
7.2.5 隨機(jī)讀寫存儲(chǔ)器RAM的設(shè)計(jì)
7.3 基于EDA的數(shù)字系統(tǒng)設(shè)計(jì)
7.3.1 計(jì)時(shí)器的設(shè)計(jì)
7.3.2 萬年歷的設(shè)計(jì)
7.3.3 8位十進(jìn)制頻率計(jì)設(shè)計(jì)
本章小結(jié)
思考題和習(xí)題7
附錄A Altera DE2開發(fā)板使用方法 278
A.1 Altera DE2開發(fā)板的結(jié)構(gòu)
A.2 DE2開發(fā)板的實(shí)驗(yàn)?zāi)J脚c目標(biāo)芯片的引腳連接
A.3 DE2開發(fā)板實(shí)驗(yàn)的操作
A.3.1 編輯
A.3.2 編譯
A.3.3 仿真
A.3.4 引腳鎖定
A.3.5 編程下載
A.3.6 硬件驗(yàn)證
A.4 DE2開發(fā)板的控制嵌板
A.4.1 打開控制嵌板
A.4.2 設(shè)備檢測
附錄B Quartus II的宏函數(shù)和強(qiáng)函數(shù)
B.1 宏函數(shù)
B.2 強(qiáng)函數(shù)
參考文獻(xiàn)