让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