基于VHDL語言的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)_第1頁
基于VHDL語言的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)_第2頁
基于VHDL語言的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)_第3頁
基于VHDL語言的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)_第4頁
基于VHDL語言的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、主要 研究 內(nèi)容目標(biāo) 特色用VHDL語言設(shè)計(jì)一種新型出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì),能夠模擬啟動、停止,并且能 夠在控制下實(shí)現(xiàn)不同時(shí)段不同價(jià)格的計(jì)價(jià),行駛里程,等待時(shí)間,等待費(fèi)用的顯示。 這種新型計(jì)價(jià)器不僅成本低、周期短、可靠性高,而且可隨時(shí)在系統(tǒng)中修改其邏輯功能。成果描述本設(shè)計(jì)系統(tǒng)已基本達(dá)到了設(shè)計(jì)要求,能實(shí)現(xiàn)啟動/停止,并使計(jì)費(fèi)器正常運(yùn)轉(zhuǎn),但一些模塊還待改進(jìn),延遲現(xiàn)象比較嚴(yán)重。成果價(jià)值成本低、周期短、可靠性咼,而且可隨時(shí)在系統(tǒng)中修改其邏輯功能。 在抗干擾方面性能更強(qiáng),具有廣泛的應(yīng)用前景。一、開展本課題的意義及工作內(nèi)容:1課題意義:1 隨著生活水平的提高,全國已有上千家出租車公司,而且油價(jià)的不穩(wěn) 定,出

2、租車計(jì)費(fèi)系統(tǒng)也隨時(shí)跟著改變。一種成本低、周期短、可靠性高, 而且可隨時(shí)在系統(tǒng)中修改其邏輯功能的計(jì)費(fèi)器已經(jīng)成為必要。2. 復(fù)習(xí)EDA的相關(guān)學(xué)習(xí)中學(xué)到的知識,特別是 EDA課程的復(fù)習(xí)運(yùn)用。3. 培養(yǎng)自己查閱資料、收集資料、獨(dú)立解決問題、處理問題、解決難點(diǎn)、 總結(jié)設(shè)計(jì)經(jīng)驗(yàn)的能力。4. 了解出租車計(jì)費(fèi)系統(tǒng)的運(yùn)做;結(jié)合本次設(shè)計(jì)系統(tǒng)掌握應(yīng)用VHDL語言及MAXPLUSI進(jìn)行電子電路設(shè)計(jì)的方法,使自己具有能應(yīng)用相關(guān)軟件的運(yùn) 用、調(diào)試、仿真、下載的能力;加強(qiáng)自己的動手能力。5. 通過本次設(shè)計(jì),能基本掌握項(xiàng)目設(shè)計(jì)的步驟,設(shè)計(jì)技巧等知識。為以后 工作學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。2.工作內(nèi)容:1. 基于VHDL語言設(shè)計(jì)出租

3、車計(jì)費(fèi)系統(tǒng),使其能夠模擬計(jì)費(fèi)器的啟動、停止,并 能夠?qū)崿F(xiàn)計(jì)價(jià)功能,和相關(guān)的顯示功能。2. 在上面的要求上做出相應(yīng)的創(chuàng)新。二、課題預(yù)期達(dá)到的效果:設(shè)計(jì)能夠?qū)崿F(xiàn)計(jì)價(jià)功能如:起步價(jià),里程價(jià),等待價(jià)格;以及顯示功能:顯示等待時(shí)間, 里程的顯示,計(jì)價(jià)的顯示。并且能夠?qū)崿F(xiàn)自檢功能。文獻(xiàn)綜述EDA (Electro nics Design Automatio n)技術(shù)是隨著集成電路和計(jì)算機(jī)技術(shù)的飛速發(fā)展應(yīng)運(yùn)而生的一種高級、快速、有效的電子設(shè)計(jì)自動化工具。EDA技術(shù)在數(shù)字系統(tǒng)中的應(yīng)用以基于Altera的EPM7128SLC84-15 芯片和MAX+Plusll 10.0 軟件平臺的數(shù)字鐘的設(shè)計(jì)為例 討論 ED

4、A 技術(shù)在數(shù)字系統(tǒng)中的具體應(yīng)用。EDA 技術(shù)涉及面很廣 ,內(nèi)容豐富 ,從教學(xué)和實(shí)用的角度看 ,主要應(yīng)掌握如下 4 個(gè)方面的內(nèi) 容: 一是大規(guī)??删幊踢壿嬈骷?;二是硬件描述語言 ;三是軟件開發(fā)工具 ;四是實(shí)驗(yàn)開發(fā)系統(tǒng)。 其中 ,大規(guī)??删幊踢壿嬈骷抢?EDA 技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的載體 ,硬件描述語言是利 用 EDA 技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的主要表達(dá)手段, 軟件開發(fā)工具是利用 EDA 技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的智能化的自動設(shè)計(jì)工具 , 實(shí)驗(yàn)開發(fā)系統(tǒng)則是利用 EDA 技術(shù)進(jìn)行電子系統(tǒng)設(shè)計(jì)的下 載工具及硬件驗(yàn)證工具。在設(shè)計(jì)方法上 ,EDA 技術(shù)為數(shù)字電子電路設(shè)計(jì)領(lǐng)域帶來了根本性的變革,將傳統(tǒng)的 “電

5、路設(shè)計(jì)硬件搭試調(diào)試焊接 ”模式轉(zhuǎn)變?yōu)樵谟?jì)算機(jī)上自動完成,采用“自頂而下”的全新設(shè)計(jì)方 法 ,這種方法首先從系統(tǒng)入手 ,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級進(jìn)行仿真、糾錯 ,并用硬件描述語言對高層的系統(tǒng)進(jìn)行描述, 在系統(tǒng)一級進(jìn)行驗(yàn)證 ,然后用綜合優(yōu)化工具生成具體的門電路網(wǎng)表 ,其對應(yīng)的物理實(shí)現(xiàn)級可以是印刷電路板或?qū)S眉呻娐?由于設(shè)計(jì)的主要仿真和調(diào)試過程是在高層次上完成的, 這既有利于早期發(fā)現(xiàn)結(jié)構(gòu)設(shè)計(jì)上的錯誤, 避免設(shè)計(jì)工時(shí)的浪費(fèi) ,同時(shí)也減少了邏輯功能仿真的工作量 ,提高了設(shè)計(jì)的一次成功率?;贛AX+plusU開發(fā)平臺的EDA設(shè)計(jì)方法:MAX + plus n是一種與結(jié)構(gòu)無關(guān)的

6、全集成化設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能對 Altera的各種CPLD系列方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。MAX+ plus n開發(fā)系統(tǒng)具有強(qiáng)大的處理能力和高度的靈活性。其主要優(yōu)點(diǎn):與結(jié)構(gòu)無關(guān)、多平臺、豐富的設(shè)計(jì)庫、開放的界面、全集成化、支持多種硬件描述語言 ( HDL) 等。具體設(shè)計(jì)過程如下:1)設(shè)計(jì)輸入。MAX + plus n支持多種設(shè)計(jì)輸入方式,如原理圖輸入、波形輸入、文本輸入和它們的混合輸入。2)設(shè)計(jì)處理。設(shè)計(jì)輸入完后,用MAX + plus n的編譯器編譯、查錯、修改直到設(shè)計(jì)輸入正確,同時(shí)將對輸入文件進(jìn)行邏輯簡化、優(yōu)化 ,最后生成一個(gè)編程文件。 這是設(shè)計(jì)的核心環(huán) 節(jié)。3)設(shè)計(jì)檢查。MA

7、X + plus n為設(shè)計(jì)者提供完善的檢查方法設(shè)計(jì)仿真和定時(shí)分析。其目的 是檢驗(yàn)電路的邏輯功能是否正確 ,同時(shí)測試目標(biāo)器件在最差情況下的時(shí)延。這一查錯過程對 于檢驗(yàn)組合邏輯電路的競爭冒險(xiǎn)和時(shí)序邏輯電路的時(shí)序、時(shí)延等至關(guān)重要。4)器件編程。當(dāng)電路設(shè)計(jì)、校驗(yàn)之后,MAX+plus n的Programmer將編譯器所生成的編譯文件下載到具體的 CPLD 器件中 ,即實(shí)現(xiàn)目標(biāo)器件的物理編程5)系統(tǒng)仿真。使用VHDL語言設(shè)計(jì)FPGA勺幾個(gè)常見問題的探討:1 分頻電路 分頻電路是數(shù)字系統(tǒng)設(shè)計(jì)中的基本電路。在硬件電路設(shè)計(jì)中,時(shí)鐘信號是最重要的 信號之一,經(jīng)常需要對較高頻率的時(shí)鐘進(jìn)行分頻操作,得到較低頻率的時(shí)

8、鐘信號。分頻電 路一般分為三種:第一種是任意占空比的偶數(shù)分頻及非等占空比的奇數(shù)分頻, 通常由計(jì)數(shù)器或計(jì)數(shù)器 的級聯(lián)來完成。第二種是等占空比的奇數(shù)分頻電路。要實(shí)現(xiàn)占空比為50%的M=2N+份頻電路,第三種是小數(shù)分頻電路。實(shí)現(xiàn)分頻系數(shù)為N-0.5的分頻器可以采用 1個(gè)模N的減法計(jì)數(shù)器、 1 個(gè)異或門、 1 個(gè) 2 分頻器。要想用同一個(gè)電路完成多種形式半分頻,可以在半整 數(shù)分頻器原理的基礎(chǔ)上對異或門加 1 個(gè)使能控制信號。2 延時(shí)電路 延時(shí)電路是電子設(shè)計(jì)中常用的電路。 在學(xué)習(xí)數(shù)字電路時(shí)采用 555型集成定時(shí)器來實(shí) 現(xiàn)脈沖的延遲, 而在進(jìn)行信號處理時(shí), 很多設(shè)計(jì)并不能使用 555集成定時(shí)器來完成。 用

9、 VHDL 語言設(shè)計(jì)時(shí)一般用計(jì)數(shù)器或計(jì)數(shù)器的級聯(lián)來實(shí)現(xiàn)。3 雙向電路在工程應(yīng)用中,雙向電路是設(shè)計(jì)者必須面對的問題。使用VHDL語言設(shè)計(jì)FPGA寸,經(jīng)常會遇到很多接口控制電路的設(shè)計(jì),例如FPGA與外部存儲設(shè)備的接口電路設(shè)計(jì)、FPGA與DSP接口電路的設(shè)計(jì)、FPGA與CPU接口電路的設(shè)計(jì)等,其中數(shù)據(jù)總線的設(shè)計(jì)是不可避免 的,而數(shù)據(jù)總線往往是雙向的。因此,如何正確處理數(shù)據(jù)總線是進(jìn)行寸序邏輯電路設(shè)計(jì)的 基礎(chǔ)。4 VHDL語言中的+一位網(wǎng)友是這樣說的;“ VHDL是提供了操作符“ + ”,而且在很多情況下,我們是 可以直接用這個(gè)加操作符的。但是,VHDL提供的加法操作只能給出“和”,卻無法給出“進(jìn)位”。

10、 例如我們在設(shè)計(jì)計(jì)數(shù)器的寸候經(jīng)常用到的加 1 操作, 對于一個(gè) 8位的計(jì)數(shù)器, 當(dāng)計(jì)數(shù) 器的結(jié)果為0xf時(shí),如果在加1就為0x00。實(shí)際上,結(jié)果應(yīng)該時(shí) 0x100,而最高位的1就 是進(jìn)位,我們無法利用。 而我們的實(shí)際設(shè)計(jì)中,不僅要用“和”, 有時(shí)還要用到兩個(gè)數(shù)相加的進(jìn)位。所以有必要用 VHDL來描述一個(gè)帶進(jìn)位的加法器。加法器實(shí)際上完全可以由組合邏輯實(shí)現(xiàn), 但在頻率較高的場合下工作時(shí), 容易產(chǎn)生毛刺。 所以整個(gè)加法器設(shè)計(jì)成時(shí)序電路的 形式,所有的加操作都是時(shí)鐘的上升沿觸發(fā)的?;赩HDL吾言的出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)【摘 要】:介紹一種基于 ALTERA 公司大規(guī)模可編程邏輯器件 EPF10K10

11、的應(yīng)用 VHDL 吾言設(shè)計(jì)的出租車計(jì)費(fèi)器的一種新的方案,使其具有模擬出租車起動、停止、暫停和加速等功能,并用動態(tài)掃描電路顯示出租車所走的里程,顯示所走路程需要的費(fèi)用。所有源程序經(jīng)Altrera 公司的軟件 Max+Plus n 10.0 調(diào)試,仿真正確,下載到 Altrera 公司的 EPF10K10LC84-4 芯片中 ,模擬結(jié)果基本符合預(yù)計(jì)要求。由于使用FPGA 芯片,具有外圍電少、成本低、抗干擾能力強(qiáng)等特點(diǎn) ,可用于實(shí)際的出租車收費(fèi)系統(tǒng) .引言1研究背景隨著EDA技術(shù)的發(fā)展及大規(guī)??删幊踢壿嬈骷?CPLD/FPGA勺出現(xiàn),電子系統(tǒng)的設(shè)計(jì)技術(shù) 和工具發(fā)生了巨大的變化,通過EDA技術(shù)對CPL

12、D/FPGA編程開發(fā)產(chǎn)品,不僅成本低、周期短、 可靠性高 ,而且可隨時(shí)在系統(tǒng)中修改其邏輯功能 9 ?,F(xiàn)代電子系統(tǒng)設(shè)計(jì)通常運(yùn)用 EDA(Electronic Design Automation) 技術(shù) , 采用并行工程和 “自頂向下”的設(shè)計(jì)方法 ,從系統(tǒng)設(shè)計(jì)入手 ,在頂層進(jìn)行層次劃分和結(jié)構(gòu)設(shè)計(jì) ,在功能模塊一 級進(jìn)行仿真、糾錯,并用VHDL硬件描述語言對高層次的系統(tǒng)行為進(jìn)行描述,VHDL(Very HighSpeed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述吾言) 主要描述數(shù)字系統(tǒng)的行為、結(jié)構(gòu)、功能和接口。現(xiàn)在計(jì)費(fèi)器

13、大多數(shù)以單片機(jī)為平臺的, 但是單片機(jī)程序是不通用的, 不同的芯片有不同 的指令集,因此設(shè)計(jì)研發(fā)比較困難。 而FPGA等數(shù)字可編程器件的出現(xiàn)徹底解決了這個(gè)問題, 而且性能更穩(wěn)定、設(shè)計(jì)更靈活、能實(shí)現(xiàn)較復(fù)雜的功能,運(yùn)用EDA軟件可方便的在電腦上實(shí)現(xiàn) 設(shè)計(jì)與仿真。本文根據(jù)龍巖市出租車計(jì)費(fèi)的實(shí)際情況,采用VHDL語言來設(shè)計(jì)的一種出租車計(jì)費(fèi)器,源程序經(jīng) Max+ Plus n軟件調(diào)試優(yōu)化,最后下載到EPF10K10LC84-4芯片中來實(shí)現(xiàn)的。 由于使用FPGA芯片,外圍電路少、成本低、抗干擾能力強(qiáng),可用于實(shí)際的出租車收費(fèi)系統(tǒng)中。 FPGA是電子設(shè)計(jì)領(lǐng)域中最具活力和發(fā)展前途的一項(xiàng)技術(shù),未來必定會取代部分落伍

14、的數(shù)字 器件。2主要研究工作本次設(shè)計(jì)主要涉及到 EDA防真系統(tǒng),而由于 MAXPLUS II應(yīng)用防真軟件的特殊性,只 能夠在實(shí)驗(yàn)箱上進(jìn)行操作。本次設(shè)計(jì)需要選擇較大容量芯片如:EPF10K10LC84-4 芯片,內(nèi)容上以出租車計(jì)費(fèi)系統(tǒng)為基礎(chǔ),利用VHDL語言模擬計(jì)費(fèi),原理簡單,易懂,能夠?qū)崿F(xiàn)里程、等待時(shí)間、里程價(jià)、等待價(jià)、以及分段計(jì)費(fèi)等功能。在實(shí)現(xiàn)過程中具體研究開發(fā)如下:(1) 模擬出租車計(jì)費(fèi)系統(tǒng),其中基本的模塊有 9個(gè),包括分頻模塊 CLKGEN等待判 別模塊DDPB里程計(jì)算模塊 LCJS,里程計(jì)費(fèi)模塊 LCJF,等待計(jì)時(shí)模塊 DDJS,等待計(jì)費(fèi)模塊 DDJF,選擇信號模塊SE,輸出數(shù)據(jù)模塊

15、SCXZ顯示模塊DI。(2)增加時(shí)間段設(shè)置模塊,出租車白天和夜晚的計(jì)費(fèi)標(biāo)準(zhǔn)是不一樣的。(3)增加個(gè)自檢功能,模擬行駛一段路,檢查所走的路程與相關(guān)計(jì)費(fèi)是否標(biāo)準(zhǔn)。3主要研究內(nèi)容本次設(shè)計(jì)的主要內(nèi)容分為 5章,第一章EDA簡介,主要介紹 VHDL語言設(shè)計(jì)步驟, MAX+PLUSII 簡介。第二章方案設(shè)計(jì)與論證 第三章單元模塊設(shè)計(jì) 為本文的核心部分第四章 系統(tǒng)仿真、 綜合、 下載, 主要圍繞本次設(shè)計(jì)仿真過程中遇到的問題和所得的結(jié)果進(jìn)行一個(gè)小 結(jié)。 第五章為結(jié)束語和致謝辭,最后是參考文獻(xiàn)部分和各個(gè)模塊主要程序介紹。1. EDA簡介1.1 VHDL 語言設(shè)計(jì)步驟 1利用VHDL語言進(jìn)行設(shè)計(jì)可分為以下幾個(gè)步驟

16、 :1.1.1 設(shè)計(jì)要求的定義。在從事設(shè)計(jì)進(jìn)行編程 VHDL代碼之前,必須先對你的設(shè)計(jì)目的和要求有一個(gè)明確的認(rèn)識。 對所需的信號建立時(shí)間、時(shí)鐘 / 輸出時(shí)間、最大系統(tǒng)工作頻率、關(guān)鍵的路徑等這些要求,要 有一個(gè)明確的定義, 這將有助于設(shè)計(jì), 然后再選擇適當(dāng)?shù)脑O(shè)計(jì)方式和相應(yīng)的器件結(jié)構(gòu), 進(jìn)行 設(shè)計(jì)的綜合。1. 1. 2用VHDL語言進(jìn)行設(shè)計(jì)描述。(1) 應(yīng)決定設(shè)計(jì)方式, 設(shè)計(jì)方式一般說來有三種 : 自頂向下設(shè)計(jì), 自底向上設(shè)計(jì), 平坦式 設(shè)計(jì)。前兩種方式包括設(shè)計(jì)階層的生成, 而后一種方式將描述的電路當(dāng)作單模塊電路來進(jìn)行 的。自頂向下的處理方式要求將你的設(shè)計(jì)分成不同的功能元件,每個(gè)元件具有專門定義的

17、輸入和輸出, 并執(zhí)行專門的邏輯功能。 首先生成一個(gè)由各功能元件相互連接形成的頂層塊來做 成一個(gè)網(wǎng)表, 然后再設(shè)計(jì)其中的各個(gè)元件。 而自底向上的處理方法正好相反。 平坦式設(shè)計(jì)則是指所有功能元件均在同一層和同一圖中詳細(xì)進(jìn)行的。(2)編寫設(shè)計(jì)代碼。編寫VHDL語言的代碼與編寫其他計(jì)算機(jī)程序語言的代碼有很大的不同。 必須清醒地認(rèn)識到正在設(shè)計(jì)硬件, 編 寫的VHDL代碼必須能夠綜合到采用可編程邏輯器件來實(shí)現(xiàn)的數(shù)字邏輯中。懂得EDA工具中仿真軟件和綜合軟件的大致工作過程,將有助于編寫出優(yōu)秀的代碼。1.1. 3用VHD仿真器對VHDL原代碼進(jìn)行功能仿真。對于大型設(shè)計(jì),采用 VHDL仿真軟件對其進(jìn)行仿真可以節(jié)

18、省時(shí)間,可以在設(shè)計(jì)的早期階 段檢測到設(shè)計(jì)中的錯誤, 從而進(jìn)行修正, 以便盡可能地減少對設(shè)計(jì)日程計(jì)劃的影響。 因?yàn)閷?于小型設(shè)計(jì),其綜合優(yōu)化、配置花費(fèi)的時(shí)間不多, 而且在綜合優(yōu)化之后,往往會發(fā)現(xiàn)為了實(shí) 現(xiàn)性能目標(biāo), 將需要修改設(shè)計(jì)。 在這種情況下, 用戶事先在原代碼仿真時(shí)所花費(fèi)的時(shí)間是毫 無意義的,因?yàn)橐坏└淖冊O(shè)計(jì),還必須重新再做仿真。1. 1. 4利用VHDI綜合優(yōu)化軟件對VHDL原代碼進(jìn)行綜合優(yōu)化處理。選擇目標(biāo)器件、輸入約束條件后,VHDL綜合優(yōu)化軟件工具將對 VHDL原代碼進(jìn)行處理,產(chǎn)生一個(gè)優(yōu)化了的網(wǎng)絡(luò)表,并可以進(jìn)行粗略的時(shí)序仿真。1. 1. 5配置。將綜合優(yōu)化處理后得到的優(yōu)化了的網(wǎng)絡(luò)表,

19、中,這一過程成為配置。安放到前面選定的 CPLD或FPGA目標(biāo)器件之1. 1. 6配置后的時(shí)序仿真 。這時(shí)的時(shí)序仿真將檢查諸如信號建立時(shí)間、 時(shí)鐘到輸出、 寄存器到寄存器的時(shí)延是否滿 足要求。 因?yàn)橐呀?jīng)得到實(shí)際連線引起的時(shí)延數(shù)據(jù), 所以仿真結(jié)果能比較精確地未來芯片的實(shí) 際性能如果時(shí)延仿真結(jié)果不能滿足設(shè)計(jì)的要求,就需要重新對VHDL原代碼進(jìn)行綜合優(yōu)化,并重新裝配于新的器件之中,或選擇不同速度品質(zhì)的器件。同時(shí),也可以重新觀察和分析 VHDL原代碼,以確認(rèn)描述是正確有效的。只有這樣,取得的綜合優(yōu)化和配置的結(jié)果才符合 實(shí)際要求。1. 1. 7器件編程。在成功地完成了設(shè)計(jì)描述、 綜合優(yōu)化、 配置和配置后

20、的時(shí)序仿真之后, 則可以對器件編 程和繼續(xù)進(jìn)行系統(tǒng)設(shè)計(jì)的其他工作。1.2 MAX+PLUSII 簡介本次設(shè)計(jì)選用的開發(fā)環(huán)境是美國ALTERA公司自行設(shè)計(jì)開發(fā)的 EDA工具。MAX+PLUSII ,其全稱為 Multiple Array and Programmable Logic User Systems 。它具有運(yùn)行速度快,界面統(tǒng) 一,功能集中,易學(xué)易用等特點(diǎn)。它的器件系列從最初的Max系列到最新的FLEXIOK系列,從500門到10萬門提供了滿足各種條件需要的一系列器件。 其中最為先進(jìn)的FLEX系列采用 獨(dú)特的快通道技術(shù),使得器件的可預(yù)測性大大增強(qiáng),速度也得到提高,資源利用率達(dá)70%左右時(shí)

21、,F(xiàn)LEX I OK系列可以提供70MHz左右的工作速度。MAX十PLUSH結(jié)合各種系列器件的物理結(jié)構(gòu), 提供了各種的優(yōu)化措施, 以在提高工作速度和資源利用率之間給以平衡。 從而對 大多數(shù)設(shè)計(jì)提供解決方案。 MAX+PLUSII 提供了原理圖輸入、文本輸入 (采用硬件描述語言 ) 和波形輸入等多種輸入手段, 并可以任意組合使用。 利用該工具所配備的編輯、 編譯、 仿真、 綜合、芯片編程等功能, 可將設(shè)計(jì)電路圖或電路描述程序變成基本的邏輯單元寫入到可編程的芯片中(如FPGA芯片),做成ASIC芯片。用戶首先對所做項(xiàng)目進(jìn)行設(shè)計(jì),明確設(shè)計(jì)目的、 設(shè)計(jì)要求 ;然后利用原理圖輸入方式或文本輸入方式進(jìn)行設(shè)

22、計(jì)輸入 ; 輸入完成后,進(jìn)行編譯, 若編譯過程中發(fā)現(xiàn)錯誤,則檢查設(shè)計(jì)輸入,修改密碼,直至沒有錯誤發(fā)生: 編譯完成后,就可以進(jìn)行仿真,檢查設(shè)計(jì)是否達(dá)到設(shè)計(jì)要求,否則還需要重新檢查設(shè)計(jì)輸入; 仿真結(jié)果達(dá)到要求后,就可以進(jìn)行燒錄,把設(shè)計(jì)程序下載到目的芯片中 ; 最后把芯片放到實(shí)際系統(tǒng)中進(jìn)行 驗(yàn)證、測試。MAX+PLUSII借助EDIF網(wǎng)表文件,SRAM目標(biāo)文件(.sof), LPM 和VHDL能與 Candence, Mentor Graphics, OrCAD, Synopsys, Synplicity 和 Viewlogic 等公司提供的其他多 種EDA工具接口 .MAX+PLUSII編譯器可以

23、在PC機(jī)及各種工作站平臺上運(yùn)行,這使MAX+PLUSII 成為工業(yè)界唯一與平臺和結(jié)構(gòu)無關(guān)的可編程邏輯設(shè)計(jì)環(huán)境 5 。2 方案設(shè)計(jì)與論證2.1 設(shè)計(jì)方案比較方案一:采用單片機(jī)設(shè)計(jì),此種方法應(yīng)用電路簡單,但是軟件設(shè)計(jì)復(fù)雜,可能引起系統(tǒng)的不可靠性增加。方案二: 采用可編程邏輯器件與單片機(jī)聯(lián)合設(shè)計(jì), 雖然可發(fā)揮它們各自的長處, 但是分工與 連接也是比較棘手的問題,穩(wěn)定性也是個(gè)問題。方案三 : 采用可編程邏輯器件設(shè)計(jì), 此種方法可以就用可編程邏輯器件模塊化的結(jié)構(gòu), 無論 是仿真、下載、調(diào)試都來的方便。通過EDA技術(shù)對CPLD / FPGA編程開發(fā)產(chǎn)品,不僅成本低、周期短、可靠性高,而且可隨時(shí)在系統(tǒng)中修改

24、其邏輯功能。綜上所述本設(shè)計(jì)采用第三種方案。2.2 設(shè)計(jì)任務(wù)與要求用VHDL語言設(shè)計(jì)一個(gè)多功能的出租車計(jì)費(fèi)系統(tǒng),要求該計(jì)費(fèi)系統(tǒng)具有以下幾個(gè)功能(1)計(jì)價(jià)功能 起步價(jià):顧客上車,顯示起步價(jià) 5,行車距離在2公里以內(nèi)。 里程價(jià):起步 5元,超過2公里按1. 8元/公里計(jì)費(fèi),當(dāng)超過8公里每公里2.7元。 等待價(jià):龍巖市區(qū)等待時(shí)價(jià)滿前 5分鐘0.9元,滿7分鐘1.8元,滿10分鐘2.7元。 少于 10秒不計(jì)。在這次設(shè)計(jì)中,我把等待時(shí)間前 1 小時(shí)的等待費(fèi)用為 12元(20分/分 鐘),超過 1 小時(shí)的等待費(fèi)用為 20元( 33分/分鐘)。(2)顯示功能: 顯示等待時(shí)間:精確到 0.1秒,顯示等待費(fèi)用 顯

25、示里程:精確到 0.1公里,顯示計(jì)價(jià):可顯示總價(jià),顯示范圍Z99兀。(3)自檢功能2.3總體方案根據(jù)系統(tǒng)的設(shè)計(jì)要求,我們可將整個(gè)出租車計(jì)費(fèi)系統(tǒng)CZJFXT分為九個(gè)模塊,它們分別是:分頻模塊CLKGEN等待判別模塊DDPB里程計(jì)算模塊LCJS,里程計(jì)費(fèi)模塊LCJF,等待計(jì) 時(shí)模塊DDJS,等待計(jì)費(fèi)模塊 DDJF,選擇信號模塊SE輸出數(shù)據(jù)模塊SCXZ顯示模塊DI其設(shè)計(jì) 原理圖如2-1所示。(2-1 )設(shè)計(jì)原理圖3.單元模塊設(shè)計(jì)3. 1等待判別模塊DDPB根據(jù)速度傳感器脈沖信號WCLK和分頻器產(chǎn)生的基準(zhǔn)時(shí)鐘信號CLK1HZ計(jì)算單位時(shí)間里WCLK勺脈沖個(gè)數(shù)(每1千米產(chǎn)生10個(gè)脈沖信號,即每百米產(chǎn)生一個(gè)

26、脈沖信號),亦即出租車行駛速度,從而判別出租車是否處于等待狀態(tài),發(fā)出等待標(biāo)志信號DDBZ當(dāng)速度大于12千米/小時(shí),即速度大于 200米/分鐘時(shí),出租車處于運(yùn)行狀態(tài),這時(shí)等待標(biāo)志 DDBZ=0 當(dāng)速度小于等于12千米/小時(shí),出租車處于等待狀態(tài), 這時(shí)等待標(biāo)志 DDBZ=1該模塊的VHDL 程序設(shè)計(jì)可分為三個(gè)進(jìn)程;60秒周期性跳變信號產(chǎn)生進(jìn)程,每分鐘行駛距離計(jì)算進(jìn)程,等待標(biāo)志判別進(jìn)程。等待標(biāo)志判別進(jìn)程就是比較每分鐘WCLK脈沖個(gè)數(shù)與等待狀態(tài) WCLK脈沖臨界個(gè)數(shù)的大小,從而確定 DDBZ的賦值。模塊封裝原理圖如3-1所示:DDPRSTARTueLtcodbz;CILK-L H Z(3-1 )等待判

27、別模塊3.2里程計(jì)算模塊LCJS:該模塊可以預(yù)制參數(shù),使其實(shí)際計(jì)數(shù)值大于預(yù)制數(shù)值后,每100米送出一個(gè)脈沖,并將計(jì)數(shù)值送進(jìn)制轉(zhuǎn)換電路轉(zhuǎn)換后送譯碼動態(tài)掃描模塊進(jìn)行顯示。在本設(shè)計(jì)中設(shè)置固定是價(jià)格5元,按照龍巖市最新標(biāo)準(zhǔn),超過2公里按1.8元/公里計(jì)費(fèi),當(dāng)超過8公里時(shí)每公里2.7元.當(dāng)輸入一個(gè)脈沖里程計(jì)數(shù)一次 ,即0.1公里,相應(yīng)的費(fèi)用 設(shè)定初始值其價(jià)5元模塊封裝見下圖.。里程計(jì)算模塊 LCJS:根據(jù)速度傳感器脈沖信號 WCLK 和等待標(biāo)志DDBZ對出租車行駛的里程數(shù) XSLC進(jìn)行計(jì)算,同時(shí)發(fā)出里程標(biāo)志信號LCBZ和里程計(jì)費(fèi)標(biāo)志信號 JFB乙如果LCBZ=1,說明行駛距離超過 2千米,里程計(jì)費(fèi)啟動;

28、如果LCBZ=0, 說明沒超過2千米,計(jì)費(fèi)標(biāo)志信號JFBZ應(yīng)跳變1次。該模塊的VHDL程序設(shè)計(jì)可分為兩個(gè)進(jìn) 程:里程計(jì)算及標(biāo)志產(chǎn)生進(jìn)程,產(chǎn)生計(jì)費(fèi)信號進(jìn)程。產(chǎn)生計(jì)費(fèi)信號進(jìn)程。產(chǎn)生計(jì)費(fèi)信號進(jìn)程就是每行駛2千米JFBZ由低電平變?yōu)?,經(jīng)過一個(gè)系統(tǒng)時(shí)鐘周期后 JFBZ又回復(fù)到低電平 0, 里程計(jì)費(fèi)模塊LCJF就是在JFBZ脈沖信號的上升沿進(jìn)行計(jì)費(fèi)的加法操作。模塊封裝原理圖如3-2 所示LGJS-STRRTXSLCX5:. . OODBZ:MCLKJF&Z=25里程計(jì)算模塊達(dá)到預(yù)計(jì)效杲,仿真波形圖如下所示:Ill Ikiirllvdl! 卜.m; I WMwfurni KlHur010H(niQ占護(hù)力蚌

29、口電侶 St堆希(VW 戌雷鄭世n細(xì) Hcfe-W.l M|二訝銅上IE :-創(chuàng)魚福風(fēng)圖團(tuán)鼻通越雖苗剛醴軽連XI園二 勺_-:-3 1=11*15W I2 ;1 詢詞1 0|3 -Kataia1l5 站縊加川孔QHED1DI-0?H0110HED1D(3-3 )里程計(jì)算模塊仿真圖3. 3里程計(jì)費(fèi)模塊LCJF:在計(jì)費(fèi)標(biāo)志信號JFBZ,等待標(biāo)志信號DDBZ里程標(biāo)志信號LCBZ和時(shí)段標(biāo)志 信號XDBZ等信號的控制下,計(jì)算行駛里程超過2千米以上里程的費(fèi)用 LCFY該模塊的VHDL程序是通過由多個(gè)條件控制的加法進(jìn)程來,里程計(jì)費(fèi)的條件是在 DDBZ=0并且在JFBZ的上升沿根據(jù)SDBZ分別進(jìn)行回潮計(jì)費(fèi)操作

30、。當(dāng)SDBZ=1時(shí),表示在早6: 00晚23: 00時(shí)段,其單價(jià) SD1為1.8元/千米;當(dāng)SDBZ=0時(shí),表示 其他時(shí)段,其單價(jià)SD2為2元/千米。如果LCBZ=1,說明行駛距離超過 2千米,里 程計(jì)費(fèi)啟動;如果 LCBZ=0說明沒超過2千米,按起價(jià)計(jì)費(fèi)。模塊封裝原理圖如3-4 所示LCJFS-THF1Tj-J 住工L G F 1 S B鼻 圧疋出再知|.応1沖Lfl 的WP耳I址單士胡 HwTt心IJ審SD些二l&曲(3-5 )里程計(jì)費(fèi)模塊仿真圖3.4等待計(jì)時(shí)模塊DDJS模塊時(shí)間計(jì)費(fèi)模塊為模 16的加法計(jì)數(shù)器,該模塊以DDBZ言號為起始,時(shí)鐘送入標(biāo)準(zhǔn)脈沖1H乙通過一個(gè)多層嵌套的加法進(jìn)程來完

31、成等待時(shí)間計(jì)數(shù)。程序使用if 語句,START為高電平是復(fù)位,ms=0000 ;mg=0000;fs=0000 ;fg=OOOO;ms 為秒十位, mg為秒個(gè)位,fg為分個(gè)位,fs分十位。當(dāng)DDBZ為高電平時(shí)啟動,clklhz為頻率為1hz的時(shí)鐘脈沖,當(dāng)時(shí)鐘出現(xiàn)上升沿時(shí)計(jì)數(shù), 從而通過對時(shí)鐘脈沖的計(jì)數(shù),完成計(jì)時(shí)。DDS J為計(jì)數(shù)后的時(shí)間。程序見附錄。等待時(shí)間功能及設(shè)計(jì)模塊封裝見下圖。DDJSSTHRT J.5- . . ODDDZjILK 1HZ等待計(jì)時(shí)模塊 DDJS在等待標(biāo)志信號 DDBZ和基準(zhǔn)時(shí)鐘信號 CLK1HZ的控制下,運(yùn)行等 待時(shí)間DDSJ的計(jì)算。其中 DDSJ的低8位表示等待時(shí)間秒

32、數(shù),DDSJ的高8位顯示等待時(shí)間的分鐘數(shù),同時(shí)根據(jù)等待時(shí)間的長短發(fā)出一個(gè)熄燈信號XDBZ當(dāng)?shù)却龝r(shí)間小于一小時(shí)時(shí),XDBZ=Q等待時(shí)間大于一小時(shí)時(shí),XDBZ=1該模塊的VHDL程序是通過一個(gè)多層嵌套的加法進(jìn)程來完成等待時(shí)間計(jì)數(shù)。start啟動ddjs模塊,當(dāng)ddbz高電平是開始計(jì)時(shí)。通過仿真達(dá)到預(yù)期效果,仿真圖如下:I EE Tmp 219rt5I nt rl|?1 日 2“碾蜃瞇隔刮必虜血図熬 喘鹵瞬 致理愛栄8K0 0n5N qiM,V#lue-04 CLK1HZ:G-b*DBZ3HDOOO朋MCHD酚MSHD畛FSHC* FGHDQZ 7S|d3tiaJ.0jHO前的出u&o(IHOddt

33、 Jd3 DJHDdardaa3 .QIHQ少 3Bldatxs3.aHDd/ dE catja;3.jOHD抄 fin|dM3 ngHD;_/ .0HD3JJ .Znt1IQj.ZntEOD.Dric6OC. jn?00.0l.u.l.QX1UUU371nou2F(3-7 )等待計(jì)時(shí)模塊時(shí)序仿真3.5等待費(fèi)用DDFY等待計(jì)費(fèi)模塊 DDJF程序:在等待標(biāo)志DDBZ和熄燈標(biāo)志XDBZ控制下,進(jìn)行等待費(fèi)用 DDFY 的計(jì)費(fèi)操作,該模塊的 VHDL程序包括兩個(gè)進(jìn)程:60S周期跳變信號產(chǎn)生進(jìn)程,等待費(fèi)用計(jì) 算進(jìn)程。等待費(fèi)用計(jì)算的條件是在DDBZ=1并且在60s周期跳變信號T60S的上升沿,根據(jù)XDBZ

34、分別進(jìn)行加法計(jì)費(fèi)操作,當(dāng)DDBZ=1且XDBZ=0時(shí),按照1元/5分種,即20分/分鐘計(jì)費(fèi):當(dāng)DDBZ=1且XDBZ=1時(shí),按照20元/小時(shí),即33分/分鐘計(jì)費(fèi)。具體程序見附錄。等待費(fèi)用封裝如下所示:S TRR T :夭一Z 一L KXH2 XDDJFDDFSTfiRTBDBZ:DDFY X5. - G3Cl_ K JLH2(3-8 )等待計(jì)費(fèi)模塊模塊封裝上圖中START為啟動信號輸入,DDBZ為等待標(biāo)志信號輸入控制,當(dāng)START和DDBZ同時(shí)為高電平時(shí)啟動,clklhz為頻率為1hz的時(shí)鐘脈沖,通過對時(shí)鐘脈沖的 計(jì)數(shù),完成計(jì)時(shí)。DDJF為計(jì)數(shù)后的費(fèi)用。經(jīng)過仿真達(dá)到預(yù)期效果;仿真圖如下:(3-

35、9 )等待計(jì)費(fèi)時(shí)序仿真圖3.6選擇模塊SE及輸出控制模塊SCKZ根據(jù)發(fā)出的數(shù)據(jù)傳輸選擇控制信號A2.O,選擇有關(guān)計(jì)算結(jié)果傳送到顯示模塊,SE與被傳送數(shù)據(jù)的具體關(guān)系如表3-1所示。選擇模塊封裝如3-10 所示,輸出控制模塊封裝 3-11所示。1:rscxz5E L t E _ _ 0 J3C-&LC 5 . . OLCFV 15 B . QiJOATR 7.0 Xff OCFY15 044儀c a r r iBiiwiriariBi r ci i rail r r a r ei i r(3-11)輸出控制模塊封裝圖數(shù)據(jù)輸出控制程序:DATA=DDSJ(7 DOWNTO 0) WHEN SEL00

36、”ELSE DDSJ(15 DOWNTO 8) WHEN SEL= ” 001ELSE LCFY(7 DOWNTO 0) WHEN SEL= ” 010” ;ELSE LCFY(15 DOWNTO 8) WHEN SEL= ” 011 ”ELSE DDFY(7 DOWNTO 0) WHEN SEL= ” 100” ;SEL000001010011100101110111被選數(shù)據(jù)等待時(shí)間 秒數(shù)DDS7.O等待時(shí)間 分?jǐn)?shù)DDS15.8超過2公 里計(jì)費(fèi)低8位LCJF7.O超過2公里計(jì)費(fèi)高8位LCJF15.8等待計(jì)費(fèi)低8位DDFY7.O等待計(jì)費(fèi)高8位DDFY15.8里程數(shù)據(jù)低8位XSLC7.O里程數(shù)據(jù)

37、高8位XSLC15.8ELSE DDFY(15 DOWNTO 8) WHEN SEL= ” 101ELSE X SLC(7 DOWNTO 0) WHEN SEL= ” 110ELSE XSLC(15 DOWNTO 8) WHEN SEL= ” 111具體程序見附錄表 3-1 :(3-10)選擇模塊封裝經(jīng)過仿真達(dá)到預(yù)期效果,圖形如下:i i iipta- III I hiirl bd I - |4iJiutJiLf W /v吋rim HN iFls Edt yw 倔 觀15 盤住聊 呼旳 世眄蚱 HdE-覺I心稔毎肆出#刀懇弧匚匸0箜帝聶?quán)?囲NfIlHEH 陰 ISUE=fl Djfi于 XE

38、LC60 DuSI.CFYQCFo ruiAnoi0130忡35卑c幼:B6:03I田06;!36(3Di:90H 0365036513HHD(3-12)輸出控制時(shí)序仿真圖3. 7顯示模塊顯示模塊是由七段 LED數(shù)碼管譯碼和動態(tài)掃描顯示兩部分組成。數(shù)碼管控制及譯碼顯示模塊將十進(jìn)制的輸入信號用七段數(shù)碼管顯示,由七段發(fā)光二極管組成數(shù)碼顯示器,利用字段的不同組合,可分別顯示09十個(gè)數(shù)字。本設(shè)計(jì)中,要求輸出的段信號為低電平有效模塊封裝如3-13 所示工 DA 一 O ?!耙?0卜咅瓷 -二(3-13)顯示模塊封裝4.系統(tǒng)仿真、綜合、下載與調(diào)試4. 1系統(tǒng)仿真、綜合、下載仿真是EDA技術(shù)的重要組成部分,

39、也是對設(shè)計(jì)的電路進(jìn)行功能和性能測試的有效手段。EDA工具提供了強(qiáng)大且與電路實(shí)時(shí)行為相吻合的精確硬件系統(tǒng)測試工具。各個(gè)功能子模塊設(shè)計(jì)完成后,利用 MAXPLUS的圖形編輯器(Graphic Editor)將各功能子模塊(.sym)進(jìn)行連接。芯片管腳定義可以直接用編輯.pin文件或在Floor Plan Editor下進(jìn)行。完成管腳定義后選擇器件(FLEX1OK10LC8 4),編譯后生成.sof、. pof及報(bào)告文件.rpt。在建立了波形 文件、輸入信號節(jié)點(diǎn)、波形參數(shù)、加輸入信號激勵電平并存盤之后,選擇主菜單“ MAX+plusll 中的仿真器項(xiàng)“ Simulator ” ,彈出對話框之后單擊“

40、 Start ”進(jìn)行仿真運(yùn)算,完成之后就可以看到時(shí)序波形。圖 4-2為總電路的時(shí)序圖。最終的電路設(shè)計(jì)完成后,若總體電路編譯無錯,且時(shí)序仿真成功,可進(jìn)行硬件測試。將總電 路下載到可編程邏輯器件中,按fit文件中自動分配引腳搭建硬件電路。系統(tǒng)頂層原理圖如圖 4-1所示。打開電源,數(shù)碼管有正確的數(shù)字顯示,操作運(yùn)行實(shí)驗(yàn)結(jié)果完全符合要求。查看報(bào)告文件可得到 器件引腳的利用情況及器件內(nèi)部資源的使用情況,通過更換適當(dāng)?shù)钠骷蛊滟Y源配置達(dá)到最優(yōu)。選擇器件的一般原則是系統(tǒng)所使用的資源不要超過器件資源的80%,若超過90%,系統(tǒng)功耗將增大,工作不穩(wěn)定。本設(shè)計(jì)中輸入、輸出引腳共用16個(gè),器件利用率遠(yuǎn)遠(yuǎn)低于80%具有

41、較大的擴(kuò)展空間。STARTST際Tspaj4-1經(jīng)過仿真達(dá)到預(yù)計(jì)效果:系統(tǒng)頂層原理圖0 f4ixMpbt r*- I * 忖 蜜*utr* j* r* 曲仙* 也葉kBa| j血 心Gw呂矗曲金閾fljfijHj MMg蠱巴 g|_-= StsifdkHizIfilawl -G& Bu30.0u? COuer ni恨 i-tf血 g11上| Ti哄 |i iAhmtrw亠WlJ 丄口 艸?耳HU) AD1100HOOADHUBH06_ _Jill/(fef|呵殉卩.0odco:pw T ooag K trocddsci (OOCB 加ECPA? COB! I UDCS knot于I卩D| p

42、DAT叩 D| 2 IddJI i|DPFY dP MdjfiicimiLL/ 4孑注鄒|15 L n/ e忸山門乩Daz HdaaaJ15 |*2P03J2 Kdii 2hictiZ Wdjv 2FE“ kdp 2Fu* 7B|曲I 胡3L0| 1 I001QIIH riH PMHEE ADHttADhOIADHXJJH5FHlHi 3Hi aHiHD6D OutgzacgjgA(JDOll CO ; 囲 Y 叩兀 K UDfiB f QIJ64 POTH 丫 OOB匸 $dOElCLC3 i iOKOrimTt cotj fbti2a ooac I tuao )( aat C5 D01 廠

43、DC対.j; IDOC tl亜;0JC4 ( 血0 TniT ooaa * amc : ct&i f 工口rrr -nniriij-!(DO: J : DOC& )CCDC :1 -4: i i. d .-1 ii KnACOM Y D0B4 f 云喬和DC:Y 00陽 T丘麗了OOJO OOEM gju 飛殛屜 f Q06:QKQQW ) as心 #RSSSSSBSS00AJ0084 XoXg JDC第聞 產(chǎn)ipwx ffl亞u d龍曲訕m-w: r311 111J-1118.,3.)=高fifeaeaBSDa日日日日日日日撥憶開艾組本系統(tǒng)通過在 MAX+PLUS軟件進(jìn)行編譯, 綜合最后下載

44、到 FPGA(EPF10KLC84-4芯片并 在實(shí)驗(yàn)開發(fā)系統(tǒng)上進(jìn)行實(shí)驗(yàn),實(shí)際測試表明系統(tǒng)的各項(xiàng)功能要求均得到實(shí)現(xiàn),并且系統(tǒng)運(yùn)行、穩(wěn)定性良好。結(jié)束語本次設(shè)計(jì)是基VHDL語言的出租車計(jì)費(fèi)系統(tǒng),在MAXPLUSII10.0下順利通過編譯與仿真,下載?;緦?shí)現(xiàn)了預(yù)定的效果。但是也有不足之處,系統(tǒng)延遲現(xiàn)象比較明顯。通過這次畢業(yè)設(shè)計(jì),使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在EDA應(yīng)用系統(tǒng)開發(fā),以及在常用編程設(shè)計(jì)思路技巧, VHDL語言編程的掌握方 面都能向前邁了一大步, 為日后成為合格的應(yīng)用型人才打下良好的基礎(chǔ)。 在這次設(shè)計(jì)中遇到 了很大的挑戰(zhàn),為了更好的做好這次設(shè)計(jì),特地請

45、教了司機(jī),了解出租車計(jì)費(fèi)系統(tǒng)的運(yùn)作, 特別是一直困擾我的等待計(jì)費(fèi)問題 ,龍巖市出租車起步價(jià)格為 5 元,2 公里后每公里 1.8 元, 超過 8公里是 2.7 元每公里 !而等待費(fèi)用是停止時(shí)間達(dá)到 5分鐘系統(tǒng)自動加上 0.9 元,若等待 時(shí)間達(dá)到了 7分鐘, 系統(tǒng)加上 1.8 元, 滿十分鐘后是 2.7 元. 這些在設(shè)計(jì)初都是沒有意料到的 ! 所以給我?guī)砗艽蟮睦щy , 通過老師的指導(dǎo)和網(wǎng)絡(luò)交流 , 總算解決了這一問題 , 我設(shè)置了 1 小 時(shí)之內(nèi)每分鐘 20 分,1 小時(shí)后每分鐘 33 分.由于前期主要花時(shí)間在實(shí)習(xí)上 ,再加上對 VHDL語言并不是很熟悉,所以很多功能想到卻 并不能按照自己的

46、意愿完成 !但是在張老師的悉心指導(dǎo)下 ,順利完成了這次設(shè)計(jì) ,為以后工作 打下了基礎(chǔ) !附錄主要VHDL源程序:1等待判別模塊DDPB勺VHDLS程序:-DDPB.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DDPB ISPORT (START,WCLK:IN STD_LOGIC;-輸入速度傳感器信號和啟動信號CLK1HZ:IN STD_LOGIC; -輸入 1 秒時(shí)鐘信號DDBZ:OUT STD_LOGIC); -

47、輸出等待等待標(biāo)志信號END ENTITY DDPB;ARCHITECTURE ART OF DDPB ISSIGNAL T60S:STD_LOGIC;-60 秒計(jì)時(shí)信號SIGNAL WCLKCOU:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(START,CLK1HZ)IS-產(chǎn)生 60秒周期性信號跳變進(jìn)程VARIABLE CNT60:STD_LOGIC_VECTOR(7 DOWNTO 0);-每分鐘行駛距離BEGINIF START=1THENCnt60:=00000000;T60s=0;ELSIF CLK1HZEVENT AND CLK1HZ=1THEN

48、IF CNT60=00111100 THEN T60S=1;CNT60:=00000000;ELSECNT60:=CNT60+1;T60S=0;END IF;END IF;END PROCESS;PROCESS(START,WCLK,T60S) IS-每分鐘行駛距離計(jì)算進(jìn)程BEGINIF START=1 THEN WCLKCOU=00000000;ELSIF WCLKEVENT AND WCLK=1 THENIF T60S=1 THENWCLKCOU =00000000;ELSEWCLKCOU=WCLKCOU+1;- 距離計(jì)算,單位為米END IF;END IF ;END PROCESS;PR

49、OCESS(WCLKCOU,T60S) IS- 等待標(biāo)志判別進(jìn)程BEGINIF T60SEVENT AND T60S=1 THENIF WCLKCOU=11001000 THENDDBZ=1;- 汽車等待ELSEDDBZ=0;-汽車行駛END IF;END IF;END PROCESS;END ARCHITECTURE ART; 4,等待計(jì)時(shí)模塊 DDJS 的 VHDL 源程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY

50、DDJS ISPORT(START,DDBZ:IN STD_LOGIC;-啟動信號,等待標(biāo)志CLK1HZ: IN STD_LOGIC;-時(shí)鐘信號DDSJ:OUT STD_LOGIC_VECTOR(15 DOWNTO 0); - 等待時(shí)間XDBZ:OUT STD_LOGIC);- 熄燈標(biāo)志END ENTITY DDJS;ARCHITECTURE ART OF DDJS ISSIGNAL MS,MG ,FS,FG:STD_LOGIC_VECTOR(3 DOWNTO 0);-秒個(gè)位,秒十位,分十位,分個(gè)位SIGNAL XIDENG: STD_LOGIC;-熄燈BEGINPROCESS(START,D

51、DBZ,CLK1HZ) ISBEGINIF START=1THEN - 沒有啟動計(jì)費(fèi)MS=0000;MS=0000;FS=0000;FG=0000;ELSIF CLK1HZEVENT AND CLK1HZ=1 THENIF DDBZ=1 THEN-汽車等待IF MG=9 THEN MG=0000;IF MS=5 THEN MS=0000;IF FG=9 THEN FG=0000;IF FS=5 THENXIDENG=1;-熄燈標(biāo)志為 1FS=0000;ELSEFS=FS+1;- 分?jǐn)?shù)十位計(jì)算END IF;ELSEFG=FG+1; - 分?jǐn)?shù)個(gè)位計(jì)算 END IF;ELSEMS=MS+1;-秒數(shù)十位計(jì)算END IF;ELSEMG=MG+1;- 秒數(shù)個(gè)位計(jì)算END IF;END IF;END IF;END PROCESS;XDBZ=XIDENG;-送給熄燈標(biāo)志DDSJ(15 DOWNTO 12) =FS;DDSJ(11 DOWNTO 8) =FG;DDSJ(7 DOWNTO 4) =MS;DDSJ(3 DOWNTO 0)= MG;-等待時(shí)間END ARCHITECTURE ART;2等待計(jì)費(fèi)模塊DDJF勺VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIG

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論