基于FPGA的等精度數(shù)字頻率計課程設(shè)計報告_第1頁
基于FPGA的等精度數(shù)字頻率計課程設(shè)計報告_第2頁
基于FPGA的等精度數(shù)字頻率計課程設(shè)計報告_第3頁
基于FPGA的等精度數(shù)字頻率計課程設(shè)計報告_第4頁
基于FPGA的等精度數(shù)字頻率計課程設(shè)計報告_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 I / 28課程設(shè)計課程設(shè)計 題目:題目:基于基于 FPGAFPGA 的等精度數(shù)字頻率計設(shè)計的等精度數(shù)字頻率計設(shè)計 II / 28摘要摘要伴隨著集成電路(IC)技術(shù)的發(fā)展,電子設(shè)計自動化(EDA)逐漸成為重要的設(shè)計手段,已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。電子設(shè)計自動化是一種實現(xiàn)電系統(tǒng)或電子產(chǎn)品自動化設(shè)計的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),它吸收了計算機科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計算機作為工作平臺,促進(jìn)了工程發(fā)展。數(shù)字頻率計是一種基本的測量儀器。它被廣泛應(yīng)用與航天、電子、測控等領(lǐng)域。采用等精度頻率測量方法具有測量精度保持恒定,不隨所測信號的變化而變化的特點。

2、本文首先綜述了 EDA 技術(shù)的發(fā)展概況,F(xiàn)PGA/CPLD 開發(fā)的涵義、優(yōu)缺點,VHDL 語言的歷史與其優(yōu)點,概述了 EDA 軟件平臺QUARTUS;然后介紹了頻率測量的一般原理,利用等精度測量原理,通過 FPGA 運用 VHDL 編程,利用 FPGA(現(xiàn)場可編程門陣列)芯片設(shè)計了一個 8 位數(shù)字式等精度頻率計,該頻率計的測量圍為 0-100MHZ,利用 QUARTUS 集成開發(fā)環(huán)境進(jìn)行編輯、綜合、波形仿真,并下載到 CPLD 器件中,經(jīng)實際電路測試,仿真和實驗結(jié)果表明,該頻率計有較高的實用性和可靠性。關(guān)鍵詞關(guān)鍵詞: :電子設(shè)計自動化;VHDL 語言;頻率測量;數(shù)字頻率計 目目 錄錄摘 要 I

3、目 錄 III III / 281. 緒 論 11.2 基于 EDA 的 FPGA/ CPLD 開發(fā) 21.3 硬件描述語言(HDL)3VHDL 語言簡介 31.4 QuartusII 概述 42. 頻率測量 62.1 數(shù)字頻率計工作原理概述 6 2.2 采用等精度測量本章小結(jié).83. 數(shù)字頻率計的系統(tǒng)設(shè)計與功能仿真 83.1 系統(tǒng)的總體設(shè)計 83.2 信號源模塊 93.3 鎖存器 123.4 十進(jìn)制計數(shù)器 133.5 顯示模塊 143.5.1 顯示模塊設(shè)計 143.52 顯示電路 153.5.3 譯碼器 15本章小結(jié) 16結(jié) 論 16附錄:頻率計頂層文件 18信號源模塊源程序 1932 位鎖

4、存器源程序 19有時鐘使能的十進(jìn)制計數(shù)器的源程序 20顯示模塊源程序 21 1 / 281.1. 緒緒 論論21 世紀(jì)人類將全面進(jìn)入信息化社會,對微電子信息技術(shù)和微電子 VLSI 基礎(chǔ)技術(shù)將不斷提出更高的發(fā)展要求,微電子技術(shù)仍將繼續(xù)是 21 世紀(jì)若干年代中最為重要的和最有活力的高科技領(lǐng)域之一。而集成電路(IC)技術(shù)在微電子領(lǐng)域占有重要的地位。伴隨著 IC 技術(shù)的發(fā)展,電子設(shè)計自動化(Electronic Design Automation, EDA)己經(jīng)逐漸成為重要設(shè)計手段,其廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。EDA 是指以計算機大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件與實驗開發(fā)系統(tǒng)為設(shè)計工具,通

5、過有關(guān)開發(fā)軟件,自動完成用軟件方式設(shè)計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合與優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)1。VHDL(超高速集成電路硬件描述語言)是由美國國防部開發(fā)的一種快速設(shè)計電路的工具,目前已經(jīng)成為 IEEE(The Institute of Electrical and Electronics Engineers)的一種工業(yè)標(biāo)準(zhǔn)硬件描述語言。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計方法,VHDL 具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下(Top_Down)和基于庫(Li

6、braryBased)的設(shè)計的特點,因此設(shè)計者可以不必了解硬件結(jié)構(gòu)。從系統(tǒng)設(shè)計入手,在頂層進(jìn)行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計,在方框圖一級用 VHDL 對電路的行為進(jìn)行描述,并進(jìn)行仿真和糾錯,然后在系統(tǒng)一級進(jìn)行驗證,最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表,下載到具體的 CPLD 器件中去,從而實現(xiàn)可編程的專用集成電路(ASIC)的設(shè)計。數(shù)字頻率計是數(shù)字電路中的一個典型應(yīng)用,實際的硬件設(shè)計用到的器件較多,連線比較復(fù)雜,而且會產(chǎn)生比較大的延時,造成測量誤差,可靠性差。隨著復(fù)雜可編程邏輯器件(CPLD)的廣泛應(yīng)用,以 EDA 工具作為開發(fā)手段,運用 VHDL 語言。將使整個系統(tǒng)大大簡化。提

7、高整體的性能和可靠性。數(shù)字頻率計是通信設(shè)備、音、視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。采用VHDL 編程設(shè)計實現(xiàn)的數(shù)字頻率計,除被測信號的整形部分、鍵輸入部分和數(shù)碼顯示部分外,其余全部在一片 FPGA 芯片上實現(xiàn)。整個系統(tǒng)非常精簡,且具有靈活的現(xiàn)場可更改性。本文用 VHDL 在 CPLD 器件上實現(xiàn)一種 8 位數(shù)字頻率計測頻系統(tǒng),能夠用十進(jìn)制數(shù)碼顯示被測信號的頻率,不僅能夠測量正弦波、方波和三角波等信號的頻率,而且能 2 / 28對其他多種頻率信號進(jìn)行測量。具有體積小、可靠性高、功耗低的特點。1.21.2 基于基于 EDAEDA 的的 FPGA/FPGA/ CPLDCPLD 開發(fā)開發(fā)我國的電子

8、設(shè)計技術(shù)發(fā)展到今天,將面臨一次更大意義的突破,即 FPGA/CPLD ( Field Programmable Gate Array,現(xiàn)場可編程門陣列/Complex Programmable Logic Device,復(fù)雜可編程邏輯器件)在 EDA 基礎(chǔ)上的廣泛應(yīng)用。從某種意義上說,新的電子系統(tǒng)運轉(zhuǎn)的物理機制又將回到原來的純數(shù)字電路結(jié)構(gòu),但卻是一種更高層次的循環(huán),它在更高層次上容納了過去數(shù)字技術(shù)的優(yōu)秀部分,對(Micro Chip Unit ) MCU 系統(tǒng)是一種揚棄,在電子設(shè)計的技術(shù)操作和系統(tǒng)構(gòu)成的整體上發(fā)生了質(zhì)的飛躍。如果說 MCU在邏輯的實現(xiàn)上是無限的話,那么 FPGA/CPLD 不但

9、包括了 MCU 這一特點,而且可以觸與硅片電路線度的物理極限,并兼有串、并行工作方式,高速、高可靠性以與寬口徑適用性等諸多方面的特點。不但如此,隨著 EDA 技術(shù)的發(fā)展和 FPGA/CPLD 在深亞微米領(lǐng)域的進(jìn)軍,它們與 MCU, MPU, DSP, A/D, D/A, RAM 和 ROM 等獨立器件間的物理與功能界限已日趨模糊。特別是軟/硬 IP 芯核(知識產(chǎn)權(quán)芯核;Intelligence Property Core,一種已注冊產(chǎn)權(quán)的電路設(shè)計)產(chǎn)業(yè)的迅猛發(fā)展,嵌入式通用與標(biāo)準(zhǔn) FPGA 器件的呼之欲出,片上系統(tǒng)(SOC)已經(jīng)近在咫尺。FPGA/CPLD 以其不可替代的地位與伴隨而來的極具知

10、識經(jīng)濟(jì)特征的 IP 芯核產(chǎn)業(yè)的崛起,正越來越受到業(yè)人士的密切關(guān)注。FPGA/CPLDFPGA/CPLD 簡介簡介FPGA 和 CPLD 都是高密度現(xiàn)場可編程邏輯芯片,都能夠?qū)⒋罅康倪壿嫻δ芗捎谝粋€單片集成電路中,其集成度已發(fā)展到現(xiàn)在的幾百萬門。復(fù)雜可編程邏輯器件 CPLD 是由 PAL ( Programmable Array Logic,可編程數(shù)組邏輯)或 GAL ( Generic Array Logic,通用數(shù)組邏輯)發(fā)展而來的。它采用全局金屬互連導(dǎo)線,因而具有較大的延時可預(yù)測性,易于控制時序邏輯;但功耗比較大。現(xiàn)場可編程門陣列(FPGA)是由掩膜可編程門陣列(MPGA)和可編程邏輯器

11、件二者演變而來的,并將它們的特性結(jié)合在一起,因此 FPGA 既有門陣列的高邏輯密度和通用性,又有可編程邏輯器件的用戶可編程特性。FPGA 通常由布線資源分隔的可編程邏輯單元(或宏單元)構(gòu)成數(shù)組,又由可編程 I/O 單元圍繞數(shù)組構(gòu)成整個芯片。其部資源是分段互聯(lián)的,因而延時不可預(yù)測,只有編程完畢后才能實際測量。CPLD 和 FPGA 建立部可編程邏輯連接關(guān)系的編程技術(shù)有三種:基于反熔絲技術(shù)的器件只允許對器件編程一次,編程后不能修改。其優(yōu)點是集成度、工作頻率和可靠性都很高,適用于電磁輻射干擾較強的惡劣環(huán)境。基于 EEPROM 存技術(shù)的可編程邏輯芯片能夠重復(fù)編程 100 次以上,系統(tǒng)掉電后編程信息也不

12、會丟失。編程方法分為在編程器上 3 / 28編程和用下載電纜編程。用下載電纜編程的器件,只要先將器件裝焊在印刷電路板上,通過 PC, SUN 工作站、ATE(自動測試儀)或嵌入式微處理器系統(tǒng),就能產(chǎn)生編程所用的標(biāo)準(zhǔn) 5V, 3.3V 或 2.5V 邏輯電平信號,也稱為 ISP ( In System Programmable)方式編程,其調(diào)試和維修也很方便?;?SRAM 技術(shù)的器件編程數(shù)據(jù)存儲于器件的 RAM 區(qū)中,使之具有用戶設(shè)計的功能。在系統(tǒng)不加電時,編程數(shù)據(jù)存儲在 EPROM、硬盤、或軟盤中。系統(tǒng)加電時將這些編程數(shù)據(jù)實時寫入可編程器件,從而實現(xiàn)板級或系統(tǒng)級的動態(tài)配置。1.31.3 硬件

13、描述語言硬件描述語言(HDL)(HDL)硬件描述語言(HDL)是相對于一般的計算機軟件語言如 C , Pascal 而言的。 HDL是用于設(shè)計硬件電子系統(tǒng)的計算機語言,它描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接方式。設(shè)計者可以利用 HDL 程序來描述所希望的電路系統(tǒng),規(guī)定其結(jié)構(gòu)特征和電路的行為方式;然后利用綜合器和適配器將此程序變成能控制 FPGA 和 CPLD 部結(jié)構(gòu)、并實現(xiàn)相應(yīng)邏輯功能的門級或更底層的結(jié)構(gòu)網(wǎng)表文件和下載文件。硬件描述語言具有以下幾個優(yōu)點:a.設(shè)計技術(shù)齊全,方法靈活,支持廣泛。b.加快了硬件電路的設(shè)計周期,降低了硬件電路的設(shè)計難度。 c.采用系統(tǒng)早期仿真,在系統(tǒng)設(shè)計早期就可發(fā)現(xiàn)

14、并排除存在的問題。d.語言設(shè)計與工藝技術(shù)無關(guān)。e.語言標(biāo)準(zhǔn),規(guī),易與共享和復(fù)用。就FPGA/CPLD 開發(fā)來說,VHDL 語言是最常用和流行的硬件描述語言之一。本次設(shè)計選用的就是 VHDL 語言,下面將主要對 VHDL 語言進(jìn)行介紹。VHDLVHDL 語言簡介語言簡介VHDL 是超高速集成電路硬件描述語言的英文字頭縮寫簡稱,其英文全名是 Very-High -Speed Integrated Circuit Hardware Description Language。它是在 70 80年代中由美國國防部資助的 VHSIC(超高速集成電路)項目開發(fā)的產(chǎn)品,誕生于 1982 年。1987 年底,V

15、HDL 被 IEEE(The Institute of Electrical and Electronics Engineers)確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。自 IEEE 公布了 VHDL 的標(biāo)準(zhǔn)版本(IEEE std 1076-1987 標(biāo)準(zhǔn))之后,各 EDA 公司相繼推出了自己的 VHDL 設(shè)計環(huán)境。此后,VHDL 在電子設(shè)計領(lǐng)域受到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn) HDL。1993 年,IEEE 對 VHDL 進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展 VHDL 的容,公布了新版本的 VHDL,即ANSI/IEEE std 1076-1993 版本。1996 年 IEEE 107

16、6.3 成為 VHDL 綜合標(biāo)準(zhǔn)。VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,非常適用于可編程邏輯 4 / 28芯片的應(yīng)用設(shè)計。與其它的 HDL 相比,VHDL 具有更強的行為描述能力,從而決定了它成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。就目前流行的 EDA 工具和 VHDL綜合器而言,將基于抽象的行為描述風(fēng)格的 VHDL 程序綜合成為具體的 FPGA 和 CPLD 等目標(biāo)器件的網(wǎng)表文件己不成問題。VHDL 語言在硬件設(shè)計領(lǐng)域的作用將與 C 和 C+在軟件設(shè)計領(lǐng)域的作用一樣,在大規(guī)模數(shù)字系統(tǒng)的設(shè)計中

17、,它將逐步取代如邏輯狀態(tài)表和邏輯電路圖等級別較低的繁瑣的硬件描述方法,而成為主要的硬件描述工具,它將成為數(shù)字系統(tǒng)設(shè)計領(lǐng)域中所有技術(shù)人員必須掌握的一種語言。VHDL 和可編程邏輯器件的結(jié)合作為一種強有力的設(shè)計方式,將為設(shè)計者的產(chǎn)品上市帶來創(chuàng)紀(jì)錄的速度。1.41.4 QuartusIIQuartusII 概述概述QuartusII 是 Altera 提供的 FPGA/CPLD 開發(fā)集成環(huán)境,Altera 是世界上最大的可編程邏輯器件供應(yīng)商之一。QuartusII 在 21 世紀(jì)初推出,是 Altera 前一代 FPGA/CPLD集成開發(fā)環(huán)境 MAX+PLUSII 的更新?lián)Q代產(chǎn)品,其界面友好,使用便

18、捷。它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進(jìn)行設(shè)計輸入、快速處理和器件編程。Altera 的 QuartusII 提供了完整的多平臺設(shè)計環(huán)境,能滿足各種特定設(shè)計的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計的綜合性環(huán)境和 SOPC 開發(fā)的基本設(shè)計工具,并為Altera DSP 開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計提供了集成組合環(huán)境。QuartusII 設(shè)計工具完全支持 VHDL、Verilog 的設(shè)計流程,其部嵌有 VHDL、Verilog 邏輯綜合器。QuartusII 也可利用第三方的綜合工具。同樣,QuartusII 具備仿真功能,同時也支持第三方的仿真工具,如 ModelSim。此外,Qu

19、artusII 與 MATLAB 和 DSP Builder 結(jié)合,可以進(jìn)行基于FPGA 的 DSP 系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā)。QuartusII 包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analsis & Synthesis) 、適配器(Fitter) 、裝配器(Assembler) 、時序分析器(Timing Analyzer) 、設(shè)計輔助模塊(Design Assistant) 、EDA 網(wǎng)表文件生成器(EDA Netlist Writer) 、編輯數(shù)據(jù)接口(Compiler Database Interface)等??梢酝ㄟ^選擇 Start Compilation

20、來運行所有的編譯器模塊,也可以通過選擇 Start 單獨運行各個模塊。還可以通過選擇 Compiler Tool(Tools 菜單) ,在 Compiler Tool 窗口中運行該模塊來啟動編譯器模塊。在 Compiler Tool 窗口中,可以打開該模塊的設(shè)置文件或報告文件,或打開其他相關(guān)窗口。此外,QuartusII 還包含許多十分有用的 LPM(Library of Parameterized Modules)模塊,它們是復(fù)雜或高級系統(tǒng)構(gòu)建的重要組成部分,在 SOPC 設(shè)計中被大量 5 / 28使用,也可以與 QuartusII 普通設(shè)計文件一起使用。Altera 提供的 LPM 函數(shù)均

21、基于Altera 器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。在許多實用情況中,必須使用宏功能模塊才可以使用一些 Altera 特定器件的硬件功能,如各類片上存儲器、DSP 模塊、LVDS 驅(qū)動器、PLL 以與 SERDES 和 DDIO 電路模塊等。QuartusII 編譯器支持的硬件描述語言有 VHDL(支持 VHDL87 與 VHDL97 標(biāo)準(zhǔn))、Verilog HDL 與 AHDL(Altera HDL)。QuartusII 支持層次化設(shè)計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計方式完成的模塊(元件)進(jìn)行調(diào)用,從而解決了原理圖與 HDL 混合輸入設(shè)計的問題。在設(shè)計輸入之后,QuartusII 的編

22、譯器將給出設(shè)計輸入的錯誤報告??梢允褂肣uartusII 帶有的 RTL Viewer 觀察綜合后的 RTL 圖。QuartusII 作為目前 CPLD/FPGA 開發(fā)工具理想的綜合、仿真軟件,具有許多優(yōu)良的特性。(1)繼承了 MAX+PLUSII 的優(yōu)點圖形輸入依然形象,圖形符號與 MAX+PLUSII 一樣符合數(shù)字電路的特點,大量 74系列器件符號使能初學(xué)者在較短的時間里利用圖形編輯設(shè)計出需要的電路。文本輸入幾乎和 MAX+PLUSII 一樣,而且在文本的每一行都有行號,使用語言編寫的電路清晰易讀。低層編輯仍然采用 Chipview 方式,引腳排列位置映射了實際器件引腳,只要簡單地鼠標(biāo)拖放

23、即可完成低層編輯。(2)支持的器件更多除了支持 MAX3000、MAX7000、FLEX6000、FLEX10KE、ACEX1K 等 MAX+PLUSII 已經(jīng)支持的器件外,還支持 PEX20K、APEX20KE、AREXII、EXCALIBUR-ARM、Mercury、Stratix 等 MAX+PLUSII 下無法支持的大容量高性能的器件。(3)增加了網(wǎng)絡(luò)編輯功能QuartusII 支持一個工作組環(huán)境下的設(shè)計要求,包括支持基于 Internet 的協(xié)作設(shè)計,與 Cadence、ExemplarLogi、MentorGraphics、Synopsys 和 Synplicity 等 EDA 供

24、應(yīng)商的開發(fā)工具相兼容。(4)提升了調(diào)試能力QuartusII 增加了一個新的快速適配編譯選項,可保留最佳性能的設(shè)置,加快了編譯過程,可縮短 50%的編譯時間,對設(shè)計性能的影響小。(5)不足之處軟件結(jié)構(gòu)龐大,使用復(fù)雜,不如 MAX+PLUSII 簡單、易學(xué)易用。 6 / 282.2. 頻率測量頻率測量2.12.1 數(shù)字頻率計工作原理概述數(shù)字頻率計工作原理概述數(shù)字頻率計的設(shè)計原理實際上是測量單位時間的周期數(shù)。這種方法免去了實測以前的預(yù)測,同時節(jié)省了劃分頻段的時間,克服了原來高頻段采用測頻模式而低頻段采用測周期模式的測量方法存在換擋速度慢的缺點。采用一個標(biāo)準(zhǔn)的基準(zhǔn)時鐘,在單位時間(1s)里對被測信號

25、的脈沖數(shù)進(jìn)行計數(shù),即為信號的頻率。由于閘門的起始和結(jié)束時刻對于信號來說是隨機的,將會有一個脈沖周期的量化誤差。進(jìn)一步分析測量準(zhǔn)確度:設(shè)待測信號脈沖周期為 Tx,頻率為 Fx,當(dāng)測量時間為 T=1s 時,測量準(zhǔn)確度為=Tx/T=1/Fx。由此可知直接測頻法的測量準(zhǔn)確度與信號的頻率有關(guān):當(dāng)待測信號頻率較高時,測量準(zhǔn)確度也較高,反之測量準(zhǔn)確度也較低。因此直接測頻法只適合測量頻率較高的信號,不能滿足在整個測量頻段的測量精度保持不變的要求。 為克服低頻段測量的不準(zhǔn)確問題,采用門控信號和被測信號對計數(shù)器的使能信號進(jìn)行雙重控制,大大提高了準(zhǔn)確度。當(dāng)門控信號為 1 時,使能信號并不為 1,只有被測信號的上升沿

26、到來時,使能端才開始發(fā)送有效信號,兩個計數(shù)器同時開始計數(shù)。當(dāng)門控信號變?yōu)?0 時,使能信號并不是立即改變,而是當(dāng)被測信號的下一個上升沿到來時才變?yōu)?0,計數(shù)器停止計數(shù)。因此測量的誤差最多為一個標(biāo)準(zhǔn)時鐘周期。當(dāng)采用100MHz 的信號作為標(biāo)準(zhǔn)信號時,誤差最大為 0.01s。計算每秒鐘待測信號脈沖個數(shù)。這就要求計數(shù)使能信號 TSTEN 能產(chǎn)生一個 1 秒脈寬的周期信號,并對頻率計的每一計數(shù)器 cnt10 的 ENA 使能端進(jìn)行同步控制。當(dāng) TSTEN為高電平時,允許計數(shù);低電平時,停止計數(shù),并保持其所計的數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號 LOAD 的上跳沿將計數(shù)器在前 1 秒鐘的計數(shù)值鎖存

27、進(jìn) 32 位鎖存器 REG32B 中,并由外部的譯碼器譯出并穩(wěn)定顯示。鎖存信號之后,必須由清零信號 7 / 28CLR_CNT 對計數(shù)器進(jìn)行清零,為下一秒鐘的計數(shù)操作做準(zhǔn)備。當(dāng)系統(tǒng)正常工作時,脈沖發(fā)生器提供的 1 Hz 的輸入信號,經(jīng)過測頻控制信號發(fā)生器進(jìn)行信號的變換,產(chǎn)生計數(shù)信號,被測信號通過信號整形電路產(chǎn)生同頻率的矩形波,送入計數(shù)模塊,計數(shù)模塊對輸入的矩形波進(jìn)行計數(shù),將計數(shù)結(jié)果送入鎖存器中,保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動電路將二進(jìn)制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在數(shù)碼顯示管上可以顯示的十進(jìn)制結(jié)果。在數(shù)碼顯示管上可以看到計數(shù)結(jié)果3。頻率測量方案采用等精度頻率測量法,測量精度保持恒定,

28、不隨所測信號的變化而變化。在快速測量的要求下,要保證較高精度的測頻,必須采用較高的標(biāo)準(zhǔn)頻率信號。單片機受本身時鐘頻率和若干指令運算的限制,測頻速度較慢,無法滿足高速、高精度的測頻要求;而采用高集成度、高速的現(xiàn)場可編程門陣列 FPGA 為實現(xiàn)高速、高精度的測頻提供了保證。2.3.22.3.2 等精度測頻原理等精度測頻原理等精度測頻方法是在直接測頻方法的基礎(chǔ)上發(fā)展起來的。它的閘門時間不是固定的值,而是被測信號周期的整數(shù)倍,即與被測信號同步,因此,避除了對被測信號計數(shù)所產(chǎn)生1 個字誤差,并且達(dá)到了在整個測試頻段的等精度測量。其測頻原理如圖2.1 所示。在測量過程中,有兩個計數(shù)器分別對標(biāo)準(zhǔn)信號和被測信

29、號同時計數(shù)。首先給出閘門開啟信號(預(yù)置閘門上升沿),此時計數(shù)器并不開始計數(shù),而是等到被測信號的上升沿到來時,計數(shù)器才真正開始計數(shù)。然后預(yù)置閘門關(guān)閉信號(下降沿)到時,計數(shù)器并不立即停止計數(shù),而是等到被測信號的上升沿到來時才結(jié)束計數(shù),完成一次測量過程??梢钥闯觯瑢嶋H閘門時間 t 與預(yù)置閘門時間 t1 并不嚴(yán)格相等,但差值不超過被測信號的一個周期4。圖 2.1 等精度測頻原理波形圖等精度測頻的實現(xiàn)方法可簡化為圖 2.2 所示。CNT1 和 CNT2 是兩個可控計數(shù)器,標(biāo)準(zhǔn)頻率信號從 CNT1 的時鐘輸入端 CLK 輸入;經(jīng)整形后的被測信號從 CNT2 的時鐘輸入 8 / 28端 CLK 輸入。當(dāng)預(yù)

30、置門控信號為高電平時,經(jīng)整形后的被測信號的上升沿通過 D 觸發(fā)器的 Q 端同時啟動 CNT1 和 CNT2。CNT1、CNT2 同時對標(biāo)準(zhǔn)頻率信號和經(jīng)整形后的被測信號進(jìn)行計數(shù),分別為 NS與 NX。當(dāng)預(yù)置門信號為低電平的時候,后而來的被測信號的上升沿將使兩個計數(shù)器同時關(guān)閉,所測得的頻率為(FS/NS)*NX。則等精度測量方法測量精度與預(yù)置門寬度的標(biāo)準(zhǔn)頻率有關(guān),與被測信號的頻率無關(guān)。在預(yù)置門時間和常規(guī)測頻閘門時間一樣而被測信號頻率不同的情況下,等精度測量法的測量精度不變。圖 2.2 等精度測頻實現(xiàn)原理圖本章小結(jié)本章小結(jié)本章從各個方面說明了頻率計的工作原理,對等精度頻率計的實現(xiàn),在理論上起到了作用

31、。3. 數(shù)字頻率計的系統(tǒng)設(shè)計與功能仿真3.13.1 系統(tǒng)的總體設(shè)計系統(tǒng)的總體設(shè)計當(dāng)系統(tǒng)正常工作時,由系統(tǒng)時鐘提供的 100MHz 的輸入信號,經(jīng)過信號源模塊,先通過 100 分頻產(chǎn)生 1MHZ 的時鐘信號,再將 1MHZ 的時鐘信號分頻產(chǎn)生多種頻率輸出,其中 1HZ 的輸出頻率被作為控制模塊的時鐘輸入,7812HZ 的輸出頻率被作為顯示模塊的時鐘輸入,由控制模塊產(chǎn)生的計數(shù)使能信號 testen 和清零信號 clr 對計數(shù)模塊進(jìn)行控制,而由其產(chǎn)生的鎖存信號 load 對鎖存模塊進(jìn)行控制,一旦計數(shù)使能信號為高電平,并且時鐘上升沿到來,計數(shù)器便開始正常計數(shù),清零信號到來則計數(shù)清零,而當(dāng)鎖存信號為高電

32、平時,數(shù)據(jù)便被鎖存器鎖存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊顯示出來,數(shù)據(jù)鎖存保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動電路將二進(jìn)制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在數(shù)碼顯示管上可以顯示的十進(jìn)制結(jié)果。在數(shù)碼顯示管上可以看到計數(shù)結(jié)果。數(shù)字頻率計的原理框圖如圖 3.1 所示。主要由 5 個模塊組成,分別是:信號源模塊、控制模塊、計數(shù)模塊、鎖存器模塊和顯示器模塊6。 9 / 28圖 3.1 數(shù)字頻率計的原理框圖根據(jù)數(shù)字頻率計的系統(tǒng)原理,cnt 控制信號發(fā)生器。testctl 的計數(shù)使能信號testen 能產(chǎn)生一個 1 s 寬的周期信號,并對頻率計的每一計數(shù)器 Cnt10 的 ENA 使能端進(jìn)行同步控制:當(dāng) t

33、esten 高電平時允許計數(shù)、低電平時停止計數(shù)。reg32b 為鎖存器。在信號 load 的上升沿時,立即對模塊的輸入口的數(shù)據(jù)鎖存到reg32b 的部,并由 reg32b 的輸出端輸出,然后,七段譯碼器可以譯碼輸出。在這里使用了鎖存器,好處是可以穩(wěn)定顯示數(shù)據(jù),不會由于周期性的清零信號而不斷閃爍。 Cnt10 為十進(jìn)制計數(shù)器。有一時鐘使能輸入端 ENA,用于鎖定計數(shù)值。當(dāng)高電平時允許計數(shù),低電平時禁止計數(shù)。將八個十進(jìn)制計數(shù)器 Cnt10 級聯(lián)起來實現(xiàn) 8 位十進(jìn)制計數(shù)功能2,7 。 disply 為七段譯碼顯示驅(qū)動電路,可以將頻率計數(shù)的結(jié)果譯成能在數(shù)碼管上顯示的相對應(yīng)的阿拉伯?dāng)?shù)字,便于讀取測量的

34、結(jié)果。為了實現(xiàn)系統(tǒng)功能,測頻控制信號發(fā)生器 testctl、計數(shù)器 Cnt10、鎖存器reg32b 存在一個工作時序的問題,設(shè)計時需要綜合考慮。8位數(shù)字頻率計的頂層框圖(endfreq.bdf),設(shè)計實現(xiàn)包括信號源模塊(F1MHZ、CNT)、頻率計模塊(FREQ)和顯示模塊(display)三大模塊。下面分別介紹三個模塊的結(jié)構(gòu)和實現(xiàn)方法。 3.3.2 2 信號源模塊信號源模塊信號源是為了產(chǎn)生 1MHz 的門控信號和待測的定頻信號,而對輸入系統(tǒng)時鐘clk(50MHz)進(jìn)行分頻的模塊,設(shè)計源代碼 PIN1MHZ.VHD 對輸入系統(tǒng)時鐘 10 / 28clk(50MHz)進(jìn)行分頻產(chǎn)生 1MHz 信號

35、。PIN1MHZ 的封裝圖如 3.2 所示,圖中 CLKIN 為接入的 100MHZ 信號,圖中 CLKOUT 為接到 CNT 的 CLK 的 1MHZ 的信號。圖3.2 PIN1MHZ封裝圖PIN1MHZ 的工作時序仿真圖如圖 3.3 所示。圖 3.3 信號源模塊仿真圖從 PIN1MHZ 的工作時序仿真圖可以看出:由系統(tǒng)時鐘提供的 100MHz 的輸入信號,經(jīng)過信號源模塊,通過 100 分頻產(chǎn)生 1MHZ 的時鐘信號,達(dá)到了設(shè)計所需的預(yù)期效果。3.33.3 分頻器分頻器此程序要求將1MHZ的輸入頻率分別進(jìn)行21分頻(產(chǎn)生500KHZ的輸出頻freq500k)、23分頻(產(chǎn)生125 KHZ的輸

36、出頻率freq125k)、25 分頻(產(chǎn)生31250HZ的輸出頻freq31250)、27分頻(產(chǎn)生7812HZ的輸出頻率freq7812)、29分頻(產(chǎn)生1953HZ的輸出頻率freq1953)、211分頻(產(chǎn)生488HZ的輸出頻率freq488)、213分頻(產(chǎn)生1HZ的輸出頻率freq1)。 CNT的封裝圖如圖3.4,圖中CLK為PIN1MHZ輸入的1MHZ信號,freq1為輸出給控制信號發(fā)生器的1HZ信號,7812HZ的輸出頻率freq7812被作為顯示模塊的時鐘輸入,freq 488、freq1953、freq31250、freq125K、freq500K作為待測信號。圖3.4CNT

37、封裝圖CNT 的工作時序仿真圖如圖 3.5 所示。 11 / 28圖 3.5 CNT 的時序仿真圖當(dāng) 1MHZ 頻率波形輸入后,分別產(chǎn)生了設(shè)計所需要的 500KHZ 的輸出頻freq500k,125 KHZ 的輸出頻率 freq125k,31250HZ 的輸出頻 freq31250,7812HZ 的輸出頻率 freq7812,1953HZ 的輸出頻率 freq1953,488HZ 的輸出頻率 freq488,1HZ 的輸出頻率 freq1。3.43.4 測頻控制信號產(chǎn)生器測頻控制信號產(chǎn)生器控制模塊的作用是產(chǎn)生測頻所需要的各種控制信號??刂菩盘柕臉?biāo)準(zhǔn)輸入時鐘為1HZ,每兩個時鐘周期進(jìn)行一次頻率測

38、量。該模塊產(chǎn)生的 3 個控制信號,分別為TSTEN,LOAD,CLR_CNT.CLR_CNT 信號用于在每次測量開始時,對計數(shù)器進(jìn)行復(fù)位,以清除上次測量的結(jié)果,該復(fù)位信號高電平有效,持續(xù)半個時鐘周期的時間。TSTEN 為計數(shù)允許信號,在 TSTEN 信號的上升沿時刻計數(shù)模塊開始對輸入信號的頻率進(jìn)行測量,測量時間恰為一個時鐘周期(正好為單位時間 1s),在此時間里被測信號的脈沖數(shù)進(jìn)行計數(shù),即為信號的頻率。然后將值鎖存,并送到數(shù)碼管顯示出來。設(shè)置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。在每一次測量開始時,都必須重新對計數(shù)器清 07。測頻控制產(chǎn)生器如圖 3.6,圖中 CL

39、K 接 CNT 的 FREQ1 的 1HZ 的信號,TSTEN 為計數(shù)允許信號,接計數(shù)器 CNT10 的 ENA,CLR_CNT 信號用于在每次測量開始時,對計數(shù)器進(jìn)行復(fù)位,接計數(shù)器 CNT10 的 CLR,LOAD 接鎖存器的 LOAD。圖 3.6 TESTCTL 的封裝圖測頻控制信號發(fā)生器 TESTCTL 的工作時序圖,控制模塊的幾個控制信號的時序關(guān)系圖如圖 3.7 所示。 12 / 28圖3.7 TESTCTL的時序仿真圖從圖中可看出,計數(shù)使能信號 TSTEN 在 1s 的高電平后,利用其反相值的上跳沿產(chǎn)生一個鎖存信號 LOAD,隨后產(chǎn)生清 0 信號上跳沿 CLR_CNT。為了產(chǎn)生這個時

40、序圖需首先建立一個由 D 觸發(fā)器構(gòu)成的二分頻器,在每次時鐘 CLK 上升沿到來時令其翻轉(zhuǎn)。其中,控制信號時鐘 clk 的頻率取 1HZ,而信號 TSTEN 的脈寬恰好為 1s,可以用作閘門信號。此時,根據(jù)測頻的時序要求,可得出信號 LOAD 和 CLR_CNT 的邏輯描述。由圖可知,在計數(shù)完成后,計數(shù)使能信號 TETEN 在 1s 的高電平后,利用其反相值的上跳沿產(chǎn)生一個鎖存信號 LOAD,0.5s 后,CLR_CNT 產(chǎn)生一個請零信號上跳沿。3.53.5 鎖存器鎖存器鎖存器模塊也是必不可少的,測量模塊測量完成后,在load信號的上升沿時刻將測量值鎖存到寄存器中,然后輸出到顯示模塊。鎖存器是起

41、數(shù)據(jù)保持的作用,它將會把數(shù)據(jù)保存到下次觸發(fā)或復(fù)位。主要是主從觸發(fā)器組成的。用于存儲數(shù)據(jù)來進(jìn)行交換,使數(shù)據(jù)穩(wěn)定下來保持一段時間不變化,直到新的數(shù)據(jù)將其替換。鎖存器REG32B的封裝如圖3.8,圖中LOAD接控制測頻產(chǎn)生器TESTCTL的LOAD,而DIN31.0接計數(shù)器CNT10的CQ3.0,DOUT31.0接顯示器display的in端。圖3.8 REG32B的封裝圖32 位鎖存器 REG32B 的工作時序圖如圖 3.9。圖 3.9 REG32B 的時序仿真圖本程序是用來實現(xiàn)鎖存器模塊的功能,但它的程序相當(dāng)簡單,在鎖存信號 load 的上升沿到來時,鎖存器將測量值鎖存到寄存器,然后輸出到顯示模

42、塊。但從仿真圖 3.9 13 / 28中可以明顯的看出,鎖存輸出并不是立即進(jìn)行的,而是經(jīng)歷了一個短暫的延時,這是由于硬件引起的。3.63.6 十進(jìn)制十進(jìn)制計數(shù)器計數(shù)器計數(shù)器模塊是由 8 個帶有異步清零端,進(jìn)位信號輸出的模為 10 的計數(shù)模塊級連而成。通過(freq.vhd)進(jìn)行元件例化實現(xiàn)。此十進(jìn)制計數(shù)器的特殊之處是,有一時鐘使能輸入端 ENA,用于鎖定計數(shù)器。當(dāng)高電平計數(shù)允許,低電平時計數(shù)禁止。計數(shù)器模塊用于對輸入信號的脈沖進(jìn)行計數(shù),該模塊必須有計數(shù)允許、異步清零等端口,以便于控制模塊對其進(jìn)行控制。CNT10 的封裝如圖 3.10,其中 CLR 為復(fù)位接 TESTCTL 的 CLR_CNT

43、端,ENA 接TESTCTL 的 TSTEN 端,CQ3.0接鎖存器的 DOUT31.0端。圖 3.10 CNT10 的封裝圖有時鐘使能的十進(jìn)制計數(shù)器CNT10的工作時序仿真如圖3.11。圖 3.11 CNT10 的時序仿真圖此程序模塊實現(xiàn)的功能是帶使能端的 10 進(jìn)制計數(shù)。程序要求只有當(dāng)使能端信號為高電平時計數(shù)器才能正常工作,每個時鐘的上升沿到來時計數(shù)器加 1,因為這里要實現(xiàn)的是 10 進(jìn)制計數(shù),所以當(dāng)計數(shù)到 10 時計數(shù)器清零,同時產(chǎn)生進(jìn)位信號,這里的進(jìn)位信號僅為一個脈沖信號,一旦計數(shù)從 10 變?yōu)?1,脈沖信號立即變?yōu)榈碗娖?。同時該計數(shù)器也應(yīng)帶有清零信號,一旦清零信號為高電平,計數(shù)器立即

44、清零。3.73.7 顯示模塊顯示模塊3.7.13.7.1 顯示模塊設(shè)計顯示模塊設(shè)計LED有段碼和位碼之分,所謂段碼就是讓LED顯示出八位數(shù)據(jù),一般情況下要通過一個譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與LED顯示對應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對于共陰級的LED而言,低電平使能,在本設(shè)計中設(shè)計了一個3位的循環(huán)計數(shù)器,將計數(shù)結(jié)果輸入到譯碼器,譯碼結(jié)果輸出即可依次使能每個LED。例如:要讓8個LED同時工作顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個LED,并在使能每一個LED的同時,輸入所需顯示的數(shù)據(jù)對應(yīng)的8位段碼。雖然8個LED是依次顯示,但是受視覺分 14 / 28辨率的影響,看到的現(xiàn)象

45、是8個LED同時工作。display 模塊的頂層圖如下所示。CNT計數(shù)產(chǎn)生掃描信號(位碼),LED模塊用于查表產(chǎn)生LED段碼輸出。圖3.12位display的封裝圖。圖中in0in7接鎖存器的DOUT31.0端。in73.0in63.0in53.0in43.0in33.0in23.0in13.0in03.0clklout76.0SEL2.0displayinst圖3.12display的封裝圖display 工作時序圖如下圖 3.13。圖 3.13 disply 工作時序圖用 8 個 LED 將待測頻率顯示出來,將通過十進(jìn)制計數(shù)器的時鐘信號 CLK,輸出為時鐘信號計數(shù)譯碼后的顯示驅(qū)動端,在八段

46、 LED 譯碼為對應(yīng)的八段二進(jìn)制編碼,并由數(shù)碼顯示器顯示出來。圖 3.13 中為相應(yīng)二進(jìn)制編碼與相對應(yīng)的屏顯數(shù)字。 15 / 283.7.23.7.2 顯示電路顯示電路圖 3.14display 硬件結(jié)構(gòu)圖此部分如圖 3.14,圖中主要由 07 循環(huán)累加器、3-8 譯碼器、BCD-7 段顯示譯碼器、8 選 1 多路數(shù)據(jù)開關(guān)和 8 個 LED 顯示器組成的掃描數(shù)碼顯示器。3.7.33.7.3 譯碼器譯碼器74138 譯碼器作為數(shù)據(jù)分配器的功能表如表 1 所示。表 1 74LS138 編碼器作為數(shù)據(jù)分配器的功能表輸入輸出EN1EN2BEN2AC B AY0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

47、 0 0 X X X X 1 1 1 1 1 1 1 1 1 0 D 0 0 0 D 1 1 1 1 1 1 1 1 0 D 0 0 1 1 D 1 1 1 1 1 1 1 0 D 0 1 0 1 1 D 1 1 1 1 1 1 0 D 0 1 1 1 1 1 D 1 1 1 1 1 0 D 1 0 0 1 1 1 1 D 1 1 1 1 0 D 1 0 1 1 1 1 1 1 D 1 1 1 0 D 1 1 0 1 1 1 1 1 1 D 1 1 0 D 1 1 1 1 1 1 1 1 1 1 D 74LS138 的 3 個譯碼輸入 C、B、A 用做數(shù)據(jù)分配器的地址輸入,8 個輸出 Y0Y7

48、 用做 8 路數(shù)據(jù)輸出,3 個輸入控制端中的 EN2A用做數(shù)據(jù)輸入端,EN2B接地,EN1 用做使能 16 / 28端6。當(dāng) EN1=1,允許數(shù)據(jù)分配,若需要將輸入數(shù)據(jù)轉(zhuǎn)送至輸出端 Y2,地址輸入應(yīng)為CBA=010,由功能表可得:(3-1)21222()ABAYGGGCBAG而其余輸出端均為高電平。因此,當(dāng)?shù)刂?CBA=010 時,只有輸出端 Y2 得到與輸入一樣的數(shù)據(jù)波形。本章小結(jié)本章小結(jié)本章介紹了頻率計的各個軟件組成模塊,通過運用 QUARTUS 集成開發(fā)環(huán)境對各功能模塊進(jìn)行編輯、綜合、波形仿真,對各功能模塊的的仿真圖,與其仿真功能做了基本講解,對本設(shè)計的實現(xiàn)起到了主要作用。結(jié)結(jié) 論論本設(shè)

49、計對等精度頻率計進(jìn)行了系統(tǒng)的設(shè)計。首先介紹了頻率測量的一般方法,著重介紹等精度測頻原理并進(jìn)行了誤差分析,利用等精度測量原理,通過 FPGA 運用 VHDL編程,利用 FPGA(現(xiàn)場可編程門陣列)芯片設(shè)計了一個 8 位數(shù)字式等精度頻率計,該頻率計的測量圍為 0-100MHZ,利用 QUARTUS 集成開發(fā)環(huán)境進(jìn)行編輯、綜合、波形仿真,并下載到 CPLD 器件中,經(jīng)實際電路測試,仿真和實驗結(jié)果表明,該頻率計有較高的實用性和可靠性,達(dá)到預(yù)期的結(jié)果。和傳統(tǒng)的頻率計相比,利用 FPGA 設(shè)計的頻率計簡化了電路板設(shè)計,提高了系統(tǒng)設(shè)計的實用性和可靠性,實現(xiàn)數(shù)字系統(tǒng)的軟件化,這也是數(shù)字邏輯設(shè)計的趨勢。本次畢業(yè)

50、設(shè)計中,我除了對相關(guān)的專業(yè)知識以與相關(guān)的實驗操作進(jìn)行了回顧,還有許多其他的收獲,比如在繪制論文中所需要的相關(guān)的電路圖的過程中,我還學(xué)會使用word繪圖,這次畢業(yè)設(shè)計不但讓我對本專業(yè)的相關(guān)基礎(chǔ)知識進(jìn)行了很好的復(fù)習(xí),還對原由書本上的知識進(jìn)行了拓展和延伸,畢業(yè)設(shè)計不但鍛煉了我的動手能力,也鍛煉了我處理問題的能力,并且學(xué)會了許多新的知識。 17 / 28 附錄: 頻率計頂層文件 18 / 28clkfreq1freq488freq1953freq7812freq31250freq125kfreq500kcntinstCLKCLRENACQ3.0CARRY_OUTCNT10inst1CLKCLRENAC

51、Q3.0CARRY_OUTCNT10inst2CLKCLRENACQ3.0CARRY_OUTCNT10inst3CLKCLRENACQ3.0CARRY_OUTCNT10inst4CLKCLRENACQ3.0CARRY_OUTCNT10inst5CLKCLRENACQ3.0CARRY_OUTCNT10inst6CLKCLRENACQ3.0CARRY_OUTCNT10inst7CLKCLRENACQ3.0CARRY_OUTCNT10inst8in73.0in63.0in53.0in43.0in33.0in23.0in13.0in03.0clklout76.0SEL2.0displayinst9cl

52、kin clkoutPIN1MHZ_1inst10LOADDIN31.0DOUT31.0REG32Binst11CLKTSTENCLR_CNTLOADTESTCTLinst12VCCclkINPUTlout76.0OUTPUTsel2.0OUTPUTSD3.0SD7.4SD11.8SD19.16SD23.20SD27.24SD31.28SD15.12sd31.0dout31.0 信號源模塊源程序信號源模塊源程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; 19 / 28USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PIN

53、1MHZ_1 IS PORT (clkin : IN STD_LOGIC; clkout : OUT STD_LOGIC); END PIN1MHZ_1; ARCHITECTURE A OF PIN1MHZ_1 IS BEGIN PROCESS(clkin) variablettemp : INTEGERRANGE 0 TO 99; BEGIN IF clkin=1 AND clkinevent THEN IFttemp=99 THENttemp:=0; ELSE IFttemp50 THEN clkout=1; ELSE clkout=0; END IF; ttemp:=cnttemp+1;

54、 END IF; END IF; END PROCESS; END A; 3232 位鎖存器源程序位鎖存器源程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG32B IS PORT(LOAD: IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(31 DOWNTO 0);END ENTITY REG32B; 20 / 28ARCHITECTURE ART OF REG32B IS BEGINPROCESS ( LOAD, DIN

55、) ISBEGIN IF LOAD EVENT AND LOAD= 1 THEN DOUT=DIN; -鎖存輸入數(shù)據(jù) END IF;END PROCESS;END ART;有時鐘使能的十進(jìn)制計數(shù)器的源程序有時鐘使能的十進(jìn)制計數(shù)器的源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 IS PORT (CLK:IN STD_LOGIC; -計數(shù)時鐘信號 CLR:IN STD_LOGIC; -清零信號 ENA:IN STD_LOGIC; -計數(shù)使能信號 CQ :OUT INTEGER RANGE 0 TO 15; -4位計數(shù)結(jié)果輸出 C

56、ARRY_OUT:OUT STD_LOGIC); -計數(shù)進(jìn)位END CNT10;ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGERRANGE 0 TO 15;BEGINPROCESS(CLK,CLR,ENA) ISBEGIN IF CLR= 1 THEN CQI= 0; -計數(shù)器異步清零 ELSIF CLKEVENT AND CLK= 1 THEN IF ENA= 1 THEN IF CQI=10 THEN cqi=1; 21 / 28 ELSE CQI=cqi+1;END IF; -等于9,則計數(shù)器清零 END IF; END IF; END PROCESS;PROCESS (CQI) IS BEGIN IF CQI=10 THEN CARRY_OUT= 1; -進(jìn)位輸出 ELSE CARRY_OUT= 0; END IF;END PROCESS; CQ=CQI;END ART;顯示模塊源程序

溫馨提示

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

評論

0/150

提交評論