Verilog用d觸發器實現4分頻的Verilog hdl源代碼:
module dff_4(clk,rst,clk_out);
input clk,rst;
output clk_out;
wire clk,rst;
reg clk_out;
reg q1,q2;
always @(posedge clk or negedge rst)
if(!rst)
begin
q1 <= 1'b0;
end
else
begin
q1 <= ~q1;
end
always @(posedge q1 or negedge rst)
if(!rst)
begin
q2 <= 1'b0;
clk_out <= 1'b0;
end
else
begin
q2 <= ~q2;
clk_out <= q2;
end
endmodule
RTL viewer原理圖:
仿真波形圖: