עבור לתוכן

שאלת מפענח עם ENABLE ***מערכות ספרתיות***

Featured Replies

פורסם

השאלה היא

1. א) ממש את הפונקציה (f(a,b,c)=(1,3,5,6 באמצעות מפענח וציין באמצעות איזה מפענח השתמשת.

ב) נניח שמותר לך להשתמש בסיבית נוספת שנקראת Enable הקיימת במפענח. כאשר סיבית זאת היא "1" אזי המפענח "פועל", ו-"0" אומר שהמפענח מכובה (כלומר לא משנה מה הם ערכי שאר הסיביות, המוצא תמיד יהיה "0"). האם ניתן להשתמש במפענחים קטנים יותר (כלומר יותר מאחד) מאשר בסעיף הקודם.

(יש פה משהו שעשיתי)

סעיף ב' עשיתי משהו אבל אני לא יודע אם זה נכון או לא ... ישמח לעזרה (:

פורסם

את א' עשית נכון (חוץ מהעובדה ששכחת לציין באיזה מפענח השתמשת)

לגבי ב', הרעיון הוא לחסוך במפענחים. לא להשתמש בכמה קטנים יותר.

ציינו בשאלה את הסיבית Enable - רמז עבה לפתרון.

כמו שכתוב בשאלה, הסיבית הזו בעצם מכבה ומדליקה את המפענח. כך שאתה יכול להשתמש בה ככניסה נוספת למפענח.

אני מצרף דוגמא שמשתמשת בסיבית הזו. אם תצטרך עזרה נוספת - רק תגיד

פורסם
  • מחבר

היה לי אבל רק 3 משתנים שהם בעצם a b c

לפי הפיתרון שלך בעצם אני מוסיף עוד משתנה... מה שמגדיל לי את המפענח בעצם... לא ?

אולי התכוונת a b ו c בעצם זה ה enable שלי ?

פורסם

נתתי סתם דוגמא. שים לב שבמקום להשתמש במפענח עם 4 כניסות נצלתי את סיבית ה Enable והשתמשתי במפענח עם 3 כניסות בלבד.

אין לי בעיה לרשום לך את התשובה, אתה לא מעדיף לנסות בעצמך?

פורסם
  • מחבר

וואלה אחי אני בעד להתאמץ ולמצוא את התשובה

אבל מחר המבחן שלי ואני עייף מכדי לחשוב כבר (:

אם תועל בזריז לזרוק את התשובה זה יהיה מעולה

פורסם

הפיתרון של זה אם שערים כל כך פשוט שהדקודרים מיותרים... כלומר בכל מקרה צריך שערים במעגל של הדקודרים אז אפשר כבר להסתפק בשערים בלבד

אם מחפשים איפה "לדחוף" דקודר (למה ? למשל אם אתה משתמש ברכיבים שמכילים כמות מסויימת של שערים, ניצלת את הרוב לפונקציות אחרות ולא נשאר מה שצריך לפונקציה הזאת, אבל במקרה יש דקודר מיותר) ניתן להחליף את אחד מהשערים בדקודר - רק שייתכן שעדיין תצתרך להוסיף שערים כדיי לעבוד איתו

הפתון "המלא" (למקרה הכללי) הוא על ידיי 2 דקודרים, שער NOT ושער OR גדול. אתה לוקח את אחת מהכניסות ומחבר ל enable של דקודר 1 ישירות ול 1 דרך שער NOT. כך אתה בכל פעם מסתכל רק על הכניסות האחרות והמצבים שלהם ב 1 מהדקודרים (שנבחר על ידיי הכניסה הראשונה) - למעשה חילקת את הדקודר הגדול ל 2 קטנים יותר. אבל במקרה הזה זה כבר ממש סתם בזבוז רכיבים מיותר

שים לב שהדקודרים שבהם השתמשתי הם אם כניסת enable שלילית - היא במצב enable כשהיא מקבלת 0. לכן אני נותן לה 0 כדיי שאני אוכל לעבוד בלי להשתמש איתה, או אם אני רוצה להכניס אליה כניסה מסויימת אני אצתרך לשים שער NOT (אלא אם אני רוצה שהדקודר יעבוד "הפוך")

השערים בתוכנה הזאת למה שהוא מצוייים שונה מאיך שמציירים שערים בדרך כלל אז הוספתי תוויות

פורסם

מה שאני לא סובל בתרגילים האלה זו ההתעלמות הבוטה מהמציאות. אין דקודר בלי Enable, מהסיבה הפשוטה שהמצב במוצא כשאין כניסות פעילות צריך להיות tri-state ולא '0', כי אחרת מצב '00' והמצב שאין כניסות פעילות - זהים. השאלה כאן בכלל גרועה, כי היא מכניסה לראש שכל מה שהEnable עושה זה להוציא '0' במוצא כשאין איפשור, שזו בכייה לדורות. תרגילים כאלה גורמים לתלמידי אלקטרוניקה הלם, כשהם נפגשים סוף סוף במציאות הכואבת.

פורסם
  • מחבר

אני תלמיד כזה ויש לי פה בנוסף עוד שאלה על דקודר

ולמען האמת אין לי מושג מה זה באמת עושה

פרט לעובדה שאם זה 0 אז המפענח לא עובד

ואם זה 1 אז הוא עובד

פורסם
  • מחבר

והמומחה השני שענה לי והואיל בטובו גם לצייר תרשים ממש ברור

תודה רבה לך !!!!!!!!

השאלה בנוגע לתרגיל שכתבתי ספציפית

אני אמור להוציא את הפונקציה המצומצת ואז להשתמש בעצם במה שתואם באיור שלך ?

פורסם

כניסת ה enable מאפשרת לכבות את הדקודר לגמרי. כשהוא במצב enable הוא מתנהג כמו שלמדת על דקודר, במצב disable (לא enable) הוא מוציא 0 מכל היציאות בלי קשר לכניסות a b וכו

למה זה שימושי ? בדוגמה האחרונה, ניתן לשלב יציאות מ 2 דקודרים לתוך שער OR גדול. על ידיי כניסת ה enable אנחנו מוודאים שרק הדקודר שמעניין אותנו כרגע יוכל להוציא 1 שייקלט בשער. אם למשל בדקודר "שלנו" כש B=1 ו C=1 אז התוצאה היא 0, אנחנו לא מחברים את החוט של 3 מהדקודר הזה לשער OR. ולא יקרה מצב שבטעות בדקודר אחר B=1 ו C=1 גורמים ל F=1 שייכנס ל OR. כלומר, יכול להיות שיציאה 3 של דקודר אחר כן מחוברת ל OR, אבל הדקודר ההוא לא יהיה enable לכן הוא לא יוכל "בטעות" לשים לנו 1 כשהפונקציה אמורה להיות 0

בהרבה דקודרים - כמו אלה בדוגמה שלי - כניסת ה enable הפוכה. זה אומר שהיא enable כשהי מקבלת 0 ו disable כשהיא מקבלת 1. ניתן לדעת אם הכניסה הפוכה אם מצוייר עיגול על הכניסה הזאת - עיגול אומר שהיא הפוכה

בדקודרים מתקדמים יותר (חומר שאתם לא למדתם כנראה) יש אפשרות למצב נוסף שנקרא high Z. דקודר שתומך ב high Z, כשהוא במצב disable, לא מוציא 0 לוגי אלא מתנתק מהמעגל לגמרי - מה שאומר שניתן לחבר יציאות שלו ביחד אם יציאות של דקודר אחר (חוט אם חוט) במקום להשתמש בשער OR אם מלא כניסות. בדקודר רגיל אי אפשר לעשות את זה כי אם אתה מחבר ביחד יציאות של 2 דקודרים, 1 מוציא 1 והשני מוציא 0 אתה גורם לקצר. בדקודר high Z הדקודר שאינו ב enable לא מוציא 0 אלא מתנתק מהמעגל בכלל ולכן הוא לא יפריע

הדוגמה בתרגיל קצת לא טובה כי המעגל כל כך פשוט שכל דבר מעבר ל 2 השערים (AND ו XOR) מיותר, וממש לא צריך שם דקודרים

אם רוצים לדחוף דקודר בכל זאת, ניתן לעשות את זה ב 2 דרכים :

דרך ספציפית לתרגיל הזה : ניתן לממש את שער ה AND או שער ה XOR על ידי דקודר

דרך כללית לכל תרגיל כזה (גם מסובך יותר) : מימוש הפונקציה על ידיי דקודר ושער OR "גדול"

פורסם
  • מחבר

אוקיי כניראה שהמשורר מתכוון לדרך הכללית עם שער OR מרובה רגליים

תודה רבה על ההשקעה וההסבר המפורט (:

פורסם

אז מה התשובה

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים