verilog 第一个程序:LED闪烁

 1     //led闪烁测试模块  
 2     //使用外部50MHz晶振作为时钟,周期20ns  
 3     //亮灭周期1s  
 4     module led_test1(  
 5                 clk,  
 6                 rst_n,  
 7                 led  
 8                 );     
 9       
10     input clk;  
11     input rst_n;  
12     output led;  
13       
14       
15     reg [27:0] cnt; //定义一个计数器计时  
16       
17     always @ (posedge clk or negedge rst_n)  
18         if(!rst_n)  
19             cnt<=0;  //复位置0计数器  
20         else if(cnt<=27'd50000000)   //需要经过50000000个周期才达到1s  
21             cnt<=cnt+1'd1;  
22         else  
23             cnt<=0;  
24       
25     assign led=(cnt<=25000000) ? 1'b1:1'b0;  //占空比50%  
26       
27     endmodule   

 

RTL视图

转载于:https://www.cnblogs.com/sungngaichen/p/3647081.html

你可能感兴趣的:(verilog 第一个程序:LED闪烁)