D Latch
CLK = 0 : Q(t+1) = D
CLK = 1 : Q(t+1) = Q(t) <= 기존값 유지
`timescale 1ns / 1ps
module d_latch(
input D ,
input CLK ,
output Q ,
output n_Q
);
wire n_CLK;
wire nand0, nand1;
wire out0, out1;
assign nand0 = ~(D & CLK);
assign nand1 = ~(~D & CLK);
assign out0 = Q;
assign out1 = n_Q;
assign Q = ~(nand0 & n_Q);
assign n_Q = ~(nand1 & Q);
endmodule
d_latch.v
0.00MB
tb_d_latch.v
0.00MB
4Nand, 1Inverter
※ Nand 1개당 Transistor 4개, Inverter 1개당 Transistor 2개 따라서 18Transistor 필요
D Flip-Flop
CLK = ↑ (Rising Edge) : Q(t+1) = D
CLK = 그외 : Q(t+1) = Q(t) <= 기존값 유지
`timescale 1ns / 1ps
module d_ff(
input D ,
input CLK ,
output Q ,
output n_Q
);
wire Q0;
d_latch u_d_latch0(
. D (D),
. CLK (~CLK),
. Q (Q0),
. n_Q ()
);
d_latch u_d_latch1(
. D (Q0),
. CLK (CLK),
. Q (Q),
. n_Q (n_Q)
);
endmodule
d_ff.v
0.00MB
tb_d_ff.v
0.00MB
D Latch가 2개 사용되므로 8Nand, 2Inverter
※ 36Transistor
출처
https://m.blog.naver.com/study_together_/221277740243
[대학교 디지털시스템] 래치(Latch)/플립플롭(Flip-flop)
By 루두두 안녕하세요, 루두두입니다. 여러분 오랜만이에요!! 언제나 그렇듯 공부, 또 공부합시다. 오늘은...
blog.naver.com
http://www.ktword.co.kr/test/view/view.php?m_temp1=4712
D 플립플롭
D Flip-flop, Data Flip-flop, Delay Flip-flop D 플립플롭(2022-08-16)
www.ktword.co.kr
'전자공학 > 디지털회로' 카테고리의 다른 글
[Verilog] 1/1000 prescaler (0) | 2022.12.27 |
---|---|
[Verilog] Counter (0) | 2022.12.26 |
[Verilog] Latches and Flip-floops (0) | 2022.12.22 |
[Verilog] Arithmetic Circuit (0) | 2022.12.21 |
[Verilog] Multiplexer (1) | 2022.12.21 |
댓글