名称:数值快速设置电路设计Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
数值快速设置电路设计要求:设计一个数值快速设置电路。
1)用两个按键U和DON分别对2位十进制数进行递增或递减设置。
2)要求设置过程中数值的变化速率随着按键闭合时间而增加。
3)数值变化速率分为0.1HZ、1HZ、10HZ、20Hz共4级,按键闭合时间每增加1秒递增一级。按
键件闭合时间超过4秒后保持最高速率修改设置数值
4)数值通过数码管显示。
1. 程序文件
2. Testbench
3. 仿真图
部分代码展示:
module set_num( input clk,//1KHz input UP,//加 input DOWN,//减 output [7:0] HEX1,//数码管1//个位 output [7:0] HEX2//数码管2//十位 ); wire clk_5Hz;//5Hz wire clk_10Hz;//10Hz wire clk_1Hz;//1Hz wire clk_2Hz;//2Hz wire [7:0] number;//计数值 //分频模块 div_clk i_div_clk( . clk(clk),//1KHz . clk_5Hz(clk_5Hz),//5Hz . clk_10Hz(clk_10Hz),//10Hz . clk_1Hz(clk_1Hz),//1Hz . clk_2Hz(clk_2Hz)//2Hz ); //状态机模块 state_machine i_state_machine( . clk(clk),//1KHz . UP(UP),//加 . DOWN(DOWN),//减 . clk_5Hz(clk_5Hz),//5Hz . clk_10Hz(clk_10Hz),//10Hz . clk_1Hz(clk_1Hz),//1Hz . clk_2Hz(clk_2Hz),//2Hz . number(number)//计数值 ); //显示模块 display i_display( . clk(clk), . number(number),//计数值 . HEX1(HEX1),//数码管-低亮//个位 . HEX2(HEX2)//数码管-低亮//十位 ); endmodule
源代码
扫描文章末尾的公众号二维码