名称:Quartus出租车模拟计价器Verilog代码远程云端平台(文末获取)
软件:Quartus
语言:Verilog
代码功能:
基于Verilog HDL的出租车模拟计价器设计
设计要求:
(1)基于QuartusII软件环境下,使用Verilog为设计语言,利用远程云端硬件实验平台完成设计;
(2)1.设计一个出租车模拟计价器,要求行程≤4km,且等待时间≤2min,则起步费为8元。
2.若行程≥4km,按1km/1元计费,等待累计时间≥2min时,按1min/1元计费。
3.要求具有以下功能:能显示总行驶公里数,总等待累计时间,最后的总费用。
(3)采用层次化的设计。
本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. 程序RTL图
5. 管脚分配
6. 仿真文件
7. 仿真图
部分代码展示:
module?taxi_fee( input?clk_1K,//标准时钟 input?reset_p,//复位信号 input?KM_key,//里程按键 input?stop,//中途暂停 input?start,//启动信号,行程开始,高有效? output?[3:0]?SEG_CS1,//数码管1段选 output?[7:0]?SEG1,//数码管1位选 output?[3:0]?SEG_CS2,//数码管2段选 output?[7:0]?SEG2//数码管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),//标准时钟,100hz? .?reset(reset_p),//复位信号 .?KM_key(KM_key),//里程按键 .?stop(stop),//中途暂停 .?start(start),//启动信号,行程开始,高有效? .?min_out(min_out),//时间 .?mileage_out(mileage),//里程 .?totel_money_out(totel_money)//合计费用 ); //转BCD码 BCD?i0_BCD( .?binary_234(totel_money), .?Tens_234(totel_money_ten), .?Ones_234(totel_money_one) ????); //转BCD码? BCD?i1_BCD( .?binary_234(mileage), .?Tens_234(mileage_ten), .?Ones_234(mileage_one) ????); //转BCD码 BCD?i2_BCD( .?binary_234(min_out), .?Tens_234(min_out_ten), .?Ones_234(min_out_one) ????); ? //数码管显示模块 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
?扫描文章末尾的公众号二维码