名称: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
源代码
扫描文章末尾的公众号二维码