以下是用IP核实现的闪光灯代码
module ip_pll_sgd
#( parameter CNT_MAX =32'd25_000_000 ) //0.5s 定义常量固定值(全局变量)
(
input wire clk , //50MHZ, 20ns
input wire rst_n , //复位
output reg Y
);
reg [31:0] cnt;
wire c0;
wire locked;
always@(posedge clk,negedge rst_n)
begin
if(~rst_n) //rst=0,复位按下
cnt <= 31'd0;
else if(cnt == 4*CNT_MAX-1)
cnt <= 31'd0;
else
cnt<= cnt+1'b1;
end
always@(posedge clk or negedge rst_n)
begin
if(~rst_n)
Y <= 1'b1;
else if(cnt<CNT_MAX-1)
Y <= 1'b0;
else
Y <= 1'b1;
end
led_sgd led_sgd_inst (
.areset ( rst_n ),
.inclk0 ( clk ),
.c0 ( c0 ),
.locked ( locked )
);
endmodule
led_sgd led_sgd_inst (
.areset ( areset_sig ),
.inclk0 ( inclk0_sig ),
.c0 ( c0_sig ),
.locked ( locked_sig )
);


