版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 基于FPGA的電子搶答器的程序設(shè)計(jì)摘 要隨著科學(xué)技術(shù)日新月異,文化生活日漸豐富,在各類競賽、搶答場合電子搶答器已經(jīng)作為一種工具得到了較為廣泛的應(yīng)用。顧名思義,電子搶答器是一種通過搶答者的指示燈顯示、數(shù)碼顯示和警示顯示等手段準(zhǔn)確、公正、直觀地判斷出最先獲得發(fā)言權(quán)選手的設(shè)備。此次設(shè)計(jì)有4組搶答輸入,每組設(shè)置一個搶答按鈕供搶答者使用。電路具有第一搶答信號的鑒別和鎖存功能。當(dāng)?shù)谝粨尨鹫甙聪聯(lián)尨痖_關(guān)時,該組指示燈亮以示搶答成功。同時,電路也具備自鎖功能,保證能夠?qū)崿F(xiàn)在一路成功搶答有效后,其他三路均不能搶答。本設(shè)計(jì)基于VHDL語言,采用FPGA為控制核心,并結(jié)合動手實(shí)踐完成,具有電路簡單、操作方便、靈敏
2、可靠等優(yōu)點(diǎn)。該四路搶答器使用VHDL硬件描述語言進(jìn)行編程,分為七個模塊:判斷模塊,鎖存模塊,轉(zhuǎn)換模塊,掃描模塊,片選模塊,定時報(bào)警模塊和譯碼模塊。編程完成后,使用QuartersII工具軟件進(jìn)行編譯仿真驗(yàn)證。關(guān)鍵詞:VHDL,F(xiàn)PGA,四路搶答器,仿真 目錄1 概述11.1 設(shè)計(jì)背景11.2 搶答器現(xiàn)狀11.3 本論文主要完成的工作11.4 設(shè)計(jì)心得22 開發(fā)工具簡介32.1 VHDL語言簡介32.2 FPGA開發(fā)過程與應(yīng)用42.2.1 FPGA發(fā)展歷程與現(xiàn)狀42.2.2 FPGA工作原理42.2.3 FPGA開發(fā)流程52.3 Quartus II軟件63系統(tǒng)設(shè)計(jì)83.1 系統(tǒng)設(shè)計(jì)要求83.2
3、 系統(tǒng)設(shè)計(jì)方案83.2.1 系統(tǒng)硬件設(shè)計(jì)方案83.2.2 系統(tǒng)軟件設(shè)計(jì)方案83.3.3 系統(tǒng)原理詳述104 電路程序設(shè)計(jì)與仿真124.1 搶答鎖存模塊設(shè)計(jì)124.1.1 VHDL源程序124.1.2 搶答鎖存電路的模塊134.2 仿真14總結(jié)15致17參考文獻(xiàn)18輕工業(yè)學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書題目基于FPGA的電子搶答器的程序設(shè)計(jì) 專業(yè)班級 電子信息工程10-1班 學(xué)號主要容、基本要求、主要參考資料等:主要容:搶答器是在競賽、文體娛樂活動(搶答活動)中,能準(zhǔn)確、公正、直觀地判斷出搶答者的機(jī)器。要求學(xué)生使用硬件描述語言(Verilog 或者 VHDL)設(shè)計(jì)基于FPGA的電子搶答器的源程序。
4、實(shí)現(xiàn)如下功能:設(shè)計(jì)一個四路搶答器;在一路成功搶答有效后,其他三路均不能搶答,并且將搶答成功的一路用指示燈顯示出來?;疽螅?、 學(xué)會quartusII的使用,掌握FPGA 的程序設(shè)計(jì)方法。 2、掌握硬件描述語言語法。 4、程序設(shè)計(jì)完成后要求在quartusII中實(shí)現(xiàn)功能仿真。主要參考資料:1、褚振勇. FPGA設(shè)計(jì)與應(yīng)用(第三版)M.電子科技大學(xué).2012,42、懷琛.MATLAB與在電子信息課程中的應(yīng)用M.:電子工業(yè).2008,1完 成 期 限:2013.6.212013.6.25指導(dǎo)教師簽名:課程負(fù)責(zé)人簽名:2013年 6月 18日19 / 221 概述1.1 設(shè)計(jì)背景現(xiàn)場可編程門陣列(
5、簡稱FPGA)是20世紀(jì)80年代中期出現(xiàn)的高密度可編程邏輯器件,采用SRAM開關(guān)元件的FPGA是易失性的,每次重新加電, FPGA都要重新裝入配置數(shù)據(jù)。突出優(yōu)點(diǎn)是可反復(fù)編程,系統(tǒng)上電時,給FPGA加載不同的配置數(shù)據(jù),即可令其完成不同的硬件功能。這種配置的改變甚至可以在系統(tǒng)的運(yùn)行中進(jìn)行,實(shí)現(xiàn)系統(tǒng)功能的動態(tài)重構(gòu)?!霸谙到y(tǒng)可編程”(簡稱ISP)是指對器件、電路或整個電子系統(tǒng)的邏輯功能可隨時進(jìn)行修改或重構(gòu)的能力,支持ISP技術(shù)的可編程邏輯器件稱為在系統(tǒng)可編程邏輯器件,它不需要專門的編程器,利用計(jì)算機(jī)接口和一根下載電纜就可以對器件編程了。本設(shè)計(jì)針對電子技術(shù)綜合實(shí)驗(yàn)的要求,利用EDA技術(shù)中quartusI
6、I作為開發(fā)工具,設(shè)計(jì)了一款基于FPGA的智力競賽搶答器。1.2 搶答器現(xiàn)狀在進(jìn)行智力競賽搶答題比賽時,各參賽者考慮后都想搶先答題。如果沒有合適的設(shè)備,有時難以分清他們的先后,使主持人感到為難。為了使比賽能順利進(jìn)行,需要有一個能判斷搶答先后的設(shè)備,我們將它稱為智力競賽搶答器。在許多搶答競賽、文體娛樂活動,為了準(zhǔn)確、公正、直觀地判斷出第一搶答者,通常需要設(shè)置一臺這樣的搶答器,通過指示燈顯示出第一搶答者。1.3 本論文主要完成的工作本課程設(shè)計(jì)基于VHDL語言,采用FPGA為控制核心,并結(jié)合動手實(shí)踐完成,具有電路簡單、操作方便、靈敏可靠等優(yōu)點(diǎn)。設(shè)計(jì)四路搶答器使用VHDL硬件描述語言進(jìn)行編程,分為七個模
7、塊:判斷模塊,鎖存模塊,轉(zhuǎn)換模塊,掃描模塊,片選模塊,定時報(bào)警模塊和譯碼模塊。編程完成后,使用QuartersII工具軟件進(jìn)行編譯仿真驗(yàn)證。系統(tǒng)達(dá)到要求:在一路成功搶答有效后,其他三路均不能搶答,并且將搶答成功的一路用指示燈顯示出來。1.4 設(shè)計(jì)心得通過這次課程設(shè)計(jì),幫助我們加深理解FPGA程序設(shè)計(jì)方法,學(xué)會quartusII軟件的使用,了解簡單多功能搶答器組成原理,掌握在quartusII中實(shí)現(xiàn)功能仿真的方法,相應(yīng)地提高動手能力和排障能力,并且良好地鞏固已學(xué)的理論知識,將硬件描述語言語法與實(shí)踐相結(jié)合。通過分析多功能搶答器各單元電路之間的關(guān)系與相互影響,從而能正確設(shè)計(jì)、計(jì)算定時計(jì)數(shù)的各個單元電
8、路。2 開發(fā)工具簡介2.1 VHDL語言簡介VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言 。自IEEE公布了VHDL的標(biāo)準(zhǔn)版本,IEEE-1076之后,各EDA公司相繼推出了自己的VHDL設(shè)計(jì)環(huán)境,或宣布自己的設(shè)計(jì)工具可以和VHDL接口。此后VHDL在電子設(shè)計(jì)領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標(biāo)準(zhǔn)的硬件描述語言。1993年,IEEE對VHDL進(jìn)行了修訂,從更高的抽象層次和系統(tǒng)描述能力上擴(kuò)展VHDL的容
9、,公布了新版本的VHDL,即IEEE標(biāo)準(zhǔn)的1076-1993版本?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。有專家認(rèn)為,在新的世紀(jì)中,VHDL于Verilog語言將承擔(dān)起大部分的數(shù)字系統(tǒng)設(shè)計(jì)任務(wù)。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,與端口)和部(或稱不可視部分)
10、,既涉與實(shí)體的部功能和算法完成部分。在對一個設(shè)計(jì)實(shí)體定義了外部界面后,一旦其部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個實(shí)體。這種將設(shè)計(jì)實(shí)體分成外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)VHDL語言目前在數(shù)字設(shè)計(jì)領(lǐng)域已為廣大設(shè)計(jì)者所接受,眾多CAD廠商紛紛使自己新開發(fā)的電子設(shè)計(jì)軟件與VHDL兼容,VHDL語言成了電子設(shè)計(jì)工程師必須掌握的工具。 在目前,CPU和可編程邏輯器件已經(jīng)成為數(shù)字系統(tǒng)的硬件基礎(chǔ),從事數(shù)字系統(tǒng)的設(shè)計(jì)必須掌握可編程邏輯器件的設(shè)計(jì)方法,而VHDL語言作為可編程邏輯器件設(shè)計(jì)時最重要的輸入方法,為所有可編程邏輯器件廠商所支持。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的。一、與其他的硬件描述
11、語言相比,VHDL具有更強(qiáng)的行為描述能力,從而決定了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。二、VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時可對設(shè)計(jì)進(jìn)行仿真模擬。三、VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實(shí)現(xiàn)。四、對于用VHDL完成的一個確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動的把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級網(wǎng)表。五
12、、VHDL對設(shè)計(jì)的描述具有相對獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。2.2FPGA開發(fā)過程與應(yīng)用隨著現(xiàn)場可編程邏輯器件越來越高的集成度,加上不斷出現(xiàn)的I/O標(biāo)準(zhǔn)、嵌入功能、高級時鐘管理的支持,使得現(xiàn)場可編程邏輯器越來越廣泛。2.2.1 FPGA發(fā)展歷程與現(xiàn)狀從Xilinx公司推出了世界上第一片F(xiàn)PGA(現(xiàn)場可編程邏輯芯片),F(xiàn)PGA已經(jīng)歷幾十年的發(fā)展。從最初的一千多可利用門,發(fā)展到90年代的幾十萬個可利用門,到十一世紀(jì)又陸續(xù)推出了幾千萬門的單片F(xiàn)PGA芯片。FPGA使用靈活,適用性強(qiáng),特別適用于復(fù)雜邏輯的設(shè)計(jì),有利用電子系統(tǒng)小型化,而且其開
13、發(fā)周期短、開發(fā)投入少、芯片價(jià)格不斷降低,促使FPGA越來越多地取代了ASIC的市場。2.2.2 FPGA工作原理FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和部連線(Interconnect)三個部分。FPGA的基本特點(diǎn)主要有: 1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 3)FPGA部有豐富的觸發(fā)器和IO引腳。 4)FPGA是A
14、SIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。 5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 FPGA是由存放在片RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片的RAM進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即
15、可。當(dāng)需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。2.2.3 FPGA開發(fā)流程FPGA開發(fā)流程可以分為如下幾步:設(shè)計(jì)輸入,設(shè)計(jì)輸入主要包括原理圖輸入、狀態(tài)圖輸入、波形圖輸入以與某種硬件描述語言,比如說是VHDL、Verilog的源程序。它是利用這些輸入去描述一個電路的功能。功能仿真,功能仿真就是利用相關(guān)仿真工具對相關(guān)電路進(jìn)行功能級別仿真,也就是說對你的輸入設(shè)計(jì)的邏輯功能進(jìn)行相關(guān)的模擬測試。在功能上面來了解電路是否能夠達(dá)到預(yù)期要求。這里的功能仿真純粹是模擬性質(zhì)的,不會設(shè)計(jì)的任何具體器件的硬件特性。綜
16、合,綜合就是行為或者功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn)換成低層次門級電路的網(wǎng)表。布局布線,就是將綜合后的網(wǎng)表文件針對某一個具體的目標(biāo)器件進(jìn)行邏輯映射。此時應(yīng)該使用FPGA廠商提供的實(shí)現(xiàn)與布局布線工具,根據(jù)所選芯片的型號,進(jìn)行芯片部功能單元的實(shí)際連接與映射。時序驗(yàn)證,就是要使得時序仿真過程中,建立與保持時間要符合相關(guān)的制約,以便數(shù)據(jù)能被正確的傳輸。使仿真既包含門延時,又包含線延時信息。能較好地反映芯片的實(shí)際工作情況。生成SOF等文件,此文件可以通過調(diào)試器把它下載到系統(tǒng)中間去。而FPGA設(shè)計(jì)流程的其他步驟基本上由相關(guān)工具去完成,因此只要自己設(shè)置好相關(guān)參數(shù),不要人為干預(yù)太多。而驗(yàn)證的話就需要用戶花費(fèi)大量的時間
17、去完成。2.3 Quartus II軟件Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可編程邏輯器件供應(yīng)商之一。Quartus II在21世紀(jì)初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。在Quartus II上可以完成設(shè)計(jì)輸入、HDL綜合、布線布局(適配)、仿真和下載和硬件測試等流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。Altera的Quartus II 提供了完整的多平臺設(shè)計(jì)環(huán)境,能滿足各種特定設(shè)計(jì)的需要,也是單芯片可編程系
18、統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計(jì)工具,并為AlteraDSP開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成綜合環(huán)境。Quartus II設(shè)計(jì)工具完全支持VHDL、Verylog的設(shè)計(jì)流程,其部嵌有VHDL、Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接調(diào)用這些工具。同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATLAB和DSP Builder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開
19、發(fā),是DSP硬件系統(tǒng)實(shí)現(xiàn)的關(guān)鍵EDA工具。Quartus II包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis & Synthesis)、適配器(Filter)、裝配器(Assembler)、時序分析器(Timing Analyzer)、設(shè)計(jì)輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)和編輯數(shù)據(jù)接口(Complier Database Interface)等??梢酝ㄟ^選擇Start Complication來運(yùn)行所有的編譯器模塊,也可以通過選擇Start單獨(dú)運(yùn)行各個模塊。還可以通過選擇Complier
20、 Tool(Tools 菜單),在Complier Tool 窗口中運(yùn)行該模塊來啟動編輯器模塊。在Complier Tool 窗口中,可以打開該模塊的設(shè)置文件或報(bào)告文件,或打開其他相關(guān)窗口。Quartus II編譯設(shè)計(jì)的主控界面顯示了Quartus II自動設(shè)計(jì)的各主要處理環(huán)節(jié)和設(shè)計(jì)流程,包括設(shè)計(jì)輸入編輯、設(shè)計(jì)分析與綜合、適配、編程文件匯編(裝配)、時序參數(shù)提取以與編程下載幾個步驟。 圖1 Quartus II設(shè)計(jì)流程3系統(tǒng)設(shè)計(jì)3.1 系統(tǒng)設(shè)計(jì)要求搶答器是在競賽、文體娛樂活動(搶答活動)中,能準(zhǔn)確、公正、直觀地判斷出搶答者的機(jī)器。本設(shè)計(jì)使用硬件描述語言VHDL設(shè)計(jì)基于FPGA的電子搶答器的源程
21、序。要現(xiàn)如下功能:設(shè)計(jì)一個四路搶答器;在一路成功搶答有效后,其他三路均不能搶答,并且將搶答成功的一路用指示燈顯示出來。3.2 系統(tǒng)設(shè)計(jì)方案3.2.1 系統(tǒng)硬件設(shè)計(jì)方案本設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì),這兩者相互結(jié)合,不可分離;從時間上看,硬件設(shè)計(jì)的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術(shù)準(zhǔn)備充分,硬件設(shè)計(jì)的大返工是比較少的,軟件設(shè)計(jì)的任務(wù)貫徹始終,到中后期基本上都是軟件設(shè)計(jì)任務(wù)。 圖2 硬件設(shè)計(jì)流程3.2.2 系統(tǒng)軟件設(shè)計(jì)方案軟件設(shè)計(jì)和硬件電路設(shè)計(jì)應(yīng)結(jié)合進(jìn)行,哪些功能由硬件完成,哪些任務(wù)由軟件完成,在硬件電路設(shè)計(jì)基本定型后,也就基本上決定下來了。軟件任務(wù)分析環(huán)節(jié)是為軟件設(shè)計(jì)做
22、一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如測量,計(jì)算,顯示,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務(wù)分析時,應(yīng)將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進(jìn)行定義時,將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對來講,執(zhí)行模塊任務(wù)明確單純,
23、比較容易編程,而監(jiān)控程序較易出問題。這如同當(dāng)一名操作工人比較容易,而當(dāng)一個廠長就比較難了。圖3 軟件設(shè)計(jì)流程. . 系統(tǒng)原理詳述 圖4 具有完整搶答器功能的結(jié)構(gòu)圖根據(jù)對系統(tǒng)設(shè)計(jì)要求的分析可知,系統(tǒng)的輸入信號有:各組的搶答按鈕S0,S1,S2,S3輸入,復(fù)位信號CLEAR用于控制整個系統(tǒng)清0,按下該復(fù)位鍵系統(tǒng)清0,抬起該復(fù)位鍵搶答開始。在主持人將系統(tǒng)復(fù)位并使搶答有效開始后,S0,S1,S2,S3任何第一搶答者按下?lián)尨鸢粹o,對應(yīng)的輸入引腳接高電位1,電路記憶下第一搶答者身份,并封鎖其他各組的按鈕,即其他任何一組按鍵都不會使電路響應(yīng),完成搶答過程。系統(tǒng)的輸出信號有:四組搶答成功與否的指示燈控制信號輸
24、出口LEDA、LESB、LEDC、LEDD,當(dāng)任何第一搶答者成功搶答后指示燈亮起。本系統(tǒng)應(yīng)具有的功能有:第一搶答信號的鑒別和鎖存功能,指示燈顯示第一搶答者功能。根據(jù)分析我們可以把該四路搶答器設(shè)計(jì)分為判斷模塊,鎖存模塊,掃描模塊等部分,依據(jù)各模塊功能編寫相應(yīng)的源程序,并對相應(yīng)的程序進(jìn)行編譯以與時序仿真。若正確就進(jìn)行到下一個模塊的編寫,若錯誤就修改直至編譯成功。系統(tǒng)的具體工作原理如下:搶答鎖存模塊主要實(shí)現(xiàn)搶答過程中的搶答功能,并且能實(shí)現(xiàn)當(dāng)有一路搶答按鍵按下時,該路搶答信號將其余搶答信號封鎖的功能。在這個模塊輸入端有WARN輸入(以時間控制系統(tǒng)的WARN輸出信號為信號源)、一個和時間控制系統(tǒng)公用的C
25、LEAR端、4人搶答輸入信號端S0,S1,S2,S3和一個時鐘信號端CLK,這個時鐘信號是個高頻信號,用以掃描S0,S1,S2,S3是否有信號輸入。輸出端有對應(yīng)于S0,S1,S2,S3編號的4個指示燈LED和4線2進(jìn)制輸出端STATES(用于鎖存當(dāng)前的狀態(tài)),還有一個STOP端用于指示S0,S1,S2,S3按鈕狀態(tài)。在此模塊中高頻時鐘信號一直作用,此時,若主持人按下CLEAR即為開始搶答信號,所有輸出端都自動清零。在有效時間圍只要有人搶答,STOP就有高電平輸出至?xí)r間控制系統(tǒng)的STOP端以控制時間的停止,并且對應(yīng)的LED指示燈點(diǎn)亮,STATES鎖存輸出以顯示優(yōu)先搶答人的組號,并鎖定輸入端S以阻
26、止系統(tǒng)響應(yīng)其他搶答者的信號。4 電路程序設(shè)計(jì)與仿真4.1 搶答鎖存模塊設(shè)計(jì)該模塊主要實(shí)現(xiàn)搶答過程中的搶答功能。在系統(tǒng)復(fù)位并使搶答有效開始后,當(dāng)S0,S1,S2,S3任意一路第一搶答者按下?lián)尨鸢粹o,對應(yīng)的輸入引腳接高電位1,電路記憶下第一搶答者身份,信號輸入并進(jìn)行鎖存,其他任何一組按鍵都不會使電路響應(yīng),完成搶答過程。4.1.1 VHDL源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LOCK IS PORT( CLK,CLEAR:IN STD_LOGIC; WARN:IN STD_LOGIC; S0,S1,S2,S3:IN STD_LOGIC
27、; STATES:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); STOP:OUT STD_LOGIC; LED:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END LOCK;ARCHITECTURE ONE OF LOCK ISSIGNAL G:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CLEAR,CLK,S0,S1,S2,S3) BEGIN IF CLEAR='1' THEN G<="0000"LED<="0000"STOP<=
28、39;0' ELSIF CLK'EVENT AND CLK='1' THEN IF WARN='0' THEN IF( S3='1')AND NOT(G(0)='1' OR G(1)='1' OR G(2)='1') THEN G(3)<='1'LED(3)<='1' ELSIF( S2='1')AND NOT(G(0)='1' OR G(1)='1' OR G(3)='1')
29、 THEN G(2)<='1'LED(2)<='1' ELSIF( S1='1')AND NOT(G(0)='1' OR G(2)='1' OR G(3)='1') THEN G(1)<='1'LED(2)<='1' ELSIF( S0='1')AND NOT(G(1)='1' OR G(2)='1' OR G(3)='1') THEN G(0)<='1'LE
30、D(3)<='1' END IF; STOP<=G(0) OR G(1) OR G(2) OR G(3); END IF; END IF;CASE G IS WHEN "0001"=>STATES<="0001" WHEN "0010"=>STATES<="0010" WHEN "0100"=>STATES<="0011" WHEN "1000"=>STATES<="01
31、00" WHEN OTHERS=>STATES<="0000"END CASE;END PROCESS;END ARCHITECTURE ONE; 4.1.2 搶答鎖存電路的模塊在這個模塊中主要實(shí)現(xiàn)搶答過程中的搶答功能,并且能實(shí)現(xiàn)當(dāng)有一路搶答按鍵按下時,該路搶答信號將其余個綠搶答封鎖的功能。在這個模塊輸入端有WARN輸入(以時間控制系統(tǒng)的WARN輸出信號為信號源)、一個和時間控制系統(tǒng)公用的CLEAR端、4人搶答輸入信號端S0,S1,S2,S3和有一個時鐘信號端CLK,這個時鐘信號是個高頻信號,用以掃描S0,S1,S2,S3是否有信號輸入。輸出端有對應(yīng)于
32、S0,S1,S2,S3編號的4個指示燈LED 和4線2進(jìn)制輸出端STATES (用于鎖存當(dāng)前的狀態(tài)),還有一個STOP 端用于指示S0,S1,S2,S3按鈕狀態(tài)。圖5 搶答鎖存電路的模塊4.2 仿真圖6 仿真圖由圖中可看出在復(fù)位信號從高電平降到低電平后,搶答器開始正常工作,此時搶答開始。在此之前搶答無效。而作為第一搶答者最先搶答,這時開始報(bào)警,數(shù)碼管輸出顯示1,說明A最先搶答??偨Y(jié)一周的FPGA課程設(shè)計(jì)很快就過去了,其中真是有苦更有甜,苦的是我在第一次獨(dú)自設(shè)計(jì)一個應(yīng)用型設(shè)備時的不熟悉和不知所措,甜的是經(jīng)過一周的時間我通過回顧課本知識、詢問同學(xué)老師和上網(wǎng)學(xué)習(xí)收獲到了很多專業(yè)方面的知識更加鍛煉了我
33、的動手能力和專業(yè)技能。記得大二下學(xué)期第一次上EDA程序設(shè)計(jì)課的時候,我對硬件設(shè)計(jì)語言是那么的難以上手,通過杜老師一學(xué)期細(xì)致的講解,配合實(shí)驗(yàn)課程讓我對EDA相關(guān)知識、VHDL編程、quartusII軟件、MAX_PLUS軟件有了更深的理解和更熟練的掌握。本次我的課程設(shè)計(jì)為四路競賽搶答器,根據(jù)電路的特點(diǎn),我采用層次化結(jié)構(gòu)化設(shè)計(jì),將此項(xiàng)設(shè)計(jì)任務(wù)分成部分模塊,分別對各個模塊進(jìn)行編程,然后再將各模塊合起來編譯,這一步一步的加深了我們對于層次化設(shè)計(jì)的理解和對VHDL設(shè)計(jì)流程的熟悉。在設(shè)計(jì)的過程中,遇到問題我們盡量獨(dú)立思考,查找資料,到自己不能解決的時候就和同小組同學(xué)研究討論,或者向指導(dǎo)老師請教。這樣的經(jīng)歷不僅提高了我們獨(dú)立發(fā)現(xiàn)問題、分析問題、解決問題的能力,又很好地培養(yǎng)了交流合作的精神。通過這次課程設(shè)計(jì),進(jìn)一步加深了我對EDA技術(shù)的了解,讓我更加明確VHDL的設(shè)計(jì)流程,并產(chǎn)生了更加濃厚的興趣。特別是當(dāng)每一個模塊程序調(diào)試成功時,心的滿足感真的無法形容。這次經(jīng)歷更讓我懂得了理論與實(shí)際相結(jié)合是十分重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,使理論服務(wù)于實(shí)際,才能真正為社會服務(wù)。在設(shè)計(jì)的過程中我們不可避免的遇到各種問題,因?yàn)檫@畢竟第一次做的,難免會不盡善盡美。同時在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己不少不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇徐州侯集高級中學(xué)2025屆語文高三上期末教學(xué)質(zhì)量檢測模擬試題含解析
- 2025屆內(nèi)蒙古鄂爾多斯市高二數(shù)學(xué)第一學(xué)期期末聯(lián)考試題含解析
- 2025屆云南省玉溪市華寧二中數(shù)學(xué)高三第一學(xué)期期末監(jiān)測模擬試題含解析
- 山東省夏津縣第一中學(xué)2025屆高二上數(shù)學(xué)期末考試試題含解析
- 2025屆山東省德州市夏津縣第一中學(xué)生物高三上期末監(jiān)測試題含解析
- 2025屆四川省蓬安二中高二上數(shù)學(xué)期末經(jīng)典試題含解析
- 廣西柳州市名校2025屆高三英語第一學(xué)期期末預(yù)測試題含解析
- 2025屆四川省資陽市高中高一生物第一學(xué)期期末綜合測試試題含解析
- 安徽省A10聯(lián)盟2025屆生物高二上期末學(xué)業(yè)水平測試模擬試題含解析
- 山東省菏澤市巨野縣第一中學(xué)2025屆生物高一第一學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 橋梁施工各工序質(zhì)量控制措施
- 包頭醫(yī)學(xué)院新開課程申請表
- 幼兒園課件:大班美術(shù)《美麗的郵票》
- (精心整理)初中物理串聯(lián)分壓和并聯(lián)分流精練
- 道路開口工程施工設(shè)計(jì)方案
- 員工勝任力評價(jià)方案
- 儀表接地技術(shù)ppt課件
- 六年級科學(xué)總復(fù)習(xí)空氣和水練習(xí)卷
- 視覺神經(jīng)生理學(xué)復(fù)習(xí)
- EN779-2012一般通風(fēng)過濾器——過濾性能測定(中文版)
- 小學(xué)六年級上冊音樂-第5課《今天是你的生日》--人音版(簡譜)(11張)ppt課件
評論
0/150
提交評論