Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto
Elemen Rangkaian Sekuensial: Latch dan Flip-flop TSK505 - Sistem Digital Lanjut
Eko Didik Widianto Teknik Sistem Komputer - Universitas Diponegoro
Rangkaian Sekuensial Latch Flip-flop
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
Bahasan
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto
Rangkaian Sekuensial Rangkaian Sekuensial Elemen Memori
Rangkaian Sekuensial Latch Flip-flop
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
Rangkaian Sekuensial Elemen Penyimpan dan Statenya
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial
◮
◮
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
Rangkaian Sekuensial Elemen Memori
Latch Flip-flop
Latch SR Dasar Kode HDL
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto
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!
Rangkaian Sekuensial Latch Latch SR Gated SR Latch Latch D (Data) Sensitivitas Elemen Storage
Flip-flop
Gated SR Latch Kode 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;
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial Latch Latch SR Gated SR Latch Latch D (Data) Sensitivitas Elemen Storage
Flip-flop
Gated D (Data) Latch Kode 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 Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial Latch Latch SR Gated SR Latch Latch D (Data) Sensitivitas Elemen Storage
Flip-flop
Sensitivitas Elemen Storage
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial
◮
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
Latch Latch SR Gated SR Latch Latch D (Data) Sensitivitas Elemen Storage
Flip-flop
Flip-flop
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto
◮
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
Rangkaian Sekuensial Latch Flip-flop Master-slave D Flip-flop Edge-triggered Flip-flop Flip-flop T Flip-flop JK
Master-slave D Flip-flop: Perilaku
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto
◮
Saat clock=1, master melihat nilai dari sinyal masukan D, slave tidak berubah ◮
◮
Saat clock=0, master berhenti mengikuti perubahan nilai masukan D, sebaliknya slave merespon masukan Qm dan mengubah statenya ◮
◮
Qm mengikuti perubahan D, dan Qs konstan
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)
Rangkaian Sekuensial Latch Flip-flop Master-slave D Flip-flop Edge-triggered Flip-flop Flip-flop T Flip-flop JK
D (Data) Flip-Flop Kode 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 Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial Latch Flip-flop Master-slave D Flip-flop Edge-triggered Flip-flop Flip-flop T Flip-flop JK
T (Toggle) Flip-Flop Kode 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 Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial Latch Flip-flop Master-slave D Flip-flop Edge-triggered Flip-flop Flip-flop T Flip-flop JK
Flip-flop JK Diagram Pewaktuan
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial Latch Flip-flop Master-slave D Flip-flop Edge-triggered Flip-flop Flip-flop T Flip-flop JK
JK Flip-Flop Kode 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;
Elemen Rangkaian Sekuensial: Latch dan Flip-flop @2011,Eko Didik Widianto Rangkaian Sekuensial Latch Flip-flop Master-slave D Flip-flop Edge-triggered Flip-flop Flip-flop T Flip-flop JK