EDA是當(dāng)今世界上最先進(jìn)的電子電路設(shè)計(jì)技術(shù),它的重要作用逐步被我國(guó)的產(chǎn)業(yè)界、科技界和教育界認(rèn)可。本書(shū)分為8章,包括EDA技術(shù)概述、EDA工具軟件的使用方法、VHDL、Verilog HDL、常用EDA工具軟件、可編程邏輯器件、EDA技術(shù)的應(yīng)用以及EDA技術(shù)實(shí)驗(yàn)及綜合設(shè)計(jì)。另外,附錄部分介紹了友晶ED2 EDA實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)的使用方法。
第5版前言
在20世紀(jì)90年代,國(guó)際上電子和計(jì)算機(jī)技術(shù)先進(jìn)的國(guó)家,一直在積極探索新的電子電路設(shè)計(jì)方法,在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,并取得巨大成功。在電子設(shè)計(jì)技術(shù)領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到很好的普及,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了極大的靈活性。可編程邏輯器件可以通過(guò)軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),這使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。
EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫(xiě),在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)。EDA技術(shù)是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言(HDL)完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線、仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極大地提高了電路設(shè)計(jì)的效率和可靠性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。
本書(shū)是在《EDA技術(shù)與應(yīng)用》(第4版)基礎(chǔ)上編寫(xiě)的,跟隨EDA技術(shù)的發(fā)展,本書(shū)將各種最新版本的EDA工具軟件的使用方法展示給讀者,包括Quartus II 13.0及Qsys、ModelSim-Altera 10.1d、MATLAB R2012a等。
本書(shū)共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開(kāi)發(fā)設(shè)計(jì)平臺(tái)上進(jìn)行的,離開(kāi)了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兩種常用硬件描述語(yǔ)言的基礎(chǔ)知識(shí)。VHDL和Verilog HDL作為IEEE標(biāo)準(zhǔn)的硬件描述語(yǔ)言,經(jīng)過(guò)30多年的發(fā)展、應(yīng)用和完善,它們以其強(qiáng)大的系統(tǒng)描述能力、規(guī)范的程序設(shè)計(jì)結(jié)構(gòu)、靈活的語(yǔ)言表達(dá)風(fēng)格和多層次的仿真測(cè)試手段,在電子設(shè)計(jì)領(lǐng)域受到了普遍的認(rèn)同和廣泛的接受,成為現(xiàn)代EDA領(lǐng)域的首選硬件描述語(yǔ)言。專家認(rèn)為,在本世紀(jì)VHDL與Verilog HDL語(yǔ)言將承擔(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)目開(kāi)發(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ù),本書(shū)從教學(xué)的目的出發(fā),盡量將有關(guān)EDA技術(shù)的內(nèi)容編入書(shū)中,并力求內(nèi)容精練,語(yǔ)言通俗易懂。讀者可以根據(jù)實(shí)際需要,節(jié)選學(xué)習(xí)書(shū)中的部分內(nèi)容,盡快掌握EDA基本技術(shù),然后通過(guò)相關(guān)EDA技術(shù)書(shū)籍的學(xué)習(xí),達(dá)到精通EDA技術(shù)的目的。
本書(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)。
本書(shū)提供配套的電子課件,可登錄華信教育資源網(wǎng),注冊(cè)后免費(fèi)下載。
本書(shū)由桂林電子科技大學(xué)的江國(guó)強(qiáng)和覃琴編著,對(duì)于書(shū)中的錯(cuò)誤和不足之處,懇請(qǐng)讀者指正。
收起全部↑
江國(guó)強(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 器件測(cè)試和設(shè)計(jì)驗(yàn)證
1.3 硬件描述語(yǔ)言
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 打開(kāi)SignalTap II編輯窗口
2.4.2 調(diào)入節(jié)點(diǎn)信號(hào)
2.4.3 參數(shù)設(shè)置
2.4.4 文件存盤(pán)
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 庫(kù)、程序包
3.1.2 實(shí)體
3.1.3 結(jié)構(gòu)體
3.1.4 配置
3.1.5 基本邏輯器件的VHDL描述
3.2 VHDL語(yǔ)言要素
3.2.1 VHDL文字規(guī)則
3.2.2 VHDL數(shù)據(jù)對(duì)象
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的順序語(yǔ)句
3.3.1 賦值語(yǔ)句
3.3.2 流程控制語(yǔ)句
3.3.3 WAIT語(yǔ)句
3.3.4 ASSERT(斷言)語(yǔ)句
3.3.5 NULL(空操作)語(yǔ)句
3.4 并行語(yǔ)句
3.4.1 PROCESS(進(jìn)程)語(yǔ)句
3.4.2 塊語(yǔ)句
3.4.3 并行信號(hào)賦值語(yǔ)句
3.4.4 子程序和并行過(guò)程調(diào)用語(yǔ)句
3.4.5 元件例化(COMPONENT)語(yǔ)句
3.4.6 生成語(yǔ)句
3.5 VHDL的庫(kù)和程序包
3.5.1 VHDL庫(kù)
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仿真支持語(yǔ)句
3.7.2 VHDL測(cè)試平臺(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ù)對(duì)象
4.3 Verilog HDL的語(yǔ)句
4.3.1 賦值語(yǔ)句
4.3.2 條件語(yǔ)句
4.3.3 循環(huán)語(yǔ)句
4.3.4 結(jié)構(gòu)聲明語(yǔ)句
4.3.5 語(yǔ)句的順序執(zhí)行與并行執(zhí)行
4.4 不同抽象級(jí)別的Verilog HDL模型
4.4.1 Verilog HDL的門(mén)級(jí)描述
4.4.2 Verilog HDL的行為級(jí)描述
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仿真支持語(yǔ)句
4.6.2 Verilog HDL測(cè)試平臺(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的硬件開(kāi)發(fā)
5.3.2 Qsys系統(tǒng)的編譯與下載
5.4 Nios II嵌入式系統(tǒng)開(kāi)發(fā)軟件
5.4.1 Nios II的硬件開(kāi)發(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)場(chǎng)可編程門(mé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)品簡(jiǎ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ī)讀寫(xiě)存儲(chǔ)器RAM的設(shè)計(jì)
7.3 基于EDA的數(shù)字系統(tǒng)設(shè)計(jì)
7.3.1 計(jì)時(shí)器的設(shè)計(jì)
7.3.2 萬(wàn)年歷的設(shè)計(jì)
7.3.3 8位十進(jìn)制頻率計(jì)設(shè)計(jì)
本章小結(jié)
思考題和習(xí)題7
附錄A Altera DE2開(kāi)發(fā)板使用方法 278
A.1 Altera DE2開(kāi)發(fā)板的結(jié)構(gòu)
A.2 DE2開(kāi)發(fā)板的實(shí)驗(yàn)?zāi)J脚c目標(biāo)芯片的引腳連接
A.3 DE2開(kāi)發(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開(kāi)發(fā)板的控制嵌板
A.4.1 打開(kāi)控制嵌板
A.4.2 設(shè)備檢測(cè)
附錄B Quartus II的宏函數(shù)和強(qiáng)函數(shù)
B.1 宏函數(shù)
B.2 強(qiáng)函數(shù)
參考文獻(xiàn)