出租车计价设计Verilog代码vivado ego1开发板

您所在的位置:网站首页 出租车计价器配件批发 出租车计价设计Verilog代码vivado ego1开发板

出租车计价设计Verilog代码vivado ego1开发板

2024-07-10 15:46| 来源: 网络整理| 查看: 265

名称:出租车计价设计Verilog代码vivado  ego1开发板(文末获取)

软件:vivado

语言:Verilog

代码功能:

设计任务与要求:

乘客乘坐出租车时,其费用分成起步价、行车里程费和等候时间费三部分,由自动计费器自动记录。在汽车行进时向自动计费器发送脉冲信号,在一定的公里数(即一定的脉冲数)内,按起步价计费超过这一里程后,自动计费器按里程计费;如果停车等候,按等候时间的多少计费。

本代码已在ego1开发板验证,ego1开发板如下,其他开发板可以修改管脚适配:

ego1开发板.png

1. 功能设计

要求:

设计:

车速脉冲,10个脉冲1公里,起步价5元,3公里内起步价,大于3公里按里程计价,2.1元每公里,停车计费按0.6元每十分钟计费。

2. 工程文件

3. 程序文件

4. 程序运行

5. 程序RTL图

6. 管脚约束

7. Testbench

8. 仿真图

整体仿真

wheel_second_pluse模块

speed_pulse模块

taxi_state模块

Display模块

部分代码展示:

module taxi_fee( input clk,//标准时钟,100M input reset,//复位信号,低有效  input stop,//本次行程结束,停止计费,高有效--按键 input start,//启动信号,行程开始,高有效 --按键 input Speed,//0:等待  1:行驶--开关 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//高电平点亮,高电平选通 ); wire [2:0]state_out; wire wheel_pulse; wire second_pulse; //车轮脉冲产生及秒脉冲产生模块 wheel_second_pluse U_wheel_second_pluse( . clk(clk),//标准时钟,100MHz . reset(reset),//复位信号,低有效  . Speed(Speed),//0:等待  1:行驶 . led_wheel(led_wheel), . wheel_pulse(wheel_pulse), // 车轮脉冲,10个1公里 . second_pulse(second_pulse) //秒脉冲 ); //模块例化 wire one_kilometre;//1公里产生一次 wire ten_minute;//暂停等待,10分钟产生一次 wire [15:0] totel_money; wire [7:0] mileage; wire [7:0] second; //信号定义 speed_pulse U_speed_pulse( . clk(clk),//标准时钟,100M  . reset(reset),//复位信号,低有效  . wheel_pulse(wheel_pulse), // 车轮脉冲,10个1公里 . second_pulse(second_pulse), //秒脉冲 . one_kilometre(one_kilometre),//1公里产生一次 . state(state_out), . second_out(second), . ten_minute(ten_minute)//10分钟产生一次 ); taxi_state U_taxi_state( . clk(clk),//标准时钟,100M  . reset(reset),//复位信号,低有效  . stop(stop),//本次行程结束,停止计费,高有效 . start(start),//启动信号,行程开始,高有效  . Speed(Speed),//0:等待  1:行驶 . one_kilometre(one_kilometre),//1公里产生一次 . ten_minute(ten_minute),//10分钟产生一次 . state_out(state_out), . mileage_out(mileage), . totel_money_out(totel_money)//合计费用 ); display U_display( . clk(clk),//标准时钟,100M  . reset(reset),//复位信号,低有效  . totel_money(totel_money),//费用 . 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)//高电平点亮,高电平选通 ); endmodule 源代码

 扫描文章末尾的公众号二维码



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3