|
- module cd4076( //具有三态输出带使能的四路D型触发器 VCC:Pin16 GND:Pin8
- input [3:0] D, //[4位宽] 锁存输入D Pin:11,12,13,14
- input CLK, //时钟信号 (上升沿触发) Pin7
- input E1, //时钟使能E1 (与E2同时低电平有效) Pin9
- input E2, //时钟使能E2 Pin10
- input OE1, //三态控制OE1 (与OE2同时低电平使能Q 否则高阻)Pin1
- input OE2, //三态控制OE2 Pin2
- input MR, //异步上升沿Q清零 Pin15
- output [3:0] Q //[4位宽] 锁存输出Q Pin:6,5,4,3
- );
- reg [3:0] q = 4'd0;
- assign Q = (OE1 | OE2) ? 4'bzzzz : q; //大小写敏感
- always @(posedge CLK or posedge MR) begin
- if(MR) begin
- q <= 4'd0;
- end else if(CLK && !{E1,E2}) begin
- q <= D;
- end
- end
- endmodule
- module main(
- input clk, //50Mhz时钟输入 Pin17
- output out //16分频(3.125Mhz输出) Pin40
- );
- wire [3:0] i;
- assign out = i[3];
- cd4076 U1(
- .D(i + 4'd1),
- .CLK(clk),
- .E1(1'b0),
- .E2(1'b0),
- .OE1(1'b0),
- .OE2(1'b0),
- .MR(1'b0),
- .Q(i)
- );
- endmodule
复制代码 |
|