|
- module hc113_son( //74HC113 单路子模块
- input J, //输入J
- input K, //输入K
- input S, //异步下降沿Q置1
- input CLK, //时钟(下降沿触发)
- output reg Q, //Q的锁存输出
- output _Q //Q的反向输出
- );
- assign _Q = !Q;
- always @(negedge CLK or negedge S) begin
- if(!S) begin
- Q <= 1'b1;
- end else begin
- case({J,K})
- 2'b00:Q <= Q; //J=0 K=0 不变
- 2'b01:Q <= 1'b0; //J=0 K=1 清0
- 2'b10:Q <= 1'b1; //J=1 K=0 置1
- 2'b11:Q <= !Q; //J=1 K=1 翻转
- endcase
- end
- end
- endmodule
- module hc113( //74HC113/74LS113 具有异步置位的双路下降沿J-K触发器 VCC:Pin14 GND:Pin7
- //A组
- input J_A, //输入J Pin3
- input K_A, //输入K Pin2
- input S_A, //异步下降沿Q置1 Pin4
- input CLK_A, //时钟(下降沿触发) Pin1
- output Q_A, //Q的锁存输出 Pin5
- output _Q_A, //Q的反向输出 Pin6
- //B组
- input J_B, //Pin11
- input K_B, //Pin12
- input S_B, //Pin10
- input CLK_B, //Pin13
- output Q_B, //Pin9
- output _Q_B //Pin8
- );
- hc113_son A(
- .J(J_A),
- .K(K_A),
- .S(S_A),
- .CLK(CLK_A),
- .Q(Q_A),
- ._Q(_Q_A)
- );
- hc113_son B(
- .J(J_B),
- .K(K_B),
- .S(S_B),
- .CLK(CLK_B),
- .Q(Q_B),
- ._Q(_Q_B)
- );
- endmodule
- module main(
- input clk, //板载时钟 Pin17
- output out1, //时钟二分频输出 Pin40
- output out2 //时钟四分频输出 Pin42
- );
- hc113 U1(
- .J_A(1'b1),
- .K_A(1'b1),
- .S_A(1'b1),
- .CLK_A(clk),
- .Q_A(out1),
- ._Q_A(),
-
- .J_B(1'b1),
- .K_B(1'b1),
- .S_B(1'b1),
- .CLK_B(out1),
- .Q_B(),
- ._Q_B(out2),
- );
- endmodule
复制代码 |
|