FPGA_最基本小实验操作——流水灯

一,概念

        这个很简单,就是移位,数字电路里面要熟悉移位这个操作,就像51单片机一样哈。

二,代码基于verlog

//流水灯操作

module flow_led(

	input            sys_clock,
	input            sys_rst_n,
	output reg [3:0] led

);
//计数0.2S = 1000W-1 =1000_0000-1
reg [23:0]  counter;
always@(posedge sys_clock or negedge sys_rst_n)begin
	if(!sys_rst_n)
		counter <= 24'd0;
	else if(counter < 24'd1000_0000 - 1'b1)//当等于0.2S的时候
		counter <= counter +1'b1;
	else
		counter <= 24'd0;
end

//移位对给LED供电
always@(posedge sys_clock or negedge sys_rst_n)begin
	if(!sys_rst_n)
		led <= 4'b0001;
	else if(counter == 24'd1000_0000 - 1'b1)
		led <= {led[2:0],led[3]};   //位拼接,将最高位换到最低为去,依次
	else
		led <= led;
end 

endmodule

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值