实现一个二分频的可综合模型
module clk_div2 (clkin,clkout,rstn);
input clkin;
input rstn;
output clkout;
reg clkout;
always @(poseage clk or negeage rstn) begin //这个是时序电路的基本always语句
if (!rstn)
clkout<=1'b0;
else
clkout<=~clkout;
end
endmodule
//testbench
module clk div2_tb;
reg clkin,rstn;
wire clkout;
initial begin
clkin=0;
forever #20 clkin=~clkin;
end
initial begin
rstn=1'b1;
#30 rstn=1'b0;
repeat (5) @(posedge clkin)
rstn=1'b1;
#1000 $finish;
end
clk_div2 u_clk_div2( .clkin(clkin), .clkout(clkout), .rstn(rstn) );
endmodule
当然这个是二分频占空比百分之50的电路设计,其实还有很多面试会考察多分频非百分之五十占空比的设计,这里我码一个很厉害博主的讲解,记录学习IC面试常考题 Verilog三分频电路设计(占空比50%,三分之一,三分之二)-CSDN博客