Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop Γηάιεμε 6
Γνκή ηεο δηάιεμεο Δηζαγσγή ζηελ αθνινπζηαθή ινγηθή Ο καλδαισηήο SR Latch JK Flip-Flop D Flip-Flop Timing Definitions Latch vs Flip-Flop Αζθήζεηο 2
Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop Δηζαγσγή ζηελ αθνινπζηαθή ινγηθή 3
Δηζαγσγή ζηελ αθνινπζηαθή ινγηθή Δίδε ινγηθώλ θπθισκάησλ Σπλδπαζηηθά Η έμνδόο ηνπο θαζνξίδεηαη κόλν από ηελ παξνύζα ηηκή ηεο εηζόδνπ. Δεν έσοςν μνήμη Αθνινπζηαθά Η έμνδόο ηνπο θαζνξίδεηαη όρη κόλν από ηελ παξνύζα ηηκή ηεο εηζόδνπ αιιά θαη από πξνεγνύκελεο ηηκέο ηεο. Τα θπθιώκαηα απηά έσοςν μνήμη. Απαηηνύλ ξνιόη γηα ηε ιεηηνπξγία ηνπο 4
Καηαρσξεηέο θαηάζηαζεο Δηζαγσγή ζηελ αθνινπζηαθή ινγηθή Μνληέιν αθνινπζηαθνύ θπθιώκαηνο (θαηάζηαζε=κλήκε) Είζνδνη Σξέρνπζα θαηάζηαζε πλδπαζηηθή Λνγηθή Έμνδνη Επόκελε θαηάζηαζε 5 Ρνιόη
Δηζαγσγή ζηελ αθνινπζηαθή ινγηθή Μεραληζκνί κλήκεο (απνζήθεπζεο) Σηαηηθή απνζήθεπζε Η θαηάζηαζε δηαηεξείηαη όζν ππάξρεη ηξνθνδνζία Έρνπλ ζεηηθή ανάδπαζη (αλαγέλλεζε) κε εζσηεξηθή ζύλδεζε ηεο εμόδνπ κε ηελ είζνδν Γπλακηθή απνζήθεπζε Η θαηάζηαζε απνζεθεύεηαη ζε παξαζηηηθνύο πςκνωηέρ Η θαηάζηαζε δηαηεξείηαη γηα κηθξή ρξνληθή δηάξθεηα (milliseconds) Απαηηείηαη πεξηνδηθή αλαλέσζε Σπλήζσο απινύζηεξε κεγαιύηεξε ηαρύηεηα θαη κηθξόηεξε θαηαλάισζε 6
Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop Ο καλδαισηήο 7
Ο Μαλδαισηήο Τν βαζηθό ζηνηρείν ζηαηηθήο κλήκεο (latch από εδώ θαη κπξνο) Τξία πηζαλά ζεκεία ιεηηνπξγίαο Μόλν ηα δύν είλαη ζηαζεξά ζεκεία ιεηηνπξγίαο Δίλαη διζηαθέρ θύθισκα Απνζεθεύεη έλα δπαδηθό ςεθίν 8
Ο Μαλδαισηήο V i1 V o1 V i2 V o2 A B cascaded inverters Γηα λα είλαη κόλν ηα A, C ζηαζεξά ζεκεία ιεηηνπξγίαο πξέπεη ην κέπδορ ζηε κεηαβαηηθή πεξηνρή λα είλαη μεγαλύηεπο από 1. Τν B είλαη έλα αζηαζέο ζεκείν ιεηηνπξγίαο C V i1 = V o2 Με ηελ παξαπάλσ ζπλζήθε, αλ ην θύθισκα βξεζεί ζην ζεκείν B, ν παξακηθξόο ζόξπβνο, αλάινγα κε ην πξόζεκό ηνπ, εληζρύεηαη θαη αλαγελληέηαη γύξσ από ηνλ βξόρν ηνπ θπθιώκαηνο αλαγθάδνληαο ην ζεκείν ιεηηνπξγίαο λα νιηζζήζεη ζην A ή C 9
Latches vs Flip-Flops Μαλδαισηέο (Latches) level sensitive θπθιώκαηα ηα νπνία νδεγνύλ ηηο εηζόδνπο ζηελ έμνδν (αθνινπζνύλ ηελ είζνδν) όηαλ ην ξνιόη είλαη high (ή low) - transparent mode Η είζνδνο πνπ δεηγκαηνιεπηείηαη ζηελ θαηεξρόκελε (αλεξρόκελε) παξπθή ηνπ ξνινγηνύ δηαηεξείηαη ζηαζεξή όζν ην ξνιόη είλαη low (ή high) - hold mode Flip-Flops (edge-triggered) edge sensitive θπθιώκαηα πνπ δεηγκαηνιεπηνύλ ηηο εηζόδνπο ζε κηα κεηάβαζε ηνπ ξνινγηνύ positive edge-triggered: 0 1 negative edge-triggered: 1 0 Υινπνηνύληαη ρξεζηκνπνηώληαο latches (π.ρ., master-slave flip-flops) 10
Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop SR Latch 11
SR Latch κε NOR πύιεο Η ρξήζε NOR δύν εηζόδσλ παξέρεη ηνλ ηξόπν ζθαλδαιηζκνύ ηνπ latch Γηα S=R=1 Q Q 0, νη έμνδνη δελ είλαη ζπκπιεξσκαηηθέο γηα απηό θαη δελ ρξεζηκνπνηείηαη απηόο ν ζπλδπαζκόο ησλ S, R Active High είζνδνη (δειαδή ρξεηάδεηαη ινγηθό high ζηελ αληίζηνηρε είζνδν S,R γηα λα γίλεη ε επηζπκεηή ελέξγεηα Set, Reset) R S Q n+1! Q n+1 0 0 Q n!q n Memory 0 1 1 0 Set 1 0 0 1 Reset 1 1 0 0 Not allowed 12
SR Latch Παξαηεξνύκελε ζπκπεξηθνξά Η θαηάζηαζε QQ'=11 πξαθηηθά δελ παξαηεξείηαη Η θαηάζηαζε QQ'=00 είλαη αζηαζήο θαη σο εθ ηνύηνπ αλεπηζύκεηε Έλα από ηα R, S ζπλήζσο αιιάδεη πξώην Άξα είλαη αζαθέο αλ ζα επηζηξέςεη ζηελ θαηάζηαζε 01 ή 10 Με ληεηεξκηληζηηθή κεηάβαζε SR=00 SR=01 Q Q' 0 1 SR=01 SR=10 SR=01 SR=11 SR=10 Q Q' 1 0 SR=00 SR=10 13 SR=00 SR=11 Q Q' 0 0 SR=11 SR=00
SR Latch Παξάδεηγκα ιεηηνπξγίαο Reset Hold Set Reset Set Race R S Q \Q 14
SR Latch κε NAND πύιεο Γηα S=R=0 Q Q 1, νη έμνδνη δελ είλαη ζπκπιεξσκαηηθέο γηα απηό θαη δελ ρξεζηκνπνηείηαη απηόο ν ζπλδπαζκόο ησλ S,R Active Low είζνδνη (ζην ζύκβνιν ππνδεηθλύεηαη από ηα θπθιάθηα κπξνζηά από ηηο εηζόδνπο S, R) S R Q n+1! Q n+1 1 1 Q n!q n Memory 0 1 1 0 Set 1 0 0 1 Reset 0 0 1 1 Not allowed 15
SR Latch Υινπνηήζεηο (1) 16
SR Latch Υινπνηήζεηο (2) 17 ε απηή ηελ πινπνίεζε αλ είλαη R=S=1, θαη ηα δύν ηξαλδίζηνξ R, S ζα άγνπλ ξεύκα
SR Latch Υινπνηήζεηο (3) 18
SR Latch Υινπνηήζεηο (4) CMOS πινπνίεζε ελόο clocked SR flip-flop Σν clock signal δειώλεηαη σο f Σν ζρεηηθό ηκήκα ηνπ θπθιώκαηνο γηα ηνλ θαζνξηζκό ησλ ειάρηζησλ W/L ιόγσλ ησλ Q5, Q6 ώζηε λα εμαζθαιίδεηαη ε δπλαηόηεηα κεηαγσγήο 19
SR Latch Υινπνηήζεηο (5) Μηα απινύζηεξε CMOS πινπνίεζε ηνπ clocked SR flip-flop. Απηό ην θύθισκα είλαη δεκνθηιέο σο ην βαζηθό θειί ζηε ζρεδίαζε ζηαηηθώλ random-access memory (SRAM) chips 20
Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop JK Flip-Flop 21
JK Latch Πεξηγξαθή J = clocked-set είζνδνο, K=clocked-reset είζνδνο Active High ινγηθή Φξήζε ξνινγηνύ, νη αιιαγέο πεξλνύλ κόλν γηα Clock=high Γηα Clock=low ε έμνδνο δηαηεξείηαη (είλαη απνζεθεπκέλε) Λύνει ηο ππόβλημα ηηρ απποζδιοπιζηίαρ ζηελ έμνδν πνπ παξαηεξείηαη ζην SR latch γηα S=R=0 (NAND πινπνίεζε) Γηα J=K=1 πξνθαιείηαη ηαλάνηωζη ζηελ ηηκή ηεο εμόδνπ Με ηε ρξήζε ηεο αλάδξαζεο θαη αλάινγα κε ηελ θαηάζηαζε ηνπ latch (ηελ έμνδό ηνπ) ελεξγνπνηείηαη, ιόγσ ηεο NAND ζηελ είζνδν, κόλν κία από ηηο δύν εηζόδνπο θάζε θνξά Γηα J, K βξαρπθπθισκέλα κεηαηξέπεηαη ζε T Flip-Flop (Toggle) 22
JK Flip-Flop Δπηζπκεηή ιεηηνπξγία Σην JK latch όζν ρξόλν ην clock είλαη high, αλ νη είζνδνη αιιάδνπλ, ζα αιιάδεη θαη ε έμνδνο ζύκθσλα κε ηνλ πίλαθα αιεζείαο ηνπ latch Όρη επηζπκεηή ιεηηνπξγία! Σε έλα flip-flop ζέινπκε ε έμνδνο ηδαληθά λα αιιάδεη κόλν κεηά από κία παξπθή ηνπ ξνινγηνύ, ηελ θαηεξρόκελε ή ηελ αλεξρόκελε Τν ζέινπκε λα είλαη edge-triggered ζηνηρείν Γη απηό εηζαγάγνπκε ηελ αξρηηεθηνληθή Master-Slave Παξαηήξεζε: Σηε βηβιηνγξαθία κεξηθνί ζπγγξαθείο έλα ηέηνην edge-triggered ζηνηρείν ην νλνκάδνπλ register (θαηαρσξεηή) 23
Race (around) Problem in Latch-based designs t loo p t D Q f t 1 f Q S ignal can race around during f = 1 Η έμνδνο ηαιαληώλεη κεηαμύ 0 θαη 1 όζν ην clock=high Μπνξεί λα απνθεπρζεί κόλνλ εάλ ην εύξνο ηνπ παικνύ ηνπ θ< tloop (propagation delay ηνπ loop) 24
Master-Slave JK Flip-Flop Λεηηνπξγία Τν master ελεξγνπνηείηαη κε ην ξνιόη, ελώ ην slave κε ην ζπκπιήξσκα ηνπ ξνινγηνύ Μπνξεί λα έρεη πεξηζζόηεξεο από κία εηζόδνπο (εδώ θαίλνληαη ηξεηο) Σην ζύκβνιν θαίλνληαη θαη δύν αζύγρξνλεο είζνδνη (δελ εμαξηώληαη από ην ξνιόη) πνπ ρξεζηκνπνηνύληαη γηα ην αζύγρξνλν preset (SD) θαη reset (RD) ηνπ flip-flop. Δίλαη active low, δειαδή αλ γίλεη low ε εθάζηνηε αζύγρξνλε είζνδνο επηηειείηαη ε ιεηηνπξγία πνπ ππνλνεί ην όλνκά ηεο Λεηηνπξγία: Clock high: ην master latch είλαη ζε transparent mode (νη είζνδνί ηνπ επεξεάδνπλ ηελ έμνδό ηνπ) ελώ ην slave ζε hold mode (ην ζπκπιήξσκα ηνπ ξνινγηνύ είλαη low νπόηε δελ αιιάδεη ε θαηάζηαζή ηνπ) Clock low: ην master latch είλαη ζε hold mode ελώ ην slave ζε transparent mode 25
Master-Slave JK Flip-Flop Λεηηνπξγία Με ηελ αξρηηεθηνληθή Master-Slave επηηπγράλεηαη ε επηζπκεηή ζπκπεξηθνξά: Όηαλ ην ξνιόη είλαη high, ην slave latch είλαη παγσκέλν νπόηε δελ παξαηεξείηαη αιιαγή ζηηο εμόδνπο παξόιν πνπ νη είζνδνη κπνξεί λα αιιάδνπλ (θαη λα επεξεάδνπλ ηηο εμόδνπο ηνπ master latch) Όηαλ ην ξνιόη είλαη low, ην master latch είλαη παγσκέλν νπόηε νη είζνδνη J, K δελ έρνπλ θακία επίδξαζε θαη ε έμνδνο κέλεη πάιη ζηαζεξή (ην slave latch δπλεηηθά κπνξεί λα αιιάδεη αιιά ηξνθνδνηείηαη κε ηηο παγσκέλεο εμόδνπο ηνπ master latch, νπόηε ηειηθά δελ παξαηεξείηαη θακία αιιαγή) Συμπέρασμα: Η έμνδνο αιιάδεη κόλν θαηά ηε κεηάβαζε high to low ηνπ ξνινγηνύ θαη άξα κε ηελ αξρηηεθηνληθή Master-Slave κεηαηξέςακε δύν levelsensitive latches ζε flip-flop κε ζπκπεξηθνξά edgetriggered 26
Ones catching πξόβιεκα Έζησ όηη ην slave είλαη ζε θαηάζηαζε reset, θαη ην clock είλαη high Λόγσ ηεο αλάδξαζεο θαη ηεο NAND εηζόδνπ, ε J είζνδνο ελεξγνπνηείηαη θαη ε K απελεξγνπνηείηαη Οπνηνδήπνηε spike ή glitch (πνπ κπνξεί λα πξνέξρεηαη από ην θύθισκα πνπ νδεγεί ηηο εηζόδνπο J, K) ζηελ J είζνδν ζα αλαγθάζεη ην master latch λα είλαη ζε θαηάζηαζε set Πιένλ είλαη αδύλαην λα έξζεη ζε θαηάζηαζε reset ην latch απηό, δηόηη ε K είζνδνο είλαη απελεξγνπνηεκέλε Η J είζνδνο έπιαζε ένα 1 πνπ αθνινύζσο ζα κεηαθεξζεί ζην slave όηαλ ην clock πέθηεη Η αλάδξαζε θαη νη NAND εηζόδνπ πνπ ιύλνπλ ην πξόβιεκα ηεο απξνζδηνξηζηίαο ηνπ SR latch, δεκηνπξγνύλ ην πξόβιεκα ones catching ζην master slave JK FF Λύζεηο: Σν ξνιόη κέλεη ζην high όζν ιηγόηεξν γίλεηαη (κε εθαξκόζηκε ιύζε) Χξήζε (ακηγώο) JK edge-triggered 27
Βαζηθή αξρή ηεο Edge-Triggered Τερληθήο f In In N1 X N2 X t p L H f O u t O u t = M o no -S tab le M ulti-v ib ra tor 28
JK Edge-Triggered Flip-Flop Όηαλ ην ξνιόη είλαη high, νη J, K είζνδνη δελ θηάλνπλ ζην S, R latch γηαηί εκπνδίδνληαη από ην δεύηεξν επίπεδν ππιώλ NAND Όηαλ ην ξνιόη είλαη low, νη J, K είζνδνη ήδε εκπνδίδνληαη από ην πξώην επίπεδν ππιώλ NAND Άξα ε έμνδνο πιένλ δεν είλαη level sensitive Η έμνδνο ηνπ FF κεηαβάιιεηαη θαζώο ην ξνιόη έξρεηαη ζε low θαηάζηαζε, θαη ε θαηάζηαζε εμόδνπ νθείιεηαη ζηελ θαηάζηαζε ησλ J, K εηζόδσλ ιίγν πξηλ (ρξόλνο setup) ηελ θαηεξρόκελε παξπθή ηνπ ξνινγηνύ Σηελ θαηεξρόκελε παξπθή ηνπ ξνινγηνύ ζα εκθαληζηεί έναρ ζηενόρ παλμόρ είηε ζηελ S είηε ζηελ R είζνδν, αλάινγα κε ηηο ηηκέο ησλ J, K θαη ζα επεξεάζνπλ ηελ έμνδν ηνπ latch Ακέζσο κεηά (όηαλ δει. CK=low ) νη έμνδνη ησλ δύν πξώησλ NAND gates αλέξρνληαη ζην 1 θαη κεηαηξέπνληαη ζηελ είζνδν ηνπ 2 νπ δεύγνπο NAND ππιώλ ζην 0 νδεγώληαο έηζη ηηο εηζόδνπο ηνπ SR latch ζε 1, 1 θαη ζπλεπώο δελ κπνξεί έπεηηα από απηή ηελ ρξνληθή ζηηγκή λα αιιάμνπλ νη έμνδνη Q, Q. Τν θύθισκα ζςγσωπεί νπνηαδήπνηε spikes ζηηο εηζόδνπο J, K πξηλ από ην ρξόλν setup Τν ζύκβνιν > ζην ξνιόη ππνδειώλεη edge-triggered 29 ιεηηνπξγία, θαη ην θπθιάθη negative edge-triggered
Timing Definitions Φξόλνη ζρεηηθνί κε edge-triggered ζηνηρεία t setup : ρξόλνο γηα ηνλ νπνίν ε είζνδνο πξέπεη λα έρεη ζηαζεξνπνηεζεί (λα είλαη έγθπξε) πξηλ από ηελ παξπθή ηνπ ξνινγηνύ t hold : ρξόλνο γηα ηνλ νπνίν ε είζνδνο πξέπεη παξακείλεη ζηαζεξή έγθπξε κεηά ηελ παξπθή ηνπ ξνινγηνύ t C-Q : worst case θαζπζηέξεζε κεηάδνζεο (κε αλαθνξά ζηελ παξπθή ηνπ ξνινγηνύ) απαξαίηεηνο ρξόλνο γηα λα αληηγξαθεί ε είζνδνο D ζηελ έμνδν Q CLK t su t hold t D Q D DATA STABLE t Clk t C-Q 30 Q OUTPUT STABLE t
Άιια είδε Flip-Flops T f J f Q D f J f Q K Q K Q T Q D Q f Q f Q Toggle Flip -F lop D elay F lip -F lop 31 J= K βξαρπθπθισκέλα ζε ηξνθνδνζία. Η έμνδνο Q αιιάδεη θαηάζηαζε κε θάζε clock -ηαιαληώλεη δει. ζπλερώο κεηαμύ 0 θαη 1 Τν D F-F όπσο ππνλνεί ην όλνκά ηνπ ζε θάζε clock απιώο κεηαθέξεη ζηελ έμνδό ηνπ ηελ πιεξνθνξία πνπ βιέπεη ζηε λ είζνδό ηνπ
Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop D Flip-Flop 32
D Flip-Flop Δπξεία ρξήζε ζε ςεθηαθά θπθιώκαηα θαη ζπζηήκαηα πινπνίεζε θαηαρσξεηώλ Ο αληηζηξνθέαο ζηελ είζνδν D εμαζθαιίδεη όηη νη S, R είζνδνη πξνο ην latch ζα είλαη πάληα ζπκπιεξσκαηηθέο Η Q έμνδνο απιώο αθνινπζεί ηελ D είζνδν (πξνζσξηλή απνζήθεπζε δεδνκέλσλ) Η ζπγθεθξηκέλε πινπνίεζε είλαη positive edge-triggered Υπάξρεη θαη level sensitive (transparent) δειαδή latch Άζκηζη: θάλεηε ηηο απαξαίηεηεο ηξνπνπνηήζεηο ζην JK latch ώζηε λα ην κεηαηξέςεηε ζε έλα transparent D latch 33
D latch Λεηηνπξγία Γηα ξνιόη C=1 Η πύιε κεηάδνζεο 1 είλαη on θαη ε 2 είλαη off Σπάεη ε αλάδξαζε Η θαηάζηαζε ηεο εηζόδνπ D κεηαθέξεηαη κέζσ ηνπ δεύγνπο αληηζηξνθέσλ ζηηο εμόδνπο. Η Q αθνινπζεί ηε D (transparent) Γηα ξνιόη C=0 Η πύιε κεηάδνζεο 1 είλαη off θαη ε 2 είλαη on Κιείλεη ν βξόρνο αλάδξαζεο Η είζνδνο D απελεξγνπνηείηαη Η θαηάζηαζε ηνπ δεύγνπο αληηζηξνθέσλ καλδαιώλεηαη, παγώλεη, δηακέζνπ ηεο πύιεο κεηάδνζεο 2 Λόγσ ηεο πύιεο κεηαθνξάο είλαη θαηάιιειν γηα CMOS ηερλνινγία Level-Sensitive Κύθισκα: Τν θύθισκα είλαη ζε transparent mode γηα όζν ρξόλν C=1 -ή είζνδόο ηνπ εκθαλίδεηαη θαη επζείαλ ζηελ έμνδν ηνπ θαηά ηελ δηάξθεηα απηνύ ηνπ ρξνληθνύ δηαζηήκαηνο κε κία ρξνληθή θαζπζηέξεζε πνπ ηζνύηαη κε ηελ θαζπζηέξεζε δηάδνζεο κέζσ ησλ δύν αληηζηξνθέσλ 34
Master-Slave D Flip-Flop Μεηαηξέπεηαη ζε edge-triggered ιόγσ master-slave Γηα ξνιόη C=1 TG 1,4 είλαη on θαη 2,3 είλαη off (ηζνδύλακν a) Τν δεύηεξν δεύγνο αληηζηξνθέσλ είλαη καλδαισηήο θαη ζπγθξαηεί ηελ πιεξνθνξία πνπ ηνπνζεηήζεθε πξνεγνύκελα Γηα ξνιόη C=0 35 TG 1,4 είλαη off θαη 2,3 είλαη on (ηζνδύλακν b) Η είζνδνο D απελεξγνπνηείηαη Η πύιε κεηάδνζεο 2 καλδαιώλεη ηελ πιεξνθνξία πνπ ππήξρε ζηελ είζνδν D αθξηβώο πξηλ ηελ αιιαγή θαηάζηαζεο ηνπ ξνινγηνύ Καηά ηε δηάξθεηα ηεο κεηάβαζεο ηνπ ξνινγηνύ ε θαηάζηαζε ηεο D δηαηεξείηαη πξνζσξηλά ζηηο θνκβηθέο ρσξεηηθόηεηεο πνπ αθνξνύλ ηνπο δύν πξώηνπο αληηζηξνθείο Η πύιε κεηάδνζεο 3 κεηαδίδεη ηα απνζεθεπκέλα δεδνκέλα ζηηο εμόδνπο (ελεκέξσζε ηεο εμόδνπ) Η Q έρεη πιένλ δεδνκέλα πνπ ήηαλ αξρηθά ζηελ είζνδν D γηα C=1
Master-Slave D Flip-Flop- Πξόβιεκα κε overlapping clocks In f f A f B f f D Σα επηθαιππηόκελα ξνιόγηα κπνξνύλ λα νδεγήζνπλ ζηα αθόινπζα πξνβιήκαηα, εάλ ι.ρ ηα θ θαη θ είλαη ηαπηνρξόλσο high Η θαηάζηαζε ηνπ θόκβνπ Α=αθαζόξηζηε δεδνκέλνπ όηη νδεγείηαη ηαπηόρξνλα από ηα ζήκαηα In θαη Β f O verlapping C locks C an C ause R ace C onditions Σν ζήκα εηζόδνπ In κπνξεί λα δηαδνζεί κέζσ ησλ master θαη slave flip-flops θαη λα θαηαζηξέςνπλ ηελ θαηάζηαζε ηνπ F-F δεκηνπξγώληαο race conditions U ndefined S ignals 36 Σα επηθαιππηόκελα ξνιόγηα κπνξεί λα είλαη ην απνηέιεζκα ηεο δηαδηθαζίαο clock generation (ι.ρ ιόγσ ηεο θαζπζηέξεζεο δηάδνζεο ηνπ αληηζηξνθέα εάλ ρξεζηκνπνηείηαη γηα ηελ δεκηνπξγία ηνπ θ εθ ηνπ θ) Ελαιιαθηηθά ε επηθάιπςε ζα κπνξνύζε λα νθείιεηαη ζηα δηαθνξεηηθά propagation delays ηνπ clock routing network (clock skew)
Master-Slave D Flip-Flop 2 phase nonoverlapping clocks In f f f f f D Σα πξνεγνύκελα πξνβιήκαηα κπνξoύλ λα απνθεπρζνύλ κε ηελ ρξήζε 2 non overlapping clocks θαη επηιέγνληαο ηελ ρξνληθή ηνπο απόζηαζε t θ12 αξθεηά κεγάιε ώζηε λα κελ δεκηνπξγείηαη επηθάιπςε αθόκε θαη κε ηελ παξνπζία clock routing delays. Καηά ηελ δηάξθεηα ηνπ t θ12 ηα master-slave FFs απνκνλώλνληαη, νη βξόρνη ηνπο παξακέλνπλ αλνηθηνί θαη ε είζνδνο In είλαη απνζπλδεδεκέλε f t f 12 Οη θαηαζηάζεηο ησλ FFs δηαηεξνύληαη κε ηελ βνήζεηα ησλ ρσξεηηθνηήησλ εηζόδνπ ησλ αληίζηνηρσλ inverters=pseuodostatic latch To t θ12 δελ πξέπεη λα δηαξθεί ηόζν πνιύ ώζηε λα νδεγεί ζε απώιεηα ηεοθαηάζηαζεο ησλ FFs ιόγσ leakage (ξεπκάησλ δηαξξνήο (πξαθηηθά t θ12 <1 ή 2 msecs 37
2-phase dynamic flip-flop f f In D Input Sam pled f f t θ12 38 O utput Enable Πιήξσο δπλακηθή πξνζέγγηζε- απαξαίηεην ην refreshing πεξηνδηθά εκαληηθή κείσζε πνιππινθόηεηαο (κόιηο 6 transistors-ρξήζε ηνπ ζε pipelined data paths θαη register files ζε DSP θαη microprocessors) Μεηνλεθηήκαηα: Απαξαίηεηε ε ύπαξμε 2κε επηθαιππηόκελσλ clocks ή θαη 4 εάλ ρξεζηκνπνηνύληαη complementary transmission gates Γηα απνθπγή επηθάιπςεο ζε όιν ην chip,t θ12 = αξθεηά κεγάιν επίπησζε ζηελ απόδνζή ηνπ Η δηαλνκή ελόο ή θαη δύν δεπγώλ ξνινγηώλ έηζη ώζηε λα είλαη κε επηθαιππηόκελα ζε έλα κεγάιν die (chip) είλαη δύζθνιε ππόζεζε
Master-Slave D Flip-Flop CMOS πινπνίεζε ηνπ Master-Slave D Flip-Flop πνπ πεξηιακβάλεη θαη αζύγρξνλεο εηζόδνπο ζέζεο θαη επαλαθνξάο (ππεξηζρύνπλ ηνπ ξνινγηνύ) CLK=0, TG1, TG4=ON &TG2, TG3=OFF, Master απνκνλώλεηαη από slave, βξόρνο slave F-F θιείλεη (ην F-F δηαηεξεί ηελ πξνεγνύκελή ηνπ θαηάζηαζε),βξνρνο master F-F παξακέλεη αλνηθηόο CLK=1, TG1, TG4=OFF &TG2, TG3=ON, βξόρνο Master θιείλεη θαη απνκνλώλεηαη από είζνδν D (θιεηδώλεη ζηελ ηηκή ηνπ D πξηλ αληνύζα παξπθή ξνινγηνύ),βξόρνο slave αλνίγεη θαη έμνδνοπαίξλεη ηηκή εηζόδνπ D από master πλνιηθό 39 πκπέξαζκα: Έμνδνο Q παίξλεη ηελ ηηκή ηεο εηζόδνπ D πνπ ππήξρε αθξηβώο πξηλ ηελ κεηάβαζε ηνπ clock (C) ζε πςειό επίπεδν (C=1)
D Flip-Flop Positive edge-triggered D Flip-Flop θαηάιιειν γηα ηερλνινγία TTL (ρξήζε NAND ππιώλ) Άζκηζη: Δπηβεβαηώζηε ηε ιεηηνπξγία ηνπ 40
Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop Latch vs Flip-Flop 41
Latches vs Flip-Flops Μαλδαισηέο (Latches) level sensitive θπθιώκαηα ηα νπνία νδεγνύλ ηηο εηζόδνπο ζηελ έμνδν (αθνινπζνύλ ηελ είζνδν) όηαλ ην ξνιόη είλαη high (ή low) - transparent mode Η είζνδνο πνπ δεηγκαηνιεπηείηαη ζηελ θαηεξρόκελε (αλεξρόκελε) παξπθή ηνπ ξνινγηνύ δηαηεξείηαη ζηαζεξή όζν ην ξνιόη είλαη low (ή high) - hold mode Flip-Flops (edge-triggered) edge sensitive θπθιώκαηα πνπ δεηγκαηνιεπηνύλ ηηο εηζόδνπο ζε κηα κεηάβαζε ηνπ ξνινγηνύ positive edge-triggered: 0 1 negative edge-triggered: 1 0 Υινπνηνύληαη ρξεζηκνπνηώληαο latches (π.ρ., master-slave flip-flops) 42
Latches vs Flip-Flops Οξηζκνί Σηε βηβιηνγξαθία ππάξρεη ζύγρπζε κε ηνπο νξηζκνύο ησλ ζηνηρείσλ latch, flip-flop θαη register Σε απηή ηε δηάιεμε Έλαο latch είλαη level sensitive Έλαο register (θαηαρσξεηήο) είλαη edge-triggered Γηα ην flip-flop δηεπθξηλίδεηαη αλ είλαη edge-triggered ή όρη 43
Latches vs Flip-Flops Latch Register (positive edge-triggered) απνζεθεύεη ηελ είζνδν όηαλ ην ξνιόη είλαη low απνζεθεύεη ηελ είζνδν ζηελ αλεξρόκελε παξπθή ηνπ ξνινγηνύ D Q D Q Clk Clk Clk D Q Clk D Q 44
Latches vs Flip-Flops Παξάδεηγκα D Clk Q positive edge-triggered flip-flop D Clk D Q Qedge Clk transparent (level-sensitive) latch Qlatch Η ζσμπεριθορά διαθέρει όηαν η είζοδος αλλάζει ενώ ηο ρολόι είναι high 45
Latches vs Flip-Flops Τύπορ Πόηε δειγμαηοληπηείηαι η είζοδορ Πόηε η έξοδορ είναι έγκςπη Unclocked latch Πάληα Μεηά από propagation delay από ηελ αιιαγή ηεο εηζόδνπ Level-sensitive latch Clock high (T su /T h γύξσ από ηελ θαηεξρόκελε παξπθή ηνπ ξνινγηνύ) Μεηά από propagation delay από ηελ αιιαγή ηεο εηζόδνπ ή παξπθή ξνινγηνύ (όπνην έξζεη αξγόηεξα) Master-slave flip-flop Clock high (T su /T h γύξσ από ηελ θαηεξρόκελε παξπθή ηνπ ξνινγηνύ) Μεηά από propagation delay από ηελ θαηεξρόκελε παξπθή ηνπ ξνινγηνύ Negative edge-triggered flip-flop High-to-low κεηάβαζε ηνπ ξνινγηνύ (T su /T h γύξσ από ηελ θαηεξρόκελε παξπθή ηνπ ξνινγηνύ) Μεηά από propagation delay από ηελ θαηεξρόκελε παξπθή ηνπ ξνινγηνύ 46
Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop Αζθήζεηο 47
Άζθεζε 1 Δθθώλεζε (πξνο ιύζε) Γύν αληηζηξνθείο CMOS πνπ ιεηηνπξγνύλ κε ηξνθνδνηηθό 5V έρνπλ V IH θαη V IL 2.42 θαη 2.0 V αληίζηνηρα θαη εμόδνπο 0.4 θαη 4.6 V αληίζηνηρα. Οη αληηζηξνθείο είλαη ζπλδεδεκέλνη ζε ζπλδεζκνινγία καλδαισηή. Πξνζεγγίδνληαο ηελ ραξαθηεξηζηηθή κεηαθνξάο θάζε πύιεο κε κία επζεία γξακκή κεηαμύ ησλ ζεκείσλ θαησθιίνπ, ζρεδηάζηε ηε ραξαθηεξηζηηθή κεηαθνξάο αλνηρηνύ βξόρνπ ηνπ καλδαισηή. Πνηεο είλαη νη ζπληεηαγκέλεο ηνπ ζεκείνπ Β; Πνην είλαη ην θέξδνο βξόρνπ ζην Β; 48
Άζθεζε 1-Σρήκα 49
Άζθεζε 1-Λύζε 50 Είλαη πξνθαλέο όηη ην θέξδνο αλνηθηνύ βξόρνπ θαη γηα ηηο δύν πύιεο είλαη 100
Άζθεζε 2 Δθθώλεζε Γηα ην παξαθάησ θύθισκα ηνπ SR flip-flop ε V DD =5V, V T =1V θαη K 1 =K 2 =K 3 =K 4 =K. Βξείηε ηηο ηηκέο ησλ K 5 =K 6 έηζη ώζηε ην flip-flop λα αιιάδεη θαηάζηαζε όηαλ εθαξκνζηεί ζήκα ζέζεο ή επαλαθνξάο ίζν κε V DD /2. 51
Άζθεζε 2 Λύζε Δπεηδή Κ 1 =Κ 3 =Κ 2 =Κ 4 νη δύν αληηζηξνθείο ηνπ latch έρνπλ ηάζε θαησθιίνπ V DD /2=2.5V. Αο ππνζέζνπκε όηη ε έμνδνο Q είλαη high (V DD ) θαη ζπλεπώο ε άιιε έμνδνο ζα είλαη low. Τν Q 3 είλαη ζε αγσγή κε ηάζε V GS =-5V. Τν Q 5 πξέπεη λα ξπζκίζεη ηελ ηάζε ζηελ έμνδν Q ζηα 2.5V ώζηε ην latch λα αιιάμεη θαηάζηαζε. Τν Q 3,Q 5 θαη ην Q 2 ζηελ σκηθή πεξηνρή, ελώ ην Q 1, Q 4 θαη Q 6 ζηελ απνθνπή σζηή Λύζε: K5(2(V GS5 V T )V DS5 -V 2 DS5) = K3(2(V GS3 V T )V DS3 -V 2 DS3) Κ5 (2(5-1)2.5-2.5 2 ) = Κ3 (2(5-1)2.5-2.5 2 ) Κ5=Κ3 52
Αζθεζε 2.1- Δθθώλεζε θαη Λύζε 53
Αζθεζε 2.1-Σρήκα 54
Άζθεζε 2.1-Λύζε Σπλέρεηα 55
Άζθεζε 3 Δθθώλεζε θαη Λύζε A:Οη θπκαηνκνξθέο Clk, J, K πνπ θαίλνληαη ζην ζρήκα εθαξκόδνληαη ζην JK masterslave flip-flop ηεο δηαθάλεηαο 24. Με ην FF αξρηθά ζε επαλαθνξά (Reset), ζρεδηάζηε ηελ θπκαηνκνξθή πνπ πξνθύπηεη ζηελ έμνδν Q ησλ master θαη slave latches. Q: To master latch έρεη ηελ δπλαηόηεηα λα αιιάμεη ηελ θαηάζηαζή ηνπ όζν ην Clk είλαη high. Έηζη, ην master latch ζα αιιάμεη θαηάζηαζε, αλ θαηά ηελ δηάξθεηα ηνπ Clk=high ππάξμεη είζνδνο ζηα J θαη Κ ηέηνηα ώζηε απηό λα απνθηήζεη δηαθνξεηηθή θαηάζηαζε από ην slave. Η αιιαγή ζην master latch ζα ζπκβεί όζν ην Clk=high. Η θαηάζηαζε ηνπ master latch ζα πεξάζεη ζην slave ζηελ πίπηνπζα παξπθή ηνπ Clk. Οη θπκαηνκνξθέο ηνπ master θαη ηνπ slave latch δίδνληαη παξαθάησ: 56
Άζθεζε 4 Δθθώλεζε Δπαλαιάβαηε ηελ πξνεγνύκελε άζθεζε γηα ην JK edgetriggered flip-flop ηνπ παξαθάησ ζρήκαηνο. Υπνζέζηε όηη ην flip-flop είλαη αξρηθά ζε ηνπνζέηεζε (Set). 57
Άζθεζε 4 Λύζε Τν ζπγθεθξηκέλν JK edge-triggered flip-flop δεηγκαηνιεπηεί ηελ θαηάζηαζε ησλ J θαη K ζηελ πίπηνπζα παξπθή ηνπ Clk. Οη θπκαηνκνξθή ηεο εμόδνπ δείρλεηαη παξαθάησ: 58
Άζθεζε 5 Δθθώλεζε Γηα ην D flip-flop ηεο δηαθάλεηαο 30 αξηζκείζηε ηηο πύιεο 1 έσο 6. (α) Με Clk=D=Low θαη S=R=High, πξνζδηνξίζηε ηελ θαηάζηαζε εμόδνπ ηεο θάζε πύιεο. Υπνζέζηε όηη αξρηθά ην flip-flop είλαη ζε ηνπνζέηεζε. (β) Δπαλαιάβεηε ην (α) γηα CLK=High. 59
Άζθεζε 5 Λύζε (α) Δθόζνλ ην Clk=D=Low νη πύιεο G 2, G 3 θαη G 4 ζα έρνπλ έμνδν 1. Η πύιε G 1 έρεη θαη ηηο ηξεηο εηζόδνπο ηεο ζε 1 θαη ζπλεπώο ζα έρεη έμνδν 0. To latch εμόδνπ έρεη ηηο εηζόδνπο ηνπ ζην 1 θαη ζπλεπώο δελ αιιάδεη θαηάζηαζε, δειαδή G 5 = 1 θαη G 6 = 0. 60
Άζθεζε 5 Λύζε (β) Δθόζνλ D= 0 ε έμνδνο ηεο G 4 = 1. Eθ όζνλ ην flip-flop είλαη ζε ηνπνζέηεζε, νη είζνδνη ηεο G 6 είλαη όιεο 1 θαη ζπλεπώο ε έμνδνο ηεο G 3 = 1. Γηα λα ζπκβαίλεη απηό ζα πξέπεη ε έμνδνο ηεο G 2 λα είλαη 0 θαη ηόηε ε έμνδνο ηεο G 1 ζα είλαη 1 θαη ηεο G 5 ζα είλαη θαη απηή 1. 61
Παλεπηζηήκην Παηξώλ, Πνιπηερληθή Σρνιή Τκήκα Ηιεθηξνιόγσλ Μεραληθώλ & Τερλνινγίαο Υπνινγηζηώλ Τνκέαο Ηιεθηξνληθήο & Υπνινγηζηώλ, Δξγαζηήξην Ηιεθηξνληθώλ Δθαξκνγώλ Η διάλεξη έγινε ζηο πλαίζιο ηος ππογπάμμαηορ EΠΕΑΕΚ II από ηο μεηαπηςσιακό θοιηηηή Παπαμισαήλ Μισαήλ για ηο μάθημα Ψηθιακά Ολοκληπωμένα Κςκλώμαηα και Σςζηήμαηα Καθηγηηήρ Κωνζηανηίνορ Εςζηαθίος 2008 62
Back-up Slides 63
SR Latch Θεσξεηηθή ζπκπεξηθνξά SR=00 Πιήξεο δηάγξακκα SR=01 θαηαζηάζεσλ Πεξηιακβάλεη θαη ηηο 4 πηζαλέο θαηαζηάζεηο (ζπλδπαζκνύο ησλ εμόδσλ) Γείρλεη ζε πνηα λέα θαηάζηαζε πεγαίλνπκε όηαλ έξζεη έλαο από ηνπο 4 ζπλδπαζκνύο εηζόδσλ, από νπνηαδήπνηε αξρηθή θαηάζηαζε Να γηαηί ε είζνδνο SR=11 είλαη κε επηηξεπηή ζην SR flip-flop κε NOR πύιεο 64 Q Q' 0 1 SR=01 Πιθαμές ταλαμτώσεις μετανύ τωμ καταστάσεωμ 00 και 11 SR=01 SR=11 SR=00 SR=10 SR=01 SR=11 Q Q' 0 0 Q Q' 1 1 SR=10 SR=00 SR=11 SR=11 Q Q' 1 0 SR=10 SR=00 SR=10
SR Latch Παξαηεξνύκελε ζπκπεξηθνξά Η θαηάζηαζε QQ'=11 πνιύ δύζθνια παξαηεξείηαη Έλα από ηα R, S ζπλήζσο αιιάδεη πξώην Άξα είλαη αζαθέο αλ ζα επηζηξέςεη ζηελ θαηάζηαζε 01 ή 10 Με ληεηεξκηληζηηθή κεηάβαζε SR=10 SR=00 SR=01 Q Q' 0 1 SR=01 SR=01 SR=10 Q Q' 1 0 SR=00 SR=10 SR=11 SR=11 Q Q' 0 0 SR=11 65 SR=00 SR=00
Αθνινπζηαθά θπθιώκαηα: Μαλδαισηέο θαη Flip-Flop Timing Definitions 66
Timing Definitions Φξόλνη ζρεηηθνί κε edge-triggered ζηνηρεία t setup : ρξόλνο γηα ηνλ νπνίν ε είζνδνο πξέπεη λα έρεη ζηαζεξνπνηεζεί (λα είλαη έγθπξε) πξηλ από ηελ παξπθή ηνπ ξνινγηνύ t hold : ρξόλνο γηα ηνλ νπνίν ε είζνδνο πξέπεη παξακείλεη ζηαζεξή έγθπξε κεηά ηελ παξπθή ηνπ ξνινγηνύ t C-Q : worst case θαζπζηέξεζε κεηάδνζεο (κε αλαθνξά ζηελ παξπθή ηνπ ξνινγηνύ) απαξαίηεηνο ρξόλνο γηα λα αληηγξαθεί ε είζνδνο D ζηελ έμνδν Q CLK t su t hold t D Q D DATA STABLE t Clk t C-Q 67 Q OUTPUT STABLE t