• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Quartus出租車計(jì)費(fèi)器VHDL代碼仿真

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

2-231222153933133.doc

共1個(gè)文件

名稱:Quartus出租車計(jì)費(fèi)器VHDL代碼仿真

軟件:Quartus

語言:VHDL

代碼功能:

一、任務(wù)及要求

CPLD為復(fù)雜可編程邏輯器件,通過EDA技術(shù)對(duì)其進(jìn)行編程,可將一個(gè)較復(fù)雜的數(shù)字系統(tǒng)集成于一個(gè)芯片中,制成專用集成電路芯片,并可隨時(shí)在系統(tǒng)修改其邏輯功能,并最終完成電路的編程調(diào)試。

具體要求如下:

1.實(shí)現(xiàn)計(jì)費(fèi)功能,計(jì)費(fèi)標(biāo)準(zhǔn)為:按行駛里程計(jì)費(fèi),起步價(jià)為7元,并在車行3Km后按2元/Km計(jì)費(fèi),當(dāng)計(jì)費(fèi)器達(dá)到或超過20元時(shí),每公里加收50%的車費(fèi),車停止不計(jì)費(fèi)。

2.現(xiàn)場(chǎng)模擬功能:能模擬汽車起動(dòng)、停止、暫停以及加速等狀態(tài)。

3.用BCD碼將車費(fèi)和路程顯示出來。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 仿真圖

Testbench

4.1 整體仿真

4.2 顯示模塊

4.3 速度脈沖模塊

4.4 計(jì)費(fèi)模塊

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
ENTITY?taxi_fee?IS
???PORT?(
??????clk????????:?IN?STD_LOGIC;--256Hz基準(zhǔn)頻率CLOCK0
??????reset??????:?IN?STD_LOGIC;--復(fù)位信號(hào),低有效?
??????stop???????:?IN?STD_LOGIC;--本次行程結(jié)束,停止計(jì)費(fèi),高有效
??????start??????:?IN?STD_LOGIC;--啟動(dòng)信號(hào),行程開始,高有效?
??????Speed??????:?IN?STD_LOGIC_VECTOR(1?DOWNTO?0);--00:暫停等待;01:低速;10:中;,11:高速
??????Kmmoney_L??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--合計(jì)費(fèi)用?HML=xxx?(BCD碼顯示)
??????Kmmoney_M??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--合計(jì)費(fèi)用?HML=xxx?(BCD碼顯示)
??????Kmmoney_H??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--合計(jì)費(fèi)用?HML=xxx?(BCD碼顯示)
??????
??????Kmcount_H??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--總路程,里程范圍為HL=0~99(BCD碼顯示)
??????Kmcount_L??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0)--總路程,里程范圍為HL=0~99(BCD碼顯示)
???);
END?taxi_fee;
ARCHITECTURE?trans?OF?taxi_fee?IS
--模塊例化
???COMPONENT?display?IS
??????PORT?(
?????????clk????????:?IN?STD_LOGIC;
?????????reset??????:?IN?STD_LOGIC;
?????????totel_money?:?IN?STD_LOGIC_VECTOR(15?DOWNTO?0);
?????????mileage????:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);
?????????Kmmoney_L??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);
?????????Kmmoney_M??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);
?????????Kmmoney_H??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);
?????????Kmcount_H??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);
?????????Kmcount_L??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0)
??????);
???END?COMPONENT;
--模塊例化???
???COMPONENT?speed_pulse?IS
??????PORT?(
?????????clk????????:?IN?STD_LOGIC;
?????????reset??????:?IN?STD_LOGIC;
?????????Speed??????:?IN?STD_LOGIC_VECTOR(1?DOWNTO?0);
?????????one_kilometre?:?OUT?STD_LOGIC
??????);
???END?COMPONENT;
--模塊例化
COMPONENT?taxi_state?IS
???PORT?(
??????clk??????????????:?IN?STD_LOGIC;
??????reset????????????:?IN?STD_LOGIC;
??????
??????stop?????????????:?IN?STD_LOGIC;
??????start????????????:?IN?STD_LOGIC;
??????Speed????????????:?IN?STD_LOGIC_VECTOR(1?DOWNTO?0);
??????one_kilometre????:?IN?STD_LOGIC;
??????mileage_out??????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);
??????totel_money_out??:?OUT?STD_LOGIC_VECTOR(15?DOWNTO?0)
???);
???END?COMPONENT;
???
--信號(hào)定義
???SIGNAL?one_kilometre???:?STD_LOGIC;
???SIGNAL?totel_money?????:?STD_LOGIC_VECTOR(15?DOWNTO?0);
???SIGNAL?mileage?????????:?STD_LOGIC_VECTOR(7?DOWNTO?0);
BEGIN
???--速度脈沖產(chǎn)生模塊
???U_speed_pulse?:?speed_pulse
??????PORT?MAP?(
?????????clk?????????????=>?clk,--標(biāo)準(zhǔn)時(shí)鐘,256hz?
?????????reset???????????=>?reset,--復(fù)位信號(hào),低有效?
?????????Speed???????????=>?Speed,--00:暫停等待
?????????one_kilometre???=>?one_kilometre--1公里產(chǎn)生一次脈沖
??????);
???
???
???--計(jì)費(fèi)模塊
???U_taxi_state?:?taxi_state
??????PORT?MAP?(
?????????clk??????????????=>?clk,--標(biāo)準(zhǔn)時(shí)鐘,256hz?
?????????reset????????????=>?reset,--復(fù)位信號(hào),低有效?
?????????stop?????????????=>?stop,--本次行程結(jié)束,停止計(jì)費(fèi),高有效
?????????start????????????=>?start,--啟動(dòng)信號(hào),行程開始,高有效?
?????????speed????????????=>?Speed,--00:暫停等待;01:低速;10:中;,11:高速
?????????one_kilometre????=>?one_kilometre,--1公里產(chǎn)生一次脈沖
?????????mileage_out??????=>?mileage,
?????????totel_money_out??=>?totel_money--合計(jì)費(fèi)用
??????);
???
???
???--顯示模塊
???U_display?:?display
??????PORT?MAP?(
?????????clk??????????=>?clk,--標(biāo)準(zhǔn)時(shí)鐘,256hz?
?????????reset????????=>?reset,--復(fù)位信號(hào),低有效?
?????????totel_money??=>?totel_money,--費(fèi)用
?????????mileage??????=>?mileage,--里程
?????????Kmmoney_L????=>?Kmmoney_L,--合計(jì)費(fèi)用?HML=xxx?(BCD碼顯示)
?????????Kmmoney_M????=>?Kmmoney_M,
?????????Kmmoney_H????=>?Kmmoney_H,
?????????
?????????Kmcount_H????=>?Kmcount_H,--總路程,里程范圍為HL=0~99(BCD碼顯示)
?????????Kmcount_L????=>?Kmcount_L
??????);
???
END?trans;

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=397

  • 2-231222153933133.doc
    下載

相關(guān)推薦