畢業(yè)論文-基于veriloghdl的數(shù)字鐘系統(tǒng)設(shè)計(jì)【精校排版】_第1頁(yè)
已閱讀1頁(yè),還剩38頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)設(shè)計(jì)(論文)</p><p><b>  (20 屆)</b></p><p>  基于VerilogHDL的數(shù)字鐘系統(tǒng)設(shè)計(jì)</p><p>  目 錄 </p><p> 所在學(xué)院</p><p> 專業(yè)班級(jí)

2、通信工程</p><p> 學(xué)生姓名</p><p> 指導(dǎo)教師</p><p> 完成日期</p><p><b>  摘  要III</b></p><p>  AbstractIV</p><p>  第一章 緒 論1</p><

3、p>  1.1 數(shù)字鐘的研究背景和意義1</p><p>  1.2 數(shù)字鐘研究的必要性2</p><p>  1.3 數(shù)字鐘的功能3</p><p>  第二章 相關(guān)技術(shù)的簡(jiǎn)介4</p><p>  2.1 硬件描述語(yǔ)言——Verilog HDL4</p><p>  2.2 FPGA簡(jiǎn)介5<

4、;/p><p>  2.2.1 FPGA基本結(jié)構(gòu)5</p><p>  2.2.2 FPGA設(shè)計(jì)流程6</p><p>  第三章 數(shù)字鐘的設(shè)計(jì)9</p><p>  3.1 數(shù)字鐘的工作原理9</p><p>  3.2 數(shù)字鐘硬件設(shè)計(jì)9</p><p>  3.2.1 FPGA芯片選

5、取9</p><p>  3.2.2 顯示電路設(shè)計(jì)11</p><p>  3.3 模塊設(shè)計(jì)12</p><p>  3.3.1主控模塊的設(shè)定12</p><p>  3.3.2 計(jì)數(shù)模塊的設(shè)計(jì)13</p><p>  3.3.3 顯示模塊的設(shè)計(jì)14</p><p>  3.3.4

6、分頻模塊的設(shè)計(jì)15</p><p>  3.3.5 鬧鐘模塊的設(shè)計(jì)17</p><p>  3.3.6 整點(diǎn)報(bào)時(shí)模塊設(shè)計(jì)17</p><p>  3.3.7 按鍵控制模塊設(shè)計(jì)17</p><p>  第四章 總結(jié)與展望20</p><p><b>  4.1 總結(jié)20</b><

7、/p><p><b>  4.2 展望20</b></p><p><b>  參考文獻(xiàn)22</b></p><p><b>  附 錄23</b></p><p><b>  致 謝34</b></p><p>  基于V

8、erilog HDL的數(shù)字鐘系統(tǒng)設(shè)計(jì)</p><p><b>  摘  要</b></p><p>  數(shù)字鐘采用數(shù)字電路實(shí)現(xiàn)對(duì)“時(shí)”、“分”、“秒”數(shù)字顯示的計(jì)時(shí)裝置。隨著時(shí)間顯示、鬧鐘設(shè)置、報(bào)時(shí)功能、校正作用。走時(shí)準(zhǔn)確、顯示直觀、精密、穩(wěn)定等優(yōu)點(diǎn)。電路裝置十分小巧,安裝和使用也方便。與此同時(shí),在日期中,它以其小巧,價(jià)格低廉,走時(shí)精度高,使用方便,功能多,

9、便于集成化且受廣大消費(fèi)的喜愛(ài)。[1] </p><p>  本次課程利用EDA技術(shù)自頂向下的設(shè)計(jì)方法,提出了一個(gè)多功能數(shù)字鐘的設(shè)計(jì)方案,采用硬件描述語(yǔ)言Verilog HDL按模塊化方式進(jìn)行設(shè)計(jì),在EDA開(kāi)發(fā)軟件平臺(tái)下進(jìn)行編程,時(shí)序仿真等。利用硬件描述語(yǔ)言完成了數(shù)字鐘的設(shè)計(jì)。使數(shù)字鐘能實(shí)現(xiàn)時(shí)、分、秒計(jì)數(shù)的顯示功能,且以二十四小時(shí)循環(huán)計(jì)時(shí)。</p><p>  關(guān)鍵詞: Verilog H

10、DL;數(shù)字鐘;EDA;FPGA</p><p>  Digital clock system based on the Verilog HDL </p><p><b>  Abstract</b></p><p>  A digital clock adopting digital circuit to achieve "when

11、"," points", "seconds" digital display timer device. With time display, alarm time function, calibration, role. Keep good time, show intuitional, precision, stability, etc. Circuit device is very

12、 small, install and use convenient also. Meanwhile in date, it with its small, inexpensive, high precision, easy to use and walking, the function is much, facilitate integration and loved by vast consumption. </p>

13、<p>  This course using EDA technology top-down design method, puts forward a multi-function digital clock design plan, the hardware description language Verilog HDL based on the modular way to carry on the design,

14、 software development in EDA lans, timing simulation program. Use Verilog HDL language completed a digital clock design. The digital clock can realize, minutes and secondscount display function, and with the 24-hour cloc

15、k cycle.</p><p>  Keywords: Verilog HDL, digital clock, EDA,FPGA</p><p><b>  第一章 緒 論</b></p><p>  隨著科學(xué)技術(shù)的發(fā)展,應(yīng)用系統(tǒng)向著小型化、快速化、大容量、重量輕的方向發(fā)展,電子技術(shù)獲得了飛速的發(fā)展,數(shù)字鐘的設(shè)計(jì)就電子產(chǎn)品中較基礎(chǔ)的一種。

16、與傳統(tǒng)機(jī)械鐘相比它結(jié)構(gòu)簡(jiǎn)單,時(shí)間顯示直觀。數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒的計(jì)時(shí)裝置,它具有顯示日、時(shí)、分、秒的功能,還具有走時(shí)準(zhǔn)、穩(wěn)定性能和使用方便等的特點(diǎn),廣泛應(yīng)用于家庭、工廠等地。給人們的生活帶來(lái)了極大的方便。Verilog HDL語(yǔ)言作為可編程邏輯器件的標(biāo)準(zhǔn)語(yǔ)言描述能力強(qiáng),覆蓋面廣,抽象能力強(qiáng),在實(shí)際應(yīng)用中越來(lái)越廣泛。ASIC是專用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器;而FPGA是特殊的ASIC芯片,與其它的A

17、SIC芯片相比,它具有設(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)在這個(gè)階段,人們開(kāi)始追求貫徹整個(gè)系統(tǒng)設(shè)計(jì)自動(dòng)化,這樣就能從繁重的設(shè)計(jì)工作中徹底解脫出來(lái),就能集中精力在創(chuàng)造性的方案與概念構(gòu)思上,這樣做就可以提高設(shè)計(jì)效率,從而縮短產(chǎn)品的研制周期。使用Verilog HDL語(yǔ)言進(jìn)行硬件設(shè)計(jì)有如下特點(diǎn):將一項(xiàng)工程設(shè)計(jì)(或稱設(shè)計(jì)實(shí)體)分成外部(或稱可視部分,即端口)和內(nèi)部(</p>

18、;<p>  鐘表的數(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í)的意義。</p><p>  1.1 數(shù)字鐘的研究背景和意義</p><p>  20世紀(jì)末電子技術(shù)獲得了飛速的發(fā)展,在

19、其推動(dòng)下,使現(xiàn)代電子產(chǎn)品幾乎滲透到了社會(huì)的各個(gè)領(lǐng)域,有力的推動(dòng)和提高社會(huì)生產(chǎn)力的發(fā)展與信息化程度,同時(shí)也使現(xiàn)代電子產(chǎn)品的性能得到了進(jìn)一步提升,產(chǎn)品的更新?lián)Q代也就越來(lái)越快。</p><p>  時(shí)間對(duì)人們來(lái)說(shuō)總是如此的寶貴,工作的忙碌性與復(fù)雜容易使人忘記當(dāng)前的時(shí)間,然而當(dāng)遇到大事的時(shí)候,一旦忘記了時(shí)間,就會(huì)不僅給自己也會(huì)給其他人造成很大的麻煩,平時(shí)我們要求上下班準(zhǔn)時(shí),約會(huì)或召開(kāi)會(huì)議必然要提及到時(shí)間;火車(chē)要準(zhǔn)點(diǎn)到站,

20、航班要準(zhǔn)時(shí)起飛;在工業(yè)生產(chǎn)中,很多環(huán)節(jié)中都需要用時(shí)間來(lái)確定工序替換時(shí)刻。所以說(shuō)能準(zhǔn)確的知道時(shí)間并利用時(shí)間,在我們生活和工作中是必不可少的。</p><p>  想知道時(shí)間,手表當(dāng)然也是一個(gè)不錯(cuò)的選擇,但是,在忙碌當(dāng)中,我們還需要一個(gè)“助理”及時(shí)給我們提醒時(shí)間,所以,計(jì)時(shí)器最好能過(guò)擁有一個(gè)定時(shí)系統(tǒng),隨時(shí)提醒容易忘記時(shí)間的人們。最早能夠定時(shí)、報(bào)時(shí)的時(shí)鐘屬于機(jī)械式手表,但這種時(shí)鐘受到機(jī)械結(jié)構(gòu)、動(dòng)力和體積的限制,在功能、

21、性能以及造價(jià)上都沒(méi)辦法與數(shù)字時(shí)鐘相比。</p><p>  數(shù)字鐘是一種使用數(shù)字電路實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式的時(shí)鐘相比具有很高的標(biāo)準(zhǔn)性和直觀性,且無(wú)機(jī)械裝置,具有更長(zhǎng)的使用壽命,得以廣泛的使用。數(shù)字鐘的設(shè)計(jì)方法有很多種,例如,可以用中小規(guī)模集成電子鐘;也可以用單片機(jī)來(lái)實(shí)現(xiàn)電子鐘等等。數(shù)字鐘已成為人們?nèi)粘I町?dāng)中不可缺少的生活必需品,廣泛的應(yīng)用于家庭、車(chē)站、碼頭、劇場(chǎng)、辦公室等家庭和公共場(chǎng)所,給人們的生活

22、、學(xué)習(xí)、工作、娛樂(lè)帶來(lái)了極大的方便。</p><p>  數(shù)字鐘一般有振蕩器,分頻器,譯碼器,顯示器等部分組成,這些都是數(shù)字電路中最基本的,應(yīng)用最廣的電路?,F(xiàn)在市場(chǎng)上已有現(xiàn)成數(shù)字鐘集成電路芯片出售,價(jià)格便宜。由于數(shù)字集成電路技術(shù)的發(fā)展,采用了先進(jìn)穩(wěn)定的石英振蕩器技術(shù),使數(shù)字鐘具有走時(shí)準(zhǔn)確,性能穩(wěn)定,攜帶方便等特點(diǎn),是目前人們生活和工作中不可或缺的報(bào)時(shí)工具。[3]</p><p>  本設(shè)計(jì)

23、是利用Verilog HDL硬件描述語(yǔ)言結(jié)合可編程邏輯器件進(jìn)行的。當(dāng)然數(shù)字鐘可以由各種技術(shù)實(shí)現(xiàn),如單片機(jī)等。利用可編程邏輯器件具有其它方式?jīng)]有的特點(diǎn),它具有易學(xué)、方便、新穎、有趣、直觀,設(shè)計(jì)與實(shí)驗(yàn)成功率高、理論與實(shí)踐結(jié)合緊密、積小、I/O口豐富、編程和加密等特點(diǎn),并且它還具有開(kāi)放的界面、豐富的設(shè)計(jì)庫(kù)、模塊化的工具以及LPM定制等優(yōu)良性能,應(yīng)用非常方便。因此,本設(shè)計(jì)采用現(xiàn)場(chǎng)可編程門(mén)陣列實(shí)現(xiàn)。</p><p>  1

24、.2 數(shù)字鐘研究的必要性</p><p>  現(xiàn)在是一個(gè)知識(shí)爆炸的新時(shí)代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異??梢院敛豢鋸埖恼f(shuō),電子技術(shù)的應(yīng)用無(wú)處不在,電子技術(shù)正在不斷的改變著我們的生活,改變著我們的世界。在這快速發(fā)展的時(shí)代,時(shí)間對(duì)人們來(lái)說(shuō)變得越來(lái)越寶貴,在快樂(lè)節(jié)奏的生說(shuō)中,人們往往忘記了時(shí)間,一旦遇到了重要的事情而忘記了時(shí)間,這將會(huì)帶來(lái)很大的損失。因此我們需要一個(gè)定時(shí)系統(tǒng)來(lái)提醒這些忙碌的人,數(shù)字

25、化鐘表給人們帶來(lái)了極大的方便。[4]</p><p>  這些年,隨著科學(xué)技術(shù)的發(fā)展和社會(huì)的進(jìn)步,人們對(duì)數(shù)字鐘的功能要求也越來(lái)越高,傳統(tǒng)的數(shù)字鐘已不能滿足當(dāng)代人們的需求。多功能數(shù)字鐘不管在性能上還是在樣式上都發(fā)生了質(zhì)的變化,有電子鬧鐘、數(shù)字鬧鐘等等,單片機(jī)在多功能數(shù)字鐘中的應(yīng)用是非常普遍的,人們對(duì)數(shù)字鐘的功能及工作順序都非常熟悉,當(dāng)很少有人知道他的內(nèi)部結(jié)構(gòu)及工作原理。由單片機(jī)作為數(shù)字中的核心控制器,可以通過(guò)它的時(shí)

26、鐘信號(hào)進(jìn)行計(jì)時(shí)實(shí)現(xiàn)計(jì)時(shí)功能,將其時(shí)間數(shù)據(jù)經(jīng)單片機(jī)輸出,利用顯示器顯示出來(lái)。通過(guò)鍵盤(pán)可以進(jìn)行定時(shí)、校時(shí)功能。輸出設(shè)備顯示器可以液晶顯示技術(shù)和數(shù)碼管顯示技術(shù)。本文就數(shù)字中的功能特點(diǎn),利用EDA技術(shù)進(jìn)行編程和時(shí)序仿真。</p><p>  1.3 數(shù)字鐘的功能</p><p>  數(shù)字鐘主要是利用電子技術(shù)、數(shù)字化、擁有時(shí)間精確、體積小、界面友好、擴(kuò)展功能強(qiáng)等特點(diǎn),被廣泛應(yīng)用于生活和工作當(dāng)中。當(dāng)今

27、市場(chǎng)上電子產(chǎn)品繁多,外形小巧別致,諸如公共場(chǎng)合的大型電子報(bào)時(shí)器等。數(shù)字鐘首先是數(shù)字化的顯示和報(bào)時(shí)器,萬(wàn)年歷,壞境溫度和濕度的檢查,USB擴(kuò)展功能等。[5]</p><p>  本設(shè)計(jì)主要研究基于 Verilog HDL的數(shù)字鐘,要求時(shí)間以二十四小時(shí)為一個(gè)周期,顯示時(shí)、分。具有校時(shí)以及整點(diǎn)報(bào)時(shí)功能,可以對(duì)時(shí)、分進(jìn)行單獨(dú)校對(duì),使其校正到標(biāo)準(zhǔn)時(shí)間。</p><p>  第二章 相關(guān)技術(shù)的簡(jiǎn)介&

28、lt;/p><p>  2.1 硬件描述語(yǔ)言——Verilog HDL</p><p>  Verilog HDL 是在1983年,由GDA(GatewayDesign Automation)公司的Phil Moorby首創(chuàng)的,F(xiàn)hil Moorby后來(lái)成為Verilog-XL的主要設(shè)計(jì)者和Cadence公司的第一合伙人,在1984~1985年,Phil Moorby設(shè)計(jì)出了第一個(gè)名為Veri

29、log-XL的仿真器;1986年,他對(duì)Verilog HDL的發(fā)展又作出了另一個(gè)巨大的貢獻(xiàn);提出了快速門(mén)級(jí)仿真的XL的算法。隨著Verilog-XL算法的成功,Verilog HDL預(yù)言得到了快速的發(fā)展,1989年,Cadence公司收購(gòu)了GDA公 司,Verilog HDL語(yǔ)言成為Cadence公司決定公開(kāi)Verilog HDL語(yǔ)言,于是成立了OVI(Open Verilog HDL International)組織,負(fù)責(zé)促進(jìn)Veri

30、log HDL語(yǔ)言的發(fā)展?;赩erilog HDL的優(yōu)越性,IEEE與1995年制定了Verilog HDL 的IEEE標(biāo)準(zhǔn),即Verilog HDL 1364-1995;2001年發(fā)布了Verilog HDL 1364-2001標(biāo)準(zhǔn)。在這個(gè)標(biāo)準(zhǔn)中,加入</p><p>  Verilog HDL 語(yǔ)言是一種標(biāo)準(zhǔn)化的硬件描述語(yǔ)言。設(shè)計(jì)者可以通過(guò)它編寫(xiě)代碼,然后用模擬器驗(yàn)證其功能,再將設(shè)計(jì)代碼綜合成門(mén)級(jí)電路,最后

31、下載到可編程邏輯器件(CPLD,FPGA)中來(lái)實(shí)現(xiàn)一個(gè)設(shè)計(jì)。由于Verilog HDL語(yǔ)言具有支持大規(guī)模設(shè)計(jì)和再利用已有設(shè)計(jì)等優(yōu)點(diǎn),因此使用Verilog HDL語(yǔ)言來(lái)設(shè)計(jì)數(shù)字系統(tǒng)已成為一種潮流。VHDL 其英文全名為VHSIC HARDWARE DESCRIPTION Language,而VHSIC則是Very High Speed Integerated CIRCUIT的縮寫(xiě)詞,意為甚高速集成電路,故VHDL其準(zhǔn)確的中文譯名為甚高速

32、集成電路的硬件描述語(yǔ)言。 </p><p>  Verilog HDL和VHDL作為描述硬件電路設(shè)計(jì)的語(yǔ)言,其共同的特點(diǎn)在于:能形式化地抽象表示電路的行為和結(jié)構(gòu)、支持邏輯設(shè)計(jì)中層次與范圍的描述、可借用高級(jí)語(yǔ)言的精巧結(jié)構(gòu)來(lái)簡(jiǎn)化電路行為的描述、具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性、支持電路描述由高層到低層的綜合轉(zhuǎn)換、硬件描述與實(shí)現(xiàn)工藝無(wú)關(guān)(有關(guān)工藝參數(shù)可通過(guò)語(yǔ)言提供的屬性包括進(jìn)去)、便于文檔管理、易于理解和設(shè)計(jì)重

33、用。 </p><p>  Verilog HDL在語(yǔ)法結(jié)構(gòu)上的特點(diǎn)主要是:形式化地表示電路的行為和結(jié)構(gòu);借用C語(yǔ)言的結(jié)構(gòu)和語(yǔ)句;可在多個(gè)層次上對(duì)所設(shè)計(jì)的系統(tǒng)加以描述,語(yǔ)言對(duì)設(shè)計(jì)規(guī)模不加任何限制;具有混合建模能力;基本邏輯門(mén)、開(kāi)關(guān)級(jí)結(jié)構(gòu)模型均內(nèi)置于語(yǔ)言中,可直接調(diào)用;以創(chuàng)建用戶定義原語(yǔ)(UDP,User Designed Primtive);易學(xué)易用,功能強(qiáng)。一個(gè)復(fù)雜電路的完整Verilog HDl模型是有若干個(gè)

34、Verilog HDL模塊構(gòu)成的,每一個(gè)模塊又可以由若干個(gè)子模塊構(gòu)成;利用Verilog HDL語(yǔ)言結(jié)構(gòu)所提供的這種功能就可以構(gòu)造一個(gè)模塊間的清晰層次結(jié)構(gòu)來(lái)描述極其復(fù)雜的大型設(shè)計(jì);Verilog HDL的行為描述功能:可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu);用延遲表達(dá)式或事件表達(dá)式來(lái)明確地控制過(guò)程的啟用時(shí)間;通過(guò)命名的事件來(lái)觸發(fā)其他過(guò)程里的激活行為或停止行為;提供了條件、if-else、case、循環(huán)程序結(jié)構(gòu);提供了可定義新的操作符的函數(shù)結(jié)

35、(function);提供了用于建立表達(dá)式的算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。Verilog HDL語(yǔ)言作為一種結(jié)構(gòu)化的語(yǔ)言也非常適合于門(mén)級(jí)和開(kāi)關(guān)級(jí)得模型設(shè)計(jì)。它的構(gòu)造性語(yǔ)</p><p>  本文主要研究了采用Verilog HDL語(yǔ)言和FPGA,運(yùn)用了自頂向下設(shè)計(jì)思想設(shè)計(jì)數(shù)字鐘的問(wèn)題。自頂向下設(shè)計(jì)是從系統(tǒng)級(jí)開(kāi)始把系統(tǒng)分成基本單元,然后再把每個(gè)基本單元?jiǎng)澐譃橄乱粋€(gè)層次的基本單元,直到可以直接用EDA元件庫(kù)中的元

36、件來(lái)實(shí)現(xiàn)為止。</p><p>  2.2 FPGA簡(jiǎn)介</p><p>  FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列),是20世紀(jì)70年代發(fā)展起來(lái)的一種可編程邏輯器件,是目前數(shù)字系統(tǒng)設(shè)計(jì)的主要的硬件基礎(chǔ)。FPGA在結(jié)構(gòu)上有邏輯功能塊排列為陣列,并由可編程內(nèi)部連接這些功能。</p><p>  可編程邏輯器件的設(shè)計(jì)過(guò)程主

37、要是利用EDA開(kāi)發(fā)軟件和編程工具對(duì)器件進(jìn)行開(kāi)發(fā)的過(guò)程。由于EDA技術(shù)擁有系統(tǒng)的模擬和仿真的功能,可讀性,可重復(fù)性,可測(cè)性都非常好,所以利用EDA開(kāi)發(fā)FPGA是目前比較流行的方式。當(dāng)然,有時(shí)根據(jù)需要,也會(huì)應(yīng)用MAX+PLUSⅡ開(kāi)發(fā)集成環(huán)境進(jìn)行設(shè)計(jì)。</p><p>  正因?yàn)镕PGA的設(shè)計(jì)過(guò)程方便,快捷,而且FPGA技術(shù)功能強(qiáng)大,如數(shù)字頻率發(fā)生器,電子琴,自動(dòng)售貨機(jī),多功能波形發(fā)生器,多功能數(shù)字鐘等等。[8]<

38、;/p><p>  2.2.1 FPGA基本結(jié)構(gòu)</p><p>  FPGA具有掩膜可編程門(mén)陣列的通用結(jié)構(gòu),它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來(lái)實(shí)現(xiàn)不同的設(shè)計(jì)。</p><p>  FPGA一般由3種可編程電路和一個(gè)用于存放編程數(shù)據(jù)的靜態(tài)存儲(chǔ)器SRAM組成。這3種可編程電路是:可編程邏輯模塊(CLB--Configurable Logic

39、Block)、輸入/輸出模塊(IOB--I/O Block)和互連資源(IR—Interconnect Resource)。可編程邏輯模塊CLB是實(shí)現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個(gè)陣列,散布于整個(gè)芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長(zhǎng)度的連接線段和一些可編程連接開(kāi)關(guān),它們將各個(gè)CLB之間或CLB、IOB之間以及IOB之間連接起來(lái),構(gòu)成特定

40、功能的電路。1.CLB是FPGA的主要組成部分。它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個(gè)邏輯函數(shù)發(fā)生器分別是G、F和H,相應(yīng)的輸出是G’、F’和H’。G有4個(gè)輸入變量G1、G2、G3和G4;F也有4個(gè)輸入變量F1、F2、F3和F4。這兩個(gè)函數(shù)發(fā)生器是完全獨(dú)立的,均可以實(shí)現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個(gè)輸入信號(hào);前兩個(gè)是函數(shù)發(fā)生器的輸出G’和F’,而另</p><p>

41、;  CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),可通過(guò)對(duì)CLB內(nèi)部數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來(lái)選擇觸發(fā)器的激勵(lì)輸入信號(hào)、時(shí)鐘有效邊沿、時(shí)鐘使能信號(hào)以及輸出信號(hào)。這些數(shù)據(jù)選擇器的地址控制信號(hào)均由編程信息提供,從而實(shí)現(xiàn)所需的電路結(jié)構(gòu)。</p><p>  CLB中的邏輯函數(shù)發(fā)生器F和G均為查找表結(jié)構(gòu),其工作原理類似于ROM。F和G的輸入等效于ROM

42、的地址碼,通過(guò)查找ROM中的地址表可以得到相應(yīng)的組合邏輯函數(shù)輸出。另外,邏輯函數(shù)發(fā)生器F和G還可以作為器件內(nèi)高速RAM或小的可讀寫(xiě)存儲(chǔ)器來(lái)使用,它由信號(hào)變換電路控制。</p><p>  2.輸入/輸出模塊IOB。IOB提供了器件引腳和內(nèi)部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成。</p><p>  每個(gè)IOB控制一個(gè)引腳,它們可被配置為輸入、

43、輸出或雙向I/O功能。當(dāng)IOB控制的引腳被定義為輸入時(shí),通過(guò)該引腳的輸入信號(hào)先送入輸入緩沖器。緩沖器的輸出分成兩路:一路可以直接送到MUX,另一路延時(shí)幾個(gè)納秒(或者沒(méi)有延時(shí))后送到輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器。通過(guò)編程給數(shù)據(jù)選擇器不同的控制信息,確定送至CLB陣列的I1和I2是來(lái)自輸入緩沖器,還是來(lái)自觸發(fā)器。</p><p>  當(dāng)IOB控制的引腳被定義為輸出時(shí),CLB陣列的輸出信號(hào)OUT也可以有兩條傳輸途

44、徑:一條是直接經(jīng)MUX送到輸出緩沖器,另一條是先存入輸出通路D觸發(fā)器,再送到輸出緩沖器。</p><p>  IOB輸出端配有兩只MOS管,它們的柵極均可編程,使MOS管導(dǎo)通或截止,分別經(jīng)上拉電阻接通VCC、地線或者不接通,用以改善輸出波形和負(fù)載能力。</p><p>  3.可編程互連資源IR??删幊袒ミB資源IR可以將FPGA內(nèi)部的CLB和CLB之間、CLB和IOB之間連接起來(lái),構(gòu)成各種

45、具有復(fù)雜功能的系統(tǒng)。IR主要由許多金屬線段構(gòu)成,這些金屬線段帶有可編程的開(kāi)關(guān),通過(guò)自動(dòng)布線實(shí)現(xiàn)各種電路的連接。</p><p>  2.2.2 FPGA設(shè)計(jì)流程</p><p>  一般來(lái)說(shuō),一個(gè)比較大且完整的項(xiàng)目應(yīng)該采用層次化的描述方法:分為幾個(gè)較大的模塊,定義好各功能模塊之間的接口,然后各個(gè)模塊再細(xì)分來(lái)具體實(shí)現(xiàn),這就是自頂向下的設(shè)計(jì)方法。目前這種高層次的設(shè)計(jì)方法已經(jīng)被廣泛的采用。高層次

46、的設(shè)計(jì)只是定義系統(tǒng)的行為特征,可以不涉及實(shí)現(xiàn)工藝,因此還可以在廠家綜合庫(kù)的支持下,利用綜合優(yōu)化工具將高層次描述轉(zhuǎn)換為針對(duì)某種工藝優(yōu)化的網(wǎng)絡(luò)表,使工藝轉(zhuǎn)化變得輕而易舉[11]。</p><p>  CPLD/FPGA系統(tǒng)設(shè)計(jì)的工作流程。</p><p>  1.按照“自頂向下”的設(shè)計(jì)方法進(jìn)行系統(tǒng)的劃分。</p><p>  2.輸入Verilog HDL代碼,這是設(shè)計(jì)

47、中最為普遍的輸入方式。此外,還可以采用圖形輸入方式,這種輸入方式具有直觀和容易理解的優(yōu)點(diǎn)。</p><p>  3.將以上的設(shè)計(jì)輸入編譯成標(biāo)準(zhǔn)的Verilog HDL文件。</p><p>  4.進(jìn)行代碼級(jí)的功能仿真,主要是檢驗(yàn)系統(tǒng)功能設(shè)計(jì)的正確性。</p><p>  5.利用綜合器對(duì)Verilog HDL源代碼進(jìn)行綜合優(yōu)化處理,生成門(mén)級(jí)描述的網(wǎng)絡(luò)表文件,這是將

48、高層次描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。</p><p>  6.利用適配器將綜合后的網(wǎng)絡(luò)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。</p><p>  7.在適配完成后,產(chǎn)生多項(xiàng)設(shè)計(jì)結(jié)果:a.適配報(bào)告,包括芯片內(nèi)部資源利用情況,設(shè)計(jì)的布爾方程描述情況等;b.適配后的仿真模型;c.器件編程文件。根據(jù)適配后的仿真模型,可以進(jìn)行適配后時(shí)序仿真,因

49、為已經(jīng)得到器件的實(shí)際硬件特性(如時(shí)延特性),所以仿真結(jié)果能比較精確的預(yù)期未來(lái)芯片的實(shí)際性能。如果仿真結(jié)果達(dá)不到設(shè)計(jì)要求,就修改Verilog HDL源代碼或選擇不同速度和品質(zhì)的器件,直至滿足設(shè)計(jì)要求。</p><p>  最后將適配器產(chǎn)生的器件編程文件通過(guò)編程器或下載電纜載入到目標(biāo)芯片CPLD/FPGA中。</p><p>  圖2.1 CPLD/FPGA系統(tǒng)設(shè)計(jì)流程</p>

50、<p>  第三章 數(shù)字鐘的設(shè)計(jì)</p><p>  3.1 數(shù)字鐘的工作原理</p><p>  設(shè)計(jì)一個(gè)多功能數(shù)字鐘,具有時(shí)、分、秒計(jì)數(shù)顯示,鬧鐘功能,能夠利用按鍵實(shí)現(xiàn)對(duì)鬧鐘時(shí)間的設(shè)定,并在當(dāng)前顯示時(shí)間到功能進(jìn)行鬧鐘提示。多功能數(shù)字中還應(yīng)具有秒表功能,能夠精確到百分之一秒進(jìn)行計(jì)數(shù)并顯示。能夠利用按鍵實(shí)現(xiàn)“校時(shí)”、“校分”、“校秒”功能,隨著對(duì)數(shù)碼管的顯示進(jìn)行調(diào)整和校對(duì)。

51、</p><p>  數(shù)字鐘系統(tǒng)如圖3.1所示主要由系統(tǒng)時(shí)鐘和三個(gè)功能按鍵、FPGA、數(shù)碼管和蜂鳴器三部分組成:</p><p>  圖3.1 數(shù)字鐘的總體設(shè)計(jì)框圖</p><p>  3.2 數(shù)字鐘硬件設(shè)計(jì)</p><p>  3.2.1 FPGA芯片選取</p><p>  本系統(tǒng)擬采用Altera公司Cyclo

52、ne系列的EP1C3T144芯片。選用該款芯片的原因是:</p><p>  ① Altera公司的Quartus II開(kāi)發(fā)環(huán)境非常友好、直觀,為整個(gè)系統(tǒng)的開(kāi)發(fā)提供了極大的方便;</p><p> ?、?該FPGA片內(nèi)邏輯資源、IO端口數(shù)和RAM容量都足夠用,并且價(jià)格相對(duì)來(lái)說(shuō)比較便宜,</p><p>  速度快,可以滿足要求,且有很大的升級(jí)空間。</p>

53、;<p>  EP1C3T144是Altera公司生產(chǎn)的Cyclone I代、基于1.5V(內(nèi)核),3.3V(I/O),0.13um和SRAM的FPGA,容量為2910個(gè)LE,擁有13個(gè) M4KRAM(4K位+奇偶校驗(yàn))塊;除此之外,還集成了許多復(fù)雜的功能,提供了全功能的鎖相環(huán)(PLL),用于板級(jí)的時(shí)鐘網(wǎng)絡(luò)管理和專用I/O口,這些接口用于連接業(yè)界標(biāo)準(zhǔn)的外部存儲(chǔ)器器件,具有成本低和使用方便的特點(diǎn),具有以下特性:</p&

54、gt;<p> ?、?新的可編程架構(gòu)通過(guò)設(shè)計(jì)實(shí)現(xiàn)低成本;</p><p> ?、?采用新的串行置器件如EPCS1的低成本配置方案;</p><p>  ③ 嵌入式存儲(chǔ)資源支持各種存儲(chǔ)器應(yīng)用和數(shù)字信號(hào)處理器(DSP);</p><p> ?、?支持低速(311Mbps)LVDS I/O;</p><p> ?、?支持66MHZ,3

55、2位PCI標(biāo)準(zhǔn);</p><p> ?、?支持LVTTL、LVCMOS、SSTL-2以及SSTL-3 I/O標(biāo)準(zhǔn);</p><p> ?、?支持串行總線和網(wǎng)絡(luò)接口及各種通信協(xié)議;</p><p> ?、?支持外部存儲(chǔ)器,包括 DDR SDRAM(133MHZ),F(xiàn)CRAM以及 SDR SDRAM;</p><p> ?、?使用PLL管理片內(nèi)和

56、片外系統(tǒng)時(shí)序;</p><p> ?、?支持多種IP,包括Altera公司的MegaCore以及其合伙組織的IP,支持最新推出的Nios II嵌入式處理器,具有超凡的性能、低成本和最完整的一套軟件開(kāi)發(fā)工具。</p><p>  EP1C3T144引腳圖如圖所示。</p><p>  圖3.2 EP1C3T144引腳</p><p>  3.

57、2.2 顯示電路設(shè)計(jì)</p><p>  顯示電路所選用6個(gè)數(shù)碼管以靜態(tài)顯示驅(qū)動(dòng)方式完成時(shí)、分、秒顯示。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)I/O端口進(jìn)行驅(qū)動(dòng),其優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多。</p><p>  顯示電路原理圖如圖所示。</p><p>  圖3.3 LED靜態(tài)驅(qū)動(dòng)顯示原理圖</p><p>&

58、lt;b>  3.3 模塊設(shè)計(jì)</b></p><p>  3.3.1主控模塊的設(shè)定</p><p>  在整個(gè)數(shù)字鐘的設(shè)計(jì)中有很多功能模塊,如何實(shí)現(xiàn)對(duì)該功能模塊的控制與調(diào)整,就需要一個(gè)主體控制模塊對(duì)各個(gè)分模塊進(jìn)行控制,主模塊的功能主要是通過(guò)輸入信號(hào)實(shí)現(xiàn)秒表顯示,鬧鐘模塊和時(shí)間設(shè)置模塊以及最后的七位數(shù)碼顯示模塊的控制,在主控模塊中分別設(shè)置了“1到4”4個(gè)功能號(hào),分別實(shí)現(xiàn)包

59、括對(duì)時(shí)間顯示與調(diào)整、鬧鐘顯示與調(diào)整、秒表操作的控制。主控模塊各個(gè)輸入端口分別為:</p><p>  Timepiece_EN 為時(shí)間自動(dòng)顯示使能端;</p><p>  Timeset_EN 為時(shí)間調(diào)整與設(shè)置使能端;</p><p>  Stopwatch_EN 為秒表功能使能端;</p><p>  Alarmclock_EN 為鬧鐘顯

60、示設(shè)置使能端。</p><p>  3.3.2 計(jì)數(shù)模塊的設(shè)計(jì)</p><p>  時(shí)間及其設(shè)置模塊主要完成時(shí)間的自動(dòng)正常運(yùn)行與顯示,以及在相應(yīng)的功能號(hào)下實(shí)現(xiàn)時(shí)間的調(diào)整與設(shè)置。</p><p>  對(duì)于時(shí)間模塊,主要完成自動(dòng)增加與顯示功能,即為正常的自動(dòng)模塊運(yùn)行,時(shí)間模塊主要由秒自動(dòng)計(jì)時(shí)子模塊(second_counter),分自動(dòng)計(jì)時(shí)模塊(minute_count

61、er),小時(shí)自動(dòng)計(jì)時(shí)模塊(hour_counter)以及時(shí)間自動(dòng)工作控制模塊timepiece_main)組成。</p><p>  時(shí)間設(shè)置模塊主要完成對(duì)時(shí)間的設(shè)置相關(guān)的閃耀顯示控制以及時(shí)間中的小時(shí)、分鐘、秒的數(shù)據(jù)的改變,他通過(guò)兩個(gè)模塊分別實(shí)現(xiàn)時(shí)間調(diào)整與設(shè)置過(guò)程中小時(shí)、分鐘、秒的位的選擇和秒的數(shù)值的選擇。</p><p><b>  1、秒計(jì)數(shù)模塊</b></

62、p><p>  該模塊框圖如圖3.4所示。模塊主要完成秒向分的進(jìn)位,產(chǎn)生脈沖信號(hào)。</p><p>  圖3.4 秒模塊邏輯框圖</p><p>  該模塊的仿真波形如圖3.5所示。</p><p>  圖3.5 秒計(jì)數(shù)模塊波形仿真</p><p><b>  2、分低位計(jì)數(shù)器</b></p

63、><p>  該模塊框圖如圖3.6所示。主要完成分低位向高位的進(jìn)位,產(chǎn)生脈沖信號(hào)。</p><p>  圖3.6 分低位邏輯框圖</p><p>  3、小時(shí)高位計(jì)數(shù)模塊</p><p>  該模塊框圖如圖3.7所示,主要完成小時(shí)高位1和2之間的變換,同時(shí)當(dāng)小時(shí)高位為2時(shí), flag為高電平,當(dāng)為1時(shí),flag為低電平。</p>

64、<p>  圖3.7小時(shí)高位計(jì)數(shù)模塊組件</p><p>  4、小時(shí)低位計(jì)數(shù)模塊</p><p>  該模塊框圖如圖3.8所示。主要完成小時(shí)低位向高位的進(jìn)位,產(chǎn)生脈沖信號(hào),同時(shí)根據(jù)標(biāo)志位flag信號(hào)的不同判斷出小時(shí)高位時(shí)1還是2。</p><p>  圖3.8 小時(shí)低位計(jì)數(shù)模塊組件圖</p><p>  時(shí)間數(shù)據(jù)與時(shí)間設(shè)置數(shù)據(jù)多

65、路選擇模塊用來(lái)向顯示單元傳輸顯示數(shù)據(jù),該模塊主要實(shí)現(xiàn)時(shí)間自動(dòng)顯示、時(shí)間調(diào)整與設(shè)置中顯示數(shù)據(jù)的多路選擇。</p><p>  3.3.3 顯示模塊的設(shè)計(jì)</p><p>  顯示模塊是時(shí)間、秒表等數(shù)據(jù)用數(shù)碼管顯示的控制與數(shù)據(jù)傳輸模塊,包括數(shù)據(jù)的傳輸以及BCD碼的譯碼等,其主要是用來(lái)對(duì)數(shù)據(jù)進(jìn)行顯示。</p><p>  該模塊完成對(duì)計(jì)數(shù)器編碼信息的譯碼工作,驅(qū)動(dòng)數(shù)碼管則

66、顯示相應(yīng)的數(shù)字。模塊組件如3.9所示。</p><p>  圖3.9 譯碼顯示模塊組件</p><p>  該顯示模塊的仿真波形如圖3.10所示</p><p>  圖3.10 顯示波形仿真</p><p>  該模塊含有一個(gè)六進(jìn)制計(jì)數(shù)器,在clk驅(qū)動(dòng)下六進(jìn)制計(jì)數(shù)器的q值從O00B~101B按順序循環(huán)變化,計(jì)數(shù)值q送comcnt信號(hào)輸出,

67、一方面送給位選擇模塊,使其根據(jù)q值選出對(duì)應(yīng)的時(shí)、分、秒信號(hào)送給段譯碼器,然后經(jīng)段譯碼器將數(shù)據(jù)送到7段LED數(shù)碼管上。comcnt信號(hào)還送給位譯碼模塊,根據(jù)q值經(jīng)位譯碼產(chǎn)生6個(gè)數(shù)碼管的選通信號(hào)common,這樣在6個(gè)數(shù)碼管上就可以看到一個(gè)穩(wěn)定的數(shù)字時(shí)間顯示。</p><p>  3.3.4 分頻模塊的設(shè)計(jì)</p><p>  晶體振蕩器是構(gòu)成數(shù)字式時(shí)鐘的核心,振蕩器的穩(wěn)定度及頻率的精度決定了

68、數(shù)字鐘計(jì)時(shí)的準(zhǔn)確程度,它保證了時(shí)鐘的走時(shí)準(zhǔn)確及穩(wěn)定。</p><p>  石英晶體的選頻特性非常好,只有某一頻率點(diǎn)的信號(hào)可以通過(guò)它,其它頻率段的信號(hào)均會(huì)被它所衰減,而且,振蕩信號(hào)的頻率與振蕩電路中的R、C組件的數(shù)值無(wú)關(guān)。因此這種振蕩電路輸出的是準(zhǔn)確度極高的信號(hào)。然后再利用分頻電路,將其輸出信號(hào)轉(zhuǎn)變?yōu)槊胄盘?hào),其組成框圖如圖所示。</p><p>  圖3.11 秒信號(hào)產(chǎn)生電路框圖</

69、p><p>  在多功能數(shù)字鐘設(shè)計(jì)中,晶體振蕩器電路給數(shù)字鐘提供了一個(gè)頻率穩(wěn)定準(zhǔn)確的20MHZ的方波信號(hào),其輸出至分頻電路,分頻電路模塊分頻輸出1KHZ、100HZ、500HZ、1HZ的信號(hào):</p><p>  (1)1HZ的時(shí)鐘信號(hào)主要作為秒表模塊和時(shí)間動(dòng)態(tài)位選模塊的輸入信號(hào)作為</p><p>  秒個(gè)位的調(diào)變頻率;500HZ作為按鍵消抖信號(hào)。此秒信號(hào)與消抖信號(hào)的

70、時(shí)序仿真如圖3.12所示</p><p>  圖3.12 秒信號(hào)仿真圖</p><p>  (2)100HZ的時(shí)鐘信號(hào)主要作為鬧鐘模塊和時(shí)間動(dòng)態(tài)位選模塊的輸入時(shí)鐘。作為時(shí)間調(diào)整時(shí)的掃描頻率,且同時(shí)也作為秒表的輸入時(shí)鐘以達(dá)到精確計(jì)數(shù)。</p><p>  (3)1KHZ主要用作時(shí)間動(dòng)態(tài)位選模塊的時(shí)鐘輸入信號(hào)主要作為數(shù)碼管正常顯示時(shí)的掃描頻率。</p>

71、<p>  由此可看出在多功能數(shù)字鐘的系統(tǒng)中,各模塊均需要有不同頻率的時(shí)鐘信號(hào)輸入,所以在設(shè)計(jì)多功能數(shù)字鐘時(shí),需要設(shè)置分頻模塊,將時(shí)鐘輸入的頻率分割為幾個(gè)的不同頻率,從而使利用時(shí)鐘信號(hào)對(duì)各個(gè)模塊的控制更簡(jiǎn)便化也更直觀化,調(diào)試時(shí)更加方便有利于系統(tǒng)的整體實(shí)現(xiàn)。</p><p>  3.3.5 鬧鐘模塊的設(shè)計(jì)</p><p>  設(shè)置鬧鐘模塊主要是體現(xiàn)時(shí)間設(shè)置模塊的設(shè)置功能,因?yàn)轸[鐘模

72、塊的實(shí)現(xiàn)主要是由人為的設(shè)置時(shí)間從而用鬧鐘模塊來(lái)顯示。鬧鐘模塊實(shí)現(xiàn)的功能包括鬧鐘的設(shè)置以及鬧鐘時(shí)間到后的提示,鬧鐘模塊的設(shè)置較為靈活,因?yàn)樵谥骺啬K的控制下,顯示模塊的數(shù)碼管進(jìn)行時(shí)間的小時(shí)、分鐘和秒的個(gè)位與十位的顯示,當(dāng)時(shí)間及其設(shè)置模塊收到主控模塊的使能信號(hào)后完成兩個(gè)功能:一是當(dāng)時(shí)時(shí)鐘計(jì)數(shù)到點(diǎn)時(shí),蜂嗚器發(fā)出嘀嘀的響聲,響時(shí)為1min;二是在發(fā)聲的同時(shí),3個(gè)LED燈循環(huán)閃亮,時(shí)間也是1min。

73、 </p><p>  3.3.6 整點(diǎn)報(bào)時(shí)模塊設(shè)計(jì)</p><p>  該模塊能夠完成整點(diǎn)時(shí)的報(bào)時(shí)功能。即將至整點(diǎn)時(shí),前四秒低音,最后一秒高音。該模塊在十二點(diǎn)三十分的時(shí)候,蜂鳴器響起音樂(lè),持續(xù)一分鐘。模塊組件如圖所示。</p><p>  圖3.13 整點(diǎn)報(bào)時(shí)模塊組件

74、</p><p>  該模塊仿真波形如圖所示。</p><p>  圖3.14 整點(diǎn)報(bào)時(shí)模塊波形仿真</p><p>  3.3.7 按鍵控制模塊設(shè)計(jì)</p><p>  按鍵控制模塊的框圖如圖所示。</p><p>  a b</p><p>  圖3.15 按鍵控

75、制模塊</p><p>  圖中a圖是控制分的高位,低位以及小時(shí)的高位的模塊,b圖是控制小時(shí)的低位的模塊。inkey是由消抖模塊輸出的有鍵按下的信號(hào),這個(gè)信號(hào)引發(fā)按鍵控制模塊內(nèi)部信號(hào)的變化。oaddr[3..0]作為輸出信號(hào),用于控制時(shí)間的調(diào)整。b圖中的flag是判斷小時(shí)高位是1還是2的信號(hào),若為1,則flag信號(hào)為低電平;若為2,則flag信號(hào)為高電平。</p><p>  該模塊的仿真

76、波形如圖所示。</p><p>  圖3.16 分低位按鍵控制模塊波形仿真</p><p>  該小時(shí)低位按鍵的仿真波形如圖所示。</p><p>  圖3.17 小時(shí)低位按鍵控制模塊波形仿真</p><p>  第四章 總結(jié)與展望</p><p><b>  4.1 總結(jié)</b></

77、p><p>  將設(shè)計(jì)程序下載到硬件電路上運(yùn)行調(diào)試后,最終結(jié)果與預(yù)期效果基本一致,整點(diǎn)報(bào)時(shí)功能正常,時(shí)、分都能夠正常計(jì)數(shù)并能由按鍵控制校時(shí)。</p><p>  在此次的數(shù)字鐘設(shè)計(jì)過(guò)程中,更進(jìn)一步地熟悉有關(guān)數(shù)字電路的知識(shí)和具體應(yīng)用。學(xué)會(huì)了利用QuarterII軟件進(jìn)行原理圖的繪制,硬件描述語(yǔ)言VHDL的編寫(xiě),程序的仿真等工作。并能根據(jù)仿真結(jié)果分析設(shè)計(jì)的存在的問(wèn)題和缺陷,從而進(jìn)行程序的調(diào)試和完善

78、。</p><p>  在設(shè)計(jì)電路中,往往是先仿真后連接實(shí)物圖,但有時(shí)候仿真和電路連接并不是完全一致的,例如在對(duì)具體模塊的仿真的過(guò)程中,往往沒(méi)有考慮到整體設(shè)計(jì)的層面以及與上下模塊接口的設(shè)計(jì)。再加上器件對(duì)信號(hào)的延時(shí)等問(wèn)題,實(shí)際下載硬件電路上后會(huì)出現(xiàn)一系列的問(wèn)題,因此仿真圖和電路連接圖還是有一定區(qū)別的。</p><p>  此次的數(shù)字鐘設(shè)計(jì)重在于按鍵的控制和各個(gè)模塊代碼的編寫(xiě),雖然能把鍵盤(pán)接口

79、和各個(gè)模塊的代碼編寫(xiě)出來(lái),并能正常顯示,但對(duì)于各個(gè)模塊的優(yōu)化設(shè)計(jì)還有一定的缺陷和不足??偟膩?lái)說(shuō),通過(guò)這次的設(shè)計(jì)更進(jìn)一步地增強(qiáng)了動(dòng)手能力,對(duì)數(shù)字鐘的工作原理也有了更加透徹的理解。</p><p>  過(guò)去人們應(yīng)用時(shí)鐘僅僅是為了明確當(dāng)前時(shí)間,隨著生產(chǎn)力的發(fā)展,社會(huì)的進(jìn)步,生產(chǎn)生活對(duì)時(shí)鐘的需求越來(lái)越大,對(duì)時(shí)鐘的體型,功能需求也各有不同,所以多功能數(shù)字鐘在今后的應(yīng)用也會(huì)越來(lái)越廣泛。</p><p>

80、;  Verilog HDL 語(yǔ)言具有結(jié)構(gòu)清晰、文法簡(jiǎn)明、功能強(qiáng)大、高速模擬和多庫(kù)支持等優(yōu)點(diǎn), 被近90%的半導(dǎo)體公司使用, 成為一種強(qiáng)大的設(shè)計(jì)工具。該數(shù)字鐘就是采用Verilog HDL 描述。本文利用EDA技術(shù),采用自頂向下的設(shè)計(jì)方法,使用Verlog HDL語(yǔ)言設(shè)計(jì)的多功能數(shù)字鐘。它具有時(shí)間顯示和設(shè)置、鬧鐘、數(shù)字秒表等功能。由于FPGA具有在線編程,裁減擴(kuò)充容易等特點(diǎn),使得系統(tǒng)的改進(jìn)和完善十分容易,因此還可以根據(jù)數(shù)字鐘的具體應(yīng)用場(chǎng)

81、合,使其不僅僅局限于時(shí)問(wèn)和日期等日常需要,例如導(dǎo)航、報(bào)警、定位等相應(yīng)功能滿足越來(lái)越多行業(yè)的需求?;赩erilog HDL的數(shù)字鐘,僅僅是眾多方法中的一個(gè),并且市場(chǎng)上的多功能數(shù)字鐘品類繁多,顯示方式也愈趨于人性化。所以多功能的鐘有多種實(shí)現(xiàn)方法。</p><p><b>  4.2 展望</b></p><p>  本設(shè)計(jì)中雖然有控制鍵對(duì)時(shí)鐘進(jìn)行控制,但是用到的按鍵略

82、多,在實(shí)際應(yīng)用上存在不足。故提出改進(jìn)方案為用一個(gè)按鍵控制數(shù)碼管的位選,再用兩個(gè)按鍵控制計(jì)數(shù)的加減。這樣可以節(jié)省按鍵資源,以供更多的功能的使用。</p><p>  本設(shè)計(jì)利用硬件描述語(yǔ)言和FPGA芯片相結(jié)合進(jìn)行數(shù)字鐘的研究,從中可以看到EDA技術(shù)的發(fā)展在一定程度上實(shí)現(xiàn)了硬件設(shè)計(jì)軟件化。設(shè)計(jì)的過(guò)程變的相對(duì)簡(jiǎn)單,容易修改。相信隨著電子技術(shù)的發(fā)展,數(shù)字鐘的功能會(huì)更加多樣化,滿足人們的各種需要。</p>&

83、lt;p><b>  參考文獻(xiàn)</b></p><p>  [1] 王金明.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL[M].電子工業(yè)出版社,2002.17~18.</p><p>  [2] 來(lái)清民. 基于CAN 總線的多功能大型糧倉(cāng)遠(yuǎn)程監(jiān)測(cè)系統(tǒng)[J].微計(jì)算機(jī)信息,2005.21(5):8~11.</p><p>  [3] 王紫婷,吳蓉,

84、張彩珍.EDA技術(shù)與應(yīng)用[M].蘭州大學(xué)出版社,2003.25~27</p><p>  [4] 夏宇聞. Verilog 數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京航空航天大學(xué)出版社,2008. 56~64.</p><p>  [5] 江國(guó)強(qiáng).新編數(shù)字邏輯電路[M].北京郵電大學(xué)出版社,2006. 45~49.</p><p>  [6] 杜慧敏.基于Verilog的FPGA

85、設(shè)計(jì)基礎(chǔ)[M].西安電子科技大學(xué)出版社,2006.18~20.</p><p>  [7] 包明.可編程器件的應(yīng)用[M].北京:北京航天航空大學(xué)出版社,2007.8~9.</p><p>  [8] 東方人華主編.MAX+PLUSⅡ入門(mén)與提高[M].北京:清華大學(xué)出版社,2004.30~33.</p><p>  [9] 張亮.數(shù)字電路設(shè)計(jì)與Verilog HDL[

86、J].人民郵電出版社,2000.36(6):11~13</p><p>  [10] 夏宇聞.復(fù)雜數(shù)字電路與系統(tǒng)的Verilog HDL設(shè)計(jì)技術(shù)[M].北京:北京航空大學(xué)出版社,1998.45~47.</p><p>  [11] Eli Stemheim,Raj Singh and Yatin Trivedi.Digital Design with Verilog HDL[M].Auto

87、ma Publishing Company,Cupertino,CA95014,1990.33~34.</p><p><b>  附 錄</b></p><p>  1、秒計(jì)數(shù)模塊核心程序如下:</p><p>  ENTITY second IS</p><p><b>  PORT</b>&

88、lt;/p><p>  (clk_1s : IN STD_LOGIC;</p><p>  os : OUT STD_LOGIC);</p><p>  END second;</p><p>  ARCHITECTURE sec_architecture OF second IS</p><p><b>  B

89、EGIN</b></p><p>  k1:process(clk_1s)</p><p>  variable count:integer range 0 to 100:=0;</p><p><b>  begin</b></p><p>  if rising_edge(clk_1s) then&l

90、t;/p><p>  if count=59 then</p><p><b>  os<='1';</b></p><p><b>  count:=0;</b></p><p><b>  else</b></p><p><

91、b>  os<='0';</b></p><p>  count:=count+1;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process k1;</p&g

92、t;<p>  2、分低位模塊核心程序如下:</p><p>  ENTITY ml IS</p><p><b>  PORT</b></p><p> ?。╟lk_1s : IN STD_LOGIC;</p><p>  iset : IN STD_LOGIC;</p><p>

93、  iset_addr : IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  addr_1s : OUT STD_LOGIC_vector(3 downto 0);</p><p>  os : OUT STD_LOGIC);</p><p><b>  END ml;</b></p><

94、p>  ARCHITECTURE ml_architecture OF ml IS</p><p><b>  BEGIN</b></p><p>  k1:process(clk_1s,iset)</p><p>  variable count:integer range 0 to 10:=0;</p><p>

95、;<b>  begin</b></p><p>  if iset='0' then</p><p>  count:=CONV_INTEGER(iset_addr);</p><p>  addr_1s<=iset_addr;</p><p>  elsif rising_edge(clk_1s

96、) then</p><p>  if count=9 then</p><p><b>  os<='1';</b></p><p><b>  count:=0;</b></p><p>  addr_1s<=CONV_STD_LOGIC_VECTOR(count,4

97、);</p><p><b>  else</b></p><p><b>  os<='0';</b></p><p>  count:=count+1;</p><p>  addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);</p&

98、gt;<p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process k1;</p><p>  END ml_architecture;</p><p>  3、分高位模塊核心程序如下:</p>

99、<p>  ENTITY ml IS</p><p><b>  PORT</b></p><p> ?。╟lk_1s : IN STD_LOGIC;</p><p>  iset : IN STD_LOGIC;</p><p>  iset_addr : IN STD_LOGIC_VECTOR(3 DOWN

100、TO 0);</p><p>  addr_1s : OUT STD_LOGIC_vector(3 downto 0);</p><p>  os : OUT STD_LOGIC);</p><p><b>  END ml;</b></p><p>  ARCHITECTURE ml_architecture OF m

101、l IS</p><p><b>  BEGIN</b></p><p>  k1:process(clk_1s,iset)</p><p>  variable count:integer range 0 to 10:=0;</p><p><b>  begin</b></p>&

102、lt;p>  if iset='0' then</p><p>  count:=CONV_INTEGER(iset_addr);</p><p>  addr_1s<=iset_addr;</p><p>  elsif rising_edge(clk_1s) then</p><p>  if count=6

103、then</p><p><b>  os<='1';</b></p><p><b>  count:=0;</b></p><p>  addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);</p><p><b>  else&l

104、t;/b></p><p><b>  os<='0';</b></p><p>  count:=count+1;</p><p>  addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);</p><p><b>  end if;</b&g

105、t;</p><p><b>  end if;</b></p><p>  end process k1;</p><p>  END ml_architecture;</p><p>  4、小時(shí)低位模塊核心程序如下:</p><p>  ENTITY hl IS</p><

106、;p><b>  PORT</b></p><p> ?。╟lk_1s : IN STD_LOGIC;</p><p>  iset : IN STD_LOGIC;</p><p>  flag : IN STD_LOGIC;</p><p>  iset_addr : IN STD_LOGIC_VECTOR(3

107、DOWNTO 0);</p><p>  addr_1s : OUT STD_LOGIC_vector(3 downto 0);</p><p>  os : OUT STD_LOGIC);</p><p><b>  END hl;</b></p><p>  ARCHITECTURE hl_architecture

108、OF hl IS</p><p><b>  BEGIN</b></p><p>  k1:process(clk_1s,iset)</p><p>  variable count:integer range 0 to 10:=0;</p><p><b>  begin</b></p&g

109、t;<p>  if iset='0' then</p><p>  count:=CONV_INTEGER(iset_addr);</p><p>  addr_1s<=iset_addr;</p><p>  elsif rising_edge(clk_1s) then</p><p>  if fla

110、g='1' then</p><p>  if count=3 then</p><p><b>  os<='1';</b></p><p><b>  count:=0;</b></p><p>  addr_1s<=CONV_STD_LOGIC_VE

111、CTOR(count,4);</p><p><b>  else</b></p><p><b>  os<='0';</b></p><p>  count:=count+1;</p><p>  addr_1s<=CONV_STD_LOGIC_VECTOR(coun

112、t,4);</p><p><b>  end if;</b></p><p><b>  else</b></p><p>  if count=9 then</p><p><b>  os<='1';</b></p><p&g

113、t;<b>  count:=0;</b></p><p>  addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);</p><p><b>  else</b></p><p><b>  os<='0';</b></p><

114、;p>  count:=count+1;</p><p>  addr_1s<=CONV_STD_LOGIC_VECTOR(count,4);</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b> 

115、 end if;</b></p><p>  end process k1;</p><p>  END hl_architecture;</p><p>  5、小時(shí)高位模塊核心程序如下:</p><p>  ENTITY hh IS</p><p><b>  PORT</b>&l

116、t;/p><p> ?。╟lk_1s : IN STD_LOGIC;</p><p>  iset : IN STD_LOGIC;</p><p>  iset_addr : IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  addr_1s : OUT STD_LOGIC_vector(3 downto 0);

溫馨提示

  • 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論