EDA課程設計最終版_第1頁
EDA課程設計最終版_第2頁
EDA課程設計最終版_第3頁
EDA課程設計最終版_第4頁
EDA課程設計最終版_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第11頁共13頁EDA課程設計出租車自動計費器院系:信息工程學院班級:11級電科2班學號:201114580229姓名:仝福成同組:周亞婷指導:賈默伊任務書一、用VHDL運用層次化設計方法設計一個小型數(shù)字系統(tǒng)題目:簡易出租車計價器二、說明書內(nèi)容:1.系統(tǒng)設計要求(功能)2.系統(tǒng)設計方案(包括頂層電路圖)3.VHDL源程序及仿真波形圖4.課程設計注釋5.設計解釋、說明6.獨特之處目錄:第一節(jié):設計要求……4第二節(jié):系統(tǒng)設計方案………………4 1)、思路…………………...4 2)、設計…………………...4 ①、輸入端口…….5②、輸出端口…….5第三節(jié):源程序和頂層電路圖………...5源程序………5頂層電路……10第四節(jié):情景仿真…….1021公里內(nèi)無等待仿真…………….10進行21公里以上無等待仿真……10進行單程有等待仿真……………..11單程中進行復位仿真……………..11綜合性仿真實驗…..12第五節(jié):系統(tǒng)拓展思路………………..12第六節(jié):設計心得總結(jié)………………..12設計要求:設計一個出租車單程自動計費器,計費包括起步價、行車里程計費、等待時間計費等。起步價為8元,起步為3km。超過3km,按照1元/km收費。單程行駛超過21km,每公里加收50%費用。等候時間超過一分鐘按照行駛一公里收費。要求顯示兩位里程、四位計費xxx.x和兩位等候時間。設計方案:按照設計要求完成流程圖:思路:①、輸入雙時鐘信號,分別模擬時間和路程。對信號進行分頻達到一定的計數(shù)目的。②、通過對里程的計數(shù)產(chǎn)生兩個使能信號,伊達到在不同里程的時候產(chǎn)生不同的計費方法。③、通過各種使能信號使各個計數(shù)分別處在不同的狀態(tài),從而達到不同狀態(tài)的設計要求。設計:輸入端口:clk和mile——兩個時鐘信號,分別是時鐘信號和里程信號。由于本設計存在缺點,無法根據(jù)速度和時間進行計程,所以設置成兩個時鐘信號進行。wait_signal——等待時間計數(shù)的使能信號。one_way——單程行駛信號,由于本設計是單程行駛的自動計費器,所以該信號一直為‘1’。rst——復位信號,該信號為‘1’時,所有輸出全部清零。start——開始計數(shù)的使能信號。②、輸出端口:cost0,cost1,cost2,cost3——4位顯示計價,最高顯示999.9元。min0,min1——8位BCD碼顯示等待時間單位,最高時間59分鐘。km0,km1——8位BCD碼顯示里程,最高為99公里。源程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitychuzujijiaisport(clk,start,wait_signal,mile,one_way,rst:instd_logic;cost0,cost1,cost2,cost3:outstd_logic_vector(3downto0);min0,min1:outstd_logic_vector(3downto0);km0,km1:outstd_logic_vector(3downto0));end;--主體部分,對各個端口進行聲明architectureoneofchuzujijiaissignalmile_r1,mile_r2,mile_clk,start_r,clk1hz:std_logic;signalcount:integerrange0to29;signalsec:integerrange0to59;signalc0,c1,c2,c3:std_logic_vector(3downto0);signalk0,k1,m0,m1:std_logic_vector(3downto0);signalen0,en1:std_logic;signalwait_clk,cost_clk:std_logic;beginU1:process(rst,clk)--分頻部分beginifrst='0'then ifclk'eventandclk='1'then ifcount=5thencount<=0;clk1hz<='1'; elsecount<=count+1;clk1hz<='0'; endif; endif;endif;endprocess;U2:process(rst,clk1hz,start,wait_signal)--計時部分beginifrst='1'thenm0<="0000";m1<="0000";elsifstart='0'thenwait_clk<='0';elsifclk1hz'eventandclk1hz='1'thenifwait_signal='1'then ifsec=5thensec<=0;wait_clk<='1'; ifm0="1001"thenm0<="0000"; ifm1="0101"thenm1<="0000"; elsem1<=m1+'1'; endif; elsem0<=m0+'1'; endif; elsewait_clk<='0';sec<=sec+1; endif;elsewait_clk<='0';endif;endif;endprocess;U3:process(rst,clk1hz,mile,start)--同步各個時鐘信號beginifrst='0'then ifclk1hz'eventandclk1hz='1'thenmile_r2<=mile_r1;mile_r1<=mile;start_r<=start; endif;endif;endprocess;mile_clk<=mile_r1andnot(mile_r2);cost_clk<=wait_clkwhenwait_signal='1'elsemile_clkwhenen0='1'oren1='1'else'0';U4:process(rst,start,mile_clk)--計程部分beginifrst='1'thenk0<="0000";k1<="0000";elsifstart='0'thenk0<="0000";k1<="0000";en0<='0';en1<='0';elsifmile_clk'eventandmile_clk='1'then ifk1&k0>="00100000"andone_way='1'thenen1<='1';en0<='0'; endif; ifk1&k0="00000011"thenen0<='1'; endif; ifk0="1001"thenk0<="0000"; ifk1="1001"thenk1<="0000"; elsek1<=k1+'1'; endif; elsek0<=k0+'1'; endif;endif;endprocess;U5:process(rst,start,cost_clk,start_r)--計價部分beginifrst='1'thenc0<="0000";c1<="0000";c2<="0000";c3<="0000";elsifstart='1'andstart_r='0'thenc0<="0000";c1<="1000";c2<="0000";c3<="0000";elsifcost_clk'eventandcost_clk='1'then ifen1='0'anden0='1'then ifc1="1001"thenc1<="0000"; ifc2="1001"thenc2<="0000"; ifc3="1001"thenc3<="0000"; elsec3<=c3+'1'; endif; elsec2<=c2+'1'; endif; elsec1<=c1+'1';c0<="0000"; endif; else if(c0="0101"andc1="1000")orc1="1001"then ifc1="1001"andc0="0101"thenc0<="0000";c1<="0001";elsifc1="1001"andc0="0000"thenc0<="0101";c1<="0000"; elsifc1="1000"andc0="0101"thenc0<="0000";c1<="0000"; endif; ifc2="1001"thenc2<="0000"; ifc3="1001"thenc3<="0000"; elsec3<=c3+'1'; endif; elsec2<=c2+'1'; endif; elsifc0="0000"thenc0<="0101";c1<=c1+'1'; elsec0<="0000";c1<=c1+"0010"; endif; endif;endif;endprocess;min0<=m0;min1<=m1;km0<=k0;km1<=k1;cost0<=c0;cost1<=c1;cost2<=c2;cost3<=c3;--最后輸出end;頂層電路圖:仿真波形如下:㈠、進行單程21公里以內(nèi)無等待仿真,如下:從圖中可以看出在3Km以內(nèi)直接賦值8元給個位計數(shù)的cost1,超過3公里之后進行每公里加1計數(shù),并且到十向高一位進位。㈡、進行21公里以上無等待仿真:由圖可知21公里以上時每公里加價0.5元,由cost0顯示到達21公里時候顯示在26元,22公里顯示27.5元。㈢、進行單程有等待仿真:由圖可見在等待的時候進行計價1元/分鐘。并且在原來已有的計價上累加。㈣、單程中進行復位仿真:由圖可見,在復位信號到來時候所有的輸出信號全部歸零。㈤、綜合性仿真實驗:在復位信號到來的時候,行駛了41公里,等待了4分鐘,應當支付:8+(21-3)*1+(41-21)*1.5+4=60元,與圖中顯示一致。系統(tǒng)拓展思路:如果能夠加入車速采集器或者對車輪轉(zhuǎn)動圈數(shù)進行實時采集計算,那么就可以不依靠固定的速度進行整個仿真。只有不依靠固定車速實現(xiàn)上述的計程功能,該款設備才能投入實際生產(chǎn)應用。該程序還可可以修改成其他設備使用。對計價部分修改,加入實時采集油量的設備,從而可以用以檢測一部車油耗和行駛里程及時間的關系。體會與心得:在設計開始之初準備設計的是20公里為另一個計價點,但是在仿真的過程中出現(xiàn)的每公里計價變化出現(xiàn)在21公里。在改變設計要求的情況下

溫馨提示

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

評論

0/150

提交評論