




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)課程設(shè)計(jì)開(kāi)課學(xué)期: 2014年2015年下學(xué)期 課程名稱(chēng): FPGA課程設(shè)計(jì) 學(xué) 院: 信息科學(xué)與工程學(xué)院 專(zhuān) 業(yè): 集成電路設(shè)計(jì)與集成系統(tǒng) 班 級(jí): 集成1201班 學(xué) 號(hào): 20121221077 姓 名: 劉 蔚 任課教師: 孫 濤 2015 年 7 月 21 日基于FPGA的數(shù)字鐘設(shè)計(jì)摘要 本文介紹一種利用現(xiàn)場(chǎng)可編程邏輯器件FPGA產(chǎn)生多功能數(shù)字鐘的設(shè)計(jì)方案。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對(duì)時(shí)、分、秒數(shù)字顯示的計(jì)時(shí)裝置,是人們?nèi)粘I钪胁豢缮俚谋匦杵?。本設(shè)計(jì)采用EDA
2、技術(shù),以硬件描述語(yǔ)言Verilog為系統(tǒng)邏輯描述手段設(shè)計(jì)文件,在Quartus II工具軟件環(huán)境下,由各個(gè)基本模塊共同構(gòu)建了一個(gè)基于FPGA的數(shù)字鐘。系統(tǒng)由時(shí)鐘模塊、控制模塊、計(jì)時(shí)模塊、數(shù)據(jù)譯碼模塊、顯示以及報(bào)時(shí)模塊組成。經(jīng)編譯和仿真所設(shè)計(jì)的程序,在可編程邏輯器件上下載驗(yàn)證。開(kāi)發(fā)板采用5CSEMA5F31C6N。本次設(shè)計(jì)的多功能數(shù)字鐘,具有時(shí)、分、秒的數(shù)碼管顯示功能,以24小時(shí)循環(huán)計(jì)數(shù),具有整點(diǎn)報(bào)時(shí)功能,并有由按鍵輸入進(jìn)行數(shù)字鐘的校時(shí)、清零、啟停功能。 關(guān)鍵詞:可編程邏輯器件 FPGA Verilog 數(shù)字鐘 EDA技術(shù)AbstractThis paper introduces a kind
3、of based on field programmable logic device FPGA design of multi-function digital clock, the digital clock is used in digital circuits, and seconds digital display timing device is in peoples daily life necessities.This design using EDA technology, hardware description language Verilog logic system
4、description method of design documents, in the Quartus II software environment, by all the basic modules together to build a a FPGA based digital clock.System consists of the clock module, control module, time module, data decoding module, display and broadcast module composition. Program after comp
5、ilation and simulation design, programmable logic device to download verification. Development board using the multi-function digital clock 5CSEMA5F31C6N. this design, with time, points, the second digital tube display, to a 24-hour cycle count, with the whole point timekeeping function and input by
6、 the key of the school of digital clock, clear, open and stop function. Key words: programmable logic device FPGA Verilog Digital cloc EDA Technology目 錄TOC o 1-3 h u 前言現(xiàn)代社會(huì)的標(biāo)志之一就是信息產(chǎn)品的廣泛使用,而且是產(chǎn)品的性能越來(lái)越強(qiáng),復(fù)雜程度越來(lái)越高,更新步伐越來(lái)越快。支撐信息電子產(chǎn)品高速發(fā)展的基礎(chǔ)就是微電子制造工藝水平的提高和電子產(chǎn)品設(shè)計(jì)開(kāi)發(fā)技術(shù)的發(fā)展。前者以微細(xì)加工技術(shù)為代表,而后者的代表就是電子設(shè)計(jì)自動(dòng)化(electro
7、nicdesignautomatic,EDA)技術(shù)。本設(shè)計(jì)采用的Verilog是一種全方位的硬件描述語(yǔ)言,具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和邏輯門(mén)級(jí)三個(gè)不同層次的設(shè)計(jì);支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述、覆蓋面廣、抽象能力強(qiáng),因此在實(shí)際應(yīng)用中越來(lái)越廣泛。ASIC是專(zhuān)用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器。而FPGA是特殊的ASIC芯片,與其他的ASIC芯片相比,它具有設(shè)計(jì)開(kāi)發(fā)周期短、設(shè)計(jì)制造成本低、開(kāi)發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無(wú)需測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢測(cè)等優(yōu)點(diǎn)。在控制系統(tǒng)中,鍵盤(pán)是常用的人機(jī)交換接口,當(dāng)所設(shè)置的功能鍵或數(shù)字鍵按下的時(shí)候,系統(tǒng)應(yīng)該完成該鍵所
8、設(shè)置的功能。因此,鍵信息輸入是與軟件結(jié)構(gòu)密切相關(guān)的過(guò)程。根據(jù)鍵盤(pán)的結(jié)構(gòu)不同,采用不同的編碼方法。但無(wú)論有無(wú)編碼以及采用什么樣的編碼,最后都要轉(zhuǎn)換成為相應(yīng)的鍵值,以實(shí)現(xiàn)按鍵功能程序的轉(zhuǎn)移。鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、定時(shí)啟閉電路、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備,甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。 多功能數(shù)字鐘概述1.1 數(shù)字鐘的構(gòu)成數(shù)字鐘實(shí)際上是一個(gè)對(duì)標(biāo)準(zhǔn)頻率(1HZ)進(jìn)行計(jì)數(shù)的計(jì)數(shù)電路。由于計(jì)數(shù)的起始時(shí)間不可能與標(biāo)準(zhǔn)時(shí)間(如北京時(shí)間)一致,故需要在
9、電路上加一個(gè)校時(shí)電路,同時(shí)標(biāo)準(zhǔn)的1HZ時(shí)間信號(hào)必須做到準(zhǔn)確穩(wěn)定。通常使用石英晶體振蕩器電路構(gòu)成數(shù)字鐘。圖3-1所示為數(shù)字鐘的一般構(gòu)成框圖。主要包括時(shí)間基準(zhǔn)電路、計(jì)數(shù)器電路、控制電路、譯碼和顯示電路。其中的控制邏輯電路是比較靈活多樣的,不斷完善它可以增強(qiáng)數(shù)字鐘的功能。圖1.1-1數(shù)字鐘的一般組成框圖1.2 多功能數(shù)字鐘的基本原理通過(guò)分析多功能數(shù)字鐘的設(shè)計(jì)要求和所要實(shí)現(xiàn)的功能,應(yīng)用層次化方法設(shè)計(jì)出數(shù)字鐘應(yīng)由計(jì)時(shí)模塊、分頻脈沖模塊、譯碼顯示模塊、校時(shí)校分和清零模塊、報(bào)時(shí)模塊等幾個(gè)模塊組成,其原理框圖如下圖1.2-1所示:圖1.2-1 數(shù)字鐘的原理圖1.3 計(jì)時(shí)電路通過(guò)分析數(shù)字鐘的功能,知道數(shù)字鐘計(jì)時(shí)
10、周期是24小時(shí),因此必須設(shè)置模24的小時(shí)計(jì)數(shù)器,兩個(gè)模為60的計(jì)數(shù)器實(shí)現(xiàn)分和秒的計(jì)數(shù),三個(gè)計(jì)數(shù)器之間構(gòu)成進(jìn)為關(guān)系,即秒計(jì)數(shù)器為分計(jì)數(shù)器提供計(jì)數(shù)脈沖信號(hào),分計(jì)數(shù)器為時(shí)計(jì)數(shù)器提供計(jì)數(shù)脈沖信號(hào)。另外,如果想要數(shù)字鐘還可以顯示星期的話,還應(yīng)添加一個(gè)模7的星期計(jì)數(shù)器,由時(shí)計(jì)數(shù)器提供計(jì)數(shù)脈沖信號(hào)。從全局設(shè)計(jì)考慮計(jì)時(shí)器應(yīng)具有使能端和異步清零端。多功能數(shù)字鐘應(yīng)該具有的功能:顯示時(shí)分秒。整個(gè)電子鐘的工作應(yīng)該是在1Hz信號(hào)的作用下進(jìn)行,這樣每來(lái)一個(gè)時(shí)鐘信號(hào),秒增加1秒,當(dāng)秒從59秒跳轉(zhuǎn)到00秒時(shí),分鐘增加1分,同時(shí)當(dāng)分鐘從59分跳轉(zhuǎn)到00分時(shí),小時(shí)增加1小時(shí),小時(shí)的范圍是從023時(shí)。復(fù)位后全部顯示000000。在
11、設(shè)計(jì)中為了顯示的方便,分鐘和秒鐘(顯示的范圍都是從0059),小時(shí)(0023)的十位和個(gè)位都應(yīng)該采用十進(jìn)制計(jì)數(shù)器。圖1.3-1總體結(jié)構(gòu)1.4 異步清零電路為實(shí)現(xiàn)異步清零功能,可以將異步清零開(kāi)關(guān)KK3分別和各個(gè)計(jì)數(shù)器的清零信號(hào)的取反相或非后再接給清零端。這樣,當(dāng)KK3關(guān)閉(低電平)時(shí),計(jì)數(shù)器正常計(jì)數(shù);當(dāng)開(kāi)關(guān)KK3開(kāi)啟(高電平)時(shí),計(jì)數(shù)器全部異步清零。1.5 校時(shí)、校分功能電路數(shù)字鐘的校時(shí)和校分功能原理相同,通過(guò)開(kāi)關(guān)KK1、KK2控制工作狀態(tài)。當(dāng)KK1打到低電平、KK2打到低電平時(shí),各計(jì)數(shù)器的ENT端接的都是正常計(jì)數(shù)信號(hào),ENP端都是高電平,各個(gè)計(jì)數(shù)器均正常計(jì)數(shù);當(dāng)KK1打到高電平、KK2打到低電
12、平時(shí),分個(gè)計(jì)數(shù)器的ENP端接的是KK2的非(高電平),進(jìn)位信號(hào)正常送入分十位計(jì)數(shù)器的ENT端,分計(jì)數(shù)器快速校分,而由于秒計(jì)數(shù)器和時(shí)計(jì)數(shù)器的個(gè)位的ENP端接的是KK1的非,所以秒計(jì)數(shù)器和時(shí)計(jì)數(shù)器被保持;當(dāng)KK1打到低電平、KK2打到高電平時(shí),正常進(jìn)位信號(hào)被阻塞,分計(jì)數(shù)器可以不接受秒計(jì)數(shù)器的進(jìn)位信號(hào)控制,校時(shí)信號(hào)便被送入CP端,時(shí)計(jì)數(shù)器可以進(jìn)行快速校時(shí)。以上3部分功能可放在同一模塊中實(shí)現(xiàn),電路圖如1.5-1所示:圖1.5-1 報(bào)時(shí)電路仿真結(jié)果如下圖1.3所示:圖1.3 報(bào)時(shí)電路的仿真第二章 FPGA簡(jiǎn)介2.1 現(xiàn)場(chǎng)可編程邏輯門(mén)陣列FPGAFPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)與CPLD(復(fù)雜可編程邏輯器件)
13、都是可編程邏輯器件,它們是在PAL、GAL等邏輯器件的基礎(chǔ)之上發(fā)展起來(lái)的。但FPGA/CPLD的規(guī)模較大,非常適合于對(duì)時(shí)序、組合等邏輯電路應(yīng)用場(chǎng)合,它可以替代幾十甚至上百塊通用IC芯片。高速和高可靠是FPGA最明顯的特點(diǎn),當(dāng)今的該類(lèi)可編程器件,其最高工作頻率可達(dá)百兆級(jí),其時(shí)鐘延遲可達(dá)納秒級(jí),結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有非常廣闊的應(yīng)用前景。FPGA的設(shè)計(jì)是基于查找表來(lái)實(shí)現(xiàn)的。查找表就是實(shí)現(xiàn)將輸入信號(hào)的各種組合功能以一定的次序?qū)懭隦AM中,然后在輸入信號(hào)的作用下,輸出特定的函數(shù)運(yùn)算結(jié)果。其結(jié)構(gòu)圖如圖2.1-1所示。圖2.1-1 查表結(jié)構(gòu)圖一個(gè)N輸入查找表(LUT,Look
14、Up Table)可以實(shí)現(xiàn)N個(gè)輸入變量的任何邏輯功能,如N輸入“與”、N輸入“異或”等。輸入多于N個(gè)的函數(shù)、方程必須分開(kāi)用幾個(gè)查找表(LUT)實(shí)現(xiàn)(如圖2.1-2所示)。圖2.1-2 FPGA查找表單元內(nèi)部結(jié)構(gòu)2.2 FPGA簡(jiǎn)介FPGA是Filed Progranmmable Gate Array的縮寫(xiě),即現(xiàn)場(chǎng)可編程邏輯陣列。FPGA是在CPLD的基礎(chǔ)上發(fā)展起來(lái)的新型高性能可編程邏輯器件它一般采用SRAM工藝,也有一些專(zhuān)用器件采用Flash工藝或反熔絲(Anti_Fuse)工藝等。FPGA的集成度很高,其器件密度從數(shù)萬(wàn)系統(tǒng)門(mén)到數(shù)千萬(wàn)系統(tǒng)門(mén)不等,可以完成極其復(fù)雜的時(shí)序與組合邏輯電路功能,適用于
15、高速、高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。FPGA的基本組成部分有可編程輸入/輸出單元,基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元、內(nèi)嵌專(zhuān)用硬核等。FPGA的主要器件供應(yīng)商有Xilinx、Altera、Lattice、Actel和Atmel等。2.3 Quartus II軟件簡(jiǎn)介Quartus II是Alera公司推出的一款功能強(qiáng)大,兼容性最好的EDA工具軟件。該軟件界面友好、使用便捷、功能強(qiáng)大,是一個(gè)完全集成化的可編程邏輯設(shè)計(jì)環(huán)境,具有開(kāi)放性、與結(jié)構(gòu)無(wú)關(guān)、多平臺(tái)完全集成化豐富的設(shè)計(jì)庫(kù)、模塊化工具、支持多種硬件描述語(yǔ)言及有多種高級(jí)編程語(yǔ)言接口等特點(diǎn)。Quartus II
16、是Altera公司推出的CPLD/FPGA開(kāi)發(fā)工具,Quartus II提供了完全集成且與電路結(jié)構(gòu)無(wú)關(guān)的開(kāi)發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計(jì)的全部特性,包括:可利用原理圖、結(jié)構(gòu)框圖、VerilogHDL、AHDL和Verilog完成電路描述,并將其保存為設(shè)計(jì)實(shí)體文件;芯片平面布局連線編輯;功能強(qiáng)大的邏輯綜合工具;完備的電路功能仿真與時(shí)序邏輯仿真工具;定時(shí)/時(shí)序分析與關(guān)鍵路徑延時(shí)分析;可使用SignalTap II邏輯分析工具進(jìn)行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來(lái)生成編程文件;使用組合編譯方式可一次完成整體設(shè)計(jì)流程;自動(dòng)定位編譯錯(cuò)誤;高效的期間編程與驗(yàn)證工具;可讀入標(biāo)準(zhǔn)的ED
17、IF網(wǎng)表文件、Verilog網(wǎng)表文件和Verilog網(wǎng)表文件;能生成第三方EDA軟件使用的Verilog網(wǎng)表文件和Verilog網(wǎng)表文件。設(shè)計(jì)方案多功能數(shù)字鐘應(yīng)該具有的功能有:顯示時(shí)分秒、整點(diǎn)報(bào)時(shí)、小時(shí)和分鐘可調(diào)等基本功能。整個(gè)鐘表的工作應(yīng)該是在1Hz信號(hào)的作用下進(jìn)行,這樣每來(lái)一個(gè)時(shí)鐘信號(hào),秒增加1秒,當(dāng)秒從59秒跳轉(zhuǎn)到00秒時(shí),分鐘增加1分,同時(shí)當(dāng)分鐘從59分跳轉(zhuǎn)到00分時(shí),小時(shí)增加1小時(shí),小時(shí)的范圍為023時(shí)。在實(shí)驗(yàn)中為了顯示的方便,由于分鐘和秒鐘顯示的范圍都是從059,所以可以用一個(gè)3位的二進(jìn)制碼顯示十位,用一個(gè)四位的二進(jìn)制碼(BCD碼)顯示個(gè)位,對(duì)于小時(shí)因?yàn)樗姆秶菑?23,所以可以
18、用一個(gè)2位的二進(jìn)制碼顯示十位,用一個(gè)4位的二進(jìn)制碼(BCD碼)顯示個(gè)位。實(shí)驗(yàn)中由于七段碼管是掃描的方式 顯示,所以雖然時(shí)鐘需要的是1Hz時(shí)鐘信號(hào),但是掃描需要一個(gè)比較高頻率的信號(hào),因此為了得到準(zhǔn)確的1Hz信號(hào),必須對(duì)輸入的系統(tǒng)時(shí)鐘50Mhz進(jìn)行分頻。對(duì)于整點(diǎn)報(bào)時(shí)功能,本實(shí)驗(yàn)設(shè)計(jì)的是當(dāng)進(jìn)行正點(diǎn)的倒計(jì)時(shí)5秒時(shí),讓LED來(lái)閃爍進(jìn)行整點(diǎn)報(bào)時(shí)的提示。調(diào)整時(shí)間的按鍵用按鍵模塊的S1和S2,S1調(diào)節(jié)小時(shí),每按下一次,小時(shí)增加一個(gè)小時(shí);S2調(diào)整分鐘,每按下一次,分鐘增加一分鐘。另外用S8按鍵作為系統(tǒng)時(shí)鐘復(fù)位,復(fù)位后全部顯示000000。管腳分配如下表:端口名使用模塊信號(hào)對(duì)應(yīng)FPGA管腳說(shuō)明S1按鍵開(kāi)關(guān)S1R1
19、6調(diào)整小時(shí)S2按鍵開(kāi)關(guān)S2P14調(diào)整分鐘RST按鍵開(kāi)關(guān)S8M15復(fù)位 LEDLED模塊D1L14整點(diǎn)倒計(jì)時(shí) LEDAG0數(shù)碼管模塊A段N4時(shí)間顯示 LEDAG1數(shù)碼管模塊B段G4 LEDAG2數(shù)碼管模塊C段H4 LEDAG3數(shù)碼管模塊D段L5 LEDAG4數(shù)碼管模塊E段L4 LEDAG5數(shù)碼管模塊F段K4 LEDAG6數(shù)碼管模塊G段K5 SEL0數(shù)碼管選擇位1M48個(gè)數(shù)碼管的選擇位 SEL1數(shù)碼管選擇位2F3 SEL2數(shù)碼管選擇位3F4 CP脈沖源J3 50Mhz脈沖設(shè)計(jì)實(shí)現(xiàn)4.1 頂層模塊本程序采用結(jié)構(gòu)化設(shè)計(jì)方法,將其分為彼此獨(dú)立又有一定聯(lián)系的三個(gè)模塊,如圖4.1-1所示:圖4.1-1頂層結(jié)
20、構(gòu)框圖4.2 新建工程項(xiàng)目在E盤(pán)建立項(xiàng)目工程文件夾,如E:/fpga-keshe/lw-clock,打開(kāi)Quartus II軟件,執(zhí)行【File】【NewProjectWizard】選項(xiàng),按如圖4.2-1所示設(shè)置。圖4.2-1 新建工程項(xiàng)目4.3 選擇芯片該系統(tǒng)設(shè)計(jì)中,F(xiàn)PGA芯片用的是ALTERA公司的5CSEMA5F31C6,它由若干個(gè)邏輯單元和中央布線池加I/O端口構(gòu)成,然后再選擇Verilog HDL語(yǔ)言。如圖4.3-1所示。 圖4.3-1 選擇所需芯片和語(yǔ)言最后單擊Finish按鈕,創(chuàng)建好了設(shè)計(jì)工程,選擇【FILE】【NEW】菜單,出現(xiàn)如圖4.3-2所示的新建設(shè)計(jì)文件類(lèi)型窗口。圖4.
21、3-2 選擇編程Verilog文本文件在上圖4.3-2中選擇【Verilog HDL File】,單擊【OK】建立一個(gè)新的文本設(shè)計(jì)文件,命名為clock.v。4.4 子模塊4.4.1 分頻器分頻器的作用是對(duì)50Mhz的系統(tǒng)時(shí)鐘信號(hào)進(jìn)行分頻,得到頻率為1000hz的信號(hào),作為顯示器的輸入信號(hào)。module fenpin(CP,CPout,Cout,CP_En);input CP, output CPout;reg CPout;reg 31:0 Cout;reg CP_En;always (posedge CP ) /將50MHz分頻為1kHzbeginCout = (Cout = 32d5000
22、0) ? 32d0 : (Cout + 32d1);CP_En = (Cout = 32d50000) ? 1d1 : 1d0;CPout = CP_En; endEndmodule保存文件。功能仿真波形如圖4.4.2-1所示(以五分頻為例):圖4.4.1-14.4.2 控制器和計(jì)數(shù)器控制器的作用是,調(diào)整小時(shí)和分鐘的值,并能實(shí)現(xiàn)清零功能。計(jì)數(shù)器的作用是實(shí)現(xiàn)分鐘和秒鐘滿60進(jìn)1,小時(shí)則由23跳到00。當(dāng)?shù)竭_(dá)59分55秒的時(shí)候,LED燈會(huì)閃爍來(lái)進(jìn)行報(bào)時(shí)。因?yàn)榭刂破骱陀?jì)數(shù)器的驅(qū)動(dòng)信號(hào)頻率均為1Hz,故從分頻器輸出的信號(hào)進(jìn)入控制器后,要進(jìn)行二次分頻,由1Khz變?yōu)?Hz。源程序如下:module ko
23、ngzhiqi( CPout,S1,S2,RET,Hour,Minute,Second,LED );input CPout,S1,S2,RET;output 5:0 Hour;output 5:0 Minute;output 5:0 Second;output LED;reg 5:0 Hour;reg 5:0 Minute;reg 5:0 Second;reg R1;reg R2,R8,LED;reg 10:0 Cout;reg Clk_En;always(posedge CPout)beginif(S1=0)beginR1=1;endif(S2=0)beginR2=1;endif(RET=0
24、)beginR8=1;endCout=(Cout=32d1000)?32d0:(Cout + 32d1);Clk_En=(Cout=32d1000)?1d1:1d0;if(Clk_En)beginif(R1=1)beginif(Hour24)Hour=Hour+1;if(Hour=24)beginHour=0;endR1=0;endif(R2=1)beginif(Minute60)Minute=Minute+1;if(Minute=60)beginMinute=0;if(Hour24)Hour=Hour+1;if(Hour=24)beginHour=0;endendR2=0;endif(Sec
25、ond60)Second=Second+1;if(Second=60)beginSecond=0;if(Minute60)Minute=Minute+1;if(Minute=60)beginMinute=0;if(Hour55)/整點(diǎn)倒計(jì)時(shí)beginif(LED=1)LED=0;elseLED=1;endelseLED=0;if(R8=1)/清零beginHour=0;Minute=0;Second=0;R8=0;endendendEndmodule保存文件。功能仿真波形如圖4.4.2-1所示:圖4.4.2-14.4.3 顯示器顯示器的作用是將時(shí)分秒的值在數(shù)碼管上依次顯示出來(lái)。從分頻器輸出的1
26、Khz的信號(hào)作為數(shù)碼管的掃描信號(hào)。SEL表示三個(gè)數(shù)碼管選擇位,它的取值表示八個(gè)數(shù)碼管,從左至右依次是111000。LEDGA表示七段數(shù)碼管,它的取值決定特定位數(shù)上顯示的數(shù)字。源程序如下:module clock(CPout,Hour,Minute,Second,SEL,LEDAG);input CPout;input Hour,Minute, Second;output SEL,LEDAG;reg 2:0 SEL;reg 6:0 Led;reg 3:0 shi1,ge1,shi2,ge2,shi3,ge3;always (posedge CPout )beginshiwei1=Hour/10;
27、gewei1=Hour%10;shiwei2=Minute/10;gewei2=Minute%10;shiwei3=Second/10;gewei3=Second%10;if(SEL=3b110) /判斷位選SEL的值,并將此位上的值輸出到數(shù)碼管case(shiwei1) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led =
28、 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcaseif(SEL=3b101)case(gewei1) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0
29、110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcaseif(SEL=3b100)Led=7b1000_000;if(SEL=3b011)case(shiwei2) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led =
30、7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcaseif(SEL=3b010)case(gewei2) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b01
31、00: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcaseif(SEL=3b001)Led=7b1000_000;if(SEL=3b000)case(shiwei3) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b0010: Led = 7
32、b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcase if(SEL=3b111)case(gewei3) 4b0000: Led = 7b0111_111;4b0001: Led = 7b0000_110;4b00
33、10: Led = 7b1011_011;4b0011: Led = 7b1001_111;4b0100: Led = 7b1100_110;4b0101: Led = 7b1101_101;4b0110: Led = 7b1111_101;4b0111: Led = 7b0000_111;4b1000: Led = 7b1111_111;4b1001: Led = 7b1101_111; default: Led = 7b0000_000;endcase SEL = SEL + 3d1; endassign LEDAG=Led;endmodule進(jìn)行編譯如圖4.4.3-1:圖4.4.3-1
34、輸入程序代碼并進(jìn)行編譯運(yùn)行在圖4.4.3-2中的【File】菜單中點(diǎn)選【Save as】存盤(pán)并保證該文件添加到了工程中,文件名為默認(rèn)的即可。至此,clock顯示掃描模塊文件建立完成。圖4.4.3-2 保存設(shè)計(jì)文件4.5 元件封裝選擇菜單【Files】【Create/Update】【Create Symbol Files for Current File】,將元件進(jìn)行封裝。圖4.5-1進(jìn)行元件封裝選擇菜單【Tools】【Netlist Viewers】【RTL Viewer】可以查看封裝后所形成的結(jié)構(gòu)圖。通過(guò)以上步驟,便完成了數(shù)字時(shí)鐘模塊的設(shè)計(jì)工作,即系統(tǒng)底成模塊完成。4.6 引腳的綁定和設(shè)置為
35、了能對(duì)該計(jì)數(shù)器進(jìn)行硬件測(cè)試,應(yīng)將其輸入輸出信號(hào)鎖定在芯片確定的引腳上,編譯后下載還必須配置芯片進(jìn)行編輯,完成FPGA的最終開(kāi)發(fā)。選擇菜單【Assignments】【Pin Planner】,進(jìn)行引腳。如圖4.6-1所示:圖4.6-1 引腳分配4.7 之后再進(jìn)行一次編譯運(yùn)行。5.1 下載將編譯生成的.sof文件下載到硬件里,具體過(guò)程為:選擇圖標(biāo),點(diǎn)擊【Hardware Setup】,在出現(xiàn)的小框框里選擇【DE-SoCUSB-1】,如圖5.1-1所示:圖5.1-1然后再點(diǎn)擊【Auto Detect】選擇【5CSEMA5】,如圖5.1-2圖5.1-2右擊【5CSEMA5F31】,選擇【Edit】【C
36、hange File】,如圖5.1-3所示:圖5.1-3在【Program/Configure】點(diǎn)擊打勾,然后點(diǎn)擊左側(cè)的【Start】,如圖5.1-4、5.1-5所示:圖5.1-4 圖5.1-5 下載中4.6 設(shè)計(jì)結(jié)果通過(guò)上述的步驟之后,將系統(tǒng)文件寫(xiě)進(jìn)開(kāi)發(fā)板。如圖4.6-1所示:圖4.6-1 開(kāi)發(fā)板給系統(tǒng)上電,可以實(shí)現(xiàn)多功能數(shù)字時(shí)鐘。實(shí)驗(yàn)完成。結(jié)束語(yǔ)通過(guò)本次EDA設(shè)計(jì),掌握了較為復(fù)雜邏輯電路的設(shè)計(jì)方法,了解了用Veriog語(yǔ)言編程設(shè)計(jì)電路的一般方法。同時(shí)鍛煉了自己的分析理解能力和動(dòng)手能力,并且加深了對(duì)數(shù)電相關(guān)知識(shí)的理解。實(shí)驗(yàn)時(shí)需要十分細(xì)心,一不小心就容易出錯(cuò),一旦出現(xiàn)錯(cuò)誤,就要馬上耐心地檢查線
37、路,分析出錯(cuò)原因,找到錯(cuò)誤,并加以更正。如果不是接線問(wèn)題,那再去思考一下,是不是設(shè)計(jì)的原理圖有問(wèn)題。雖然這不是一個(gè)容易的過(guò)程,但在這個(gè)過(guò)程中,鍛煉了自己的各項(xiàng)能力,令我受益匪淺。其實(shí),實(shí)驗(yàn)的過(guò)程也是鍛煉耐力的過(guò)程。在添加鬧鐘功能時(shí),我們?cè)龅竭^(guò)困難。本來(lái)我們的報(bào)時(shí)電路是對(duì)的,可加上鬧鐘功能后,非但鬧鐘到時(shí)刻不響,就連原本的整點(diǎn)報(bào)時(shí)也不響了,經(jīng)過(guò)一番仔細(xì)的盤(pán)查,我們發(fā)現(xiàn)原來(lái)是我們錯(cuò)用了或門(mén),用高電平和發(fā)聲頻率相或,所以才會(huì)沒(méi)有聲音。另外,在給鬧鐘增加音樂(lè)功能時(shí)也花了不少力氣,剛開(kāi)始在網(wǎng)上找的相關(guān)資料都不能用,最后終于找到了一個(gè)可以播放音樂(lè)的資料,我們將找到的Verilog源程序輸入到自己的工程,終于成功讓鬧鐘播放音樂(lè)鬧鈴了,那一刻,我們相當(dāng)開(kāi)心,因?yàn)檫@是我們通過(guò)努力才得到的收獲。這次課程設(shè)計(jì)雖然只有短短的兩周不到,但我的收獲卻很大。通過(guò)這次實(shí)習(xí),我掌握了EDA設(shè)計(jì)的基本流程(即設(shè)計(jì)輸入編譯調(diào)試仿真下載),領(lǐng)會(huì)了自頂而下結(jié)構(gòu)化設(shè)計(jì)的優(yōu)點(diǎn),并具備了初步的EDA程序設(shè)計(jì)能力。我感覺(jué),這個(gè)程序最難的地方在于頂層模塊的設(shè)計(jì),因?yàn)轫攲幽K
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 包工包料施工合同
- 土地估價(jià)委托合同
- 三農(nóng)產(chǎn)業(yè)發(fā)展規(guī)劃策略方案
- 尾礦庫(kù)施工方案
- 公路設(shè)施護(hù)欄施工方案
- 店招工程施工方案
- 2025年果蔬罐頭加工項(xiàng)目建議書(shū)
- 平頂山古建基礎(chǔ)施工方案
- 《紅樓夢(mèng)》閱讀題選
- 自然保護(hù)區(qū)專(zhuān)項(xiàng)施工方案
- 中國(guó)河流湖泊
- PID控制原理內(nèi)容知識(shí)
- 建設(shè)工程廉政風(fēng)險(xiǎn)防控手冊(cè)
- 軍事地形學(xué)知識(shí)總結(jié)
- 云南省普通初中學(xué)生成長(zhǎng)記錄-基本素質(zhì)發(fā)展初一-初三
- GB 6944-2012 危險(xiǎn)貨物分類(lèi)和品名編號(hào)(高清版)
- IT行業(yè)薪酬管理制度示例某軟件公司薪酬體系設(shè)計(jì)方案
- 香港正版全年綜合資料
- 外貿(mào)報(bào)關(guān)用發(fā)票、裝箱單、合同、報(bào)關(guān)單模板
- 確認(rèn)民族成分申請(qǐng)書(shū)
- 工作區(qū)子系統(tǒng)設(shè)計(jì)案例一
評(píng)論
0/150
提交評(píng)論