|
发表于 2014-7-2 22:58:05
|
显示全部楼层
本帖最后由 quantumdot 于 2014-7-3 21:26 编辑
回复 7# lbz053273
- module div3(clk,rst,clk3);
- input clk,rst;
- output clk3;
-
- wire[1:0]q;
-
- DFF a0(clk,q[0],q[1],rst),
- a1(clk,net1,q[0],rst),
- a4(clkn,q[1],net2,rst);
- xnor a2(net1,q[0],q[1]);
- not a3(clkn,clk);
- or a5(clk3,net2,q[1]);
- endmodule
- module DFF(clk,D,Q,rst);
- input clk,D,rst;
- output Q;
- reg Q;
-
- always@(posedge clk or posedge rst)
- begin
- if(rst)
- Q<=0;
- else
- Q<=D;
- end
- endmodule
复制代码
- module behavior(clk,rst,clk3);
- input clk,rst;
- output clk3;
- reg[1:0]q;
- reg temp;
- assign clk3=q[1]||temp;
- always@(posedge clk or posedge rst)
- begin
- if(rst)
- q<=2'b00;
- else if(q>2'b01)
- q<=2'b00;
- else
- q<=q+1'b1;
- end
- always@(negedge clk or posedge rst)
- begin
- if(rst)temp<=0;
- else temp<=q[0];
- end
-
- endmodule
复制代码
连接图
3分频,占空比50% |
|