名稱:Quartus出租車模擬計(jì)價器Verilog代碼遠(yuǎn)程云端平臺
軟件:Quartus
語言:Verilog
代碼功能:
基于Verilog HDL的出租車模擬計(jì)價器設(shè)計(jì)。
設(shè)計(jì)要求:
(1)基于QuartusII軟件環(huán)境下,使用Verilog為設(shè)計(jì)語言,利用遠(yuǎn)程云端硬件實(shí)驗(yàn)平臺完成設(shè)計(jì);
(2)1.設(shè)計(jì)一個出租車模擬計(jì)價器,要求行程≤4km,且等待時間≤2min,則起步費(fèi)為8元。
2.若行程≥4km,按1km/1元計(jì)費(fèi),等待累計(jì)時間≥2min時,按1min/1元計(jì)費(fèi)。
3.要求具有以下功能:能顯示總行駛公里數(shù),總等待累計(jì)時間,最后的總費(fèi)用。
(3)采用層次化的設(shè)計(jì)。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在遠(yuǎn)程云端平臺驗(yàn)證,遠(yuǎn)程云端平臺如下,其他遠(yuǎn)程云端平臺可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. 程序RTL圖
5. 管腳分配
6. 仿真文件
7. 仿真圖
部分代碼展示:
module?taxi_fee( input?clk_1K,//標(biāo)準(zhǔn)時鐘 input?reset_p,//復(fù)位信號 input?KM_key,//里程按鍵 input?stop,//中途暫停 input?start,//啟動信號,行程開始,高有效? output?[3:0]?SEG_CS1,//數(shù)碼管1段選 output?[7:0]?SEG1,//數(shù)碼管1位選 output?[3:0]?SEG_CS2,//數(shù)碼管2段選 output?[7:0]?SEG2//數(shù)碼管2位選 ); wire?[7:0]?totel_money; wire?[7:0]?mileage; wire?[7:0]?min_out; wire?[3:0]?totel_money_ten; wire?[3:0]?totel_money_one; wire?[3:0]?mileage_ten; wire?[3:0]?mileage_one; wire?[3:0]?min_out_ten; wire?[3:0]?min_out_one; wire?clk_100Hz; //分頻到100Hz div_100Hz?i_div_100Hz( .?clk_1K(clk_1K), .?clk_100Hz(clk_100Hz) ); //出租車控制 taxi_state?U_taxi_state( .?clk(clk_100Hz),//標(biāo)準(zhǔn)時鐘,100hz? .?reset(reset_p),//復(fù)位信號 .?KM_key(KM_key),//里程按鍵 .?stop(stop),//中途暫停 .?start(start),//啟動信號,行程開始,高有效? .?min_out(min_out),//時間 .?mileage_out(mileage),//里程 .?totel_money_out(totel_money)//合計(jì)費(fèi)用 ); //轉(zhuǎn)BCD碼 BCD?i0_BCD( .?binary_234(totel_money), .?Tens_234(totel_money_ten), .?Ones_234(totel_money_one) ????); //轉(zhuǎn)BCD碼? BCD?i1_BCD( .?binary_234(mileage), .?Tens_234(mileage_ten), .?Ones_234(mileage_one) ????); //轉(zhuǎn)BCD碼 BCD?i2_BCD( .?binary_234(min_out), .?Tens_234(min_out_ten), .?Ones_234(min_out_one) ????); ? //數(shù)碼管顯示模塊 display?i_display( .?clk_1K(clk_1K),//1KHz .?totel_money_ten(totel_money_ten), .?totel_money_one(totel_money_one), .?mileage_ten(mileage_ten), .?mileage_one(mileage_one), .?min_out_ten(min_out_ten), .?min_out_one(min_out_one), .?SEG_CS1(SEG_CS1), .?SEG1(SEG1), .?SEG_CS2(SEG_CS2), .?SEG2(SEG2) ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=360