C。Y

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
 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视图

posted on 2014-04-05 12:01  C。Y  阅读(2377)  评论(0编辑  收藏  举报