من این کد نوشتم :
module ClkDiv(Clk_In, ClkDiv2, ClkDiv4, ClkDiv8, ResetL);
input Clk_In;
output ClkDiv2;
output ClkDiv4;
output ClkDiv8;
input ResetL;
reg ClkDiv2;
reg ClkDiv4;
reg ClkDiv8;
reg Counter1;
reg [1:0]Counter2;
always @(posedge Clk_In or negedge ResetL)
if (!ResetL)
ClkDiv2 <= 0;
else
ClkDiv2 <= ~ClkDiv2;
always @(posedge Clk_In or negedge ResetL)
if (!ResetL) begin
ClkDiv4 <= 0;
Counter1 <= 0;
end
else begin
if (Counter1 == 1)
ClkDiv4 <= ~ClkDiv4;
Counter1 <= ~Counter1;
end
always @(posedge Clk_In or negedge ResetL)
if (!ResetL) begin
ClkDiv8 <= 0;
Counter2 <= 0;
end
else begin
if (Counter2 == 3)
ClkDiv8 <= ~ClkDiv8;
Counter2 <= Counter2 + 1;
end
endmodule