( ד ג ג – ) יחידות זיכרון

Transcription

( ד ג ג – ) יחידות זיכרון
‫פרק ‪ - 8‬יחידות זיכרון ) ‪ – Flip Flop‬דלגלג (‬
‫עד כה עסקנו במערכות צירופיות בהן ערכי המוצא נקבעים לפי ערכי המבוא‬
‫הנוכחיים בלבד‪ .‬במערכות אלו אסורים מסלולים מעגליים‪ .‬כעת נרחיב את הדיון‬
‫למערכות עם מעגלים‪ .‬למשל ‪:‬‬
‫‪Y‬‬
‫‪X‬‬
‫ניתוח לוגי של המערכת מראה ש ’‪X = Y‬‬
‫’‪Y = X‬‬
‫למערכת זו שני פתרונות אפשריים ‪:‬‬
‫‪220‬‬
‫‪X=0, Y=1‬‬
‫‪X=1, Y=0‬‬
‫אין כל סיבה להעדיף פתרון אחד מהשניים ולכן למערכת זו שני מצבים יציבים‪.‬‬
‫כאשר היא תתייצב באחד מהם‪ ,‬היא תישאר בו‪ .‬מערכת כזו נקראת דו‪-‬יציבה‬
‫) ‪. ( bi-stable‬‬
‫תכונות‪:‬‬
‫‪ .1‬הרכיב זוכר ) '‪ '0‬או '‪ '1‬נשארים תמיד ( ‪.‬‬
‫אבל‪:‬‬
‫‪ .2‬לא ניתן לקבוע מצב‪.‬‬
‫‪ .3‬לא ניתן לקרוא‪.‬‬
‫‪ .4‬אין סנכרון ‪ ,‬תיאום שעון ‪ -‬מתי נקבע הערך !‬
‫‪221‬‬
‫‪1‬‬
‫דוגמא נוספת‪:‬‬
‫‪X‬‬
‫'‪' 0‬‬
‫‪Z‬‬
‫'‪' 1‬‬
‫‪Y‬‬
‫←'‪'0‬‬
‫הפעם צריך להתקיים ‪:‬‬
‫’‪X = Y‬‬
‫’‪Y = Z‬‬
‫’‪Z = X‬‬
‫‪222‬‬
‫למערכת אין פתרון יציב כי צריך להתקיים ‪:‬‬
‫’‪X = Y’ = Z = X‬‬
‫נתבונן בהתנהגות המערכת לאורך זמן‪ .‬נניח שההשהיה של כל מהפך היא‬
‫‪t pd (NOT ) = τ‬‬
‫‪223‬‬
‫‪2‬‬
‫‪Y‬‬
‫‪1‬‬
‫‪0‬‬
‫‪X‬‬
‫‪Z‬‬
‫‪10τ 11τ‬‬
‫‪9τ‬‬
‫‪8τ‬‬
‫‪7τ‬‬
‫‪6τ‬‬
‫‪5τ‬‬
‫‪4τ‬‬
‫‪3τ‬‬
‫‪2τ‬‬
‫‪τ‬‬
‫‪0‬‬
‫המערכת רוטטת ) מתנדנדת ( בין ערכים לוגיים בלתי יציבים‪ ,‬עם מחזור‬
‫באורך ‪ . 6τ‬ניתן להכליל ניתוח זה למעגלים בעלי ‪ n‬מהפכים ‪ :‬כאשר ‪n‬‬
‫זוגי המערכת היא דו‪-‬יציבה וכאשר ‪ n‬אי‪-‬זוגי המערכת אינה יציבה ‪.‬‬
‫‪224‬‬
‫נדגיש כי אם למערכת יש פתרון במישור הלוגי ‪ ,‬כלומר למשוואות הלוגיות‬
‫הנגזרות ממנו‪ ,‬עדיין לא מובטח שאכן אלו הערכים שנמצא במעגל הפיזי ‪.‬‬
‫לדוגמא‪ ,‬בטבעת עם שני המהפכים‪ ,‬אם נאלץ ‘‪ ’0‬בשתי הכניסות למהפכים ‪,‬‬
‫ובהנחה ש‪ tcd(NOT) = tpd(NOT) = τ -‬אזי המערכת תתנדנד‬
‫בין ‘‪ ’0‬ל‪. ’1‘ -‬‬
‫התכונה היחידה שאמורה להיות מובטחת על ידי מעגל פיזי היא שעבור כניסות‬
‫חוקיות‪ ,‬כל רכיב מייצר ערכי יציאה חוקיים‪ .‬פתרון למשואות הלוגיות רק‬
‫מראה שיש אפשרות לפתרון יציב ‪.‬‬
‫‪225‬‬
‫‪3‬‬
‫)‪Basic Set-Reset Latch (SR‬‬
‫‪or Set-Reset Latch‬‬
‫‪or Reset-Set Latch‬‬
‫אין דרך מעשית פשוטה לקבוע מה יהיה ערכו של זוג המהפכים הדו‪-‬יציב ‪.‬‬
‫במקום המעגל הקודם משתמשים במעגל להלן ‪:‬‬
‫’‪Q‬‬
‫‪Q‬‬
‫קובע '‪'1‬‬
‫‪set‬‬
‫‪S‬‬
‫‪reset‬‬
‫‪R‬‬
‫קובע '‪'0‬‬
‫’‪Q‬‬
‫'‪' 0‬‬
‫‪NOR‬‬
‫'‪' 1‬‬
‫‪S‬‬
‫'‪' 1‬‬
‫‪Q‬‬
‫'‪' 0‬‬
‫'‪' 1‬‬
‫‪R‬‬
‫כאשר ‪ R=S=0‬זהו בדיוק מעגל שני המהפכים‪ .‬כניסות ‪ S , R‬מאפשרות‬
‫לשנות את מצבו של המעגל ‪.‬‬
‫‪226‬‬
‫טבלת מעברים‪:‬‬
‫‪Q‬‬
‫‪q‬‬
‫‪0‬‬
‫‪1‬‬
‫?‬
‫‪SR‬‬
‫‪0 0‬‬
‫‪0 1‬‬
‫‪1 0‬‬
‫‪1 1‬‬
‫שומר מצב ‪ :‬מה שהיה ב‪Q -‬‬
‫נשמר‪.‬‬
‫‪reset‬‬
‫למשל‪ ,‬מעבר‬
‫‪set‬‬
‫מ ‪ 01‬ל ‪00‬‬
‫צירוף אסור‬
‫‪ 10‬ל ‪00‬‬
‫עם המצב הזה יש בעיה‪ :‬נניח ’‪ Q=‘0‬ועוברים‬
‫ב‪ SR -‬מ‪ '11' -‬ל‪ . '00' -‬עקרונית‪ ,‬צריך להישמר‬
‫המצב ‪ ,‬כלומר ’‪. q=‘0‬‬
‫שער תחתון מהיר‬
‫סותר את ההגדרה כי לא‬
‫נשמר מצב – תלוי בהשהיית‬
‫השערים‪ .‬אסור לאפשר מעבר‬
‫בו זמנית מ‪ '11'-‬ל‪'00' -‬‬
‫‪227‬‬
‫‪4‬‬
‫‪00‬‬
‫’‪Q=‘1‬‬
‫‪00‬‬
‫שער עליון מהיר ’‪Q=‘0‬‬
‫‪SR‬‬
‫‪10‬‬
‫’‪Q=‘1‬‬
‫‪01‬‬
‫’‪Q=‘0‬‬
‫‪11‬‬
‫‪ .1‬מצב התחלתי ’‪S=R=‘0‬‬
‫‪ Q=0‬ו‪Q ' =1 -‬‬
‫‪ .2‬העלאה של ‪ S‬ל‪ ’1‘ -‬גוררת ‪(set) Q=1 , Q’=0‬‬
‫‪ .3‬החזרה של ‪ S‬ל‪ ’0‘ -‬אינה משנה את ‪ . Q‬לכן ‪ ,‬הכתיבה של ‘‪ ’1‬ל‪Q -‬‬
‫נשמרת ולכן זהו רכיב זיכרון‪.‬‬
‫‪ .4‬העלאה של ‪ R‬ל‪ ’1‘ -‬גוררת ‪Q’=1 , Q=0‬‬
‫)‪(reset‬‬
‫‪ .5‬החזרה של ‪ R‬ל‪ ’0’-‬אינה משנה את היציאות ) זיכרון (‪.‬‬
‫‪ .6‬העלאה שוב של ‪ S‬ל‪ - ’1’-‬כמו ‪ 2‬לעיל ‪.‬‬
‫העלאה עוקבת של ‪ R‬ל‪ ’1’-‬מאפסת את שתי היציאות ‪.‬‬
‫‪228‬‬
‫תיאור הפעולה‪ ) ,‬כולל המקרה ‪ ( R=S=1‬בדיאגרמת זמנים ‪:‬‬
‫‪7 8 9‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪2‬‬
‫‪3‬‬
‫‪1‬‬
‫‪' 0' S‬‬
‫‪' 0' R‬‬
‫’‪'1' Q‬‬
‫‪' 0' Q‬‬
‫‪Reset‬‬
‫‪229‬‬
‫‪5‬‬
‫שומר‬
‫‪ Set‬מצב ‪Reset‬‬
‫שומר מצב‬
‫‪Set‬‬
‫מתחילים‬
‫ממצב ‪Reset‬‬
‫אם ‪ R‬ו ‪ S‬ירדו ביחד מ ’‪ ’1‬ל ’‪ ’0‬ינסו שני השערים להעלות את המוצא שלהם‬
‫לערך ‘‪ , ’1‬ויווצר מירוץ ) ‪ . ( race‬אם באחד מן השערים ‪ t pd‬קטן באופן‬
‫משמעותי מאשר בשני ‪ -‬הוא ינצח‪ ,‬כלומר מוצא השער בשני יהיה ‘‪. '0‬‬
‫אחרת‪ ,‬יש סיכוי שהמערכת תגיע למצב הקרוי “על יציב” ) מטה‪-‬סטבילי( שעלול‬
‫להימשך זמן בלתי מוגדר‪ ,‬עד לכניסת המערכת לאחד משני המצבים היציבים‬
‫)בלא יכולת לחזות מי משני המצבים ייבחר( ‪.‬‬
‫רכיב ‪ OR‬לא מגיב ביציאה כל עוד יש לו כניסה חוקית ב ’‪ ’1‬לוגי‪ .‬אם ‪ S‬ו ‪R‬‬
‫שניהם מתחלפים מ ’‪ ’1‬ל ’‪ , ’0‬שתי יציאות ‪ Q‬ו ’‪ Q‬יכולות להתחיל לעלות‬
‫לכיוון ‘‪ ’1‬לוגי ואז היציאות מתייצבות על ערך מתח לא חוקי ‪ v‬כי מצד אחד‬
‫נכנס מתח ‪ v‬אל כל אחד מהשערים‪ ,‬ויוצא ‪ . v‬המערכת מתייצבת על ערך זה‬
‫וזהו מצב ‪ . metastability‬מצד שני‪ ,‬אם רק ‪ S‬למשל יורד מ ’‪ ’1‬ל ’‪, ’0‬‬
‫היציאה ‪ Q‬תמיד נשארת ב ’‪ ’0‬ולכן ’‪ Q‬יעבור ל '‪. '1‬‬
‫נדון במצב על יציב בהמשך ובינתיים נזכור שיש להימנע משינוי בו זמנית‬
‫של ‪ R‬ושל ‪ S‬מ ’‪ ’1‬ל ’‪. ’0‬‬
‫‪230‬‬
‫ניתן לבקר מתי הכניסות ‪ S , R‬תשפענה על ה ‪ Latch‬באמצעות המעגל הבא ‪:‬‬
‫‪Q‬‬
‫‪S‬‬
‫’‪Q‬‬
‫‪R‬‬
‫‪G‬‬
‫‪S‬‬
‫‪R‬‬
‫הכניסה ‪ G‬נקראת ‪ Gate‬או שער‪ .‬כאשר ‪ G=1‬ה ‪' Latch‬פתוח’ או ‘שקוף’ ‪.‬‬
‫כאשר ‪ G=0‬ה ‪ latch‬נעול ויציאותיו אינן מושפעות משינויים בכניסות ‪.‬‬
‫‪231‬‬
‫‪6‬‬
‫‪Transparent Latch‬‬
‫על ידי שינוי קל ניתן להשתמש ב‪ latch -‬לאחסון סיבית בודדת ‪. D‬‬
‫‪Data out‬‬
‫‪Q‬‬
‫‪D‬‬
‫‪Data in‬‬
‫‪G‬‬
‫‪Gate‬‬
‫‪Q‬‬
‫‪G‬‬
‫‪D‬‬
‫‪S‬‬
‫‪R‬‬
‫הרכיב נקרא ‪ Transparent‬מכיוון שהכניסה ‪ D‬עוברת אל היציאה ‪Q‬‬
‫תיאור הפעולה בדיאגרמת זמנים ) ה ‪ latch -‬שומר על מצבו כאשר ‪,G=0‬‬
‫שקוף כאשר ‪: ( G=1‬‬
‫‪1‬‬
‫‪4‬‬
‫‪8‬‬
‫‪10 11‬‬
‫‪13‬‬
‫‪D‬‬
‫‪14‬‬
‫‪12‬‬
‫‪7‬‬
‫‪9‬‬
‫‪6‬‬
‫‪5‬‬
‫‪2‬‬
‫‪3‬‬
‫‪G‬‬
‫‪232‬‬
‫‪Q‬‬
‫יש חיסרון משמעותי לרכיבים “שקופים” ‪ :‬נניח שאנו מעונינים לבנות ‘אוגר הזזה ’‬
‫המורכב ממספר רכיבי זיכרון המחוברים בטור ‪:‬‬
‫‪Q‬‬
‫‪Q‬‬
‫‪D‬‬
‫‪G‬‬
‫‪Q‬‬
‫‪D‬‬
‫‪G‬‬
‫‪Q‬‬
‫‪D‬‬
‫‪D‬‬
‫‪G‬‬
‫‪G‬‬
‫כאשר אוגר הזזה פועל נכון יש שליטה על מספר המקומות שכל סיבית זזה ‪.‬‬
‫כלומר‪ ,‬בכל פעם ש ‪ G -‬עולה ל‪ ’1’-‬ויורד ל‪ ’0’-‬אנו רוצים שהסיביות‬
‫באוגר יזוזו בדיוק מקום אחד ימינה‪ .‬אבל‪ ,‬אם נשתמש ב‪-‬‬
‫‪ Transparent Latches‬מספר התאים דרכם יעבור הקלט תלוי באורך הזמן‬
‫שבו ‪ G‬בערך '‪ .'1‬אפשר‪ ,‬אמנם‪ ,‬להקפיד ש – ‪ G‬יהיה בערך '‪ '1‬בדיוק למשך‬
‫הזמן הדרוש למעבר דרך ‪ Latch‬אחד‪ ,‬אבל אז המעגל יהיה רגיש לשינויי זמן‬
‫אנלוגיים עליהם קשה לשלוט ‪ ,‬וכן לשינויים רבים אחרים ‪ .‬תכנון כזה נחשב‬
‫בדרך כלל לגרוע‪ .‬יש צורך בפיתרון אחר‪.‬‬
‫‪233‬‬
‫‪7‬‬
‫)‪Edge Triggered D Flip Flop (DFF or ETDFF‬‬
‫‪Master-Slave D-FF‬‬
‫משתמשים בשני ‪: latches‬‬
‫‪X‬‬
‫‪D Q‬‬
‫‪Slave‬‬
‫‪G‬‬
‫‪Q‬‬
‫‪Data‬‬
‫‪D‬‬
‫‪Master‬‬
‫‪G‬‬
‫‪Clock‬‬
‫כאשר השעון ‪ clock=0‬ה ‪" master -‬פתוח" וכניסת ‪ Data‬עוברת‬
‫לצומת הפנימית ‪ . X‬כאשר השעון עולה ל‪ ’1’-‬מתרחשים שני הדברים הבאים‪:‬‬
‫ ה – ‪ Master‬נסגר ומכאן ואילך הוא “זוכר” את ערכו האחרון של ‪X‬‬‫ ה ‪ Slave -‬נפתח וערכו של ‪ X‬מועבר ליציאה‪.‬‬‫‪234‬‬
‫מאוחר יותר יורד השעון שוב לאפס‪ ,‬ואז קורים שני הדברים הבאים‪:‬‬
‫ה ‪ Slave‬נסגר ומכאן והלאה הוא “זוכר” את ערכו האחרון של ‪Q‬‬
‫ה ‪ Master‬נפתח ומאפשר לכניסה ‪ Data‬לקבוע את ערכו הבא של ‪X‬‬
‫יש לשים לב לשני כללים בנוגע לפליפ פלופ‪:‬‬
‫‪ .1‬התזמון המדויק קריטי ולכן בדרך כלל תכנון הפליפ‪-‬פלופ נעשה על ידי‬
‫מומחים בלבד ולא על ידי המהנדס המתכנן את שאר המערכת הספרתית‪.‬‬
‫לדוגמא‪ ,‬יש לקחת בחשבון את זמן התפשטות הסיגנל של שער ה ‪, NOT‬‬
‫כדי להימנע ממצב שבו כאשר ה ‪ clock‬עובר מ ’‪ ’0‬ל ’‪ ’1‬שני ה ‪latches‬‬
‫פתוחים‪.‬‬
‫‪ .2‬בזמן שהשעון עולה אנו מניחים ש ‪ X‬כבר התייצב ואיננו עובר שינוי בו‬
‫זמנית‪ .‬לכן מטילים מגבלה על זמני ההשתנות של כניסת ‪ : Data‬היא חייבת‬
‫להיות יציבה זמן מסוים לפני עליית השעון כדי ש ‪ X‬יתעדכן וגם להישאר יציבה‬
‫זמן מסוים לאחר עליית השעון כדי להבטיח שה ‪ latch‬השמאלי הופך לשקוף ‪,‬‬
‫ו ‪ x‬יישאר בערך שנקבע לו ‪.‬‬
‫‪235‬‬
‫‪8‬‬
‫‪ D‬יציב לאחר ‪ D‬יציב לפני‬
‫עליית השעון עליית השעון‬
‫‪2‬‬
‫‪7‬‬
‫‪D‬‬
‫‪4‬‬
‫‪9‬‬
‫‪11‬‬
‫‪X‬‬
‫עוקב אחרי ‪Data‬‬
‫בגלל ירידת השעון‬
‫‪6‬‬
‫‪Q‬‬
‫‪10‬‬
‫‪8‬‬
‫‪3‬‬
‫‪5‬‬
‫‪1‬‬
‫‪Clock‬‬
‫‪ Master‬פתוח‬
‫ה ‪ Master‬פתוח‬
‫היציאה ‪ Q‬עוקבת אחרי ‪X‬‬
‫‪time‬‬
‫‪236‬‬
‫בעליית השעון היציאה ‪ Q‬עוקבת אחרי ‪ : X‬הרכיב פעיל‬
‫בעליית השעון !‬
‫סימון הפליפ‪-‬פלופ נראה כך ‪:‬‬
‫‪Q‬‬
‫’‪Q‬‬
‫‪D‬‬
‫פירושו‬
‫אם מופיע‬
‫שהרכיב אקטיבי ) משנה ערך יציאה (‬
‫בירידת השעון‬
‫‪clock‬‬
‫מעבר אקטיבי של השעון ‪ :‬מעבר שגורם לשינוי ביציאה ‪.‬‬
‫המשולש מסמן כניסת שעון מסוג ‪ . Edge-Triggered‬שימו לב שכניסת ה‪ETDFF -‬‬
‫מייצגת מאורעות ) נקודות זמן‪ ,‬המיוצגות על ידי עליות השעון(‪ ,‬בעוד כניסת השער)‪(G‬‬
‫ל‪ Transparent Latch -‬מייצגת אינטרוולים ) קטעים בזמן ( ‪.‬‬
‫בעזרת ‪ ETDFF‬ניתן לבנות אוגר הזזה הפועל נכון ‪ :‬כל עליית שעון מקדמת את הסיביות‬
‫במקום אחד בלבד‪ .‬ניתן גם לתכנן פליפ‪-‬פלופ אחר מסוג ‪ , master-slave‬על ידי שימוש‬
‫בשני ‪ Transpatrent latches‬המופעלים באמצעות שני אותות שעון שאינם חופפים ‪.‬‬
‫תכנון המשמש סוג מסוים של רכיבי ‪. VLSI‬‬
‫זהו ‪237‬‬
‫‪9‬‬
‫סוג אחר של ‪ ETDFF‬מאפשר לחסום את הכניסה על ידי אות ‪ enable‬מבלי‬
‫למתג את השעון ‪:‬‬
‫‪D‬‬
‫‪En‬‬
‫‪Q‬‬
‫’‪Q‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪CK‬‬
‫‪Enable‬‬
‫‪D‬‬
‫‪CLR‬‬
‫‪D‬‬
‫‪CK‬‬
‫מיתוג שעון‬
‫‪Enable‬‬
‫‪CLC‬‬
‫‪238‬‬
‫רגיסטרים‬
‫הרכיבים ממותגי השפה ) ‪ ( Edge Triggered‬משמשים לבניית אוגרים )רגיסטרים(‬
‫המאפשרים כתיבה וקריאה בו זמנית‪ .‬דוגמא למימוש רגיסטר בעל ‪ 4‬סיביות ‪:‬‬
‫‪D4‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪D3‬‬
‫‪SET Q‬‬
‫‪D‬‬
‫’‪Q‬‬
‫‪CLR‬‬
‫‪D2‬‬
‫‪SET Q‬‬
‫‪D‬‬
‫’‪Q‬‬
‫‪CLR‬‬
‫‪D1‬‬
‫‪SET Q‬‬
‫‪D‬‬
‫’‪Q‬‬
‫‪CLR‬‬
‫‪D‬‬
‫‪CLR‬‬
‫‪Load‬‬
‫‪Q4‬‬
‫‪Q3‬‬
‫‪Q2‬‬
‫‪Q1‬‬
‫צעד אחד נוסף קדימה הוא זיכרון קריאה‪/‬כתיבה‪Random Access memory ,‬‬
‫‪ . RAM‬מימוש אפשרי לזיכרון כזה‪ ,‬בעל ‪ 8‬תאים ) ‪ 3‬קווי כתובת( המאפשר‬
‫קריאה וכתיבה בו זמניות‪ ,‬מתואר להלן ‪:‬‬
‫‪239‬‬
‫‪10‬‬
‫אין קריאה פנימה‬
‫כל עוד ‪. clock = 0‬‬
‫‪SET Q‬‬
‫השפה הפעילה‬
‫היא ירידת השעון‬
‫’‪Q‬‬
‫‪CLR‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪Output‬‬
‫‪data‬‬
‫‪SEL‬‬
‫‪240‬‬
‫‪Read‬‬
‫‪address‬‬
‫‪D‬‬
‫‪D‬‬
‫‪DEC‬‬
‫‪D‬‬
‫‪D‬‬
‫‪CLR‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪1‬‬
‫‪CLR‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪1‬‬
‫‪Write‬‬
‫‪address‬‬
‫‪CLR‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪D‬‬
‫‪CLR‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪D‬‬
‫‪CLR‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪load‬‬
‫רק ה ‪ D‬הנבחר → ' ‪load = '1‬‬
‫קולט ‪Data‬‬
‫‪CLR‬‬
‫‪SET Q‬‬
‫’‪Q‬‬
‫‪D‬‬
‫‪Input‬‬
‫‪data‬‬
‫‪D‬‬
‫‪CLR‬‬
‫* על ידי הוספת בורר נוסף ניתן יהיה לבצע פעולת כתיבה ושתי פעולות‬
‫קריאה בו זמנית ) שלושה תאים – אחד נכתב ‪ 2 ,‬נקראים (‬
‫* על ידי שימוש ב‪ n -‬עותקים של מעגל זה‪ ,‬ניתן לבנות זיכרון למילים בנות‬
‫‪ n‬סיביות ) למילה אותה כתובת ולכן כמה סיביות של אותה מילה אינן‬
‫יכולות להיות אגורות ברכיב אחד כלעייל(‪.‬‬
‫* לצורך בניית זיכרונות גדולים משתמשים בדרך כלל בטכנולוגיות אחרות‬
‫) למשל במערכי קבלים של זיכרונות ‪ DRAM‬שהמטען בהם מייצג סיביות‬
‫של מידע( ‪.‬‬
‫‪241‬‬
‫‪11‬‬
‫תזמונים בפליפ‪-‬פלופים‬
‫בדומה לפרמטרי ההשהיות ברכיבים צירופיים‪ ,‬מוגדרים פרמטרים דומים גם‬
‫עבור רכיבים ממותגי שפה ) ‪ . ( Edge-Triggered‬אלו מוגדרים בדרך כלל‬
‫ביחס לזמן עליית השעון עבור רכיבים הפועלים עם עליית השעון‪.‬‬
‫סימון ‪ C-Q :‬פירושו ‪. Clock-to-Queue‬‬
‫תזמון ערכי יציאות‬
‫‪tpC-Q‬‬
‫פרק הזמן המכסימלי מזמן עליית השעון ועד שמוצא הפליפ‪-‬פלופ‬
‫מתייצב בערך החוקי‪.‬‬
‫‪tcC-Q‬‬
‫פרק הזמן המינימלי מזמן עליית השעון בו עדיין מובטח שמוצא הרכיב‬
‫יישאר יציב ברמתו הלוגית הקודמת‪.‬‬
‫תזמון ערכי כניסות ‪thold , tsetup‬‬
‫‪ts‬‬
‫משך הזמן לפני עליית השעון בו הכניסה לפליפ‪-‬פלופ צריכה להיות יציבה‪.‬‬
‫‪th‬‬
‫משך הזמן לאחר עליית השעון בו הכניסה לפליפ‪-‬פלופ צריכה להשאר יציבה‪.‬‬
‫‪242‬‬
‫בדרך כלל ‪ th‬ו‪ ts -‬קטנים בהרבה מן ההשהיות האחרות במערכת‪ ,‬ומניחים‬
‫שהם ‪ . 0‬גם ‪ tcC-Q‬הוא בדרך כלל קטן‪ ,‬אולם מניחים שאיננו ‪ 0‬אלא מקיים‬
‫‪ . tcC-Q > th‬דרישה זו חיונית בכדי שאפשרי יהיה לחבר יציאת פליפ‪-‬פלופ‬
‫אחת ישירות לכניסה של פליפ‪-‬פלופ אחר ‪:‬‬
‫‪th‬‬
‫‪D‬‬
‫‪X‬‬
‫‪tC-Q‬‬
‫‪Q‬‬
‫‪D‬‬
‫‪IN‬‬
‫‪CLOCK‬‬
‫‪243‬‬
‫‪12‬‬
‫נניח שהשעון מגיע אל שני ה‪ D-FF -‬באותו הזמן‪:‬‬
‫כאשר השעון עולה הכניסה ל‪ D -‬צריכה להישאר קבועה עדיין למשך‬
‫‪ th‬יחידות זמן‪ .‬לכן‪ ,‬היציאה ‪ Q‬צריכה עדיין להישאר בערכה הקודם‪.‬‬
‫‪th‬‬
‫‪tcC-Q > t‬‬
‫‪h‬‬
‫‪ts‬‬
‫‪Data‬‬
‫‪Q‬‬
‫‪CLOCK‬‬
‫‪tpC-Q‬‬
‫‪244‬‬
‫ההבדל שבין ‪ Latch‬לבין ‪: Flip Flop‬‬
‫ב‪ Latch -‬שינויים ביציאה מתרחשים כאשר השעון ברמה כלשהיא‬
‫) '‪ '0‬או '‪( '1‬‬
‫ב‪ Flip flop -‬השינויים ביציאה מתרחשים רק כאשר השעון משנה‬
‫ערך ) מ‪ '0' -‬ל‪ '1'-‬או מ‪ '1'-‬ל‪.( '0'-‬‬
‫‪245‬‬
‫‪13‬‬
‫‪ 4‬סוגי ‪: Flip flops‬‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫‪.4‬‬
‫‪D-FF‬‬
‫‪T-FF‬‬
‫‪SR-FF‬‬
‫‪JK-FF‬‬
‫‪D-FF‬‬
‫‪D‬‬
‫‪0‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪→ Q‬‬
‫‪→ 0‬‬
‫‪→ 1‬‬
‫‪→ 0‬‬
‫‪→ 1‬‬
‫‪q‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪Q‬‬
‫‪D Q‬‬
‫‪0 0‬‬
‫‪1 1‬‬
‫‪D‬‬
‫’‪Q‬‬
‫‪clk‬‬
‫‪246‬‬
‫‪T-FF‬‬
‫פליפ‪-‬פלופ זה מוגדר על ידי טבלת המעברים הבאה‪:‬‬
‫) כאשר הכניסה ‪ T=1‬מחליף ה‪ FF -‬את ערכו‪ ,‬ולכן הוא קרוי ‪: ( Trigger FF‬‬
‫‪T‬‬
‫‪q→ Q‬‬
‫‪0‬‬
‫‪0→ 0‬‬
‫‪1‬‬
‫‪0→ 1‬‬
‫‪1‬‬
‫‪1→ 0‬‬
‫‪0‬‬
‫‪1→ 1‬‬
‫‪Q‬‬
‫שומר‬
‫מצב‬
‫ניתן לממש ‪ T-FF‬על ידי ‪: D-FF‬‬
‫‪D‬‬
‫‪T‬‬
‫’‪Q‬‬
‫‪247‬‬
‫‪clk‬‬
‫‪14‬‬
‫‪Q‬‬
‫‪q‬‬
‫’‪q‬‬
‫‪T‬‬
‫‪0‬‬
‫‪1‬‬
SR-FF
SR
0 0
1 0
0 1
1 1
SR
q 00
0 0
1 1
Q
q
1
0
?
‫שומר‬
‫מצב‬
S
Q
R
Q’
clk
q→ Q
S
R
01 11 10
0→ 0
0
φ
0
0
0→ 1
1
0
1→ 0
0
1
1→ 1
φ
0
?
?
1
1
Q
248
JK-FF
SR-FF , T-FF ‫שילוב של‬
J
0
1
0
1
K
0
0
1
1
Q
q
1
0
q’
‫שומר‬
‫מצב‬
0
1
Q
K
Q’
clk
JK
q
J
q→ Q
J
K
00
01 11 10
0→ 0
0
φ
0
1
0
0
0→ 1
1
φ
1→ 0
φ
1
1→ 1
φ
0
1
0
Q
1
1
249
15
‫שקף ריק‬
‫‪250‬‬
‫שקף ריק‬
‫‪251‬‬
‫‪16‬‬
‫שקף ריק‬
‫‪252‬‬
‫שקף ריק‬
‫‪253‬‬
‫‪17‬‬
‫שקף ריק‬
‫‪254‬‬
‫‪18‬‬