電氣工程及其自動化EDA課程設(shè)計_第1頁
電氣工程及其自動化EDA課程設(shè)計_第2頁
電氣工程及其自動化EDA課程設(shè)計_第3頁
電氣工程及其自動化EDA課程設(shè)計_第4頁
電氣工程及其自動化EDA課程設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電氣工程及其自動化EDA課程設(shè)計課程設(shè)計報告題 目: 數(shù)字頻率計的設(shè)計 院 (系): 機電與自動化學(xué)院 專業(yè)班級: 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 2014年1月6日至2014年1月10日華中科技大學(xué)武昌分校電氣工程及其自動化EDA課程設(shè)計設(shè)計任務(wù)書一、設(shè)計題目數(shù)字頻率計的設(shè)計二、設(shè)計主要內(nèi)容1設(shè)計目的:(1)鞏固和加深對EDA技術(shù)及應(yīng)用及數(shù)字電子技術(shù)基本知識的理解,提高學(xué)生綜合運用本課程所學(xué)知識的能力; (2)培養(yǎng)學(xué)生根據(jù)課題需要選學(xué)參考書籍、查閱手冊、圖表和文獻資料的自學(xué)能力;通過獨立思考,深入鉆研有關(guān)問題,學(xué)會自己分析解決問題的方法; (3)以學(xué)生的動手為主要內(nèi)容,培養(yǎng)學(xué)生系統(tǒng)軟、硬件

2、設(shè)計、調(diào)試的基本思路、方法和技巧,并能熟練使用集成軟件Quartus進行有關(guān)電路設(shè)計與分析; (4)掌握FPGA器件的正確使用方法,提高學(xué)生動手能力,能在教師指導(dǎo)下,完成課程任務(wù);(5)培養(yǎng)嚴肅認真的工作作風(fēng)和科學(xué)態(tài)度。通過課程設(shè)計實踐,幫助學(xué)生逐步建立正確的生產(chǎn)觀念、工程觀念和全局觀點。2設(shè)計內(nèi)容:(1)位頻率計輸入端分別為:系統(tǒng)基準時鐘100MHZ(CLK)、被測信號輸入(Fx);及輸出端為(DOUT),皆采用BCD碼計數(shù)方式;(2)可測量范圍從1Hz到99999999Hz;(3)將被測信號的頻率直接送到個LED顯示; 也可選擇其它題目,但分量不能低于上述題目。三、原始資料1頻率測量方法的

3、基本原理是計算每秒內(nèi)待測信號的脈沖個數(shù),這就要求TESTCTL的計數(shù)使能信號TSTEN能產(chǎn)生一個1秒脈寬的周期信號,并對頻率計的每一個計數(shù)器CNT10的ENA使能端進行同步控制。當(dāng)TSTEN高電平時,允許計數(shù),并保持其所計的數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號LOAD的上跳沿將計數(shù)器在前1秒的計數(shù)值鎖存進32位鎖存器REG32B中,并由外部的7段譯碼器譯出并穩(wěn)定的顯示。此方法測量精度高。數(shù)字頻率計由多頻信號源模塊、測頻控制模塊、CNT計數(shù)模塊、32位鎖存器模塊及頻率顯示模塊組成,其框圖為圖1所示:信號源計數(shù)模塊鎖存器顯示器控制信號100MHzCLK1Hz用于測量用于掃描顯示被測信號fsin

4、TESTENLOADCLR產(chǎn)生1MHz信號產(chǎn)生多種頻率輸出 圖1 數(shù)字頻率計組成框圖2在QuartusII軟件中,編寫各個模塊VHDL源程序;并上機調(diào)試通過;3下載頂層文件到目標芯片;4將被測信號fx輸入到系統(tǒng),數(shù)碼管將會顯示被測信號頻率。四、要求的設(shè)計成果1、基本要求:在QuartusII軟件中新建原理圖文件,編譯,仿真,鎖定管腳并下載到目標芯片。將被測信號fx輸入到系統(tǒng),數(shù)碼管將會顯示被測信號頻率。 (1) 根據(jù)設(shè)計要求, 設(shè)計系統(tǒng)的原理框圖,說明系統(tǒng)中各主要組成部分的功能; (2) 在QuartusII軟件中,編寫各個模塊VHDL源程序;并上機調(diào)試通過; (3) 根據(jù)軟件編好用于系統(tǒng)仿真

5、的測試文件;(4) 編好用于硬件驗證的管腳鎖定文件;(5) 記錄系統(tǒng)各個模塊仿真結(jié)果; (6) 記錄仿真結(jié)果中出現(xiàn)的問題及解決辦法。2、備選要求:學(xué)生可根據(jù)課堂教學(xué)對EDA技術(shù)及應(yīng)用所掌握知識點的實際情況,也可選擇其它方案完成設(shè)計,從而形成難易程度不同的設(shè)計方法。注意:基本要求學(xué)生必須完成,學(xué)有余力的學(xué)生可以在基本要求完成的前提下,選擇其它方案完成設(shè)計。一般來說,測頻精度越高,考查評價就越高。 五、進程安排表2 進度安排及學(xué)時分配表序號課程設(shè)計內(nèi)容學(xué)時分配備注1集中學(xué)生學(xué)習(xí)課程設(shè)計的關(guān)鍵理論知識、分配設(shè)計任務(wù)、明確設(shè)計要求、查找資料等。1天2根據(jù)任務(wù)的要求進行方案構(gòu)思,初選方案,繪制系統(tǒng)原理框

6、圖并與指導(dǎo)教師討論,方案定稿。 1天完成各模塊的VHDL程序設(shè)計、編譯和時序仿真1天3編程、下載,結(jié)合硬件平臺,進行調(diào)試。完成頂層文件圖繪制,對編制好的封圖交給老師檢查,并按照老師要求修改。1天4撰寫課程設(shè)計說明書1天5答辯及驗收課程設(shè)計1 天合計5天六、主要參考資料1 侯伯享. VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計. 西安:西安電子科技大學(xué)出版,2010.2 潘松. EDA技術(shù)實用教程. 成都:電子科技大學(xué)出版社,2010.3 李玉山. 電子系統(tǒng)集成設(shè)計技術(shù). 北京:電子工業(yè)出版社,2010.6.4 李國麗.EDA與數(shù)字系統(tǒng)設(shè)計.北京:機械工業(yè)出版社,2009.5 周彩寶.VHDL語言及其

7、應(yīng)用. 上海:華東計算機技術(shù)研究所:2009.6 譚會生.EDA技術(shù)中和應(yīng)用實例與分析.西安:西安電子科技大學(xué)出版社,2008. 指導(dǎo)教師(簽名): 20 年 月 日目 錄第一章 緒論11.1 設(shè)計背景11.2 設(shè)計意義11.3 本文的主要工作2第二章 EDA技術(shù)原理與概述32.1 可編程邏輯器件基本原理32.2 硬件描述語言42.3 集成開發(fā)軟件5第三章 數(shù)字頻率計的系統(tǒng)分析103.1 8位十進制數(shù)字頻率計系統(tǒng)設(shè)計的原理103.1.1 數(shù)字頻率計的基本原理103.1.2 系統(tǒng)總體框架圖103.2 8位十進制數(shù)字頻率計設(shè)計任務(wù)與要求113.3 目標芯片F(xiàn)LEX10K11第四章 各功能模塊基于V

8、HDL的設(shè)計與仿真134.1 8位十進制數(shù)字頻率計的電路邏輯圖134.2 測頻控制信號發(fā)生器的功能模塊及仿真144.3系統(tǒng)時鐘分頻的功能模塊及仿真154.4 32位鎖存器的功能模塊及仿真164.4.1 鎖存器164.4.2 鎖存器的功能模塊及仿真174.5 數(shù)碼管掃描的功能模塊及仿真184.6 數(shù)碼管譯碼顯示的功能模塊及仿真194.7 十進制計數(shù)器的功能模塊及仿真214.7.1 計數(shù)器214.7.2 十進制計數(shù)器的功能模塊及仿真214.8 8位十進制數(shù)字頻率計的仿真23第五章 結(jié)束語30參考文獻31第一章 緒 論1.1設(shè)計背景 數(shù)字頻率計 1是電子測量與儀表技術(shù)最基礎(chǔ)的電子儀表類別之一,數(shù)字頻

9、率計是計算機、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器,而且它是數(shù)字電壓必不可少的部件。當(dāng)今數(shù)字頻率計不僅是作為電壓表,計算機,天線電廣播通訊設(shè)備,工藝過程自動化裝置、多種儀表儀器與家庭電器等許多電子產(chǎn)品中的數(shù)據(jù)信息輸出顯示器反映到人們眼簾。集成數(shù)字頻率計由于所用元件少、投資少、體積小、功耗低,且可靠性高、功能強、易于設(shè)計和研發(fā),使得它具有技術(shù)上的實用性和應(yīng)用的廣泛性。不論從我們用的彩色電視機、電冰箱、DVD還有我們現(xiàn)在家庭常用到的數(shù)字電壓表數(shù)字萬用表等等都包含有頻率計。現(xiàn)在頻率計已是向數(shù)字智能方向發(fā)展,即可以很精確的讀數(shù)也精巧易于控制。數(shù)字頻率計已是現(xiàn)在頻率計發(fā)展的方向,它不僅可以

10、很方便的讀數(shù)。而且還可以使頻率的測量范圍和測量準確度上都比較先進.而且頻率計的使用已設(shè)計到很多的方面,數(shù)字衛(wèi)星,數(shù)字通訊等高科技的領(lǐng)域都有應(yīng)用,今天數(shù)字頻率計的發(fā)展已經(jīng)不僅僅是一個小電子產(chǎn)品的發(fā)展也是整個民族乃至整個國家的發(fā)展,所以頻率計的發(fā)展是一個整體的趨勢。而從民族產(chǎn)業(yè)上來說,我們在這種產(chǎn)業(yè)中還落后于西方發(fā)達國家,這將會關(guān)系到民族產(chǎn)業(yè)的興衰。所以我們必須很重視當(dāng)前的情況,學(xué)習(xí)發(fā)達國家的先進技術(shù)來發(fā)展本國的電子信息產(chǎn)業(yè)。1.2設(shè)計意義 我國的頻率計其實不是落后發(fā)達國家太多的,我國在這個領(lǐng)域的發(fā)展是極其迅速的,現(xiàn)在的技術(shù)實際已是多年來見證。我國現(xiàn)階段電子產(chǎn)品的市場特點,電子數(shù)字化發(fā)展很快。在我

11、國和發(fā)達國家的發(fā)展情況是趨于一致的,數(shù)字頻率計已經(jīng)應(yīng)用于高科技等產(chǎn)品上面,可以不無夸張的說沒有不包含有頻率計的電子產(chǎn)品。我國的CD、VCD、DVD和數(shù)字音響廣播等新技術(shù)已開始大量進入市場。而在今天這些行業(yè)中都必須用到頻率計。頻率計已開始并正在向智能,精細方向的發(fā)展。國外的發(fā)展比我國要早,所以在這些行業(yè)中還領(lǐng)先于我們,我國還是缺少開發(fā)和研發(fā)的資金投入,很多的電子企業(yè)都不太樂意去花大量的時間,資金和精力去研究和開發(fā),這也就使得我國在這方面的人力和資金都不充足,也就無法于發(fā)達國家相比,不能夠形成一個量產(chǎn)的效果。從而很多的企業(yè)沒有競爭力,這也和我國其他的民族產(chǎn)業(yè)存在相同的情況,這也正是我國在高速發(fā)展后

12、的今天很少有自己的民族品牌的原因,所以我國應(yīng)該大力的支持自己的民族品牌,不僅僅是要在資金和人才的投入,還要有具體的實際行動并起到一定的保護作用。1.3本文的主要工作本文的主要工作為:(1)首先分析了8位十進制數(shù)字頻率計的基本原理。(2)對設(shè)計工具Quartus II進行了介紹,對設(shè)計中使用的VHDL語言2-3進行介紹。(3)對數(shù)字頻率計的各個模塊功能的分析,進行了功能仿真測試,得出仿真波形圖。本文的安排如下:第一章介紹數(shù)字頻率計的設(shè)計背景,設(shè)計意義,第二章介紹EDA技術(shù)原理與概述,本論文是以EDA技術(shù)為基礎(chǔ)編寫的所以對EDA技術(shù)的要求比較高,對VHDL語言的編寫以及QuartusII的運用都要

13、比較熟練。介紹了可編程邏輯器件FPGA和硬件描述語言,第三章是對數(shù)字頻率計的基本原理以及對設(shè)計的要求進行概述,對目標芯片的介紹等,第四章介紹各個功能模塊的基本功能以及VHDL語言的分析,將各部分進行仿真并對其進行仿真分析,測出所給頻率。對該設(shè)計的數(shù)字頻率計的仿真進行理論值與實驗值的驗證,第五章是本文的結(jié)束語。第二章 EDA技術(shù)原理與概述2.1可編程邏輯器件基本原理FPGA 4-5是一種高密度的可編程邏輯器件,自從Xilinx公司1985年推出第一片F(xiàn)PGA以來,FPGA的集成密度和性能提高很快,其集成密度最高達1000萬門/片以上,系統(tǒng)性能可達300MHz。由于FPGA器件集成度高,方便易用,

14、開發(fā)和上市周期短,在數(shù)字設(shè)計和電子生產(chǎn)中得到迅速普及和應(yīng)用。FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。 現(xiàn)場可編程門陣列(FPGA)是可編程器件。與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu),F(xiàn)PGA利用小型查找表(161RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成

15、了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的,存儲在存儲器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。 FPGA器件優(yōu)點:高密度、高速率、系列化、標準化、小型化、多功能、低功耗、低成本,設(shè)計靈活方便,可無限次反復(fù)編程,并可現(xiàn)場模擬調(diào)試驗證。圖2.1 FPGA基本結(jié)構(gòu)2.2硬件描述語言 目前最主要的硬件描述語言是VHDL和Verilog HDL,Verilog HDL和HDL都是

16、用于邏輯設(shè)計的硬件描述語言,并且都已成為IEEE標準。VHDL發(fā)展的較早,語法嚴格,而Verilog HDL是在C語言的基礎(chǔ)上發(fā)展起來的一種硬件描述語言,語法較自由。 VHDL和Verilog HDL兩者相比,VHDL的書寫規(guī)則比Verilog煩瑣一些,但verilog自由的語法也容易讓少數(shù)初學(xué)者出錯。Verilog HDL和VHDL作為描述硬件電路設(shè)計的語言,其共同的特點在于:能形式化地抽象表示電路的行為和結(jié)構(gòu)、支持邏輯設(shè)計中層次與范圍的描述、可借用高級語言的精巧結(jié)構(gòu)來簡化電路行為的描述、具有電路仿真與驗證機制以保證設(shè)計的正確性、支持電路描述由高層到低層的綜合轉(zhuǎn)換、硬件描述與實現(xiàn)工藝無關(guān)。本

17、設(shè)計是用的VHDL語言來實現(xiàn)數(shù)字頻率計的設(shè)計的,本設(shè)計將重點介紹VHDL語言。VHDL語言主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。VHDL的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計的基本點。VHDL語言能夠成為標準化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點。VHDL程序組成部分

18、由實體、構(gòu)造體、配置、包集合、庫5個部分組成。各組成部分的作用是:(1)實體:用于描述所設(shè)計的系統(tǒng)的外部接口信號。(2)構(gòu)造體:用于描述系統(tǒng)內(nèi)部結(jié)構(gòu)和行為。(3)配置:用于從庫中選取不同單元(器件)來組成系統(tǒng)設(shè)計的不同版本。(4)包集合:存放各設(shè)計模塊都能共享的數(shù)據(jù)類型,常數(shù)和子程序等。(5)庫:可由系統(tǒng)工程師生成或由ASIC芯片商提供,以便在設(shè)計中共享。 VHDL系統(tǒng)優(yōu)勢(1)與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計領(lǐng)域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。(2) VHDL豐富的仿

19、真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計早期就能查驗設(shè)計系統(tǒng)的功能可行性,隨時可對設(shè)計進行仿真模擬。 (3)VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計的分解和已有設(shè)計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。 (4)對于用VHDL完成的一個確定的設(shè)計,可以利用EDA工具進行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。(5) VHDL對設(shè)計的描述具有相對獨立性,設(shè)計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計實現(xiàn)的目標器件是什么,而進行獨立的設(shè)計。2.3集成開發(fā)軟件QuartusII6-7是Altera公司推出

20、的新一代開發(fā)軟件,適合于大規(guī)模邏輯電路設(shè)計,其設(shè)計流概括為設(shè)計輸入8、設(shè)計編譯、設(shè)計仿真和設(shè)計下載過程。QuartusII支持多種編輯輸入法,包括圖形編輯輸入法,VHDL,VerilogHDL和AHDL的文本編輯輸入法,符號編輯輸入法,以及內(nèi)存編輯輸入法。QuartusII與MATLAB和DSP Builder結(jié)合可以進行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)9實現(xiàn)的關(guān)鍵EDA工具,與SOPC Builder結(jié)合,可實現(xiàn)SOPC系統(tǒng)開發(fā)。Quartus(R) II 軟件中的工程由所有設(shè)計文件和與設(shè)計有關(guān)的設(shè)置組成??梢允褂?Quartus II Block Editor、Text Ed

21、itor、MegaWizard(R) Plug-In Manager(Tools 菜單)和 EDA 設(shè)計輸入工具10建立包括 Altera(R) 宏功能模塊、參數(shù)化模塊庫 (LPM) 函數(shù)和知識產(chǎn)權(quán) (IP) 函數(shù)在內(nèi)的設(shè)計??梢允褂肧ettings 對話框(Assignments 菜單)和 Assignment Editor 設(shè)定初始設(shè)計約束條件。如圖2.2所示為設(shè)計輸入流程圖。圖2.2 設(shè)計輸入流程圖本設(shè)計將以QuartusII軟件來進行各個數(shù)據(jù)的操作,將仿真的圖形數(shù)據(jù)來分析該課題。本設(shè)計所選擇的QuartusII文本編輯輸入法,在文本編輯窗口中完成VHDL設(shè)計文件的編輯,然后對設(shè)計文件進

22、行編譯、仿真操作。詳細介紹QuartusII文本編輯輸入法的使用方法:1.編輯設(shè)計文件(1) 新建一個文件夾。利用資源管理器,新建一個文件夾,如e:SIN GNT。(2) 輸入源程序。打開QuartusII,執(zhí)行FileNew,在New窗口中的“Device Design Files”中選擇編譯文件的語言類型,這里選“VHDL Files”,然后在VHDL文本編譯窗口中鍵入VHDL程序。如圖2.3所示。(3) 文件存盤。執(zhí)行FileSave As,找到已設(shè)立的文件夾e:SIN_GNT,存盤文件名應(yīng)該與實體名一致。2.創(chuàng)建工程(1)建立新工程管理窗。執(zhí)行FileNew Project Wizar

23、d命名,在圖2.4對話框進行工程設(shè)置。(2)將設(shè)計文件加入工程中。(3)選擇仿真器和綜合器類型。(4)選擇芯片。(5)結(jié)束設(shè)置。3.編譯前設(shè)置 圖2.3 選擇編輯文件的語言類型 圖2.4 利用“New Project Wizard”創(chuàng)建工程(1) 選擇目標芯片,執(zhí)行Assignmemtssettings命令,在彈出的對話框中選Compiler Settings項下的Device選目標芯片。(2)選擇目標器件編程配置方式,由圖2.5的按鈕Device Pin Options進入選擇窗,可選Configuration方式為Active Serial。 (3)在下圖所示的Programming Fi

24、les窗口,Hexadecimal(Intel-Format)output File,即產(chǎn)生下載文件的同時,產(chǎn)生二進制十六進制配置文件fraqtest.hexout,可用于單片機與EPROM構(gòu)成的FPGA配置電路系統(tǒng)如圖2.6所示。4.編譯及了解編譯結(jié)果 首先執(zhí)行ProcessingStart Compilation命令,啟動全程編譯,如果工程中的文件有錯誤,在下方的Processing處理欄中會顯示出來。對于Processing欄顯示出的語句格式錯誤,可雙擊此條文,即彈出VHDL文件,在閃動的光標處(或附近)可發(fā)現(xiàn)文件中的錯誤。再次進行編譯直至排除所有錯誤。5.仿真(1)打開波形編輯器。選擇

25、菜單FileNew命令,在New窗口中選擇Other Files中的“Vector Waveform File”打開波形編輯器。(2)設(shè)置仿真時間區(qū)域。執(zhí)行EditEnd Time項,在彈出窗口中的Time窗口中的設(shè)定仿真時間50s。(3)存盤波形文件。選擇File中的Save as,將以名為cnt4b的波形文件存入文件夾。(4)輸入信號節(jié)點。(5)編輯輸入波形。點擊時鐘名CLK,使之變?yōu)樗{色,再點擊左列的時鐘設(shè)置鍵,在Clock窗口中設(shè)置CLK的周期為3s,再對文件存盤。圖2.5 選擇配置器件和配置方式(6)總線數(shù)據(jù)格式設(shè)置。如果點擊輸出信號DOUT左旁的“+”,則將展開此總線中的所有信號;

26、如果雙擊此“+”號左旁的信號標記,將彈出對該信號數(shù)據(jù)格式設(shè)置的Radix欄有4種選擇。(7)仿真器參數(shù)設(shè)置。執(zhí)行AssignmentSettings命令,在Settings窗口執(zhí)行CatgorySimulator Settings命名,在此項下分別選中General按鈕,觀察仿真總體設(shè)置情況;選中Mode按鈕,以確定仿真模式為時序仿真Timing;選中Optiongs,確認選定“Simulation coverage reporting”;毛刺檢測Glitch detection為1ns寬度。(8)啟動仿真器,觀察仿真結(jié)果。執(zhí)行ProcessingStart Simulation命名,直到出現(xiàn)

27、“Simulation was successful”。仿真波形文件Simulation Report通常會自動彈出,將仿真輸出結(jié)果與文件數(shù)據(jù)比較。 圖2.6 選定目標器件第三章 數(shù)字頻率計的系統(tǒng)分析3.1 8位十進制數(shù)字頻率計系統(tǒng)設(shè)計的原理3.1.1數(shù)字頻率計的基本原理數(shù)字頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準時鐘,通常情況下計算每秒內(nèi)待測信號的脈沖個數(shù),此時我們稱閘門時間為1秒。閘門時間也可以大于或小于一秒。閘門時間越長,得到的頻率值就越準確,但閘門時間越長則每測一次頻率的間隔就越長。閘門時間越短,測的頻率值刷新就越快,但測得的頻率精度就受影響。數(shù)字頻率計的主要功能是測量周期

28、信號的頻率。頻率是單位時間(1S)內(nèi)信號發(fā)生周期變化的次數(shù)。如果我們能在給定的1S時間內(nèi)對信號波形計數(shù),并將計數(shù)結(jié)果顯示出來,就能讀取被測信號的頻率。數(shù)字頻率計首先必須獲得相對穩(wěn)定與準確的時間,同時將被測信號轉(zhuǎn)換成幅度與波形均能被數(shù)字電路識別的脈沖信號,然后通過計數(shù)器計算這一段時間間隔內(nèi)的脈沖個數(shù),將其換算后顯示出來。這就是數(shù)字頻率計的基本原理。3.1.2 系統(tǒng)總體框架圖 圖 3.1 系統(tǒng)總體框架圖總體框圖設(shè)計思路:由50MHz系統(tǒng)時鐘分頻得到0.5Hz的基準時鐘。在基準時鐘的1S 高電平期間計被測頻率的脈沖個數(shù),1S高電平結(jié)束時計數(shù)結(jié)束,所記錄的脈沖個數(shù)是被測信號的頻率,為了在數(shù)碼管上顯示計

29、數(shù)結(jié)果需要鎖存器將所計的數(shù)鎖存,因此,在基準時鐘下降沿來的時候鎖存器實現(xiàn)鎖存功能。為了下次計數(shù)必須將本次計數(shù)的結(jié)果清零,所以在基準時鐘低電平期間對計數(shù)器清零。被測頻率從計數(shù)器的是中端輸入實現(xiàn)頻率的測試。將鎖存器鎖存的數(shù)據(jù)輸入掃描器,通過譯碼器將鎖存的二進制數(shù)譯成十進制然后顯示到數(shù)碼管上,最終被讀出來。3.2 8位十進制數(shù)字頻率計設(shè)計任務(wù)及要求用測頻法設(shè)計一個八位十進制的數(shù)字頻率器,測頻范圍是1HZ到49999999HZ。(1)測量范圍信號:方波、正弦波;幅度:0.5V5V;頻率:1Hz4999999HZ。(2)測量范圍信號:脈沖波;幅度:0.5V5V;脈沖寬度100s.測量誤差1%。(3)顯示

30、器:十進制數(shù)字顯示,顯示刷新時間110秒連續(xù)可調(diào),對上述三種測量功能分別用不同顏色的發(fā)光二極管指示。(4)具有自校功能,時標信號頻率為1Hz。3.3 目標芯片F(xiàn)LEX10K 目標芯片11選用Altera公司生產(chǎn)的FPGA產(chǎn)品FLEX10K系列9中的LC84-4,F(xiàn)LEX10K是ALTERA公司研制的第一個嵌入式的PLD可編程邏輯器件系列。它具有高密度、低成本、低功率等特點,利用FLEX10K系列CPLD可編程邏輯器件的EAB可在系統(tǒng)中實現(xiàn)邏輯功能和存貯功能。FLEX10K是ALTERA公司研制的第一個嵌入式的PLD,它具有高密度、低成本、低功率等特點,是當(dāng)今ALTERA CPLD中應(yīng)用前景最好

31、的器件系列之一。它采用了重復(fù)可構(gòu)造的CMOS SRAM工藝,并把連續(xù)的快速通道互連與獨特的嵌入式陣列結(jié)構(gòu)相結(jié)合,同時可結(jié)合眾多可編程器件來完成普通門陣列的宏功能。每一個FLEX10K器件均包括一個嵌入式陣列和一個邏輯陣列,因而設(shè)計人員可輕松地開發(fā)集存貯器、數(shù)字信號處理器及特殊邏輯等強大功能于一身的芯片。 FPGA采用可編程的查找表LUT(Look Up Table)結(jié)構(gòu)。LUT是可編程的最小邏輯單元,大部分FPGA采用基于SRAM的查找表邏輯形式結(jié)構(gòu),用SRAM來構(gòu)成邏輯函數(shù)發(fā)生器。FLEX內(nèi)部結(jié)構(gòu)如圖3.2所示。圖3.2 FLEX內(nèi)部芯片結(jié)構(gòu)第四章 各功能模塊基于VHDL的設(shè)計與仿真4.1

32、8位十進制數(shù)字頻率計的電路邏輯圖 8位十進制數(shù)字頻率計的電路邏輯圖,它由一個測頻控制信號發(fā)生器TESTCTL、8個有時鐘使能的十進制計數(shù)器CNT10、一個32位鎖存器REG32B 8組成。以下分別敘述頻率計各邏輯模塊的功能與設(shè)計方法。8位十進制數(shù)字頻率計的電路邏輯如圖4.18所示。圖4.1 8位十進制數(shù)字頻率計的電路邏輯圖4.2 測頻控制信號發(fā)生器的功能模塊及仿真(1)測頻控制信號發(fā)生器的功能模塊如圖4.2所示。圖4.2 測頻控制信號發(fā)生器的功能模塊圖(2)源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UN

33、SIGNED.ALL;ENTITY TESTCTL IS PORT(CLK:IN STD_LOGIC; -1 Hz測頻控制時鐘 TSTEN:OUT STD_LOGIC; -計數(shù)器時鐘使能 CLR_CNT:OUT STD_LOGIC; -計數(shù)器清零 LOAD:OUT STD_LOGIC); -輸出鎖存信號END ENTITY TESTCTL;ARCHITECTURE ART OF TESTCTL IS SIGNAL DIV2CLK :STD_LOGIC;BEGINPROCESS ( CLK ) IS BEGINIF CLKEVENT AND CLK= 1 THEN -1HZ 時鐘二分頻 DIV2

34、CLK=NOT DIV2CLK;END IF ;END PROCESS;PROCESS ( CLK,DIV2CLK ) ISBEGIN IF CLK= 0 AND DIV2CLK = 0 THEN -產(chǎn)生計數(shù)器清零信號 CLR_CNT= 1; ELSE CLR_CNT= 0 ; END IF; END PROCESS; LOAD=NOT DIV2CLK; TSTEN=DIV2CLK;END ARCHITECTURE ART;頻率計的關(guān)鍵是設(shè)計一個測頻率控制信號發(fā)生器,產(chǎn)生測量頻率的控制時序??刂茣r鐘信號CLK取為1Hz,2分頻后即可產(chǎn)生一個脈寬為1秒的時鐘TSTEN,以此作為計數(shù)閘門信號。當(dāng)T

35、STEN為高電平時,允許計數(shù);當(dāng)TSTEN由高電平變?yōu)榈碗娖剑ㄏ陆笛氐絹恚r,應(yīng)產(chǎn)生一個鎖存信號,將計數(shù)值保存起來;鎖存數(shù)據(jù)后,還要在下次TSTEN上升沿到哦來之前產(chǎn)生零信號CLEAR,將計數(shù)器清零,為下次計數(shù)作準備,如圖4.3所示為測頻控制信號仿真圖。圖4.3 測頻控制信號仿真圖4.3系統(tǒng)時鐘分頻的功能模塊及仿真(1)系統(tǒng)時鐘分頻的分頻功能模塊如圖4.4所以。圖4.4 系統(tǒng)時鐘分頻的功能模塊圖(2)源程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY div1hz I

36、S PORT(CLK:IN STD_LOGIC; CLOCK:OUT STD_LOGIC); END div1hz; ARCHITECTURE BEHAV OF div1hz IS SIGNAL COUNT:INTEGER RANGE 0 TO 500000; SIGNAL CLK_DATA:STD_LOGIC; BEGIN PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN IF COUNT=500 THEN COUNT=0; CLK_DATA=NOT CLK_DATA; ELSE COUNT=COUNT+1; END IF; END IF; CLOC

37、K=CLK_DATA; END PROCESS; END BEHAV;該模塊由系統(tǒng)時鐘分頻模塊12為TESTCTL的計數(shù)能使信號TSTEN產(chǎn)生一個1S 脈寬的周期信號,并對頻率計中的 32 位十進制計數(shù)器CNT10的 ENA 使能端進行同步控制。TSTEN高電平時允許計數(shù);當(dāng)?shù)碗娖綍r停止計數(shù),并保持其所計的脈沖數(shù)。在停止計數(shù)期間,從仿真圖4.5中可以看出,一個鎖存信號LOAD 的上跳沿將計數(shù)器在前一秒的計數(shù)值鎖存進鎖REG32B中,并由外部的十進制 7 段數(shù)碼管顯示計數(shù)值。設(shè)置鎖存器的好處是數(shù)據(jù)顯示穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。鎖存信號后,必須有一個清零信號 CLR_CNT對計數(shù)器

38、進行清零,為下一秒的計數(shù)操作做準備。圖4.5 系統(tǒng)時鐘分頻的分頻功能仿真圖4.4 32位鎖存器的功能模塊及仿真4.4.1鎖存器13鎖存器(Latch)是一種對脈沖電平敏感的存儲單元電路,它們可以在特定輸入脈沖電平作用下改變狀態(tài)。鎖存,就是把信號暫存以維持某種電平狀態(tài)。鎖存器的最主要作用是緩存,其次完成高速的控制其與慢速的外設(shè)的不同步問題,再其次是解決驅(qū)動的問題,最后是解決一個 I/O 口既能輸出也能輸入的問題。4.4.2鎖存器的功能模塊及仿真(1)32位鎖存器的功能模塊如圖4.6所示。圖4.6 鎖存器的功能模塊圖(2)源程序如下:LIBRARY IEEE; USE IEEE.STD_LOGIC

39、_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 BEGINIF LOAD EVENT AND LOAD= 1 THEN DOUT=DIN; -鎖存輸入數(shù)據(jù)END IF;END PROCESS;END ARCHITECTURE ART;

40、仿真圖4.7的LOAD 信號上升沿到來時將對輸入到內(nèi)部的 CNT10 計數(shù)信號進行鎖存,并將結(jié)果輸出給SELTIME。當(dāng)輸入信號上升到時就會產(chǎn)生鎖存,否則,不進行鎖存,該仿真在上升沿的時候,將其鎖存起來,直到下個上升沿才會改變鎖存的數(shù)據(jù),如仿真在“1”的時候上升,則對“1”進行鎖存。 圖4.7 鎖存器的功能仿真4.5 數(shù)碼管掃描的功能模塊及仿真(1)數(shù)碼管掃描8的功能模塊如圖4.8所示。圖4.8 數(shù)碼管掃描的功能模塊(2)源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY

41、 SELTIME IS PORT( CLK : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(31 DOWNTO 0); DAOUT: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); SEL : OUT STD_LOGIC_VECTOR(2 DOWNTO 0); END SELTIME; ARCHITECTURE behav OF SELTIME ISSIGNAL SEC : STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN PROCESS(CLK) BEGIN IF(CLKEVENT AND CLK=1) THEN

42、IF(SEC=111) THEN SEC=000; ELSE SECDAOUTDAOUTDAOUTDAOUTDAOUTDAOUTDAOUTDAOUTNULL; END CASE;END PROCESS; SELDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTDOUTNULL; END CASE;END PROCESS; END ARCHITECTURE behav;數(shù)碼譯碼14主要是用來完成各種碼制之間的轉(zhuǎn)換。例如可用來完成BCD十進制數(shù)、十進制數(shù)BCD之間數(shù)制的轉(zhuǎn)換。從圖4.11仿真圖可知,當(dāng)LED的輸入為“0X7E”數(shù)

43、碼管就會顯示為“0”,當(dāng)LED的輸入為“0X06”數(shù)碼管就會顯示為“1”。圖4.11為數(shù)碼管譯碼顯示仿真圖。圖4.11 數(shù)碼管譯碼顯示仿真圖4.7 十進制計數(shù)器的功能模塊及仿真4.7.1計數(shù)器計數(shù)是一種最簡單基本的運算,計數(shù)器15就是實現(xiàn)這種運算的邏輯電路,計數(shù)器在數(shù)字系統(tǒng)中主要是對脈沖的個數(shù)進行計數(shù),以實現(xiàn)測量、計數(shù)和控制的功能,同時兼有分頻功能,計數(shù)器是由基本的計數(shù)單元和一些控制門所組成,計數(shù)單元則由一系列具有存儲信息功能的各類觸發(fā)器構(gòu)成,這些觸發(fā)器有RS觸發(fā)器、T觸發(fā)器、D觸發(fā)器及JK觸發(fā)器等。計數(shù)器在數(shù)字系統(tǒng)中應(yīng)用廣泛,如在電子計算機的控制器中對指令地址進行計數(shù),以便順序取出下一條指令

44、,在運算器中作乘法、除法運算時記下加法、減法次數(shù),又如在數(shù)字儀器中對脈沖的計數(shù)等等。計數(shù)器可以用來顯示產(chǎn)品的工作狀態(tài),一般來說主要是用來表示產(chǎn)品已經(jīng)完成了多少份的折頁配頁工作。它主要的指標在于計數(shù)器的位數(shù),常見的有3位和4位的。很顯然,3位數(shù)的計數(shù)器最大可以顯示到999,4位數(shù)的最大可以顯示到9999。4.7.2十進制計數(shù)器的功能模塊及仿真(1)十進制計數(shù)器的功能模塊如圖4.12所示。 圖4.12十進制計數(shù)器的功能模塊(2)源程序如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 IS PORT (CLK:IN STD_LOGI

45、C; -計數(shù)時鐘信號 CLR:IN STD_LOGIC; -清零信號 ENA:IN STD_LOGIC; -計數(shù)使能信號 CQ:OUT INTEGER RANGE 0 TO 15;-4位計數(shù)結(jié)果輸出 CARRY_OUT:OUT STD_LOGIC); -計數(shù)進位END ENTITY 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 CLKEVENT AND C

46、LK= 1 THEN IF ENA=1 THEN IF CQI9 THEN CQI=CQI+1; ELSE CQI=0; END IF; -等于9,則計數(shù)器清零 END IF; END IF; END PROCESS; PROCESS (CQI) IS BEGIN IF CQI=9 THEN CARRY_OUT= 1; -進位輸出 ELSE CARRY_OUT= 0;END IF; END PROCESS; CQ=CQI;END ARCHITECTURE ART;該仿真的作用是實現(xiàn)十進制計數(shù)功能。從仿真圖4.13中可以得出,當(dāng)?shù)谝粋€CNT10計數(shù)輸出 CQ=9 時,下一秒時鐘上升沿到來時,將產(chǎn)

47、生一個CARRY_OUT信號作為下一個CNT10 的時鐘信號,同時CQ 清零,依次遞推到8個CNT10。圖4.13 十進制計數(shù)器仿真圖4.8 8位十進制數(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é)果輸出 CARRY_OUT:OUT STD_LOGIC); -計數(shù)進位END ENTITY 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 CLKEVENT AND CLK= 1 THEN IF ENA=1 THEN IF CQI9 THEN CQI=C

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論