《 FPGA應(yīng)用技術(shù)及實(shí)踐 》課件_第1頁(yè)
《 FPGA應(yīng)用技術(shù)及實(shí)踐 》課件_第2頁(yè)
《 FPGA應(yīng)用技術(shù)及實(shí)踐 》課件_第3頁(yè)
《 FPGA應(yīng)用技術(shù)及實(shí)踐 》課件_第4頁(yè)
《 FPGA應(yīng)用技術(shù)及實(shí)踐 》課件_第5頁(yè)
已閱讀5頁(yè),還剩241頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1.1EDA技術(shù)及其發(fā)展1.2EDA技術(shù)的主要內(nèi)容1.3EDA的設(shè)計(jì)流程1.4常用EDA工具第1章EDA技術(shù)概述⒈EDA技術(shù)的涵義⒉EDA技術(shù)的發(fā)展⒊EDA技術(shù)的特點(diǎn)與發(fā)展趨勢(shì)⒋EDA技術(shù)應(yīng)用前景展望⑴EDA技術(shù)將廣泛應(yīng)用于高校電類專業(yè)的實(shí)踐教學(xué)和科研工作⑵EDA技術(shù)將廣泛應(yīng)用于專用集成電路的設(shè)計(jì)和新產(chǎn)品的開(kāi)發(fā)⑶EDA技術(shù)將廣泛應(yīng)用于傳統(tǒng)機(jī)電設(shè)備的升級(jí)換代和技術(shù)改進(jìn)1.1EDA技術(shù)及其發(fā)展⒈可編程邏輯器件⒉硬件描述語(yǔ)言⒊EDA工具軟件1.2EDA技術(shù)的主要內(nèi)容1.2EDA技術(shù)的主要內(nèi)容⒈設(shè)計(jì)準(zhǔn)備⒉設(shè)計(jì)輸入⒊設(shè)計(jì)處理⒋設(shè)計(jì)校驗(yàn)⒌器件編程⒍測(cè)試驗(yàn)證1.3EDA的設(shè)計(jì)流程圖1-1EDA的設(shè)計(jì)流程⑴圖形輸入方式⑵文本輸入方式⑴編譯和檢查⑵優(yōu)化和綜合⑶適配和分割⑷布局和布線⑸生成編程數(shù)據(jù)文件⒈編輯器⒉仿真器⒊綜合器⒋適配器⒌下載器1.4常用EDA工具⑴何謂EDA技術(shù)?EDA技術(shù)的核心內(nèi)容是什么?⑵簡(jiǎn)述EDA技術(shù)的發(fā)展歷程。⑶簡(jiǎn)述用EDA技術(shù)設(shè)計(jì)電路的基本流程。⑷什么是硬件描述語(yǔ)言?常見(jiàn)的硬件描述語(yǔ)言有哪些?⑸與軟件描述語(yǔ)言相比,HDL有什么特點(diǎn)?⑹EDA技術(shù)與ASIC設(shè)計(jì)和FPGA開(kāi)發(fā)有何關(guān)系?思考練習(xí)2.1可編程邏輯器件概述2.2CPLD的實(shí)現(xiàn)原理與典型結(jié)構(gòu)2.3FPGA的實(shí)現(xiàn)原理與典型結(jié)構(gòu)2.4FPGA/CPLD產(chǎn)品概述2.5FPGA/CPLD器件的配置與編程第2章可編程邏輯器件2.1可編程邏輯器件概述2.1.1可編程邏輯器件的基本結(jié)構(gòu)2.1.2可編程邏輯器件的發(fā)展歷程⒈P(pán)LD誕生及簡(jiǎn)單PLD發(fā)展階段⒉乘積項(xiàng)可編程結(jié)構(gòu)PLD發(fā)展與成熟階段⒊復(fù)雜可編程器件發(fā)展與成熟階段圖2-1基本PLD的原理結(jié)構(gòu)框圖2.1.3可編程邏輯器件的分類⒈按規(guī)模大小分類⒉按結(jié)構(gòu)特點(diǎn)分類⒊按編程方式分類⒋按編程工藝分類2.1可編程邏輯器件概述圖2-2可編程邏輯器件按規(guī)模分類2.1可編程邏輯器件概述表2-2CPLD與FPGA的區(qū)別2.1.4CPLD與FPGA比較PLD相關(guān)電路符號(hào)PROM編程原理2.2CPLD的實(shí)現(xiàn)原理與典型結(jié)構(gòu)2.2.1CPLD的邏輯實(shí)現(xiàn)原理圖2-3乘積項(xiàng)結(jié)構(gòu)示例電路圖2-4CPLD的實(shí)現(xiàn)方式2.2.2典型CPLD器件簡(jiǎn)介——MAX3000A2.2CPLD的實(shí)現(xiàn)原理與典型結(jié)構(gòu)⒈MAX3000A系列器件概覽⒉MAX3000A器件結(jié)構(gòu)組成圖2-5MAX3000A的整體結(jié)構(gòu)2.2CPLD的實(shí)現(xiàn)原理與典型結(jié)構(gòu)圖2-6MAX3000A的宏單元結(jié)構(gòu)⒊MAX3000A系列CPLD的特性⒋MAX3000A系列器件的性能參數(shù)2.3FPGA的實(shí)現(xiàn)原理與典型結(jié)構(gòu)2.3.1FPGA的邏輯實(shí)現(xiàn)原理(a)實(shí)際邏輯電路 (b)LUT的實(shí)現(xiàn)方式圖2-7FPGA的邏輯實(shí)現(xiàn)原理圖2-8FPGA查找表內(nèi)部結(jié)構(gòu)2.3FPGA的實(shí)現(xiàn)原理與典型結(jié)構(gòu)⒈Cyclone系列器件概覽⒉Cyclone系列FPGA結(jié)構(gòu)組成圖2-9AlteraCyclone系列FPGA整體結(jié)構(gòu)圖2-10Cyclone器件的LE結(jié)構(gòu)2.3.2典型FPGA器件簡(jiǎn)介——Cyclone2.3FPGA的實(shí)現(xiàn)原理與典型結(jié)構(gòu)⒊Cyclone系列FPGA的特性⒋Cyclone系列FPGA的性能參數(shù)2.4FPGA/CPLD產(chǎn)品概述2.4.1FPGA/CPLD產(chǎn)品主要廠商⒈Altera公司圖2-11Altera公司的主要產(chǎn)品⒉Xilinx公司⒊Lattice公司⒋Actel公司⒌A(chǔ)tmel公司2.4FPGA/CPLD產(chǎn)品概述⒈Altera公司成熟器件表2-8Altera的成熟器件2.4.2Altera公司的可編程邏輯器件2.4FPGA/CPLD產(chǎn)品概述⒉Altera新型系列器件簡(jiǎn)介⑴Stratix系列高端FPGA⑵Arria系列中端FPGA⑶Cyclone系列低成本FPGA

⑷MAX系列低成本CPLD⑸HardCopy系列ASIC⒊Altera配置器件簡(jiǎn)介⑴標(biāo)準(zhǔn)型配置器件⑵增強(qiáng)型配置器件(3)串行配置器件

⒋Altera可編程邏輯器件命名規(guī)則2.4FPGA/CPLD產(chǎn)品概述⒈Xilinx的主流FPGA器件⒉Xilinx的主流CPLD器件⒊Xilinx公司FPGA配置器件⒈Lattice的FPGA器件⒉Lattice的CPLD和SPLD器件Lattice的最新FPGA產(chǎn)品包括低成本、非易失和系統(tǒng)級(jí)三大類。Lattice的ispLSI、ispMACH和GAL產(chǎn)品系列是其CPLD和SPLD器件的代表。2.4.4Lattice公司的可編程邏輯器件2.4.3Xilinx公司的可編程邏輯器件2.4FPGA/CPLD產(chǎn)品概述⒈器件類型的選擇⒉器件系列的選擇⒊器件型號(hào)的選擇⒋外圍器件的選擇2.4.5FPGA/CPLD的開(kāi)發(fā)應(yīng)用選擇2.5FPGA/CPLD器件的配置與編程⑴將PLD焊在PCB板上⑵接好編程電纜⑶現(xiàn)場(chǎng)燒寫(xiě)PLD芯片 圖2-13PLD編程操作過(guò)程示意圖2.5.1配置與編程工藝目前常見(jiàn)的大規(guī)??删幊踢壿嬈骷木幊毯团渲霉に囉腥N:⑴基于電可擦除存儲(chǔ)單元的EEPROM或Flash技術(shù)。⑵基于SRAM查找表的編程單元。⑶基于反熔絲編程單元。2.5FPGA/CPLD器件的配置與編程(a)并口下載方式(b)USB口下載方式圖2-14并口/USB口下載電纜連接示意圖圖2-15目標(biāo)板上的10針下載接口表2-2410針插座的在不同模式下對(duì)應(yīng)的信號(hào)2.5.2下載電纜與接口2.5FPGA/CPLD器件的配置與編程⒈FPGA的PS模式配置圖2-16PS模式下對(duì)FPGA器件的配置⒉FPGA的JTAG模式配置圖2-17JTAG模式下對(duì)FPGA器件的配置2.5.3編程與配置模式2.5FPGA/CPLD器件的配置與編程⒊CPLD的ISP模式編程圖2-18JTAG模式下對(duì)CPLD器件的編程2.5FPGA/CPLD器件的配置與編程⒈使用專用配置器件配置FPGA圖2-19EPCS器件對(duì)FPGA器件的配置電路⒉利用微處理器配置FPGA圖2-20PS模式下微處理器對(duì)FPGA器件的配置電路2.5.4FPGA的配置方式

思考練習(xí)⑴什么是基于乘積項(xiàng)的可編程邏輯結(jié)構(gòu)?⑵什么是基于查找表的可編程邏輯結(jié)構(gòu)?⑶CPLD和FPGA有什么差異?在實(shí)際應(yīng)用中各有什么特點(diǎn)?⑷解釋編程與配置這兩個(gè)概念。⑸目前比較知名的CPLD/FPGA廠商有Altera、Xilinx和Lattice,請(qǐng)寫(xiě)出你對(duì)這幾家公司及其PLD產(chǎn)品的了解。⑹根據(jù)本章介紹的各廠商FPGA/CPLD產(chǎn)品系列及你對(duì)新產(chǎn)品的了解,請(qǐng)思考選用PLD器件時(shí)應(yīng)考慮哪些方面的問(wèn)題?實(shí)訓(xùn)項(xiàng)目1.上網(wǎng)查閱資料,了解主流PLD廠商新型CPLD/FPGA器件的性能特點(diǎn)。2.試根據(jù)圖2-21所示ByteBlasterMV變換電路原理圖制作如圖2-22所示的ByteBlasterMV下載電纜。圖2-21ByteBlasterMV變換電路原理圖圖2-22ByteBlasterMV

下載電纜3.1QUARTUSII軟件概述3.2QUARTUSII設(shè)計(jì)流程3.3QuartusII設(shè)計(jì)實(shí)例第3章QUARTUSII應(yīng)用基礎(chǔ)

3.1QUARTUSII軟件概述

3.1.1QUARTUSII軟件簡(jiǎn)介QuartusII是Altera公司提供的綜合性PLD開(kāi)發(fā)工具,可以完成從設(shè)計(jì)輸入、HDL綜合、布線布局(適配)、仿真到硬件下載及測(cè)試的完整PLD設(shè)計(jì)流程,同時(shí)也是單芯片可編程系統(tǒng)(SoPC)設(shè)計(jì)的綜合性環(huán)境。圖3-1QuartusII設(shè)計(jì)軟件的主要功能3.1QUARTUSII軟件概述

圖3-2QuartusII編譯器的主控界面QuartusII包括模塊化的編譯器。圖3-2是QuartusII編譯器的主控界面,它顯示了QuartusII進(jìn)行自動(dòng)化設(shè)計(jì)的主要處理環(huán)節(jié),包括分析與綜合(Analysis&Synthesis)、適配(Filter)、裝配(Assembler)及、時(shí)序分析(ClassicTimingAnalyzer)。3.1QUARTUSII軟件概述

3.1.2QUARTUSII功能特點(diǎn)2009年3月Altera公司發(fā)布了QuartusII9.0,新增特性有以下幾方面:⑴SignalTapeII嵌入式邏輯分析器。⑵增強(qiáng)的SoPCBuilder工具。⑶新的操作系統(tǒng)支持。⑷增強(qiáng)第三方仿真接口。⑸新的引腳顧問(wèn)。⑹RealIntent驗(yàn)證支持。⑺新的增強(qiáng)IP內(nèi)核和宏功能。⑻物理綜合引擎增強(qiáng)。3.1QUARTUSII軟件概述

3.1.3QUARTUSII界面預(yù)覽工具欄菜單欄標(biāo)題欄工程導(dǎo)航器狀態(tài)窗口任務(wù)窗口工作區(qū)消息窗口3.1.3QUARTUSII界面預(yù)覽圖3-3QuartusII初始用戶界面3.1QUARTUSII軟件概述

3.1.4QUARTUSII授權(quán)許可圖3-4許可文件設(shè)置對(duì)話框圖3-5許可文件設(shè)置完成對(duì)話框3.2QUARTUSII設(shè)計(jì)流程圖3-6QuartusII設(shè)計(jì)的基本流程⒈設(shè)計(jì)輸入QuartusII支持多種設(shè)計(jì)輸入方式,如原理圖輸入、文本輸入、波形輸入等。⒉設(shè)計(jì)編譯⒊設(shè)計(jì)仿真

根據(jù)設(shè)計(jì)要求事先設(shè)定編譯參數(shù),如器件類型、邏輯綜合方式的選擇等,然后進(jìn)行編譯,包括分析綜合、適配、裝配及時(shí)序分析,并產(chǎn)生相應(yīng)的報(bào)告文件、延時(shí)信息文件及編程文件等,供仿真分析和下載編程使用。

仿真用來(lái)驗(yàn)證設(shè)計(jì)項(xiàng)目的邏輯功能是否正確,包括功能仿真、時(shí)序仿真和定時(shí)分析。⒋引腳鎖定

為了將設(shè)計(jì)結(jié)果下載到CPLD/FPGA芯片中進(jìn)行測(cè)試驗(yàn)證,必須根據(jù)具體EDA開(kāi)發(fā)系統(tǒng)或?qū)嶒?yàn)板硬件的要求對(duì)設(shè)計(jì)項(xiàng)目的輸入輸出信號(hào)賦予特定的引腳,以便能夠?qū)ζ溥M(jìn)行實(shí)測(cè)。⒌編程配置與測(cè)試驗(yàn)證

在成功編譯工程并鎖定引腳之后,就可以使用QuartusII的編程器(Programmer)對(duì)PLD器件進(jìn)行編程或配置,然后在實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)上測(cè)試驗(yàn)證其實(shí)際運(yùn)行性能。3.3QuartusII設(shè)計(jì)實(shí)例s1s2s3L1L20000100101010010111010001101101101011110

本節(jié)將以3人表決器電路為例,詳細(xì)介紹基于原理圖輸入和文本輸入的QuartusII工程設(shè)計(jì)過(guò)程,主要包括建立工程文件、編輯設(shè)計(jì)文件、編譯綜合、仿真測(cè)試、引腳鎖定、編程下載和硬件測(cè)試等基本過(guò)程。表3-1三人表決電路真值表3.3QuartusII設(shè)計(jì)實(shí)例3.3.1建立工程文件⒈指定工程文件名稱⒉選擇添加的文件和庫(kù)圖3-8新建工程對(duì)話框圖3-7新建工程菜單選項(xiàng)圖3-9添加文件或者庫(kù)對(duì)話框3.3QuartusII設(shè)計(jì)實(shí)例圖3-12工程創(chuàng)建完成對(duì)話框⒋選擇第三方EDA工具⒊選擇目標(biāo)器件圖3-10目標(biāo)器件選擇對(duì)話框圖3-11第三方EDA工具選擇對(duì)話框3.3QuartusII設(shè)計(jì)實(shí)例⒌完成創(chuàng)建工程圖3-13工程建立完成后的界面3.4.2設(shè)計(jì)文件輸入⒈原理圖輸入方法⑴建立原理圖圖3-14〖New〗對(duì)話框圖3-15空白圖形編輯窗口3.3QuartusII設(shè)計(jì)實(shí)例⑵放置元器件符號(hào)圖3-16選擇電路元器件符號(hào)對(duì)話框圖3-17正在放置元器件符號(hào)圖3-18元器件符號(hào)放置完成3.3QuartusII設(shè)計(jì)實(shí)例⑶命名和連接各元器件圖3-19符號(hào)屬性對(duì)話框圖3-20表決器的電路原理圖⑷保存文件圖3-21〖另存為〗對(duì)話框3.3QuartusII設(shè)計(jì)實(shí)例⒉文本輸入方法⑴建立文件圖3-22QuartusII文本編輯窗口⑵輸入VHDL語(yǔ)言程序代碼

圖3-23〖InsertTemplate〗對(duì)話框圖3-24表決器的VHDL程序代碼3.3QuartusII設(shè)計(jì)實(shí)例圖3-25編譯結(jié)果⑶保存程序單擊,完成文件的保存。3.4.3編譯工程文件無(wú)論是采用原理圖輸入還是文本輸入,在完成輸入并保存文件后,即可開(kāi)始編譯。

執(zhí)行【Processing】

【StartCompilation】菜單命令或單擊工具欄中的編譯按鈕,開(kāi)始編譯并伴隨著進(jìn)度不斷變化,完成后彈出編譯完成提示對(duì)話框,3.3QuartusII設(shè)計(jì)實(shí)例3.4.4建立仿真測(cè)試的矢量波形文件⒈建立波形文件圖3-26〖New〗對(duì)話框⒉添加引腳和節(jié)點(diǎn)圖3-27波形編輯窗口圖3-28〖InsertNodeorBus〗對(duì)話框3.3QuartusII設(shè)計(jì)實(shí)例圖3-29〖NodeFinder〗對(duì)話框圖3-30選擇輸入、輸出引腳圖3-31查找節(jié)點(diǎn)后的添加節(jié)點(diǎn)對(duì)話框圖3-32添加節(jié)點(diǎn)后的波形編輯窗口3.3QuartusII設(shè)計(jì)實(shí)例⒊編輯波形圖3-33〖EndTime〗對(duì)話框圖3-34時(shí)鐘設(shè)置對(duì)話框圖3-35對(duì)輸入波形進(jìn)行編輯后的波形編輯窗口⒋保存波形文件3.3QuartusII設(shè)計(jì)實(shí)例3.4.5仿真并觀察RTL電路圖3-36QuartusII軟件仿真設(shè)置界面⒈功能仿真圖3-37QuartusII中表決器功能仿真結(jié)果3.3QuartusII設(shè)計(jì)實(shí)例⒉時(shí)序仿真圖3-38QuartusII中表決器時(shí)序仿真結(jié)果⒊觀察RTL電路圖3-39表決器的RTL電路3.3QuartusII設(shè)計(jì)實(shí)例3.4.6分配引腳圖3-40引腳和引腳組分配窗口圖3-41引腳屬性對(duì)話框窗口

圖3-42〖Tc1Script〗對(duì)話框3.3QuartusII設(shè)計(jì)實(shí)例⒊配置下載線纜3.4.7編程下載與硬件測(cè)試⒈再編譯⒉連接下載電纜圖3-43編程配置下載窗口圖3-44硬件設(shè)置對(duì)話框⒋配置文件下載3.3QuartusII設(shè)計(jì)實(shí)例⒌硬件測(cè)試圖3-45配置完成窗口圖3-46JTAG模式下載完成窗口思考練習(xí)⑴說(shuō)明原理圖輸入法設(shè)計(jì)電路的詳細(xì)流程。⑵指出功能仿真和時(shí)序仿真的區(qū)別。⑶用原理圖輸入法設(shè)計(jì)8進(jìn)制的加法計(jì)數(shù)器。⑷用文本輸入法設(shè)計(jì)4變量的多數(shù)表決器。實(shí)訓(xùn)項(xiàng)目1.下載QuartusII網(wǎng)絡(luò)版并上機(jī)練習(xí)安裝、加載受權(quán)文件,熟悉QUARTUSII的界面。

2.參照3.3節(jié)通過(guò)QuartusII設(shè)計(jì)實(shí)現(xiàn)三人表決器,并下載到CPLD/FPGA芯片中在實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)上進(jìn)行測(cè)試驗(yàn)證。4.1VHDL語(yǔ)言概述4.2VHDL程序結(jié)構(gòu)4.3VHDL語(yǔ)言要素4.4VHDL描述語(yǔ)句4.5VHDL描述風(fēng)格4.6VHDL設(shè)計(jì)方法第4章硬件描述語(yǔ)言VHDL4.1VHDL語(yǔ)言概述4.1.1VHDL簡(jiǎn)介VHDL(VHSICHardwareDescriptionLanguage,VHSIC硬件描述語(yǔ)言)是電子工程師用來(lái)設(shè)計(jì)硬件系統(tǒng)與電路的高級(jí)語(yǔ)言。

目前,流行的EDA工具軟件全部支持VHDL,它在EDA領(lǐng)域的學(xué)術(shù)交流、電子設(shè)計(jì)的存檔以及ASIC設(shè)計(jì)等方面擔(dān)當(dāng)著不可缺少的角色。顯然,VHDL是現(xiàn)代電子設(shè)計(jì)人員必須掌握的硬件設(shè)計(jì)語(yǔ)言。4.1.2VHDL優(yōu)點(diǎn)⑴VHDL語(yǔ)言具有很強(qiáng)的電路描述和建模能力。⑵VHDL有良好的可讀性。⑶VHDL具有良好的可移植性。⑷使用VHDL可以延長(zhǎng)設(shè)計(jì)的生命周期。⑸VHDL支持對(duì)大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用。⑹VHDL有利于保護(hù)知識(shí)產(chǎn)權(quán)。4.1VHDL語(yǔ)言概述4.1.3VHDL實(shí)例圖4-12選1選擇器【例4-1】:2選1數(shù)據(jù)選擇器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux21ISPORT(a,b:INSTD_LOGIC;s:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDmux21;ARCHITECTURErtlOFmux21ISBEGINy<=aWHENs='0'ELSEb;ENDARCHITECTURErtl;⑴庫(kù)說(shuō)明⑵實(shí)體說(shuō)明⑶結(jié)構(gòu)體說(shuō)明4.2VHDL程序結(jié)構(gòu)圖4-2VHDL程序的基本結(jié)構(gòu)

一個(gè)相對(duì)完整的VHDL程序稱為設(shè)計(jì)實(shí)體,通常都具有比較固定的結(jié)構(gòu),即由實(shí)體(Entity)、結(jié)構(gòu)體(Architecture)、配置(Configuration)、庫(kù)(Library)和程序包(Package)五大部分構(gòu)成(見(jiàn)圖4-2)。4.2.1實(shí)體

實(shí)體由實(shí)體聲明部分和結(jié)構(gòu)體組成,實(shí)體聲明部分指定了設(shè)計(jì)單元完整的接口信息,基本格式如下:ENTITY實(shí)體名IS[GENERIC(類屬參數(shù)聲明);]PORT(端口表);

END[ENTITY]實(shí)體名;⒈實(shí)體名一個(gè)設(shè)計(jì)實(shí)體無(wú)論多大和多復(fù)雜,在實(shí)體中定義的實(shí)體名即為這個(gè)設(shè)計(jì)實(shí)體的名稱。⒉類屬參數(shù)聲明

類屬參數(shù)聲明必須放在端口聲明之前,用于指定如端口中矢量位數(shù)、器件延遲時(shí)間參數(shù)等。4.2VHDL程序結(jié)構(gòu)⒊端口聲明

端口聲明是對(duì)基本設(shè)計(jì)實(shí)體與外部接口的描述,也可以說(shuō)是對(duì)外部引腳信號(hào)的名稱、數(shù)據(jù)類型和輸入/輸出方向的描述。PORT(端口名{,端口名}:端口模式數(shù)據(jù)類型;

{端口名{,端口名}:端口模式數(shù)據(jù)類型});⑴端口名

端口名是賦予每個(gè)外部引腳的名稱,即該端口的標(biāo)識(shí)符,通常用一個(gè)或幾個(gè)英文字母,或者英文字加數(shù)字命名。⑵端口模式表4-1端口模式說(shuō)明端口模式含義IN輸入OUT輸出(結(jié)構(gòu)體內(nèi)部不可再用)INOUT雙向BUFFER輸出(結(jié)構(gòu)體內(nèi)部可利用該輸出信號(hào))LINKAGE不指定方向,任何方向均可連接⑶數(shù)據(jù)類型VHDL提供10種標(biāo)準(zhǔn)數(shù)據(jù)類型,但在實(shí)際使用時(shí),端口描述中的數(shù)據(jù)類型只有兩類,即位(BIT)和位矢量(BIT_VECTOR)。4.2VHDL程序結(jié)構(gòu)【例4-2】:端口說(shuō)明之一PORT(clk,clr:INBIT;sec0,sec1:OUTBIT_VECTOR(3DOWNTO0));【例4-3】:端口說(shuō)明之二LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYcnt60ISPORT(clk,clr:INSTD_LOGIC;sec0,sec1:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDcnt60;4.2VHDL程序結(jié)構(gòu)4.2.2結(jié)構(gòu)體

結(jié)構(gòu)體具體描述了該基本設(shè)計(jì)單元的行為、元件及內(nèi)部的連接關(guān)系,也就是定義了ARCHITECTURE結(jié)構(gòu)體名OF實(shí)體名IS[說(shuō)明語(yǔ)句]BEGIN

功能描述語(yǔ)句

END[ARCHITECTURE]結(jié)構(gòu)體名;設(shè)計(jì)單元的具體功能。一般格式如下:圖4-3結(jié)構(gòu)體構(gòu)造圖⒈結(jié)構(gòu)體說(shuō)明語(yǔ)句

結(jié)構(gòu)體中的說(shuō)明語(yǔ)句是對(duì)結(jié)構(gòu)體的功能描述,語(yǔ)句中將要用到SIGNAL、數(shù)據(jù)類型(Type)、常量(Constant)、元件(Component)、函數(shù)(Function)和過(guò)程(Procedure)等進(jìn)行說(shuō)明。4.2VHDL程序結(jié)構(gòu)⒉功能描述語(yǔ)句

功能描述語(yǔ)句可以含有5種不同類型的、以并行方式工作的語(yǔ)句結(jié)構(gòu),這可以看成是結(jié)構(gòu)體的5個(gè)子結(jié)構(gòu)⑴塊語(yǔ)句⑵進(jìn)程語(yǔ)句⑶信號(hào)賦值語(yǔ)句⑷子程序調(diào)用語(yǔ)句⑸元件例化語(yǔ)句⒊VHDL語(yǔ)言子結(jié)構(gòu)描述

一個(gè)結(jié)構(gòu)體可以用幾個(gè)子結(jié)構(gòu)即幾個(gè)相對(duì)比較獨(dú)立的子模塊來(lái)實(shí)現(xiàn)。以下重點(diǎn)介紹塊語(yǔ)句(BLOCK)、進(jìn)程語(yǔ)句(PROCESS)兩種形式的子結(jié)構(gòu)描述語(yǔ)句。⑴塊語(yǔ)句4.2VHDL程序結(jié)構(gòu)塊標(biāo)號(hào):BLOCK[(塊保護(hù)表達(dá)式)]

接口說(shuō)明類屬說(shuō)明

BEGIN

并行語(yǔ)句

ENDBLOCK塊標(biāo)號(hào);4.2VHDL程序結(jié)構(gòu)⑵進(jìn)程語(yǔ)句①進(jìn)程語(yǔ)句格式進(jìn)程語(yǔ)句PROCESS的一般表達(dá)格式如下:

[進(jìn)程標(biāo)號(hào):]PROCESS(敏感信號(hào)參數(shù)表)[IS][進(jìn)程說(shuō)明部分]BEGIN

順序描述語(yǔ)句

ENDPROCESS[進(jìn)程標(biāo)號(hào)];②進(jìn)程的組成進(jìn)程由進(jìn)程說(shuō)明部分、順序描述語(yǔ)句和敏感信號(hào)參數(shù)表三個(gè)部分組成。

例4-5是一個(gè)用進(jìn)程語(yǔ)句描述的2選1選擇器,其中a、b、s均是敏感信號(hào),當(dāng)其中有任何一個(gè)值發(fā)生變化時(shí),進(jìn)程都會(huì)被啟動(dòng)。4.2VHDL程序結(jié)構(gòu)重慶電子工程職業(yè)學(xué)院674.2VHDL程序結(jié)構(gòu)4.2VHDL程序結(jié)構(gòu)③進(jìn)程語(yǔ)句應(yīng)該注意的問(wèn)題

·PROCESS語(yǔ)句為無(wú)限循環(huán)語(yǔ)句。在同一結(jié)構(gòu)體中的進(jìn)程是一個(gè)獨(dú)立的無(wú)限循環(huán)程序結(jié)構(gòu),但進(jìn)程的返回是自動(dòng)的,不必加返回語(yǔ)句。進(jìn)程只有執(zhí)行和等待兩種狀態(tài)。·進(jìn)程必須有敏感信號(hào)的變化來(lái)啟動(dòng)?!みM(jìn)程語(yǔ)句本身是并行語(yǔ)句,同一結(jié)構(gòu)體中的不同進(jìn)程語(yǔ)句是并行執(zhí)行的?!ば盘?hào)是多個(gè)進(jìn)程間的通信線。4.2VHDL程序結(jié)構(gòu)4.2.3庫(kù)

庫(kù)是經(jīng)過(guò)編譯后的數(shù)據(jù)集合,其目的為了使設(shè)計(jì)遵循某些統(tǒng)一的語(yǔ)言標(biāo)準(zhǔn)或數(shù)據(jù)格式,同時(shí)便于利用已有的設(shè)計(jì)成果,以提高設(shè)計(jì)效率。⒈庫(kù)的語(yǔ)句格式⒉庫(kù)的種類⑴IEEE庫(kù)⑵STD庫(kù)⑶面向ASIC庫(kù)⑷WORK庫(kù)⑸用戶自定義庫(kù)⒊庫(kù)的使用4.2VHDL程序結(jié)構(gòu)USE語(yǔ)句的使用有兩種常用格式:

USE庫(kù)名.程序包名.項(xiàng)目名;

USE庫(kù)名.程序包名.ALL;例如語(yǔ)句:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;4.2VHDL程序結(jié)構(gòu)4.2.4程序包程序包的一般語(yǔ)句格式如下:PACKAGE程序包名IS

程序包首說(shuō)明部分

END程序包名;PACKAGEBODY程序包名IS

程序包體說(shuō)明部分以及包體內(nèi)容

END程序包名;程序包首程序包體4.2.5配置配置語(yǔ)句的一般格式如下:

CONFIGURATION配置名OF實(shí)體名IS

配置說(shuō)END配置名;4.3VHDL語(yǔ)言要素4.3.1VHDL的文字規(guī)則⒈注釋:注釋以“--”開(kāi)頭直到本行末尾(出現(xiàn)回車或換行符)的一段文字。⒉數(shù)字:⑴整數(shù)⑵實(shí)數(shù)⑶以數(shù)制基數(shù)表示的數(shù)⑷物理量文字:綜合器不支持物理量文字的綜合,如:30s(秒)、10m(米)、2.5A(安培)等。⒊字符與字符串⒋關(guān)鍵字:關(guān)鍵字是VHDL預(yù)先定義的保留字,它們?cè)诔绦蛑杏胁煌哪康暮妥饔谩"禈?biāo)識(shí)符:標(biāo)識(shí)符是用戶編程時(shí)為常量、變量、信號(hào)、端口、子程序或參數(shù)等定義的名字。⒍下標(biāo)名:下標(biāo)名用于指示數(shù)組型變量或信號(hào)的某一元素。4.3VHDL語(yǔ)言要素4.3.2VHDL的數(shù)據(jù)對(duì)象在VHDL語(yǔ)言中,數(shù)據(jù)對(duì)象主要包括3種:常量、變量和信號(hào)。表4-2VHDL數(shù)據(jù)對(duì)象及說(shuō)明場(chǎng)合數(shù)據(jù)對(duì)象含義說(shuō)明場(chǎng)合信號(hào)(Signal)說(shuō)明全局量ARCHITECTURE,PACKAGE,ENTITY變量(Variable)說(shuō)明局部量PROCESS,F(xiàn)UNCTION,PROCEDURE常量(Constant)說(shuō)明全局量以上所述場(chǎng)合都可以存在⒈常量常量是一個(gè)固定的值,定義和設(shè)置常量主要是為了程序更容易閱讀和理解。⒉變量變量一個(gè)局部量,只能在進(jìn)程和子程序中使用。⒊信號(hào)信號(hào)在硬件電路設(shè)計(jì)中相當(dāng)于是連線。4.3VHDL語(yǔ)言要素⒋信號(hào)和變量的區(qū)別⑴信號(hào)用于電路中的信號(hào)連線,變量用于進(jìn)程中局部數(shù)據(jù)存儲(chǔ)單元;⑵信號(hào)的使用和定義范圍在結(jié)構(gòu)體、程序包和實(shí)體中,不能在進(jìn)程、函數(shù)和子程序中使用,而變量只能在進(jìn)程、函數(shù)和子程序中使用;⑶變量在賦值時(shí)不能產(chǎn)生附加延時(shí),信號(hào)代入時(shí)可以附加延時(shí)。⑷變量用“:=”賦值,信號(hào)用“<=”代入。⑸變量賦值語(yǔ)句一旦被執(zhí)行,其值立即被賦予變量。信號(hào)實(shí)際代入過(guò)程和代入語(yǔ)句的處理是分開(kāi)進(jìn)行的。VHDL中的標(biāo)準(zhǔn)數(shù)據(jù)類型都是在VHDL標(biāo)準(zhǔn)程序包中預(yù)定義的,總共有104.3.3VHDL的數(shù)據(jù)類型⒈標(biāo)準(zhǔn)數(shù)據(jù)類型種如表4-3所示。4.3VHDL語(yǔ)言要素表4-3標(biāo)準(zhǔn)的數(shù)據(jù)類型數(shù)據(jù)類型含義整數(shù)(Integer)整數(shù)32位,-2147483647~+2147483647實(shí)數(shù)(Real)浮點(diǎn)數(shù),-1.0E+38~+1.0E+38位(Bit)邏輯量“0”或“1”位矢量(Bit_Vector)位矢量布爾量(Boolean)邏輯“真”或邏輯“假”字符(Charactor)ASCⅡ字符時(shí)間(Time)時(shí)間單位fs,ps,ns,us,ms,sec,min,hr錯(cuò)誤等級(jí)(SeverityLevel)NOTE,WARNING,ERROR,FAILURE自然數(shù)、正整數(shù)(Natual&Positive)整數(shù)的子集字符串(String)字符矢量⒉用戶定義的數(shù)據(jù)類型⑴枚舉類型⑵整數(shù)類型、實(shí)數(shù)類型⑶數(shù)組⑷記錄類型4.3VHDL語(yǔ)言要素⒊用戶定義的子類型⒋數(shù)據(jù)類型的轉(zhuǎn)換表4-4數(shù)據(jù)類型變換函數(shù)函數(shù)名功能STD_LOGIC_1164程序包:TO_STDLOGICVECTOR(A)TO_BITVECTOR(A)TO_STDLOGIC(A)TO_BIT(A)由BITVECTOR轉(zhuǎn)換為STDLOGICVECTOR由STDLOGICVECTOR轉(zhuǎn)換為BITVECTOR由BIT轉(zhuǎn)換為STDLOGIC由STDLOGIC轉(zhuǎn)換為BITSTD_LOGIC_ARITH程序包:CONV_STD_LOGIC_VECTOR(A,位長(zhǎng))CONV_INTEGER(A)由INTEGER,UNSIGNED,SIGNED轉(zhuǎn)換成STD_LOGIC_VECTOR由UNSIGNED,SIGNED轉(zhuǎn)換成INTEGERSTD_LOGIC_UNSIGNED程序包:CONV_INTEGER(A)由STD_LOGIC_VECTOR轉(zhuǎn)換成INTEGER4.3VHDL語(yǔ)言要素4.3.4VHDL的操作符⒈邏輯操作符VHDL共有7種基本邏輯操作符,它們是AND(與),OR(或),NAND(與非),NOR(或非),XOR(異或),XNOR(異或非)和NOT(取反)。信號(hào)或變量在這些操作符的直接作用下,可構(gòu)成組合電路。邏輯操作符所要求的操作數(shù)(如變量或信號(hào))的基本數(shù)據(jù)類型有3種,即BIT、BOOLEAN、和STD_LOGIC。⒉關(guān)系操作符

關(guān)系操作符的作用是將相同數(shù)據(jù)類型的數(shù)據(jù)對(duì)象進(jìn)行數(shù)值比較或關(guān)系排序判斷,并將結(jié)果以布爾類型(Boolean)的數(shù)據(jù)表示出來(lái),即“TRUE”或“FALSE”兩種;VHDL提供了6種關(guān)系運(yùn)算操作符:“=”(等于)、“/=”(不等于)、“>”(大于)、“<”(小于)、“>=”(大于等于)和“<=”(小于等于)。⒊算術(shù)操作符4.3VHDL語(yǔ)言要素VHDL共有17種算術(shù)運(yùn)算符,它們是+(加)、–(減)、*(乘)、/(除)、MOD(求模)、REM(取余)、**(乘方)、ABS(取絕對(duì)值)、+(正)、–(負(fù))和SLL(邏輯左移)、SRL(邏輯右移)、SLA(算術(shù)左移)、SRA(算術(shù)右移)、ROL(邏輯循環(huán)左移)、ROR(邏輯循環(huán)右移)和&(并置)。其中+(正)、–(負(fù))操作符亦稱為符號(hào)操作符,代表所操作整數(shù)數(shù)值的正負(fù),其操作數(shù)只有一個(gè),屬于一元運(yùn)算符。⒋并置操作符

并置運(yùn)算符(&)在VHDL中使用比較多,故單獨(dú)列出予以介紹。并置運(yùn)算操作數(shù)的數(shù)據(jù)類型是一維數(shù)組,可以利用并置符將普通操作數(shù)或數(shù)組組合起來(lái)形成各種新的數(shù)組。例如“VH”&“DL”的結(jié)果為“VHDL”;“0”&“1”的結(jié)果是“01”,并置操作常用于生成位矢量和字符串。4.3.5VHDL的屬性1.數(shù)值類屬性數(shù)值類屬性用來(lái)得到數(shù)組、塊或一般數(shù)據(jù)的相關(guān)值。數(shù)值類屬性包括3個(gè)子類:一般數(shù)據(jù)的數(shù)值屬性、數(shù)組的數(shù)值屬性和塊的數(shù)值屬性。4.3VHDL語(yǔ)言要素⑴一般數(shù)據(jù)的數(shù)值屬性

一般數(shù)據(jù)的數(shù)值屬性共有4種,其書(shū)寫(xiě)格式為:客體‘屬性名。如果用“T”表示客體,則4種屬性分別表示如下:①T'LEFT:得到數(shù)據(jù)類或子類區(qū)間的最左端值;②T'RIGHT:得到數(shù)據(jù)類或子類區(qū)間的最右端值;③T'HIGH:得到數(shù)據(jù)類或子類區(qū)間的高端值;④T'LOW:得到數(shù)據(jù)類或子類區(qū)間的低端值。⑵數(shù)組的數(shù)值屬性

數(shù)組的數(shù)值屬性只有一個(gè),即T’LENGTH。該屬性用于得到數(shù)組的長(zhǎng)度值,可用于任何標(biāo)量類數(shù)組(包括多維標(biāo)量類數(shù)組)。⑶塊的數(shù)值屬性

塊的數(shù)值屬性用于得到塊或結(jié)構(gòu)體是什么樣的一個(gè)設(shè)計(jì)模塊的信息,包括'STRUCTURE(結(jié)構(gòu)設(shè)計(jì))和'BEHAVIOR(行為設(shè)計(jì))兩種屬性。4.3VHDL語(yǔ)言要素2.函數(shù)類屬性

類屬性是指屬性以函數(shù)為主,讓設(shè)計(jì)人員得到函數(shù)的有關(guān)數(shù)據(jù)類型、數(shù)組、信號(hào)的某些信息。函數(shù)類的屬性包括數(shù)據(jù)類型屬性、數(shù)組屬性、信號(hào)屬性3類。⑴數(shù)據(jù)類型屬性函數(shù)主要包括6種屬性函數(shù):①'POS(x):得到輸入x值的位置順序號(hào)。②'VAL(x):得到位置順序號(hào)x處的值。③'SUCC(x):得到輸入x值的下一個(gè)值。④'PRED(x):得到輸入x值的前一個(gè)值。⑤'LEFTOF(x):得到輸入x值左側(cè)的值。⑥'RIGHTOF(x):得到輸入x值右側(cè)的值。⑵數(shù)組屬性函數(shù)

利用數(shù)組屬性函數(shù)可得到數(shù)組的區(qū)間,在對(duì)數(shù)組的每一個(gè)元素進(jìn)行操作時(shí),必須知道數(shù)組的區(qū)間。數(shù)組屬性函數(shù)可以分為4種:4.3VHDL語(yǔ)言要素①'LEFT(n):得到序號(hào)為n區(qū)間的左端位置號(hào)。②'RIGHT(n):得到序號(hào)為n區(qū)間的右端位置號(hào)。③'HIGH(n):得到序號(hào)為n區(qū)間的高端位置號(hào)。④'LOWn):得到序號(hào)為n區(qū)間的低端位置號(hào)。⑶信號(hào)屬性函數(shù)信號(hào)屬性函數(shù)用來(lái)得到信號(hào)的行為信息。信號(hào)屬性函數(shù)共有5種:①'EVENT:用于判斷在當(dāng)前一個(gè)非常小的時(shí)間間隔內(nèi),事件是否發(fā)生。②'ACTIVE:用于判斷在當(dāng)前一個(gè)非常小的時(shí)間間隔內(nèi),信號(hào)是否發(fā)生改變。③'LAST_EVENT:用于得到從信號(hào)前一個(gè)事件發(fā)生到現(xiàn)在所經(jīng)過(guò)的時(shí)間。④'LAST_VALUE:用于得到信號(hào)最后一次改變以前的值。⑤'LAST_ACTIVE:用于得到從信號(hào)最后一次改變到現(xiàn)在的時(shí)間。4.3VHDL語(yǔ)言要素4.3VHDL語(yǔ)言要素3.信號(hào)類屬性

信號(hào)類屬性用來(lái)對(duì)所加屬性的信號(hào)產(chǎn)生新的特殊信號(hào),在新產(chǎn)生的信號(hào)中包含了所加屬性的相關(guān)信息。4.數(shù)據(jù)類型類屬性5.數(shù)據(jù)區(qū)間類屬性4.3VHDL語(yǔ)言要素3.信號(hào)類屬性

信號(hào)類屬性用來(lái)對(duì)所加屬性的信號(hào)產(chǎn)生新的特殊信號(hào),在新產(chǎn)生的信號(hào)中包含了所加屬性的相關(guān)信息。4.數(shù)據(jù)類型類屬性5.數(shù)據(jù)區(qū)間類屬性4.4VHDL描述語(yǔ)句4.4.1順序描述語(yǔ)句

順序語(yǔ)句的特點(diǎn)是,每一條順序語(yǔ)句的執(zhí)行(指仿真執(zhí)行)順序是與它們的書(shū)寫(xiě)順序基本一致的,順序語(yǔ)句只能出現(xiàn)在進(jìn)程(Process)和子程序(Subprogram)中。VHDL有以下幾類基本順序語(yǔ)句:··

?變量賦值語(yǔ)句

?信號(hào)賦值語(yǔ)句·?WAIT語(yǔ)句?IF語(yǔ)句?CASE語(yǔ)句?LOOP語(yǔ)句?NEXT語(yǔ)句?EXIT語(yǔ)句?RETURN語(yǔ)句?NULL語(yǔ)句?子程序調(diào)用語(yǔ)句賦值語(yǔ)句流程控制語(yǔ)句4.4VHDL描述語(yǔ)句⒈賦值語(yǔ)句

賦值語(yǔ)句的功能是將一個(gè)值或是一個(gè)表達(dá)式的運(yùn)算結(jié)果傳遞給某一數(shù)據(jù)對(duì)象,如信號(hào)或變量。賦值語(yǔ)句有兩種:即信號(hào)賦值語(yǔ)句和變量賦值語(yǔ)句。⒉IF語(yǔ)句IF語(yǔ)句是一種條件語(yǔ)句,它根據(jù)語(yǔ)句中所設(shè)置的一種或多種條件,有選擇的執(zhí)行指定的順序語(yǔ)句。4.4VHDL描述語(yǔ)句4.4VHDL描述語(yǔ)句⒊CASE語(yǔ)句4.4VHDL描述語(yǔ)句4.4VHDL描述語(yǔ)句⒋LOOP語(yǔ)句4.4VHDL描述語(yǔ)句⒌NEXT語(yǔ)句⒍EXIT語(yǔ)句4.4VHDL描述語(yǔ)句⒎WAIT語(yǔ)句4.4VHDL描述語(yǔ)句⒏RETURN語(yǔ)句

返回語(yǔ)句(RETURN)只能用于子程序體中,執(zhí)行返回語(yǔ)句將結(jié)束子程序的執(zhí)行,無(wú)條件的跳轉(zhuǎn)至子程序結(jié)束處。⒐NULL語(yǔ)句4.4VHDL描述語(yǔ)句⒑子程序調(diào)用語(yǔ)句⑴函數(shù)4.4VHDL描述語(yǔ)句4.4VHDL描述語(yǔ)句⑵過(guò)程4.4VHDL描述語(yǔ)句4.4.2并行描述語(yǔ)句⒈并行信號(hào)賦值語(yǔ)句⑴簡(jiǎn)單信號(hào)賦值語(yǔ)句⑵條件信號(hào)賦值語(yǔ)句其語(yǔ)句格式如下:賦值目標(biāo)<=表達(dá)式;4.4VHDL描述語(yǔ)句作為另一種并行賦值語(yǔ)句,條件信號(hào)賦值語(yǔ)句的表達(dá)方式如下:賦值目標(biāo)<=表達(dá)式1WHEN賦值條件1ELSE

表達(dá)式2WHEN賦值條件2ELSE...

表達(dá)式nWHEN賦值條件nELSE

表達(dá)式;4.4VHDL描述語(yǔ)句⑶選擇信號(hào)賦值語(yǔ)句語(yǔ)句格式如下:

WITH選擇表達(dá)式SELECT

賦值目標(biāo)<=表達(dá)式1WHEN選擇值1,表達(dá)式2WHEN選擇值2,

...

表達(dá)式nWHEN選擇值n,

[表達(dá)式WHENOTHERS];4.4VHDL描述語(yǔ)句⒉進(jìn)程語(yǔ)句進(jìn)程語(yǔ)句歸納起來(lái)有以下特點(diǎn):⑴它可以與其它進(jìn)程并行運(yùn)行,并可以存取結(jié)構(gòu)體或?qū)嶓w中所定義的信號(hào)⑵進(jìn)程結(jié)構(gòu)中的所有語(yǔ)句都是按順序執(zhí)行的;⑶為啟動(dòng)進(jìn)程,在進(jìn)程語(yǔ)句中必須至少包含一個(gè)敏感信號(hào)表或包含一個(gè)WAIT語(yǔ)句;⑷進(jìn)程間的通信是通過(guò)信號(hào)量來(lái)實(shí)現(xiàn)的。⒊塊語(yǔ)句⒋元件例化語(yǔ)句圖4-4全加器的原理圖和實(shí)體模塊4.4VHDL描述語(yǔ)句表4-7半加器真值表absoco00000110101011014.4VHDL描述語(yǔ)句4.4VHDL描述語(yǔ)句⒌生成語(yǔ)句4.4VHDL描述語(yǔ)句⒍參數(shù)傳遞映射語(yǔ)句4.4VHDL描述語(yǔ)句圖4-5四輸入與門(mén)電路圖4.4VHDL描述語(yǔ)句⒎斷言語(yǔ)句

斷言語(yǔ)句語(yǔ)句主要用于程序仿真、調(diào)試中的人機(jī)對(duì)話,它可以給出一個(gè)文字串作為警告或是錯(cuò)誤信息。8.并行過(guò)程調(diào)用語(yǔ)句過(guò)程調(diào)用語(yǔ)句可以出現(xiàn)在進(jìn)程中,也可以出現(xiàn)在結(jié)構(gòu)體和塊語(yǔ)句中。4.5VHDL描述風(fēng)格

在VHDL語(yǔ)言中,結(jié)構(gòu)體對(duì)于相同的邏輯功能可以采用不同的描述方法或?qū)崿F(xiàn)方法,稱為VHDL的硬件描述風(fēng)格。VHDL語(yǔ)言通常有3中不同的描述風(fēng)格:即行為描述(BehavioralDescription)、數(shù)據(jù)流描述(DataflowDescription)和結(jié)構(gòu)描述(StructuralDescription)。4.5.1行為描述表4-8全加器真值表ainbincinsumco00000001100101001101100101010111001111114.5VHDL描述風(fēng)格圖4-6采用行為描述方式的全加器RTL網(wǎng)表4.5.2數(shù)據(jù)流描述圖4-7采用數(shù)據(jù)流描述方式的全加器RTL網(wǎng)表4.5VHDL描述風(fēng)格使用數(shù)據(jù)流描述方式需要注意的幾個(gè)問(wèn)題:⑴禁止在同一個(gè)進(jìn)程中存在對(duì)兩個(gè)寄存器的描述,如例4-43所示。⑵禁止使用IF語(yǔ)句中的ELSE,如例4-44所示:4.5VHDL描述風(fēng)格⑶寄存器描述中必須代入信號(hào)值。4.5.3結(jié)構(gòu)描述圖4-8全加器原理圖4.6VHDL設(shè)計(jì)方法

對(duì)于一個(gè)比較大的設(shè)計(jì)項(xiàng)目,往往應(yīng)采用層次化的設(shè)計(jì)方法,即將一個(gè)大的設(shè)計(jì)項(xiàng)目分解為若干個(gè)子項(xiàng)目或若干層次來(lái)完成。劃分層次是從頂層由高住下(也稱“自頂向下”),而設(shè)計(jì)時(shí)則可先設(shè)計(jì)底層電路,然后在高層次的設(shè)計(jì)中,逐級(jí)調(diào)用低層次的設(shè)計(jì)結(jié)果。4.6.1.電路模塊的劃分與工程文件夾的建立⒈電路模塊的劃分圖4-94位二進(jìn)制計(jì)數(shù)器的總體原理方框圖⒉工程文件夾建立4.6VHDL設(shè)計(jì)方法4.6.2設(shè)計(jì)底層電路模塊⒈十進(jìn)制計(jì)數(shù)器的設(shè)計(jì)圖4-10計(jì)數(shù)器元件符號(hào)4.6VHDL設(shè)計(jì)方法圖4-11十進(jìn)制計(jì)數(shù)器的仿真波形⒉設(shè)計(jì)七段顯示譯碼器4.6VHDL設(shè)計(jì)方法圖4-12譯碼器元件符號(hào)圖4-13七段顯示譯碼器的仿真波形4.6VHDL設(shè)計(jì)方法4.6.3設(shè)計(jì)電路頂層文件⒈原理圖設(shè)計(jì)方式⒉VHDL設(shè)計(jì)方式

在QuartusII集成環(huán)境下,首先為頂層設(shè)計(jì)建立工程項(xiàng)目(cnt10),然后新建一個(gè)原理圖設(shè)計(jì)文件。在圖形編輯方式中,調(diào)出4個(gè)cnt元件符號(hào)、4個(gè)dec元件符號(hào)及輸入(INPUT)和輸出(OUTPUT)元件符號(hào),并按圖4-9將它們連接起來(lái)即可得到計(jì)數(shù)譯碼顯示電路的設(shè)計(jì)結(jié)果,圖4-14通過(guò)原理圖自動(dòng)生成VHDL文件4.6VHDL設(shè)計(jì)方法圖4-15選擇文件類型對(duì)話框4.6VHDL設(shè)計(jì)方法4.6VHDL設(shè)計(jì)方法4.6VHDL設(shè)計(jì)方法4.6.4編譯仿真頂層設(shè)計(jì)文件圖4-164位十進(jìn)制

計(jì)數(shù)器元件符號(hào)圖4-17頂層設(shè)計(jì)文件的仿真波形4.6.5下載頂層設(shè)計(jì)文件設(shè)計(jì)完成后,可將設(shè)計(jì)結(jié)果下載到PLD芯片中進(jìn)行測(cè)試驗(yàn)證,具體操作包括選擇目標(biāo)器件、引腳鎖定和下載等,這里不再贅述。思考練習(xí)⑴說(shuō)明VHDL語(yǔ)言的基本結(jié)構(gòu)。⑵說(shuō)明端口模式的INOUT與BUFFER的異同。⑶VHDL語(yǔ)言有幾種數(shù)據(jù)對(duì)象,請(qǐng)說(shuō)明他們的功能以及使用方法,舉例說(shuō)明數(shù)據(jù)對(duì)象與數(shù)據(jù)類型的關(guān)系。⑷試說(shuō)明布爾類型和位類型的輸出有什么區(qū)別?對(duì)于邏輯操作應(yīng)該使用哪種類型?關(guān)系操作的結(jié)果為哪種類型?IF語(yǔ)句的表達(dá)式為哪種類型?⑸用不同的表述語(yǔ)句描述一個(gè)四選一的多路選擇器。⑺如何用PROCESS語(yǔ)句和WAIT語(yǔ)句來(lái)描述電平觸發(fā)的觸發(fā)器。⑼試說(shuō)明子程序包括哪兩種,在用法上有什么區(qū)別?⑽試用結(jié)構(gòu)描述方式來(lái)描述圖4-18所示的硬件電路。圖

4-18

實(shí)訓(xùn)項(xiàng)目數(shù)控分頻器的設(shè)計(jì)⒈實(shí)訓(xùn)目的學(xué)習(xí)數(shù)控分頻器的設(shè)計(jì)、分析和測(cè)試方法⒉實(shí)訓(xùn)原理

對(duì)于數(shù)控分頻器就是當(dāng)在輸入端給定不同輸入數(shù)據(jù)時(shí),將對(duì)輸入的時(shí)鐘信號(hào)有不同的分頻比,數(shù)控分頻器就是用計(jì)數(shù)值可并行預(yù)置的加法計(jì)數(shù)器設(shè)計(jì)完成的,方法是將計(jì)數(shù)溢出位與預(yù)置數(shù)加載輸入信號(hào)相接即可⒊實(shí)訓(xùn)步驟與要求⑴仿真:對(duì)于不同的d值和輸入信號(hào)clk,給出仿真波形。⑵驗(yàn)證:引腳鎖定后重新進(jìn)行編譯,無(wú)誤后通過(guò)下載電纜將生成的相應(yīng)的.pof文件下載到目標(biāo)板芯片中,觀察實(shí)驗(yàn)結(jié)果。預(yù)制數(shù)以8個(gè)開(kāi)關(guān)鍵代替,輸出接揚(yáng)聲器。⑶根據(jù)以上要求,寫(xiě)出實(shí)訓(xùn)報(bào)告。5.1組合邏輯電路設(shè)計(jì)5.2時(shí)序邏輯電路設(shè)計(jì)5.3狀態(tài)機(jī)設(shè)計(jì)5.4存儲(chǔ)器設(shè)計(jì)第5章基本數(shù)字單元設(shè)計(jì)5.1組合邏輯電路設(shè)計(jì)5.1.1運(yùn)算電路設(shè)計(jì)⒈半加器圖5-1半加器網(wǎng)表電路圖5.1組合邏輯電路設(shè)計(jì)⒉全加器⑴原理圖方式圖5-2全加器的電路圖⑵HDL描述方式

基于半加器的描述,若采用COMPONENT語(yǔ)句和PORTMAP語(yǔ)句就很容易編寫(xiě)出描述全加器的程序。全加器的VHDL程序見(jiàn)例4-36。5.1組合邏輯電路設(shè)計(jì)⒊多位加法器⒋8位乘法器圖5-38位乘法器的元件符號(hào)圖5-48位乘法器的仿真波形5.1組合邏輯電路設(shè)計(jì)⒈一般編碼器設(shè)計(jì)圖5-58-3編碼器

外部端口示意圖表5-18-3編碼器的真值表輸入二進(jìn)制編碼輸出a0a1a2a3a4a5a6a7y2y1y011111110111111111011101111101110111110111100111011110111101111101010111111001011111110005.1組合邏輯電路設(shè)計(jì)圖5-68-3編碼器電路的仿真波形5.1組合邏輯電路設(shè)計(jì)⒉優(yōu)先編碼器設(shè)計(jì)表5-2優(yōu)先級(jí)編碼器真值表輸入輸出input(7)input(6)input(5)input(4)input(3)input(2)input(1)input(0)y2y1y0XXXXXXX0111XXXXXX01110XXXXX011101XXXX0111100XXX01111011XX011111010X0111111001011111110005.1組合邏輯電路設(shè)計(jì)圖5-78-3優(yōu)先編碼器的仿真波形5.1組合邏輯電路設(shè)計(jì)5.1.3譯碼器設(shè)計(jì)表5-33-8譯碼器的真值表使能二進(jìn)制輸入端譯碼輸出端ENCBAY0Y1Y2Y3Y4Y5Y6Y70xxx11111111100001111111100110111111101011011111101111101111110011110111110111111011111011111101111111111110圖5-83-8譯碼器

外部端口示意圖5.1組合邏輯電路設(shè)計(jì)圖5-93-8譯碼器電路的仿真波形5.1組合邏輯電路設(shè)計(jì)5.1組合邏輯電路設(shè)計(jì)5.1.4數(shù)據(jù)選擇器設(shè)計(jì)表5-44選1電路真值表選擇輸入數(shù)據(jù)輸入數(shù)據(jù)輸出BAD0D1D2D3y000XXX0001XXX101X0XX001X1XX110XX0X010XX1X111XXX0011XXX11圖

5-104選1電路

5.1組合邏輯電路設(shè)計(jì)圖5-114選1多路選擇器的仿真波形5.1組合邏輯電路設(shè)計(jì)5.1組合邏輯電路設(shè)計(jì)5.1組合邏輯電路設(shè)計(jì)5.1.5數(shù)據(jù)比較器設(shè)計(jì)5.1.6三態(tài)門(mén)及總線緩沖器設(shè)計(jì)⒈三態(tài)門(mén)電路圖

5-12三態(tài)門(mén)電路

表5-5三態(tài)門(mén)真值表數(shù)據(jù)輸入輸出使能數(shù)據(jù)輸出dinendoutX0Z0101115.1組合邏輯電路設(shè)計(jì)圖5-13三態(tài)門(mén)電路的仿真波形5.1組合邏輯電路設(shè)計(jì)⒉雙向總線緩沖器圖5-14雙向總線緩沖器電路的仿真波形5.2時(shí)序邏輯電路設(shè)計(jì)5.2.1觸發(fā)器設(shè)計(jì)⒈D觸發(fā)器圖

5-15D觸發(fā)器電路符號(hào)

表5-6D觸發(fā)器的真值表數(shù)據(jù)輸入端時(shí)鐘輸入端數(shù)據(jù)輸出端DclkQX0不變X1不變0↑01↑15.2時(shí)序邏輯電路設(shè)計(jì)⒉異步復(fù)位D鎖存器5.2時(shí)序邏輯電路設(shè)計(jì)⒊異步復(fù)位/置位D鎖存器圖5-17異步

復(fù)位/置位D鎖存器5.2時(shí)序邏輯電路設(shè)計(jì)⒋JK觸發(fā)器表5-7JK觸發(fā)器的真值表輸入端輸出端PRNCLRCLKJKQQB01XXX1010XXX0100XXXXX11↑010111↑11翻轉(zhuǎn)11↑00Q0NOTQ011↑1010110XXQ0NOTQ0圖5-18JK觸發(fā)器5.2時(shí)序邏輯電路設(shè)計(jì)5.2時(shí)序邏輯電路設(shè)計(jì)圖5-19JK觸發(fā)器電路的仿真波形5.2時(shí)序邏輯電路設(shè)計(jì)5.2.2鎖存器設(shè)計(jì)5.2時(shí)序邏輯電路設(shè)計(jì)5.2.3移位寄存器設(shè)計(jì)圖5-208位移位寄存器電路的仿真波形5.2時(shí)序邏輯電路設(shè)計(jì)5.2.4計(jì)數(shù)器設(shè)計(jì)⒈同步計(jì)數(shù)器設(shè)計(jì)⑴六十進(jìn)制計(jì)數(shù)器5.2時(shí)序邏輯電路設(shè)計(jì)5.2時(shí)序邏輯電路設(shè)計(jì)圖5-22六十進(jìn)制計(jì)數(shù)器(方法2)電路的仿真波形5.2時(shí)序邏輯電路設(shè)計(jì)⑵可逆計(jì)數(shù)器表5-8可逆計(jì)數(shù)器真值表輸入端輸出端DIRCPQ2Q1Q0XX0001↑計(jì)數(shù)器加1操作0↑計(jì)數(shù)器減1操作5.2時(shí)序邏輯電路設(shè)計(jì)⒉異步計(jì)數(shù)器設(shè)計(jì)圖5-238位異步計(jì)數(shù)器原理圖5.2時(shí)序邏輯電路設(shè)計(jì)5.3狀態(tài)機(jī)設(shè)計(jì)圖5-24狀態(tài)機(jī)的基本結(jié)構(gòu)I/OI/OI/OI/OI/OI/O狀態(tài)A狀態(tài)B狀態(tài)C狀態(tài)D狀態(tài)E狀態(tài)B01狀態(tài)A001/01狀態(tài)A狀態(tài)B圖5-25狀態(tài)轉(zhuǎn)移圖圖5-26摩爾和米立狀態(tài)機(jī)5.3狀態(tài)機(jī)設(shè)計(jì)表5-9狀態(tài)轉(zhuǎn)移表現(xiàn)態(tài)輸入次態(tài)輸出S0-SnI0-ImS0-SnQ0-QP5.3.1摩爾狀態(tài)機(jī)設(shè)計(jì)圖5-27Moore狀態(tài)機(jī)的狀態(tài)圖5.3狀態(tài)機(jī)設(shè)計(jì)圖5-28Moore狀態(tài)機(jī)的工作時(shí)序圖5.3狀態(tài)機(jī)設(shè)計(jì)5.3.2米里狀態(tài)機(jī)設(shè)計(jì)

圖5-29Mealy狀態(tài)機(jī)的狀態(tài)圖圖5-30Mealy的工作時(shí)序圖5.4存儲(chǔ)器設(shè)計(jì)5.4.1只讀存儲(chǔ)器設(shè)計(jì)圖5-3116×8的ROM端口示意圖圖5-3216×8的ROM電路的仿真波形5.4存儲(chǔ)器設(shè)計(jì)5.4.2隨機(jī)存儲(chǔ)器設(shè)計(jì)圖5-338×8位的RAM端口示意圖5.4存儲(chǔ)器設(shè)計(jì)圖5-348×8位的RAM電路的仿真波形思考練習(xí)1.用VHDL語(yǔ)言設(shè)計(jì)一個(gè)8位二進(jìn)制全加器。2.用VHDL語(yǔ)言設(shè)計(jì)一個(gè)16選1數(shù)據(jù)選擇器。3.用VHDL語(yǔ)言設(shè)計(jì)一個(gè)9位偶校驗(yàn)電路。要求當(dāng)輸入數(shù)據(jù)“1”的個(gè)數(shù)為偶數(shù)時(shí)輸出為“0”,否則輸出為“1”。4.用VHDL語(yǔ)言設(shè)計(jì)一個(gè)帶三態(tài)輸出的二輸入端“同或”邏輯門(mén)。5.已知10線-4線優(yōu)先編碼器功能表如表5-10,試用VHDL語(yǔ)言設(shè)計(jì)。6.已知4線-10線譯碼器功能表如表5-11,試用VHDL語(yǔ)言設(shè)計(jì)。7.用VHDL語(yǔ)言設(shè)計(jì)一個(gè)帶異步清零(低電平有效)、上升沿觸發(fā)的JK觸發(fā)器。8.用VHDL語(yǔ)言設(shè)計(jì)一個(gè)帶異步清零(低電平有效)、同步置位(低電平有效)、下降沿觸發(fā)的D觸發(fā)器。9.移位寄存器電路如圖5-35所示,試用VHDL語(yǔ)言設(shè)計(jì)。10.用VHDL語(yǔ)言設(shè)計(jì)一個(gè)帶異步清零(低電平有效)的同步4位二進(jìn)制加、減計(jì)數(shù)器。實(shí)訓(xùn)項(xiàng)目項(xiàng)目一1位二進(jìn)制全加器⒈實(shí)訓(xùn)目的⑴熟悉QUARTUSII的VHDL文本設(shè)計(jì)流程全過(guò)程;⑵掌握1位二進(jìn)制全加器的設(shè)計(jì)、仿真和硬件測(cè)試;⑶學(xué)會(huì)用VHDL語(yǔ)言設(shè)計(jì)一個(gè)1位二進(jìn)制全加器。⒉實(shí)訓(xùn)原理1位二進(jìn)制全加器能夠完成兩個(gè)1位二進(jìn)制數(shù)的加法運(yùn)算,并且考慮低位來(lái)的進(jìn)位。全加器有兩個(gè)一位二進(jìn)制的輸入端和一個(gè)進(jìn)位輸入端,以及一位和輸出端和一位進(jìn)位輸出端。實(shí)訓(xùn)項(xiàng)目項(xiàng)目二七段顯示譯碼器⒈實(shí)訓(xùn)目的⑴熟悉QUARTUSII的VHDL文本設(shè)計(jì)流程全過(guò)程;⑵掌握七段顯示譯碼器的設(shè)計(jì)、仿真和硬件測(cè)試;⑶學(xué)會(huì)用VHDL語(yǔ)言設(shè)計(jì)一個(gè)七段顯示譯碼器。⒉實(shí)訓(xùn)原理

通常使用的七段LED為“8”字型,另外,還有一個(gè)發(fā)光二極管用來(lái)顯示小數(shù)點(diǎn)。在七段LED顯示器中,通常將各段發(fā)光二極管的陰極或陽(yáng)極連在一起作為公共端,這樣可以使驅(qū)動(dòng)電路簡(jiǎn)單些,其中將各段發(fā)光二極管陽(yáng)極連在一起的叫共陽(yáng)極LED顯示器,用低電平驅(qū)動(dòng);將各段發(fā)光二極管陰極連在一起的叫共陰極LED顯示器,用高電平驅(qū)動(dòng)。實(shí)訓(xùn)項(xiàng)目項(xiàng)目三帶異步清零的D觸發(fā)器⒈實(shí)訓(xùn)目的⑴熟悉QUARTUSII的VHDL文本設(shè)計(jì)流程全過(guò)程;⑵掌握帶異步清零的D觸發(fā)器的設(shè)計(jì)、仿真和硬件測(cè)試;⑶學(xué)會(huì)用VHDL語(yǔ)言設(shè)計(jì)一個(gè)帶異步清零的D觸發(fā)器。⒉實(shí)訓(xùn)原理

帶異步清零的D觸發(fā)器和一般D觸發(fā)器的區(qū)別是多了一個(gè)復(fù)位輸入端clr。異步清零指的是當(dāng)clr有效時(shí),不論D和clk輸入怎樣的信號(hào),其q端輸出都被強(qiáng)迫置為“0”。clr又稱清零輸入端或復(fù)位輸入端。實(shí)訓(xùn)項(xiàng)目項(xiàng)目四同步十進(jìn)制計(jì)數(shù)器⒈實(shí)訓(xùn)目的⑴熟悉QUARTUSII的VHDL文本設(shè)計(jì)流程全過(guò)程;⑵掌握同步8421BCD碼十進(jìn)制計(jì)數(shù)器的設(shè)計(jì)、仿真和硬件測(cè)試;⑶學(xué)會(huì)用VHDL語(yǔ)言設(shè)計(jì)一個(gè)同步8421BCD碼十進(jìn)制計(jì)數(shù)器。⒉實(shí)訓(xùn)原理及設(shè)計(jì)要求

十進(jìn)制計(jì)數(shù)器的特點(diǎn)是“逢十進(jìn)一”。同步8421BCD碼十進(jìn)制計(jì)數(shù)器的輸出是8421BCD碼,代表十進(jìn)制數(shù)的0-9。

用VHDL語(yǔ)言設(shè)計(jì)一個(gè)具有異步清零、同步置數(shù)功能的同步8421BCD碼十進(jìn)制計(jì)數(shù)器。其輸入端有:時(shí)鐘輸入端cp、異步清零控制輸入端R、同步置數(shù)控制輸入端S、同步置數(shù)4位數(shù)據(jù)輸入端:DATA3-DATA0;計(jì)數(shù)器溢出指示輸出端CO、計(jì)數(shù)輸出端Q3-Q0。6.1數(shù)字鐘的設(shè)計(jì)6.2數(shù)字頻率計(jì)的設(shè)計(jì)6.3函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)6.4交通信號(hào)控制器的設(shè)計(jì)6.5數(shù)字電壓表設(shè)計(jì)6.6出租車計(jì)費(fèi)系統(tǒng)第6章EDA技術(shù)綜合應(yīng)用6.1數(shù)字鐘的設(shè)計(jì)6.1.1設(shè)計(jì)要求利用VHDL設(shè)計(jì)一個(gè)數(shù)字電子鐘,使其具有如下基本功能:⑴能夠?qū)崿F(xiàn)時(shí)、分、秒計(jì)時(shí)并以數(shù)字形式顯示,時(shí)、分、秒各占2位;⑵小時(shí)為24進(jìn)制,分和秒為60進(jìn)制;⑶能夠通過(guò)按鍵調(diào)整時(shí)間和復(fù)位;⑷可以進(jìn)行整點(diǎn)報(bào)時(shí);⑸能夠輸出用于6位數(shù)碼管動(dòng)態(tài)掃描顯示的控制信息。6.1.2設(shè)計(jì)方案七段譯碼器秒計(jì)數(shù)器分計(jì)數(shù)器時(shí)計(jì)數(shù)器校時(shí)電路秒信號(hào)發(fā)生器報(bào)時(shí)電路圖6-1數(shù)字鐘的系統(tǒng)組成框圖6.1數(shù)字鐘的設(shè)計(jì)6.1.3模塊設(shè)計(jì)圖6-2秒計(jì)數(shù)器模塊⒈秒計(jì)數(shù)器模塊6.1數(shù)字鐘的設(shè)計(jì)6.1數(shù)字鐘的設(shè)計(jì)⒉分計(jì)數(shù)器模塊分鐘計(jì)數(shù)模塊和秒計(jì)數(shù)模塊均為60進(jìn)制計(jì)數(shù)器,參考程序如秒計(jì)數(shù)器。⒊小時(shí)計(jì)數(shù)器模塊6.1數(shù)字鐘的設(shè)計(jì)圖6-3小時(shí)計(jì)數(shù)器模塊6.1數(shù)字鐘的設(shè)計(jì)⒋譯碼掃描顯示模塊6.1數(shù)字鐘的設(shè)計(jì)圖6-4動(dòng)態(tài)掃面顯示模塊6.1數(shù)字鐘的設(shè)計(jì)⒌校時(shí)模塊6.1數(shù)字鐘的設(shè)計(jì)⒍分頻模塊6.1數(shù)字鐘的設(shè)計(jì)⒎報(bào)時(shí)模塊

當(dāng)時(shí)鐘到達(dá)整點(diǎn)時(shí),揚(yáng)聲器發(fā)出報(bào)警信號(hào)。該電路為一個(gè)與門(mén)電路,當(dāng)分進(jìn)位輸出脈沖為高電平1時(shí),揚(yáng)聲器響起。⒏頂層模塊設(shè)計(jì)6.1數(shù)字鐘的設(shè)計(jì)圖6-7數(shù)字鐘頂層模塊6.1.4仿真分析圖6-8秒(分)計(jì)數(shù)脈沖輸出仿真波形圖6.1數(shù)字鐘的設(shè)計(jì)圖6-9小時(shí)計(jì)數(shù)器模塊圖6-10掃描顯示模塊6.2數(shù)字頻率計(jì)的設(shè)計(jì)6.2.1設(shè)計(jì)要求設(shè)計(jì)一個(gè)4位簡(jiǎn)易頻率計(jì),測(cè)量給定信號(hào)的頻率,并用十進(jìn)制數(shù)字顯示,具體指標(biāo)為:⑴測(cè)量范圍,分4檔(用數(shù)碼管讀數(shù)×檔位):①×1檔,1Hz-9.999KHz,閘門(mén)時(shí)間1s;②×10檔,10Hz-99.99KHz,閘門(mén)時(shí)間0.1s;③×100檔,100Hz-999.9KHz,閘門(mén)時(shí)間10ms;④×1000檔,1000Hz-9999KHz,閘門(mén)時(shí)間1ms。⑵顯示方式:4位十進(jìn)制數(shù)。⑶用動(dòng)態(tài)掃描方式輸出顯示控制信號(hào)。6.2.2設(shè)計(jì)方案6.2數(shù)字頻率計(jì)的設(shè)計(jì)計(jì)數(shù)器鎖存器分頻顯示控制檔位選擇被測(cè)信號(hào)信號(hào)整形數(shù)碼顯示核心控制電路測(cè)頻控制基準(zhǔn)時(shí)鐘圖6-11數(shù)字頻率計(jì)組成框圖6.2.3模塊設(shè)計(jì)⒈測(cè)頻控制模塊6.2數(shù)字頻率計(jì)的設(shè)計(jì)⒉計(jì)數(shù)模塊6.2數(shù)字頻率計(jì)的設(shè)計(jì)圖6-13計(jì)數(shù)模塊6.2數(shù)字頻率計(jì)的設(shè)計(jì)⒊鎖存模塊6.2數(shù)字頻率計(jì)的設(shè)計(jì)⒋顯示模塊6.2數(shù)字頻率計(jì)的設(shè)計(jì)6.2數(shù)字頻率計(jì)的設(shè)計(jì)⒌分頻模塊6.2數(shù)字頻率計(jì)的設(shè)計(jì)6.2數(shù)字頻率計(jì)的設(shè)計(jì)⒍頂層模塊圖6-17數(shù)字頻率計(jì)頂層模塊圖6.2數(shù)字頻率計(jì)的設(shè)計(jì)6.2.4仿真分析圖6-18測(cè)頻模塊仿真波形圖圖6-19計(jì)數(shù)模塊仿真波形圖圖6-20鎖存模塊仿真波形圖6.2數(shù)字頻率計(jì)的設(shè)計(jì)圖6-21分頻模塊仿真波形圖圖6-22頂層模塊仿真波形圖圖6-23高精度頻率計(jì)測(cè)量原理圖6.3函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)6.3.1設(shè)計(jì)要求

設(shè)計(jì)一個(gè)智能函數(shù)信號(hào)發(fā)生器,能夠以穩(wěn)定的頻率產(chǎn)生正弦波、三角波、鋸齒波和方波,并能夠通過(guò)按鍵選擇輸出4種不同種類的函數(shù)波形,同時(shí)具有系統(tǒng)復(fù)位功能。6.3.2設(shè)計(jì)方案圖6-23函數(shù)信號(hào)發(fā)生器組成框圖6.3.3模塊設(shè)計(jì)⒈正弦波產(chǎn)生模塊圖6-24正弦波產(chǎn)生原理圖6.3函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)⑴定制LPM計(jì)數(shù)器圖6-25〖MegaWizardPlug-InManager[page1〗對(duì)話框圖6-26〖MegaWizardPlug-InManager[page2a]〗對(duì)話框6.3函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)圖6-27〖MegaWizardPlug-InManager–LPM_CO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論