Upload
tahirtp02
View
47
Download
17
Embed Size (px)
Citation preview
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Flip-flop
Elemen Rangkaian Sekuensial: Latch
dan Flip-flopTSK505 - Sistem Digital Lanjut
Eko Didik Widianto
Teknik Sistem Komputer - Universitas Diponegoro
Review Kuliah
◮ Sebelumnya dibahas tentang desain blok rangkaian
kombinasional beserta HDLnya. Nilai keluaran rangkaian ini
hanya tergantung dari nilai sinyal yang diberikan di masukannya
◮ Rangkaian sekuensial, keluarannya tergantung juga dari
perilaku sebelumnya. Rangkaian ini menggunakan elemen
penyimpan, yaitu
◮ latch: set-reset (SR) dan data (D)◮ flip-flop: data (DFF), toggle (TFF) dan JK
◮ Kompetensi dasar yang diharapkan
◮ Mahasiswa akan mampu menjelaskan perbedaan antara
latch dan flip-flop dengan tepat◮ Mahasiswa akan mampu menjelaskan fungsi karakteristik
latch (SR, D) dan flip-flop (D, T, dan JK) dengan tepat
◮ Referensi:
1. Bab 7: Stephen Brown and Zvonko Vranesic,
Fundamentals of Digital Logic with Verilog/VHDL, 2nd
Edition, McGraw-Hill, 2005
2. Sumber-sumber lain dari internet
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Flip-flop
Bahasan
Rangkaian Sekuensial
Rangkaian Sekuensial
Elemen Memori
Latch
Latch SR
Gated SR Latch
Latch D (Data)
Sensitivitas Elemen Storage
Flip-flop
Master-slave D Flip-flop
Edge-triggered Flip-flop
Flip-flop T
Flip-flop JK
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Rangkaian Sekuensial
Elemen Memori
Latch
Flip-flop
Rangkaian SekuensialElemen Penyimpan dan Statenya
◮ Rangkaian yang nilai keluarannya tidak hanya
tergantung dari masukan saat ini, juga dari perilaku
rangkaian sebelumnya
◮ Rangkaian mempunyai elemen penyimpan
◮ Isi dari elemen penyimpan merepresentasikan
keadaan (state) dari rangkaian◮ Perubahan nilai masukan dapat menyebabkan
keadaan rangkaian tidak berubah atau berubah ke
keadaan baru◮ Rangkaian berubah sesuai urutan keadaan
sebagai hasil dari perubahan masukannya
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Latch SR
Gated SR Latch
Latch D (Data)
Sensitivitas Elemen Storage
Flip-flop
Latch SR DasarKode HDL
module sr_latch(
input r,
input s,
output qa,
output qb
);
nor n1(qa,r,qb);
nor n2(qb,s,qa);
endmodule;
Latihan: simulasikan kode di atas!
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Latch SR
Gated SR Latch
Latch D (Data)
Sensitivitas Elemen Storage
Flip-flop
Gated SR LatchKode HDL
module sr_latch_gated(
input r,
input s,
input clk,
output qa,
output qb
);
reg r_reg;
reg s_reg;
always @(r or s or clk) begin
r_reg <= r & clk;
s_reg <= s & clk;
end;
nor n1(qa,r_reg,qb);
nor n2(qb,s_reg,qa);
endmodule;
Latihan: simulasikan kode di atas!
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Latch SR
Gated SR Latch
Latch D (Data)
Sensitivitas Elemen Storage
Flip-flop
Gated D (Data) LatchKode HDL
module d_latch_gated(
input d,input clk,
output q, output qbar
);
reg q;
reg qbar;
always @(d or clk) begin
if (clk == 1) begin
q = d; qbar = !q;
end
end;
endmodule;
Latihan: simulasikan kode di atas!
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Latch SR
Gated SR Latch
Latch D (Data)
Sensitivitas Elemen Storage
Flip-flop
Sensitivitas Elemen Storage
◮ Sensitivitas elemen storage: Level-sensitive dan
Edge-triggered
◮ Level-sensitive: keluaran elemen dikontrol oleh
level masukan clock (0 atau 1) → latch◮ Edge-triggerd: keluaran elemen hanya berubah di
titik transisi nilai clock
◮ Positive-edge: transisi sinyal clock dari 0 ke 1◮ Negative-edge: transisi sinyal clock dari 1 ke 0
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Flip-flop
Master-slave D Flip-flop
Edge-triggered Flip-flop
Flip-flop T
Flip-flop JK
Flip-flop
◮ Rangkaian latch (gated) merupakan level-sensitive
◮ State dapat berubah lebih dari sekali selama
periode ’aktif’ dari sinyal clock
◮ Flip-flop
◮ Elemen penyimpan (versatile) dengan menggunakan
prinsip gated latch◮ Statenya berubah hanya sekali dalam satu periode
clock◮ Tipe: master-slave flip-flop dan edge-triggered
flip-flop
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Flip-flop
Master-slave D Flip-flop
Edge-triggered Flip-flop
Flip-flop T
Flip-flop JK
Master-slave D Flip-flop: Perilaku
◮ Saat clock=1, master melihat nilai dari sinyal
masukan D, slave tidak berubah
◮ Qm mengikuti perubahan D, dan Qs konstan
◮ Saat clock=0, master berhenti mengikuti perubahan
nilai masukan D, sebaliknya slave merespon
masukan Qm dan mengubah statenya
◮ Karena Qm tidak berubah selama clock=0, slave
hanya mengubah statenya sekalis aja selama satu
siklus clock
◮ Dari sudut pandang keluaran
◮ Rangkaian mengubah Qs (keluaran flip-flop) di titik
transisi negatif sinyal clock (perubahan dari 1→0)
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Flip-flop
Master-slave D Flip-flop
Edge-triggered Flip-flop
Flip-flop T
Flip-flop JK
D (Data) Flip-FlopKode HDL (Positive-edge Triggered)
module dff(
input d, input clk,
output q, output qbar
);
reg q;
reg qbar;
always @(posedge clk) begin
q = d; qbar = !q;
end;
endmodule;
Latihan: simulasikan kode di atas!
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Flip-flop
Master-slave D Flip-flop
Edge-triggered Flip-flop
Flip-flop T
Flip-flop JK
T (Toggle) Flip-FlopKode HDL (Positive-edge Triggered)
module tff(
input t, input clk,
output q, output qbar
);
reg q;
reg qbar;
always @(posedge clk) begin
if (t==1) q = !q;
else q = q;
qbar = !q;
end;
endmodule;
Latihan: simulasikan kode di atas!
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Flip-flop
Master-slave D Flip-flop
Edge-triggered Flip-flop
Flip-flop T
Flip-flop JK
Flip-flop JKDiagram Pewaktuan
Elemen RangkaianSekuensial: Latch
dan Flip-flop
@2011,Eko DidikWidianto
RangkaianSekuensial
Latch
Flip-flop
Master-slave D Flip-flop
Edge-triggered Flip-flop
Flip-flop T
Flip-flop JK
JK Flip-FlopKode HDL (Positive-edge Triggered)
module jkff(
input j, input k, input clk,
output q, output qbar
);
reg q;
reg qbar;
always @(posedge clk) begin
case ({j,k})
2'b00: q = q;
2'b01: q = 0;
2'b10: q = 1;
2'b11: q = q!;
endcase
qbar = !q;
end;
endmodule;
Latihan: simulasikan kode di atas!