




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
.PAGE.XX工業(yè)大學(xué)本科畢業(yè)論文引言隨著城鄉(xiāng)的經(jīng)濟(jì)開展,車輛的數(shù)量在迅速的增加,交通阻塞的問題已經(jīng)嚴(yán)重影響了人們的出行。現(xiàn)在的社會是一個數(shù)字化程度相當(dāng)高的社會,很多的系統(tǒng)設(shè)計師都愿意把自己的設(shè)計設(shè)計成集成電路芯片,芯片可以在實(shí)際中方便使用。隨著EDA技術(shù)的開展,嵌入式通用及標(biāo)準(zhǔn)FPGA器件的呼之欲出,片上系統(tǒng)(SOC)已經(jīng)近在咫尺。FPGA/CPLD以其不可替代的地位及伴隨而來的極具知識經(jīng)濟(jì)特征的IP芯片產(chǎn)業(yè)的崛起,正越來越受到業(yè)人士的密切關(guān)注。FPGA就是在這樣的背景下誕生的,它在數(shù)字電路中的地位也越來越高,這樣迅速的開展源于它的眾多特點(diǎn)。交通等是保障交通道路暢通和平安的重要工具,而控制器是交通燈控制的主要局部,它可以通過很多種方式來實(shí)現(xiàn)。在這許許多多的方法之中,使用FPGA和VHDL語言設(shè)計的交通燈控制器,比起其他的方法顯得更加靈活、易于改動,并且它的設(shè)計周期性更加短。城市中的交通事故頻繁發(fā)生,威脅著人們的生命安康和工作生活,交通阻塞問題在延遲出行時間的同時,還會造成更多的空氣污染和噪聲污染。在這種情況下,根據(jù)每個道路的實(shí)際情況來設(shè)置交通燈,使道路更加通暢,這對構(gòu)建和諧暢通的城市交通有著十分重要的意義。第一章軟件介紹1.1QuartusⅡ介紹本次畢業(yè)設(shè)計是基于FPGA下的設(shè)計,F(xiàn)PGA是現(xiàn)場可編程門陣列,F(xiàn)PGA開發(fā)工具種類很多、智能化高、功能非常的強(qiáng)大。可編程QuartusⅡ是一個為邏輯器件編程提供編程環(huán)境的軟件,它能夠支持VHDL、VerilogHDL語言的設(shè)計。在該軟件環(huán)境下,設(shè)計者可以實(shí)現(xiàn)程序的編寫、編譯、仿真、圖形設(shè)計、圖形的仿真等許許多多的功能。在做交通燈控制器設(shè)計時選擇的編程語言是VHDL語言。在這里簡單的介紹一下QuartusⅡ的根本局部。圖1-1-1是一幅啟動界面的圖片。在設(shè)計前需要對軟件進(jìn)展初步的了解,在圖中已經(jīng)明顯的標(biāo)出了每一局部的名稱。圖1-1-1啟動界面開場設(shè)計前我們需要新建一個工程,首先要在啟動界面上的菜單欄中找到File,單擊它選擇它下拉菜單中的"NewProjectWizard〞時會出現(xiàn)圖1-1-2所顯示的對話框,把工程名稱按照需要填好后單擊Next,便會進(jìn)入圖1-1-3顯示的界面。圖1-1-2創(chuàng)立工程框圖1-1-3芯片選擇框根據(jù)自己選擇的實(shí)驗設(shè)備選擇好相應(yīng)的芯片型號點(diǎn)擊Next,進(jìn)入下一個步驟當(dāng)出現(xiàn)圖1-1-5時,點(diǎn)擊"Finish〞后這個工程就建立好了。圖1-1-4仿真器選擇框圖1-1-5對話框建好工程后開場進(jìn)展設(shè)計,首先在圖1-1-6中單擊file后選擇new,接著會出現(xiàn)圖1-1-7,在交通燈控制器的設(shè)計中我們選擇的是VHDLFile,當(dāng)出現(xiàn)圖1-1-8時就可以把編輯的程序敲入編輯器中。圖1-1-6工程建好后的界面圖1-1-7新建文件類型選擇框圖1-1-8程序編輯框在第一章中對QuartusⅡ軟件的使用做一個簡單介紹,設(shè)計中的編譯和仿真步驟在后面的幾章中會做出介紹。第二章交通燈控制器設(shè)計的概述2.1控制器設(shè)計描述2.1.1設(shè)計任務(wù)要求設(shè)計交通燈控制器,分別在四個方向都安裝紅、黃、綠三種顏色的交通指示燈,紅燈表示停頓,綠燈表示通行,黃燈表示左轉(zhuǎn)和直行將要制止通行,四個方向分別還安裝有倒計時的計時器。2.1.2設(shè)計要求東西方向和南北方向各有組指示燈,紅燈亮的時間為20S,黃燈亮的時間為5S,綠燈亮的時間為25S。三種燈亮滅的順序為紅燈、綠燈、黃燈。第三章交通燈控制器的設(shè)計過程3.1設(shè)計方案本設(shè)計課題用FPGA來實(shí)現(xiàn)智能交通燈的設(shè)計,本設(shè)計現(xiàn)要研究的問題主要有:智能交通燈的設(shè)計方案;各功能模塊的設(shè)計與實(shí)現(xiàn);如何用VHDL編寫源程序以及進(jìn)展系統(tǒng)仿真。3.1.1框圖設(shè)計交通燈控制器設(shè)計的框圖中包括控制器、分頻器、顯示器、指示燈、譯碼器、位選器。當(dāng)?shù)褂嫊r為零時,控制器改變交通燈的顏色,同時倒計時開場進(jìn)入下一個倒計時。當(dāng)有緊急情況出現(xiàn)的時候,四面的交通燈都會變?yōu)榧t燈,緊急情況的處理在設(shè)計中是依靠HOLD鍵來實(shí)現(xiàn)的。圖3-1-1-1是交通燈設(shè)計的設(shè)計框圖特殊情況特殊情況計時器位選器顯示器〔東、西、南、北〕譯碼器控制器指示燈圖3-1-1-1交通燈設(shè)計的設(shè)計框圖系統(tǒng)的紅、黃、綠燈顯示的總時間為50s,具體的亮燈時間和亮燈順序看表3-1-1-2表3-1-1-2交通燈亮燈順序與亮燈時間安排東西方向〔A燈〕A綠燈亮〔20s〕A黃燈亮〔21—25s〕A紅燈亮〔26—50s〕南北方向〔B燈〕B紅燈亮〔0—25s〕B綠燈亮〔26—45s〕B黃燈亮〔46—50s〕3.1.2工程流程圖創(chuàng)立一個新的工程創(chuàng)立一個新的工程創(chuàng)立VHDL語言文件保存輸入的程序?qū)⒊绦蜉斎胛募袑Τ绦蜻M(jìn)展編譯,有錯誤的要進(jìn)展修改、再編譯,直至沒有錯對程序進(jìn)展波形的仿真進(jìn)展圖形電路設(shè)計、保存、編譯、波形仿真、管腳鎖定進(jìn)展硬件仿真圖3-1-2工程流程圖3.1.3時序圖的假象在時序圖中,上升沿有效,即為"1〞時燈亮,好比RedA為上升沿〔"1〞〕時A方向的紅燈是亮的,相對的GreenB也為上升沿〔"1〞〕B方向上綠燈是亮的。具體的時序顯示見圖3-2時序圖。GreenAGreenAYellowARedBYeelowBGreenBRedAAAAA圖3-2時序圖3.2模塊設(shè)計3.2.1主控制器模塊在QuartusⅡ按照1-1中的方法新建一個工程并新建一個文件工程后,在圖1-1-8程序編輯框中將主控制器的程序輸入后保存。接著需要對主控制器的程序進(jìn)展編譯,編譯的步驟是點(diǎn)擊Project→SetasTop將文件置頂,具體的參考圖3-2-1-1置頂,接著點(diǎn)擊圖3-2-1-2的Startpilation進(jìn)展編譯。圖3-2-1-1置頂圖3-2-1-2編譯在編譯的過程中,出現(xiàn)了一些錯誤,在我編譯主控制器的程序時,出現(xiàn)的錯誤是沒有將CLOCK放入PROCESS()中,將程序中的錯誤一一改正后有時還會出現(xiàn)些Warning,有些Warning并不會影響后面的設(shè)計步驟。將上面的錯面都改正后,就會顯示圖3-2-1-3所顯示的對話框。下一步就是對程序進(jìn)展時序仿真,圖3-2-1-3編譯成功程序編譯無措后在當(dāng)前的工程下面新建一個文件,點(diǎn)擊File出現(xiàn)圖3-2-1-4新建文件對話框,選擇圖中顯示藍(lán)色的選項就會出現(xiàn)我們想要的界面,把鼠標(biāo)移在圖3-2-1-5時序仿真編輯框中左邊的空白處,然后點(diǎn)擊右鍵,選擇INSERT→INSERTNODEORBUS選項出現(xiàn)另一個對話框,選擇對話框中的NODEFINDER后就會產(chǎn)生新的對話框,點(diǎn)擊LIST是在左下角的空白處會出現(xiàn)很多的引腳,我們選中需要的引腳后確定后,我們需要的引腳就會出現(xiàn)在時序仿真編輯中左邊的空白處,我們對輸入信號進(jìn)展設(shè)定,假設(shè)想讓輸出信號顯示為十六進(jìn)制數(shù),我們可以選中輸出信號然后點(diǎn)擊鼠標(biāo)的右鍵選擇VALUE→COUNTVALUE后出現(xiàn)的對話框中可以選擇自己需要顯示的進(jìn)制類型和進(jìn)制數(shù)的定時等。對輸出輸入信號編輯完成后保存。在菜單工具欄中選擇PROCESSING→SIMULATOORTOOL,出現(xiàn)圖3-2-1-6的對話框,按照對話框顯示的進(jìn)展設(shè)定,點(diǎn)擊QENERATFUNCTIONAL…→START→REPORT,就會得出我們想要的圖3-2-1-7主控制器時序仿真圖。圖3-2-1-4新建文件對話框圖3-2-1-5仿真編輯框圖3-2-1-6仿真工具對話框圖3-2-1-7主控制器的仿真圖圖3-2-1-7中顯示的仿真結(jié)果和設(shè)計前預(yù)計的時序仿真圖的結(jié)果是相符合的。時序圖中的HOLD是保持信號,當(dāng)HOLD信號為有效信號〔"1〞〕時,那么四個方向的路燈都是紅燈亮,當(dāng)HOLD無效時,四個方向的信號燈會正常工作。RESET信號有效時,計數(shù)器的顯示就會重新從零開場。圖中四個方向的指示燈的亮滅順序是正確的。圖3-2-1-8主控制器的模塊主控制器的時序仿真完成后,一個程序的設(shè)計、仿真就已經(jīng)暫時完畢了,下一步還要進(jìn)展圖形的設(shè)計,在總的圖形設(shè)計前,需要先將每個程序都生成模塊,為之后的設(shè)計做好準(zhǔn)備。點(diǎn)擊File→Create\Updade→CreateSymbolFilesforCurrentFile,完成這個操作過程后便會生成主控制器的模塊,具體的看圖3-2-1-8主控制器的模塊。模塊中主要有CLOCK、RESET、HOLD、NUMA、NUMB和六個指示燈的輸出。3.2.2分頻器模塊設(shè)計中需要用到1秒鐘的脈沖,分頻這個模塊就是為了改變頻率脈沖波,使20Mhz的頻率最終變?yōu)?hz的脈沖,這樣就可以得到一個周期是1秒鐘的脈沖,分頻器的程序見附錄。具體的程序編譯過程和仿真的過程和主控制模塊中談到的過程是一樣的。按照上面談的步驟完成后就會得到圖3-2-2-1分頻模塊的時序仿真圖。圖3-2-2-1分頻模塊的仿真圖圖3-2-2-2分頻模塊分頻的程序經(jīng)過編譯和時序仿真圖后生成的模塊是圖3-2-2-2分頻模塊所顯示的20mhz的脈沖通過第一模塊時變?yōu)?0hz,再經(jīng)過第二個模塊后變成1hz的脈沖。3.2.3提取顯示值模塊提取顯示值的功能是在10hz的速度下提取顯示值,得到的是顯示時間值的十位和個位。圖3-2-3-1提取顯示值的時序仿真圖中NUMIN是主控制器的輸出值,NUMA和NUMB兩個輸出端口是要顯示的值的高位和低位。高位的最大輸出值是為二的四位二進(jìn)制數(shù),低位的最大輸出值是為九的四位二進(jìn)制數(shù)。圖3-2-3-2是提取顯示值生成的模塊。提取顯示值的程序見文章的附錄。圖3-2-3-1提取顯示值的仿真圖仿真圖中,NUMB先從0開場計數(shù),當(dāng)計到9時NUMA計為1,NUMB重新從0開場計數(shù),當(dāng)計到9時NUMA會計為2,NUMB再次從0開場計數(shù),當(dāng)NUMA〔高位〕計數(shù)到2時,NUMB的最大值輸出為5。圖3-2-3-2提取顯示值的模塊3.2.4動態(tài)掃描模塊LED顯示的工作原理是利用人類的視覺特性。七段LED數(shù)字顯示塊是由"a、b、c、d、e、f、g、dp〞這幾段組成的,LED的顯示原理就是要看這八段中的哪幾段是亮的,那幾段是滅的。每段管子不是同時被點(diǎn)亮的并且點(diǎn)亮的時間都是極短的,又因為變化的時間很短暫,亮滅的過程中留下的余光會給人一種錯覺,人的眼睛覺得是一組靜態(tài)的顯示燈。具體的動態(tài)掃描的程序請看正文后的附錄。圖3-2-4-1是動態(tài)掃描的時序仿真圖,圖3-2-4-2是動態(tài)掃描生成的模塊。圖3-2-4-1動態(tài)掃描的時序仿真圖圖3-2-4-2動態(tài)掃描的模塊3.2.5位選器模塊位選程序的輸入和編譯完成后,對程序進(jìn)展仿真,仿真的步驟依然和上面談到的一樣,下面兩幅圖一是位選程序的時序仿真圖,另一幅是位選程序生成的模塊。見圖3-2-5-1和圖3-2-5-2。圖3-2-5-1位選時序仿真圖圖3-2-5-2位選模塊3.2.6譯碼器模塊譯碼器是將要顯示的數(shù)字轉(zhuǎn)換成驅(qū)動七段數(shù)碼管的信號,程序中的NUM與動態(tài)掃描模塊相連,將四位二進(jìn)制數(shù)轉(zhuǎn)換為八位二進(jìn)制數(shù),再通過LED8輸出。譯碼器的程序編輯和編譯步驟也和前面所說的一樣。當(dāng)譯碼器編譯成功后進(jìn)展仿真,仿真的結(jié)果見圖3-2-6-1譯碼器的時序仿真。像時序仿真圖中顯示的一樣,當(dāng)NUM輸入"0000〞時LED8便會輸出"00111111〞顯示數(shù)字"0〞,當(dāng)NUM輸入"0001〞時LED8輸出"00000110〞顯示數(shù)字"1〞。圖3-2-6-2是譯碼器程序生成的模塊。圖3-2-6-1譯碼器的時序仿真圖圖3-2-6-2譯碼器模塊3.3圖形設(shè)計3.3.1圖形設(shè)計的生成將每個程序都編譯、仿真完成后,下一步就是要設(shè)計圖形仿真,在進(jìn)展圖形的時序仿真前,要先進(jìn)展圖形的編輯和編譯。要建立一個新工程和圖形編輯的文件的的過程是點(diǎn)擊File→New→BlockDiagram/SchematicFile.〔見圖3-3-1-1〕圖3-3-1-1新建一個文件的對話框新建了一個文件以后,就要開場編輯圖形了,要把每一個模塊都找出來,選擇Assignment→Settings后出現(xiàn)圖3-3-1-2的對話框,在左邊找到libraries,單擊它以后會出現(xiàn)圖3-3-1-2右邊顯示的容,再點(diǎn)擊處可以找到之前生成的那些模塊所在的文件夾,把它們一次性添加在libraries中,這樣可以為后面圖形設(shè)計做好準(zhǔn)備,全部添加完成后點(diǎn)擊"OK〞,這樣在元件庫中就可以找到生成的那些模塊了。選擇Edit→InsertSymbol后出現(xiàn)圖3-3-1-3的對話框,在這里就可以顯示出上面生成的模塊和軟件中原本存在的元器件,按照設(shè)計中的需要選出模塊和元件。圖3-3-1-2libraries對話框圖3-3-1-3元件庫對話框圖3-3-1-4編譯對話框圖3-3-1-4中標(biāo)明了每個快捷工具的用途,選擇適宜的工具把選擇好的模塊和元件連接起來。然后將連接好的圖形文件保存以后進(jìn)展編譯。3.3.2仿真結(jié)果圖3-3-2-1圖形設(shè)計的時序仿真圖圖形設(shè)計編譯完成以后按照程序的時序仿真的過程對圖形設(shè)計進(jìn)展時序仿真,給CLK適當(dāng)?shù)男盘?,并且要給輸入值定義正確的值,開場仿真后會出現(xiàn)圖3-3-2-1就是編譯后的時序仿真圖。圖形設(shè)計的時序仿真圖中主要顯示的是紅、黃、綠燈之間的亮滅關(guān)系和LED8顯示的數(shù)值變化過程,還有位選輸出端的變化,時序圖中可以很容易看出當(dāng)計時數(shù)計數(shù)到某一個值的時候東西方向和南北方向是什么顏色的指示燈在工作。當(dāng)A路的綠燈亮?xí)r,B路的紅燈亮,A路的綠燈亮20秒后,A路的黃燈亮5秒……由此可以很容易的看出指示燈的亮滅是正確的。3.4管腳的鎖定管腳鎖定是為了為硬件仿真做準(zhǔn)備。當(dāng)所有的設(shè)計都完成后,接著要對圖形設(shè)計進(jìn)展管腳的鎖定。先確定設(shè)計時確定的器件類型和實(shí)際的硬件類型是不是一樣,選擇Assignments→Device,在出現(xiàn)的對話框中認(rèn)真確定選擇的器件是不是正確的。接下來選擇Assignments→Pins進(jìn)入圖3-4-1中,用鼠標(biāo)雙擊Location就可以設(shè)定管腳了。圖3-4-2是在這次畢業(yè)設(shè)計中使用到的芯片ACEX1K-EP1K100QC208-3。圖3-4-3是完成編譯、時序仿真、管腳鎖定這些步驟后的圖形設(shè)計。圖3-4-1管腳鎖定對話框圖3-4-2芯片ACEX1K-EP1K100QC208-3圖3-4-3最終的圖形設(shè)計表3-4-1管腳和相應(yīng)的功能序號名稱功能管腳口1CLK時鐘信號792HOLD保持鍵73RESET復(fù)位鍵84RedAA路口的紅燈115GreenAA路口的綠燈136YellowAA路口的黃燈157RedBB路口的紅燈128GreenBB路口的綠燈149YellowBB路口的黃燈1610LED8LED數(shù)碼管24-3111SI位選36-39在這次畢業(yè)設(shè)計中,我們用的芯片是ACEX1K-EP1K100QC208-3,圖3-4-3就是設(shè)計所用的芯片,褐色小點(diǎn)是設(shè)計中鎖定的管腳。而表3-4-1是鎖定的管腳和相應(yīng)的功能。結(jié)論經(jīng)過了兩個多月的努力,畢業(yè)設(shè)計終于完成了。這次的畢業(yè)設(shè)計是在大學(xué)期間完全沒有接觸過的知識,在兩個月的時間里我已經(jīng)對FPGA有了一定的認(rèn)識,又學(xué)到了新的知識。剛開場做這個課題時,我從知網(wǎng)和圖書館找了很多的資料,在對這些資料整理的過程中開場一點(diǎn)點(diǎn)的熟悉FPGA和VHDL語言,最初我連最根本的程序都看不懂,經(jīng)過努力后,我不僅可以看懂程序還可以利用QuartusⅡ軟件對程序進(jìn)展編譯、仿真。這次畢業(yè)設(shè)計的經(jīng)歷提高了我的自學(xué)能力,當(dāng)我遇到一個問題的時候,我會認(rèn)真的查找出錯的地方,然后想方法把它解決掉,一個程序的仿真結(jié)果出來后,我還會認(rèn)真的查看仿真的結(jié)果是不是正確的。在做硬件實(shí)驗時,開場我反復(fù)琢磨了很久都沒有做出來,通過和教師同學(xué)的交流,我終于成功的做出了硬件的仿真。這次的畢業(yè)設(shè)計結(jié)果可以按照設(shè)計的正常運(yùn)行。這次畢業(yè)設(shè)計告訴我,只要努力、認(rèn)真,再難再陌生的東西都能夠做的出來。參考文獻(xiàn)[1]廣軍,孟憲元.可編程VHDL設(shè)計及應(yīng)用.:電子科技大學(xué),200334-35[2]馬義忠,常蓬彬,馬浚.數(shù)字邏輯與數(shù)字系統(tǒng).:高等教育,200522-24[3]曾繁泰,王強(qiáng),盛娜.EDA工程的理論與實(shí)踐.:電子工業(yè),2004[4]鄒彥,莊嚴(yán).EDA.技術(shù)與數(shù)字系統(tǒng)設(shè)計.:電子工業(yè),2007.4[5]王丹,童如松.電子設(shè)計自動化(EDA)手冊.:電子工業(yè),2005.3[6]辛春艷.VHDL硬件描述語言.:國防工業(yè),2002/[8]王建坤.MAX+PLUSⅡ入門與提高.:清華大學(xué),2004[9]洪偉,高斯華.基于QuartusⅡ的FPGA/CPLD設(shè)計.:電子工業(yè),2006.4[10]譚會生,昌凡.EDA技術(shù)及應(yīng)用.:電子科技大學(xué),2004[11]景華,杜王遠(yuǎn).可編程邏輯器件與EDA技術(shù).東北大學(xué),2000[12]CharlesH.Roth.數(shù)字體統(tǒng)設(shè)計與VHDL.電子工業(yè),2008[13]bbs.vibesic./[14]路明禮.數(shù)字電子技術(shù).:理工大學(xué),2008.8[15]VHDLLanguageReferenceGuide,AldecInc.HendersonNVUSA1999.[16]AlteraCorporationDATABOOKAlteraCorporationSanJoseCA95134USA,2004.[17]松,王國棟.VHDL實(shí)用教程.:電子科技大學(xué),1999.12[18]VanHWBroeck,SkudelnyHC,StankeGV.Analysisandrealizationofapulsewidthmodulatorbasedonvoltagespacevectors[J].IEEETransomIndustryApplications,1988,24(1):142-150.附錄1.1主控制器的程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCZMKISPORT(CLOCK:INSTD_LOGIC;RESET:INSTD_LOGIC;HOLD:INSTD_LOGIC;FLASH:OUTSTD_LOGIC;NUMA,NUMB:OUTINTEGERRANGE0TO25;RedA,GreenA,YellowA:OUTSTD_LOGIC;RedB,GreenB,YellowB:OUTSTD_LOGIC);END;ARCHITECTURECONTROLOFCZMKISSIGNALCOUNTNUM:INTEGERRANGE0TO50;BEGINPROCESS(CLOCK,RESET)BEGINIFRESET='1'THENCOUNTNUM<=0;ELSIFRISING_EDGE(CLOCK)THENIFHOLD='1'THENFLASH<='1';ELSEFLASH<='0';IFCOUNTNUM=49THENCOUNTNUM<=0;ELSECOUNTNUM<=COUNTNUM+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLOCK)BEGINIFRISING_EDGE(CLOCK)THENIFHOLD='1'THENRedA<='1';RedB<='1';GreenA<='0';GreenB<='0';YellowA<='0';YellowB<='0';ELSEIFCOUNTNUM<=19THENNUMA<=20-COUNTNUM;RedA<='0';GreenA<='1';YellowA<='0';ELSIF(COUNTNUM<=24)THENNUMA<=25-COUNTNUM;RedA<='0';GreenA<='0';YellowA<='1';ELSENUMA<=50-COUNTNUM;RedA<='1';GreenA<='0';YellowA<='0';ENDIF;IFCOUNTNUM<=24THENNUMB<=25-COUNTNUM;RedB<='1';GreenB<='0';YellowB<='0';ELSIFCOUNTNUM<=44THENNUMB<=45-COUNTNUM;RedB<='0';GreenB<='1';YellowB<='0';ELSENUMB<=50-COUNTNUM;RedB<='0';GreenB<='0';YellowB<='1';ENDIF;ENDIF;ENDIF;ENDPROCESS;END;1.2分頻器的程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYFREQUENCY10HZISPORT(CLK20M:INSTD_LOGIC;CLK10HZ:OUTSTD_LOGIC);END;ARCHITECTURECOUNTOFFREQUENCY10HZISSIGNALTOUT:INTEGERRANGE0TO777777;SIGNALCLK:STD_LOGIC;BEGINPROCESS(CLK20M)BEGINIFRISING_EDGE(CLK20M)THENIFTOUT=777777THENTOUT<=0;CLK<=NOTCLK;ELSETOUT<=TOUT+1;ENDIF;ENDIF;ENDPROCESS;CLK10HZ<=CLK;END;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYFREQUENCYISPORT(CLK10HZ:INSTD_LOGIC;CLK1HZ:OUTSTD_LOGIC);END;ARCHITECTURECOUNTOFFREQUENCYISSIGNALTOUT:INTEGERRANGE0TO4;SIGNALCLK:STD_LOGIC;BEGINPROCESS(CLK10HZ)BEGINIFRISING_EDGE(CLK10HZ)THENIFTOUT=4THENTOUT<=0;CLK<=NOTCLK;ELSETOUT<=TOUT+1;ENDIF;ENDIF;ENDPROCESS;CLK1HZ<=CLK;END;1.3提取顯示值的程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTQXSZISPORT(CLOCK:INSTD_LOGIC;NUMIN:ININTEGERRANGE0TO25;NUMA,NUMB:OUTINTEGERRANGE0TO15);END;ARCHITECTUREFENOFTQXSZISBEGINPROCESS(CLOCK)BEGINIFRISING_EDGE(CLOCK)THENIFNUMIN>=20THENNUMA<=2;NUMB<=NUMIN-20;ELSIFNUMIN>=10THENNUMA<=1;NUMB<=NUMIN-10;ELSENUMA<=0;NUMB<=NUMIN;ENDIF;ENDIF;ENDPROCESS;END;1.4動態(tài)掃描的程序LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYsaomiaoISPORT(AH,AL,BH,BL:INSTD_LOGIC_VECTOR(3DOWNTO0);CLK:INSTD_LOGIC;Q:BUFFERSTD_LOGIC_VECTOR(2DOWNTO0);DOUT:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDsaomiao;ARCHITECTUREBEHAOFsaomiaoISSIGNALQIN:INTEGERRANGE7DOWNTO0;BEGINP1:PROCESS(CLK)BEGINIF(CLK'EVENTANDCLK='1')THENIFQIN>3THENQIN<=0;ELSEQIN<=QIN+1;ENDIF;ENDIF;ENDPROCESSP1;P2:PROCESS(QIN,AL,AH,BL,BH)BEGINCASEQINISWHEN0=>DOUT<=AL(3DOWNTO0);Q<="000";WHEN1=>DOUT<=AH(3DOWNTO0);Q<="001";WHEN2=>DOUT<=BL(3DOWNTO0);Q<="010";WHEN3=>DOUT<=BH(3DOWNTO0);Q<="011";WHENOTHERS=>NULL;ENDCASE;ENDPROCESSP2;END;1.5位選器的程序LIBRARY
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5的乘法口訣(教學(xué)設(shè)計)-2024-2025學(xué)年二年級上冊數(shù)學(xué)人教版
- 擴(kuò)大國際學(xué)術(shù)交流和教育科研合作的策略及實(shí)施路徑
- 26 好的故事教學(xué)設(shè)計-2024-2025學(xué)年六年級上冊語文統(tǒng)編版
- 科技創(chuàng)新中心項目社會效益分析
- 浙教版高中信息技術(shù) 必修 2.3-網(wǎng)上資源檢索-教學(xué)設(shè)計
- 水上樂園建設(shè)淤泥清理協(xié)議
- 2025年度海峽兩岸科技創(chuàng)新合作框架協(xié)議
- 2025年度診所護(hù)士護(hù)理專利申請聘用合同范本
- 小學(xué)二年級數(shù)學(xué)三位數(shù)加減三位數(shù)計算質(zhì)量測試題大全附答案
- 咖啡館簡裝合同模板
- T∕CNFAGS 3-2021 三聚氰胺單位產(chǎn)品消耗限額
- 弟子規(guī)全文拼音版打印版
- 變電站設(shè)備驗收管理標(biāo)準(zhǔn)規(guī)范
- 鍋爐房危害告知卡
- 幾種藏文輸入法的鍵盤分布圖
- NPI流程管理分解
- 物業(yè)公司財務(wù)部各崗位工作職責(zé)
- 山西公務(wù)員錄用審批表
- 航空器拆解適航管理解讀
- ASTM-D3330剝離強(qiáng)度測試標(biāo)準(zhǔn)中文版
- 政務(wù)信息培訓(xùn)ppt課件
評論
0/150
提交評論