【正文】
/O引腳。另外一種方法是用CPLD(復(fù)雜可編程邏輯器件備)。FPGA一般來說比ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計(jì),而且消耗更多的電能。這些可編輯元件可以被用來實(shí)現(xiàn)一些基本的邏輯門電路(比如AND、OR、XOR、NOT)或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。這類搶答器制作并不復(fù)雜,但是準(zhǔn)確度和可靠性都比較可觀,并且易于安裝和維護(hù)。發(fā)展趨勢一般都要趨向于智能化,并且設(shè)計(jì)更加合理化。 through key players to carry flag changes, turn the buzzer and subtract points for entry into the module to prepare. The design process using Verilog language to write, the register variables to control operation of each module, and use the Quartus II software version to be simulated. The design uses FPGA to enhance the flexibility of timing, because the FPGA I / O port is rich in resources, can be slightly modified on the basis of a lot of other features can be added Responder, so late plasticity is very strong, because the core is the FPGA chip , the external circuit is relatively simple, so easy to maintain, and low maintenance costs.Key words Verilog HDL,four Responder, countdown, simulation, showing目 錄第一章 引 言................. 1第二章 FPGA原理及相關(guān)開發(fā)工具軟件的介紹 3 FPGA的簡介..... 3 FPGA的發(fā)展與趨勢......... 3 FPGA的工作原理及基本特點(diǎn) 4 FPGA的開發(fā)流程.. 5 FPGA的配置... 6 軟件介紹............... 7 Verilog HDL的介紹 ....................7 Quartus II軟件.................... 8第三章 數(shù)字搶答器系統(tǒng)設(shè)計(jì)方案和主要模塊 11 功能描述及設(shè)計(jì)架構(gòu)...... 11 搶答器程序流程圖以及各模塊代碼分析 13 搶答器程序結(jié)構(gòu)及主程序流程圖 13 初始化及搶答模塊 14 加減分?jǐn)?shù)模塊 17 倒計(jì)時(shí)模塊 .................... 17 蜂鳴器模塊 .................... 18 重置模塊及數(shù)碼管顯示模塊 19 頂層模塊連線及開發(fā)硬件配置 21.1 電路圖......... .................. 21.2 EP1C6Q240C8芯片及使用到的管腳分配 21第四章 搶答器系統(tǒng)仿真與分析.... 25第五章 總 結(jié)................... 28致謝 29參考文獻(xiàn) 30附錄:源代碼 31基于FPGA的多路數(shù)字搶答器的設(shè)計(jì)第一章 引 言隨著社會(huì)的發(fā)展,各種競賽比賽日益增多,搶答器以它的方便快捷、直觀反映首先取得發(fā)言權(quán)的選手等優(yōu)點(diǎn),深受比賽各方的辛睞,市場前景一片大好。通過主持人的控制可以實(shí)現(xiàn)搶答開始,組號的顯示,加減分模塊,積分的顯示,積分的重置,并啟動(dòng)倒計(jì)時(shí)模塊;通過選手按鍵來進(jìn)行標(biāo)志位改變,停止倒計(jì)時(shí),開啟蜂鳴器,并為進(jìn)入加減分模塊做準(zhǔn)備。此次設(shè)計(jì)程序用Verilog語言來編寫,使用模塊化編程思想,自上向下,通過寄存器變量來控制各個(gè)模塊的運(yùn)行,并用Quartus 。另一方面隨著電子科技的發(fā)展,搶答器的功能以及實(shí)現(xiàn)方式也越來越多,產(chǎn)品的可靠性以及準(zhǔn)確性也越來越強(qiáng)。通過搶答器的使用,可以在各類比賽中特別是搶答環(huán)節(jié),直觀明了的看出是哪一組搶到了題目,比起通過肉眼來判斷,更加的精確,同時(shí)也少了不必要的紛爭,使得比賽更加的公平、公開、公正。第二章 FPGA原理及相關(guān)開發(fā)工具軟件的介紹 FPGA的簡介 FPGA的發(fā)展與趨勢現(xiàn)場可編程門陣列FPGA(Field-Programmable Gate Array),它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip-flop)或者其他更加完整的記憶塊。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來改正程序中的錯(cuò)誤和更便宜的造價(jià)。 FPGA的工作原理及基本特點(diǎn)FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。 4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。它是利用這些輸入去描述一個(gè)電路的功能。③綜合,綜合就是行為或者功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)換成低層次門級電路的網(wǎng)表。使仿真既包含門延時(shí),又包含線延時(shí)信息。而驗(yàn)證的話就需要用戶花費(fèi)大量的時(shí)間去完成。例如,領(lǐng)先FPGA廠商Xilinx最近推出的Virtex5系列采用65nm工藝,可提供高達(dá)33萬個(gè)邏輯單元、1,200個(gè)I/O和大量硬IP塊。不久以前,Synplicity與Xilinx宣布成立超大容量時(shí)序收斂聯(lián)合工作小組,旨在最大程度地幫助系統(tǒng)設(shè)計(jì)工程師以更快、更高效的方式應(yīng)用65nm FPGA器件。 軟件介紹 Verilog HDL的介紹Verilog HDL是在1983年有GDA(GateWay Design Automation)公司首創(chuàng)的一種硬件描述語言,用于數(shù)字電子系統(tǒng)設(shè)計(jì)。被建模的數(shù)字系統(tǒng)對象的復(fù)雜性可以介于簡單的門和完整的電子數(shù)字系統(tǒng)之間。此外,Verilog HDL語言提供了編程語言接口,通過該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行。在Quartus II上可以完成設(shè)計(jì)輸入、HDL綜合、布線布局(適配)、仿真和下載和硬件測試等流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。同樣,Quartus II具備仿真功能,同時(shí)也支持第三方的仿真工具,如ModelSim。 Synthesis)、適配器(Filter)、裝配器(Assembler)、時(shí)序分析器(Timing Analyzer)、設(shè)計(jì)輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)和編輯數(shù)據(jù)接口(Complier Database Interface)等。圖七中所示的上排是Quartus II編譯設(shè)計(jì)主控界面,它顯示了Quartus II自動(dòng)設(shè)計(jì)的各主要處理環(huán)節(jié)和設(shè)計(jì)流程,包括設(shè)計(jì)輸入編輯、設(shè)計(jì)分析與綜合、適配、編程文件匯編(裝配)、時(shí)序參數(shù)提取以及編程下載幾個(gè)步驟。并有蜂鳴器來提示是否已經(jīng)有人搶答到題目,搶到題目時(shí)組號數(shù)碼管顯示該組的組號。當(dāng)主持人按下?lián)尨痖_始按鍵后,八個(gè)LED燈全亮,并每秒熄滅一個(gè),全部熄滅則算作是無人搶答,此題作廢,主持人可以宣布進(jìn)入下一道題的搶答環(huán)節(jié)。 關(guān)于蜂鳴器,蜂鳴器在選手中任意一人首先按下按鍵之后,鳴響三秒鐘,來宣布此題已經(jīng)被搶到,并在BCD數(shù)碼管上顯示該組的組號。按鍵輸入電路有八個(gè)按鍵組成,數(shù)碼顯示管有兩個(gè)個(gè)八段共陽極數(shù)碼管組成。此次所設(shè)計(jì)的狀態(tài)一共有四個(gè)狀態(tài)。四、對前面狀態(tài)中所獲取的鍵值信號進(jìn)行處理,在程序中為各組設(shè)置一個(gè)積分寄存器來放積分,更新并保存各組的積分信息,同時(shí)將搶答組號和積分發(fā)送給BCD顯示模塊進(jìn)行顯示,最后自動(dòng)跳轉(zhuǎn)回第一狀態(tài)。詳細(xì)內(nèi)容見附錄。b0) begin //初始化各個(gè)標(biāo)志位和參數(shù) EnFlat=139。 //組號顯示靜態(tài)數(shù)碼管(數(shù)碼管為共陽極)的控制端,有8位 Led2=839。 //蜂鳴器標(biāo)志位 BuClk=139。 end end //搶答模塊 begin if(EnFlat==139。 //選手標(biāo)志位改變,用于加減分?jǐn)?shù)模塊 answer=3’d1。hf9。在選手回答完問題,由主持人判定答案是否正確,然后決定是加分還是減分。//當(dāng)主持人判定選手的回答錯(cuò)誤時(shí),按下stu鍵進(jìn)行減分操作 endscore=score1。還有一種情況,就是沒有人進(jìn)行搶答,遇上這種情況,如果在倒計(jì)時(shí)結(jié)束之后,沒有人進(jìn)行搶答,則搶答標(biāo)志位,蜂鳴器標(biāo)志