設計一除頻電路(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
沒有留言:
張貼留言