5 - , , ¯ –

Transcription

5 - , , ¯ –
‫מבוא למודלים סיפרתיים – איך מממשים אלגברת מיתוג בחומרה‬
‫פרק ‪ - 5‬שערים לוגיים ‪ ,‬מעגלים לוגיים ‪ ,‬תכנון לוגי‬
‫שער לוגי ) ‪ ( Logic gate‬הוא התקן חומרה המממש פונקצית מיתוג‪ .‬לשערים‬
‫המממשים את הפעולות היסודיות יש סימנים מוסכמים‪ .‬לכל השערים‪,‬‬
‫פרט למהפך )‪ ,(NOT‬שתי כניסות או יותר‪ .‬למהפך כניסה אחת ‪.‬‬
‫‪a‬‬
‫‪t‬‬
‫‪t=a•b‬‬
‫שער ‪: AND‬‬
‫‪b‬‬
‫‪t‬‬
‫‪a‬‬
‫‪b‬‬
‫‪c‬‬
‫‪t‬‬
‫‪a‬‬
‫‪b‬‬
‫‪c‬‬
‫שער ‪: NOR‬‬
‫’)‪t = (a + b‬‬
‫‪t‬‬
‫‪a‬‬
‫‪b‬‬
‫שער ‪: XOR‬‬
‫‪t=a⊕b‬‬
‫‪t‬‬
‫‪a‬‬
‫‪b‬‬
‫שער ‪: NOT‬‬
‫’‪b = a‬‬
‫‪b‬‬
‫‪a‬‬
‫שער ‪: OR‬‬
‫שער ‪: NAND‬‬
‫‪t=a+b+c‬‬
‫’) ‪t = ( a • b • c‬‬
‫‪117‬‬
‫ציורי השערים מורכבים מסמל ומקווים‪ .‬הקווים מצד שמאל לסמל מיצגים‬
‫את כניסותיו‪ ,‬כלומר את משתני הפונקציה‪ .‬הקו מימין מסמל את היציאה‪,‬‬
‫כלומר את ערך הפונקציה ‪.‬‬
‫‪118‬‬
‫‪1‬‬
‫ציור השער משמש לשתי מטרות‪:‬‬
‫‪ .1‬ייצוג גרפי של פונקציות מיתוג‪ .‬כל התיאורים להלן שקולים‪ :‬תיאור גרפי‬
‫בעזרת שערים לוגיים‪ ,‬ביטוי מיתוג‪ ,‬תיאור באמצעות טבלת אמת ‪ ,‬תיאור‬
‫בעזרת מפת קרנו ‪.‬‬
‫‪ .2‬תיאור גרפי של רכיב אלקטרוני ‪ .‬במקרה זה הסמל מייצג את הרכיב‬
‫האלקטרוני והקווים מתארים חוטים חשמליים המיועדים להעברת האותות‬
‫החשמליים אל הכניסות ומן היציאה ‪.‬‬
‫‪119‬‬
‫מעגלים לוגיים‬
‫צירוף של שער לוגי אחד או יותר לצורך חישוב פונקצית מיתוג מורכבת יותר‬
‫נקרא מעגל לוגי או מעגל מיתוג ‪.‬‬
‫המשתנים של הפונקציה נקראים כניסות המעגל ותוצאת הפונקציה היא‬
‫יציאת המעגל ‪.‬‬
‫יציאת המעגל הלוגי תלויה אך ורק בצירוף המסוים העכשווי של הערכים הלוגיים‬
‫של כניסותיו )“השמה”( ולכן הוא קרוי גם מעגל צירופי‬
‫) ‪ ) ( combinational logic‬אין כל "זכרון"(‬
‫דוגמא למעגל לוגי וביצוע אנליזה‪:‬‬
‫)‪T(H+W‬‬
‫‪T‬‬
‫‪H+W‬‬
‫‪T‬‬
‫‪H‬‬
‫‪W‬‬
‫‪A = T(H+W)+W’•P‬‬
‫‪A‬‬
‫‪W’P‬‬
‫‪120‬‬
‫’‪W‬‬
‫‪P‬‬
‫‪2‬‬
‫המעגל מורכב מציורי שערים המחוברים בקווים‪ .‬ציור המעגל ניתן לפירוש כפול‪:‬‬
‫‪ .1‬ייצוג של פונקציית המיתוג‪.‬‬
‫‪ .2‬מיפרט של מעגל אלקטרוני ‪ -‬הסמלים הינם רכיבים והקווים מייצגים קווי‬
‫חשמל ‪.‬‬
‫‪121‬‬
‫הפשטה ספרתית‬
‫כיצד מציגים ערכים '‪ '0‬ו '‪ '1‬על ידי מעגל לוגי ?‬
‫מצד אחד‪ :‬במעגלים לוגיים יש שני מדדים‪ :‬זמן ומתח חשמלי‪ .‬שני אלה הם‬
‫מדדים רציפים שיכולים לקבל כל ערך בתוך טווח מסוים‪.‬‬
‫מצד שני‪ :‬באלגברת המיתוג יש שני ערכים בדידים בלבד ‪ '0' :‬ו '‪. '1‬‬
‫הפתרון‪:‬‬
‫‪ .1‬מתח חשמלי מייצג ערך לוגי‪ .‬למשל‪ ,‬מתח חשמלי גבוה מייצג ‘‪ ’1‬ומתח חשמלי‬
‫נמוך מייצג ‘‪ . ’0‬מתחים מסוימים אחרים‪ ,‬למשל בין “גבוה” ל”נמוך” מוגדרים‬
‫כבלתי קבילים לייצוג ערכים לוגיים ‪.‬‬
‫‪ .2‬בזמנים מסוימים מוסכם שהיציאה של מעגל מייצג את ערכה של פונקציית המיתוג ‪.‬‬
‫בזמנים אחרים מוסכם שהמעגל איננו מייצג את ערך הפונקציה ‪.‬‬
‫‪122‬‬
‫‪3‬‬
‫שקף ריק‬
‫‪123‬‬
‫רמות לוגיות‬
‫שני הערכים הלוגיים ‪ ’0‘ ,‬ו‪ , ’1‘ -‬מיוצגים במעגלים אלקטרוניים על ידי‬
‫רמות מתחים )“רמות לוגיות"(‪.‬‬
‫מעגל חשמלי מקבל את הספקת החשמל שלו מספק חשמלי ) כמו סוללה(‪,‬‬
‫המספק מתח גבוה ‪ ) Vplus‬הקרוי גם “מתח הספק”( ומתח נמוך‬
‫‪) Vminus‬הקרוי גם “אדמה”(‪ .‬רמות המתחים ‪ v‬הקיימות בתוך המעגל‬
‫מוגבלות לתחום ‪ . Vminus <= v <=Vplus‬לדוגמא ‪,‬‬
‫‪ . Vminus=0volt , Vplus=5volt‬משרעת המתחים מוגדרת‬
‫כ ‪∆v ≡ Vplus − V min us -‬‬
‫אפשר לדוגמא להחליט ש‪-‬‬
‫’‪ ‘1‬לוגי מיוצג על ידי‬
‫‪Vplus − 0.2∆v = 4volt ≤ v ≤ 5volt = Vplus‬‬
‫‪124‬‬
‫’‪ ‘0‬לוגי מיוצג על ידי‬
‫‪V minus= 0volt≤ v ≤1volt=V minus+ 0.2∆v‬‬
‫‪4‬‬
‫המיפוי בין מתח ) רציף‪ ,‬אנלוגי ( לבין רמה לוגית ) דיסקרטית‪ ,‬בדידה (‬
‫חייב לקיים‪:‬‬
‫‪ .1‬הגדרתיות – אמינות מירבית ‪ :‬מספיק מרווח בין '‪ '0‬ל‪. '1' -‬‬
‫‪ .2‬חסינות – גמישות מירבית ‪ :‬טווח ערכים מסוים ייצג '‪ '0‬או '‪. '1‬‬
‫‪125‬‬
‫רעש ושולי רעש‬
‫כל שער לוגי צריך לייצר ביציאות שלו מתח הנמצא בתחומי הרמות הלוגיות‬
‫המותרות ‪ ,‬כלומר מייצגות '‪ '0‬או '‪. '1‬‬
‫מצד שני‪ ,‬ייתכן שהאות החשמלי “יתקלקל” במקצת תוך כדי המעבר בחוטים‬
‫המקשרים את השערים‪ .‬נהוג לכנות קלקול כזה בשם “רעש”‪ .‬ה”קלקול ”‬
‫מתבטא ביצירת מתחים החורגים מן התחומים המותרים ‪.‬‬
‫נניח למשל שרמת הרעש הינה לכל היותר ‪ 0.5‬וולט‪ .‬במקרה כזה יש לחייב‬
‫כל רכיב לוגי להבין כי אות כניסה הנמצא בתחום המתחים ‪ 3.5 - 5.5‬וולט‬
‫מייצג ‘‪ ’1‬לוגי ואות כניסה הנמצא בתחום ‪ - 0.5 - 1.5‬וולט מייצג‬
‫’‪ ‘0‬לוגי ‪.‬‬
‫בדרך כלל משתדלים להימנע ממתחים החורגים מגבולות ] ‪. [ Vminus,Vplus‬‬
‫שערים לוגיים נבנים בהתאם לעיקרון ה ‪ static discipline -‬שקובע שאם‬
‫הכניסות הן בערכים לוגיים חוקיים אזי לאחר זמן השהייה מתאים היציאה‬
‫של השער תהיה ברמת מתח חוקית‪ ,‬על פי הכלל הלוגי שמייצג השער ‪.‬‬
‫‪126‬‬
‫‪5‬‬
‫‪4‬‬
‫‪5‬‬
‫‪Voh‬‬
‫‪Vplus‬‬
‫‪2‬‬
‫‪3‬‬
‫‪Vil‬‬
‫‪Vih‬‬
‫’‪Output ‘1‬‬
‫‪1‬‬
‫‪0 volt‬‬
‫‪Vol‬‬
‫‪Vminus‬‬
‫’‪Output ‘0‬‬
‫’‪Input ‘1‬‬
‫’‪Input ‘0‬‬
‫‪Forbidden Zone‬‬
‫כל רכיב מוגדר חשמלית על ידי ארבע רמות המתחים הבאות‪:‬‬
‫‪ - Vil .1‬מתח הכניסה המכסימלי שחייב להיות מתורגם ל‪ ’0’-‬לוגי‪.‬‬
‫‪ - Vol .2‬מתח היציאה המכסימלי המותר לצורך ייצוג ‘‪ ’0‬לוגי‪.‬‬
‫‪ - Vih .3‬מתח הכניסה המינימלי שחייב להיתרגם ל‪ ’1’-‬לוגי‪.‬‬
‫‪ - Voh .4‬מתח היציאה המינימלי המותר לצורך ייצוג ‘‪ ’1‬לוגי ‪.‬‬
‫‪127‬‬
‫מבוא‬
‫חסינות לרעש '‪'1‬‬
‫מתח מינימלי עבור '‪'1‬‬
‫חסינות לרעש '‪'0‬‬
‫מתח מכסימלי‬
‫שיתורגם ל – '‪'0‬‬
‫‪Vih‬‬
‫‪Vil‬‬
‫מוצא‬
‫‪Voh‬‬
‫‪Vol‬‬
‫מתח יציאה‬
‫מינימלי עבור '‪'1‬‬
‫מתח יציאה‬
‫מכסימלי עבור '‪'0‬‬
‫‪128‬‬
‫‪6‬‬
‫הפרש המתחים ) ‪ 0.5‬וולט בדוגמא ( בין רמות הכניסה והיציאה מהווה “שולי‬
‫רעש” ומסייע להגדיל את אמינות המעגל ועמידותו לבעיות חשמליות ‪.‬‬
‫במרכז תחום המתחים נמצא האזור ה”אסור” שבו הערך הלוגי אינו מוגדר ‪.‬‬
‫המשתנים הלוגיים עוברים דרך התחום האסור בעת השינוי מ‪ ’0’-‬ל‪’ 1’-‬‬
‫וחזרה‪ ,‬אבל הרכיב הלוגי צריך להיות מתוכנן כך שמעבר זה יתרחש במשך זמן‬
‫קצר ככל האפשר ‪.‬‬
‫‪129‬‬
‫תכונות של שער לוגי‬
‫שער לוגי הוא רכיב המממש פונקצית מיתוג‪ ,‬בעל התכונות הבאות‪:‬‬
‫‪ .1‬כניסה אחת או יותר שמקבלות את הערכים '‪ '0‬או '‪. '1‬‬
‫‪ .2‬יציאה אחת או יותר שמקבלות את הערכים '‪ '0‬או '‪. '1‬‬
‫‪ .3‬הרכיב קובע ערך לכל יציאה בעבור כל צירוף אפשרי של ערכים‬
‫לכניסות ) למשל טבלת אמת(‪.‬‬
‫בפרט‪ :‬אין זיכרון או הסתמכות על מצבים קודמים !‬
‫‪ .4‬קיימות מגבלות תזמון פיזיות ‪ ,‬ובפרט השהייה ‪.( propagation delay ) ,‬‬
‫‪ : tpd‬אם מספקים לרכיב כניסות יציבות שאינן משתנות בזמן החל‬
‫מזמן ‪ , t‬אזי יציאות הרכיב תהיינה יציבות ונכונות החל מזמן ‪t+tpd‬‬
‫‪130‬‬
‫‪7‬‬
‫תכונות של מעגל צירופי‬
‫מעגל צירופי הוא צירוף של מעגלים לוגיים המחוברים ביניהם על פי הכללים הבאים‪:‬‬
‫‪ .1‬כל רכיב במעגל הוא שער לוגי‪.‬‬
‫‪ .2‬כל כניסה לשער לוגי במעגל היא או כניסה למעגל או יציאה של שער לוגי אחר‬
‫במעגל‪.‬‬
‫‪ .3‬יציאות של שערים לוגיים במעגל יכולות להתחבר רק לכניסות של שערים לוגיים‬
‫אחרים במעגל ) ולא ליציאות אחרות ( ‪.‬‬
‫‪ .4‬כל מסלול במעגל העובר דרך שערים לוגיים בכיוון מן הכניסה אל היציאה עובר‬
‫דרך כל שער לוגי פעם אחת לכל היותר ) כלומר אין לולאות ( ‪.‬‬
‫יש כיוון במערכת ואין זיכרון או הסתמכות על מצבים קודמים‪.‬‬
‫‪ .5‬כיציאות המעגל ניתן לבחור כל כניסה למעגל וכל יציאה של שער לוגי במעגל ‪.‬‬
‫נשים לב‪ :‬מעגל שבו יש שער לוגי שיציאתו מחוברת לאחת מכניסותיו אינו‬
‫מעגל צירופי ‪.‬‬
‫‪131‬‬
‫אסור !‬
‫בניית שערים לוגיים בעזרת מתגים‬
‫המימוש כיום של שערים לוגיים נעשה באמצעות טרנזיסטורים בטכנולוגיה הקרויה‬
‫‪ . CMOS‬להלן נציג מודל מופשט של שערים‪ ,‬המבוסס על מימוש על ידי‬
‫מתגים ) איננו מציגים מימוש על ידי טרנזיסטורים אלא על ידי מתגים‪.‬‬
‫מבחינה לוגית התוצאה זהה (‪.‬‬
‫מימושים קודמים‪:‬‬
‫‪RTL – Resistor – Transistor Logic‬‬
‫שילוב של טרנזיסטורים ונגדים )‪( resistors‬‬
‫‪TTL – Transistor – Transistor Logic‬‬
‫טכנולוגיה המבוססת על טרנזיסטורים בלבד‪.‬‬
‫‪132‬‬
‫‪8‬‬
‫לכל מתג שלושה קצוות ‪ -‬קצה אחד ‪ C‬המשמש ככניסת בקרה ושני קצוות‬
‫‪ A‬ו ‪ B -‬המשמשים ככניסה ויציאה של “מידע ”‪.‬‬
‫ישנם שני סוגים של מתגים‪ P ,‬ו‪: N -‬‬
‫‪A‬‬
‫‪A‬‬
‫‪N‬‬
‫‪P‬‬
‫‪C=1‬‬
‫‪B‬‬
‫’‪ : C = ‘0‬מתג מחובר‬
‫’‪ : C = ‘1‬מתג פתוח‬
‫‪C=0‬‬
‫‪B‬‬
‫’‪ : C = ‘0‬מתג פתוח‬
‫’‪ : C = ‘1‬מתג מחובר‬
‫‪133‬‬
‫מבנה ואפיון עקרוני של מהפך‬
‫שער ‪ , NOT‬מהפך‪ ,‬מורכב מזוג מתגים המחוברים בטור בין הקבועים ‘‪’ 0‬‬
‫ו ’‪ , ’1‬כאשר ’‪ A=‘0‬מתג ‪ N‬מנותק ומתג ‪ P‬מחובר‪ ,‬וכך עובר הקבוע ‘‪’1‬‬
‫ליציאה ‪ . B‬כאשר ’‪ A=‘1‬מתג ‪ N‬מחובר ומתג ‪ P‬מנותק‪ ,‬וכך עובר הקבוע‬
‫’‪ ‘0‬ליציאה‪ .‬בכל מקרה ‪. B=A’ ,‬‬
‫קבוע ‘‪’1‬‬
‫‪Vcc=+5V‬‬
‫בטרנזיסטור נקרא ‪collector‬‬
‫‪P‬‬
‫‪B‬‬
‫‪Vout‬‬
‫‪134‬‬
‫‪N‬‬
‫‪A‬‬
‫‪Vin‬‬
‫“אדמה” ‪ ,‬קבוע '‪GND , '0‬‬
‫בטרנזיסטור נקרא ‪Emitter‬‬
‫‪9‬‬
‫מתג ‪ '0' : P‬מחובר‬
‫'‪ '1‬פתוח‬
‫מתג ‪ '0' : N‬מחובר‬
‫'‪ '1‬פתוח‬
‫שער ‪ NAND‬מורכב מארבעה מתגים כלהלן ‪:‬‬
‫’‪‘1‬‬
‫‪B A NAND B‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪A‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪P‬‬
‫‪B‬‬
‫‪P‬‬
‫‪A‬‬
‫‪Z‬‬
‫‪N‬‬
‫רכיב כזה שבו יש את הקבועים‬
‫'‪ '0‬ו '‪ '1‬הוא רכיב‬
‫‪ , active‬כלומר מבטל רעשים‬
‫בכניסות שלו‪.‬‬
‫‪N‬‬
‫‪B‬‬
‫‪135‬‬
‫פעולת המהפך מוצגת בגרף המתחים כניסה‪-‬יציאה הבא ‪:‬‬
‫‪Vout‬‬
‫‪ Voh‬ערך מינימום ל‪'1' -‬‬
‫נדגיש‪:‬‬
‫‪ .1‬השינוי מ‪ '0'-‬ל‪'1'-‬‬
‫וההיפך לוקח זמן‬
‫‪ .2‬במשך זמן השינוי המצב‬
‫לא מוגדר‬
‫‪ .3‬יש הבטחה לרמות‬
‫לוגיות‪.‬‬
‫‪Vin‬‬
‫’‪‘1‬לוגי‬
‫מצב אסור – מצב‬
‫לא מוגדר‬
‫‪ Vol‬ערך מכסימלי ל‪'0' -‬‬
‫‪Vih‬‬
‫מתח כניסה‬
‫מינימלי שהוא‬
‫'‪'1‬‬
‫‪Vil‬‬
‫’‪‘0‬לוגי‬
‫כל עוד בכניסה יש ערך ל‪'0'-‬‬
‫)מתחת למכסימום המותר(‬
‫מובטח שביציאה יהיה ערך‬
‫הגדול מהמינימום ל‪'1'-‬‬
‫שיפוע הגרף גדול ביותר באזור האסור ‪ -‬כל שינוי קל במתח הכניסה מביא‬
‫‪136‬לשינוי חזק במתח היציאה‪ ,‬במטרה לקיים את הדרישה שהמעברים באזור‬
‫האסור יתרחשו בזמן קצר ככל האפשר ‪.‬‬
‫‪10‬‬
‫שינויי המתח לאורך הזמן ‪“ -‬צורות גלים “ ) ‪( waveforms‬‬
‫כניסה‬
‫‪Vin‬‬
‫’‪‘1‬‬
‫‪50%‬‬
‫’‪‘0‬‬
‫‪time‬‬
‫‪Thl‬‬
‫‪Tcd‬‬
‫‪Tlh‬‬
‫‪Vout‬‬
‫יציאה‬
‫’‪‘1‬‬
‫‪50%‬‬
‫’‪‘0‬‬
‫‪time‬‬
‫‪Tr‬‬
‫‪Tf‬‬
‫‪137‬‬
‫‪ : Tlh‬זמן ההשהיה המכסימלי מכניסה ליציאה כאשר הכניסה "יורדת" והיציאה‬
‫"עולה" ‪ ,‬כלומר הכניסה משתנה מ '‪ '1‬ל '‪ '0‬והיציאה משתנה מ '‪ '0‬ל '‪. '1‬‬
‫זמן זה נמדד בדרך כלל מהרגע בו הכניסה היגיעה למחצית הדרך‬
‫מ ’‪ ’1‬ל ’‪ ’0‬ועד הרגע בו היציאה מגיעה לאותו ערך‪.‬‬
‫שני המעברים‪ ,‬בכניסה וביציאה‪ ,‬מתרחשים במשך זמן סופי וגדול מ ‪. 0‬‬
‫‪ : Thl‬זמן ההשהיה מכניסה ליציאה כאשר היציאה “יורדת” ‪.‬‬
‫שני הזמנים ‪ Tlh‬ו ‪ Thl‬מאוחדים לעיתים תחת מדד יחיד הנקרא‬
‫זמן ההשהיה ) ‪ ( propagation delay‬ומסומן ‪. Tpd‬‬
‫‪ : Tpd‬פרק הזמן המכסימלי העובר משינוי במבוא ועד לקבלת השינוי במוצא‬
‫) חסם עליון ( ‪.‬‬
‫השהייה‬
‫‪δ‬‬
‫‪138‬‬
‫שער אידאלי הופך לשער עם השהייה ‪δ‬‬
‫‪11‬‬
‫עבור שערים עם כמה כניסות ‪ ,‬אם יש הבדל בין ה‪ Tpd -‬בין כניסות שונות‬
‫אל היציאה‪ ,‬היצרן מגדיר לכל כניסה את ה‪ Tpd -‬שלה‪.‬‬
‫‪ : Tr‬זמן העליה )‪ (rise‬הנמדד בדרך כלל מהרגע בו הסיגנל עבר ‪ 10%‬מכלל‬
‫השינוי שהוא עומד לעבור ועד ‪ ) 90%‬בזמן עליית מתח (‪.‬‬
‫‪ : Tf‬זמן הירידה )‪ – (fall‬כמו ‪ Tr‬כאשר מתח יורד‪.‬‬
‫‪ : Tcd‬זמן ה”זיהום " ‪ ( contamination ) -‬פרק הזמן המכסימלי המתחיל מן‬
‫הרגע שבו הכניסה מתחילה להשתנות ‪ ,‬אשר בו מובטח כי היציאה לא תשתנה עדיין‪.‬‬
‫ברכיבים צירופיים זמן זה נחשב בדרך כלל אפסי ‪ .‬בדרך כלל מניחים ‪. Tcd=0‬‬
‫) מסלול קצר ביותר בין כניסה ליציאה ( ‪.‬‬
‫‪139‬‬
‫בכל אחד מן המעברים‪ ,‬סדר המאורעות הוא כלהלן‪:‬‬
‫‪ .1‬הכניסה מתחילה להשתנות‪.‬‬
‫‪ .2‬במשך ‪ Tcd‬לאחר מכן מובטח שהיציאה לא תשתנה‪.‬‬
‫‪ .3‬לאחר ‪ Tpd‬החל מן השינוי בכניסה תשתנה גם היציאה‪ ,‬כך שהיציאה תעבור‬
‫את נקודת האמצע ‪ Tpd‬לאחר שהכניסה עברה את נקודת האמצע ‪.‬‬
‫‪ .4‬עליית היציאה ) או ירידתה ( תימשך ‪ ) Tr‬או ‪ ( Tf‬ללא קשר עם ‪.Tpd‬‬
‫‪ Tpd , Tcd‬מצטברים עבור חיבור מספר רכיבים באופן טורי‪ .‬למשל‪:‬‬
‫’‪’1’->’0‬‬
‫’‪’0’->’1‬‬
‫’‪X:’0’->’1‬‬
‫‪a‬‬
‫‪z‬‬
‫‪2‬‬
‫‪x‬‬
‫‪y‬‬
‫’‪X=‘0‬‬
‫’‪Y=‘1‬‬
‫‪1‬‬
‫‪140‬‬
‫‪12‬‬
‫נניח ש '‪ y = '1‬כל הזמן‪ .‬ברגע ‪ t=0‬משתנה ‪ x‬מ ’‪ ’0‬ל ’‪ ’1‬וידוע ש‬
‫‪ Thl(NAND)=100ps‬וכן ‪ . Tlh(NOT)=80ps‬אנו מסיקים כי משתנה‬
‫הביניים ‪ a‬ירד מ '‪ ’1‬ל ’‪ ’0‬בזמן ‪ t=100ps‬לכל המאוחר ) ואולי קודם לכן (‪,‬‬
‫היציאה ‪ z‬תעלה ל ’‪ ’1‬בזמן ‪ t=180ps‬לכל המאוחר )ואולי קודם לכן(‪ ,‬ומשך‬
‫ההשהיה הכולל של המעגל הוא ‪Tpd=180ps‬‬
‫לעומת זמני ההשהיה‪ ,‬זמני העלייה והירידה ‪ , Tf‬ו ‪ Tr‬אינם מצטברים‪ .‬ברכיבים‬
‫לוגיים בעלי מספר כניסות ו‪/‬או יציאות‪ Tpd , Tcd ,‬מתוארים לעיתים עבור‬
‫כל זוג כניסה‪-‬יציאה לחוד‪ .‬למשל‪ ,‬במעגל הנ”ל ייתכן וההשהיה מ ‪ x‬ועד ‪z‬‬
‫שונה מאשר ההשהיה מ ‪ y‬עד ‪ . z‬עוד כדאי לשים לב כי ‪ Tpd‬איננו‬
‫הסכום של ‪ Tcd‬ועוד ‪ ) Tr‬או ‪.( Tf‬‬
‫‪Tpd‬‬
‫‪Tr, Tf‬‬
‫נגמר השינוי‬
‫?‬
‫התחיל שינוי‬
‫‪Tcd‬‬
‫אין שינוי‬
‫‪141‬‬
‫מגבלות ‪ ) FanOut‬דרגת העמסה ( ‪:‬‬
‫יש מספר מוגבל של כניסות שניתן לחבר ליציאה‪.‬‬
‫ב‪ RTL , TTL -‬הזרם מגביל‪ .‬למשל‪ ,‬עומס על היציאה גורר‬
‫שרמת המתח שמייצגת '‪ '1‬לא תהיה גבוהה מספיק‪ ,‬ועלולה להיחשב‬
‫בטעות ל '‪. '0‬‬
‫‪142‬‬
‫‪13‬‬
‫צפיפות רכיבים‬
‫צפיפות רכיבים פירושה כמה שערים לוגיים יש ברכיב בודד‪.‬‬
‫מ‪ 1-‬עד ‪ 6‬שערים ‪SSI‬‬
‫‪Small Scale Integration‬‬
‫עד ‪ 100‬שערים ‪MSI‬‬
‫עשרות אלפים ‪LSI‬‬
‫מאות אלפים ‪VLSI‬‬
‫משפחות לוגיות‪:‬‬
‫משפחה לוגית ‪ :‬משפחת רכיבים שמיוצרת באותה טכנולוגיה‪.‬‬
‫‪ : TTL – Transistor-Transisor Logic‬זולה‪ ,‬ישנה‬
‫‪ : CMOS – Complementary Metol Ocside Silicon‬משפחה שמאופיינת‬
‫בצריכת הספק נמוכה יותר וצפיפות גבוהה יותר ממשפחת ה ‪. TTL‬‬
‫‪143‬‬
‫תכנון לוגי ) ‪( Logical Design‬‬
‫הרמה הבסיסית ביותר של תכנון לוגי היא תכנון של מעגלים ספרתיים‬
‫באמצעות שערים ) ‪ .( SSI‬אלגברת המיתוג תשמש לצורך‪:‬‬
‫‪ .1‬התיאור הלוגי של פעולת המעגל‪.‬‬
‫‪ .2‬מזעור גודל המעגל )שימוש במספר שערים מועט( באמצעות כללי הצמצום‬
‫של פונקציות ‪.‬‬
‫דוגמא‪ :‬נתונה הפונקציה המתוארת כסכום מכפלות ‪:‬‬
‫' ‪f ( A, B, C ) = ∑ (2,5,6,7) = AC + BC‬‬
‫‪AB 00 01 11 10‬‬
‫‪C‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪144‬‬
‫‪14‬‬
‫המימוש הלוגי יכול להתבצע בעזרת שערי ‪: NOT , OR ,AND‬‬
‫‪3‬‬
‫רכיבי ‪ 2 : SSI‬שערי ‪AND‬‬
‫‪ 1‬שער ‪NOT‬‬
‫‪ 1‬שער ‪OR‬‬
‫‪A‬‬
‫‪C‬‬
‫‪F‬‬
‫‪B‬‬
‫לחילופין‪ ,‬ניתן להמיר את התיאור הנ”ל למימוש בעזרת שערי ‪NAND‬‬
‫בלבד ‪:‬‬
‫‪A‬‬
‫’)‪(AC‬‬
‫רכיב ‪ SSI‬אחד שמכיל ‪4‬‬
‫שערי ‪NAND‬‬
‫‪C‬‬
‫‪F‬‬
‫’‪C‬‬
‫’‪((AC)’(BC’)’)’=AC+BC‬‬
‫‪B‬‬
‫’)’‪(BC‬‬
‫‪145‬‬
‫ניתן לממש ישירות גם מכפלות סכומים‪ .‬לדוגמא ‪:‬‬
‫) ‪f ( A, B, C ) = ( A + C ' )( B + C‬‬
‫‪10‬‬
‫‪0‬‬
‫‪11‬‬
‫‪AB 00 01‬‬
‫‪C‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪0‬‬
‫‪1‬‬
‫מימוש ישיר בעזרת שערי ‪NOT , OR , AND‬‬
‫‪A‬‬
‫‪F‬‬
‫‪C‬‬
‫‪B‬‬
‫‪146‬‬
‫‪15‬‬
‫מימוש חלופי בעזרת שערי ‪NOR‬‬
‫‪A‬‬
‫’)’‪(A+C‬‬
‫‪F‬‬
‫=’)’)‪((A+C’)’+(C+B‬‬
‫)‪=(A+C’)(C+B‬‬
‫’‪C‬‬
‫’)‪(C+B‬‬
‫‪C‬‬
‫‪B‬‬
‫יעדי התכנון הלוגי השתנו עם השתנות הטכנולוגיה‪:‬‬
‫*כאשר המימוש נעשה באמצעות שערים בודדים הושקע מאמץ רב‬
‫במציאת דרכים למימוש פונקציות בעזרת מספר מינימלי של שערים‪.‬‬
‫*מאוחר יותר ‪ ,‬כאשר המימוש נעשה באמצעות רכיבים מסובכים יותר‪,‬‬
‫הכוללים מספר רב של שערים כל אחד‪ ,‬המטרה היתה לממש פונקצית מיתוג‬
‫נתונה באמצעות מספר מינימלי של רכיבים ולאו דווקא של שערים‬
‫) קונים רכיב שיש בו כמה שערים מאותו הסוג ( ‪.‬‬
‫*כאשר המימוש הלוגי הינו חלק מתכנון שבבים מתקדמים מצטרפות מטרות‬
‫כגון מינימיזציה של השטח על השבב ) הנקבע ע”י מספר השערים וסוגיהם (‪,‬‬
‫‪147‬או של ההספק החשמלי‪ ,‬או של זמן החישוב‪ ,‬או של פשטות התכנון ‪.‬‬
‫סיכונים סטטיים ) ‪( Static Hazards‬‬
‫נתון‪:‬‬
‫לכל שער יש השהייה ‪ Tpd‬בגודל ‪. δ‬‬
‫דרוש‪:‬‬
‫לתכנן מערכת חסרת סיכונים‪.‬‬
‫מהו סיכון‪ :‬לפרק זמן קצר במוצא המערכת מופיע ערך לוגי שלא צריך להופיע‬
‫שם‪.‬‬
‫ראינו שבמעגל צירופי היציאה אמורה להיקבע בערך לוגי נכון לאחר שעבר זמן השהיה‬
‫מאז שהשתנו ערכי הכניסות‪ .‬היציאה מקבלת ערך לוגי כלשהוא נכון‪.‬‬
‫מסתבר כי במעגלים מסוימים עלולה היציאה לקבל ערכי ביניים לא נכונים במהלך‬
‫ההמתנה‪ ,‬כלומר בפרק הזמן שבין תחילת השתנות הכניסות ועד לתום ה ‪. Tpd‬‬
‫מעברים כאלה של ערכי היציאה נקראים ‪ - hazard‬סיכון‪.‬‬
‫‪148‬‬
‫‪16‬‬
‫דוגמא ‪:‬‬
‫‪Y1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪1‬‬
‫‪2δ 3δ‬‬
‫‪1→0→1‬‬
‫‪H‬‬
‫‪0→1‬‬
‫‪2δ‬‬
‫‪δ‬‬
‫‪Y2‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪Y3‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪0‬‬
‫‪H=1‬‬
‫‪H=1‬‬
‫‪H=1‬‬
‫‪H=1‬‬
‫‪1‬‬
‫‪δ‬‬
‫‪b‬‬
‫‪0→1‬‬
‫‪d‬‬
‫‪Y1‬‬
‫‪1→0‬‬
‫‪Y2‬‬
‫‪a‬‬
‫‪δ‬‬
‫‪1→0‬‬
‫‪1‬‬
‫‪Y3‬‬
‫‪c‬‬
‫‪149‬‬
‫נניח שזמני ההשהיה קבועים וזהים לכל השערים‪ .Tpd=δ ,‬הפונקציה ‪ H‬היא ‪:‬‬
‫‪H = Y1• Y2’ +Y3• Y2‬‬
‫כאשר ‪ Y1=Y2=Y3=1‬ערך היציאה '‪. '1‬‬
‫נניח עתה שבזמן ‪ Y2 t= 0‬יורד ‪ ,‬כלומר ‪ ,‬עובר מ‪ ’1'-‬ל‪ . ’0’-‬לאחר ‪ δ‬יחידות‬
‫זמן יציאת שער ‪ a‬עולה ויציאת שער ‪ c‬יורדת‪ .‬בזמן ‪ 2δ‬עולה יציאת שער ‪b‬‬
‫ויציאת שער ‪ , d‬שהיא יציאת המעגל כולו‪ ,‬יורדת‪ .‬בזמן ‪ 3δ‬עולה ‪ H‬בחזרה ל '‪: '1‬‬
‫‪150‬‬
‫‪17‬‬
‫’‪‘1‬‬
‫‪Y2‬‬
‫‪1->0‬‬
‫’‪‘0‬‬
‫‪C‬‬
‫‪1->0‬‬
‫‪a‬‬
‫‪0->1‬‬
‫‪b‬‬
‫‪d‬‬
‫‪1->0‬‬
‫‪Time‬‬
‫‪151‬‬
‫‪3δ‬‬
‫‪2δ‬‬
‫‪δ‬‬
‫‪0‬‬
‫במעבר מ ‪ Y1Y2Y3 = 011‬אל ‪ Y1Y2Y3 = 111‬אין סיכון‪ .‬מדוע ?‬
‫‪ Y1‬הוא שמשתנה‪ ,‬מ‪ '0' -‬ל‪ Y2Y3 . '1'-‬נשארים קבועים‪ .‬מכפלה‬
‫ממומשת על ידי שער ‪ AND‬שנשאר תמיד להפיק '‪ '1‬ולכן בכניסה‬
‫לשער ה‪ OR -‬תמיד יש '‪ '1‬וערך הפונקציה '‪. '1‬‬
‫איך גורמים למערכת להיות חסרת סיכונים ?‬
‫במערכת צירופית כלשהיא עלול להיווצר סיכון כאשר שינוי בצירוף‬
‫הכניסות גורר למעבר בין תאים סמוכים במפת הקרנו אשר אינם‬
‫נכללים באותו גורר ראשוני )הממומש בשער בודד (‪.‬‬
‫‪152‬‬
‫‪18‬‬
‫‪10‬‬
‫‪1‬‬
‫‪11‬‬
‫‪1‬‬
‫‪01‬‬
‫‪1‬‬
‫‪1‬‬
‫‪Y2Y1‬‬
‫‪00‬‬
‫‪Y3‬‬
‫‪0‬‬
‫‪1‬‬
‫ניתן למנוע סיכונים סטטיים על ידי שינוי המעגל‪ .‬ראשית‪ ,‬יש להניח כי‪:‬‬
‫‪ .1‬בו זמנית לא משתנה יותר מכניסה אחת למעגל‪.‬‬
‫‪ .2‬שינויים נוספים בכניסות לא יקרו עד אשר יסתיימו כל השינויים בתוך‬
‫המעגל הנובעים משינוי הכניסה האחרון ‪.‬‬
‫‪153‬‬
‫בעיה זו‪ ,‬הקרויה כאמור ‪ ) Static Hazard‬סיכון סטטי ( מבוטאת במפת קרנו על‬
‫ידי מעבר מגורר ראשוני אחד לגורר ראשוני אחר‪ .‬בעת המעבר‪ ,‬ובשל הבדלים‬
‫בזמני ההתפשטות ברכיבים שונים‪ ,‬יכולה היציאה לקבל באופן רגעי ערכים לא‬
‫נכונים‪.‬‬
‫הכנסה של השהייה נוספת אינה פיתרון טוב ‪ :‬עבור השהייה יודעים חסמים‬
‫עליון ותחתון‪ .‬התכנון צריך להביא בחשבון את המצב הגרוע ביותר שבו‬
‫לא ידועה ההשהייה ‪ ,‬רק התחומים העליון והתחתון שלה‪ .‬למשל‪:‬‬
‫ההשהייה של הזוג‬
‫יכולה לנוע מ‪ 0 -‬ועד‬
‫‪. 2δ‬‬
‫‪154‬‬
‫‪19‬‬
‫מוסיפים למעגל גורר נוסף‪ Y1 • Y 3 ,‬המכסה את החץ שהופיע במפת קרנו ‪.‬‬
‫הערך של גורר זה אינו משתנה כאשר ‪Y 2‬משתנה מ‪ '1'-‬ל‪. '0' -‬‬
‫‪1 1 Y1‬‬
‫‪b‬‬
‫‪1 0 Y2‬‬
‫‪a‬‬
‫‪H‬‬
‫‪e‬‬
‫‪d‬‬
‫‪1 1 Y3‬‬
‫שער "יתיר"‬
‫) ‪( redundant‬‬
‫‪c‬‬
‫שער יתיר – שער שאינו נדרש לצורך מימוש הפונקציה‪.‬‬
‫התוספת שלו היא רק על מנת למנוע סיכונים !‬
‫‪155‬‬
‫‪Y2Y1‬‬
‫‪00 01 11 10‬‬
‫‪Y3‬‬
‫‪0‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫‪1‬‬
‫סיכום‪ :‬שיטה להתגברות על סיכונים סטטיים – למצוא את המעברים בין‬
‫גוררים ועבור כל מעבר להוסיף שער !‬
‫אפשר להראות שזוהי שיטה כללית להתגברות על ‪ Static Hazards‬ומעגל נקרא‬
‫‪ Hazard free‬אם הוא יממש ביטוי של סכום מכפלות באופן שכל זוג‬
‫משבצות שכנות במפת קרנו המכילות ‘‪ ’1‬מכוסה על ידי אחת המכפלות )לפחות(‬
‫סיכונים דינמיים ) ‪ ( dynamic hazards‬מתרחשים כאשר יציאת המעגל אמורה‬
‫להשתנות ) למשל ‘‪ ( ’1‘ ← ’0‬אבל השינוי נעשה תוך שלושה מעברים‬
‫לפחות ) למשל ‘‪ . ( ’1‘ ← ’0‘ ← ’1‘← ’0‬בעיה זו מסובכת יותר ‪.‬‬
‫הפתרונות דומים אך אין פתרון כללי ויש מקרים שאינם ניתנים לפתרון ‪.‬‬
‫‪156‬‬
‫‪20‬‬
‫שקף ריק‬
‫‪157‬‬
‫שקף ריק‬
‫‪158‬‬
‫‪21‬‬
‫שקף ריק‬
‫‪159‬‬
‫שקף ריק‬
‫‪160‬‬
‫‪22‬‬