精品文档,仅供学****与交流,如有侵权请联系网站删除
【精品文档】第 1 页
四分频
module quarter_clk(reset,clk_in,clk_out);
input clk_in,reset;
output clk_out;
reg clk_out;
reg [4:0]count;
always@(posedge clk_in)
begin
if(!reset)
clk_out=0;
else
if (count<1)
begin
count<=count+1;
end
else
begin
count<=0;
clk_out=~clk_out;
end
end
endmodule
仿真
`define clk_cycle 50
module test_quarter_clk;
reg clk,reset;
wire clk_out;
always
#`clk_cycle clk=~clk;
initial
begin
clk=0;
reset=1;
#100 reset=0;
#100 reset=1;
#10000 $stop;
end
quarter_clk quarter_clk1(reset,clk,clk_out);
endmodule
精品文档,仅供学****与交流,如有侵权请联系网站删除
【精品文档】第 2 页
7分频
module div7(rst,clk,cout1,cout2,cout);
input clk,rst;
output cout1,cout2,cout;
reg [2:0] m,n;
wire cout;
reg cout1,cout2;
assign cout=cout1|cout2;
always @(posedge clk)
begin
if(rst) begin cout1<=0;m<=0;end
else if(!rst) begin if(m==6) begin m<=0;end
else m<=m+1; if(m==2) cout1=~cout1;
else if(m==5) cout1=~cout1;
end
end
always @(negedge clk)
begin
if(rst) begin cout2<=0;n<=0;en
Verilog-HDL4-7-分频代码 来自淘豆网www.taodocs.com转载请标明出处.