לוגיקה צירופית יחידות סטנדרטיות מבוסס על הרצאות של יורם זינגר, האוניברסיטה העברית י " ם יהודה אפק, נתן אינטרטור אוניברסיטת תל אביב
Encoder Encoder encodes bitstream or other signal or data into a form that is acceptable for transmission or storage. A decoder does the reverse Endec does both Codec does both as well but in software
Examples A modem is an endec A program that creates a compressed version of music or video, say MPEG is a codec MIME to send binary files over text PGP to send encrypted messages
מפענח – Decoder: לוגיקה צירופית – יחידות סטנדרטיות : n כניסות מייצגות מספר בינארי בתחום 0…2 n -1 2 n יציאות כאשר יציאה i הינה "1" אמ"מ בכניסה יש ערך i. 2424 Decoder קלטפלט A1A1 A0A0 D3D3 D2D2 D1D1 D0D ( בינארי ) ( אונרי )
DECODER 2 4 A’ 1 A’ 0 A’ 1 A 0 A 1 A’ 0 A1A0A1A0 A0A0 A1A1 מפענחים – Decoders: לוגיקה צירופית – יחידות סטנדרטיות : בעלי n כניסות ראשיות. בעלי 2 n יציאות ראשיות. בהינתן קלט הפלט של המפענח הינו : ה – minterm המתאים ל יקבל ערך 1 וכל שאר ה minterms ערך 0. מפענח ממיר מייצוג בינארי לאונרי.
DECODER 2 4 A’ 1 A’ 0 A’ 1 A 0 A 1 A’ 0 A1A0A1A0 A0A0 A1A1 ENABLE מפענחים – Decoders: לוגיקה צירופית – יחידות סטנדרטיות : בעלי n כניסות ראשיות. בעלי 2 n יציאות ראשיות. בהינתן קלט הפלט של המפענח הינו : ה – minterm המתאים ל יקבל ערך 1 וכל שאר ה minterms ערך 0. מפענח ממיר מייצוג בינארי לאונרי.
הרחבות למפענחים : היציאות יכולות להיות מהופכות ( שימוש בשערי NAND במקום AND). קיים קו Enable אשר " מפעיל " או " משתק " את כל הרכיב. EA1A1 A0A0 D0D0 D1D1 D2D2 D3D 1111 טבלת האמת עבור שערי NAND ו – Enable מופעל ע " י אות " 0".
שמוש ב – Enable: (Enable – אפשור ) נממש Decoder n 2 n ע " י שני n-1 2 n-1, ושימוש בקו Enable: כאשר Z=0 יופעל ה -Decoder העליון ולכן יבחר ע " י xy את היציאה המתאימה להיות 1. במקרה זה ה -Decoder התחתון יוציא אפסים. התפקוד משתנה ( עליון יוציא 4 אפסים ) כאשר Z=1. D0D0 D1D1 D2D2 D3D3 D5D5 D6D6 D7D7 D8D8 2 A0A0 A1A1 E A0A0 A1A1 E x y z
מימוש סכום מכפלות ע " י – Decoders: ע " י לקיחת OR של היציאות המתאימות נוכל לממש מכפלת סכומים. מכיוון שכל המכפלות הינן יציאות ה -Decoder ניתן לממש יותר מפונקציה אחת ע " י Decoder יחיד m 2 m 1 m4m4 m 7 BC A m3m3 m6m6 m7m7 m5m5 A דוגמא : מימוש FA ע " י Decoder.
S C a b c “1” E 3 8 מימוש FA ע " י 3 8 יחיד C C S a b a b 2 E E
בחירת משתנים ופענוח : MSB LSB ABCf C B C B 2 E E 2121 A BC A B C A B’
B C A C A 2 E E 2121 f מימוש יעיל יותר : BACf AC B A C B B’ נשנה את סדר המשתנים :
B C A C A 2 E E 2121 f מימוש יעיל יותר : BACf AC B A C B B’ If B=0 “1” E 2 4 f C A B נשנה את סדר המשתנים :
מקודדים - Encoders מממש פונקציה "הפוכה" למפענח: 2 n קוי כניסה. n קוי יציאה. 4242 Encoder D0D0 D1D1 D2D2 D3D3 A0A0 A1A1 קלטפלט D3D3 D2D2 D1D1 D0D0 A1A1 A0A 0 1 2 33 קלט שאינו "אונארי" יביא ליציאה שגויה או לא מוגדרת. הגדרה "טובה" יותר של מקודד?
מימוש מקודדים : A0A0 A1A1 D 1 + D 3 D 2 + D 3 D0D0 D1D1 D2D2 D3D3 קו D 0 אינו " מחובר ". מכיוון שקל לממש מקודד ע " י שערי OR בלבד וכן יש " להיזהר " לא להגדיר קלט לא חוקי ישנן הרחבות למקודדים מורכבים וכלליים יותר. מקודד עדיפויות – Priority Encoder 2 n כניסות. n יציאות + יציאת Valid. בודק " תקינות " הקלט.
מקודד עדיפויות – Priority Encoder: הפלט מציין את הביט הראשון (MSB) שהינו " 1". D3D3 D2D2 D1D1 D0D0 A1A1 A0A0 V 1113 Valid not valid D2D2 D1D1 D0D0 D3D D2D2 D1D1 D0D0 D3D3 A 0 = D 3 + D 1 D’ 2 A 1 = D 2 + D 3 V = D 0 + D 1 + D 2 + D 3 D3D3 D2D2 D1D1 D0D0 A0A0 A1A1 V
מרבבים – Multiplexer: ריבוב : שידור מספר רב של יחידות מידע באמצעות מספר קטן יותר של קווים או ערוצים. מרבב ספרתי בורר קו יחיד מבין קוי כניסה ומכוון את המידע הבינארי אל קו יציאה יחיד. 2 n קוי כניסה. n קוי ברירה / בחירה / מיעון. קו יציאה יחיד. I0I0 I1I1 I2I2 I3I3 S1S1 S0S0 MUX 4 1 Y “1” 00
מרבבים – Multiplexer: ריבוב : שידור מספר רב של יחידות מידע באמצעות מספר קטן יותר של קווים או ערוצים. מרבב ספרתי בורר קו יחיד מבין קוי כניסה ומכוון את המידע הבינארי אל קו יציאה יחיד. 2 n קוי כניסה. n קוי ברירה / בחירה / מיעון. קו יציאה יחיד. I0I0 I1I1 I2I2 I3I3 S1S1 S0S0 MUX 4 1 Y “0” 01
מימוש מרבב : בדומה למפענחים מוסיפים קו Enable ( אפשור ). ניתן לברור בין קבוצות של קוים. E S Output 0 All O’s 10Select 11 A1A1 A2A2 A3A3 A4A4 B1B1 B2B2 B3B3 B4B4 Y1Y1 Y2Y2 Y3Y3 Y4Y4 ES 0 S1S1 S0S0 I0I0 I1I1 I2I2 I3I3 טבלת הפונקציה I0I0 I2I2 I1I1 I3I3 S0S0 S1S1
מימוש פונקציות בוליאניות ע " י מרבבים : גישה " ישירה ": עבור פונקציה בעלת n משתנים השתמש במרבב בעל n כניסות בקרה. רשום הפונקציה כסכום מכפלות. הכנס 1 לכניסה המתאימה למכפלה אשר מופיעה בסכום ו – " 0 " אחרת. דוגמא : F=A’ + BC ABCF “1” MUX 8 S2S2 S1S1 S0S f ABC
B,C בקרה A כניסה A’ “1” BC MUX 4 A 1 S1S1 S0S0 Yf A’ גישה " חסכונית ": חלוקת משתני הפונקציה בין קווי הבקרה וקווי הכניסה. חלוקה סטנדרטית : n-11 בקרה ABCF כניסה
גישה " חסכונית ": חלוקת משתני הפונקציה בין קוי הבקרה וקוי הכניסה. חלוקה סטנדרטית : n-11 בקרה ABCF כניסה AB MUX 4 S1S1 S0S0 Y f 1 0 C “1” “0” C A,B בקרה C כניסה
דוגמא – חלוקה 2 בקרה + 2 כניסה : (C D)’ C’+D’ CDCD CD C D f CDCD AB Y (C D)’ C’+D’ s1s1 s0s0 ABCDF