【正文】
xx大學(xué)學(xué)士學(xué)位論文基于FPGA的數(shù)字電子鐘系統(tǒng)設(shè)計(jì)摘要隨著電子技術(shù)的飛速發(fā)展,現(xiàn)代電子產(chǎn)品滲透到了社會(huì)的各個(gè)領(lǐng)域,并有力地推動(dòng)著社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高。在現(xiàn)代電子技術(shù)中,可編程器無(wú)疑是扮演著重要角色?,F(xiàn)場(chǎng)可編程門陣列(FPGA)是近年來迅速發(fā)展起來的新型可編程器,其靈活的可編程邏輯可以方便的實(shí)現(xiàn)高速數(shù)字信號(hào)處理。它突破了并行處理、流水級(jí)數(shù)的限制,具有反復(fù)的可編程能力,從而有效的地利用了片上資源,加上高效的硬件描述語(yǔ)言(VHDL),從而為數(shù)字系統(tǒng)設(shè)計(jì)提供了極大的方便。本文較系統(tǒng)地介紹了FPGA的基本結(jié)構(gòu)、基本原理、功能特點(diǎn)及其應(yīng)用;闡述了數(shù)字系統(tǒng)設(shè)計(jì)的基本思想及設(shè)計(jì)流程,同時(shí),也概述了FPGA在數(shù)字系統(tǒng)設(shè)計(jì)中的作用,基于FPGA的數(shù)字系統(tǒng)設(shè)計(jì)方法和流程;簡(jiǎn)要介紹了VHDL語(yǔ)言的發(fā)展歷程,VHDL語(yǔ)言的功能特點(diǎn)等。本文的主要內(nèi)容是根據(jù)上述原理和方法設(shè)計(jì)一個(gè)電子鐘系統(tǒng),目的在于通過該系統(tǒng)的功能,體現(xiàn)出FPGA在數(shù)據(jù)處理中的應(yīng)用。該電子鐘系統(tǒng)功能齊全,設(shè)計(jì)思路清晰。系統(tǒng)程序基于VHDL語(yǔ)言,采用模塊化設(shè)計(jì)方法。系統(tǒng)設(shè)計(jì)包含8個(gè)子程序模塊:分頻組件、六十進(jìn)制計(jì)數(shù)器組件、二十四進(jìn)制計(jì)數(shù)器組件、鬧鐘設(shè)定組件、校時(shí)組件、i60BCD組件、i24BCD組件、以及二進(jìn)制轉(zhuǎn)換成七段碼組件。每個(gè)子程序均經(jīng)過EDA工具仿真,并附有仿真圖,最后將各模塊組裝為一個(gè)整體——電子鐘。關(guān)鍵詞 電子設(shè)計(jì)自動(dòng)化;現(xiàn)場(chǎng)可編程門陣列;硬件描述語(yǔ)言;電子鐘Digital Electronic Clock Design Based on Technology of FPGAAbstractWith the rapid development of electronic technology, modern electronic products have infiltrated into various fields of the society, and have effectively promoted the development of social productive forces and social information, also increased. In modern electronic technology, the programmable logic devices play a key role. Field programmable gate arrays (FPGA), a new type of programmable device, is developing rapidly recent years. It introduced the concept of flexible programmable logic, which can realize highspeed digital signal processing conveniently. It broke through the parallel processing, water levels of restrictions, has repeatedly programmable capacity to effectively use the onchip resources, coupled with efficient hardware description language VHDL, so as to design digital systems conveniently. This article introduces a system of the basic structure of the FPGA, the basic principle of features and applications。 expounded on the basic design of digital systems thinking and design process, at the same time, also outlined the FPGA in the design of digital systems, FPGAbased digital system design methods and processes。 gave a briefing on the development of VHDL language, VHDL language and other features. The main work is based on the principles and methods, design an electronic clock system to the adoption of the system, embodied in the FPGA data processing of applications. The electronic clock system is fully functional, designed clear ideas. Based on VHDL system procedures, The system is modular in design methods. It includes 8 subsystem design process modules:frequency division system, 60 M counter system, 24 M counter system, Alarm clock settings system, timing system, i60BCD system, i24BCD system, and convert binary into SevenSegment code system. each subroutine have been simulated by EDA tools, with a simulation map. The modules will be the final assembly as a whole the electronic clock.Key words EDA。FPGA。 VHDL。 Electronic clock不要?jiǎng)h除行尾的分節(jié)符,此行不會(huì)被打印 II 目錄摘要…… IAbstract II第1章 緒論 1 1 1——PLD 2 3 4 5第2章 FPGA基本結(jié)構(gòu)及數(shù)字系統(tǒng)設(shè)計(jì)原理 6 FPGA的基本結(jié)構(gòu)及工作原理 6 8 8 FPGA的工作原理 9 9 10 10 11 12第3章 數(shù)字電子鐘功能模塊設(shè)計(jì) 13 13 FPGA在數(shù)字系統(tǒng)設(shè)計(jì)中的作用 13 13——VHDL 16 VHDL語(yǔ)言的特點(diǎn) 16 17 18 18 19 20 22 BCD七段顯示譯碼器 23 23第4章 電子鐘模擬仿真及其分析 24 24 25 分頻組件 25 六十進(jìn)制計(jì)數(shù)器組件 25 二十四進(jìn)制計(jì)數(shù)器組件 26 鬧鐘設(shè)定組件 26 校時(shí)組件 27 i60BCD組件 28 i24BCD組件 29 二進(jìn)制轉(zhuǎn)換成七段碼組件 30 30 33 34結(jié)論 35致謝 36參考文獻(xiàn) 37附錄A 38附錄B 43附錄C 47附錄D 48千萬(wàn)不要?jiǎng)h除行尾的分節(jié)符,此行不會(huì)被打印。在目錄上點(diǎn)右鍵“更新域”,然后“更新整個(gè)目錄”。打印前,不要忘記把上面“Abstract”這一行后加一空行 IV 第1章 緒論20世紀(jì)70年代,隨著中小規(guī)模集成電路的開發(fā)應(yīng)用,傳統(tǒng)的手工制圖設(shè)計(jì)印刷電路板和集成電路的方法已無(wú)法滿足設(shè)計(jì)的精度和效率的要求。因此工程師們開始進(jìn)行二維平面圖形的計(jì)算機(jī)輔助設(shè)計(jì),以解脫復(fù)雜機(jī)械的版圖設(shè)計(jì)工作,這就產(chǎn)生了第一代EDA工具。在80年代,電子產(chǎn)品的規(guī)模和復(fù)雜程度的增加促使第二代EDA工具的產(chǎn)生。第二代EDA主要以計(jì)算機(jī)仿真和自動(dòng)布局布線技術(shù)為核心,與此同時(shí),還引出了以半定制概念為特征的專用集成電路概念。EDA技術(shù)的物質(zhì)基礎(chǔ)即為可編程邏輯器件,又稱為可編程ASIC。目前,代表可編程器件發(fā)展潮流的是復(fù)雜可編程邏輯器件(CPLD)和可編程邏輯門陣列(FPGA)。使用FPGA構(gòu)造數(shù)字電子系統(tǒng),設(shè)計(jì)者可以不用考慮芯片內(nèi)部的具體結(jié)構(gòu),也不用顧慮與外部的電路連接。設(shè)計(jì)者只需依據(jù)電路所要完成的具體邏輯功能,然后設(shè)法用軟件描述出來即可。至于數(shù)據(jù)在芯片內(nèi)部的處理過程,設(shè)計(jì)者不用考慮,但設(shè)計(jì)者可以通過仿真軟件觀察和驗(yàn)證數(shù)據(jù)的處理結(jié)果。這種設(shè)計(jì)方法,極大地降低了設(shè)計(jì)難度,提高了工作效率。本論文以FPGA在數(shù)據(jù)處理中的應(yīng)用立題,系統(tǒng)闡述基于FPGA的數(shù)字系統(tǒng)設(shè)計(jì)方法,并嘗試設(shè)計(jì)出一個(gè)簡(jiǎn)單的系統(tǒng)——電子鐘,掌握其設(shè)計(jì)的思想和方法,為以后設(shè)計(jì)更復(fù)雜的系統(tǒng)打下基礎(chǔ)。當(dāng)今社會(huì)是數(shù)字化的社會(huì),是數(shù)字集成電路廣泛應(yīng)用的社會(huì)。數(shù)字集成電路本身在不斷地進(jìn)行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路、發(fā)展到超大規(guī)模集成電路以及許多具有特定功能的專用集成電路。但是,隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已不完全由半導(dǎo)體廠商來獨(dú)立承擔(dān)。系統(tǒng)設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,因而出現(xiàn)了現(xiàn)場(chǎng)可編程邏輯器件(FPLD),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場(chǎng)可編程門陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)。在數(shù)字電子系統(tǒng)領(lǐng)域,存在三種基本的器件類型:存儲(chǔ)器、微處理器和邏輯器件。存儲(chǔ)器用來存儲(chǔ)隨機(jī)信息,如數(shù)據(jù)表或數(shù)據(jù)庫(kù)的內(nèi)容。微處理器執(zhí)行軟件指令來完成范圍廣泛的任務(wù),如運(yùn)行字處理程序或視頻游戲。邏輯器件提供特定的功能,包括器件與器件間的接口、數(shù)據(jù)通信、信號(hào)處理、數(shù)據(jù)顯示、定時(shí)和控制操作、以及系統(tǒng)運(yùn)行所需要的所有其它功能[1]?!狿LD邏輯器件可分為兩大類——固定邏輯器件和可編程邏輯器件。正如其命名一樣,固定邏輯器件中的電路是永久性的,它們完成一種或一組功能,一旦制造完成,就無(wú)法改變。另一方面,可編程邏輯器件(PLD)是能夠?yàn)榭蛻籼峁┓秶鷱V泛的多種邏輯容量、特性、速度和電壓參數(shù)的標(biāo)準(zhǔn)成品部件,而且此類器件可在任何時(shí)間改變,從而完成許多種不同的功能。 對(duì)于固定邏輯器件,根據(jù)器件復(fù)雜性不同,從設(shè)計(jì)、原型到最終生產(chǎn)所需要的時(shí)間可從數(shù)月至一年多不等。而且,如果器件工作不合適,或者如果應(yīng)用要求發(fā)生了變化,那么就必須開發(fā)全新的設(shè)計(jì)。設(shè)計(jì)和驗(yàn)證固定邏輯的前期工作需要大量的NRE成本。NRE代表在固定邏輯器件最終從芯片制造廠制造出來以前客戶需要投入的所有成本,這些成本包括工程資源、昂貴的軟件設(shè)計(jì)工具、用來制造芯片不同金屬層的昂貴光刻掩膜組以及初始原型器件的生產(chǎn)成本。這些NRE成本可能從數(shù)十萬(wàn)美元至數(shù)百萬(wàn)美元。 對(duì)于可編程邏輯器件,設(shè)計(jì)人員可利用價(jià)格低廉的軟件工具快速開發(fā)、仿真和測(cè)試其設(shè)計(jì)。然后,可快速將設(shè)計(jì)編程到器件中,并立即在實(shí)際運(yùn)行的電路中對(duì)設(shè)計(jì)進(jìn)行測(cè)試。早期的可編程邏輯器件只有可編程只讀存貯器(PROM)、紫外線可擦除只讀存貯器(EPROM)和電可擦除只讀存貯器(EEPROM)三種。由于結(jié)構(gòu)的限制,它們只能完成簡(jiǎn)單的邏輯功能。其后,出現(xiàn)了一類在結(jié)構(gòu)上稍復(fù)雜的可編程芯片,即可編程邏輯器件(PLD),它能夠完成各種數(shù)字邏輯功能。典型的PLD由一個(gè)“與”門和一個(gè)“或”門陣列組成,而任意一個(gè)組合邏輯都可以用“與一或”表達(dá)式來描述,所以,PLD能以乘積和的形式完成大量組合邏輯功能,PLD基本框圖如圖11所示。 圖11 PLD的基本框圖這一階段的產(chǎn)品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。 PAL由一個(gè)可編程的“與”平面和一個(gè)固定的“或”平面構(gòu)成,或門的輸出可以通過觸發(fā)器有選擇地被置為寄存狀態(tài)。PAL器件是現(xiàn)場(chǎng)可編程的,它的實(shí)現(xiàn)工藝有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)。還有一類結(jié)構(gòu)更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個(gè)“與”平面和一個(gè)“或”平面構(gòu)成,但是這兩個(gè)平面的連接關(guān)系是可編程的。 PLA器件既有現(xiàn)場(chǎng)可編程的,也有掩膜可編程的。在PAL的基礎(chǔ)上,又發(fā)展了一種通用陣列邏輯GAL (Generic Array Logic),如GAL16V8,GAL22V10 等。它采用了EEPROM工藝,實(shí)現(xiàn)了電可按除、電可改寫,其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性,至今仍有許多人使用[2]。 固定邏輯器件和PLD各有自己的優(yōu)點(diǎn)。例如,固定邏輯器件經(jīng)常更適合大批量應(yīng)用,因?yàn)樗鼈兛筛鼮榻?jīng)濟(jì)地大批量生產(chǎn)。對(duì)一些需要極高性能的應(yīng)用,固定邏輯也可能是最佳的選擇。 然而,可編程邏輯器件提供了一些優(yōu)于固定邏輯器件的重要優(yōu)點(diǎn),包括:1.PLD在設(shè)計(jì)過程中為客戶提供了更大的靈活性,因?yàn)閷?duì)于PLD來說,設(shè)計(jì)反復(fù)只需要簡(jiǎn)單地改變編程文件就可以了,而且設(shè)計(jì)改變的結(jié)果可立即在工作器件中看到。 2.PLD不需要漫長(zhǎng)的前導(dǎo)時(shí)間來制造原型或正式產(chǎn)品——PLD器件已經(jīng)放在分銷商的貨架上并可隨時(shí)付運(yùn)。 3.PLD不需要客戶支付高昂的NRE成本和購(gòu)買昂貴的掩膜組。PLD供應(yīng)商在設(shè)計(jì)其可編程器件時(shí)已經(jīng)支付了這些成本,并且可通過PLD產(chǎn)品線延續(xù)多年的生命期來分?jǐn)傔@些成本。4.PLD允許客戶在需要時(shí)僅訂購(gòu)所需要的數(shù)量,從而使客戶可控制庫(kù)存。采用固定邏輯器件的客戶經(jīng)常會(huì)面臨需要廢棄的過量庫(kù)存,而當(dāng)對(duì)其產(chǎn)品的需求高漲時(shí),他們又可能為器件短缺(供貨不足)所苦,并且不得不面對(duì)生產(chǎn)延遲的現(xiàn)實(shí)。 5.PLD甚至在設(shè)備付運(yùn)到客戶那兒以后還可以重新編程。事實(shí)上,由于有了可編程邏輯器件,一些設(shè)備制造商現(xiàn)在正在嘗試為已經(jīng)安裝在現(xiàn)場(chǎng)的產(chǎn)品增加新功能或