EDA出租車計費器解讀_第1頁
EDA出租車計費器解讀_第2頁
EDA出租車計費器解讀_第3頁
EDA出租車計費器解讀_第4頁
EDA出租車計費器解讀_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、北京聯(lián)合大學課程設計報告課程名稱:電工電子技術課程設計實驗名稱:基于 Verilog HDL的出租車計費器的程序設計 學院:專業(yè):班級:自動化物流1201B 成績:姓 名:學號:_2015年1 月 23 日前言:本次課程設計主要是基于FPGA芯片,使用硬件描述語言Verilog HDL 采用“自頂向下”的設計方法, 編寫一個出租車計費器芯片, 并使用 Quartus II6.0 軟件仿真平臺。本文主要描述了出租車計費器的設計思路與模塊劃分。把出租車 計費器劃分為兩大模塊,共同實現(xiàn)了出租車計費以及預置和模擬汽車啟動、停止、 暫停等功能,并動態(tài)掃描顯示車費數(shù)目。最后,使用Quartus II6.0

2、 仿真平臺對每個模塊和主程序分別進行了仿真,并對仿真出來的波形作了分析。Verilog HDL和VHDL是目前世界上最流行的兩種硬件描述語言( HDL Hardware DescriptionLanguage),均為IEEE標準,被廣泛地應用于基于可編程邏輯器件的項目開發(fā)。二者都是在 20 世紀 80 年代中期開發(fā)出來的,前者由 Gateway Desig n Automatio n公司(該公司于1989年被Cade nee公司收購)開 發(fā),后者由美國軍方研發(fā)。HDL語言以文本形式來描述數(shù)字系統(tǒng)硬件結構和行為,是一種用形式化方法來 描述數(shù)字電路和系統(tǒng)的語言,可以從上層到下層來逐層描述自己的設計

3、思想。即 用一系列分層次的模塊來表示復雜的數(shù)字系統(tǒng),并逐層進行驗證仿真,再把具體 的模塊組合由綜合工具轉化成門級網(wǎng)表,接下去再利用布局布線工具把網(wǎng)表轉化 為具體電路結構的實現(xiàn)。目前,這種自頂向下的方法已被廣泛使用。本次設計的目的就是在掌握計算機組成原理理論的基礎上,了解EDA技術,掌握VerilogHDL硬件描述語言的設計方法和思想,通過學習的VerilogHDL語言結合電子電路的設計知識理論聯(lián)系實際,掌握所學的課程知識,通過本課程設 計,達到鞏固和綜合運用計算機原理中的知識,理論聯(lián)系實際,鞏固所學理論知 識,并且提高自己通過所學理論分析、解決計算機實際問題的能力。通過這次EDA方面的課程設計

4、,可以提高我們對EDA領域及通信電路設計領域 的認識,有利于培養(yǎng)我們在通信電路EDA方面的設計能力。特別有利于鍛煉我們獨立分析問題和解決問題的能力。設計過程的復雜加老師的嚴格要求有益于培養(yǎng) 我們嚴謹?shù)墓ぷ髯黠L。目錄一、Verilog HDL語言的功能、設計方法及 Quartus 116.0 設計流程 11.1 Verilog HDL語言的功能、設計方法 11.2 Quartus II6.0 設計流程 2二、整體設計方案 32.1 設計要求 32.2 設計原理 32.3 電路符號 32.4設計方法 4三、上機步驟及模擬仿真 43.1 新建第一個工程 43.2生成一個控制模塊 53.3新建第二個工

5、程 53.4生成譯碼顯示模塊 63.5新建第三個工程 63.6 進入仿真界面 73.7賦值及仿真 8四、試驗箱實物模擬 104.1 管腳配置選擇 104.2選擇線箱 blatterfally11 104.3試驗箱效果驗證 11五、課程設計及工作進程 12六、參考文獻 12七、實驗總結 12八、附錄實驗代碼清單 128.1 控制模塊實驗代碼清單 138.2譯碼顯示模塊實驗代碼清單 16一、VerilogHDL語言的功能、設計方法及 Quartus 116.0 設計流程1.1 Verilog HDL語言的功能、設計方法Verilog HDL語言以文本形式來描述數(shù)字系統(tǒng)硬件結構和行為,是一種用形 式

6、化方法來描述數(shù)字電路和系統(tǒng)的語言,可以從上層到下層來逐層描述自己的設 計思想。即用一系列分層次的模塊來表示復雜的數(shù)字系統(tǒng),并逐層進行驗證仿真, 再把具體的模塊組合由綜合工具轉化成門級網(wǎng)表,接下去再利用布局布線工具把 網(wǎng)表轉化為具體電路結構的實現(xiàn)。目前,這種自頂向下的方法已被廣泛使用。VerilogHDL既是一種行為描述語言,也是一種結構描述語言。如果按照一定的規(guī)則和風格編寫代碼,就可以將功能行為模塊通過工具自動轉化為門級互連的結 構模塊。這意味著利用 Verilog 語言所提供的功能,就可以構造一個模塊間的清 晰結構來描述復雜的大型設計,并對所需的邏輯電路進行嚴格的設計。下面列出 的是 Ver

7、ilog 語言的主要功能:(1 ) 可描述順序執(zhí)行或并行執(zhí)行的程序結構;(2)用延遲表示式或事件表達式來明確地控制過程的啟動時間;(3)通過命名的事件來觸發(fā)其他過程里的激活行為或停止行為;(4)提供了條件和循環(huán)等程序結構;(5)提供了可帶參數(shù)且非零延續(xù)時間的任務程序結構;(6)提供了可定義新的操作符的函數(shù)結構;(7)提供了用于建立表達式的算術運算符、邏輯運算符和位運符;(8)提供了一套完整的表示組合邏輯基本元件的原語;(9)提供了雙向通路和電阻器件的描述;(10)可建立M0器件的電荷分享和衰減模型;(11)可以通過構造性語句精確地建立信號模型;VerilogHDL設計方法:1. 自下而上的設計

8、方法自下而上的設計是傳統(tǒng)的設計方法, 是從基本單元出發(fā), 對設計進行逐層劃分的過程。這種設計方法與用電子元件在模擬實現(xiàn)板上建立一個系統(tǒng)的步驟有密切 的關系。優(yōu)、缺點分別如下:優(yōu)點:設計人員對這種設計方法比較熟悉;實現(xiàn)各個子模塊所需的時間較短。缺點:對系統(tǒng)的整體功能把握不足;由于必須先對多個子模塊進行設計,因此 實現(xiàn)整個系統(tǒng)的功能所需的時間長;另外,對設計人員之間相互協(xié)作也有較高的 要求。2. 自上而下的設計方法自上而下的設計是從系統(tǒng)級開始, 把系統(tǒng)劃分為基本單元, 然后再把基本單元 劃分為下一層次的基本單元,直到可用 EDA元件實現(xiàn)為止。這種方法的優(yōu)、缺點 如下。優(yōu)點:在設計周期開始就做好了系

9、統(tǒng)分析; 由于設計的主要仿真和調試過程是 在高層完成的,所以能夠早期發(fā)現(xiàn)結構設計上的錯誤,避免了設計工作的浪費, 方便了系統(tǒng)的劃分和整個項目的管理,可減少設計人員勞動,避免了重復設 計。缺點:得到的最小單元不標準,且制造成本高。3. 混合的設計方法復雜數(shù)字邏輯電路和系統(tǒng)設計過程, 通常是以上兩種設計方法的結合。 設計時 需要考慮多個目標的綜合平衡。在高層系統(tǒng)用自上而下的設計方法實現(xiàn),而使用 自下而上的方法從庫元件或以往設計庫中調用已有的設計單元?;旌显O計方法兼 有以上兩種方法的優(yōu)點,并且可使用先進的矢量測試方法。1.2 Quartus II6.0 設計流程(1)設計輸入:可以采用原理圖輸入、H

10、DL語言描述及波形輸入等幾種方式。(2)編譯:先根據(jù)設計要求設定編譯參數(shù)和編譯策略,如器件的選擇、邏輯 綜合方式的選擇等。然后根據(jù)設定的參數(shù)和策略對設計項目進行邏輯綜合和器件 適配,并產(chǎn)生報告文件、延時信息文件及編程文件,供分析仿真和編程使用。(3)仿真:仿真包括功能仿真、時序仿真和定時分析,可以利用軟件的仿真 功能來驗證設計項目的邏輯功能是否正確。( 4)編程與驗證:用經(jīng)過仿真確認后的編程文件通過編程器( Programmer) 將設計下載到實際芯片中,最后測試芯片在系統(tǒng)中的實際運行性能。在設計過程中,如果出現(xiàn)錯誤,則需重新回到設計輸入階段,改正錯誤或調 整電路后重復上述過程。二、整體設計方

11、案2.1設計要求(1) 實現(xiàn)計費功能,計費標準為:按行駛里程計費,起步價為 6.00元,并在車 行駛3km后按1.2元/km計費,當計費器達到或超過20元時,每千米加收50%勺 車費,車輛停止和暫停時不計費。(2) 現(xiàn)場模擬汽車的啟動、停止、暫停、換擋等狀態(tài)。(3) 設計數(shù)碼管動態(tài)掃描電路,將車費和路程顯示出來,各有兩位小數(shù)。2.2設計原理設計該出租車有啟動鍵,停止鍵,暫停鍵和檔位鍵。啟動鍵為脈沖觸發(fā)信號, 當其為一個脈沖時,表示車已經(jīng)啟動,并根據(jù)車速的選擇和基本車速發(fā)出相應頻 率的脈沖(計費脈沖)以此來實現(xiàn)車費和路程的計數(shù),同時車費顯示起步價;當 停止鍵為高電平時,表示汽車熄火,同時停止發(fā)出

12、脈沖,此時車費和路程計數(shù)清 零;當暫停鍵為高電平時,表示汽車暫停并停止發(fā)出脈沖,此時車費和路程計數(shù) 暫停;檔位鍵用于改變車速,不同的檔位對應著不同的車速,同時路程計數(shù)的速 度也不同。該出租車計費器分為兩大模塊,即控制模塊和譯碼顯示模塊。系統(tǒng)框架圖如圖 1所示,控制模塊實現(xiàn)了計費和路程的計數(shù),并且通過不同的檔位來控制車速。譯 碼顯示模塊實現(xiàn)十進制數(shù)到4位十進制數(shù)的轉換,以及車費和路程的顯示。圖1:系統(tǒng)框圖2.3電路符號出租車計費器的電路符號如圖2所示。輸入信號:計費時鐘脈沖 elk ;譯碼高頻時鐘clk20mhz;汽車啟動鍵start ;汽車停止鍵stop ;汽車暫停鍵pause;檔位speed

13、up1.0。輸出信號:數(shù)碼管地址選擇信號費用 m_one3.0,m_ten3.0m_hun3.0, m_tho3.0;路程 d_ one3.0, d_ ten3.0, d_ hun3.0,d_ tho3.0比<w*irPJ 創(chuàng)Itc&lm_*r*p0nwft<y_in!12 0|mjrnp0】<bufK*_in|l3 Qm_huftpqm jhop円心噪OJdl_WlPd_bunp06mt5#圖2計費器的電路符號2.4設計方法自底向上的混合編輯 采用混合編輯法,設計不同的模塊,最后在原理圖編輯 器中連接各模塊作為頂層設計,其電路如圖3所示,其中guange1是控制模塊

14、,gua nge2是譯碼顯示模塊。“ 訂p - w'-r 4t Tim < 1出ftpF«|ifKlljttJ> t 0 dirr-! r nr -r- ir r p l-r| I5申q圖3出租車計費器電路圖三、上機步驟及模擬仿真3.1新建第一個工程,命名為guange1并選擇如圖所示芯片,分別如圖 4和圖5 所示。#Device Set tinfs pbe 3 at bjwhJi it Iht Hk中 MtflMj ta 由址 puitd?忙址loeuwih *and如aMtmwoe*Wh:耳 its naw 時 Hw prapcJ?Whtrt r the- n

15、aw d the icp-level d«d «rtty ler ilwTH?- n-am» if caw wwijw? -sod nwtthe Ed圉 n«w hdnign Bw.亡1 lh* iMf Ind d*>3 ydu w4r »t» WigAJMnFw:rTHfHdtMQ*廣 Ado sdsrai Mcfied 創(chuàng) haWdv*«'AvAbb dwiQF1 WShow n 'AvHaji 如心* kriPwkagB |Aifl_ZPh coui:Ep«*dgild*An'M

16、aUei deviCEUa* E 昭陽孕 Pn(KX S*lhnpN*wI LEs I Me. I FU.l*EDiect ln-ard*. Ui rect o rr. 9ue- Io|>-LtTel Ent it ? Lp iM-. X Bev IED £:ct 1i.i.ae<I l6EPlCtF25KG5SM蛍1GCEP1CEF2ME7saaiS21BDEF1C6F25ECS5®a®1GflEPlKFfi?遜EF1C6Q2JI0C55®090150EP1KO240Z75®f:j'i:iEPICECIZDCB5SD321

17、EJJ2 2- 2 2 z 2詠彌H |F Utt. DSP:i -AM la HszUgy II dem rwfrjtwK機、| FLwh |圖4新建工程1圖5選擇相應芯片3.2選擇使用Verilog HDL File語言輸入控制模塊代碼運行成功以后點擊creat/update 生成一個控制模塊,如圖6所示。S?>bDl圖7生成的控制模塊3.3新建第二個工程,命名為guange2并選擇如圖所示芯片,分別如圖8和圖9所 示O#ViiAEdL Pull? E Device- li«tt戸血復亡 3 af EJXPEajecdt liKMd.:l-uc-,. Tp-L“e丄 Ent

18、 it j piif. - |X , Ba Pi± IhtdMduij fa 曲 pUftd?ICUlixUMris wdSeii s::'A-:、嚇:址:J. iRus x'2Whflt r- the- na« cri th* prapct?'Vhtf n- the nsw M the icp-level ds+jn erriy Icr ihs pcfKi? TH?- n-am i$ caw spnuij*? wd nurt 耐時 m Ely Miw in i#w dsgn 嵐弓 IMInd atrret 典u wi 掃 14 ta (sUtfaU

19、KmFan:TJNHdkC*廣削Aq天如加1創(chuàng)ha FUl0 Wpc古 如g wdwJ h 'Awfliflbk ck'kflf'即Show n 'AvAbh rfeMw'垣PricoiriEH*d 舉"*Dm曲卯P Shew Ajf"-flTT:d1丹Ua*PwfKX S«ihngriNan?I LE?EP1CtF25Kfi5®0EP1CEFZHZ75331EF1ttf25fiC35930EPlLfcf-Sfl?E円CM申IM剛EP1ttfl24OZ75®dEP1EEHZJIDZH啊Ewr” Pi丄2

20、J-22 Z2JGDBD6D帥wEnEl胡SJIffil沖K1SS17#IP UTT: DSP I -AH hII .±!hi:e r«o-jQ«-t D*ek |K聯(lián)| FLimliK機、| Jln“h |圖8新建工程2圖9選擇相應芯片3.4選擇使用Verilog HDL File語言輸入控制模塊代碼運行成功以后點擊creat/update 生成一個譯碼顯示模塊,如圖10所示。S7*bolXLibraries田 O Project円 O c:/qartu$ii/libfane$ZName:fguange2lclklm_cme :.nwstyJnilli-.Dmj

21、tn3.D)distance_in12.Dm_hunf3.OmjhQ311Ddjjne3.0 心吋 djiun3.fld iho卩Ji二一#inst_ Repeat-insert modeInsert symbol aS block 廠 Launch MeflaWisard PluainMeflaWisfd Plug-In Manager.KCancel圖10生成的譯碼顯示模塊3.5新建第三個工程,并命名為guange3,選擇相應的芯片。將第一個工程及第二 個工程產(chǎn)生的文件放入第三個工程的文件夾中,新建 Block Diagram/Schematic File文件,分別調用控制模塊和譯碼顯示模

22、塊,調用輸入和輸出端將電路圖連接#如圖11所示吾*! L Jfa iw rajiacl. ii F|nuwi.D<i. 3 ndcv |«lp8Inf o; Info: If D!oi Info:Ended.at Thu J-an £2 11; 43; 05 201-5Sukud. Piogtauet 心護“ciMi ac Tbu Jan 據(jù) ISOBslO 2015 匚D»£lurlKig djfcvlc« ihiLe-x 1Device-丄 caocaiEis JTJlG- lb co<ie 0x020A-20t)DCnntio

23、M工削Eim suoceeded -丄 device |s) cttLEiffuttd prcf'Qikf-d.Ini 01Ended PxoqE-asjQkEE <rpeiation at Thu J-an Z2 IZsOBeII 2015 人 Plocmting 豪 EHmIrId 入 Inh 入CcdWanngEnw SupfMB5?vd /MmTSP5圖11整體電路圖3.6選擇Vector WaveformFile并調用所有輸入和輸出端進入仿真界面,分別如圖12、圖13和圖14所示。UhtDevice Design Files Uther RiesAH DL Includ

24、e FifeBlock Simnbol FileChain Description File Hexadecimal (lnt«l>Farmai: File Logic Analyzer Intejface File Memory Initializaton File SignalTap I I FileTcIScrFileT ext FileDK I Cancel圖 12 選擇 Vector Waveform File#ode Jr i ndnr承JanwArwimeri 人PIN 153Od_KnNl 0_hu圖 <*4_h3) LKd_t)reOd_(M01 <

25、;>d_onclj<LT3o(UZa 4J列刖 txd_tho AgihofOlFIH.M UlUllld RN ?tF1H 120NP1丄I0_±JPin&PJN17PIN 19Fm 133NUM-uD4Q<JDDtJ<J“ 2<JQ<1-<JUD 電9圖13調用所有輸入和輸出端吾*£_扌1 gdi 10 ky r-ajiacli gTn»Tbtci. P|ac»i.i.Laf *Jod1 i. Ha ndov |C«lp#圖14進入仿真頁面3.7分別對elk和高頻clkl進行賦值如圖15和圖

26、16所示,并給start 一個高電平,間隔一段時間再給pause賦值一個高電平,給speedup賦值一個2檔的電平其仿真結果如圖17所示圖15給elk賦值圖16給elkl賦值知曽T誕Em1O.E5rtt鄭怙:-總Sinl噩血*禺i0 0 H_/|¥1石-五匸0 I.血0 jnr+3 =血0 rpNiisiirt!Lcp0 |QlbVilu10.3TcB 1IK1CVCUC1CIK1CBCEC釋ECEC3 moco:Erd16 72 us liteivat圖17仿真結果結合前面各模塊的輸入、輸出端功能介紹和各模塊仿真圖像說明,可以看出,該 綜合模塊正常運行。換成十進制顯示以后可以看出,

27、起步價為6.00元,距離為公里時,費用變?yōu)?.20元,距離為4公里時,費用為8.40元,符合預期邏輯, 具有可行性。四、實驗箱實物模擬4.1點擊assignments-pin planner進行管腳配置選擇,如圖18所示圖18管腳配置選擇點擊 programmer選擇線箱 blatterfallyll ,如圖 19 所示。12吾*P11« Idi t ¥ ?_irajiHcl An i gTn»Tkti. PrIV A危)guanflfflb. 童 7.4arce2 v | 邑 uuangel.v 令 匚cmp4a6ci 邑 Wmwfam. | 令 5feiicc

28、. ® guanDslcd 啓 FiiPlsfwe' | 直 9y*ng83.EyhsBkHldl J-PT1100%FkI Pioflr-am? | 匚 Df6gu上叭1瞄EijnirbftBriEiasiitHfiEPl出DOftBlffilFffFFFFFsI圖 19 選擇線箱 blatterfallyll4.3點擊start將程序導入線箱中,進行效果驗證,結果如圖20和圖21所示所示13吾*P11« Idi t ¥ ?_irajiHcl An i gTn»Tkti. Pr#吾*P11« Idi t ¥ ?_irajiH

29、cl An i gTn»Tkti. Pr圖20試驗箱實物模擬#如上圖所示,數(shù)碼管的前四位表示的是出租車的計數(shù)費用,6表示的是起步價6元 錢,后兩位是小數(shù)點;數(shù)碼管的后四位表示的是出租車的行駛路程,后兩位是小 數(shù)點,15表示的是0.15公里,其邏輯符合預期功能,利用換擋鍵可實現(xiàn)不同檔位 的行駛速度,按下pause鍵,路程和費用暫停計數(shù),按下 stop鍵,路程和費用清 零。其邏輯符合預期功能。1jpiMliJ J *|15r-SSOPC/EDA組成原理實驗開發(fā)系營fr "單片機僅快i圖21試驗箱實物模擬如上圖所示,當路程為17.51km時,計數(shù)費用為25.80元,符合預期設計效

30、果五、課程設計工作進程5.1設計小組的分工及工作安排管水城:主要負責該命題的確立及該實驗框架的構思設計,模塊的的設計,實驗 代碼的設計與修改,試驗箱實物模擬。歐陽慧:主要負責資料的收集及代碼的書寫與修改,各模塊圖的仿真。5.2設計中遇到的問題以及解決方法:在控制模塊和譯碼顯示模塊分別仿真成功 以后,連接兩模塊并進行綜合仿真出現(xiàn)的主要問題是計費輸出無信號,不能達到 預期的出租車的計費效果,在老師的指導下,在仿真界面中,我們調用了in sertmonery輸出端,最終達到了預期的設計效果。六、參考文獻基于Quartusll的數(shù)字系統(tǒng)Verilog HDL設計實例詳解 周潤景,蘇良碧編著, 電子工業(yè)

31、出版社, 2010年 5月出版。七、實驗總結本次課程設計要求基于可編程邏輯器件,使用硬件描述語言Verilog HDL編寫一個出租車計費器控制器芯片,并用 Quartus ll6.0 軟件平臺進行仿真。根據(jù) 自己對出租車從啟動計費到停車過程的理解,其過程可描述為預置、模擬汽車啟 動、停止、暫停等功能,并動態(tài)掃描顯示車費數(shù)目。由此必需設計出 2 個大的模 塊:一是控制模塊,此模塊控制汽車的加速或勻速狀態(tài);二是動態(tài)里程顯示模塊, 此模塊的主要功能是隨時顯示車行的路程和計數(shù)費用。在整個設計過程當中, 首先要根據(jù)模塊設計所要達到的要求編寫源代碼, 在編 寫完后編譯的過程中經(jīng)常會出現(xiàn)程序編譯錯誤。根據(jù)系

32、統(tǒng)提示,我找到了錯誤的 位置,然后查詢錯誤的原因。通過和同學探討,或者請教老師,所有的問題都一 一解決了在整個電路設計完畢并仿真成功后發(fā)現(xiàn),其實整個電路設計實現(xiàn)的功能還 是比較實用和易于操作的,而自己也為此付出了許多:從根據(jù)課題要求查找相關 資料,學習硬件語言,到自己能夠獨立編寫小程序;從對 Quartus ll6.0 軟件平 臺的摸索,一次次修改程序,到仿真得到較滿意的結果;在設計過程中遇到了很 多困難,在指導老師的指引和同學的幫助下,通過不斷探索學習,使問題得到了 一定的解決。終于使出租車計費器各模塊的功能正常運行,仿真成功,進而,整 個計費器系統(tǒng)成功仿真運行成功。通過這兩個星期的課程設計

33、的學習, 我從中學習到了很多, 對可編程邏輯器件,Verilog HDL語言,Quartus II6.0 軟件平臺有了一定的了解,尤其是用 VerilogHDL語言編程和仿真。在本次設計中最大的收獲是在不斷地發(fā)現(xiàn)問題,分析問題,解決問題的過程中培養(yǎng)了自己的科研能力,為今后的學習和工作積累 了一定的經(jīng)驗。八、附錄實驗代碼清單8.1 控制模塊實驗代碼清單Module guange1(money,distance,clk,start,stop,pause,speedup);15#input clk;/記費時鐘input start;/汽車啟動input stop;/汽車停止input pause;/

34、汽車暫停input1:0 speedup; /擋位(4 個擋位)output12:0 money; /車費16output12:0 distance;/ reg12:0 money; reg12:0 distance; reg12:0 money_reg; / reg12:0 distance_reg;/ reg3:0 num;/reg12:0 dis; / reg d; always(posedge clk) begin if(stop) /begin money_reg<='d0; distance_reg<='d0; dis<='d0; num&

35、lt;='d0;endelse if(start) /begin money_reg<='d6; distance_reg<='d0; dis<='d0; num<='d0;路程車費寄存器路程寄存器控制車速的記數(shù)器千米記數(shù)器汽車停止,記費和路程清零啟動后,起步價為 6 塊錢18endelsebeginif(!start&&!speedup&&!pause&&!stop) /1 檔 beginif(num='d9)begin num<='d0; distance_

36、reg<=distance_reg+1; dis<=dis+1;#endelsebegin num<=num+1;endendelse if(!start&&speedup='b01&&!pause&&!stop) /2 檔 beginif(num='d9)begin num<='d0; distance_reg<=distance_reg+2;dis<=dis+2;endelsebegin num<=num+1;endendelse if(!start&&spee

37、dup='b10&&!pause&&!stop) /3 檔beginif(num='d9)begin num<='d0;distance_reg<=distance_reg+5;dis<=dis+5;endelsebegin num<=num+1;endendelse if(!start&&speedup='b11&&!pause&&!stop) /4檔begindistance_reg<=distance_reg+1;dis<=dis+1;end

38、endif(dis>='d100)begin d<='d1;dis<='d0;endelsebegin d<='d0;endif(distance_reg>='d300) / 如果超過 3 公里,按照 1.2 元 每公里計算beginif(money_reg<'d2000&&d='d1)begin money_reg<=money_reg+'d12;endelse if(money_reg>='d2000&&d='d1) /當記費器達到

39、一個 20 元時,每公里加收 50%的車費begin money_reg<=money_reg+'d18;endendmoney<=money_reg; distance<=distance_reg;end endmodule8.2 譯碼顯示模塊實驗代碼清單 module guange2(clk1,money_in,distance_in,m_one,m_ten,m_hun,m_tho,d_one,d_ten, d_hun,d_tho);/output7:0scan; /output6:0seg7;/output dp;output3:0 m_one,m_ten,m_

40、hun,m_tho;output3:0 d_one,d_ten,d_hun,d_tho;input clk1;input12:0 money_in;input12:0 distance_in;/reg7:0 scan;/reg6:0 seg7; /reg dp; reg clk2;/reg3:0 reg3:0 m_one,m_ten,m_hun,m_tho;reg3:0 d_one,d_ten,d_hun,d_tho; reg15:0 count;reg15:0 comb1;reg3:0 comb1_a,comb1_b,comb1_c,comb1_d;reg15:0 comb2;reg3:0

41、comb2_a,comb2_b,comb2_c,comb2_d;/reg2:0 cnt;always (posedge clk1)begin/if(count='d10000)/begin clk2<=clk2;count<='d0;end/else/begin count<=count+1;endif(comb1<money_in)begin if(comb1_a='d9&&comb1_b='d9&&comb1_c='d9) begincomb1_a<='b0000;comb1_b<='b0000;comb1_c<='b0000; co

溫馨提示

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

評論

0/150

提交評論