2012年10月16日 星期二

設計一除頻電路(Divider),將系統頻率27MHz或50MHz除頻為單位頻率(1Hz)。


設計一除頻電路(Divider),將系統頻率27MHz或50MHz除頻為單位頻率(1Hz)。 
並將其1Hz的頻率使用於一LED燈R0,每秒亮滅切換一次。 



// CLOCK_27 PIN_D13
// CLOCK_50 PIN_N2  -->CLK
// EXT_CLOCK PIN_P26
// KEY[0] PIN_G26  -->RSTn
// LEDR[0]   PIN_AE23 --> LED_out



module _1HZ (
    CLK, RSTn, LED_Out
         );

    input CLK;
    input RSTn;
    output LED_Out;
    
    /*************************************/
    
    parameter T1S = 24'd50_000_000;  //50MHZ 
    
    /*************************************/
    
    reg [23:0]Count1;
    
    always @ ( posedge CLK or negedge RSTn )
    begin
   if( !RSTn )
       Count1 <= 24'd0;
   else if( Count1 == T1S )
       Count1 <= 24'd0;
   else
       Count1 <= Count1 + 1'b1;
end        
/*************************************/

reg rLED_Out;


always @ ( posedge CLK or negedge RSTn )
    begin
        if( !RSTn ) 
            rLED_Out <= 1'b0;
        else if( Count1 >= 24'd0 && Count1 < 24'd25_000_000 )
          //0.5sec ON , o.5sec OFF
            rLED_Out <= 1'b1;
        else 
            rLED_Out <= 1'b0;
     end  
          
     /***************************************/
     
     assign LED_Out = rLED_Out;
     
     /***************************************/
              
    
endmodule


沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...