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

下載本文檔

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

文檔簡介

2014 2015 學年第學年第 1 學期學期 課程設(shè)計課程設(shè)計 題目 題目 基于基于 FPGAFPGA 的等精度數(shù)字頻率計設(shè)計的等精度數(shù)字頻率計設(shè)計 姓名 姓名 學號 學號 201295014220201295014220 班級 班級 電氣六班電氣六班 摘摘 要要 伴隨著集成電路 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) 它吸收 了計算機科學領(lǐng)域的大多數(shù)最新研究成果 以高性能的計算機作為工作平臺 促進了 工程發(fā)展 數(shù)字頻率計是一種基本的測量儀器 它被廣泛應(yīng)用與航天 電子 測控等領(lǐng)域 采用等精度頻率測量方法具有測量精度保持恒定 不隨所測信號的變化而變化的特點 本文首先綜述了 EDA 技術(shù)的發(fā)展概況 FPGA CPLD 開發(fā)的涵義 優(yōu)缺點 VHDL 語 言的歷史及其優(yōu)點 概述了 EDA 軟件平臺QUARTUS 然后介紹了頻率測量的一般 原理 利用等精度測量原理 通過 FPGA 運用 VHDL 編程 利用 FPGA 現(xiàn)場可編程門 陣列 芯片設(shè)計了一個 8 位數(shù)字式等精度頻率計 該頻率計的測量范圍為 0 100MHZ 利用 QUARTUS 集成開發(fā)環(huán)境進行編輯 綜合 波形仿真 并下載到 CPLD 器件中 I 經(jīng)實際電路測試 仿真和實驗結(jié)果表明 該頻率計有較高的實用性和可靠性 關(guān)鍵詞關(guān)鍵詞 電子設(shè)計自動化 VHDL 語言 頻率測量 數(shù)字頻率計 目目 錄錄 摘 要 I 目 錄 III 1 緒 論 1 1 2 基于 EDA 的 FPGA CPLD 開發(fā) 2 1 3 硬件描述語言 HDL 3 VHDL 語言簡介 3 1 4 QuartusII概述 4 2 頻率測量 6 2 1 數(shù)字頻率計工作原理概述 6 2 2 采用等精度測量 本章小結(jié) 8 3 數(shù)字頻率計的系統(tǒng)設(shè)計與功能仿真 8 3 1 系統(tǒng)的總體設(shè)計 8 3 2 信號源模塊 9 3 3 鎖存器 12 3 4 十進制計數(shù)器 13 II 3 5顯示模塊 14 3 5 1 顯示模塊設(shè)計 14 3 52 顯示電路 15 3 5 3 譯碼器 15 本章小結(jié) 16 結(jié) 論 16 附錄 頻率計頂層文件 18 信號源模塊源程序 19 32 位鎖存器源程序 19 有時鐘使能的十進制計數(shù)器的源程序 20 顯示模塊源程序 21 0 1 緒緒 論論 21 世紀人類將全面進入信息化社會 對微電子信息技術(shù)和微電子 VLSI 基礎(chǔ)技術(shù) 將不斷提出更高的發(fā)展要求 微電子技術(shù)仍將繼續(xù)是 21 世紀若干年代中最為重要的和 最有活力的高科技領(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è)計工具 通過有關(guān)開發(fā)軟件 自動完成用軟件方式設(shè)計的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯 邏 輯化簡 邏輯分割 邏輯綜合及優(yōu)化 邏輯布局布線 邏輯仿真 直至對于特定目標 芯片的適配編譯 邏輯映射 編程下載等工作 最終形成集成電子系統(tǒng)或?qū)S眉尚?片的一門新技術(shù) 1 VHDL 超高速集成電路硬件描述語言 是由美國國防部開發(fā)的一種快速設(shè)計電路 的工具 目前已經(jīng)成為 IEEE The Institute of Electrical and Electronics Engineers 的一 種工業(yè)標準硬件描述語言 相比傳統(tǒng)的電路系統(tǒng)的設(shè)計方法 VHDL 具有多層次描述 系統(tǒng)硬件功能的能力 支持自頂向下 Top Down 和基于庫 LibraryBased 的設(shè)計 的特點 因此設(shè)計者可以不必了解硬件結(jié)構(gòu) 從系統(tǒng)設(shè)計入手 在頂層進行系統(tǒng)方框 圖的劃分和結(jié)構(gòu)設(shè)計 在方框圖一級用 VHDL 對電路的行為進行描述 并進行仿真和 糾錯 然后在系統(tǒng)一級進行驗證 最后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電 路的網(wǎng)表 下載到具體的 CPLD 器件中去 從而實現(xiàn)可編程的專用集成電路 ASIC 的設(shè)計 數(shù)字頻率計是數(shù)字電路中的一個典型應(yīng)用 實際的硬件設(shè)計用到的器件較多 連 線比較復雜 而且會產(chǎn)生比較大的延時 造成測量誤差 可靠性差 隨著復雜可編程 邏輯器件 CPLD 的廣泛應(yīng)用 以 EDA 工具作為開發(fā)手段 運用 VHDL 語言 將使 整個系統(tǒng)大大簡化 提高整體的性能和可靠性 數(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) 能夠用十進制 1 數(shù)碼顯示被測信號的頻率 不僅能夠測量正弦波 方波和三角波等信號的頻率 而且 能對其他多種頻率信號進行測量 具有體積小 可靠性高 功耗低的特點 1 2 基于基于 EDA 的的 FPGA CPLD 開發(fā)開發(fā) 我國的電子設(shè)計技術(shù)發(fā)展到今天 將面臨一次更大意義的突破 即 FPGA CPLD Field Programmable Gate Array 現(xiàn)場可編程門陣列 Complex Programmable Logic Device 復雜可編程邏輯器件 在 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 不但包括了 MCU 這一特點 而且可以觸 及硅片電路線度的物理極限 并兼有串 并行工作方式 高速 高可靠性以及寬口徑 適用性等諸多方面的特點 不但如此 隨著 EDA 技術(shù)的發(fā)展和 FPGA CPLD 在深亞微 米領(lǐng)域的進軍 它們與 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ā)展 嵌入式通用及標準 FPGA 器件的 呼之欲出 片上系統(tǒng) SOC 已經(jīng)近在咫尺 FPGA CPLD 以其不可替代的地位及伴隨而 來的極具知識經(jīng)濟特征的 IP 芯核產(chǎn)業(yè)的崛起 正越來越受到業(yè)內(nèi)人士的密切關(guān)注 FPGA CPLDFPGA CPLD 簡介簡介 FPGA 和 CPLD 都是高密度現(xiàn)場可編程邏輯芯片 都能夠?qū)⒋罅康倪壿嫻δ芗?于一個單片集成電路中 其集成度已發(fā)展到現(xiàn)在的幾百萬門 復雜可編程邏輯器件 CPLD 是由 PAL Programmable Array Logic 可編程數(shù)組邏輯 或 GAL Generic Array Logic 通用數(shù)組邏輯 發(fā)展而來的 它采用全局金屬互連導線 因而具有較大的延時可 預測性 易于控制時序邏輯 但功耗比較大 現(xiàn)場可編程門陣列 FPGA 是由掩膜可編程 門陣列 MPGA 和可編程邏輯器件二者演變而來的 并將它們的特性結(jié)合在一起 因此 FPGA 既有門陣列的高邏輯密度和通用性 又有可編程邏輯器件的用戶可編程特性 FPGA 通常由布線資源分隔的可編程邏輯單元 或宏單元 構(gòu)成數(shù)組 又由可編程 I O 單 元圍繞數(shù)組構(gòu)成整個芯片 其內(nèi)部資源是分段互聯(lián)的 因而延時不可預測 只有編程 完畢后才能實際測量 CPLD 和 FPGA 建立內(nèi)部可編程邏輯連接關(guān)系的編程技術(shù)有三種 基于反熔絲技術(shù) 的器件只允許對器件編程一次 編程后不能修改 其優(yōu)點是集成度 工作頻率和可靠 2 性都很高 適用于電磁輻射干擾較強的惡劣環(huán)境 基于 EEPROM 內(nèi)存技術(shù)的可編程邏 輯芯片能夠重復編程 100 次以上 系統(tǒng)掉電后編程信息也不會丟失 編程方法分為在 編程器上編程和用下載電纜編程 用下載電纜編程的器件 只要先將器件裝焊在印刷 電路板上 通過 PC SUN 工作站 ATE 自動測試儀 或嵌入式微處理器系統(tǒng) 就能產(chǎ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 3 硬件描述語言硬件描述語言 HDL HDL 硬件描述語言 HDL 是相對于一般的計算機軟件語言如 C Pascal 而言的 HDL 是用于設(shè)計硬件電子系統(tǒng)的計算機語言 它描述電子系統(tǒng)的邏輯功能 電路結(jié)構(gòu)和連 接方式 設(shè)計者可以利用 HDL 程序來描述所希望的電路系統(tǒng) 規(guī)定其結(jié)構(gòu)特征和電路 的行為方式 然后利用綜合器和適配器將此程序變成能控制 FPGA 和 CPLD 內(nèi)部結(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)并排除 存在的問題 d 語言設(shè)計與工藝技術(shù)無關(guān) e 語言標準 規(guī)范 易與共享和復用 就 FPGA CPLD 開發(fā)來說 VHDL 語言是最常用和流行的硬件描述語言之一 本次設(shè)計選 用的就是 VHDL 語言 下面將主要對 VHDL 語言進行介紹 VHDLVHDL 語言簡介語言簡介 VHDL 是超高速集成電路硬件描述語言的英文字頭縮寫簡稱 其英文全名是 Very High Speed Integrated Circuit Hardware Description Language 它是在 70 80 年代中由 美國國防部資助的 VHSIC 超高速集成電路 項目開發(fā)的產(chǎn)品 誕生于 1982 年 1987 年 底 VHDL 被 IEEE The Institute of Electrical and Electronics Engineers 確認為標準硬件 描述語言 自 IEEE 公布了 VHDL 的標準版本 IEEE std 1076 1987 標準 之后 各 EDA 公司相繼推出了自己的 VHDL 設(shè)計環(huán)境 此后 VHDL 在電子設(shè)計領(lǐng)域受到了廣泛的 接受 并逐步取代了原有的非標準 HDL 1993 年 IEEE 對 VHDL 進行了修訂 從更 高的抽象層次和系統(tǒng)描述能力上擴展 VHDL 的內(nèi)容 公布了新版本的 VHDL 即 3 ANSI IEEE std 1076 1993 版本 1996 年 IEEE 1076 3 成為 VHDL 綜合標準 VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu) 行為 功能和接口 非常適用于可編程邏 輯芯片的應(yīng)用設(shè)計 與其它的 HDL 相比 VHDL 具有更強的行為描述能力 從而決定 了它成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言 強大的行為描述能力是避開具體的器件 結(jié)構(gòu) 從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證 就目前流行的 EDA 工具 和 VHDL 綜合器而言 將基于抽象的行為描述風格的 VHDL 程序綜合成為具體的 FPGA 和 CPLD 等目標器件的網(wǎng)表文件己不成問題 VHDL 語言在硬件設(shè)計領(lǐng)域的作 用將與 C 和 C 在軟件設(shè)計領(lǐng)域的作用一樣 在大規(guī)模數(shù)字系統(tǒng)的設(shè)計中 它將逐步 取代如邏輯狀態(tài)表和邏輯電路圖等級別較低的繁瑣的硬件描述方法 而成為主要的硬 件描述工具 它將成為數(shù)字系統(tǒng)設(shè)計領(lǐng)域中所有技術(shù)人員必須掌握的一種語言 VHDL 和可編程邏輯器件的結(jié)合作為一種強有力的設(shè)計方式 將為設(shè)計者的產(chǎn)品上市帶來創(chuàng) 紀錄的速度 1 4 QuartusII 概述概述 QuartusII 是 Altera 提供的 FPGA CPLD 開發(fā)集成環(huán)境 Altera 是世界上最大的可編 程邏輯器件供應(yīng)商之一 QuartusII 在 21 世紀初推出 是 Altera 前一代 FPGA CPLD 集 成開發(fā)環(huán)境 MAX PLUSII 的更新?lián)Q代產(chǎn)品 其界面友好 使用便捷 它提供了一種與 結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境 使設(shè)計者能方便地進行設(shè)計輸入 快速處理和器件編程 Altera 的 QuartusII 提供了完整的多平臺設(shè)計環(huán)境 能滿足各種特定設(shè)計的需要 也是單芯片可編程系統(tǒng) SOPC 設(shè)計的綜合性環(huán)境和 SOPC 開發(fā)的基本設(shè)計工具 并 為 Altera DSP 開發(fā)包進行系統(tǒng)模型設(shè)計提供了集成組合環(huán)境 QuartusII 設(shè)計工具完全 支持 VHDL Verilog 的設(shè)計流程 其內(nèi)部嵌有 VHDL Verilog 邏輯綜合器 QuartusII 也可利用第三方的綜合工具 同樣 QuartusII 具備仿真功能 同時也支持第三方的仿 真工具 如 ModelSim 此外 QuartusII 與 MATLAB 和 DSP Builder 結(jié)合 可以進行 基于 FPGA 的 DSP 系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā) QuartusII 包括模塊化的編譯器 編譯器包括的功能模塊有分析 綜合器 Analsis USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY PIN1MHZ 1 IS PORT clkin IN STD LOGIC clkout OUT STD LOGIC END PIN1MHZ 1 ARCHITECTURE A OF PIN1MHZ 1 IS BEGIN PROCESS clkin variable cnttemp INTEGER RANGE 0 TO 99 BEGIN IF clkin 1 AND clkin event THEN IF cnttemp 99 THEN cnttemp 0 ELSE IF cnttemp 50 THEN clkout 1 ELSE clkout 0 END IF cnttemp cnttemp 1 END IF END IF END PROCESS 19 END A 32 位鎖存器源程序位鎖存器源程序 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 ARCHITECTURE ART OF REG32B IS BEGIN PROCESS LOAD DIN IS BEGIN IF LOAD EVENT AND LOAD 1 THEN DOUT DIN 鎖存輸入數(shù)據(jù) END IF END PROCESS END ART 有時鐘使能的十進制計數(shù)器的源程序有時鐘使能的十進制計數(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é)果輸出 20 CARRY OUT OUT STD LOGIC 計數(shù)進位 END CNT10 ARCHITECTURE ART OF CNT10 IS SIGNAL CQI INTEGER RANGE 0 TO 15 BEGIN PROCESS CLK CLR ENA IS BEGIN IF CLR 1 THEN CQI 0 計數(shù)器異步清零 ELSIF CLK EVENT AND CLK 1 THEN IF ENA 1 THEN IF CQI 10 THEN cqi 1 ELSE CQI cqi 1 END IF 等于9 則

溫馨提示

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

評論

0/150

提交評論