34
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial Latch Flip-flop Elemen Rangkaian Sekuensial: Latch dan Flip-flop TSK505 - Sistem Digital Lanjut Eko Didik Widianto Teknik Sistem Komputer - Universitas Diponegoro

TSK505 Kuliah7 Flip Flop Latch Wb

Embed Size (px)

Citation preview

Page 1: TSK505 Kuliah7 Flip Flop Latch Wb

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

Page 2: TSK505 Kuliah7 Flip Flop Latch Wb

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

Page 3: TSK505 Kuliah7 Flip Flop Latch Wb

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

Page 4: TSK505 Kuliah7 Flip Flop Latch Wb

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

Page 5: TSK505 Kuliah7 Flip Flop Latch Wb
Page 6: TSK505 Kuliah7 Flip Flop Latch Wb
Page 7: TSK505 Kuliah7 Flip Flop Latch Wb
Page 8: TSK505 Kuliah7 Flip Flop Latch Wb
Page 9: TSK505 Kuliah7 Flip Flop Latch Wb
Page 10: TSK505 Kuliah7 Flip Flop Latch Wb

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!

Page 11: TSK505 Kuliah7 Flip Flop Latch Wb
Page 12: TSK505 Kuliah7 Flip Flop Latch Wb
Page 13: TSK505 Kuliah7 Flip Flop Latch Wb

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!

Page 14: TSK505 Kuliah7 Flip Flop Latch Wb
Page 15: TSK505 Kuliah7 Flip Flop Latch Wb
Page 16: TSK505 Kuliah7 Flip Flop Latch Wb
Page 17: TSK505 Kuliah7 Flip Flop Latch Wb

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!

Page 18: TSK505 Kuliah7 Flip Flop Latch Wb

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

Page 19: TSK505 Kuliah7 Flip Flop Latch Wb
Page 20: TSK505 Kuliah7 Flip Flop Latch Wb

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

Page 21: TSK505 Kuliah7 Flip Flop Latch Wb
Page 22: TSK505 Kuliah7 Flip Flop Latch Wb

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)

Page 23: TSK505 Kuliah7 Flip Flop Latch Wb
Page 24: TSK505 Kuliah7 Flip Flop Latch Wb
Page 25: TSK505 Kuliah7 Flip Flop Latch Wb

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!

Page 26: TSK505 Kuliah7 Flip Flop Latch Wb
Page 27: TSK505 Kuliah7 Flip Flop Latch Wb
Page 28: TSK505 Kuliah7 Flip Flop Latch Wb
Page 29: TSK505 Kuliah7 Flip Flop Latch Wb
Page 30: TSK505 Kuliah7 Flip Flop Latch Wb
Page 31: TSK505 Kuliah7 Flip Flop Latch Wb

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!

Page 32: TSK505 Kuliah7 Flip Flop Latch Wb
Page 33: TSK505 Kuliah7 Flip Flop Latch Wb

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

Page 34: TSK505 Kuliah7 Flip Flop Latch Wb

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!