版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1 引 言最近幾年出租車行業(yè)發(fā)展迅速,在全國有幾千家出租車公司,因此出租車計費器的市場是龐大的。隨著電子科學技術的不斷發(fā)展,特別是集成電路的迅猛發(fā)展,電子設計自動化已經(jīng)成為主要的設計手段。隨著EDA技術的大力發(fā)展,F(xiàn)PGA等數(shù)字可編程器件的出現(xiàn),數(shù)字出租車計費器的設計也就變得更加簡單,而且性能更穩(wěn)定、能實現(xiàn)較復雜的功能,且運用EDA軟件可方便的在計算機上實現(xiàn)設計與仿真。本設計基于VHDL(FPGA)語言是電子設計領域中最具活力和發(fā)展前途的一項技術,未來必定會取代部分落伍的數(shù)字元元件。1.1 課程設計目的隨著電子技術的不斷發(fā)展與進步,集成電路的設計方法也在不斷地更新。時至今日,傳統(tǒng)的手工設計過程
2、已經(jīng)被先進的電子設計自動化(EDA)工具所代替。只有以硬件描述語言和邏輯綜合為基礎的子項項下的電路設計方法才能滿足日趨復雜的集成電路系統(tǒng)設計需求,才能縮短設計周期以滿足設計對集成電路系統(tǒng)日益急迫的需求。在這種情形下,傳統(tǒng)的出租車計費器設計方法已不能跟上現(xiàn)在的節(jié)奏,以往的出租車計費器在功能上也遠不能滿足現(xiàn)實的需求。以往的出租車計費器的不穩(wěn)定性,功能稍等缺點是的大家開始尋求更新的,功能更強大,性能更穩(wěn)定,價錢更低廉的新型出租車計費器。而大規(guī)模可編程邏輯器件的出現(xiàn),VHDL硬件描述語言的出現(xiàn),使得這一切成為可能。本設計的研究目標和意義也就是要使用價錢低廉、性能穩(wěn)定、價錢低廉、可擴性強、適應目前出租車
3、市場需求的出租車計費器,以解決目前出租車計費器存在的一系列問題。1.2課程設計要求1. 能實現(xiàn)計費功能,計費標準為:按行駛里程收費,起步費為10.00元,并在車行3公里后再按2元/公里,當計費器計費達到或超過一定收費(如20元)時,每公里加收50%的車費,車停止不計費。2. 實現(xiàn)預置功能:能預置起步費、每公里收費、車行加費里程。3. 實現(xiàn)模擬功能:能模擬汽車啟動、停止、暫停、車速等狀態(tài)。4. 設計動態(tài)掃描電路:將車費顯示出來,有兩位小數(shù)。5. 用VHDL語言設計符合上述功能要求的出租車計費器,并用層次化設計方法設計該電路。6. 各計數(shù)器的計數(shù)狀態(tài)用功能仿真的方法驗證,并通過有關波形確認電路設計
4、是否正確。7. 完成電路全部設計后,通過系統(tǒng)實驗箱下載驗證設計的正確性。 1.3 設計平臺MAX + plus是美國Altera 公司的一種EDA 軟件,用于開發(fā)CPLD 和FPGA 進行數(shù)字系統(tǒng)的設計。2 應用工具介紹作為當今最流行的計算機軟件系統(tǒng),EDA技術是以計算機為工作平臺,融合了應用電子技術、計算機技術、信息處理及智能化技術的最新成果,進行電子產(chǎn)品的自動設計。EDA可提供文本輸入以及圖形編輯的方法將設計者的意圖用程序或者圖形方式表達出來,而我們經(jīng)常用到的VHDL語言便是用于編寫源程序所需的最常見的硬件描述語言(HDL)之一。2.1 EDA技術介紹EDA是電子設計自動化(Electro
5、nic Design Automation)的縮寫,在20世紀90年代初從計算機輔助設計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來。EDA技術是在電子CAD技術基礎上發(fā)展起來的計算機軟件系統(tǒng),是指以計算機為工作平臺,融合了應用電子技術、計算機技術、信息處理及智能化技術的最新成果,進行電子產(chǎn)品的自動設計1。EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言HDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。典型的EDA
6、工具中必須包含兩個特殊的軟件包,即綜合器和適配器。綜合器的功能就是將設計者在EDA平臺上完成的針對某個系統(tǒng)項目的HDL、原理圖或狀態(tài)圖形描述,針對給定的硬件系統(tǒng)組件,進行編譯、優(yōu)化、轉換和綜合,最終獲得我們欲實現(xiàn)功能的描述文件。綜合器在工作前,必須給定所要實現(xiàn)的硬件結構參數(shù),它的功能就是將軟件描述與給定的硬件結構用一定的方式聯(lián)系起來。也就是說,綜合器是軟件描述與硬件實現(xiàn)的一座橋梁。綜合過程就是將電路的高級語言描述轉換低級的、可與目標器件FPGA/CPLD相映射的網(wǎng)表文件。 在今天,EDA技術已經(jīng)成為電子設計的普遍工具,無論設計芯片還是設計系統(tǒng),沒有EDA工具的支持,都是難以完成的。EDA工具已
7、經(jīng)成為設計師必不可少的武器,起著越來越重要的作用。從目前的EDA技術來看,其發(fā)展趨勢是政府重視、使用普及、應用廣泛、工具多樣、軟件功能強大。EDA技術發(fā)展迅猛,完全可以用日新月異來描述。EDA技術的應用廣泛,現(xiàn)在已涉及到各行各業(yè)。EDA水平不斷提高,設計工具趨于完美的地步。2.2VHDL語言介紹電子設計自動化(EDA)的關鍵技術之一是要求用形式化方法來描述數(shù)字系統(tǒng)的硬件電路。VHDL 硬件描述語言在電子設計自動化中扮演著重要的角色,他是EDA 技術研究的重點之一。硬件描述語言是EDA 技術的重要組成部分,VHDL 是作為電子設計主流硬件描述語言,VHDL(Very High Speed Int
8、egrated Circuit Hardware Description Language)于1983 年由美國國防部發(fā)起創(chuàng)建,由IEEE進一步發(fā)展并在1987年作為IEEE標準10760發(fā)布。因此,VHDL成為硬件描述語言的業(yè)界標準之一。VHDL作為IEEE的工業(yè)標準硬件描述語言,得到眾多EDA公司的支持,在電子工程領域,已成為事實上的通用硬件描述語言。VHDL語言具有很強的電路描述和建模能力,能從多個層次對數(shù)字系統(tǒng)進行建模和描述,從而大大簡化了硬件設計任務,提高了設計效率和可靠性,使用VHDL語言,可以就系統(tǒng)的總體要求出發(fā),自上而下地將設計內(nèi)容細化,最后完成系統(tǒng)硬件的整體設計。一個完整的V
9、HDL程序包括以下幾個基本組成部分:實體(Entity),結構體(Architecture),程序包(Package),庫(Library)。其中,實體是一個VHDL程序的基本單元,由實體說明和結構體兩部分組成,實體說明用于描述設計系統(tǒng)的外部接口信號;結構體用于描述系統(tǒng)的行為,系統(tǒng)數(shù)據(jù)的流程或系統(tǒng)組織結構形式。程序包存放各設計模塊能共享的數(shù)據(jù)類型,常數(shù),子程序等。庫用于存放已編譯的實體,機構體,程序包及配置。VHDL 語言的編譯環(huán)境有不同的版本,我們應用的是Altera 公司的Maxplus 軟件,它的操作順序如下:使用TEXTEDITOR 編寫VHDL 程序使用COMPILER 編譯VHDL
10、 程序;使用WAVE2FORMEDITOR,SIMULAROT 仿真實驗;使用TIMINGANALTZER 進行芯片的時序分析;用FLOORPLANEDITOR 鎖定芯片管腳位置;使用PROGRAMMER 將編譯好的VHDL 程序下載到芯片中。VHDL 進行工程設計的優(yōu)點是顯而易見的。1與其他的硬件描述語言相比,VHDL 具有更強的行為描述能力,從而決定了他成為系統(tǒng)設計領域最佳的硬件描述語言。2VHDL 豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就能查驗設計系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。3VHDL 語句的行為描述能力和程序結構決定了他具有支持大規(guī)模設計的分解和已有設計的再
11、利用功能。符合市場需求的大規(guī)模系統(tǒng)高效、高速地完成必須有多人甚至多個代發(fā)組共同并行工作才能實現(xiàn)。4對于用VHDL 完成的一個確定的設計,可以利用EDA 工具進行邏輯綜合和優(yōu)化,并自動的將VHDL 描述設計轉變成門級網(wǎng)表。5VHDL 對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。6用VHDL 語言編寫的源程序便于文檔管理,用源代碼描述來進行復雜控制邏輯的設計,既靈活方便,又便于設計結果的交流、保存和重用。3 設計原理車速控制模塊計費動態(tài)顯示里程動態(tài)顯示 車速選擇 起/停開關 基本速率 Reset 掃描時鐘 顯示輸出 顯示輸出圖3.
12、1 系統(tǒng)頂層框圖計費器按里程收費,每100米開始一次計費。各模塊功能如下:(1) 車速控制模塊當起停鍵為啟動狀態(tài)時(高電平),模塊根據(jù)車速選擇和基本車速發(fā)出響應頻率的脈沖驅動計費器和里程顯示模塊進行計數(shù);當處于停止狀態(tài)時暫停發(fā)出脈沖,此時計費器和里程顯示模塊相應的停止計數(shù)。(2) 里程動態(tài)顯示模塊其包括計數(shù)車速控制模塊發(fā)出的脈沖以及將計數(shù)顯示動態(tài)顯示出來,每來一個脈沖里程值加0.1(控制器每發(fā)一個脈沖代表運行了0.1公里)。(3) 計費動態(tài)顯示模塊其初值為10元,當里程超過3公里后才接受計數(shù)車速控制模塊發(fā)出的脈沖的驅動,并且計數(shù)顯示動態(tài)顯示出來,每來一個脈沖(代表運行了0.5公里)其數(shù)值加1元
13、,當收費超過20時數(shù)值加1.5元。4 設計步驟VHDL設計流程圖(如圖4.0):VHDL文本編輯VHDL文本編輯FPGA/CPLD適配器FPGA/CPLD編輯下載器VHDL仿真器FPGA/CPLD器件和電路系統(tǒng)時序與功能仿真器圖4.0 VHDL設計流程圖4.1程序設計圖4.1系統(tǒng)的總體模塊圖(1)模塊MS的實現(xiàn)(如圖4.1.1所示)圖4.1.1 模塊MS圖模塊MS,輸入端口CK0、CK1為兩個不同的時鐘信號,來模擬汽車的加速和勻速,JS加速按鍵。(2)模塊SOUT的實現(xiàn)(如圖4.1.2所示) 圖4.1.2 模塊SOUT圖該模塊實現(xiàn)車行狀態(tài)輸出功能,其中clk為時鐘信號,enable 為啟動使能
14、信號,sto暫停信號, clr為清零信號,st為狀態(tài)信號。(3)模塊PULSE的實現(xiàn)(如圖4.1.3所示)圖4.1.3 模塊PULSE圖該模塊實現(xiàn)將時鐘信號5分頻功能。(4)模塊COUNTER的結果驗證(如圖4.1.4所示)圖4.1.4 模塊COUNTER圖實現(xiàn)汽車模擬計費功能。clr1為清零信號,si為狀態(tài)信號,c1,c2,c3分別為費用的三為顯示。(5)模塊SCAN_LED的實現(xiàn)(如圖4.1.5所示)圖4.1.5 模塊SCAN_LED圖該模塊實現(xiàn)顯示車費功能。BT為選位信號,SG譯碼信號4.2系統(tǒng)仿真:系統(tǒng)仿真是在實際系統(tǒng)上進行實驗研究比較困難時適用的必不可少的工具,它是指通過系統(tǒng)模型實驗
15、去研究一個已經(jīng)存在或正在設計的系統(tǒng)的過程,通俗地講,就是進行模型實驗。因而,系統(tǒng)仿真的結果決定整個課程設計任務完成的到位程度。程序輸入完成后進行編譯,編譯完成后,可以對所進行的設計進行仿真,本課程設計的仿真平臺是MAX+plus,通過對VHDL源程序進行編譯檢錯,然后創(chuàng)建波形文件(后綴名為.scf),加入輸入輸出變量,選擇適用的芯片以及設定仿真結束時間,設置好輸入初值進行仿真,得到仿真波形圖:1.模塊MS的結果驗證(如圖4.2.1)圖4.2.1當JS為高電平,CLK_OUT按照CLK1輸出;低電平時,按照CLK0輸出2模塊SOUT的結果驗證(如圖4.2.2)enable高電平時,每一個時鐘上升
16、沿時,CQI計數(shù)加1,若CQI<=30時,state賦01,30<CQI<=80時,state賦10態(tài),.;enable低電平時,CQI計數(shù)暫停,保持不變圖4.2.23模塊PULSE的結果驗證(如圖4.2.3)每個CLK0上升沿時,CNT計數(shù)加1,加到4時在下一個時鐘上升沿賦值0;cnt不為0時fout賦值低電平,否則高電平圖4.2.34模塊COUNTER的結果驗證(如圖4.2.4) SI為出租車狀態(tài)信號:“00”表示計費值停止,Q1Q3不變;“01”計費清零,設置為起步價10元,Q2=1,Q3=0,Q1=0;“10” 正常計費,每公里1元,“11”超過20元后,每公里1.5
17、元;Q1,Q2,Q3的信號分別賦值給C1,C2,C3圖4.2.45模塊SCAN_LED的結果驗證(如圖4.2.5)BT位選,SG譯碼對應數(shù)字09圖4.2.56模塊TAXI的結果驗證(如圖4.2.6)圖4.2.64.3 結果分析出租車計費器系統(tǒng)的設計已全部完成,能按預期的效果進行模擬汽車啟動、停止、暫停等功能,并設計動態(tài)掃描電路顯示車費數(shù)目,由動態(tài)掃描電路來完成。車暫時停止不計費,車費保持不變。若停止則車費清零,等待下一次計費的開始。出租車計費器系統(tǒng)的設計已全部完成,能按預期的效果進行模擬汽車啟動、停止、暫停等功能,并設計動態(tài)掃描電路顯示車費數(shù)目,由動態(tài)掃描電路來完成。車暫時停止不計費,車費保持
18、不變。若停止則車費清零,等待下一次計費的開始。各模塊完成后,在將它們組合成完整的出租車系統(tǒng),在設計過程中還需要改進的是控制系統(tǒng)的糾錯功能。出租車計費系統(tǒng)的設計中體現(xiàn)了覆蓋面廣,描述能力強,是一個多層次的硬件描述語言及PLD器件速度快,使用方便,便于修改等特點,本設計在實用方面具有一定的價值。5 結束語課程設計是我們專業(yè)課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程”千里之行始于足下”,通過這次課程設計,我深深體會到這句千古名言的真正含義我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔跑打下堅實的基礎。通過這次實驗使我收獲很多,對書
19、本理論知識有了進一步加深,初步掌握了MAXPLUSII軟件的一些設計使用方法。對一些器件的使用方法了解更深刻了,如一些器件的使能端的作用等。主要有以下一些實驗感想1、 應該對實驗原理有深刻理解;2、 做實驗必須不急不躁,不能看見其他同學做的快就沉不住氣了;3、 熟練掌握其他軟件是必要的,如Matlab軟件、Excel、Word等;4、 必須學會自己調試電路,一般第一次設計出的電路都會通不過編譯的,所以要學會調試電路,而不是等老師解答或同學幫助;致 謝 經(jīng)過三周的奮戰(zhàn)我的課程設計終于完成了。在沒有做課程設計以前覺得課程設計只是對這半年來所學知識的單純總結,但是通過這次做課程設計發(fā)現(xiàn)自己的看法有點
20、太片面。課程設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。在這次課程設計中也使我們的同學關系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學。在此要感謝我們的指導老師陳老師對我們悉心的指導,感謝老師們給我們的幫助。在設計過程中,我通過查閱大量有關資料,與同學交流經(jīng)驗和自學,并向老師請教等方式,使自己學到了不少知識,也經(jīng)歷了不少艱辛,收獲頗豐。參考文獻1曹昕燕,周鳳臣,聶春燕.EDA技術實驗與課程設計【M】.清華大學出版社2劉欲曉,方強,黃宛寧.EDA技術與VHDL電路開發(fā)應用實踐【M】.電子工業(yè)出版
21、社3潘松,黃繼業(yè).EDA技術實用教程(第三版)【M】.科學出版社4 趙巖嶺,劉春等.在MAX+PLUSII平臺下用VHDL進行數(shù)字電路設計.西安:希典出版社,20055 康華光主編.電子技術基礎模擬部分.北京:高等教育出版社,20066 閻石主編.數(shù)字電子技術基礎.北京:高等教育出版社,2003 附錄1:模塊MS清單/ 程序名稱:MS/ 程序功能:模塊MS,輸入端口CK0、CK1為兩個不同的時鐘信號,來模擬汽車的加速和勻速,JS加速按鍵。/ 程序作者:金人佼/ 最后修改日期:2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MS
22、 IS PORT(CK0:IN STD_LOGIC; /慢速檔的時鐘信號 CK1:IN STD_LOGIC; /快速檔的時鐘信號 JS:IN STD_LOGIC; /換擋按鍵信號 CLK_OUT:OUT STD_LOGIC);END MS;ARCHITECTURE ONE OF MS ISBEGIN PROCESS(JS, CK0,CK1) BEGIN IF JS='0' THEN CLK_OUT<=CK0; /JS低電平,則為慢速檔 ELSE CLK_OUT<=CK1; /JS高電平,快速檔 END IF; END PROCESS;END ONE;附錄2:模塊SO
23、UT清單/ 程序名稱:SOUT/ 程序功能:該模塊實現(xiàn)車行狀態(tài)輸出功能,其中clk為時鐘信號,enable 為啟動使能信號,sto暫停信號, clr為清零信號,st為狀態(tài)信號。/ 程序作者:金人佼/ 最后修改日期:2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SOUT IS PORT(CLK:IN STD_LOGIC; ENABLE:IN STD_LOGIC; STO :IN STD_LOGIC; CLR:IN STD_LOGIC; ST:OUT STD_LOG
24、IC_VECTOR(1 DOWNTO 0);END SOUT;ARCHITECTURE ONE OF SOUT ISBEGIN PROCESS(CLK,ENABLE ,STO,CLR) VARIABLE CQI:STD_LOGIC_VECTOR(7 DOWNTO 0); VARIABLE STATE:STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN IF CLR='0' THEN CQI:=(OTHERS=>'0'); /CLR低電平,CQI清零 ELSIF CLK'EVENT AND CLK='1' THEN
25、 /CLK上升沿觸發(fā) IF STO='1' THEN STATE:="00"CQI:=CQI; /STO高電平時,state賦00態(tài) ELSIF ENABLE ='1' THEN /ENABLE高電平,CQI計數(shù)加1 CQI:=CQI+1; IF CQI<=30 THEN STATE:="01" /CQI<=30時,state賦01態(tài)ELSIF CQI>30 AND CQI<=80 THEN STATE:="10" /30<CQI<=80時,state賦10態(tài) ELS
26、E STATE:="11" /CQI>80時,state賦11態(tài) END IF; END IF; END IF;ST<=STATE;END PROCESS;END ONE;附錄3:模塊PULSE/ 程序名稱:PULSE/ 程序功能:該模塊實現(xiàn)將時鐘信號5分頻功能。/ 程序作者:金人佼/ 最后修改日期:2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY PULSE IS PORT(CLK0:IN STD_LOGIC; FOUT:OUT S
27、TD_LOGIC);END PULSE;ARCHITECTURE ONE OF PULSE ISBEGIN PROCESS(CLK0) VARIABLE CNT:STD_LOGIC_VECTOR(2 DOWNTO 0); VARIABLE FULL :STD_LOGIC; BEGIN IF CLK0'EVENT AND CLK0='1' THEN IF CNT="100" THEN /CNT計數(shù)到5(“100”) CNT:="000" ; /CNT清零 FULL:='1' /FULL高電平 ELSE CNT:=CN
28、T+1; /否則計數(shù)CNT加1 FULL:='0' /FULL賦低電平 END IF; END IF;FOUT<=FULL; /FULL為CLK的五分頻信號,賦值給FOUT做輸出信號END PROCESS;END ONE;附錄4:模塊COUNTER/ 程序名稱:COUNTER/ 程序功能:實現(xiàn)汽車模擬計費功能。clr1為清零信號,si為狀態(tài)信號,c1,c2,c3分別為費用的三為顯示。/ 程序作者:金人佼/ 最后修改日期:2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNE
29、D.ALL;ENTITY COUNTER IS PORT(CLK_DIV:IN STD_LOGIC; CLR1:IN STD_LOGIC; SI:IN STD_LOGIC_VECTOR(1 DOWNTO 0); C1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); C2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); C3:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COUNTER;ARCHITECTURE ONE OF COUNTER ISBEGIN PROCESS(CLK_DIV,CLR1,SI) VARIABLE Q1
30、: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE Q2: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE Q3: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF CLR1='0' THEN Q1:="0000"Q2:="0000"Q3:="0000" /CLR低電平,清零 ELSIF CLK_DIV'EVENT AND CLK_DIV='1' THEN /CLK_DIV上升沿觸發(fā) CASE SI IS /
31、SI:“00”表示計費值停止,“01”計費清零,設置為起步價10元,“10” 正常計費,每公里1元,“11”超過20元后,每公里1.5元; WHEN "00" =>Q1:=Q1;Q2:=Q2;Q3:=Q3; WHEN "01"=> Q1:="0000"Q2:="0000"Q3:="0001" /起步價10元 WHEN "10"=> IF Q2<"1001" THEN Q2:=Q2+1; ELSE Q2:="0000&quo
32、t; IF Q3<"1001" THEN Q3:=Q3+1; END IF; END IF; Q1:="0000" WHEN "11"=> IF Q1<"0101" THEN Q1:=Q1+5; ELSE Q1:="0000" END IF; IF Q1="0101" THEN IF Q2<"1001" THEN Q2:=Q2+1; ELSE Q2:="0000" IF Q3<"1001"
33、; THEN Q3:=Q3+1; END IF; END IF; ELSE IF Q2<"1001" THEN Q2:=Q2+2; ELSE Q2:="0001" IF Q3<"1001" THEN Q3:=Q3+1; END IF; END IF; END IF; WHEN OTHERS=>NULL; END CASE;END IF;C1<=Q1;C2<=Q2;C3<=Q3;END PROCESS;END ONE;附錄5:模塊SCAN_LED的實現(xiàn)/ 程序名稱:SCAN_LED/ 程序功能:該模塊
34、實現(xiàn)顯示車費功能。BT為選位信號,SG譯碼信號。/ 程序作者:金人佼/ 最后修改日期:2010.12.31LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SCAN_LED IS PORT(DI1:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DI2:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DI3:IN STD_LOGIC_VECTOR(3 DOWNTO 0); CLK2:IN STD_LOGIC; SG:OUT STD_LOGIC_VEC
35、TOR(6 DOWNTO 0); BT:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END SCAN_LED;ARCHITECTURE ONE OF SCAN_LED IS SIGNAL CNT4 :STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL A:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP1:PROCESS(CLK2)VARIABLE SQ :STD_LOGIC_VECTOR(1 DOWNTO 0); BEGIN IF CLK2'EVENT AND CLK2='1' THEN IF SQ=&q
36、uot;10" THEN SQ:="00" /位選信號,1-3位循環(huán) ELSE SQ:=SQ+1; END IF; END IF; CNT4<=SQ;END PROCESS P1;P2: PROCESS (CNT4) BEGIN CASE CNT4 IS WHEN "00" =>BT<="001"A<=DI1; WHEN "01"=>BT<="010"A<=DI2; WHEN "10"=>BT<="10
37、0"A<=DI3; WHEN "11"=>BT<="100"A<="1111" WHEN OTHERS =>NULL; END CASE;END PROCESS P2; P3:PROCESS(A) BEGIN CASE A IS /根據(jù)A的值,顯示09 WHEN "0000"=>SG<="0111111" /數(shù)碼管顯示數(shù)字0 WHEN "0001"=>SG<="0000110" /數(shù)碼管顯示數(shù)
38、字1 WHEN "0010"=>SG<="1011011" /數(shù)碼管顯示數(shù)字2 WHEN "0011"=>SG<="1001111" /顯示數(shù)字3 WHEN "0100"=>SG<="1100110" /顯示數(shù)字4 WHEN "0101"=>SG<="1101101" /顯示數(shù)字5 WHEN "0110"=>SG<="1111101" /
39、顯示數(shù)字6 WHEN "0111"=>SG<="0000111" /顯示數(shù)字7 WHEN "1000"=>SG<="1111111" /顯示數(shù)字8 WHEN "1001"=>SG<="1101111" /顯示數(shù)字9 WHEN OTHERS=>NULL; END CASE;END PROCESS P3;END ONE ;附錄6:模塊TAXI/ 程序名稱:TAXI/ 程序功能:該模塊為最終的頂層模塊。/ 程序作者:金人佼/ 最后修改日期:
40、2010.12.31LIBRARY IEEE;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY TAXI IS PORT(T_CLK0:IN STD_LOGIC; T_CLK1:IN STD_LOGIC; T_CLK2:IN STD_LOGIC; T_JS :IN STD_LOGIC; T_ENABLE:IN STD_LOGIC; T_CLR:IN STD_LOGIC; T_STO:IN STD_LOGIC; T_BT: OUT STD_LOGIC_VECTOR(2 DOWNTO 0); T_SG: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END TAXI;ARCHITECTURE STRUC OF TAXI IS /頂層模塊設計COMPONENT MSPORT(CK0:IN STD_LOGIC; CK1:IN STD_LOGIC; JS:IN STD_LOGIC; CLK_OUT:OUT STD_LOGIC);END COMPONENT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑物外立面改造方案
- 房屋基礎施工工藝方案
- 2026年機器人集成公司客戶流失預警與挽回管理制度
- 2026年機器人集成公司集成技術數(shù)據(jù)分析管理制度
- 消防救援隊伍建設與管理方案
- 室內(nèi)外立面裝飾施工方案
- 混凝土工藝改進技術方案
- 電解鋁產(chǎn)能置換項目施工方案
- 污水廠改建項目技術方案
- 砌體工程施工過程文檔管理方案
- 特殊作業(yè)安全管理監(jiān)護人培訓課件
- 成本限額及配置標準
- 房屋市政工程生產(chǎn)安全重大事故隱患判定標準(2024版)宣傳畫冊
- 2020高職院校教學能力比賽大學語文課程實施報告(定)
- 化工廠叉車安全操作應急預案
- 長期合作協(xié)議書合同書
- DB11∕T 353-2021 城市道路清掃保潔質量與作業(yè)要求
- 浙江省小型液化天然氣氣化站技術規(guī)程
- 生物化學基礎與應用智慧樹知到期末考試答案章節(jié)答案2024年四川工商職業(yè)技術學院
- GB/T 2910.11-2024紡織品定量化學分析第11部分:某些纖維素纖維與某些其他纖維的混合物(硫酸法)
- GIS組合電器概述
評論
0/150
提交評論