Sistemler · Elektrik · Adım 6
Flip-Flop Bellek
Mantık kapıları kombinasyonel karar verir; flip-flop sekansiyel hafızadır — çıkış geçmiş duruma ve saat disiplinine bağlıdır. D flip-flop yalnızca CLK↑ anında D’yi örnekler ve Q’yu kilitler.
Önceki adım: Mantık Kapıları · Seri girişi: Elektrik Sistemleri Girişi
Sekansiyel bellek
CLK kenarı · Q kilitli
Mantık kapıları anlık karar üretir: A ve B değişince Y hemen yeniden hesaplanır — bellek yoktur. Flip-flop ise soruyu değiştirir: “D şu an ne?” değil, “son örnekleme anında D neydi ve Q hâlâ onu tutuyor mu?”
Latch seviye tetiklemelidir: EN=1 iken şeffaf (Q ≈ D), EN=0 iken kilitli. D flip-flop yalnızca CLK↑ (yükselen kenar) anında D’yi örnekler ve Q’yu o değerde tutar. Kenar dışındaki D oynatmaları “yutulur” — bu, senkron tasarımın omurgasıdır.
Paralel kayıt (birden fazla D-FF aynı CLK) ve shift register aynı hücrenin ölçeklenmiş halidir: her kenarda bit bir sonraki hücreye kayar. Laboratuvardaki Shift modu dört hücrelik zinciri gösterir; FPGA/ASIC sentezi değildir.
Var: D-FF kenar yakalama, latch EN, Q kilit göstergesi, CLK/D/Q scope,
setup/hold sezgisi, shift zinciri, Memory Deck önayarları.
Yok (bilinçli): JK/T FF katalogu, asenkron reset/preset pinleri, gerçek
tsu/th nanosecond ölçümü, CDC (clock domain crossing) analizi. Köprü var; tekrar yok.
Setup ve hold
Metastabilite riski
Kenar örneklemesi “sihirli an” değildir; D’nin CLK↑ öncesinde bir süre sabit kalması (setup, tsu) ve kenardan sonra da bir süre bozulmaması (hold, th) gerekir. Bu pencereler datasheet’in zaman sözleşmesidir.
İhlalde hücre HIGH ile LOW arasında metastabil kalabilir: Q bir süre belirsiz, sonra rastgele bir tarafa “çöker”. Gerçek silikonda bu istatistiksel ve tehlikelidir (özellikle CDC’de). Bu lab yalnızca sezgi üretir — turuncu kuşak ve Meta modu “kenara çok yakın D = risk” demektir; Monte Carlo değildir.
İyi alışkanlık: D’yi kenar dışında değiştirin (Örnekle & tut); Q’nun sabit kaldığını scope’ta görün. Sonra Meta risk ile kenar ihlalini açın — Q’nun titrediğini/askıda kaldığını izleyin. Setup/hold’u “bir checkbox” sanmayın; zamanlama disiplinidir.
Canlı laboratuvar
Hesapla · Gözlemle · Değiştir · İzle
Memory Deck · Clocked Fabric
Bu oda enerji değil kilitlenmiş zamandır. Solda memory cell: CLK hattı, tıklanabilir D pin, Q çekirdeği ve “Kilitli durum” rozeti. Kenar anında kısa capture parlaması “örnek alındı” demektir. Sağda CLK · D · Q timing; dikey çizgiler yükselen kenardır — D-FF’de Q sıçraması bu hizadadır.
Konsolda mod (D-FF / Latch / Meta / Shift) ve pedagojik chip’ler: Kenar kilit, Örnekle & tut, Latch şeffaf, Latch kilit, Meta risk, Shift zincir. CLK frekansı tempo; mantık kuralını değiştirmez. Önce tahmin, sonra D; sonra chip ile bilinen sahneye dönün.
Byteomi sistem · CANLI · Memory Deck
D pin deck · kenar yakalama · CLK/D/Q scope · D-FF · latch · meta · 4-bit shift · setup/hold sezgisi · önayar deneyleri.
;
↑ dikey çizgi = CLK yükselen kenar · Q yalnızca bu hizada sıçrar
D ara değişimleri yutulur (D-FF) · latch modunda EN=1 iken Q=D takip eder
;
;
Hesapla · Gözlemle · Değiştir · İzle: Kenar kilit’te D=1 bekler — Q bir sonraki ↑’de gelir. Örnekle & tut’ta D’yi kenar dışında çevirin; Q donmalı. Latch şeffaf / kilit EN farkını gösterir. Meta risk Q’yu titretir. Shift zincir her ↑ bit kaydırır. Fabric’te D kutusuna da tıklayabilirsiniz.
Kısa deneyler: (1) Kenar kilit → bir CLK↑ bekleyin, Q→1. (2) Örnekle & tut → D’yi hızlıca 0↔1 yapın; Q kenara kadar sabit. (3) Latch şeffaf → D’yi çevirin, Q anında izler; Latch kilit → EN kapatın, D etkisiz. (4) Meta risk → Q belirsiz kuşak. (5) Shift zincir → birkaç kenar, bit dizisi sağa kayar.
Aşağıdaki kod, laboratuvarın hesap çekirdeğinin sadeleştirilmiş hâlidir.
// D flip-flop — yükselen kenar yakalama (sadeleştirilmiş)
function onClockRisingEdge(dInput, prevQ) {
return dInput ? 1 : 0; // Q <- D at CLK↑
}
// Latch: while EN=1, Q follows D