名称:Quartus可变模式计数器设计Verilog代码AX301开发板(文末获取)
软件:Quartus
语言:Verilog
代码功能:可变模式计数器设计设计模为4、8、12、16的可变计数器。 要求:(1)计数周期为0.5秒; (2)用按键选择计数模式;和记数。 (3)用LED灯表示当前计数模式
本代码已在AX301开发板验证,开发板如下,其他开发板可以修改管脚适配:
1. 工程文件
2. 程序文件
3. 程序编译
4. RTL图
5. 管脚分配
6. Testbench
7. 仿真图
整体仿真图
分频模块
控制模块
显示模块
部分代码展示:
//控制模块 module mod_counter( input clk_2Hz,//0.5秒,2Hz input reset_n,//复位 input key_1,//按键1 input key_2,//按键2 input key_3,//按键3 input key_4,//按键4 output reg [4:0] counter//计数器输出 ); reg [4:0] mod_cnt=5'd4; always@(posedge clk_2Hz or negedge reset_n) if(!reset_n)//低电平复位 mod_cnt<=5'd4; else if(key_1==0)//模4 mod_cnt<=5'd4; else if(key_2==0)//模8 mod_cnt<=5'd8; else if(key_3==0)//模12 mod_cnt<=5'd12; else if(key_4==0)//模16 mod_cnt<=5'd16; always@(posedge clk_2Hz or negedge reset_n) if(!reset_n)//低电平复位 counter<=5'd0; else if(counter>=mod_cnt-1)//计数0~mod_cnt-1 counter<=5'd0; else counter<=counter+5'd1;//累加 endmodule
源代码
扫描文章末尾的公众号二维码