基于FPGA的電子搶答器的程序設計_第1頁
基于FPGA的電子搶答器的程序設計_第2頁
基于FPGA的電子搶答器的程序設計_第3頁
基于FPGA的電子搶答器的程序設計_第4頁
基于FPGA的電子搶答器的程序設計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于FPGA的電子搶答器的程序設計摘 要隨著科學技術(shù)日新月異,文化生活日漸豐富,在各類競賽、搶答場合電子搶答器已經(jīng)作為一種工具得到了較為廣泛的應用。顧名思義,電子搶答器是一種通過搶答者的指示燈顯示、數(shù)碼顯示和警示顯示等手段準確、公正、直觀地判斷出最先獲得發(fā)言權(quán)選手的設備。此次設計有4組搶答輸入,每組設置一個搶答按鈕供搶答者使用。電路具有第一搶答信號的鑒別和鎖存功能。當?shù)谝粨尨鹫甙聪聯(lián)尨痖_關(guān)時,該組指示燈亮以示搶答成功。同時,電路也具備自鎖功能,保證能夠?qū)崿F(xiàn)在一路成功搶答有效后,其他三路均不能搶答。本設計基于VHDL語言,采用FPGA為控制核心,并結(jié)合動手實踐完成,具有電路簡單、操作方便、靈敏可

2、靠等優(yōu)點。該四路搶答器使用VHDL硬件描述語言進行編程,分為七個模塊:判斷模塊,鎖存模塊,轉(zhuǎn)換模塊,掃描模塊,片選模塊,定時報警模塊和譯碼模塊。編程完成后,使用QuartersII工具軟件進行編譯仿真驗證。關(guān)鍵詞:VHDL,F(xiàn)PGA,四路搶答器,仿真 目錄1 概述11.1 設計背景11.2 搶答器現(xiàn)狀11.3 本論文主要完成的工作11.4 設計心得22 開發(fā)工具簡介32.1 VHDL語言簡介32.2 FPGA開發(fā)過程與應用42.2.1 FPGA發(fā)展歷程及現(xiàn)狀42.2.2 FPGA工作原理42.2.3 FPGA開發(fā)流程52.3 Quartus II軟件63系統(tǒng)設計83.1 系統(tǒng)設計要求83.2

3、系統(tǒng)設計方案83.2.1 系統(tǒng)硬件設計方案83.2.2 系統(tǒng)軟件設計方案83.3.3 系統(tǒng)原理詳述104 電路程序設計及仿真124.1 搶答鎖存模塊設計124.1.1 VHDL源程序124.1.2 搶答鎖存電路的模塊134.2 仿真14總結(jié)15致謝17參考文獻18鄭州輕工業(yè)學院課 程 設 計 任 務 書題目 基于FPGA的電子搶答器的程序設計 專業(yè)班級 電子信息工程10-1班 學號 姓名 主要內(nèi)容、基本要求、主要參考資料等:主要內(nèi)容:搶答器是在競賽、文體娛樂活動(搶答活動)中,能準確、公正、直觀地判斷出搶答者的機器。要求學生使用硬件描述語言(Verilog 或者 VHDL)設計基于FPGA的電

4、子搶答器的源程序。實現(xiàn)如下功能:設計一個四路搶答器;在一路成功搶答有效后,其他三路均不能搶答,并且將搶答成功的一路用指示燈顯示出來?;疽螅?、 學會quartusII的使用,掌握FPGA 的程序設計方法。 2、掌握硬件描述語言語法。 4、程序設計完成后要求在quartusII中實現(xiàn)功能仿真。主要參考資料:1、褚振勇. FPGA設計及應用(第三版)M.西安電子科技大學出版社.2012,42、陳懷琛.MATLAB及在電子信息課程中的應用M.北京:電子工業(yè)出版社.2008,1完 成 期 限: 2013.6.212013.6.25 指導教師簽名: 課程負責人簽名: 2013年 6月 18日1 概述

5、1.1 設計背景現(xiàn)場可編程門陣列(簡稱FPGA)是20世紀80年代中期出現(xiàn)的高密度可編程邏輯器件,采用SRAM開關(guān)元件的FPGA是易失性的,每次重新加電, FPGA都要重新裝入配置數(shù)據(jù)。突出優(yōu)點是可反復編程,系統(tǒng)上電時,給FPGA加載不同的配置數(shù)據(jù),即可令其完成不同的硬件功能。這種配置的改變甚至可以在系統(tǒng)的運行中進行,實現(xiàn)系統(tǒng)功能的動態(tài)重構(gòu)?!霸谙到y(tǒng)可編程”(簡稱ISP)是指對器件、電路或整個電子系統(tǒng)的邏輯功能可隨時進行修改或重構(gòu)的能力,支持ISP技術(shù)的可編程邏輯器件稱為在系統(tǒng)可編程邏輯器件,它不需要專門的編程器,利用計算機接口和一根下載電纜就可以對器件編程了。本設計針對電子技術(shù)綜合實驗的要求

6、,利用EDA技術(shù)中quartusII作為開發(fā)工具,設計了一款基于FPGA的智力競賽搶答器。1.2 搶答器現(xiàn)狀在進行智力競賽搶答題比賽時,各參賽者考慮后都想搶先答題。如果沒有合適的設備,有時難以分清他們的先后,使主持人感到為難。為了使比賽能順利進行,需要有一個能判斷搶答先后的設備,我們將它稱為智力競賽搶答器。在許多搶答競賽、文體娛樂活動,為了準確、公正、直觀地判斷出第一搶答者,通常需要設置一臺這樣的搶答器,通過指示燈顯示出第一搶答者。1.3 本論文主要完成的工作本課程設計基于VHDL語言,采用FPGA為控制核心,并結(jié)合動手實踐完成,具有電路簡單、操作方便、靈敏可靠等優(yōu)點。設計四路搶答器使用VHD

7、L硬件描述語言進行編程,分為七個模塊:判斷模塊,鎖存模塊,轉(zhuǎn)換模塊,掃描模塊,片選模塊,定時報警模塊和譯碼模塊。編程完成后,使用QuartersII工具軟件進行編譯仿真驗證。系統(tǒng)達到要求:在一路成功搶答有效后,其他三路均不能搶答,并且將搶答成功的一路用指示燈顯示出來。1.4 設計心得通過這次課程設計,幫助我們加深理解FPGA程序設計方法,學會quartusII軟件的使用,了解簡單多功能搶答器組成原理,掌握在quartusII中實現(xiàn)功能仿真的方法,相應地提高動手能力和排障能力,并且良好地鞏固已學的理論知識,將硬件描述語言語法與實踐相結(jié)合。通過分析多功能搶答器各單元電路之間的關(guān)系及相互影響,從而能

8、正確設計、計算定時計數(shù)的各個單元電路。2 開發(fā)工具簡介 2.1 VHDL語言簡介VHDL的英文全名是Very-High-Speed Integrated Circuit HardwareDescription Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言 。自IEEE公布了VHDL的標準版本,IEEE-1076之后,各EDA公司相繼推出了自己的VHDL設計環(huán)境,或宣布自己的設計工具可以和VHDL接口。此后VHDL在電子設計領(lǐng)域得到了廣泛的接受,并逐步取代了原有的非標準的硬件描述語言。1993年,IEEE對VHDL進行了修訂,從更高的抽象

9、層次和系統(tǒng)描述能力上擴展VHDL的內(nèi)容,公布了新版本的VHDL,即IEEE標準的1076-1993版本?,F(xiàn)在,VHDL和Verilog作為IEEE的工業(yè)標準硬件描述語言,又得到眾多EDA公司的支持,在電子工程領(lǐng)域,已成為事實上的通用硬件描述語言。有專家認為,在新的世紀中,VHDL于Verilog語言將承擔起大部分的數(shù)字系統(tǒng)設計任務。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風格與句法是十分類似于一般的計算機高級語言。VHDL的程序結(jié)構(gòu)特點是將一項工程設計,或稱設計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可

10、是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設計就可以直接調(diào)用這個實體。這種將設計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設計的基本點VHDL語言目前在數(shù)字設計領(lǐng)域已為廣大設計者所接受,眾多CAD廠商紛紛使自己新開發(fā)的電子設計軟件與VHDL兼容,VHDL語言成了電子設計工程師必須掌握的工具。 在目前,CPU和可編程邏輯器件已經(jīng)成為數(shù)字系統(tǒng)的硬件基礎(chǔ),從事數(shù)字系統(tǒng)的設計必須掌握可編程邏輯器件的設計方法,而VHDL語言作為可編程邏輯器件設計時最重要的輸入方法,為所有可編程邏輯器件廠商所支持。應用VHDL進行

11、工程設計的優(yōu)點是多方面的。一、與其他的硬件描述語言相比,VHDL具有更強的行為描述能力,從而決定了他成為系統(tǒng)設計領(lǐng)域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證。二、VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。三、VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設計的分解和已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效,高速的完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。四、對于用VHDL完成的一個確定的設計,可以利用EDA工具進行邏輯綜合和優(yōu)化

12、,并自動的把VHDL描述設計轉(zhuǎn)變成門級網(wǎng)表。五、VHDL對設計的描述具有相對獨立性,設計者可以不懂硬件的結(jié)構(gòu),也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。 2.2 FPGA開發(fā)過程與應用隨著現(xiàn)場可編程邏輯器件越來越高的集成度,加上不斷出現(xiàn)的I/O標準、嵌入功能、高級時鐘管理的支持,使得現(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年代的幾十萬個可利用門,到十一世紀又陸續(xù)推出了幾千萬門的單片F(xiàn)PGA芯片。FPGA使用靈活,適用性強,特別適

13、用于復雜邏輯的設計,有利用電子系統(tǒng)小型化,而且其開發(fā)周期短、開發(fā)投入少、芯片價格不斷降低,促使FPGA越來越多地取代了ASIC的市場。2.2.2 FPGA工作原理FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。FPGA的基本特點主要有: 1)采用FPGA設計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 3)

14、FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。 4)FPGA是ASIC電路中設計周期最短、開發(fā)費用最低、風險最小的器件之一。 5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。 可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 FPGA是由存放在片內(nèi)RAM中的程序來設置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復使用。FPGA的編程無

15、須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。2.2.3 FPGA開發(fā)流程FPGA開發(fā)流程可以分為如下幾步:設計輸入,設計輸入主要包括原理圖輸入、狀態(tài)圖輸入、波形圖輸入以及某種硬件描述語言,比如說是VHDL、Verilog的源程序。它是利用這些輸入去描述一個電路的功能。功能仿真,功能仿真就是利用相關(guān)仿真工具對相關(guān)電路進行功能級別仿真,也就是說對你的輸入設計的邏輯功能進行相關(guān)的模擬測試。在功能上面來了解電路是否能夠達到預期要求。這里

16、的功能仿真純粹是模擬性質(zhì)的,不會設計的任何具體器件的硬件特性。綜合,綜合就是行為或者功能層次表達的電子系統(tǒng)轉(zhuǎn)換成低層次門級電路的網(wǎng)表。布局布線,就是將綜合后的網(wǎng)表文件針對某一個具體的目標器件進行邏輯映射。此時應該使用FPGA廠商提供的實現(xiàn)與布局布線工具,根據(jù)所選芯片的型號,進行芯片內(nèi)部功能單元的實際連接與映射。時序驗證,就是要使得時序仿真過程中,建立與保持時間要符合相關(guān)的制約,以便數(shù)據(jù)能被正確的傳輸。使仿真既包含門延時,又包含線延時信息。能較好地反映芯片的實際工作情況。生成SOF等文件,此文件可以通過調(diào)試器把它下載到系統(tǒng)中間去。而FPGA設計流程的其他步驟基本上由相關(guān)工具去完成,因此只要自己設

17、置好相關(guān)參數(shù),不要人為干預太多。而驗證的話就需要用戶花費大量的時間去完成。2.3 Quartus II軟件Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界最大可編程邏輯器件供應商之一。Quartus II在21世紀初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+plus II的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。在Quartus II上可以完成設計輸入、HDL綜合、布線布局(適配)、仿真和下載和硬件測試等流程,它提供了一種與結(jié)構(gòu)無關(guān)的設計環(huán)境,使設計者能方便地進行設計輸入、快速處理和器件編程。Altera的Quartus II 提供了

18、完整的多平臺設計環(huán)境,能滿足各種特定設計的需要,也是單芯片可編程系統(tǒng)(SOPC)設計的綜合性環(huán)境和SOPC開發(fā)的基本設計工具,并為AlteraDSP開發(fā)包進行系統(tǒng)模型設計提供了集成綜合環(huán)境。Quartus II設計工具完全支持VHDL、Verylog的設計流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。Quartus II也可以利用第三方的綜合工具,如Leonardo Spectrum、Synplify Pro、FPGA Complier II,并能直接調(diào)用這些工具。同樣,Quartus II具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATL

19、AB和DSP Builder結(jié)合,可以進行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關(guān)鍵EDA工具。Quartus II包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analysis & Synthesis)、適配器(Filter)、裝配器(Assembler)、時序分析器(Timing Analyzer)、設計輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)和編輯數(shù)據(jù)接口(Complier Database Interface)等??梢酝ㄟ^選擇Start Complication來運行所有的編譯器模塊,也可

20、以通過選擇Start單獨運行各個模塊。還可以通過選擇Complier Tool(Tools 菜單),在Complier Tool 窗口中運行該模塊來啟動編輯器模塊。在Complier Tool 窗口中,可以打開該模塊的設置文件或報告文件,或打開其他相關(guān)窗口。Quartus II編譯設計的主控界面顯示了Quartus II自動設計的各主要處理環(huán)節(jié)和設計流程,包括設計輸入編輯、設計分析與綜合、適配、編程文件匯編(裝配)、時序參數(shù)提取以及編程下載幾個步驟。 圖1 Quartus II設計流程3系統(tǒng)設計3.1 系統(tǒng)設計要求搶答器是在競賽、文體娛樂活動(搶答活動)中,能準確、公正、直觀地判斷出搶答者的機

21、器。本設計使用硬件描述語言VHDL設計基于FPGA的電子搶答器的源程序。要求實現(xiàn)如下功能:設計一個四路搶答器;在一路成功搶答有效后,其他三路均不能搶答,并且將搶答成功的一路用指示燈顯示出來。3.2 系統(tǒng)設計方案3.2.1 系統(tǒng)硬件設計方案本設計分為硬件設計和軟件設計,這兩者相互結(jié)合,不可分離;從時間上看,硬件設計的絕大部分工作量是在最初階段,到后期往往還要做一些修改。只要技術(shù)準備充分,硬件設計的大返工是比較少的,軟件設計的任務貫徹始終,到中后期基本上都是軟件設計任務。 圖2 硬件設計流程 3.2.2 系統(tǒng)軟件設計方案軟件設計和硬件電路設計應結(jié)合進行,哪些功能由硬件完成,哪些任務由軟件完成,在硬

22、件電路設計基本定型后,也就基本上決定下來了。軟件任務分析環(huán)節(jié)是為軟件設計做一個總體規(guī)劃。從軟件的功能來看可分為兩大類:一類是執(zhí)行軟件,它能完成各種實質(zhì)性的功能,如測量,計算,顯示,輸出控制和通信等,另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當組織調(diào)度角色的軟件。這兩類軟件的設計方法各有特色,執(zhí)行軟件的設計偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件任務分析時,應將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進行功能定義和接口定義(輸入輸出定義)。在各執(zhí)行模塊進行定義時,將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功

23、能和鍵盤設置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。相對來講,執(zhí)行模塊任務明確單純,比較容易編程,而監(jiān)控程序較易出問題。這如同當一名操作工人比較容易,而當一個廠長就比較難了。圖3 軟件設計流程. . 系統(tǒng)原理詳述 圖4 具有完整搶答器功能的結(jié)構(gòu)圖根據(jù)對系統(tǒng)設計要求的分析可知,系統(tǒng)的輸入信號有:各組的搶答按鈕S0,S1,S2,S3輸入,復位信號CLEAR用于控制整個系統(tǒng)清0,按下該復位鍵系統(tǒng)清0,抬起該復位鍵搶答開始。在主持人將系統(tǒng)復位并使搶答有效開始后,S0,S1,S2,S3任何第一搶答者按下?lián)尨鸢粹o,對應的輸入引腳接高電位1,電路記憶下第一搶答者身份,并封鎖其他各組的按鈕,即其他任何一組按鍵都不會使電

24、路響應,完成搶答過程。系統(tǒng)的輸出信號有:四組搶答成功與否的指示燈控制信號輸出口LEDA、LESB、LEDC、LEDD,當任何第一搶答者成功搶答后指示燈亮起。本系統(tǒng)應具有的功能有:第一搶答信號的鑒別和鎖存功能,指示燈顯示第一搶答者功能。根據(jù)分析我們可以把該四路搶答器設計分為判斷模塊,鎖存模塊,掃描模塊等部分,依據(jù)各模塊功能編寫相應的源程序,并對相應的程序進行編譯以及時序仿真。若正確就進行到下一個模塊的編寫,若錯誤就修改直至編譯成功。系統(tǒng)的具體工作原理如下:搶答鎖存模塊主要實現(xiàn)搶答過程中的搶答功能,并且能實現(xiàn)當有一路搶答按鍵按下時,該路搶答信號將其余搶答信號封鎖的功能。在這個模塊輸入端有WARN輸

25、入(以時間控制系統(tǒng)的WARN輸出信號為信號源)、一個和時間控制系統(tǒng)公用的CLEAR端、4人搶答輸入信號端S0,S1,S2,S3和一個時鐘信號端CLK,這個時鐘信號是個高頻信號,用以掃描S0,S1,S2,S3是否有信號輸入。輸出端有對應于S0,S1,S2,S3編號的4個指示燈LED和4線2進制輸出端STATES(用于鎖存當前的狀態(tài)),還有一個STOP端用于指示S0,S1,S2,S3按鈕狀態(tài)。在此模塊中高頻時鐘信號一直作用,此時,若主持人按下CLEAR即為開始搶答信號,所有輸出端都自動清零。在有效時間范圍內(nèi)只要有人搶答,STOP就有高電平輸出至時間控制系統(tǒng)的STOP端以控制時間的停止,并且對應的L

26、ED指示燈點亮,STATES鎖存輸出以顯示優(yōu)先搶答人的組號,并鎖定輸入端S以阻止系統(tǒng)響應其他搶答者的信號。4 電路程序設計及仿真4.1 搶答鎖存模塊設計該模塊主要實現(xiàn)搶答過程中的搶答功能。在系統(tǒng)復位并使搶答有效開始后,當S0,S1,S2,S3任意一路第一搶答者按下?lián)尨鸢粹o,對應的輸入引腳接高電位1,電路記憶下第一搶答者身份,信號輸入并進行鎖存,其他任何一組按鍵都不會使電路響應,完成搶答過程。4.1.1 VHDL源程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LOCK IS PORT( CLK,CLEAR:IN STD_LOGIC; WARN

27、:IN STD_LOGIC; S0,S1,S2,S3:IN STD_LOGIC; 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&q

28、uot;LED<="0000"STOP<='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' O

29、R G(1)='1' OR G(3)='1') 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)=&

30、#39;1') THEN G(0)<='1'LED(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 &

31、quot;1000"=>STATES<="0100" WHEN OTHERS=>STATES<="0000"END CASE;END PROCESS;END ARCHITECTURE ONE; 4.1.2 搶答鎖存電路的模塊在這個模塊中主要實現(xiàn)搶答過程中的搶答功能,并且能實現(xiàn)當有一路搶答按鍵按下時,該路搶答信號將其余個綠搶答封鎖的功能。在這個模塊輸入端有WARN輸入(以時間控制系統(tǒng)的WARN輸出信號為信號源)、一個和時間控制系統(tǒng)公用的CLEAR端、4人搶答輸入信號端S0,S1,S2,S3和有一個時鐘信號端CLK,這個時鐘

32、信號是個高頻信號,用以掃描S0,S1,S2,S3是否有信號輸入。輸出端有對應于S0,S1,S2,S3編號的4個指示燈LED 和4線2進制輸出端STATES (用于鎖存當前的狀態(tài)),還有一個STOP 端用于指示S0,S1,S2,S3按鈕狀態(tài)。 圖5 搶答鎖存電路的模塊4.2 仿真圖6 仿真圖由圖中可看出在復位信號從高電平降到低電平后,搶答器開始正常工作,此時搶答開始。在此之前搶答無效。而作為第一搶答者最先搶答,這時開始報警,數(shù)碼管輸出顯示1,說明A最先搶答。 總結(jié)一周的FPGA課程設計很快就過去了,其中真是有苦更有甜,苦的是我在第一次獨自設計一個應用型設備時的不熟悉和不知所措,甜的是經(jīng)過一周的時

33、間我通過回顧課本知識、詢問同學老師和上網(wǎng)學習收獲到了很多專業(yè)方面的知識更加鍛煉了我的動手能力和專業(yè)技能。記得大二下學期第一次上EDA程序設計課的時候,我對硬件設計語言是那么的難以上手,通過杜老師一學期細致的講解,配合實驗課程讓我對EDA相關(guān)知識、VHDL編程、quartusII軟件、MAX_PLUS軟件有了更深的理解和更熟練的掌握。本次我的課程設計為四路競賽搶答器,根據(jù)電路的特點,我采用層次化結(jié)構(gòu)化設計,將此項設計任務分成部分模塊,分別對各個模塊進行編程,然后再將各模塊合起來編譯,這一步一步的加深了我們對于層次化設計的理解和對VHDL設計流程的熟悉。在設計的過程中,遇到問題我們盡量獨立思考,查

34、找資料,到自己不能解決的時候就和同小組同學研究討論,或者向指導老師請教。這樣的經(jīng)歷不僅提高了我們獨立發(fā)現(xiàn)問題、分析問題、解決問題的能力,又很好地培養(yǎng)了交流合作的精神。通過這次課程設計,進一步加深了我對EDA技術(shù)的了解,讓我更加明確VHDL的設計流程,并產(chǎn)生了更加濃厚的興趣。特別是當每一個模塊程序調(diào)試成功時,內(nèi)心的滿足感真的無法形容。這次經(jīng)歷更讓我懂得了理論與實際相結(jié)合是十分重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,使理論服務于實際,才能真正為社會服務。在設計的過程中我們不可避免的遇到各種問題,因為這畢竟第一次做的,難免會不盡善盡美。同時在設計的過程中發(fā)現(xiàn)了自己不少不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,以后一定加強基礎(chǔ)知識的學習。在這次課程設計種我積累了很多寶貴的經(jīng)驗,這對于未來出身社會的我無

溫馨提示

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

評論

0/150

提交評論