`timescale 1ns/1ns module even_div ( input wire rst , input wire clk_in, output reg clk_out2, output reg clk_out4, output reg clk_out8 ); //*************code***********// reg [2:0]cnt2; reg [2:0]cnt4; reg [2:0]cnt8; always@(posedge clk_in or negedge rst) begin if(!rst) cnt8<=0; else if(cnt8==7) cnt8<=0; else cnt8<=cnt8+1; end always@(posedge clk_in or negedge rst) begin if(!rst) clk_out8<=0; else if(cnt8<4) clk_out8<=1; else clk_out8<=0; end always@(posedge clk_in or negedge rst) begin if(!rst) cnt4<=0; else if(cnt4==3) cnt4<=0; else cnt4<=cnt4+1; end always@(posedge clk_in or negedge rst) begin if(!rst) clk_out4<=0; else if(cnt4<2) clk_out4<=1; else clk_out4<=0; end always@(posedge clk_in or negedge rst) begin if(!rst) clk_out2<=0; else clk_out2<=~clk_out2; end //*************code***********// endmodule