בנית שערים לוגיים באמצעות מתגים
description
Transcript of בנית שערים לוגיים באמצעות מתגים
![Page 1: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/1.jpg)
1
בנית שערים לוגיים באמצעות מתגים
המימוש הטכנולוגי של שערים לוגיים נעשה באמצעות טרנזיסטוריםהמשמשים כמתגים.
( לכל מתג שלושה קצוות: כניסת בקרהC( ושני קצוות )A,B )שהמתג יכול לחבר ביניהם.
,נגדיר שני סוגי מתגיםP-ו N:באמצעות טבלות אמת ,
N
A
B
C P
A
B
C
Pמתג Nמתג Cכניסת הבקרה מצב המתגCכניסת הבקרה מצב המתג
0מחובר0מנותק
1מנותק1מחובר
![Page 2: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/2.jpg)
2
.
P
N
A B
‘1’
‘0’
בנית מהפך באמצעות מתגים' 0' ו-'1זוג מתגים המחוברים בטור בין הקבועים( 'VPLUS, VMINUS) כאשרA=0 מתג ,N מנותק ומתג P' ליציאה 1 מחובר, וכך עובר הקבוע 'B . כאשרA=1 מתג ,N מחובר ומתג P' ליציאה 0 מנותק, וכך עובר הקבוע 'B.
![Page 3: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/3.jpg)
3
P
A Z
N
N
P
B
באמצעות מתגיםNANDבנית שער
![Page 4: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/4.jpg)
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
![Page 5: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/5.jpg)
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
![Page 6: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/6.jpg)
6
2->4 Decoder
EnableS0
S1
D3 D2 D1 D0
IN0
IN1
IN2
IN3
BUS
Three-State Bus
,המערכת כולה )אוסף השערים, והמפענח( שקולה BUSה-
לבורר.BUS עשוי להיות מהיר יותר
במקצת מאשר בורר, אך יתרונו העיקרי טמון בפשטותו:
בורר מצריך פרישת חוטים רביםBUS .מכיל חוט יחיד המפענח בדרך כלל ממומש באופן
)log)Kמבוזר, ולכל היותר דרושים חוטים להעברת אותות הבקרה.
![Page 7: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/7.jpg)
7
EnableS0S1
IN0
BUS
IN1
IN2
IN3
Three-State Bus
מימושBUS עם :מפענח מבוזר
BUS של N חיבורים
2רקlog)N(+1 קווי בקרה מועברים
לכל השערים
![Page 8: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/8.jpg)
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
![Page 9: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/9.jpg)
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
![Page 10: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/10.jpg)
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
![Page 11: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/11.jpg)
11
Pull-Down Bus
NIN0 NIN1 NIN2 NIN3
OUT
OUT
IN0
IN1
IN2
IN3
Wired-AND Bus
),...,,(),...,,( 1010 kk INININANDINININNOR
![Page 12: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/12.jpg)
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
![Page 13: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/13.jpg)
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
![Page 14: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/14.jpg)
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('
![Page 15: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/15.jpg)
15
A B C D AB+CD
AND PLANE OR PLANE
E AB+C'E'
Programmable Logic Array (PLA)
בדרך כלל משתמשים במערךPLAמוכן מראש -יש רק לבחור אילו שערים משתתפים במימוש = "תכנות" של הPLA..לפשטות הסימון מסמנים רק את המקומות של השערים המשתתפים:למשל
![Page 16: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/16.jpg)
16
Programmable Logic Array (PLA)
אפיוןPLA:( 5מספר משתני הכניסה)( 6מספר המכפלות האפשריות)( 3מספר היציאות האפשריות)
A B C D AB+CD
AND PLANE OR PLANE
E AB+C'E'
![Page 17: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/17.jpg)
17
PLAמימוש באמצעות Op5
Op4
Op3
Op2
Op1
Op0
S3
S2
S1
S0
IorD
IRWrite
MemReadMemWrite
PCWritePCWriteCond
MemtoRegPCSource1
ALUOp1
ALUSrcB0ALUSrcARegWriteRegDstNS3NS2NS1NS0
ALUSrcB1ALUOp0
PCSource0
![Page 18: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/18.jpg)
18
Field Programmable Gate Array (FPGA)
:רכיב המכיל מספר גדול שלטבלאות אמתתאי זיכרוןקווי חיבור ביניהם העוברים דרך מתגי ניתובקווי קלט/פלט אל העולם החיצון
:פעולהטבלאות האמת מאפשרות מימוש לוגיקה צירופית כלשהי.תאי הזיכרון מאפשרים שמירת מצב.המתגים מאפשרים יצירת חיבוריות כרצוננו
בסה"כ, רכיב מתכנת המאפשר ליצור מערכותמורכבות ללא עלויות ייצור רכיב ייעודי
![Page 19: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/19.jpg)
19
Read Only Memory (ROM) ROM:רכיב )מערך רגולרי של( זיכרון הכולל --
'-(1' או '0תאי זיכרון קבוע )בעצם חיבורים קבועים ל'קווי כניסה )"קווי הכתובת"( לבחירת תא זיכרון מסוים .קו יציאה לקריאת ערכו של תא הזיכרון שנבחר
יתרון: המידע אינו נמחק עם כיבוי המתחהחשמלי
-לכן הROM משמש לאחסון מידע קבוע )כגון התוכנה שמסייעת להתחלת הפעולה של מחשב, מיד לאחר
שמדליקים אותו(.)חסרון: לא ניתן לשנות את התוכן )לכתוב לזיכרון ,לחילופיןROM:מממש טבלת אמת של פונקציה
משתני הפונקציה מוכנסים על קווי הכתובת .ערך הפונקציה מופיע במוצא
![Page 20: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/20.jpg)
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
![Page 21: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/21.jpg)
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
![Page 22: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/22.jpg)
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
![Page 23: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/23.jpg)
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
![Page 24: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/24.jpg)
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
![Page 25: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/25.jpg)
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(
בכתובת – מספר
ביציאה – חיווי האם המספר ראשוני
![Page 26: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/26.jpg)
26
Read Only Memory )ROM(
רכיבי ROM מחולקים לשלוש מחלקות, בהתאם לאופן בו המידע מתוכנת אליהם:
ROM.מיוצר עם תוכן מקודד שאינו ניתן לשינוי - Programmable ROM )PROM( – .ניתנים לתכנות חד-פעמי ע"י המשתמש
בטכנולוגיה הנפוצה כיום, אותות התכנות "שורפים" חיבורים ברכיב, ולכן התכנות הוא חד פעמי ובלתי הפיך.
Erasable PROM )EPROM( – ניתנים להחזרה למצבם המקורי על ידי חשיפה לאור אולטרה-סגול או על ידי חיבור למתח חשמלי גבוה, ואז לתכנות
מחדש. תהליכי הכתיבה והמחיקה של PROM -ו EPROM הם בסדרי גודל יותר
איטיים מאשר תהליך הקריאה, ואינם מיועדים לשימוש שוטף. -בדרך כלל, רכיב כזה משמש כROM לכל דבר. לעיתים משתמשים
( לאחסון Flash Memory )או רכיבים דומים, הקרויים EPROMברכיבי תכנה ונתונים הניתנים לעדכון והחלפת גרסה אחת למספר חודשים.
![Page 27: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/27.jpg)
27
Random Access Memory )RAM(
:תא זכרון בסיסי מאפשר קריאת תוכנו
בכל זמן מאפשר כתיבה כאשר
WE=1 הערך עלData In
נכתב לתוך התא והופך להיות תוכנו מאותו זמן
WE In
Out
WriteEnable
DATAIN
SELECT
DATAOUT
![Page 28: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/28.jpg)
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
![Page 29: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/29.jpg)
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 ?
![Page 30: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/30.jpg)
30
RAMחד-מימדי: שיפורים
על ידי הוספת בורר נוסף ביציאה, ניתן לבצע פעולתכתיבה ושתי פעולות קריאה בו זמנית.
-על ידי שימוש בn עותקים של הזיכרון והבוררים סיביות )אין nביציאה ניתן לבנות זיכרון למילים בנות
צורך לשכפל את המפענח בכניסה(.
לצורך בניית זיכרונות גדולים משתמשים בד"כבטכנולוגיות אחרות )למשל במערכי קבלים של
שהמטען בהם מייצג סיביות של DRAMזיכרונות מידע(.
![Page 31: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/31.jpg)
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
![Page 32: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/32.jpg)
32
RAMמימוש דו-ממדי של
:במערך מטריצה של קווי בקרה2mשורות 2nעמודות
בכל תא יש שערAND המשלב את קווי הבקרה לתאselectשל השורה והעמודה ויוצר
שני המפענחים + הלוגיקה אותה הם מזינים(MUXמממשים בורר )
ניתן לממש גם עםbuses אבל אז בכל תא יש , גדול יותר. ANDשער
בדרך כלל שני קווי בקרה ושערAND קטן תופסים קווים ושער גדול...n או mפחות מקום מאשר
![Page 33: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/33.jpg)
33
גילוי תקלות בזכרונות
.שיטת הסריקה איננה מתאימה לזיכרונות ,שיטה אפשרית אחרת היא לכתוב לכל תא בזיכרון
לקרוא אותו, ולהשוות את מה שנכתב למה שנקרא.
יש צורך לחזור על כך עם תוכן שונה בכל פעם, בכדי לבדוק תקלות שונות התלויות בתוכן הנכתב. זהו תהליך
ארוך ויקר. במקום זאת משתמשים במכונות מצבים
המייצרות תוכן אקראי לכאורה, כותבות לזיכרון וקוראות בחזרה.
משתמשים בקודים לגילוי שגיאות, הפוטרים את מכונתהמצבים מלזכור מה נרשם לתוך הזיכרון
המכונה יכולה לחשב האם הייתה שגיאה )כלומרתקלה( על פי התוכן הנקרא.
![Page 34: בנית שערים לוגיים באמצעות מתגים](https://reader033.fdocuments.net/reader033/viewer/2022061506/56815196550346895dbfcd4b/html5/thumbnails/34.jpg)
34
)המשך( גילוי תקלות בזכרונות
מכונות אלו בנויות יחד עם הזיכרון והפעלתןאיננה דורשת מכשיר בדיקה חיצוני. שיטה זו
קרויהTest )BIST( Built In Self
ניתן להוסיף לכל זיכרון כמות קטנה של זיכרון:רזרבי
המכונה לגילוי התקלות יכולה לתכנת את הזיכרון כךשאזור זיכרון שיש בו תקלה יוחלף בזיכרון רזרבי.
שיטה זו קרויהBuilt In Self Repair )BISR( והיא נפוצה מאוד במוצרי זיכרון שונים.