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

出租車計(jì)價(jià)設(shè)計(jì)Verilog代碼vivado ego1開發(fā)板

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

2-2312301026443K.doc

共1個(gè)文件

名稱:出租車計(jì)價(jià)設(shè)計(jì)Verilog代碼vivado? ego1開發(fā)板

軟件:vivado

語言:Verilog

代碼功能:

設(shè)計(jì)任務(wù)與要求:

乘客乘坐出租車時(shí),其費(fèi)用分成起步價(jià)、行車?yán)锍藤M(fèi)和等候時(shí)間費(fèi)三部分,由自動(dòng)計(jì)費(fèi)器自動(dòng)記錄。在汽車行進(jìn)時(shí)向自動(dòng)計(jì)費(fèi)器發(fā)送脈沖信號(hào),在一定的公里數(shù)(即一定的脈沖數(shù))內(nèi),按起步價(jià)計(jì)費(fèi)超過這一里程后,自動(dòng)計(jì)費(fèi)器按里程計(jì)費(fèi);如果停車等候,按等候時(shí)間的多少計(jì)費(fèi)。

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

本代碼已在ego1開發(fā)板驗(yàn)證,ego1開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

ego1開發(fā)板.png

演示視頻:

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

1. 功能設(shè)計(jì)

要求:

設(shè)計(jì):

車速脈沖,10個(gè)脈沖1公里,起步價(jià)5元,3公里內(nèi)起步價(jià),大于3公里按里程計(jì)價(jià),2.1元每公里,停車計(jì)費(fèi)按0.6元每十分鐘計(jì)費(fèi)。

2. 工程文件

3. 程序文件

4. 程序運(yùn)行

5. 程序RTL圖

6. 管腳約束

7. Testbench

8. 仿真圖

整體仿真

wheel_second_pluse模塊

speed_pulse模塊

taxi_state模塊

Display模塊

部分代碼展示:

module?taxi_fee(
input?clk,//標(biāo)準(zhǔn)時(shí)鐘,100M
input?reset,//復(fù)位信號(hào),低有效?
input?stop,//本次行程結(jié)束,停止計(jì)費(fèi),高有效--按鍵
input?start,//啟動(dòng)信號(hào),行程開始,高有效?--按鍵
input?Speed,//0:等待??1:行駛--開關(guān)
output?led_wheel,//車輪脈沖指示燈
output???[7:0]?dig_led_1,
output???[3:0]?wei_led_1,
output???[7:0]?dig_led_2,
output???[3:0]?wei_led_2//高電平點(diǎn)亮,高電平選通
);
wire?[2:0]state_out;
wire?wheel_pulse;
wire?second_pulse;
//車輪脈沖產(chǎn)生及秒脈沖產(chǎn)生模塊
wheel_second_pluse?U_wheel_second_pluse(
.?clk(clk),//標(biāo)準(zhǔn)時(shí)鐘,100MHz
.?reset(reset),//復(fù)位信號(hào),低有效?
.?Speed(Speed),//0:等待??1:行駛
.?led_wheel(led_wheel),
.?wheel_pulse(wheel_pulse),?//?車輪脈沖,10個(gè)1公里
.?second_pulse(second_pulse)?//秒脈沖
);
//模塊例化
wire?one_kilometre;//1公里產(chǎn)生一次
wire?ten_minute;//暫停等待,10分鐘產(chǎn)生一次
wire?[15:0]?totel_money;
wire?[7:0]?mileage;
wire?[7:0]?second;
//信號(hào)定義
speed_pulse?U_speed_pulse(
.?clk(clk),//標(biāo)準(zhǔn)時(shí)鐘,100M?
.?reset(reset),//復(fù)位信號(hào),低有效?
.?wheel_pulse(wheel_pulse),?//?車輪脈沖,10個(gè)1公里
.?second_pulse(second_pulse),?//秒脈沖
.?one_kilometre(one_kilometre),//1公里產(chǎn)生一次
.?state(state_out),
.?second_out(second),
.?ten_minute(ten_minute)//10分鐘產(chǎn)生一次
);
taxi_state?U_taxi_state(
.?clk(clk),//標(biāo)準(zhǔn)時(shí)鐘,100M?
.?reset(reset),//復(fù)位信號(hào),低有效?
.?stop(stop),//本次行程結(jié)束,停止計(jì)費(fèi),高有效
.?start(start),//啟動(dòng)信號(hào),行程開始,高有效?
.?Speed(Speed),//0:等待??1:行駛
.?one_kilometre(one_kilometre),//1公里產(chǎn)生一次
.?ten_minute(ten_minute),//10分鐘產(chǎn)生一次
.?state_out(state_out),
.?mileage_out(mileage),
.?totel_money_out(totel_money)//合計(jì)費(fèi)用
);
display?U_display(
.?clk(clk),//標(biāo)準(zhǔn)時(shí)鐘,100M?
.?reset(reset),//復(fù)位信號(hào),低有效?
.?totel_money(totel_money),//費(fèi)用
.?mileage(mileage),//里程
.?second(second),
.?dig_led_1(dig_led_1),
.?wei_led_1(wei_led_1),
???
.?dig_led_2(dig_led_2),
.?wei_led_2(wei_led_2)//高電平點(diǎn)亮,高電平選通
);
endmodule

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

  • 2-2312301026443K.doc
    下載

相關(guān)推薦