Input D3-D0 di ambil nilainya oleh Q3-Q0 pada setiap siklus clock. Bagaimana cara
kita menyimpan nilai current (saat ini) untuk siklus lebih dari 1? Kita tambahkan
sinyal input load LD pada register.
• Jika LD = 0, register akan menyimpan isi pada saat itu.
•
Jika LD = 1, register menyimpan sebuah nilai baru berasal dari
input D3-D0.
Kita dapat mengimplementasikan kemampuan
pengisian
(load ability) dengan
memainkan sinyal CLK seperti
yang ditunjukkan pada gambar dibawah ini.
• Jika LD = 0, input C flip-flop menjadi 1. Tidak akan ada tepi positif clock,
sihingga flip-flop akan mempertahankan kondisi sebelumnya.
• Jika LD = 1, input CLK melewati gerbang
OR,
sehingga
flip-flop dapat menerima sinyal tepi
positif dari clock dan dapat mengisi nilai
baru dari input
D3-D0.
Aplikasi ini disebut clock gating (clock
tergerbang), karena terdapat penambahan
gerbang pada sinyal clock. Namun demikian, terdapat permasalahan pewaktuan
serupa dengan latch.
LD harus menjaga agar tetap 1 untuk selang waktu yang tepat
(satu siklus clock) dan tidak lagi. Clock mengalami delay sedikit karena gerbang OR. Dalam aplikasi yang lebih kompleks, jenis flip-flop lainnya dapat menerima sinyal clock pada waktu yang sedikit
berbeda. Prilaku clock ini dapat mengakibatkan permasalahan sinkronisasi.
Ide lainnya adalah dengan memodifikasi input D
flip-flop bukan sinyal clock. Dengan demikian rangkaian internalnya menjadi
seperti pada gambar dibawah ini.
• Jika LD = 0, input flip-flop adalah Q3-Q0,
sehingga flip-flop hanya
mempertahankan kondisi saat itu.
• Jika LD = 1, input flip-flop adalah D3-D0, dan nilai baru ini diisikan ke dalam register.
Komentar
Posting Komentar