|
发表于 2012-11-14 11:29:02
|
显示全部楼层
本帖最后由 harejavahill 于 2012-11-14 11:30 编辑
module div_3
(
input clk,
input reset_l,
output clk_div_3
);
reg [1:0] cnt_p;
always @(posedge clk)
if(!reset_l)
cnt_p<=2'b00;
else if(cnt_p==2'b10)
cnt_p<=2'b00;
else
cnt_p<=cnt_p+1;
reg p_clk;
always @(posedge clk)
if(!reset_l)
p_clk<=1'b0;
else if(cnt_p==2'b01)
p_clk<=1'b1;
else
p_clk<=1'b0;
reg [1:0] cnt_n;
always @(negedge clk)
if(!reset_l)
cnt_n<=2'b00;
else if(cnt_n==2'b10)
cnt_n<=2'b00;
else
cnt_n<=cnt_n+1;
reg n_clk;
always @(negedge clk)
if(!reset_l)
n_clk<=1'b0;
else if(cnt_n==2'b01)
n_clk<=1'b1;
else
n_clk<=1'b0;
//assign clk_div_3=(cnt_p==2'b01)|(cnt_n==2'b01);
//instance lib gate to avoid glitch
OR2x1 (.y(clk_div),.a(p_clk),.b(n_clk));
endmodule
把代码改成这样也许可行。。。 |
|