1、使用AX301开发板实现流水灯

本文介绍如何利用AX301开发板,通过Verilog编程实现流水灯效果。当按下KEY4按钮时,系统进行异步复位。程序包括计数分频电路和主程序,LED灯依次点亮。文中还强调了寄存器变量赋值及模块间线的定义原则。
摘要由CSDN通过智能技术生成

该程序实现的效果是,下载到FPGA开发板后,LED0到LED3以此点亮,KEY4作为复位按钮,若按下则复位(异步复位),四个LED灯先同时点亮,然后再从LED0开始逐次点亮。
本程序可分为两个部分,主程序和计数分频电路,两部分的代码分别如下:

1、通过计数产生clk信号:

module fd_LED(
	input clock,
	input resetn,
	output reg clk);
	
	reg [24:0] count;
	
	always @(posedge clock) begin
		if(count == 26'd24_999_999) begin
			count <= 25'd0;
			clk <= ~clk;
		end
		else
			count <= count + 25'b1;
	end
	
endmodule

2、流水灯控制程序:

module LED(
	input clock,
	input resetn,
	output reg [3:0] led);
	
	reg [1:0] con;
	fd_LED clk_mod (.clock(clock), .resetn(resetn), .clk(clk));
	
	always @(posedge clk or negedge resetn) begin
		if(~resetn) begin
			con <= 2'b00;
			led <= 4'hf;
		end
		else begin
			con <= con + 2'd1;
			led <= 4'h0;
			led[con] <= 1'b1;
		end
	end
	
e
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值