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

该程序实现的效果是,下载到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

你可能感兴趣的:(FPGA,Verilog,FPGA,流水灯,Verilog,AX301)