基于FPGA的搶答器畢業(yè)設計_第1頁
基于FPGA的搶答器畢業(yè)設計_第2頁
基于FPGA的搶答器畢業(yè)設計_第3頁
基于FPGA的搶答器畢業(yè)設計_第4頁
基于FPGA的搶答器畢業(yè)設計_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

、PAGEII摘要本文介紹了一種采用EDA技術,在QuartusII工具軟件環(huán)境下用VHDL語言編寫的數(shù)碼顯示8路搶答器的電路組成、設計思路及功能。搶答器同時供8名選手或8個代表隊比賽,分別用8個按鈕[1]~[8]表示。設置一個系統(tǒng)清除和搶答控制開關,該開關由主持人控制。搶答器具有鎖存與顯示功能,即選手按動按鈕,鎖存相應的編號,揚聲器發(fā)出聲響提示,并在七段數(shù)碼管上顯示選手號碼。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。系統(tǒng)主芯片采用EP2C35F484C8,由基本時鐘發(fā)生電路模塊,復位電路模塊,鍵盤防抖動模塊,鍵盤掃描模塊,數(shù)碼管驅動模塊,報警頻率選擇模塊組成。經(jīng)編譯和仿真所設計的程序,在可編程邏輯器件上下載驗證,從而完成搶答器功能。關鍵詞:搶答器;硬件描述語言;可編程邏輯門陣列;AbstractThisarticleintroducesanEDAtechnologytoolsinQuartusIIenvironmentusingVHDLlanguagedigitaldisplay8answeringdevicecircuitdesignideasandfeatures.

Respondersametimeforeightplayersoreightteamcompetition,witheightbuttons,respectively[1]~[8]said.Settingclearandanswerinasystemcontrolswitch,theswitchcontrolbythemoderator.Responderhasalatchanddisplay,theplayerpressthebutton,latchthecorrespondingnumber,speakeraudibleprompts,andseven-segmentdigitaltubedisplayinplayernumbers.Playersanswerintheimplementationoftheprioritylatch,firstanswerinplayernumbershasbeenmaintainedtohostthesystemcleared.

SystemmainchipEP2C35F484C8,fromthebasicclockcircuitmodule,resetthecircuitmodule,keyboardjuddermodule,thekeyboardscanmodule,adigitalcontroldrivemodule,alarmfrequencyselectionmodule.Thecompilationandsimulationprocessisdesigned,intheprogrammablelogicdevicetodownloadverification,thuscompletingtheResponderfeature.Keywords:Responder;VeryHardwareDescriptionLanguage;FPGA;目錄TOC\o"1-3"\u摘要 IAbstract II1緒論 11.1選題背景 11.1.1EDA技術的發(fā)展 11.1.2課題研究的必要性 21.2課題研究的內容 22系統(tǒng)方案設計 32.1FPGA簡介 32.1.1FPGA基本結構 42.1.2FPGA系統(tǒng)設計流程 52.1.3FPGA開發(fā)編程原理 72.1.4FPGA配置模式 72.2FPGA的應用 82.2.1電路設計中FPGA的應用 82.2.2產(chǎn)品設計 82.2.3系統(tǒng)及應用 82.3搶答器總體設計方案 92.3.1搶答器的定義 92.3.2本文設計的搶答器的構成 92.3.3搶答器的工作原理 103系統(tǒng)硬件設計與實現(xiàn) 123.1基本時鐘發(fā)生模塊 123.2鍵盤防抖動模塊 133.2.1鍵盤的作用 133.2.2鍵盤系統(tǒng)設計 133.2.3鍵盤防抖動模塊工作方式 143.4鍵盤掃描模塊 153.5數(shù)碼管驅動模塊 163.6報警頻率選擇模塊 174搶答器的程序設計與實現(xiàn) 184.1基本時鐘發(fā)生程序設計 184.2鍵盤防抖動程序設計 184.3鍵盤掃描程序設計 194.4數(shù)碼管驅動程序設計 194.5報警頻率選擇程序設計 20結論 22致謝 23參考文獻 24附錄一 25附錄二 34附錄三 45PAGE231緒論1.1選題背景現(xiàn)代社會的標志之一就是信息產(chǎn)品的廣泛使用,而且是產(chǎn)品的性能越來越強,復雜程度越來越高,更新步伐越來越快。支撐信息電子產(chǎn)品高速發(fā)展的基礎就是微電子制造工藝水平的提高和電子產(chǎn)品設計開發(fā)技術的發(fā)展。前者以微細加工技術為代表,而后者的代表就是電子設計自動化(electronicdesignautomatic,EDA)技術。本設計采用的VHDL是一種全方位的硬件描述語言,具有極強的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級和邏輯門級三個不同層次的設計;支持結構、數(shù)據(jù)流、行為三種描述形式的混合描述、覆蓋面廣、抽象能力強,因此在實際應用中越來越廣泛。ASIC是專用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器。而FPGA是特殊的ASIC芯片,與其他的ASIC芯片相比,它具有設計開發(fā)周期短、設計制造成本低、開發(fā)工具先進、標準產(chǎn)品無需測試、質量穩(wěn)定以及可實時在線檢測等優(yōu)點。在控制系統(tǒng)中,鍵盤是常用的人機交換接口,當所設置的功能鍵或數(shù)字鍵按下的時候,系統(tǒng)應該完成該鍵所設置的功能。因此,鍵信息輸入是與軟件結構密切相關的過程。根據(jù)鍵盤的結構不同,采用不同的編碼方法。但無論有無編碼以及采用什么樣的編碼,最后都要轉換成為相應的鍵值,以實現(xiàn)按鍵功能程序的轉移。1.1.1EDA技術的發(fā)展EDA是電子設計自動化(ElectronicDesignAutomation)的縮寫,在20世紀60年代中期從計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。20世紀90年代,國際上電子和計算機技術較先進的國家,一直在積極探索新的電子電路設計方法,并在設計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術設計領域,可編程邏輯器件(如CPLD、FPGA)的應用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設計帶來了極大的靈活性。這些器件可以通過軟件編程而對其硬件結構和工作方式進行重構,從而使得硬件的設計可以如同軟件設計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設計方法、設計過程和設計觀念,促進了EDA技術的迅速發(fā)展。EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言HDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術的出現(xiàn),極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。利用EDA工具,電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設計、性能分析到設計出IC版圖或PCB版圖的整個過程的計算機上自動處理完成。現(xiàn)在對EDA的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領域,都有EDA的應用。目前EDA技術已在各大公司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設計、性能測試及特性分析直到飛行模擬,都可能涉及到EDA技術。1.1.2課題研究的必要性在科技爆炸式發(fā)展的今天,高新技術層出不窮。數(shù)字搶答器作為日常工作學習娛樂當中都能用到的設備,其反映速度尤為重要。FPGA作為新技術具有如下優(yōu)點:1,FPGA運行速度快。

2,FPGA管腳多,容易實現(xiàn)大規(guī)模系統(tǒng)。

3,FPGA內部程序并行運行,有處理更復雜功能的能力。4,FPGA有大量軟核,可以方便進行二次開發(fā)。在進行智力競賽時,每個參賽隊員考慮后都希望搶答成功,如果沒有合適的設備,主持人就會很難分辨出哪組隊員搶答成功,為了使比賽順利進行,設計了一款基于FPGA的搶答器。所以學習FPGA利用FPGA進行高精度數(shù)字搶答器的設計十分必要。1.2課題研究的內容本課題研究的搶答器要求同時供8名選手或8個代表隊比賽,選手按動按鈕,,揚聲器發(fā)出聲響提示,并在七段數(shù)碼管上顯示選手號碼。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。當主持人未按下開關開始搶答前,參賽選手按下開關無效。本設計第一章內容為緒論,簡單介紹論文背景以及設計的意義。第二章為方案介紹,介紹了本設計實現(xiàn)的主要技術以及方案的確定。第三章為硬件部分介紹,主要實現(xiàn)各個功能模塊的分析以及工作流程分析。第四章為軟件部分設計,介紹VHDL語言編程的相關模塊實體,并通過流程圖的形式,給出工作過程。2系統(tǒng)方案設計2.1FPGA簡介FPGA是現(xiàn)場可編程門陣列(FieldProgrammableGateArray)的簡稱,與之相應的CPLD是復雜可編程邏輯器件(ComplexProgrammableLogicDevice)的簡稱,兩者的功能基本相同,只是實現(xiàn)原理略有不同,所以有時可以忽略這兩者的區(qū)別,統(tǒng)稱為可編程邏輯器件或CPLD/PGFA。CPLD/PGFA幾乎能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路。它如同一張白紙或是一堆積木,工程師可以通過傳統(tǒng)的原理圖輸入或硬件描述語言自由的設計一個數(shù)字系統(tǒng)。通過軟件仿真可以事先驗證設計的正確性,在PCB完成以后,利用CPLD/FPGA的在線修改功能,隨時修改設計而不必改動硬件電路。使用CPLA/FPGA開發(fā)數(shù)字電路,可以大大縮短設計時間,減少PCB面積,提高系統(tǒng)的可靠性。這些優(yōu)點使得CPLA/FPGA技術在20世紀90年代以后得到飛速的發(fā)展,同時也大大推動了EDA軟件和硬件描述語言HDL的進步。目前以硬件描述語言(Verilog或VHDL)所完成的電路設計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至FPGA上進行測試,是現(xiàn)代IC設計驗證的技術主流。這些可編輯元件可以被用來實現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復雜一些的組合功能比如解碼器或數(shù)學方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。系統(tǒng)設計師可以根據(jù)需要通過可編輯的連接把FPGA內部的邏輯塊連接起來,就好像一個電路試驗板被放在了一個芯片里。一個出廠后的成品FPGA的邏輯塊和連接可以按照設計者而改變,所以FPGA可以完成所需要的邏輯功能。FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復雜的設計,而且消耗更多的電能。但是他們也有很多的優(yōu)點比如可以快速成品,可以被修改來改正程序中的錯誤和更便宜的造價。廠商也可能會提供便宜的但是編輯能力差的FPGA。因為這些芯片有比較差的可編輯能力,所以這些設計的開發(fā)是在普通的FPGA上完成的,然后將設計轉移到一個類似于ASIC的芯片上。另外一種方法是用CPLD(復雜可編程邏輯器件備)。早在1980年代中期,F(xiàn)PGA已經(jīng)在PLD設備中扎根。CPLD和FPGA包括了一些相對大數(shù)量的可以編輯邏輯單元。CPLD邏輯門的密度在幾千到幾萬個邏輯單元之間,而FPGA通常是在幾萬到幾百萬。CPLD和FPGA的主要區(qū)別是他們的系統(tǒng)結構。CPLD是一個有點限制性的結構。這個結構由一個或者多個可編輯的結果之和的邏輯組列和一些相對少量的鎖定的寄存器。這樣的結果是缺乏編輯靈活性,但是卻有可以預計的延遲時間和邏輯單元對連接單元高比率的優(yōu)點。而FPGA卻是有很多的連接單元,這樣雖然讓它可以更加靈活的編輯,但是結構卻復雜的多。CPLD和FPGA另外一個區(qū)別是大多數(shù)的FPGA含有高層次的內置模塊(比如加法器和乘法器)和內置的記憶體。一個因此有關的重要區(qū)別是很多新的FPGA支持完全的或者部分的系統(tǒng)內重新配置。允許他們的設計隨著系統(tǒng)升級或者動態(tài)重新配置而改變。一些FPGA可以讓設備的一部分重新編輯而其他部分繼續(xù)正常運行。2.1.1FPGA基本結構FPGA具有掩膜可編程門陣列的通用結構,它由邏輯功能塊排成陣列,并由可編程的互連資源連接這些邏輯功能塊來實現(xiàn)不同的設計。FPGA一般由3種可編程電路和一個用于存放編程數(shù)據(jù)的靜態(tài)存儲器SRAM組成。這3種可編程電路是:可編程邏輯模塊(CLB--ConfigurableLogicBlock)、輸入/輸出模塊(IOB--I/OBlock)和互連資源(IR—InterconnectResource)??删幊踢壿嬆KCLB是實現(xiàn)邏輯功能的基本單元,它們通常規(guī)則的排列成一個陣列,散布于整個芯片;可編程輸入/輸出模塊(IOB)主要完成芯片上的邏輯與外部封裝腳的接口,它通常排列在芯片的四周;可編程互連資源包括各種長度的連接線段和一些可編程連接開關,它們將各個CLB之間或CLB、IOB之間以及IOB之間連接起來,構成特定功能的電路。1.CLB是FPGA的主要組成部分。圖2-1是CLB基本結構框圖,它主要由邏輯函數(shù)發(fā)生器、觸發(fā)器、數(shù)據(jù)選擇器等電路組成。CLB中3個邏輯函數(shù)發(fā)生器分別是G、F和H,相應的輸出是G’、F’和H’。G有4個輸入變量G1、G2、G3和G4;F也有4個輸入變量F1、F2、F3和F4。這兩個函數(shù)發(fā)生器是完全獨立的,均可以實現(xiàn)4輸入變量的任意組合邏輯函數(shù)。邏輯函數(shù)發(fā)生器H有3個輸入信號;前兩個是函數(shù)發(fā)生器的輸出G’和F’,而另一個輸入信號是來自信號變換電路的輸出H1。這個函數(shù)發(fā)生器能實現(xiàn)3輸入變量的各種組合函數(shù)。這3個函數(shù)發(fā)生器結合起來,可實現(xiàn)多達9變量的邏輯函數(shù)。CLB中有許多不同規(guī)格的數(shù)據(jù)選擇器(四選一、二選一等),通過對CLB內部數(shù)據(jù)選擇器的編程,邏輯函數(shù)發(fā)生器G、F和H的輸出可以連接到CLB輸出端X或Y,并用來選擇觸發(fā)器的激勵輸入信號、時鐘有效邊沿、時鐘使能信號以及輸出信號。這些數(shù)據(jù)選擇器的地址控制信號均由編程信息提供,從而實現(xiàn)所需的電路結構。CLB中的邏輯函數(shù)發(fā)生器F和G均為查找表結構,其工作原理類似于ROM。F和G的輸入等效于ROM的地址碼,通過查找ROM中的地址表可以得到相應的組合邏輯函數(shù)輸出。另一方面,邏輯函數(shù)發(fā)生器F和G還可以作為器件內高速RAM或小的可讀寫存儲器使用,它由信號變換電路控制。2.輸入/輸出模塊IOB。IOB提供了器件引腳和內部邏輯陣列之間的連接。它主要由輸入觸發(fā)器、輸入緩沖器和輸出觸發(fā)/鎖存器、輸出緩沖器組成。每個IOB控制一個引腳,它們可被配置為輸入、輸出或雙向I/O功能。當IOB控制的引腳被定義為輸入時,通過該引腳的輸入信號先送入輸入緩沖器。緩沖器的輸出分成兩路:一路可以直接送到MUX,另一路經(jīng)延時幾納秒(或者不延時)CLCLB器件編程文件=8\*GB3⑧仿真綜合庫VHDL代碼或圖形方式輸入=2\*GB3②ASIC實現(xiàn)適配報告=8\*GB3⑧適配后時序仿真適配后仿真模型=8\*GB3⑧CPLD/FPGA實現(xiàn)適配器=7\*GB3⑦適配前時序仿真=6\*GB3⑥綜合器=5\*GB3⑤代碼級功能仿真=4\*GB3④CLBCLBCLBCLBBCLBCLBCLBCLBCLBCLBCLBCLBBCLBCLBCLB可編程開關矩輸入輸出模塊互連資源圖2-1CLB基本結構送到輸入通路D觸發(fā)器,再送到數(shù)據(jù)選擇器。通過編程給數(shù)據(jù)選擇器不同的控制信息,確定送至CLB陣列的I1和I2是來自輸入緩沖器,還是來自觸發(fā)器。當IOB控制的引腳被定義為輸出時,CLB陣列的輸出信號OUT也可以有兩條傳輸途徑:一條是直接經(jīng)MUX送至輸出緩沖器,另一條是先存入輸出通路D觸發(fā)器,再送至輸出緩沖器。IOB輸出端配有兩只MOS管,它們的柵極均可編程,使MOS管導通或截止,分別經(jīng)上拉電阻接通Vcc、地線或者不接通,用以改善輸出波形和負載能力。3.可編程互連資源IR??删幊袒ミB資源IR可以將FPGA內部的CLB和CLB之間、CLB和IOB之間連接起來,構成各種具有復雜功能的系統(tǒng)。IR主要由許多金屬線段構成,這些金屬線段帶有可編程開關,通過自動布線實現(xiàn)各種電路的連接。2.1.2FPGA系統(tǒng)設計流程一般說來,一個比較大的完整的項目應該采用層次化的描述方法:分為幾個較大的模塊,定義好各功能模塊之間的接口,然后各個模塊再細分去具體實現(xiàn),這就是TOPDOWN(自頂向下)的設計方法。目前這種高層次的設計方法已被廣泛采用。高層次設計只是定義系統(tǒng)的行為特征,可以不涉及實現(xiàn)工藝,因此還可以在廠家綜合庫的支持下,利用綜合優(yōu)化工具將高層次描述轉換成針對某種工藝優(yōu)化的網(wǎng)絡表,使工藝轉化變得輕而易舉。CPLD/FPGA系統(tǒng)設計的工作流程如圖2-2所示。系統(tǒng)劃分系統(tǒng)劃分=1\*GB3①編譯器=3\*GB3③代碼級功能仿真=4\*GB3④綜合器=5\*GB3⑤適配前時序仿真=6\*GB3⑥適配器=7\*GB3⑦CPLD/FPGA實現(xiàn)適配后仿真模型=8\*GB3⑧適配后時序仿真適配報告=8\*GB3⑧ASIC實現(xiàn)VHDL代碼或圖形方式輸入=2\*GB3②仿真綜合庫器件編程文=8\*GB3⑧圖2-2FPGA設計流程流程說明:1.工程師按照“自頂向下”的設計方法進行系統(tǒng)劃分。2.輸入VHDL代碼,這是設計中最為普遍的輸入方式。此外,還可以采用圖形輸入方式(框圖、狀態(tài)圖等),這種輸入方式具有直觀、容易理解的優(yōu)點。3.將以上的設計輸入編譯成標準的VHDL文件。4.進行代碼級的功能仿真,主要是檢驗系統(tǒng)功能設計的正確性。這一步驟適用于大型設計,因為對于大型設計來說,在綜合前對源代碼仿真,就可以大大減少設計重復的次數(shù)和時間。一般情況下,這一仿真步驟可略去。5.利用綜合器對VHDL源代碼進行綜合優(yōu)化處理,生成門級描述的網(wǎng)絡表文件,這是將高層次描述轉化為硬件電路的關鍵步驟。綜合優(yōu)化是針對ASIC芯片供應商的某一產(chǎn)品系列進行的,所以綜合的過程要在相應的廠家綜合庫的支持下才能完成。6.利用產(chǎn)生的網(wǎng)絡表文件進行適配前的時序仿真,仿真過程不涉及具體器件的硬件特性,是較為粗略的。一般的設計,也可略去這一步驟。7.利用適配器將綜合后的網(wǎng)絡表文件針對某一具體的目標器件進行邏輯映射操作,包括底層器件配置、邏輯分割、邏輯優(yōu)化和布局布線。8.在適配完成后,產(chǎn)生多項設計結果:(a)適配報告,包括芯片內部資源利用情況,設計的布爾方程描述情況等;(b)適配后的仿真模型;(c)器件編程文件。根據(jù)適配后的仿真模型,可以進行適配后時序仿真,因為已經(jīng)得到器件的實際硬件特性(如時延特性),所以仿真結果能比較精確的預期未來芯片的實際性能。如果仿真結果達不到設計要求,就修改VHDL源代碼或選擇不同速度和品質的器件,直至滿足設計要求。最后將適配器產(chǎn)生的器件編程文件通過編程器或下載電纜載入到目標芯片CPLD/FPGA中。2.1.3FPGA開發(fā)編程原理硬件設計需要根據(jù)各種性能指標、成本、開發(fā)周期等因素,確定最佳的實現(xiàn)方案,畫出系統(tǒng)框圖,選擇芯片,設計PCB并最終形成樣機。CPLD/FPGA軟件設計可分為兩大塊:編程語言和編程工具。編程語言主要有VHDL和Verilog兩種硬件描述語言;編程工具主要是兩大廠家Altera和Xilinx的集成綜合EDA軟件(如MAX+plusII、QuartusII、Foundation、ISE)以及第三方工具(如FPGAExpress、Modelsim、SynposysSVS等)。具體的設計輸入方式有以下幾種:1.HDL語言方式。HDL既可以描述底層設計,也可以描述頂層的設計,但它不容易做到較高的工作速度和芯片利用率。用這種方式描述的項目最后所能達到的性能與設計人員的水平、經(jīng)驗以及綜合軟件有很大的關系。2.圖形方式??梢苑譃殡娐吩韴D描述,狀態(tài)機描述和波形描述3種形式。有的軟件3種輸入方法都支持,如Active-HDL。MAX+plusII圖形輸入方式只支持電路原理圖描述和波形描述兩種。電路原理圖方式描述比較直觀和高效,對綜合軟件的要求不高。一般大都使用成熟的IP核和中小規(guī)模集成電路所搭成的現(xiàn)成電路,整體放到一片可編程邏輯器件的內部去,所以硬件工作速度和芯片利用率很高,但是但項目很大的時候,該方法就顯得有些繁瑣;狀態(tài)機描述主要用來設計基于狀態(tài)機思想的時序電路。在圖形的方式下定義好各個工作狀態(tài),然后在各個狀態(tài)上輸入轉換條件以及相應的輸入輸出,最后生成HDL語言描述,送去綜合軟件綜合到可編程邏輯器件的內部。由于狀態(tài)機到HDL語言有一種標準的對應描述方式,所以這種輸入方式最后所能達到的工作速度和芯片利用率主要取決于綜合軟件;波形描述方式是基于真值表的一種圖形輸入方式,直接描述輸入與輸出的波形關系。這種輸入方式最后所能達到的工作速度和芯片利用率也是主要取決于綜合軟件。2.1.4FPGA配置模式FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設模式可以將FPGA作為微處理器的外設,由微處理器對其編程。如何實現(xiàn)快速的時序收斂、降低功耗和成本、優(yōu)化時鐘管理并降低FPGA與PCB并行設計的復雜性等問題,一直是采用FPGA的系統(tǒng)設計工程師需要考慮的關鍵問題。如今,隨著FPGA向更高密度、更大容量、更低功耗和集成更多IP的方向發(fā)展,系統(tǒng)設計工程師在從這些優(yōu)異性能獲益的同時,不得不面對由于FPGA前所未有的性能和能力水平而帶來的新的設計挑戰(zhàn)。例如,領先FPGA廠商Xilinx最近推出的Virtex-5系列采用65nm工藝,可提供高達33萬個邏輯單元、1,200個I/O和大量硬IP塊。超大容量和密度使復雜的布線變得更加不可預測,由此帶來更嚴重的時序收斂問題。此外,針對不同應用而集成的更多數(shù)量的邏輯功能、DSP、嵌入式處理和接口模塊,也讓時鐘管理和電壓分配問題變得更加困難。幸運地是,F(xiàn)PGA廠商、EDA工具供應商正在通力合作解決65nmFPGA獨特的設計挑戰(zhàn)。不久以前,Synplicity與Xilinx宣布成立超大容量時序收斂聯(lián)合工作小組,旨在最大程度幫助地系統(tǒng)設計工程師以更快、更高效的方式應用65nmFPGA器件。設計軟件供應商Magma推出的綜合工具BlastFPGA能幫助建立優(yōu)化的布局,加快時序的收斂。最近FPGA的配置方式已經(jīng)多元化!2.2FPGA的應用FPGA的應用可分為三個層面:電路設計,產(chǎn)品設計,系統(tǒng)設計2.2.1電路設計中FPGA的應用連接邏輯,控制邏輯是FPGA早期發(fā)揮作用比較大的領域也是FPGA應用的基石.事實上在電路設計中應用FPGA的難度還是比較大的這要求開發(fā)者要具備相應的硬件知識(電路知識)和軟件應用能力(開發(fā)工具)這方面的人才總是緊缺的,往往都從事新技術,新產(chǎn)品的開發(fā)成功的產(chǎn)品將變成市場主流基礎產(chǎn)品供產(chǎn)品設計者應用在不遠的將來,通用和專用IP的設計將成為一個熱門行業(yè)!搞電路設計的前提是必須要具備一定的硬件知識.在這個層面,干重于學,當然,快速入門是很重要的,越好的位子越不等人電路開發(fā)是黃金飯碗.2.2.2產(chǎn)品設計把相對成熟的技術應用到某些特定領域如通訊,視頻,信息處理等等開發(fā)出滿足行業(yè)需要并能被行業(yè)客戶接受的產(chǎn)品這方面主要是FPGA技術和專業(yè)技術的結合問題,另外還有就是與專業(yè)客戶的界面問題產(chǎn)品設計還包括專業(yè)工具類產(chǎn)品及民用產(chǎn)品,前者重點在性能,后者對價格敏感產(chǎn)品設計以實現(xiàn)產(chǎn)品功能為主要目的,F(xiàn)PGA技術是一個實現(xiàn)手段在這個領域,F(xiàn)PGA因為具備接口,控制,功能IP,內嵌CPU等特點有條件實現(xiàn)一個構造簡單,固化程度高,功能全面的系統(tǒng)產(chǎn)品設計將是FPGA技術應用最廣大的市場,具有極大的爆發(fā)性的需求空間產(chǎn)品設計對技術人員的要求比較高,路途也比較漫長不過現(xiàn)在整個行業(yè)正處在組建"首發(fā)團隊"的狀態(tài),只要加入,前途光明產(chǎn)品設計是一種職業(yè)發(fā)展方向定位,不是簡單的愛好就能做到的!產(chǎn)品設計領域會造就大量的企業(yè)和企業(yè)家,是一個近期的發(fā)展熱點和機遇2.2.3系統(tǒng)及應用系統(tǒng)級的應用是FPGA與傳統(tǒng)的計算機技術結合,實現(xiàn)一種FPGA版的計算機系統(tǒng)如用XilinxV-4,V-5系列的FPGA,實現(xiàn)內嵌POWERPCCPU,然后再配合各種外圍功能,實現(xiàn)一個基本環(huán)境,在這個平臺上跑LINIX等系統(tǒng)這個系統(tǒng)也就支持各種標準外設和功能接口(如圖象接口)了這對于快速構成FPGA大型系統(tǒng)來講是很有幫助的。2.3搶答器總體設計方案2.3.1搶答器的定義什么是智能搶答器?搶答器由單片機以及外圍電路組成,由于采用電子技術,使得外圍電路非常簡單,但是功能并不比一般的搶答器少。智能搶答器具備搶答、答題、必答、共答風險題、倒計時、電子記分等功能。一鍵式快速簡易的操作方式,聲音、聲音加全語音、音樂的四種聲音自由選擇的內存聲音,競賽中機器自動發(fā)音裁決某支代表隊搶答成功或多支代表隊犯規(guī)。全自動、任意、半自動、可連續(xù)計時搶答的四套搶答模式,覆蓋了中央電視臺幸運52、SK狀元榜、三星智力快車等節(jié)目,以及全國各省市電視臺采用的競賽搶答模式。電腦型智能按鈕會自動發(fā)出搶答指令亮(白光),搶答成功亮(綠燈),搶答犯規(guī)亮(紅燈)屬國內獨創(chuàng)(專利產(chǎn)品)已于今年全新上市。目前該套機型在業(yè)內最先進、最具穩(wěn)定性、功能強大,安裝簡易(線一連即可)操作簡單(一鍵式)。模型如圖2-3和圖2-4。圖2-3搶答器按鈕圖2-4搶答器顯示屏搶答器和計分器的可分為:數(shù)字顯示搶答器,知識競賽搶答器,計分器,電子搶答器,計時搶答器,智力競賽搶答器,數(shù)字搶答器,多路搶答器等。智能搶答器的應用隨著電子技術的發(fā)展,現(xiàn)在的搶答器功能越來越強,可靠性和準確性也越來越高。以前的搶答器大部分都是基于數(shù)字電路組成的。制作過程復雜,而且準確性與可靠性不高,成品面積大,安裝,維護困難。由于近年來單片機發(fā)展迅速,逐漸出現(xiàn)用單片機制作搶答器,制作過程簡單,而且安裝,維護簡單。2.3.2本文設計的搶答器的構成

本文以FPGA為基礎設計的電子搶答器,根據(jù)設計功能要求,設計文件主要包括:基本時鐘發(fā)生電路模塊,復位電路模塊,鍵盤防抖動模塊,鍵盤掃描模塊,數(shù)碼管驅動模塊,報警頻率選擇模塊等;搶答器結構簡圖如圖2-5所示:鍵盤鍵盤復位電路模塊23465781數(shù)碼管驅動模塊鍵盤掃描模塊報警頻率選擇模塊鍵盤防抖動模塊基本時鐘發(fā)生電路模塊圖2-5搶答器結構簡圖2.3.3搶答器的工作原理基本時鐘電路發(fā)生模塊需要連接到各個模塊,為各個模塊提供掃描頻率,復位電路也需要連接到各個模塊,復位電路模塊主要包含一個主持人按鈕,每次搶答結束后只有主持人按下復位按鈕之后方可搶答。搶答器設置有1-8一共8個按鈕,按鈕連接有鍵盤防抖動模塊,防止由于鍵盤抖動產(chǎn)生的,連續(xù)多次不穩(wěn)定信號。鍵盤產(chǎn)生的第一個信號送入鍵盤掃描模塊,進行鎖存,此時其它按鍵的信號不再有效。鍵盤掃描模塊鎖存的信號經(jīng)過數(shù)碼管驅動和報警頻率選擇模塊將會在在i七段數(shù)碼液晶顯示器上顯示和在報警器中發(fā)出不同頻率的聲響。這樣就實現(xiàn)了搶答的功能。總圖(見附錄三)說明: my_pll是一個鎖相環(huán)電路,它能夠實現(xiàn)轉換信號頻率實現(xiàn)時鐘發(fā)生器的設計他的輸入端為clk_25Hz輸出端為clk_50Hz,器輸出端分別連接到其他模塊的clk端。reset_n是一個低電平有效的復位模塊,分別連接到各個模塊的clr端口。key_in[7…0]是8個搶答器按鈕,將它接到防抖動模塊經(jīng)過防抖動處理輸出key_out[7…0],key_out[7…0]直接連接到了keyboard_judge模塊,在此模塊選擇并鎖存第一個搶答的信號,講暑促的結果送至數(shù)碼管驅動模塊alarm,數(shù)碼管驅動模塊經(jīng)過譯碼輸出7段譯碼給輸出端led[6…0],此外還將數(shù)據(jù)送至報警頻率選擇模塊sound的輸入端,sound模塊經(jīng)過pwm調制講不通組別的選手按鍵以不同的頻率聲音輸出給輸出端sounder。3系統(tǒng)硬件設計與實現(xiàn)3.1基本時鐘發(fā)生模塊基本時鐘發(fā)生模塊用到的是鎖相環(huán)(phase-lockedloop)簡稱pll模塊。該模塊為無線電發(fā)射中使頻率較為穩(wěn)定的一種方法,主要有VCO(壓控振蕩器)和PLLIC,壓控振蕩器給出一個信號,一部分作為輸出,另一部分通過分頻與PLLIC所產(chǎn)生的本振信號作相位比較,為了保持頻率不變,就要求相位差不發(fā)生改變,如果有相位差的變化,則PLLIC的電壓輸出端的電壓發(fā)生變化,去控制VCO,直到相位差恢復!達到鎖頻的目的!!能使受控振蕩器的頻率和相位均與輸入信號保持確定關系的閉環(huán)電子電路。鎖相環(huán)由鑒相器、環(huán)路濾波器和壓控振蕩器組成。鑒相器用來鑒別輸入信號Ui與輸出信號Uo之間的相位差,并輸出誤差電壓Ud。Ud中的噪聲和干擾成分被低通性質的環(huán)路濾波器濾除,形成壓控振蕩器(VCO)的控制電壓Uc。Uc作用于壓控振蕩器的結果是把它的輸出振蕩頻率fo拉向環(huán)路輸入信號頻率fi,當二者相等時,環(huán)路被鎖定,稱為入鎖。維持鎖定的直流控制電壓由鑒相器提供,因此鑒相器的兩個輸入信號間留有一定的相位差。PLL:phaseLockedLoop相同步回路,鎖相回路,用來統(tǒng)一整合時脈訊號,使內存能正確的存取資料。直接數(shù)字頻率合成(DDS—DigitalDirectFrequencySynthesis)技術是一種新的頻率合成方法,是頻率合成技術的一次革命,JOSEPHTIERNEY等3人于1971年提出了直接數(shù)字頻率合成的思想,但由于受當時微電子技術和數(shù)字信號處理技術的限制,DDS技術沒有受到足夠重視,隨著電子工程領域的實際需要以及數(shù)字集成電路和微電子技術的發(fā)展,DDS技術日益顯露出它的優(yōu)越性。DDS是一種全數(shù)字化的頻率合成器,由相位累加器、波形ROM、D/A轉換器和低通濾波器構成。時鐘頻率給定后,輸出信號的頻率取決于頻率控制字,頻率分辨率取決于累加器位數(shù),相位分辨率取決于ROM的地址線位數(shù),幅度量化噪聲取決于ROM的數(shù)據(jù)位字長和D/A轉換器位數(shù)。DDS有如下優(yōu)點:⑴頻率分辨率高,輸出頻點多,可達個頻點(N為相位累加器位數(shù));⑵頻率切換速度快,可達us量級;⑶頻率切換時相位連續(xù);⑷可以輸出寬帶正交信號;⑸輸出相位噪聲低,對參考頻率源的相位噪聲有改善作用;⑹可以產(chǎn)生任意波形;⑺全數(shù)字化實現(xiàn),便于集成,體積小,重量輕,因此八十年代以來各國都在研制和發(fā)展各自的DDS產(chǎn)品,如美國QUALCOMM公司的Q2334,Q2220;STANFORD公司的STEL-1175,STEL-1180;AD公司的AD7008,AD9850,AD9854等。這些DDS芯片的時鐘頻率從幾十兆赫茲到幾百兆赫茲不等,芯片從一般功能到集成有D/A轉換器和正交調制器。PLL:PhaseLockedLogic相同步邏輯鎖相環(huán)的用途是在收、發(fā)通信雙方建立載波同步或位同步。因為它的工作過程是一個自動頻率(相位)調整的閉合環(huán)路,所以叫環(huán)。鎖相環(huán)分模擬鎖相環(huán)和數(shù)字鎖相環(huán)兩種。本搶答器設計的鎖相環(huán)電路如圖3-1圖3-1基本時鐘發(fā)生模塊3.2鍵盤防抖動模塊3.2.1鍵盤的作用鍵盤是人與微機系統(tǒng)打交道的主要設備。關于鍵盤硬件電路的設計方法也可以在文獻和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設計的立場上來看,僅僅完成鍵盤掃描,讀取當前時刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機應用中鍵盤用得最多的形式是獨立鍵盤及矩陣鍵盤。它們各有自己的特點,其中獨立鍵盤硬件電路簡單,而且在程序設計上也不復雜,一般用在對硬件電路要求不高的簡單電路中。矩陣鍵盤與獨立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨立鍵盤復雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象。這里采用最常用的方法,即延時重復掃描法,延時法的原理為:因為“毛刺”脈沖一般持續(xù)時間短,約為幾ms,而我們按鍵的時間一般遠遠大于這個時間,所以當單片機檢測到有按鍵動靜后再延時一段時間(這里我們取10ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。3.2.2鍵盤系統(tǒng)設計首先,確定鍵盤編碼方案:采用編碼鍵盤或非編碼鍵盤。隨后,確定鍵盤工作方式:采用中斷或查詢方式輸入鍵操作信息。然后,設計硬件電路。非編碼鍵盤系統(tǒng)中,鍵閉合和鍵釋放的信息的獲取,鍵抖動的消除,鍵值查找及一些保護措施的實施等任務,均由軟件來完成。非編碼鍵盤的鍵輸入程序應完成的基本任務1.監(jiān)測有無鍵按下;鍵的閉合與否,反映在電壓上就是呈現(xiàn)出高電平或低電平,所以通過電平的高低狀態(tài)的檢測,便可確認按鍵按下與否。2.判斷是哪個鍵按下。3.完成鍵處理任務。從電路或軟件的角度應解決的問題1.消除抖動影響。鍵盤按鍵所用開關為機械彈性開關,利用了機械觸點的合、斷作用。由于機械觸點的的彈性作用,一個按鍵開關在閉合和斷開的瞬間均有一連串的抖動,波形如下:圖3-2按鍵觸點的機械抖動抖動時間的長短由按鍵的機械特性決定,一般為5-10ms,這是一個很重要的參數(shù)。抖動過程引起電平信號的波動,有可能令CPU誤解為多次按鍵操作,從而引起誤處理。為了確保CPU對一次按鍵動作只確認一次按鍵,必須消除抖動的影響。按鍵的消抖,通常有軟件,硬件兩種消除方法。硬件消抖:只適用于鍵的數(shù)目較少的情況。軟件消抖:如果按鍵較多,硬件消抖將無法勝任,常采用軟件消抖。通常采用軟件延時的方法:在第一次檢測到有鍵按下時,執(zhí)行一段延時10ms的子程序后,再確認電平是否仍保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平,則確認真正有鍵按下,進行相應處理工作,消除了抖動的影響。(這種消除抖動影響的軟件措施是切實可行的。)2.采取串鍵保護措施。串鍵:是指同時有一個以上的鍵按下,串鍵會引起CPU錯誤響應。通常采取的策略:單鍵按下有效,多鍵同時按下無效。3.處理連擊。連擊:是一次按鍵產(chǎn)生多次擊鍵的效果。要有對按鍵釋放的處理,為了消除連擊,使得一次按鍵只產(chǎn)生一次鍵功能的執(zhí)行(不管一次按鍵持續(xù)的時間多長,僅采樣一個數(shù)據(jù))。否則的話,鍵功能程序的執(zhí)行次數(shù)將是不可預知,由按鍵時間決定。連擊是可以利用的。連擊對于用計數(shù)法設計的多功能鍵特別有效。3.2.3鍵盤防抖動模塊工作方式 鍵盤防抖動模塊的輸入端有clk、clr、8個搶答按鈕key_in[7...0]輸出端為8個輸出信號key_out[7…0]。本模塊用于當有按鍵按下時,采用軟件消抖的辦法去除按鍵抖動。模塊的實現(xiàn)方法是先判斷是否有按鍵按下,如有按鍵按下則延時一段時間,待抖動過去之后再讀行線狀態(tài),如果仍有低電平行線,則確定有按鍵按下,然后產(chǎn)生一個有按鍵按下的信號。該模塊有一個時鐘輸入端口,輸入時鐘信號是分頻出來的1KHZ的時鐘;有一個輸入端口與行線相連,用于輸入行線狀態(tài);一個輸出端口,用于輸出有按鍵按下的信號。該模塊的邏輯框圖如圖4-3。圖3-3鍵盤防抖動模塊3.4鍵盤掃描模塊鍵盤掃描模塊是實現(xiàn)搶答器搶答功能的核心元件了,通過鍵盤掃描模塊來鑒別搶答的先后,并且鎖存輸出,其流程如圖3-4開始開始初始化鎖存第1組第2組第3組第8組否是是否否是是圖3-4鍵盤掃描模塊工作流程鍵盤掃描模塊的輸入端由clk、clr、key_in[7…0]組成,輸出端為key_out[7…0],結構圖如圖3-5所示:圖3-5鍵盤掃描模塊3.5數(shù)碼管驅動模塊在數(shù)字系統(tǒng)中常見的數(shù)碼顯示器通常有:發(fā)光二極管數(shù)碼管(LED數(shù)碼管)和液晶顯示數(shù)碼管(LCD數(shù)碼管)兩種。發(fā)光二極管數(shù)碼管是用發(fā)光二極管構成顯示數(shù)碼的筆劃來顯示數(shù)字,由于發(fā)二極管會發(fā)光,故LED數(shù)碼管適用于各種場合。液晶顯示數(shù)碼管是利用液晶材料在交變電壓的作用下晶體材料會吸收光線,而沒有交變電場作用下有筆劃不會聽吸光,這樣就可以來顯示數(shù)碼,但由于液晶材料須有光時才能使用,故不能用于無外界光的場合(現(xiàn)在便攜式電腦的液晶顯示器是用背光燈的作用下可以在夜間使用),但液晶顯示器有一個最大的優(yōu)點就是耗電相當節(jié)省,所以廣泛使用于小型計算器等小型設備的數(shù)碼顯示。數(shù)碼管驅動模.塊就是將輸入的16進制代碼以7段譯碼的方式輸出??梢允褂靡粋€一個7位向量來分別表示七段譯碼器中的七段。如表3-1:表3-116進制數(shù)與7段譯碼對應表16進制數(shù)七位譯碼X"01"0110000X"02"1011011X"03"1001111X"04"1100110X"05"1101101X"06"1111101X"07"0000111X"08"1111111數(shù)碼管驅動模塊的輸入部分主要包括clr、clk、key_in[7…0],輸出部分主要包括連接到報警頻率選擇的輸入端的信號sound[7…0]和7段數(shù)碼管顯示信號data_out[6…0]。如圖3-6:圖3-6數(shù)碼管驅動模塊3.6報警頻率選擇模塊報警頻率選擇模塊的功能是通過PWM調制來調節(jié)脈寬從而改變聲音的頻率。脈沖寬度調制是一種模擬控制方式,其根據(jù)相應載荷的變化來調制晶體管柵極或基極的偏置,來實現(xiàn)開關穩(wěn)壓電源輸出晶體管或晶體管導通時間的改變,這種方式能使電源的輸出電壓在工作條件變化時保持恒定,是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術。PWM控制技術以其控制簡單,靈活和動態(tài)響應好的優(yōu)點而成為電力電子技術最廣泛應用的控制方式,也是人們研究的熱點.由于當今科學技術的發(fā)展已經(jīng)沒有了學科之間的界限,結合現(xiàn)代控制理論思想或實現(xiàn)無諧振軟開關技術將會成為PWM控制技術發(fā)展的主要方向之一。PWM的一個優(yōu)點是從處理器到被控系統(tǒng)信號都是數(shù)字形式的,無需進行數(shù)模轉換。讓信號保持為數(shù)字形式可將噪聲影響降到最小。噪聲只有在強到足以將邏輯1改變?yōu)檫壿?或將邏輯0改變?yōu)檫壿?時,也才能對數(shù)字信號產(chǎn)生影響。報警頻率模塊主要包括輸入端clr、clk、sound[7…0],輸出alarm主要是接一個發(fā)聲設備。如圖3-7:圖3-7報警頻率選擇模塊

4搶答器的程序設計與實現(xiàn)4.1基本時鐘發(fā)生程序設計LIBRARYieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.all;ENTITYmy_pllIS PORT ( inclk0 :INSTD_LOGIC:='0'; c0 :OUTSTD_LOGIC );ENDmy_pll;上述程序描述了基本時鐘發(fā)生程序模塊的實體部分libraryieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.all;是本程序的頭文件,ENTITY定義了本程序的實體,實體名是my_pll,PORT為端口說明語句,inclk0和c0是端口名,端口名后跟著端口模式和數(shù)據(jù)類型,in代表輸入,out代表輸出,最后以END結尾?;緯r鐘發(fā)生的波形仿真如圖5-1,頻率由之前的25Hz變?yōu)榱?0Hz。圖4-1基本時鐘發(fā)生的波形仿真圖4.2鍵盤防抖動程序設計libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityqudouisport( clk:instd_logic; clr:instd_logic; key_in:instd_logic_vector(7downto0); key_out:outstd_logic_vector(7downto0) );endqudou;上述程序描述了鍵盤防抖動程序模塊的實體部分分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;是本程序的頭文件,entity定義了本程序的實體,實體名是qudou,port為端口說明語句clk、clr、key_in和key_out是端口名,端口名后跟著端口模式和數(shù)據(jù)類型,in代表輸入out代表輸出,最后以END結尾。4.3鍵盤掃描程序設計libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitykeyboard_judgeisport( clk:instd_logic; clr:instd_logic; key_in:instd_logic_vector(7downto0); key_out:outstd_logic_vector(7downto0) );endkeyboard_judge;上述程序描述了鍵盤防抖動程序模塊的實體部分分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;是本程序的頭文件,entity定義了本程序的實體,實體名是keyboard_judge,port為端口說明語句clk、clr、key_in和key_out是端口名,端口名后跟著端口模式和數(shù)據(jù)類型,in代表輸入out代表輸出,最后以end結尾。程序仿真圖如圖4-2圖4-2鍵盤掃描仿真波形圖4.4數(shù)碼管驅動程序設計libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityalarmisport( clr:instd_logic; clk:instd_logic; key_in:instd_logic_vector(7downto0); sound:outstd_logic_vector(7downto0); data_out:outstd_logic_vector(6downto0));endalarm;上述程序描述了鍵盤防抖動程序模塊的實體部分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;是本程序的頭文件,entity定義了本程序的實體,實體名是alarm,port為端口說明語句clk、clr、key_in、sound和data_out是端口名,端口名后跟著端口模式和數(shù)據(jù)類型,in代表輸入out代表輸出,最后以end結尾。數(shù)碼管驅動程序的仿真圖,如圖5-3圖5-3數(shù)碼管驅動程序的仿真圖4.5報警頻率選擇程序設計libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitysoundisport( clr:instd_logic; clk:instd_logic; sound:instd_logic_vector(7downto0); alarm:outstd_logic);endsound;上述程序描述了鍵盤防抖動程序模塊的實體部分分libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;是本程序的頭文件,entity定義了本程序的實體,實體名是去抖,port為端口說明語句clk、clr、sound和alarm是端口名,端口名后跟著端口模式和數(shù)據(jù)類型,in代表輸入out代表輸出,最后以end結尾。報警頻率選擇模塊仿真如圖5-4,從圖中得出不同的號碼對應的頻率不同。圖5-4警頻率選擇模塊仿真圖

結論將程序進行編譯仿真后進行分析仿真圖可證明本設計所用的基于FPGA的在QuartersII軟件平臺上實現(xiàn)的高精度數(shù)字搶答器是完全可行的。這次畢業(yè)設計我設計了基于FPGA的一個高精度數(shù)字搶答器,采用了EDA技術、數(shù)字電子、模擬電子等相關技術在QuartusII軟件平臺上,用VHDL語言編寫實現(xiàn)其功能,經(jīng)過仿真驗證符合搶答器的基本功能要求。此次畢業(yè)設計把在學校四年所學知識連成一串。理論聯(lián)系實踐,體現(xiàn)出大學生動手能力。通過查資料和搜集有關的文獻,培養(yǎng)了自學能力和動手能力。并且由原先的被動的接受知識轉換為主動的尋求知識,這可以說是學習方法上的一個很大的突破。在以往的傳統(tǒng)的學習模式下,我們可能會記住很多的書本知識,但是通過畢業(yè)論文,我們學會了如何將學到的知識轉化為自己的東西,學會了怎么更好的處理知識和實踐相結合的問題。把握重點、攻克難關,學到用到、活學活用。在設計過程中由于時間倉促有很多地方難免存在不足之處,在軟件設計中有些功能還尚未開發(fā)出來。但在以后的工作中,我們會嚴格要求自己,追求完美。懇請老師批評指正。任何設計的控制系統(tǒng)都要經(jīng)過實驗和時間的考驗方能得到完善,我們做畢業(yè)設計也是一樣,這畢業(yè)設計是對我們所學專業(yè)知識的考驗,更是對我們應用專業(yè)知識解決實際生產(chǎn)問題能力的考驗。通過畢業(yè)設計,我更加堅信只有擁有一定的毅力,認真的學習態(tài)度,豐富的日常積累,正確處理問題的能力,才能在以后的工作及生活中經(jīng)得住考驗。

致謝感謝我的母校對我四年來的大力栽培。經(jīng)過半年的忙碌和工作,本次畢業(yè)設計已經(jīng)接近尾聲,作為一個本科生的畢業(yè)設計,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有導師的督促指導,以及一起工作的同學們的支持,想要完成這個設計是難以想象的。在這里首先要感謝我的導師姜凱老師。姜老師平日里工作繁多,但在我做畢業(yè)設計的每個階段,從外出實習到查閱資料,設計草案的確定和修改,中期檢查,后期詳細設計,電路圖設計等整個過程中都給予了我悉心的指導。我的設計較為復雜煩瑣,但是姜老師仍然細心地糾正圖紙中的錯誤。除了敬佩俞老師的專業(yè)水平外,他的治學嚴謹和科學研究的精神也是我永遠學習的榜樣,并將積極影響我今后的學習和工作。在此,我謹向姜凱老師表示崇高的敬意和衷心的感謝!此外,在論文設計過程中,還受到多問老師的指導和幫助,他們無私奉獻、兢兢業(yè)業(yè)、教書育人的態(tài)度深深打動了我,在此我也向在本論文設計過程中曾給予我?guī)椭偷睦蠋焸冋f聲謝謝!與此同時,還要感謝同學們的幫助,在論文資料收集和實習期間,不管遇到什么困難,同學們都積極給予幫助,為我解決了不少問題,從而完善了論文的內容;尤其要感謝我的舍友們在我外出實習時給與我的極大的幫助。本畢業(yè)設計在設計過程中,還得到不少朋友和網(wǎng)友的大力支持和幫助,亦在此表示誠摯的謝意!由于本人學識有限,加之時間倉促,文中不免有錯誤和待改進之處,真誠歡迎各位師長、同學提出寶貴意見。最后,我要向在百忙之中抽時間對本文進行審閱、評議和參加本人論文答辯的各位老師表示衷心的感謝!參考文獻[1]張占鋒,基于FPGA智力競賽搶答器的設計.大眾科技,2008年第12期.[2]廖日坤,CPLD/FPGA嵌入式應用開發(fā)技術白金手冊,中國電力出版社,2003,212-218。[3]王開軍,姜宇柏,面向CPLD/FPGA的VHDL設計,機械工業(yè)出版社,2006,28-65。[4]趙保經(jīng),中國集成電路大全,國防工業(yè)出版社,1985。[5]高吉祥,電子技術基礎實驗與課程設計,電子工業(yè)出版社,2002。[6]呂思忠,數(shù)子電路實驗與課程設計,哈爾濱工業(yè)大學出版社,2001。[7]謝自美,電子線路設計、實驗、測試,華中理工大學出版社,2003。[8]趙志杰,集成電路應用識圖方法,機械工業(yè)出版社,2003,35-40。[9]張慶雙,電子元器件的選用與檢測,機械工業(yè)出版社,2003。[10]譚會生,張昌凡,EDA技術及應用,西安電子科技大學出版社,2002。[11]李可,數(shù)字鐘電路及應用[M],北京:電子工業(yè)出版社,1996。[12]康華先,電子技術基礎(數(shù)字部分)第四版[M].北京:高等教育出版社,2000.213-224。[13]集成電路手冊分編委會編,中外集成電路簡明速查手冊,TTL、CMOS電路[M],北京:電子工業(yè)出版社,1997。[14]康華光,電子技術基礎,高等教育出版社,2002[15]宋春榮,通用集成電路速查手冊,山東科學技術出版社,1995。[16]閻石,數(shù)字電子技術基礎(第四版)[M],北京:高等教育出版社,1998。[17]高曙光.可編程邏輯器件原理、開發(fā)與應用[M].西安:西安電子科技大學出版社,2002.[18]劉寶琴.Ahera可編程邏輯器件及其應用[M].北京:清華大學出版社,1995.[19]閻石.數(shù)字電子技術基礎[M].北京:高等教育出版社,1999.[20]章忠全.電子技術基礎實驗與課程設計[M].中國電力出版社,1999.[21]韓芝俠.一款工作可靠的智力競賽搶答器電路的設計與分析[J].現(xiàn)代電子技術,2005,28(20):29-31.[22]KawasakiHiroaki,SakuradaHiroshi,NarushimaShinichi,etalDouble-facedvacuumfluorescentdisplay[P].USPatent:5463276,1995附錄一(中英文翻譯)英文資料:Field-programmablegatearray"FPGA"redirectshere.ItisnottobeconfusedwithFlip-chippingridarray.Afield-programmablegatearray(FPGA)isanintegratedcircuitdesignedtobeconfiguredbythecustomerordesigneraftermanufacturing—hence"field-programmable".TheFPGAconfigurationisgenerallyspecifiedusingahardwaredescriptionlanguage(HDL),similartothatusedforanapplication-specificintegratedcircuit(ASIC)(circuitdiagramswerepreviouslyusedtospecifytheconfiguration,astheywereforASICs,butthisisincreasinglyrare).FPGAscanbeusedtoimplementanylogicalfunctionthatanASICcouldperform.Theabilitytoupdatethefunctionalityaftershipping,partialre-configurationoftheportionofthedesignandthelownon-recurringengineeringcostsrelativetoanASICdesign(notwithstandingthegenerallyhigherunitcost),offeradvantagesformanyapplications.FPGAscontainprogrammablelogiccomponentscalled"logicblocks",andahierarchyofreconfigurableinterconnectsthatallowtheblockstobe"wiredtogether"—somewhatlikeaone-chipprogrammablebreadboard.Logicblockscanbeconfiguredtoperformcomplexcombinationalfunctions,ormerelysimplelogicgateslikeANDandXOR.InmostFPGAs,thelogicblocksalsoincludememoryelements,whichmaybesimpleflip-flopsormorecompleteblocksofmemory.HistoryTheFPGAindustrysproutedfromprogrammableread-onlymemory(PROM)andprogrammablelogicdevices(PLDs).PROMsandPLDsbothhadtheoptionofbeingprogrammedinbatchesinafactoryorinthefield(fieldprogrammable),howeverprogrammablelogicwashard-wiredbetweenlogicgates.Inthelate1980stheNavalSurfaceWarfareDepartmentfundedanexperimentproposedbySteveCasselmantodevelopacomputerthatwouldimplement600,000reprogrammablegates.Casselmanwassuccessfulandapatentrelatedtothesystemissuedin1992.Someoftheindustry’sfoundationalconceptsandtechnologiesforprogrammablelogicarrays,gates,andlogicblocksarefoundedinpatentsawardedtoDavidW.PageandLuVerneR.Petersonin1985.XilinxCo-Founders,RossFreemanandBernardVonderschmitt,inventedthefirstcommerciallyviablefieldprogrammablegatearrayin1985–theXC2064.TheXC2064hadprogrammablegatesandprogrammableinterconnectsbetweengates,thebeginningsofanewtechnologyandmarket.TheXC2064boastedamere64configurablelogicblocks(CLBs),withtwo3-inputlookuptables(LUTs).Morethan20yearslater,FreemanwasenteredintotheNationalInventor'sHallofFameforhisinvention.Xilinxcontinuedunchallengedandquicklygrowingfrom1985tothemid-1990s,whencompetitorssproutedup,erodingsignificantmarket-share.By1993,Actelwasservingabout18percentofthemarket.The1990swereanexplosiveperiodoftimeforFPGAs,bothinsophisticationandthevolumeofproduction.Intheearly1990s,FPGAswereprimarilyusedintelecommunicationsandnetworking.Bytheendofthedecade,FPGAsfoundtheirwayintoconsumer,automotive,andindustrialapplications.FPGAsgotaglimpseoffamein1997,whenAdrianThompson,aresearcherworkingattheUniversityofSussex,England,mergedgeneticalgorithmtechnologyandFPGAstocreateasoundrecognitiondevice.Thomson’salgorithmconfiguredanarrayof10x10cellsinaXilinxFPGAchiptodiscriminatebetweentwotones,utilisinganaloguefeaturesofthedigitalchip.TheapplicationofgeneticalgorithmstotheconfigurationofdeviceslikeFPGA'sisnowreferredtoasEvolvablehardware.ModerndevelopmentsArecenttrendhasbeentotakethecoarse-grainedarchitecturalapproachastepfurtherbycombiningthelogicblocksandinterconnectsoftraditionalFPGAswithembeddedmicroprocessorsandrelatedperipheralstoformacomplete"systemonaprogrammablechip".ThisworkmirrorsthearchitecturebyRonPerlofandHanaPotashofBurroughsAdvancedSystemsGroupwhichcombinedareconfigurableCPUarchitectureonasinglechipcalledtheSB24.Thatworkwasdonein1982.ExamplesofsuchhybridtechnologiescanbefoundintheXilinxVirtex-IIPROandVirtex-4devices,whichincludeoneormorePowerPCprocessorsembeddedwithintheFPGA'slogicfabric.TheAtmelFPSLICisanothersuchdevice,whichusesanAVRprocessorincombinationwithAtmel'sprogrammablelogicarchitecture.TheActelSmartFusiondevicesincorporateanARM_architectureCortex-M3hardprocessorcore(withupto512kBofflashand64kBofRAM)andanalogperipheralssuchasamulti-channelADCandDACstotheirflash-basedFPGAfabric.Analternateapproachtousinghard-macroprocessorsistomakeuseofsoftprocessorcoresthatareimplementedwithintheFPGAlogic.Aspreviouslymentioned,manymodernFPGAshavetheabilitytobereprogrammedat"runtime,"andthisisleadingtotheideaofreconfigurablecomputingorreconfigurablesystems—CPUsthatreconfigurethemselvestosuitthetaskathand.TheMitrionVirtualProcessorfromMitrionicsisanexampleofareconfigurablesoftprocessor,implementedonFPGAs.However,itdoesnotsupportdynamicreconfigurationatruntime,butinsteadadaptsitselftoaspecificprogram.Additionally,new,non-FPGAarchitecturesarebeginningtoemerge.Software-configurablemicroprocessorssuchastheStretchS5000adoptahybridapproachbyprovidinganarrayofprocessorcoresandFPGA-likeprogrammablecoresonthesamechip.ApplicationsApplicationsofFPGAsincludedigitalsignalprocessing,software-definedradio,aerospaceanddefensesystems,ASICprototyping,medicalimaging,computervision,speechrecognition,cryptography,bioinformatics,computerhardwareemulation,radioastronomy,metaldetectionandagrowingrangeofotherareas.FPGAsoriginallybeganascompetitorstoCPL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論