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

Slides:



Advertisements
Similar presentations
Programmable Logic PAL, PLA.
Advertisements

Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Chapter 3 – Combinational.
ECE 301 – Digital Electronics Memory (Lecture #21)
Chapter 10. Memory, CPLDs, and FPGAs
Parity. 2 Datasheets TTL:  CMOS: 
Memory types ROM – Read only memory RAM – Random Access Memory
Chapter 5 Internal Memory
TK Memory Interface DR MASRI AYOB. 2 Requirement and memory structure There are two types of memory: –RAM: read and write –ROM: read only Figure.
ECE 301 – Digital Electronics
9/20/6Lecture 3 - Instruction Set - Al1 Address Decoding for Memory and I/O.
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
Memory and Programmable Logic Dr. Ashraf Armoush © 2010 Dr. Ashraf Armoush.
Microprocessor Address Decoding.
CSET 4650 Field Programmable Logic Devices
Chapter 8 Memory Interface
Memory Semiconductor Memory Classification ETEG 431 SG Size: Bits, Bytes, Words. Timing Parameter: Read, Write Cycle… Function: ROM, RWM, Volatile, Static,
1 Memory Design EE 208 – Logic Design Chapter 7 Sohaib Majzoub.
Princess Sumaya University
Types of Memory Technologies  Volatile  RAM (Random Access Memory)  DRAM (Dynamic RAM)  SRAM (Static RAM)  SDRAM (Synchronous DRAM)  Non-Volatile.
Memory 10/27/081ECE Lecture. Memory Memory Types Using memory to implement logic functions 10/27/082ECE Lecture.
Primary Storage Primary storage is the storage that is directly available to the CPU. It is also known as: Main Memory Main Memory Direct Access Storage.
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN Dr. Shi Dept. of Electrical and Computer Engineering.
Memory Interface Every µP-based system has a memory system. All systems contain two types of memories.  Read-Only Memory (Volatile Memory)  Random Access.
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
Lecture 6 Complex NMOS VLSI, 2000
CEC 220 Digital Circuit Design Decoders, Encoders, & ROM Wed, February 19 CEC 220 Digital Circuit Design Slide 1 of 18.
발표자 : 이재신 발표 일시 : Chapter 2 Hardware Fundamentals for the Software Engineer The embedded-systems software engineer must often understand.
Programmable Logic Devices
Chapter 2 content Basic organization of computer What is motherboard
Field Programmable Gate Arrays
CENG 241 Digital Design 1 Lecture 13
Memory and Programmable Logic
Prof. Hsien-Hsin Sean Lee
Digital Logic Design Alex Bronstein Lecture 3: Memory and Buses.
Homework Reading Tokheim, Chapter 12-1 through 12-4.
Chapter # 4: Programmable Logic
COMP211 Computer Logic Design
Logic Devices. Decoder 2-to-4 Decoder 3-to-8 Decoder.
Recap DRAM Read Cycle DRAM Write Cycle FAST Page Access Mode
Programmable Logic Devices
Internal Memory.
Presented By: Rob Douglas, Alex Alexandrov
Computer memory.
ECE 331 – Digital System Design
Memory Units Memories store data in units from one to eight bits. The most common unit is the byte, which by definition is 8 bits. Computer memories are.
Dr. Clincy Professor of CS
Electronics Technology
ECE 434 Advanced Digital System L03
Chapter 11 Sequential Circuits.
CPE/EE 422/522 Advanced Logic Design L02
EE345: Introduction to Microcontrollers Memory
שמות מאפיינים ומטרות של זיכרונות ROM - ו RAM
حافظه و منطق قابل برنامه ریزی
The Digital Logic Level
ECE434a Advanced Digital Systems L02
حافظه و منطق قابل برنامه ریزی
SYEN 3330 Digital Systems Chapter 4 – Part 2 SYEN 3330 Digital Systems.
Memory.
Semiconductor Memories
Lecture No. 41 Memory.
Dr. Clincy Professor of CS
April 3 Fun with MUXes Implementing arbitrary logical functions
13 Digital Logic Circuits.
BIOS Chapter 6.
"Computer Design" by Sunggu Lee
Overview Last lecture Timing; Hazards/glitches
Lecture 5 Memory and storage
CHAPTER 10 Memory and Storage
Lecture 10: Sequential Blocks Arrays
Presentation transcript:

בנית שערים לוגיים באמצעות מתגים המימוש הטכנולוגי של שערים לוגיים נעשה באמצעות טרנזיסטורים המשמשים כמתגים. לכל מתג שלושה קצוות: כניסת בקרה (C) ושני קצוות (A,B) שהמתג יכול לחבר ביניהם. נגדיר שני סוגי מתגים, P ו-N , באמצעות טבלות אמת: מתג N מתג P מצב המתג כניסת הבקרה C מנותק מחובר 1

בנית מהפך באמצעות מתגים זוג מתגים המחוברים בטור בין הקבועים '1' ו-'0' (VPLUS, VMINUS) כאשר A=0, מתג N מנותק ומתג P מחובר, וכך עובר הקבוע '1' ליציאה B. כאשר A=1, מתג N מחובר ומתג P מנותק, וכך עובר הקבוע '0' ליציאה B. .

בנית שער NAND באמצעות מתגים

Three (Tri)-State Inverter Three-State Inverter נגדיר שער חדש באמצעות מתגים: כאשר =1Enable פועל השער כמו NOT רגיל כאשר =0Enable מנותקת יציאתו B, והשער איננו מסוגל לכתוב ערך לוגי על היציאה. זהו "המצב השלישי": היציאה איננה '0' ואיננה '1' השער קרוי: מהפך עם יציאה מסוג three-state”" או גם: מהפך עם יציאת HIGH-Z. נסמן את השער החדש בסימון: באותו אופן ניתן לבנות כל שער לוגי שיש לו יציאת three-state”"

Three-State Bus ניתן לחבר יחד יציאות של מספר שערי 3-state כאלו שער אחד לכל היותר רשאי לכתוב בו זמנית על היציאה המשותפת מפענח יבטיח שלכל היותר אחד מן השערים יכתוב על ה-BUS בו זמנית אם יש למפענח כניסת Enable אזי אם Enable=0 כל יציאות המפענח הן '0' ואף שער אינו כותב על ה-BUS

Three-State Bus המערכת כולה (אוסף השערים, ה-BUS, והמפענח) שקולה לבורר. בורר מצריך פרישת חוטים רבים BUS מכיל חוט יחיד. המפענח בדרך כלל ממומש באופן מבוזר, ולכל היותר דרושים log(K) חוטים להעברת אותות הבקרה.

Three-State Bus מימוש BUS עם מפענח מבוזר: BUS של N חיבורים רק 2log(N)+1 קווי בקרה מועברים לכל השערים

2-bit three-state bus קווי הבקרה משותפים 16

Wired-AND Bus קיים סוג נוסף של BUS , הנבדל מקודמו רק בדרך המימוש. נגדיר שני שערים חדשים: שער pull-down הוא החצי התחתון של שער NOT שער pull-up הינו החצי העליון:

Wired-AND (pull-down) Bus הכניסה של שערי pullup/pulldown יכולה לבוא מימין או משמאל היציאה מחוברת ל-Bus בכיוון מעלה-מטה. Bus המורכב כולו משערי pull-down פועל כלהלן: אם יש '1' בכניסה של שער אחד או יותר, ערכו של ה- Bus הוא '0'. אחרת, ערכו של ה-Bus הוא '1' (התקן מיוחד, המסומן כקופסה מרובעת בציור, מחובר אל ה-Bus ומבטיח את קיום ברירת המחדל). pull-down Bus מממש פונקציה של שער NOR (או לפי דה-מורגן פונקצית AND)

Wired-AND Bus

Wired-OR (pull-up) Bus באופן דומה, Bus המורכב כולו משערי pull-up פועל כלהלן: אם יש '0' בכניסה של שער אחד או יותר, ערכו של ה- Bus הוא '1'. אחרת, ערכו של ה-Bus הוא '0' (התקן מיוחד, המסומן כקופסה מרובעת בציור, מחובר אל ה-Bus ומבטיח את קיום ברירת המחדל). לכן pull-up Bus מממש פונקציה NAND, (או לפי דה-מורגן OR)

Wired-OR (pull-up) Bus

Programmable Logic Array (PLA) מימוש רגולרי יעיל של מספר פונקציות של אותן כניסות שימוש חוזר במכפלות המשותפות Wired-AND Buses (המאורגנים ב"מישור AND") משמשים לחישוב המכפלות "מישור OR" המורכב מ- Wired-OR Buses משמש לסיכום המכפלות ליצירת הפונקציות. למשל, מימוש הפונקציה f=AB+CD יראה כלהלן:

Programmable Logic Array (PLA) לפשטות הסימון מסמנים רק את המקומות של השערים המשתתפים. למשל:

Programmable Logic Array (PLA) מספר משתני הכניסה (5) מספר המכפלות האפשריות (6) מספר היציאות האפשריות (3)

מימוש באמצעות PLA

Field Programmable Gate Array (FPGA) רכיב המכיל מספר גדול של: טבלאות אמת תאי זיכרון קווי חיבור ביניהם העוברים דרך מתגי ניתוב קווי קלט/פלט אל העולם החיצון פעולה: טבלאות האמת מאפשרות מימוש לוגיקה צירופית כלשהי תאי הזיכרון מאפשרים שמירת מצב. המתגים מאפשרים יצירת חיבוריות כרצוננו. בסה"כ, רכיב מתכנת המאפשר ליצור מערכות מורכבות ללא עלויות ייצור רכיב ייעודי

Read Only Memory (ROM) ROM -- רכיב (מערך רגולרי של) זיכרון הכולל: תאי זיכרון קבוע (בעצם חיבורים קבועים ל-'0' או '1') קווי כניסה ("קווי הכתובת") לבחירת תא זיכרון מסוים קו יציאה לקריאת ערכו של תא הזיכרון שנבחר. יתרון: המידע אינו נמחק עם כיבוי המתח החשמלי לכן ה-ROM משמש לאחסון מידע קבוע (כגון התוכנה שמסייעת להתחלת הפעולה של מחשב, מיד לאחר שמדליקים אותו). חסרון: לא ניתן לשנות את התוכן (לכתוב לזיכרון) לחילופין, ROM מממש טבלת אמת של פונקציה: משתני הפונקציה מוכנסים על קווי הכתובת ערך הפונקציה מופיע במוצא.

Read Only Memory (ROM) one word storage מימוש עם בורר

Read Only Memory (ROM) מימוש עם BUS יתרון: פחות קווי בקרה בתוך המערך חסרון: כל תא מכיל שער גדול כדאי להשוות את שני השיקולים ולבחור בהתאם one word storage

Read Only Memory (ROM) מערך חד-מימדי עם מפענח וPull-down bus - one word storage מערך חד-מימדי עם מפענח וPull-down bus -

Read Only Memory (ROM) one word storage מבנה עקרוני של ROM דו-ממדי בעל n+m קוי כתובת (2n+m תאי זכרון): one word storage יש רכיב pull-down בכל צומת השייך לכתובת בה אגור '0' אין רכיב pull-down בכל צומת השייך לכתובת בה אגור '1'. הכתובת מחולקת לשני חלקים: n m

מימוש דו-מימדי שלROM נניח כתובת של n+m סיביות מימוש עם BUS יחיד כולל 2m+n חיבורים ל-BUS עומס גדול מידי על שערי 3state מפצלים ל-2m buses, לכל bus מחוברים 2n תאי זיכרון כל ה-buses מחוברים ל-bus יציאה אחד מימוש דו-ממדי מאפשר קריאת כתובות זיכרון עוקבות במהירות רבה, כאשר משנים רק את m סיביות הכתובת של bus היציאה אפשרי גם מימוש עם בוררים (לעתים הוא יעיל יותר, נראה כזה בהמשך)

Read Only Memory (ROM)  רכיב הזכרון מכיל את פונקצית הראשוניות של מספרים בני 6 סיביות: בכתובת – מספר ביציאה – חיווי האם המספר ראשוני יש 26=64 כתובות בזכרון. למשל, 11 מיוצג ע"י 001011: שלוש הסיביות השמאליות (001) מצביעות על שורה 1, ושלוש הסיביות הבאות (011) בוחרות את עמודה 3. המספר 6 (000110) נמצא בשורה 0, עמודה 6.

Read Only Memory (ROM) רכיבי ROM מחולקים לשלוש מחלקות, בהתאם לאופן בו המידע מתוכנת אליהם: ROM - מיוצר עם תוכן מקודד שאינו ניתן לשינוי. Programmable ROM (PROM) – ניתנים לתכנות חד-פעמי ע"י המשתמש. בטכנולוגיה הנפוצה כיום, אותות התכנות "שורפים" חיבורים ברכיב, ולכן התכנות הוא חד פעמי ובלתי הפיך. Erasable PROM (EPROM) – ניתנים להחזרה למצבם המקורי על ידי חשיפה לאור אולטרה-סגול או על ידי חיבור למתח חשמלי גבוה, ואז לתכנות מחדש. תהליכי הכתיבה והמחיקה של PROM ו- EPROM הם בסדרי גודל יותר איטיים מאשר תהליך הקריאה, ואינם מיועדים לשימוש שוטף. בדרך כלל, רכיב כזה משמש כ- ROM לכל דבר. לעיתים משתמשים ברכיבי EPROM (או רכיבים דומים, הקרויים Flash Memory) לאחסון תכנה ונתונים הניתנים לעדכון והחלפת גרסה אחת למספר חודשים.

Random Access Memory (RAM) תא זכרון בסיסי: מאפשר קריאת תוכנו בכל זמן מאפשר כתיבה כאשר WE=1 הערך על Data In נכתב לתוך התא והופך להיות תוכנו מאותו זמן

RAM חד-מימדי (דלת אחת, single port) אותה כתובת לכתיבה וקריאה אפשרי גם עם buses

RAM חד-מימדי (dual port: read, write) What happens when: Different Read and write address ? Same read and write address ?

RAM חד-מימדי: שיפורים על ידי הוספת בורר נוסף ביציאה, ניתן לבצע פעולת כתיבה ושתי פעולות קריאה בו זמנית. על ידי שימוש ב- n עותקים של הזיכרון והבוררים ביציאה ניתן לבנות זיכרון למילים בנות n סיביות (אין צורך לשכפל את המפענח בכניסה). לצורך בניית זיכרונות גדולים משתמשים בד"כ בטכנולוגיות אחרות (למשל במערכי קבלים של זיכרונות DRAM שהמטען בהם מייצג סיביות של מידע).

מימוש דו-ממדי של RAM

מימוש דו-ממדי של RAM במערך מטריצה של קווי בקרה: 2n עמודות בכל תא יש שער AND המשלב את קווי הבקרה של השורה והעמודה ויוצר select לתא שני המפענחים + הלוגיקה אותה הם מזינים מממשים בורר (MUX) ניתן לממש גם עם buses, אבל אז בכל תא יש שער AND גדול יותר. בדרך כלל שני קווי בקרה ושער AND קטן תופסים פחות מקום מאשר m או n קווים ושער גדול...

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

גילוי תקלות בזכרונות (המשך) גילוי תקלות בזכרונות (המשך) מכונות אלו בנויות יחד עם הזיכרון והפעלתן איננה דורשת מכשיר בדיקה חיצוני. שיטה זו קרויה Test (BIST) Built In Self ניתן להוסיף לכל זיכרון כמות קטנה של זיכרון רזרבי: המכונה לגילוי התקלות יכולה לתכנת את הזיכרון כך שאזור זיכרון שיש בו תקלה יוחלף בזיכרון רזרבי. שיטה זו קרויה Built In Self Repair (BISR) והיא נפוצה מאוד במוצרי זיכרון שונים.