重温FPGA开发7

本文介绍如何使用参数化设计方法实现LED灯模块led_run8,通过调整MCNT参数控制8个LED灯以不同频率独立闪烁。通过实例展示如何在led_run8_test模块中应用不同MCNT值,实现灵活频率控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

让8个LED等以不同的频率闪烁

使用参数化设计方法实验
led_run8.v

module led_run8(
	input Clk;
	input Reset_n;
	output reg Led;
	
	parameter MCNT = 24999999;
	
	reg [24:0] counter;

	// <= 非阻塞的意思
	always@(posedge Clk or negedge Reset_n)
	if(!Reset_n)
		counter <= 0;
	else if(counter == MCNT )
		counter <= 0;
	else
		counter <= counter + 1'd1;
	
	always@(posedge Clk or negedge Resnet_n)
	if(!Reset_n)
		Led <= 0;
	else if(counter == MCNT )
		Led <= !Led;

endmodule

)

led_run8_test.v

module led_run8_test(
	Clk,
	Resnet_n,
	Led
);
	
	input Clk;
	input Reset_n;
	output [7:0]Led;
	
	Led_run8 led_run8_inst0(
	.Clk(Clk),
	.Reset_n(Reset_n),
	.Led(Led[0])
	);
	// 使用参数的设计方法
	defparam led_run8_inst0.MCNT = 2499999;
	

	Led_run8 led_run8_inst1(
	.Clk(Clk),
	.Reset_n(Reset_n),
	.Led(Led[1])
	);
	defparam led_run8_inst0.MCNT = 4999999;
	
	Led_run8 led_run8_inst2(
	...
	
endmodule
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值