FPGA頻率計(jì)實(shí)驗(yàn)報(bào)告_第1頁(yè)
FPGA頻率計(jì)實(shí)驗(yàn)報(bào)告_第2頁(yè)
FPGA頻率計(jì)實(shí)驗(yàn)報(bào)告_第3頁(yè)
FPGA頻率計(jì)實(shí)驗(yàn)報(bào)告_第4頁(yè)
FPGA頻率計(jì)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、數(shù)字頻率計(jì)用VHDL語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)基于FPGA的數(shù)字頻率計(jì)學(xué)校:學(xué)院:姓名:學(xué)號(hào):實(shí)驗(yàn)室:實(shí)驗(yàn)日期:摘要本文介紹了一種基于FPGA勺數(shù)字頻率的實(shí)現(xiàn)方法。該設(shè)計(jì)采用 硬件描述語(yǔ)言VHDL在軟件開(kāi)發(fā)平臺(tái)ISE上完成。該設(shè)計(jì)的頻率計(jì) 有三種閘門(mén)選擇,分別是1s、0.1s、0.01s,能較準(zhǔn)確的測(cè)量頻率在 10Hz到10MHz之間的信號(hào)。使用 ModelSim仿真軟件對(duì)各個(gè)模塊的 VHDL程序做了仿真,對(duì)各個(gè)模塊的功能進(jìn)行了測(cè)試,并完成了綜合 布局布線(xiàn),最終下載到芯片上取得了良好測(cè)試效果。關(guān)鍵詞:VHDL頻率計(jì)、FPGA 測(cè)量目錄第一章 引言 錯(cuò)誤!未定義書(shū)簽。第二章 基于FPGA的VHDL設(shè)計(jì)流程 3

2、2.1 概述 32.2 VHDL語(yǔ)言和 VErilogHDL介紹 32.2.1 VHDL 的特點(diǎn) 42.3 FPGA介 紹 5第三章數(shù)字頻率計(jì)的軟件開(kāi)發(fā)環(huán)境 錯(cuò)誤!未定義書(shū)簽。3.1開(kāi)發(fā)環(huán)境 63.2 MddeSm 介紹 63.3 ISE 介紹 5第四章數(shù)字頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn) 74.1 任務(wù)要求 74.2測(cè)量原理 錯(cuò)誤!未定義書(shū)簽。4.3設(shè)計(jì)方案與系統(tǒng)需求 74.4各模塊的功能及實(shí)現(xiàn) 94.4.1 分頻器 94.4.2 閘門(mén)選擇器 104.4.3 測(cè)頻控制器 錯(cuò)誤!未定義書(shū)簽。4.4.4 計(jì)數(shù)器 錯(cuò)誤!未定義書(shū)簽。4.4.5 鎖存器 錯(cuò)誤!未定義書(shū)簽。4.4.6 顯示控制系統(tǒng) 錯(cuò)誤!未定義書(shū)簽

3、。4.5分配引腳和下載實(shí)現(xiàn) 錯(cuò)誤!未定義書(shū)簽。4.6誤差分析 錯(cuò)誤!未定義書(shū)簽。第五章實(shí)驗(yàn)結(jié)論及總結(jié) 19參考文獻(xiàn)20致謝 21附錄 錯(cuò)誤!未定義書(shū)簽。第一章、引言硬件描述語(yǔ)言(英文: Hardware Description Lan guage,簡(jiǎn)稱(chēng):HDL )是電子系統(tǒng)硬件行為描述、結(jié)構(gòu)描述、數(shù)據(jù)流描述的語(yǔ)言。利用這種語(yǔ)言,數(shù)字 電路系統(tǒng)的設(shè)計(jì)可以從頂層到底層(從抽象到具體)逐層描述自己的設(shè)計(jì)思想, 用一系列分層次的模塊來(lái)表示極其復(fù)雜的數(shù)字系統(tǒng)。以硬件描述語(yǔ)言(Verilog或VHDL所完成的電路設(shè)計(jì),可以經(jīng)過(guò)簡(jiǎn)單的綜 合與布局,快速的燒錄至FPGA上進(jìn)行測(cè)試,是現(xiàn)代IC設(shè)計(jì)驗(yàn)證的技術(shù)主流

4、。 這些可編輯元件可以被用來(lái)實(shí)現(xiàn)一些基本的邏輯門(mén)電路(比如AND OR XORNOT或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip - flop )或者其他更加完整的記憶塊。在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、 測(cè)量結(jié)果都有十分密切的關(guān)系,因此,頻率的測(cè)量就顯得更為重要。所謂“頻率”, 就是周期信號(hào)在單位時(shí)間(秒)內(nèi)變化的次數(shù),若在一定的時(shí)間間隔T內(nèi)計(jì)得某 周期信號(hào)的重復(fù)變化次數(shù)為N,則該信號(hào)的頻率為f = N。測(cè)量頻率的方法有多T種,其中電子計(jì)數(shù)器測(cè)量頻率具有精度高、使用方便、測(cè)量迅速

5、,以及便于實(shí)現(xiàn) 測(cè)量過(guò)程自動(dòng)化等優(yōu)點(diǎn),是頻率測(cè)量的重要手段之一。電子計(jì)數(shù)器測(cè)頻有兩種方 式: 一是直接測(cè)頻法,即在一定閘門(mén)時(shí)間內(nèi)測(cè)量被測(cè)信號(hào)的脈沖個(gè)數(shù);二是間接測(cè)頻法,如周期測(cè)頻法。直接測(cè)頻法適用于高頻信號(hào)的頻率測(cè)量,間接測(cè)頻法適用于低頻信號(hào)的頻率測(cè)量。本文使用的是直接測(cè)頻法。第二章、基于FPGA勺VHDI設(shè)計(jì)流程2.1 概述頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘, 對(duì)比測(cè)量 其他信號(hào)的頻率。通常情況下計(jì)算每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),此時(shí)我們稱(chēng)閘門(mén) 時(shí)間為1秒。閘門(mén)時(shí)間也可以大于或小于一秒。 閘門(mén)時(shí)間越長(zhǎng),得到的頻率值就 越準(zhǔn)確,但閘門(mén)時(shí)間越長(zhǎng)則沒(méi)測(cè)一次頻率的間隔就越長(zhǎng)。 閘門(mén)

6、時(shí)間越短,測(cè)的頻 率值刷新就越快,但測(cè)得的頻率精度就受影響。本文中,數(shù)字頻率計(jì)是用數(shù)字顯 示被測(cè)信號(hào)頻率的儀器,限于實(shí)驗(yàn)條件等,被測(cè)信號(hào)只能是方波。數(shù)字頻率計(jì)是數(shù)字電路中的一個(gè)典型應(yīng)用,實(shí)際的硬件設(shè)計(jì)用到的器件較 多,連線(xiàn)比較復(fù)雜,而且會(huì)產(chǎn)生比較大的延時(shí),造成測(cè)量誤差、可靠性差。頻率 計(jì)的設(shè)計(jì)有傳統(tǒng)方法和現(xiàn)代方法, 傳統(tǒng)的設(shè)計(jì)方法耗時(shí)耗功,設(shè)計(jì)強(qiáng)度大,且容 易出錯(cuò),設(shè)計(jì)的質(zhì)量不一定是最好的。自然我們考慮到現(xiàn)代方法,即二十世紀(jì)八 十年代興起的電子設(shè)計(jì)自動(dòng)化技術(shù),英文為Electro nic Design Auto ,縮寫(xiě)為EDA在EDA設(shè)計(jì)工具中,用的最廣泛的是 VHDL和VERILOG當(dāng)然還有

7、其它的, 例如sopc。比較VHDI和VERILOG在頂層設(shè)計(jì)方面 VHDL優(yōu)于VERILOG在門(mén)級(jí) 電路設(shè)計(jì)方面VERILOG優(yōu)于VHDL隨著復(fù)雜可編程邏輯器件(CPLD的廣泛應(yīng) 用,以EDA工具作為開(kāi)發(fā)手段,運(yùn)用 VHDL語(yǔ)言,將使整個(gè)系統(tǒng)大大簡(jiǎn)化,提高 整體的性能和可靠性。本次的頻率計(jì)設(shè)計(jì)主要是頂層設(shè)計(jì),目的是設(shè)計(jì)6位十進(jìn) 制頻率計(jì),學(xué)習(xí)常用的數(shù)字系統(tǒng)設(shè)計(jì)方法。采用VDHL編程設(shè)計(jì)實(shí)現(xiàn)的數(shù)字頻率計(jì),除被測(cè)信號(hào)的整形部分、鍵輸入部分以外,其余全部在一片F(xiàn)PGA芯片上實(shí)現(xiàn),整個(gè)系統(tǒng)非常精簡(jiǎn),而且具有靈活的現(xiàn)場(chǎng)可更改性。 在不更改硬件電路的基 礎(chǔ)上,對(duì)系統(tǒng)進(jìn)行各種改進(jìn)還可以進(jìn)一步提高系統(tǒng)的性能

8、。該數(shù)字頻率計(jì)具有高 速、精確、可靠、抗干擾性強(qiáng)和現(xiàn)場(chǎng)可編程等優(yōu)點(diǎn)。2.2 VHDL 語(yǔ)言和 Verilog HDL 介紹VHDL誕生于1982年。在1987年底,VHDL被 IEEE和美國(guó)國(guó)防部確認(rèn)為標(biāo)準(zhǔn)硬 件描述語(yǔ)言。自IEEE公布了 VHDL的標(biāo)準(zhǔn)版本,IEEE-1076 (簡(jiǎn)稱(chēng)87版)之后, 各EDA公司相繼推出了自己的 VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和 VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的 非標(biāo)準(zhǔn)的硬件描述語(yǔ)言。而 Verilog HDL是由 GDA(GatewaQesign Automation) 公司的PhilMoorby在19

9、83年末首創(chuàng)的,最初只設(shè)計(jì)了一個(gè)仿真與驗(yàn)證工具, 之 后又陸續(xù)開(kāi)發(fā)了相關(guān)的故障模擬與時(shí)序分析工具。1985年Moorby推出它的第三個(gè)商用仿真器Verilog-XL,獲得了巨大的成功,從而使得 Verilog HDL迅速得到推廣應(yīng)用。1989年CADENC公司收購(gòu)了 GDA公司,使得VerilogHDL成為了該公 司的獨(dú)家專(zhuān)利。1990年CADENC公司公開(kāi)發(fā)表了 Verilog HDL,并成立LVI組織 以促進(jìn) Verilog HDL 成為 IEEE 標(biāo)準(zhǔn),即 IEEE Standard 1364-1995。由于 GDA 公司本就偏重于硬件,所以不可避免地Verilog HDL就偏重于硬件一

10、些,故Verilog HDL的底層統(tǒng)合做得非常好。而 VHDL的邏輯綜合就較之 Verilog HDL 要出色一些。所以,Verilog HDL作重強(qiáng)調(diào)集成電路的綜合,而 VHDL強(qiáng)調(diào)于組 合邏輯的綜合。2.2.1 VHDL的特點(diǎn)VHDL是一種用普通文本形式設(shè)計(jì)數(shù)字系統(tǒng)的硬件描述語(yǔ)言,主要用于描述數(shù) 字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,可以在任何文字處理軟件環(huán)境中編輯。除了 含有許多具有硬件特征的語(yǔ)句外,其形式、描述風(fēng)格及語(yǔ)法十分類(lèi)似于計(jì)算機(jī)高 級(jí)語(yǔ)言。VHDL程序?qū)⒁豁?xiàng)工程設(shè)計(jì)項(xiàng)目(或稱(chēng)設(shè)計(jì)實(shí)體)分成描述外部端口信 號(hào)的可視部分和描述端口信號(hào)之間邏輯關(guān)系的內(nèi)部不可視部分,這種將設(shè)計(jì)項(xiàng)目分成內(nèi)、外

11、兩個(gè)部分的概念是硬件描述語(yǔ)言 (HDL)的基本特征。當(dāng)一個(gè)設(shè)計(jì)項(xiàng) 目定義了外部界面(端口),在其內(nèi)部設(shè)計(jì)完成后,其他的設(shè)計(jì)就可以利用外部 端口直接調(diào)用這個(gè)項(xiàng)目。VHDL的主要特點(diǎn)如下:(1)作為HDL的第一個(gè)國(guó)際標(biāo)準(zhǔn),VHDL具有很強(qiáng)的可移植性。2)具有豐富的模擬仿真語(yǔ)句和庫(kù)函數(shù),隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬,因而能 將設(shè)計(jì)中的錯(cuò)誤消除在電路系統(tǒng)裝配之前, 在設(shè)計(jì)早期就能檢查設(shè)計(jì)系統(tǒng)功能的 可行性,有很強(qiáng)的預(yù)測(cè)能力。(3)VHDL有良好的可讀性,接近高級(jí)語(yǔ)言,容易理解。(4)系統(tǒng)設(shè)計(jì)與硬件結(jié)構(gòu)無(wú)關(guān),方便了工藝的轉(zhuǎn)換,也不會(huì)因工藝變化而使描 述過(guò)時(shí)。(5)支持模塊化設(shè)計(jì),可將大規(guī)模設(shè)計(jì)項(xiàng)目分解成若干

12、個(gè)小項(xiàng)目,還 可以把已有的設(shè)計(jì)項(xiàng)目作為一個(gè)模塊調(diào)用。6)對(duì)于用VHDL完成的一個(gè)確定設(shè)計(jì),可以利用 EDA工具進(jìn)行邏輯綜合和 優(yōu)化,并能自動(dòng)地把VHDL描述轉(zhuǎn)變成門(mén)電路級(jí)網(wǎng)表文件。(7)設(shè)計(jì)靈活,修改方便,同時(shí)也便于設(shè)計(jì)結(jié)果的交流、保存和重用,產(chǎn)品開(kāi) 發(fā)速度快,成本低。VHDL是一種快速的電路設(shè)計(jì)工具,其功能涵蓋了電路描述、電路合成、電路仿 真等設(shè)計(jì)工作。VHDL具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級(jí)、寄存器傳輸級(jí) 和邏輯門(mén)電路級(jí)三個(gè)不同層次的設(shè)計(jì),能夠完成從上層到下層(從抽象到具體) 逐層描述的結(jié)構(gòu)化設(shè)計(jì)思想。用VHDL設(shè)計(jì)電路主要的工作過(guò)程是:1)編輯。用文本編輯器輸入設(shè)計(jì)的源文件(為了提高

13、輸入效率,可用某些專(zhuān)用 編輯器)。2)編譯。用編譯工具將文本文件編譯成代碼文件,并檢查語(yǔ)法錯(cuò)誤。3)功能仿真(前仿真)。在編譯前進(jìn)行邏輯功能驗(yàn)證,此時(shí)的仿真沒(méi)有延時(shí), 對(duì)于初步的功能檢測(cè)非常方便。4)綜合。將設(shè)計(jì)的源文件用自動(dòng)綜合工具由語(yǔ)言轉(zhuǎn)換為實(shí)際的電路圖(門(mén)電路 級(jí)網(wǎng)表),但此時(shí)還沒(méi)有在芯片中形成真正的電路, 就好像是把設(shè)計(jì)者腦海中的 電路畫(huà)成了原理圖。5)布局、布線(xiàn)。用已生成的網(wǎng)表文件,再根據(jù) CPLD (或FPGA)器件的容量 和結(jié)構(gòu),用自動(dòng)布局布線(xiàn)工具進(jìn)行電路設(shè)計(jì)。 首先根據(jù)網(wǎng)表文件內(nèi)容和器件結(jié)構(gòu) 確定邏輯門(mén)的位置,然后再根據(jù)網(wǎng)表提供的門(mén)連接關(guān)系,把各個(gè)門(mén)的輸入輸出連 接起來(lái),類(lèi)似于

14、設(shè)計(jì) PCB (印刷電路板)時(shí)的布局布線(xiàn)工作。最后生成一個(gè)供 器件編程(或配置)的文件,同時(shí)還會(huì)在設(shè)計(jì)項(xiàng)目中增加一些時(shí)序信息,以便于 后仿真。6)后仿真(時(shí)序仿真)。這是與實(shí)際器件工作情況基本相同的仿真,用來(lái)確定 設(shè)計(jì)在經(jīng)過(guò)布局、布線(xiàn)之后,是否仍能滿(mǎn)足設(shè)計(jì)要求。如果設(shè)計(jì)的電路時(shí)延滿(mǎn)足 要求,則可以進(jìn)行器件編程(或配置)。2.3 FPGA 介紹FPGA(Field Programmable Gate Array ),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在 PAL GAL CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成 電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又

15、 克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。傳統(tǒng)的電路設(shè)計(jì)過(guò)程是:先畫(huà)原理圖、把原理圖繪制成印制電路板圖、 再制 版、安裝、調(diào)試。有了 FPG A我們只需要在計(jì)算機(jī)上繪出原理圖,再運(yùn)行相應(yīng) 的軟件,就可把所設(shè)計(jì)的邏輯電路在 FPG/中實(shí)現(xiàn)。所有步驟均可自動(dòng)完成。電 子設(shè)計(jì)工程師自己設(shè)計(jì)專(zhuān)用集成電路成為了一件很容易的事情。FPGA作為專(zhuān)用集成電路(ASIC)概念上的一個(gè)新型范疇和門(mén)類(lèi),以其高度 靈活的用戶(hù)現(xiàn)場(chǎng)編程方式,現(xiàn)場(chǎng)定義高容量數(shù)字單片系統(tǒng)的能力,能夠重復(fù)定義、 反復(fù)改寫(xiě)的新穎功能,為復(fù)雜數(shù)字系統(tǒng)設(shè)計(jì)、研制以及產(chǎn)品開(kāi)發(fā)提供了有效的技 術(shù)手段。電子應(yīng)用設(shè)計(jì)工程師應(yīng)用 FPGA技術(shù)不僅可避免通常

16、ASIC單片系統(tǒng)設(shè)計(jì) 周期長(zhǎng),前期投資風(fēng)險(xiǎn)大的弱點(diǎn),而且克服了過(guò)去板級(jí)通用數(shù)字電路應(yīng)用設(shè)計(jì)的 落后,繁瑣和不可靠性。目前FPGA勺兩個(gè)重要發(fā)展與突破是,大多數(shù)廠(chǎng)商在其高端器件上都提供了 片上的處理器(如 CPU DSP等硬核(Hard Core)或固化核(Fixed Core )。 比如 Xilinx 的 Virtex II Pro芯片可以提供 Power PC,而 Altera 的 Stratix、Excalibur等系列芯片可以提供Nios、DSP和Arm等模塊。在FPGAh集成微處 理器,使SOP(設(shè)計(jì)更加便利與強(qiáng)大。另一個(gè)發(fā)展是在不同器件商推出的高端芯 片上大都集成了高速串行收發(fā)器,一

17、般能夠達(dá)到3Gb/s以上的數(shù)據(jù)處理能力,在 Xilinx、Altera、Lattice都有相應(yīng)的器件型號(hào)提供該功能。這些新功能使FPGA的數(shù)據(jù)吞吐能力大幅度增強(qiáng)。第三章、數(shù)字頻率計(jì)的軟件開(kāi)發(fā)環(huán)境本章主要介紹項(xiàng)目中將要用到了一系列軟件,包括用于VHDL語(yǔ)言編寫(xiě)和編譯的ISE軟件和用于程序仿真的仿真軟件 ModelSim。3.1開(kāi)發(fā)環(huán)境隨著可編程器件紛紛超越百萬(wàn)門(mén)級(jí),設(shè)計(jì)者面臨的產(chǎn)品性能與設(shè)計(jì)效率的挑 戰(zhàn)也越來(lái)越大。設(shè)計(jì)者必須合理選擇各EDA廠(chǎng)家提供的加速設(shè)計(jì)的工具軟件,這 樣才能在較短的時(shí)間內(nèi)設(shè)計(jì)出高效穩(wěn)定的產(chǎn)品。 在本次設(shè)計(jì)中,由于選擇的FPGA 芯片是由Xilinx公司生產(chǎn)的,所以我們主要使

18、用ModelSim和ISE軟件進(jìn)行仿真 和綜合。3.2 ModelSim 介紹Mentor公司的ModelSim是業(yè)界最優(yōu)秀的HDL語(yǔ)言仿真軟件,它能提供友好 的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持 VHDL和Verilog混合仿真的仿真器。它 采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度 快,編譯的代碼與平臺(tái)無(wú)關(guān),便于保護(hù)IP核,個(gè)性化的圖形界面和用戶(hù)接口, 為用戶(hù)加快調(diào)錯(cuò)提供強(qiáng)有力的手段,是 FPGA/ASIC設(shè)計(jì)的首選仿真軟件。ModelSim完全支持VHDL和 Verilog標(biāo)準(zhǔn);采用直接編輯技術(shù),大大提高HDL 編譯和仿真速度。還可以利用 ModelSim調(diào)

19、用設(shè)計(jì)文件進(jìn)行仿真分析。在調(diào)試環(huán) 境中,設(shè)計(jì)者可以通過(guò)ModelSim的快速調(diào)試步驟以及對(duì)各種信號(hào)的監(jiān)控功能 (無(wú) 論信號(hào)處于VHDL層,還是處于混合語(yǔ)言層)使仿真的執(zhí)行過(guò)程形象直觀化,幫 助設(shè)計(jì)者及時(shí)發(fā)現(xiàn)漏洞,縮短設(shè)計(jì)周期。ModelSim最大的特點(diǎn)是其強(qiáng)大的調(diào)試功能:先進(jìn)的數(shù)據(jù)流窗口,可以迅速 追蹤到生產(chǎn)不定或者錯(cuò)誤狀態(tài)的原因; 性能分析工具幫助分析性能瓶頸,加速仿 真;代碼覆蓋率檢查確保測(cè)試的完備;多種模式的波形比較功能;先進(jìn)的SignalSpy功能,可以方便地訪(fǎng)問(wèn)VHDI或者VHDL和 Verilog混合設(shè)計(jì)中的底層 信號(hào);支持加密IP;可以實(shí)現(xiàn)與Matlab的Simulink的聯(lián)合仿

20、真。3.3 ISE介紹ISE的主要功能包括設(shè)計(jì)輸入、綜合、仿真、實(shí)現(xiàn)和下載,涵蓋了可編程邏輯器件開(kāi)發(fā)的全過(guò)程,從功能上講,完成CPLD/FPG的設(shè)計(jì)流程無(wú)需借助任何第 三方EDA軟件。下面簡(jiǎn)要說(shuō)明各功能的作用:設(shè)計(jì)輸入:ISE提供的設(shè)計(jì)輸入工具包括用于 HDLL弋碼輸入和查看報(bào)告的ISE 文本編輯器(The ISE Text Editor ),用于原理圖編輯的工具 ECS ( The Engineering Capture System ),用于生成 IP Core 的 Core Generator,用于 狀態(tài)機(jī)設(shè)計(jì)的StateCAD以及用于約束文件編輯的 Constraint Editor

21、等。綜合:ISE的綜合工具不但包含了 Xilinx自身提供的綜合工具XST同時(shí)還 可以?xún)?nèi)嵌 Mentor Graphics 公司的 Leonardo Spectrum 和 Synplicity 公司的 Synplify,實(shí)現(xiàn)無(wú)縫鏈接。仿真:ISE本身自帶了一個(gè)具有圖形化波形編輯功能的仿真工具HDLBencher,同時(shí)又提供了使用 Model Tech公司的Modelsim進(jìn)行仿真的接口。實(shí)現(xiàn):此功能包括了翻譯、映射、布局布線(xiàn)等,還具備時(shí)序分析、管腳指定 以及增量設(shè)計(jì)等高級(jí)功能。下載:下載功能包括了 BitGen,用于將布局布線(xiàn)后的設(shè)計(jì)文件轉(zhuǎn)換為位流文件,還包括了 IMPACT功能是進(jìn)行芯片配置

22、和通信,控制將程序燒寫(xiě)到FPGA芯片中去。第四章、數(shù)字頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn)4.1任務(wù)要求本實(shí)驗(yàn)核心任務(wù)是完成基于FPGA利用VHDL語(yǔ)言設(shè)計(jì)一個(gè)數(shù)字頻率計(jì)的設(shè)計(jì), 仿真,下載實(shí)現(xiàn)并實(shí)際測(cè)量效果。具體要求是:頻率測(cè)量范圍為10Hz10MHz用6只數(shù)碼管以kHz為單位顯示測(cè)量結(jié)果;有三個(gè)帶鎖按鍵開(kāi)關(guān) (任何時(shí)候都只 會(huì)有一個(gè)被按下)用來(lái)選擇1S 0.1S和0.01S三個(gè)閘門(mén)時(shí)間中的一個(gè),若按下兩 個(gè)及以上或者不選擇則隨意顯示;有兩只 LED 一只的亮滅用來(lái)顯示閘門(mén)信號(hào)高 低電平,另一只當(dāng)計(jì)數(shù)器溢出時(shí)做溢出指示。4.2測(cè)量原理頻率計(jì)的基本原理是用一個(gè)頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時(shí)鐘,對(duì)比測(cè)量 其他信號(hào)

23、的頻率。通常情況下計(jì)數(shù)每秒內(nèi)待測(cè)信號(hào)的脈沖個(gè)數(shù),此時(shí)我們稱(chēng)閘門(mén) 時(shí)間為1S,閘門(mén)時(shí)間也可以大于或小于1S。閘門(mén)時(shí)間越長(zhǎng),得到的頻率值就準(zhǔn) 確,但閘門(mén)時(shí)間越長(zhǎng)則每測(cè)一次頻率的間隔就越長(zhǎng);閘門(mén)時(shí)間越短,測(cè)得頻率值刷新就越快,但測(cè)得的頻率精準(zhǔn)度就受影響。4.3設(shè)計(jì)方案與系統(tǒng)需求由電子計(jì)數(shù)器頻率測(cè)量基本原理可知,測(cè)頻功能實(shí)現(xiàn)需要脈沖形成電路、閘門(mén)、 十進(jìn)制電子計(jì)數(shù)器、門(mén)控電路、時(shí)基信號(hào)發(fā)生器。被測(cè)信號(hào)輸入圖4.1 實(shí)驗(yàn)原理框架從圖4.1中可知,所設(shè)計(jì)的頻率計(jì)需要6個(gè)模塊,分別是:分頻器、閘門(mén)選擇 器、測(cè)頻控制器,計(jì)數(shù)器、鎖存器以及顯示模塊。核心板硬件結(jié)構(gòu)如下圖所示:結(jié)合實(shí)際實(shí)驗(yàn)板的硬件條件,可以利用E

24、DA軟件和VHDL語(yǔ)言在EEC-FPG實(shí)驗(yàn) 板上完成頻率計(jì)的數(shù)字部分的設(shè)計(jì)與實(shí)現(xiàn)。Fpga實(shí)驗(yàn)板如圖4-2所示:圖4.2 EDA實(shí)驗(yàn)板從圖4.1和圖4.2可知,如果以此實(shí)驗(yàn)板做為頻率計(jì)的硬件實(shí)現(xiàn), 可以使用 50Mhz的有源晶振作為時(shí)基信號(hào)發(fā)生器,但是測(cè)量需要的時(shí)基信號(hào)為 1S、0.1S、 0。01S,因此需要進(jìn)行分頻,另外計(jì)數(shù)器的輸出結(jié)果可以使用數(shù)碼管顯示,需要一個(gè)1KHz的掃描信號(hào),也可由晶振分頻得到,脈沖形成電路可以使用模擬電路, 另外為了使數(shù)碼管能夠穩(wěn)定顯示,在輸出之前加一個(gè)鎖存器,閘門(mén)選擇可以使用 實(shí)驗(yàn)板上的撥碼開(kāi)關(guān)得到。至此可以確定,可以在EEC-FPG實(shí)驗(yàn)板實(shí)現(xiàn)的數(shù)字電路部分為分

25、頻器、計(jì)數(shù)器、鎖存器、測(cè)頻控制、閘門(mén)選擇、數(shù)碼管掃描顯示控 制子系統(tǒng),這些模塊之間的關(guān)系如圖 4.1所示。放大整形電路(模擬電路):放大被測(cè)信號(hào)并將其整形為方波脈沖,該方波 脈沖經(jīng)過(guò)閘門(mén)后送計(jì)數(shù)器計(jì)數(shù)。石英振蕩器:產(chǎn)生一個(gè)頻率高度穩(wěn)定的信號(hào)送分頻器分頻。分頻器:對(duì)石英振蕩器產(chǎn)生的信號(hào)進(jìn)行分頻,得到100Hz、10Hz和1Hz三個(gè)基準(zhǔn)頻率;同時(shí)產(chǎn)一個(gè)1000Hz的信號(hào)作為掃描顯示譯碼模塊的時(shí)鐘,以產(chǎn)生掃 描選擇信號(hào)。門(mén)控電路:產(chǎn)生控制信號(hào)門(mén)控電路在時(shí)間基準(zhǔn)信號(hào)的控制下產(chǎn)生門(mén)控信號(hào)GATE門(mén)控信號(hào)有效時(shí),閘門(mén)開(kāi)通,計(jì)數(shù)器計(jì)數(shù)。當(dāng)門(mén)控信號(hào)停止作用時(shí),閘門(mén) 關(guān)斷。為了使計(jì)數(shù)結(jié)果能夠在顯示器上穩(wěn)定的顯示

26、,閘門(mén)關(guān)斷后門(mén)控電路要產(chǎn)生一個(gè)鎖存命令Latch使鎖存器鎖存計(jì)數(shù)結(jié)果。在計(jì)數(shù)結(jié)果鎖存以后,下一次計(jì)數(shù) 開(kāi)始以前,門(mén)控電路還要產(chǎn)生一個(gè)清零信號(hào) CLEAR各計(jì)數(shù)器清零,以便重新計(jì)數(shù)。 4.4各模塊的功能及實(shí)現(xiàn)4.4.1 分頻器分頻器的功能是提供標(biāo)準(zhǔn)閘門(mén)時(shí)間控制信號(hào)以精確控制計(jì)數(shù)器的開(kāi)閉。由于 閘門(mén)時(shí)間只有1S,0.1S,0.01S三檔,且在數(shù)碼管顯示時(shí)采用動(dòng)態(tài)掃描的方法, 需要產(chǎn)生1kHz的掃描信號(hào),由于本設(shè)計(jì)將下載到開(kāi)發(fā)板上,其提供的標(biāo)準(zhǔn)時(shí)間 是50MHz晶振,所以要對(duì)系統(tǒng)的50MHz寸鐘信號(hào)進(jìn)行分頻,以產(chǎn)生符合要求的各 頻率信號(hào):先由系統(tǒng)時(shí)鐘50M Hz分頻出1kHz作為數(shù)碼管顯示的動(dòng)態(tài)掃描

27、信號(hào), 再由1kHz分頻出100Hz產(chǎn)生0.01S的計(jì)數(shù)閘門(mén)信號(hào)脈沖,由100Hz分頻出10Hz 產(chǎn)生0.1S的計(jì)數(shù)閘門(mén)信號(hào)脈沖,由10Hz分頻出1Hz產(chǎn)生1S的計(jì)數(shù)閘門(mén)信號(hào)脈 沖。同時(shí)給整個(gè)系統(tǒng)定義系統(tǒng)復(fù)位。由以上分析,可分頻器模塊如下圖所示:這個(gè)模塊實(shí)現(xiàn)了把50MHZ的晶振信號(hào)分成了我們需要的四個(gè)信號(hào) 1Hz, 10Hz, 100Hz, 1KHz因?yàn)榉抡鎴D需經(jīng)過(guò)50000個(gè)周期clk_1kHz才能出現(xiàn)一次上升沿,無(wú)法準(zhǔn)確顯 示50000次,故而仿真圖略。442 閘門(mén)選擇器該模塊的功能是根據(jù)開(kāi)關(guān)sw(2:0 )的不同輸入,實(shí)現(xiàn)對(duì)輸入的幾個(gè)閘門(mén)信號(hào) fdiv_in、fdiv_in10、fdiv

28、_in100 的手動(dòng)選擇,輸出被選中的閘門(mén)信號(hào)fdiv_out 和小數(shù)點(diǎn)的控制信號(hào)dp_loc(2:0)。生成的模塊如下圖所示:gate selectorf_reffd i v J nfdiv_outfdiv in 10u1fdiv_in100 -sw(2:0)dpoc(2:0)I該模塊有四個(gè)輸入端口,其中sw(2:0)為選擇端,fdiv_in 、fdiv_in10、fdiv_in100為被選時(shí)基信號(hào)輸入端。當(dāng)sw為001時(shí),1hz的輸入時(shí)基信號(hào)被選 中,被賦值給輸出端口 fdiv_out輸出,此時(shí)dp_loc為011;當(dāng)sw為010時(shí), 10hz時(shí)基信號(hào)被選中,被賦值給輸出端口 fdiv_o

29、ut輸出,此時(shí)dp_loc為010; 最后當(dāng)sw為100時(shí),100hz時(shí)基信號(hào)被選中,被賦值給輸出端口 fhz輸出,此 時(shí) dp_loc 為 001。仿真圖如圖4-8所示:9KiKM-1叩F莎* “h AmjEluF知(,1丄 tes.jdtnf.fj:.1 PU:01.:LIK|11:鈿:u443 測(cè)頻控制器測(cè)頻控制器是控制整個(gè)頻率計(jì)各模塊進(jìn)行時(shí)序工作的控制裝置, 它對(duì)輸入的標(biāo) 準(zhǔn)時(shí)鐘信號(hào)fdiv_in 進(jìn)行變換,產(chǎn)生我們所需要的三個(gè)信號(hào)閘門(mén)信號(hào) counter_en_out,鎖存信號(hào) latch_en_out 以及清零信號(hào) count_reset_out。其 生成的模塊如下圖所示:一一一

30、一controlfdivjn counter_en_outcoun ter_reset_outu2 latcn en outr測(cè)頻控制器的計(jì)數(shù)使能信號(hào)fdiv_in能產(chǎn)生一個(gè)周期信號(hào),并對(duì)頻率計(jì)的計(jì)數(shù)器 使能端進(jìn)行同步控制。當(dāng)fdiv_in為高電平時(shí),允許計(jì)數(shù),為低電平時(shí)停止計(jì)數(shù), 并保持其所計(jì)得脈沖數(shù)。在停止計(jì)數(shù)期間,首先需要一個(gè)鎖存信號(hào)latch_en_out 的上升沿將計(jì)數(shù)器在前一秒的計(jì)數(shù)值鎖存進(jìn)24位鎖存器latch_en_out中,并經(jīng)過(guò)顯示模塊顯示。鎖存信號(hào)之后,必須有一清零信號(hào)count_reset_out對(duì)計(jì)數(shù)器 清零,為下一秒的計(jì)數(shù)操作準(zhǔn)備。測(cè)頻控制信號(hào)發(fā)生器的仿真工作時(shí)序如

31、下圖所示。如果閘門(mén)信號(hào)fdiv_in的頻率取100Hz那么信號(hào)fdiv_in的脈寬恰好為0.01S,可以用作計(jì)數(shù)閘門(mén)信號(hào),而選擇其他閘門(mén)信號(hào)時(shí)也類(lèi)似。然后根據(jù)測(cè)頻 的時(shí)序要求,可得出信號(hào)latch_en_out和count_reset_out的邏輯描述。由圖 可見(jiàn),在計(jì)數(shù)完成后,即計(jì)數(shù)使能信號(hào)fdiv_i n在1S的高電平后,利用其反相值產(chǎn)生一個(gè)鎖存信號(hào)latch_en_out ,由于反相器的器件延時(shí),鎖存信號(hào)的上升 沿是在計(jì)數(shù)使能信號(hào)即閘門(mén)信號(hào)fdiv_i n的下降沿之后,即是計(jì)數(shù)完了才鎖存的,符合我們的設(shè)計(jì)要求。而清零信號(hào)count_reset_out的上升沿的產(chǎn)生是在下 一個(gè)fdiv_i

32、n信號(hào)上升沿來(lái)臨之前,也就是說(shuō)是清了零才開(kāi)始計(jì)數(shù)的,不是計(jì)了 一會(huì)兒數(shù)再被清零了繼續(xù)計(jì)數(shù),這也是與我們的設(shè)計(jì)要求相符合的。444計(jì)數(shù)器由于要求頻率計(jì)的顯示為十進(jìn)制六位,所示我們?cè)O(shè)計(jì)的是使能端的十進(jìn)制計(jì)數(shù) 器,所生成的模塊如圖所示:其中clr是清零端,enc是計(jì)數(shù)信號(hào)輸入端,fx為被測(cè)信號(hào)輸入端,進(jìn)位輸出作為溢出標(biāo)志用over來(lái)表示,用以顯示計(jì)數(shù)器計(jì)數(shù)是否溢出。計(jì)數(shù)器的仿真圖如下圖所示:忙:!)jjiuiircI iliji IWI |J昨$期一丄一丄一ULJL二1/二匚皿1弓r弓養(yǎng)計(jì)IJJU E J .:)behe從上圖可知計(jì)數(shù)器符合我們?cè)O(shè)計(jì)的要求。445 鎖存器如果計(jì)數(shù)器輸出直接與譯碼器相連

33、接,那么在計(jì)數(shù)過(guò)程中輸出端則隨輸入脈沖 數(shù)的增加而不斷跳變,那么顯示數(shù)碼管則也會(huì)不斷閃爍跳變, 讓人不能看到穩(wěn)定的輸出,設(shè)鎖存器后,則不再跳變,便可清晰讀出計(jì)數(shù)結(jié)果。由控制模塊產(chǎn)生的 latch信號(hào)來(lái)提供鎖存脈沖。其生成的功能模塊如下圖所示:31(3:0)2(3:0),J13(3:0)I4(3:0)5(3:0)=6(3:0”這模塊實(shí)現(xiàn)了對(duì)六位計(jì)數(shù)結(jié)果和溢出信號(hào) overn的鎖存功能。即鎖存信號(hào)的上 升沿來(lái)時(shí)送數(shù),其它時(shí)候則保持不變。仿真圖如下所示:卜.jkuhfujti 卜占郵AjiS 莎 tUiin.nlHl匂M幣 X .bfchnH加1勁Illi11 .sfchj*Ti!B,nn D暮鮒治

34、期 n- 訪(fǎng)-.(肌一U- x feldu.kfi1KCjwgT-INg詞mHU1446掃描顯示控制系統(tǒng)本模塊通過(guò)用一個(gè)頻率1KHz的信號(hào)來(lái)掃描一個(gè)多路選擇器,實(shí)現(xiàn)對(duì)六位已經(jīng) 鎖存的計(jì)數(shù)結(jié)果的掃描輸出,由于 1KHz相對(duì)了人眼的暫留效應(yīng)已經(jīng)很高了,所 以顯示結(jié)果不會(huì)讓人感覺(jué)到閃爍。這樣就可以在程序中實(shí)現(xiàn)對(duì)六個(gè) 4位二進(jìn)制數(shù) 的譯碼。譯碼結(jié)果再和段選碼結(jié)合,同樣由1KHz的信號(hào)來(lái)同步掃描選通。最后的輸出全部通過(guò)下載前的固定引腳連接到 LED顯示管上。實(shí)現(xiàn)最終結(jié)果的數(shù)字顯 示。輸入端包括掃描信號(hào)1KHz由前小數(shù)點(diǎn)指示信號(hào)dp_loc(2:0)以及鎖存器的輸出結(jié)果。其生成的模塊圖如下所示:displ

35、ayelkd p_outdpjoc(2:0)num_in 1(3:0)u5num_in 2(3:0)Ied_position_out(5:0)num_in 3(3:0)num_in4(3:0)numa 5(3:0)numjin6(3:0)led_out(6:0)仿真圖如下所示:fv羈皿:DMe阿lIMIImln列剛pLIJQ:210tJXM臥 &ifepfe-.Wran閔1LLIJliwmMlMlM-ElMJS.11T4.5 分配引腳和下載實(shí)現(xiàn)全部仿真通過(guò)后,就運(yùn)行ISE的設(shè)計(jì)實(shí)現(xiàn),然后分配引腳,即實(shí)現(xiàn)設(shè)計(jì)的輸入 輸出端口與實(shí)際芯片的輸入輸出端口的對(duì)應(yīng)連接。比如六段LED管的控制信號(hào)就 連接到

36、實(shí)際電路的六個(gè)引腳。需要注意的是一些端口是固定的,不能胡亂的連接。 外部信號(hào)輸入只能由外部信號(hào)源接口輸入,同時(shí)還要考慮內(nèi)部的可配制邏輯塊一 切都準(zhǔn)備就緒后就可以運(yùn)行 Con figure Device ,選擇要下載的位文件(.bit ) 便可開(kāi)始下載了。管腳分配文件也在附錄中給出,僅供參考4.6 誤差分析在實(shí)際測(cè)量中,輸入10MHz的方波,顯示為09.9998MHz調(diào)低一檔,若要顯 示999.999kHz則需要輸入1.00001MHz若在1Hz檔,將輸入方波的頻率逐漸增 加,增加到約為800kHz時(shí),最后一位開(kāi)始閃爍,隨著頻率的不斷增加,輸入頻率與顯示的差距逐漸增大。1Hz檔測(cè)得數(shù)據(jù)如下:輸入

37、(Hz)輸出(kHz)1000.00110000.010100000.1001000001.00010000010.000100000099.999800000800.0011000001999.9991000002溢出10Hz檔測(cè)得的數(shù)據(jù):輸入(Hz)輸出(kHz)100000.011000000.1010000001.00100000010.001000000100.0010000000999.9980000200800.01100000129999.9910000013溢出100Hz檔測(cè)得的數(shù)據(jù):輸入(Hz)輸出(kHz)10000000.1100000001.01000000010.0

38、10000000100.0100000001000.01000000009999.8下面我們來(lái)分析計(jì)數(shù)器測(cè)頻的測(cè)量誤差。從公式 f =以(4-1)可知,上述測(cè)頻T方法的測(cè)量誤差,一方面決定于閘門(mén)時(shí)間T,另一方面決定于計(jì)數(shù)器計(jì)得的數(shù)據(jù)。 根據(jù)誤差合成方法,從公式(4-1)可得:xN T(4-2)公式(4-2)中第一項(xiàng)是數(shù)字化儀器所特有的誤差,而第二項(xiàng)是閘門(mén)時(shí)間的相對(duì) 誤差,這項(xiàng)誤差決定于石英振蕩器所提供的標(biāo)準(zhǔn)頻率的準(zhǔn)確度?,F(xiàn)分述如下。(1) 1誤差在測(cè)頻時(shí),主門(mén)的開(kāi)啟時(shí)刻與計(jì)數(shù)脈沖之間的時(shí)間關(guān)系是不相關(guān)的,所以它們 在時(shí)間軸上的相對(duì)位置是隨機(jī)的。 這樣,在相同的主門(mén)開(kāi)啟時(shí)間內(nèi),計(jì)數(shù)器所計(jì)得的數(shù)卻

39、不一定相同,當(dāng)主門(mén)開(kāi)啟時(shí)間T接近甚至等于被測(cè)信號(hào)周期Tx的整數(shù)倍N倍時(shí),此項(xiàng)誤差為最大,圖4-2畫(huà)出的就是這種情況。NTx嚴(yán)ZniwwuviL+騷3*ToiftnnnruwLIdI t厶T趟近于0圖4-2正負(fù)1誤差若主門(mén)開(kāi)啟時(shí)刻為T(mén)o,而第1個(gè)計(jì)數(shù)脈沖出現(xiàn)在Tx,圖4-2 (a)中示出了TxT0的情況( T二Tx -T。),這時(shí)計(jì)數(shù)器計(jì)得N個(gè)數(shù)(圖中N=6);現(xiàn)在再來(lái)看圖4-2 (b)情況,即趨近于0,這就有兩種可能的計(jì)數(shù)結(jié)果:若第 1個(gè)計(jì)數(shù)脈沖 和第7個(gè)計(jì)數(shù)脈沖都能通過(guò)主門(mén),則可計(jì)得N+1=7個(gè)數(shù);也可能這兩個(gè)脈沖都沒(méi) 有能進(jìn)入主門(mén),則只能計(jì)得N-仁5個(gè)數(shù)。由此可知,最大的計(jì)數(shù)誤差為個(gè)數(shù)。所

40、 以考慮到公式(4-1),可寫(xiě)成N -11=土N NTfx(4-3)式中T為閘門(mén)時(shí)間,為被測(cè)頻率。從公式(4-3)可知,不管計(jì)數(shù)值N多少,其 最大誤差總是土 1個(gè)計(jì)數(shù)單位,故稱(chēng)“土 1個(gè)字誤差”,簡(jiǎn)稱(chēng)“土 1誤差”。而 且一定時(shí),增大閘門(mén)時(shí)間T,可減小土 1誤差對(duì)測(cè)頻誤差的影響。當(dāng) T選定后, 越低,則由土 1誤差產(chǎn)生的測(cè)頻誤差越大。(2) 標(biāo)準(zhǔn)頻率誤差閘門(mén)時(shí)間T準(zhǔn)不準(zhǔn),主要決定于由石英振蕩器提供的標(biāo)準(zhǔn)頻率的準(zhǔn)確度,若石英振蕩器的頻率為,分頻系數(shù)為k,則所以.汀二fcfc(4-4)可見(jiàn),閘門(mén)時(shí)間的準(zhǔn)確度在數(shù)值上等于標(biāo)準(zhǔn)頻率的準(zhǔn)確度,式中負(fù)號(hào)表示由引起的閘門(mén)時(shí)間的誤差為-AT。(3)結(jié)論綜上所述

41、,可得如下結(jié)論:即誤差和標(biāo)準(zhǔn)頻率誤差。一般,總誤差可采計(jì)數(shù)器直接測(cè)頻的誤差主要有兩項(xiàng): 用分項(xiàng)誤差絕對(duì)值合成,即(4-5)由以上公式可知:當(dāng)輸入頻率值為10000012HZ時(shí),輸出頻率值為9999.99kHZ,誤差為:10000012-999999010000012100% =0.00022%當(dāng)輸入頻率值為10000000Hz時(shí),輸出頻率值為09999.8Hz,其誤差為:10000000-999998010000000100% =0.0002%其余的相對(duì)誤差計(jì)算方法一樣,分析結(jié)果可見(jiàn),誤差都在0.0002%左右,這個(gè)數(shù)很小,因此在一般精度的系統(tǒng)中,就可以應(yīng)用該頻率計(jì)來(lái)計(jì)數(shù)或測(cè)頻。第五章實(shí)驗(yàn)結(jié)論

42、及總結(jié)本文主要介紹了利用VHDL語(yǔ)言完成基于FPGA的數(shù)字頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn)。詳 細(xì)介紹了測(cè)量原理,設(shè)計(jì)方案、各模塊的設(shè)計(jì)過(guò)程及其實(shí)現(xiàn)的功能,并對(duì)設(shè)計(jì)中遇到的問(wèn)題作了分析和處理;利用ISE和ModelSim對(duì)設(shè)計(jì)進(jìn)行了仿真,分析, 綜合,并最終下載到FPGA芯片中,實(shí)現(xiàn)了對(duì)頻率的測(cè)量。(1) . 通過(guò)ISE綜合,ModelSim仿真,最終在EDA實(shí)驗(yàn)板上實(shí)現(xiàn)了 10Hz 10MHz 頻率計(jì)的設(shè)計(jì),其誤差在0.01%數(shù)量級(jí),能夠較為精確的測(cè)量頻率。(2) .當(dāng)頻率計(jì)值達(dá)到該檔量程最大測(cè)量值時(shí),這時(shí)輸入頻率值再繼續(xù)增加,則會(huì)產(chǎn)生溢出,并且LED6會(huì)變亮表示計(jì)數(shù)器已經(jīng)溢出。(3) .在測(cè)量頻率過(guò)程中

43、我們應(yīng)當(dāng)選擇適當(dāng)?shù)臋n位, 使得測(cè)量結(jié)果更加精確,特 別是溢出信號(hào)LED亮的時(shí)候,一定要選擇更高檔位來(lái)進(jìn)行測(cè)量。而有時(shí)為了能更 精確的顯示頻率,也應(yīng)調(diào)低檔次來(lái)讀數(shù)。通過(guò)頻率計(jì)的設(shè)計(jì)試驗(yàn),對(duì)頻率計(jì)有了更深的認(rèn)識(shí),尤其是對(duì)頻率計(jì)的工作原 理以及各功能模塊的實(shí)現(xiàn)有深入了解。此外,還熟悉了Xili nx ISE 10.1i、ModelSim軟件的用法和VHDL/Verilog的編程環(huán)境,通過(guò)本次的設(shè)計(jì)培養(yǎng)自己的 實(shí)驗(yàn)動(dòng)手能力。這是第一次利用VHDL語(yǔ)言來(lái)實(shí)現(xiàn)基于FPGA勺實(shí)際工程項(xiàng)目,所 以在實(shí)驗(yàn)過(guò)程中不可避免的遇到了很多問(wèn)題。理論和實(shí)踐沒(méi)有有機(jī)的聯(lián)系起來(lái), 導(dǎo)致出現(xiàn)各種錯(cuò)誤。參考文獻(xiàn)1 .蔣煥文,孫續(xù)

44、電子測(cè)量(第二版).中國(guó)計(jì)量出版社(中)2 . Volnei A. Pedroni. VHDL數(shù)字電路設(shè)計(jì)教程.電子工業(yè)出版社(巴西).3 .姜立東.VHDL語(yǔ)言程序設(shè)計(jì)及應(yīng)用(第二版).北京郵電出版社(中).4 .湯山俊夫.數(shù)字電路設(shè)計(jì)與制作.科學(xué)出版社(日).廖超平.EDA技術(shù).北京理工大學(xué)出版社(中).孫航.Xilinx可編程邏輯器件的高級(jí)應(yīng)用與設(shè)計(jì)技巧.電子工業(yè)出版社(中).致 謝在此,我首先向不辭辛勞,誨人不倦的老師一一老師,表示最衷心的感謝。本實(shí)驗(yàn)在系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā)、代碼的編寫(xiě)和調(diào)試過(guò)程中都得到了劉老師和皇老師 的悉心指導(dǎo)與指正。正是老師們的諄諄教導(dǎo)和熱心關(guān)懷使我較快的熟悉了如何使

45、 用硬件語(yǔ)言VHDL來(lái)實(shí)現(xiàn)項(xiàng)目的過(guò)程,并最終順利完成實(shí)驗(yàn)。同時(shí),老師們嚴(yán)謹(jǐn) 的治學(xué)態(tài)度以及對(duì)工作的一絲不茍,也使我受益匪淺,終生難忘。特別感謝同學(xué)們?cè)趯?shí)驗(yàn)期間給予我的巨大幫助與支持。在此,謹(jǐn)向他們致以深 深的敬意和誠(chéng)摯的感謝!附錄分頻器(50000分頻,即出來(lái)1kHz的脈沖)-Engin eer:-Create Date: 03/15/2015LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;en tity freque ncy_divider_50000 isport(f_in : in std_

46、logic;f_out : out std_logic);end freque ncy_divider_50000;architecture behav of freque ncy_divider_50000 issig nal count : stdo gic_vector(15 dow nto 0) := (others=0); beg inprocess(f_i n)begi nif f_in eve nt and f_in = 0 the nif cou nt = 49999 thencount 0);elsecount = count + 1; end if;end if;end p

47、rocess;f_out 0); beg inprocess(f_i n)begi nif f_in eve nt and f_in = 0 the nif count = 9 the ncount 0);elsecount = count + 1;end if;end if;end process;f_out fdiv_out = fdiv_i n; dp_loc fdiv_out = fdiv_in 10; dp_loc fdiv_out = fdiv_i n100; dp_loc fdiv_out = 0; dp_loc = 111; end case;end process;end o

48、ne;測(cè)頻控制器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;en tity con trol isport(fdiv_i n:i n std_logic;coun ter_e n_out:out std_logic:=0; coun ter_reset_out:out std_logic:=0; latch_en_out:out std_logic:=0);end con trol;architecture one of con tr

49、ol issig nal sig1,sig2:std_logic:=0;beg inprocess(fdiv_i n, sig1,sig2)begi nif risin g_edge(fdiv_i n) the nsig1=not sig1;end if;if falli ng_edge(fdiv_i n) the n sig2=not sig2;end if;end process;coun ter_e n_out=sig1;latch_e n_out=sig2;coun ter_reset_out=(not fdiv_i n)and(not sig1)a nd(sig2); end one

50、;計(jì)數(shù)器:-Compa ny:-Engin eer:-Create Date:16:32:10 03/18/2015-Desig n Name:-Module Name:count_6 - Behavioral-Project Name:-Target Devices:-Tool versi ons:-Descripti on:-Depe nden cies: -Revisi on:-Revision 0.01 - File Created-Additi onal Comme nts: library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;-Uncomment the following library declaration if using-arithmetic functions w

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論