Download - בנית שערים לוגיים באמצעות מתגים
1
בנית שערים לוגיים באמצעות מתגים
המימוש הטכנולוגי של שערים לוגיים נעשה באמצעות טרנזיסטוריםהמשמשים כמתגים.
( לכל מתג שלושה קצוות: כניסת בקרהC( ושני קצוות )A,B )שהמתג יכול לחבר ביניהם.
,נגדיר שני סוגי מתגיםP-ו N:באמצעות טבלות אמת ,
N
A
B
C P
A
B
C
Pמתג Nמתג Cכניסת הבקרה מצב המתגCכניסת הבקרה מצב המתג
0מחובר0מנותק
1מנותק1מחובר
2
.
P
N
A B
‘1’
‘0’
בנית מהפך באמצעות מתגים' 0' ו-'1זוג מתגים המחוברים בטור בין הקבועים( 'VPLUS, VMINUS) כאשרA=0 מתג ,N מנותק ומתג P' ליציאה 1 מחובר, וכך עובר הקבוע 'B . כאשרA=1 מתג ,N מחובר ומתג P' ליציאה 0 מנותק, וכך עובר הקבוע 'B.
3
P
A Z
N
N
P
B
באמצעות מתגיםNANDבנית שער
4
Three-State Inverter :נגדיר שער חדש באמצעות מתגים
1=כאשרEnable פועל השער כמו NOTרגיל
0=כאשרEnable מנותקת יציאתו B ,והשער איננו מסוגל לכתוב ערך לוגי
על היציאה. " היציאה איננה :"המצב השלישיזהו
' 1' ואיננה '0'השער קרוי: מהפך עם יציאה מסוג
three-state” " או גם: מהפך עם יציאתHIGH-Z.
:נסמן את השער החדש בסימון באותו אופן ניתן לבנות כל שער לוגי
" ”three-stateשיש לו יציאת
P
N
A B
P
NEnable
IN OUT
Enable
P
N
A B
Three (Tri)-State Inverter
5
Three-State Bus ניתן לחבר יחד יציאות של
כאלוstate-3מספר שערי היציאה המשותפת קרויה
BUS)עורק( שער אחד לכל היותר
רשאי לכתוב בו זמנית על היציאה המשותפת
מפענח יבטיח שלכלהיותר אחד מן השערים
בו זמניתBUSיכתוב על ה- אם יש למפענח כניסת
Enable אזי אם Enable=0 ' 0כל יציאות המפענח הן 'ואף שער אינו כותב על
BUSה-
2->4 Decoder
EnableS0
S1
D3 D2 D1 D0
IN0
IN1
IN2
IN3
BUS
6
2->4 Decoder
EnableS0
S1
D3 D2 D1 D0
IN0
IN1
IN2
IN3
BUS
Three-State Bus
,המערכת כולה )אוסף השערים, והמפענח( שקולה BUSה-
לבורר.BUS עשוי להיות מהיר יותר
במקצת מאשר בורר, אך יתרונו העיקרי טמון בפשטותו:
בורר מצריך פרישת חוטים רביםBUS .מכיל חוט יחיד המפענח בדרך כלל ממומש באופן
)log)Kמבוזר, ולכל היותר דרושים חוטים להעברת אותות הבקרה.
7
EnableS0S1
IN0
BUS
IN1
IN2
IN3
Three-State Bus
מימושBUS עם :מפענח מבוזר
BUS של N חיבורים
2רקlog)N(+1 קווי בקרה מועברים
לכל השערים
8
EnableS0S1
IN0)0(
BU
S)0
(IN1)0(
IN2)0(
IN3)0(
IN0)1(
IN1)1(
IN2)1(
IN3)1(
BU
S)1
(
2-bit three-state bus
קווי הבקרהמשותפים
סימון מקוצר מרובה BUSל-
סיביות:
BUS[0:15]
16
9
Pull-UpPull-Down
P
IN OUT
IN IN
OUT
OUT
IN IN
OUT
OUT
N
IN OUT
Wired-AND Bus
קיים סוג נוסף שלBUS הנבדל ,
מקודמו רק בדרך המימוש.
נגדיר שני שעריםחדשים:
שערpull-down הוא החצי התחתון
NOTשל שער שערpull-up הינו
החצי העליון:P
N
A B
10
Wired-AND )pull-down( Bus
הכניסה של שעריpullup/pulldown יכולה לבוא מימין או משמאל
-היציאה מחוברת לBus.בכיוון מעלה-מטה Bus המורכב כולו משערי pull-down פועל
כלהלן:' בכניסה של שער אחד או יותר, ערכו של 1אם יש '
'.0 הוא 'Busה--אחרת, ערכו של הBus' התקן מיוחד, 1 הוא( '
Busהמסומן כקופסה מרובעת בציור, מחובר אל ה-ומבטיח את קיום ברירת המחדל(.
pull-down Bus מממש פונקציה של שער NOR(AND)או לפי דה-מורגן פונקצית
Pull-Down
IN IN
OUT
OUT
N
IN OUT
11
Pull-Down Bus
NIN0 NIN1 NIN2 NIN3
OUT
OUT
IN0
IN1
IN2
IN3
Wired-AND Bus
),...,,(),...,,( 1010 kk INININANDINININNOR
12
Wired-OR (pull-up) Bus
,באופן דומהBus המורכב כולו משערי pull-up פועל כלהלן:
' בכניסה של שער אחד או יותר, ערכו של 0אם יש ''.1 הוא 'Busה-
-אחרת, ערכו של ה Bus' התקן מיוחד, 0 הוא( ' Busהמסומן כקופסה מרובעת בציור, מחובר אל ה-
ומבטיח את קיום ברירת המחדל(.
לכןpull-up Bus מממש פונקציה NAND או( ,(ORלפי דה-מורגן
Pull-Up
P
IN OUT
IN IN
OUT
OUT
13
Pull-Up Bus
IN0 IN1 IN2 IN3
OUT
OUT
IN0
IN1
IN2
IN3
P P P P
Wired-OR (pull-up) Bus
)IN,...,IN,IN(OR)IN,...,IN,IN(NAND kk 1010
14
Programmable Logic Array (PLA)
מימוש רגולרי יעיל של מספר פונקציות של אותן כניסותשימוש חוזר במכפלות המשותפותWired-AND Buses"המאורגנים ב( מישורAND )"
משמשים לחישוב המכפלות " מישורOR -המורכב מ "Wired-OR Buses משמש
לסיכום המכפלות ליצירת הפונקציות. למשל, מימוש הפונקציהf=AB+CD:יראה כלהלן
AB
A' B'
CD
C' D' AB + CD
)CD('
)AB('
15
A B C D AB+CD
AND PLANE OR PLANE
E AB+C'E'
Programmable Logic Array (PLA)
בדרך כלל משתמשים במערךPLAמוכן מראש -יש רק לבחור אילו שערים משתתפים במימוש = "תכנות" של הPLA..לפשטות הסימון מסמנים רק את המקומות של השערים המשתתפים:למשל
16
Programmable Logic Array (PLA)
אפיוןPLA:( 5מספר משתני הכניסה)( 6מספר המכפלות האפשריות)( 3מספר היציאות האפשריות)
A B C D AB+CD
AND PLANE OR PLANE
E AB+C'E'
17
PLAמימוש באמצעות Op5
Op4
Op3
Op2
Op1
Op0
S3
S2
S1
S0
IorD
IRWrite
MemReadMemWrite
PCWritePCWriteCond
MemtoRegPCSource1
ALUOp1
ALUSrcB0ALUSrcARegWriteRegDstNS3NS2NS1NS0
ALUSrcB1ALUOp0
PCSource0
18
Field Programmable Gate Array (FPGA)
:רכיב המכיל מספר גדול שלטבלאות אמתתאי זיכרוןקווי חיבור ביניהם העוברים דרך מתגי ניתובקווי קלט/פלט אל העולם החיצון
:פעולהטבלאות האמת מאפשרות מימוש לוגיקה צירופית כלשהי.תאי הזיכרון מאפשרים שמירת מצב.המתגים מאפשרים יצירת חיבוריות כרצוננו
בסה"כ, רכיב מתכנת המאפשר ליצור מערכותמורכבות ללא עלויות ייצור רכיב ייעודי
19
Read Only Memory (ROM) ROM:רכיב )מערך רגולרי של( זיכרון הכולל --
'-(1' או '0תאי זיכרון קבוע )בעצם חיבורים קבועים ל'קווי כניסה )"קווי הכתובת"( לבחירת תא זיכרון מסוים .קו יציאה לקריאת ערכו של תא הזיכרון שנבחר
יתרון: המידע אינו נמחק עם כיבוי המתחהחשמלי
-לכן הROM משמש לאחסון מידע קבוע )כגון התוכנה שמסייעת להתחלת הפעולה של מחשב, מיד לאחר
שמדליקים אותו(.)חסרון: לא ניתן לשנות את התוכן )לכתוב לזיכרון ,לחילופיןROM:מממש טבלת אמת של פונקציה
משתני הפונקציה מוכנסים על קווי הכתובת .ערך הפונקציה מופיע במוצא
20
Mux
0
1
2
3
4
5
6
7
out
Address Input
'1'
'1'
'0'
'0'
'1'
'1'
'0'
'1'
מימוש עם בורר
Read Only Memory (ROM)
7,6,3,1,0fone w
ord
sto
rage
21
0
1
2
3
4
5
6
7
out
Address Input Bus
'1'
'1'
'0'
'0'
'1'
'1'
'0'
'1'
Read Only Memory )ROM(
מימוש עםBUS יתרון: פחות קווי
בקרה בתוך המערך חסרון: כל תא מכיל
שער גדול כדאי להשוות את
שני השיקולים ולבחור בהתאם
7,6,3,1,0f
one w
ord
sto
rage
22
מערך חד-מימדי עם מפענח -Pull-down bus ו
Dec
Addressinput
0
1
2
3
4
5
6
7
out
Read Only Memory (ROM)
7,6,3,1,0f
one w
ord
sto
rage
23
Multiplexer
Decoder
2 x 2array of
pulldowns
2 wiresn
nm
2 wiresm
output
n addressbits
m addressbits
תאי זכרון(:2n+m קוי כתובת )n+mבעל דו-ממדי ROM מבנה עקרוני של
' 0 בכל צומת השייך לכתובת בה אגור 'pull-downיש רכיב '. 1 בכל צומת השייך לכתובת בה אגור 'pull-downאין רכיב
הכתובת מחולקת לשני חלקים:n m
Read Only Memory )ROM(
one w
ord
sto
rage
24
ROM מימוש דו-מימדי של
נניח כתובת שלn+m סיביות
מימוש עםBUS יחיד כולל 2m+n-חיבורים ל BUS
עומס גדול מידי על שערי3state
-2מפצלים לm buses לכל ,bus 2 מחובריםnתאי זיכרון
-כל הbuses מחוברים יציאה אחדbusל-
מימוש דו-ממדי מאפשרקריאת כתובות זיכרון
עוקבות במהירות רבה, mכאשר משנים רק את busסיביות הכתובת של
היציאה אפשרי גם מימוש עם
בוררים )לעתים הוא יעיל יותר, נראה כזה בהמשך(
'1'
'0'
'0'
n
m
'0'
'0'
'1'
'0'
'0'
'1'
out
25
6 רכיב הזכרון מכיל את פונקצית הראשוניות של מספרים בני 0:סיביות
1
2
3
4
5
6
7
Dec
MuxAddress
input
0 1 2 3 4 5 6 7
OUT כתובות בזכרון. 64=26 יש ( 001: שלוש הסיביות השמאליות )001011 מיוצג ע"י 11למשל,
( בוחרות את 011, ושלוש הסיביות הבאות )1מצביעות על שורה . 3עמודה
.6, עמודה 0( נמצא בשורה 000110 )6המספר
Read Only Memory )ROM(
בכתובת – מספר
ביציאה – חיווי האם המספר ראשוני
26
Read Only Memory )ROM(
רכיבי ROM מחולקים לשלוש מחלקות, בהתאם לאופן בו המידע מתוכנת אליהם:
ROM.מיוצר עם תוכן מקודד שאינו ניתן לשינוי - Programmable ROM )PROM( – .ניתנים לתכנות חד-פעמי ע"י המשתמש
בטכנולוגיה הנפוצה כיום, אותות התכנות "שורפים" חיבורים ברכיב, ולכן התכנות הוא חד פעמי ובלתי הפיך.
Erasable PROM )EPROM( – ניתנים להחזרה למצבם המקורי על ידי חשיפה לאור אולטרה-סגול או על ידי חיבור למתח חשמלי גבוה, ואז לתכנות
מחדש. תהליכי הכתיבה והמחיקה של PROM -ו EPROM הם בסדרי גודל יותר
איטיים מאשר תהליך הקריאה, ואינם מיועדים לשימוש שוטף. -בדרך כלל, רכיב כזה משמש כROM לכל דבר. לעיתים משתמשים
( לאחסון Flash Memory )או רכיבים דומים, הקרויים EPROMברכיבי תכנה ונתונים הניתנים לעדכון והחלפת גרסה אחת למספר חודשים.
27
Random Access Memory )RAM(
:תא זכרון בסיסי מאפשר קריאת תוכנו
בכל זמן מאפשר כתיבה כאשר
WE=1 הערך עלData In
נכתב לתוך התא והופך להיות תוכנו מאותו זמן
WE In
Out
WriteEnable
DATAIN
SELECT
DATAOUT
28
RAM ,חד-מימדי )דלת אחת single port)
אותה כתובת לכתיבה וקריאה אפשרי גם עםbuses
WE In
Out
Dec
0
1
2
N-1
WE In
Out
WE In
Out
WE In
Out
OutK
InWE
. . .
. . .
Address Input
29
RAMחד-מימדי ( dual port: read, write)
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
Q
QSET
CLR
D
DecMux
Read address
Output data
Write address
WriteEnable
Input data
What happens when:
•Different Read and write address ?
•Same read and write address ?
30
RAMחד-מימדי: שיפורים
על ידי הוספת בורר נוסף ביציאה, ניתן לבצע פעולתכתיבה ושתי פעולות קריאה בו זמנית.
-על ידי שימוש בn עותקים של הזיכרון והבוררים סיביות )אין nביציאה ניתן לבנות זיכרון למילים בנות
צורך לשכפל את המפענח בכניסה(.
לצורך בניית זיכרונות גדולים משתמשים בד"כבטכנולוגיות אחרות )למשל במערכי קבלים של
שהמטען בהם מייצג סיביות של DRAMזיכרונות מידע(.
31
RAMמימוש דו-ממדי של
Address input
OUT
IN
m
WE IN
OUT
WE IN
OUT
WE IN
OUT
WE IN
OUT
WE
WE WE
n
0
1
DEC0 1
DE
C
32
RAMמימוש דו-ממדי של
:במערך מטריצה של קווי בקרה2mשורות 2nעמודות
בכל תא יש שערAND המשלב את קווי הבקרה לתאselectשל השורה והעמודה ויוצר
שני המפענחים + הלוגיקה אותה הם מזינים(MUXמממשים בורר )
ניתן לממש גם עםbuses אבל אז בכל תא יש , גדול יותר. ANDשער
בדרך כלל שני קווי בקרה ושערAND קטן תופסים קווים ושער גדול...n או mפחות מקום מאשר
33
גילוי תקלות בזכרונות
.שיטת הסריקה איננה מתאימה לזיכרונות ,שיטה אפשרית אחרת היא לכתוב לכל תא בזיכרון
לקרוא אותו, ולהשוות את מה שנכתב למה שנקרא.
יש צורך לחזור על כך עם תוכן שונה בכל פעם, בכדי לבדוק תקלות שונות התלויות בתוכן הנכתב. זהו תהליך
ארוך ויקר. במקום זאת משתמשים במכונות מצבים
המייצרות תוכן אקראי לכאורה, כותבות לזיכרון וקוראות בחזרה.
משתמשים בקודים לגילוי שגיאות, הפוטרים את מכונתהמצבים מלזכור מה נרשם לתוך הזיכרון
המכונה יכולה לחשב האם הייתה שגיאה )כלומרתקלה( על פי התוכן הנקרא.
34
)המשך( גילוי תקלות בזכרונות
מכונות אלו בנויות יחד עם הזיכרון והפעלתןאיננה דורשת מכשיר בדיקה חיצוני. שיטה זו
קרויהTest )BIST( Built In Self
ניתן להוסיף לכל זיכרון כמות קטנה של זיכרון:רזרבי
המכונה לגילוי התקלות יכולה לתכנת את הזיכרון כךשאזור זיכרון שיש בו תקלה יוחלף בזיכרון רזרבי.
שיטה זו קרויהBuilt In Self Repair )BISR( והיא נפוצה מאוד במוצרי זיכרון שונים.