הקלאסיות (לדוגמת,( EP610 סדרות MAX7000, MAX5000 וסדרת ה- FLEX FPGA. ב. Very High Speed Intgrated Circuits hardware description language - VHDL

Similar documents
המבנה הגאומטרי של מידה

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

ASP.Net MVC + Entity Framework Code First.

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

לשרטוט חשמלי בתוכנת OrCad-Capture

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.


אנגלית (MODULE E) בהצלחה!

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

Visual C# Express Edition 2005

Practical Session No. 13 Amortized Analysis, Union/Find

מדריך לניהול VPS טריפל סי מחשוב ענן בע"מ.

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

SPSS 10.0 FOR WINDOWS

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

מנגנון 5522 מידע על המנגנון מצב תצוגת שעה

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

מבוא לתכנות ב- JAVA תרגול 7

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

פקס בחיבור המכשיר המשולב לפקס יש לעבור על השלבים הבאים: - חבר את כבל הטלפון לחיבור ה- LINE בגב המדפסת ואת צידו השני לשקע הטלפון בקיר.

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

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

שאלון ו' הוראות לנבחן

איתור במחסן הוא יחידת המרחב הקטנה ביותר שניתן להתייחס אליה, במחסן שבו מאוחסנות הסחורות שלך. מחסנים שורה 1 שורה 2 שורה 3

מדריך שימוש והתקנה של office

הדרכה על ביצוע סימולציה וסינתזה עם Design Kit TOWER TSL 018

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

שאלון ד' הוראות לנבחן

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

מדריך למשתמש בשירות. yes MultiRoom

A R E Y O U R E A L L Y A W A K E?

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

1.1. הקדמה (דיסק). מדריכי. (מחיצות) Link

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

(MODULE E) ב ה צ ל ח ה!

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

בהגדרות ה AP..connections

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

שאלון ו' הוראות לנבחן

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

.Open-Drain Buffer ו Buffer סינכרונית.

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי )

מדריך למשתמש התקנה עצמית

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

נתב / TP LINK TL WR541G / TL WR641G

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

מדריך למשתמש התקנה עצמית

מדור מערכות מידע פיננסיות

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

מבוא לאסמבלי מאת אופיר בק חלקים נרחבים ממאמר זה נכתבו בהשראת הספר "ארגון המחשב ושפת סף" אשר נכתב ע"י ברק גונן לתוכנית גבהים של משרד החינוך.

מבו א ל- VHDL אז מה י ה י ה לנ ו ה י ו ם... מהי שפת הגדרת חומרה ולשם מה דרושה תיאור, סימולציה, סינתזה

Patents Basics. Yehuda Binder. (For copies contact:

מדריך שימוש בדואר האלקטרוני

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

sharing food intro price & extra drinks * ניתן להזמין מנות כשרות בתאום מראש for good memories

נילי חמני

A Long Line for a Shorter Wait at the Supermarket

מבוא לשפת C תירגול 1: מבוא מבוא לשפת סי - תירגול 1

תרגול 8. Hash Tables

/ פתיחת החשבון הכרחית רק למרצה / מתרגל ונעשית רק בעת הכניסה הראשונה.

מבוא לשפת C מבוא לשפת סי - תירגול 1

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

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

קורס מטלב לפיסיקאים שיעור מס' 10: משתנים מורכבים

א. כללי... 3 ג. מסך ראשי מערכת ניהול ציי רכב בזמן אמת...6 קיצורי דרך...7

State Pattern מימוש מכונת מצבים (FSM) מבוא בעיה תמיכה ועדכונים עדכון מס' 48 מאי 2002

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

שפת תיאור חומרה VHDL

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

אלקטרוניקה מנדס 71 ר"ג פקס:

THINKING ABOUT REST THE ORIGIN OF SHABBOS

מבוא למחשב בשפת פייתון

Theories of Justice

דיאגרמה לתיאור Classes

זה אומר שאחרי הכרות עם השפה מה שדורש השקעה אפשר להקדיש את מרבית הזמן לצד המוזיקלי יצירתי ולא התכנותיÆ איזה כיף

הבינגמה הדובע תביבסב תונכתל ריהמ ךירדמ

תוכן עניינים PC2TV 3.5 הזרמת מדיה מ IPAD/IPHONE 4. אודות... 28

ASTM UL / FM / BS abesco

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

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

מדריך מקוצר Microsoft Office Word 2007

Reflection Session: Sustainability and Me

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

הבסיס כתיבת התכנית הראשונה שימוש במשתנים. הטיפוס הבסיסי object. הטיפוס הבסיסי string משפטי בקרה. שימוש ב- Enumerations. שימוש ב- Namespaces

מיקוד באנגלית. Module D. New Program in English Literature. Option 1 שאלון אינטרני מספר שאלון אקסטרני מספר 414

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

סיכומים למבחן בקורס מבנה מחשבים

Transcription:

- מדריך למשתמש: נספח 1 מדריך מקוצר לתכנון בסביבת אלטרה רכיבי הלוגיקה המיתכנתים של חברת אלטרה נתמכים ע"י תוכנת. MAX+plus II התוכנה תומכת ברוב סוגי הרכיבים המתוכנתים הקיימים כיום בשוק, ביניהם הסדרות הקלאסיות (לדוגמת,( EP610 סדרות MAX7000, MAX5000 וסדרת ה- FLEX8000 - FPGA התוכנה תומכת במספר שיטות תכנון שונות - א. - AHDL כתיבת משוואות הפעלה בעורך טקסט ב. Very High Speed Intgrated Circuits hardware description language - VHDL ג. תכנון גראפי בעזרת שרטוט מעגל לוגי ד. תכנון על פי האותות בזמן. בדפי הסבר אלו נתמקד בכתיבת משוואות ההפעלה ב-, AHDL שהוא התכנון הפשוט והמיידי מבין הארבעה, המאפשר תכנון מלא של רכיב או מערכת מוכללת, וכן הסבר על קומפילציה וסימולציה של רכיב. דפי הסבר אלו באים לתת הסבר בסיסי על העבודה ברכיבי אלטרה, ולא באים להחליף לימוד מלא ויסודי של עבודה זו. דפי ההסבר מקנים יכולת עבודה בסיסית, אך עם זאת מאפשרת תכנון מלא של רכיב. האפשרויות הגלומות בתכנון ע"י תוכנת MAX+plus II הן כמעט בלתי מוגבלות, ואפשר ומומלץ להעמיק את הידע מתוך הספר. MAX+plus II - AHDL כמו כן מומלץ מאוד לבצע את פרק ה-, TUTORIAL המופיע בספר MAX+plus II - Getting Started 77

תקציר: PLD תוכנת MAX+PLUS 2 הינה תוכנה ייעודית לתכנון סימלוץ ובדיקה של רכיבי מבית.ALTERA לרשות המתכנן עומדים מגוון כלי תכנון: - GRAPHIC EDITOR ממשק המאפשר למתכנן להשתמש במגוון רכיבים (שערים לוגיים דיסקרטיים, משפחות לוגיות כגון, 74xx רכיבי זיכרון, פונקציות מוכנות מראש ועוד) ולחבר ביניהם בצורה גרפית. - TEXT EDITOR עורך טקסט המאפשר תכנון בשפות AHDL - Altera Hardware Description Language VHDL - Very High Speed Integrated Circuit VHSIC - Hardware Description Language העורך מאפשר שימוש בתבניות מוכנות (Templates) עזרה נגישה HELP) (Contexet Sensitive ואפשרות ל.Syntax Coloring - WAVEFORM EDITOR כלי חשוב זה משמש תפקיד כפול: כלי גרפי ליצירת וקטורי בדיקה לסימולטור וצפיה בתוצאות הסימולציה (במבנה נוח של צורות גלים). כלי תכנון המאפשר להורות לקומפיילר ליצור תכנון המיישם מבנה גרפי של צורות גלים רצויות. -FLOORPLAN EDITOR ממשק המאפשר למתכנן להתערב בקביעת המיקום והמשאבים שיתפוס התכנון על גבי רכיב היעד. - COMPILER לב המערכת היוצר מכלי התכנון את הקבצים הדרושים לתכנות הרכיב וסימלוצו. כל תכנון עובר בקומפיילר בדיקת טעויות, סינתזה של הלוגיקה (כוללת מספר גישות צמצום), התאמת הלוגיקה למשאבי רכיב היעד, יצירת קבצי מוצא למטרת סימולצית זמנים ואנליזת זמנים וכן יצירת קובץ תכנות לרכיב היעד. - SIMULATOR כלי בדיקה המאפשר הרצת סימולציות לוגיות (של קיבצי (Waveform תוך שימוש בנתוני הקומפילציה ותזמוני רכיב היעד. בנוסף ניתן לבצע סימולציה לוגית (ללא התחשבות בזמנים), וכן סימולציה של מעגל המכיל מספר רכיבי.PLD הסימולטור מאפשר הכנסת מקרי BRAKE POINT וכן בדיקות כגון עבירות, Setup\Hold time Glitches, Oscilations וכד. 78

-TIMING ANALYZER מאפשר ביצוע אנליזת זמנים לפרויקט לאחר שעובד ע"י הקומפיילר. בעזרת כלי זה ניתן לאתר את המעברים הקריטיים המגבילים את ביצועי התכנון ולנסות לתקן את התכנון בהתאם. האנליזה מתמקדת בשלושה תחומים: - DELAY MATRIX מאפשר לחשב את זמן ההתפשטות הקצר או הארוך ביותר של סיגנל בין שתי נקודות במעגל. - SETUP/HOLD MATRIX מחשב את זמני ההכנה וההחזקה המינימליים של סיגנלים הדוחפים רכיבים מסונכרנים Latches) (Flip-Flops, יחסית לשעון. - REGISTERED PERFORMANCE מחשב את תדר השעון המקסימלי האפשרי במעגל ע"י חישוב זמן ההתפשטות המקסימלי בין מוצא של רגיסטר המקור וכניסה של רגיסטר היעד. - PROGRAMMER בעזרת כלי זה ניתן לתכנת את רכיב היעד וכן לבדוק את תפקודו באמצעות וקטורי בדיקה. - SYMBOL EDITOR ממשק המאפשר ליצור סמלים לפונקציות לוגיות שנוצרו ע"י כל אחת מגישות התכנון וכך לשלב פונקציות אלה לקובץ תכנון גרפי.Graphic Editor 79

פתיחת פרויקט חדש מתוך התפריט FILE בחר. PROJECT NAME רשום את שם הפרויקט החדש או בחר פרויקט מתוך הקיימים. ודא ששם הפרויקט מופיע בראש החלון. בחר NEW מתוך התפריט, FILE בחר TEXT EDITOR FILE מתוך האפשרויות הקיימות. מבנה קובץ TDF החלק הראשון של קובץ AHDL הוא, SUBDESIGN שבו יוגדרו הכניסות והיציאות של המערכת. החלק השני הוא. VARIABLE בחלק זה יוגדרו המשתנים הפנימיים של הרכיב, לרבות משתני מכונת מצבים, משתני טבלאות אמת, הגדרות, Primitives ורכיבי ספריה. החלק השלישי הוא גוף התכנון, התחום במילים BEGIN ו-. END בחלק זה יובאו משוואות ההפעלה, טבלאות האמת, מכונת המצבים, הגדרות תנאים, חיבורי ה-, Primitives חיבורי רכיבי הספריה והכניסות והיציאות. ניתן להתחיל את הקובץ בחלק אשר בו יוגדרו סוג הרכיב וחיבורי הפינים החיצוניים. חלק זה נקרא, DESIGN וצמוד אליו שם סימבולי - כשם ה-. SUBDESIGN לא נפרט כאן את השימוש באופציה זו, וההשמה תיעשה דרך התפריט הראשי, בתפריט. ASSIGN ההגדרות ישמרו כחלק מהפרויקט. SUBDESIGN בראש חלק זה מובאת ההגדרה SUBDESIGN ולאחריה שם התכנון, ששמו כשם קובץ הטקסט ) *.tdf.( רשימת המשתנים תובא בתוך סוגריים. 80

לאותות יוצמד שם, יוכרז סוג האות. האותות מופרדים ע"י פסיקים, בסופם נקודתיים, אחריהם סוג האות ובסופם נקודה-פסיק. סוגי האותות הם:. BIDIR, OUTPUT, INPUT ניתן להצמיד לאות מסוג INPUT את מצב ברירת המחדל שלו - VCC או. GND ניתן לחבר קבוצות של אותות לשם אחד, ע"י ].. [. דוגמא: SUBDESIGN top ( foo, bir, clk1, clk2 : INPUT=VCC; a0, a1, a2, a3 : OUTPUT; b[7..0] : BIDIR; ) אזור המשתנים חלק זה מתחיל במלה. VARIABLE שמות של משתני משתמש מופרדים ע"י פסיקים, בסופם נקודתיים, אחריהם סוג המשתנה. המשתנים יכולים להיות Primitive, Node או. State Machine ההכרזה מסתיימת בנקודה-פסיק. הכרזה על משתנה מסוג NODE NODE הוא משתנה רב שימושי, אסינכרוני, המגדיר אות, המשתנה יכול להופיע בשני אגפי משוואות ההפעלה. דוגמא : ולא הוגדר ב-. SUBDESIGN VARIABLE b : NODE BEGIN b = a; out = b % therefore out = a % END; 81

הכרזה על רגיסטר הכרזה על, Primitive הנעשית בחלק זה, מאפשרת שימוש מגוון ברגיסטרים - פליפ-פלופים מסוגים שונים ובריחים (LATCH). דוגמא: זוהי הכרזה על D-Flip-Flop בשם VARIABLE a : DFF. a עבור דלגלג זה, אפשר להשתמש בכניסות/יציאות הבאות: כניסה שעון Clear Preset יציאה a.d a.clk a.clr a.prn a.q הכרזה על מכונת מצבים הכרזה על מכונת מצבים נעשית בחלק זה, ואילו ההתנהגות בחלק הלוגי. שם המכונה הוא שם סימבולי, אחריו נקודתיים והמילה. MACHINE ההכרזה חייבת לכלול רשימת מצבים. אפשר להכריז על שמות לביטי המכונה, ברשימה מסוגרת ומופרדת בפסיקים, אחרי BITS:. OF רשימת שמות סימבוליים למצבים ברשימה מסוגרת, מופרדת בפסיקים, אחרי STATES:. WITH ההכרזה מסתיימת בנקודה-פסיק. אפשר להשים לביטי המצבים ערך מספרי אחרי הסימן =, שיקבע את מצב הביטים. דוגמא: VARIABLE ss : MACHINE OF BITS (q1, q2, q3) WITH STATES ( s1 = B"000", s2 = B"010", S3 = B"111" ); אזור לוגי באזור זה מגדירים את הפעולות הלוגיות של קובץ טקסט. 82

אזור זה מתחיל במילה BEGIN ומסתיים במילה, END שאחריה נקודה-פסיק. באזור זה מגדירים משוואות בולאניות, משוואות בקרה לרגיסטרים, הגדרות, CASE הגדרות, IF וטבלאות אמת. משוואות בולאניות המשוואות מתארות קשרים בין כניסות, יציאות, Primitives, Nodes ומכונות מצבים. אגף שמאל הוא שם סימבולי, קבוצה או פין. אופרטור הניגוד )! ( מכריז על לוגיקה שלילית. אגף ימין מופרד משמאל ע"י הסימן =, ופועל על פי סדר פעולות חשבון. התו & הוא אופרטור, AND התו # הוא, OR התו $ הוא.XOR דוגמא: BEGIN END;!a = b & c # d; (a, b, c, d) = e[4..1]; (a, b) = B"01"; התניות וברירת מחדל IF מפרט סדרה של התנהגויות המותנות בקיום של ביטויים בולאנים. ביטוי בולאני מפריד בין המילים IF ו-, THEN ואחריו הגדרות התנהגותיות, ונקודה-פסיק. ביטוי בולאני נוסף יכול להכלל בין המילים ELSIF ו-. THEN הגדרת התנהגות לאי קיום הביטוי הבולאני תבוא אחרי המילה. ELSE סוף רשימת התנהגויות במלים, END IF ונקודה-פסיק. ברירת מחדל של אות היא (GND) 0. הגדרת ברירת מחדל אחרת, בין המילים DEFAULTS ו-, END DEFAULTS ואחריהן נקודה- פסיק. 83

דוגמא: BEGIN DEFAULTS a = VCC; END DEFAULTS END; IF y & z THEN a = d; b = c; ELSEIF y == st.q THEN ftt.d = y; ELSE c = VCC; ENDIF; משוואות בקרה לרגיסטרים כאן מגדירים חיבורים לרגיסטרים. חייבים לחבר את כניסת השעון, השאר אופציונלי. הכרזה מסתיימת בנקודה-פסיק. דוגמא: BEGIN END; ff.clk = CLK1; ff.d = a & b; ff.d = tff.q; טבלאות אמת בטבלאות אמת מתאימים לכל קומבינציה בולאנית של כניסות קומבינציה של יציאות. הגדרת הטבלה מתחילה במילה, TABLE ומסתיימת ב-, END TABLE ונקודה פסיק. הכותרת לטבלה היא הכניסות מופרדות בפסיקים, הסימן <=, היציאות ונקודה-פסיק. שורות הטבלה יהיו באותו פורמט של הכותרת. האות X מסמלת. Don't Care דוגמא: BEGIN END; TABLE a, b, f[4..1].q => c, d; 0, 1, B"0000" => 1, 0; 1, X, B"0010" => 1, 1; END TABLE; 84

מכונת מצבים BEGIN ההשמות והמעברים במכונת מצבים מוגדרים כמשוואת בקרה וכטבלת אמת. הדוגמא הבאה ממשיכה את הדוגמא של הכרזת מכונת מצבים, שניתנה קודם: ss.clk = CLK1; ss.reset = HARD_RESET; TABLE ss, a => ss; END; s1, 1 => s2; s1, 0 => s1; s2, 1 => s3; s2, 0 => s2; s3, X => s1; END TABLE; 85

הנחיות בעבודה עם העורך הגרפי: תכנון באמצעות GDF - GRAPHICממשק EDITOR המאפשר למתכנן להשתמש במגוון רכיבים (שערים לוגיים דיסקרטיים, משפחות לוגיות כגון, 74xx רכיבי זיכרון, פונקציות מוכנות מראש ועוד) ולחבר ביניהם בצורה גרפית. העורך הגרפי מתאים במיוחד לתכנונים פשוטים הנתנים למימוש באמצעות מספר רכיבים לוגיים. או למטרת חיבור של מספר רכיבים שתוכננו בעזרת עורך הטקסט לפרוייקט מורכב. שימושו של העורך הגרפי הוא אם כך בד"כ ברמות הגבוהות יותר של התכנון. הנחיות בעבודה עם העורך הגרפי: בחר את הרכיבים הדרושים לתכנון מתוך ספריית הרכיבים של תוכנת. Max+Plus II click) double בנקודה כלשהי במסך יפתח חלון בו ניתן לבחור את הרכיב הדרוש ממגוון ספריות רכיבים.) הוסף את הכניסות והיציאות הדרושות לתכנון ותן להם שמות. חבר באמצעות חוטים (השתמש בעכבר) את הרכיבים בהתאם לתכנון הרצוי. שמור את התכנון בקובץ. כעת ניתן להריץ קומפילציה וסימולציה על התכנון למטרת בדיקתו. קומפילציה בחר COMPILER מתוך התפריט. MAX+plus II 1. בחר DEVICE מתוך התפריט ASSIGN,בחר רכיב לפי הצורך התיכנוני - קודם משפחת רכיבים, ואחריה הרכיב הדרוש, למשל.EP220-PC-10 2.מתוך תפריט PROCESSING בחר ב- Timing SNF Extractor וכן ב-.Design Doctor.3 לחץ על. START בחר FLOORPAN EDITOR מתוך התפריט. MAX+plus II לפניך בתחתית המסך נמצא הרכיב שאותו בחרת כשהוא ריק. עליך לשבץ לתוכו את כל הכניסות והיציאות, המופיעות בצד העליון הימני של המסך. השבוץ יעשה בהתאם לשרטוט המופיע, לכל רכיב, בחוברת. 86

כעת, חזור שוב ל- COMPILER ולחץ שוב על.START ישנן עוד אופציות רבות ומגוונות לקומפילציה, כמו למשל יצירת קבצי VHDL ו-, VERILOG נתח לוגי וכו'. פירוט על כך בספר. User Guide סימולציה הסימולטור ב- MAX+plus II הוא פשוט להפעלה והוא כלי חשוב בבדיקת התכנון. לאחר הקומפילציה על תוכניתך -.1 בחר NEW מהתפריט. FILE 2. בחר קובץ סימולציה (סיומת ). SCF כעת אתה נמצע בקובץ עליו תבצע את הסימולציה. 3. בחר END TIME בתפריט FILE קבע את אורך הזמן שאתה רוצה לבצע בו את הסימולציה. 4. בחר GRID SIZE בתפריט OPTIONS ודאג שיהיה בקצב של השעון המהיר ביותר במערכת שלך. 5. ישנן שתי שיטות להכניס ערוץ לסימולציה - 5.1. הכנסת ערוץ בודד: ע"י כניסה ל- NODE ובחירת ENTER NODE FROM SNF או DOUBLE CLICK על שטח ריק בטבלת הערוצים. פעולה כזאת תפתח חלון ובו ניתן לראות את כל הערוצים האפשריים ע"פ סוגים ע"י סימונם ב- X ולחיצה על.LIST ניתן לבחור אחד מהם ע"י לחיצה על העכבר. 6. סוגי הערוצים - : OUTPUT ו- INPUT.6.1 הם כל הכניסות והיציאות שהוגדרו בקבצים שקומפלו בפרויקט. חובה לבחור את כל הכניסות שמגדירות את היציאות או המשתנים שברצונך לראות. ערוץ כניסה שלא הוגדר יגרום שיציאות או המישתנה יוצגו במצב של חוסר הגדרה. 87

: GROUP.6.2 מציג את כל קבוצות הכניסות שמוגדרות תחת אותו שם לדוגמא: DATA[5..1]. : REGISTER.6.3 מציג את כל המשתנים המוגדרים כרגיסטרים או פליפלופים. : COMBINATORIAL.6.4 מציג מצבים לוגים בנקודות מסוימות בתכנון. השלב הבא הוא הגדרת הכניסות. 7. הגדרת שעון: 7.1. בחירת ערוץ השעון ע"י העכבר..8 7.2. בחר מהתפריט EDIT את, OVERWRITE ובחר. COUNT VALUE בתפריט זה ניתן לקבוע את קצב השעון ביחס ל- GRID שבחרת, ברירת המחדל היא 1. לחצה על OK תאשרר פעולה זו. ניתן לבחור קטעים מתוך הערוץ או את כולו ע"י סימון עם העכבר או בהתאמה. קטעים אלו ניתן להגדיר במצבים לוגים שונים ע"י כניסה לתפריט DOUBLE OVERWRITE CLICK בתפריט. EDIT 9. שמור את הקובץ שיצרת..10 בחר ב- SIMULATOR בתוך תפריט MAX+plus II ולחץ. OK 11. הקובץ שיצרת מוכן כנס ובדוק אם התוצאות כפי שרצית. 12. ניתן לבצע שינויים בקובץ הסימולציה ולבדוק שוב את התוצאות. הערה חשובה: ההסבר לעיל מאפשר למשתמש לבצע סימולציה בסיסית על MAX+plus II.ישנן אופציות רבות ונוספות בסימולציה שלא כוסו בהסבר לעיל כאן ומופיעות בספר ההסבר של ה-.MAX+plus II כמו כן מומלץ לבצע היטב את פרקים 8-9 בחלק ה- TUTORIAL של הספר GETTING STARTED המכסים בצורה ברורה למדי את הנושא. אחוד מספר פרוייקטים לסימולציה עתה, כשברשותך ארבעת הרכיבים שתכנתת - SYSBC2, RESET, WSG, SYSBC1, וכן ארבעה רכיבים מוכנים - DECODERS, BUS TRACKER & 3 88

אפשר לגשת לשלב האחרון שהוא אחוד כל הרכיבים לפרוייקט אחד גדול לצורך סימולציה. לשם כך הוכן לך מבעוד מועד הקובץ - c:\lab1\project.gdf ובו כל הרכיבים וכן כל החיבורים הנדרשים בין הרכיבים. עליך להעתיק לתוך ה- directory lab1 את כל הקבצים שיצרת, כולל כל ה- extensions שלהם, לדוגמה: לא מספיק להעתיק רק את wsg.tdf,צריך גם את... wsg.acf wsg.snf וכו. - בחר COMPILER מתוך התפריט. MAX+plus II - בחר LINKED SNF EXTRACTOR וכן.TOTAL RECOMPILE - לחץ.START עכשיו הפרוייקט מוכן וכל שעליך לעשות הוא ליצור סימולציה באותו אופן כמו בסעיף 4. 89

מכונות מצבים סינכרוניות מכונות מצבים סינכרוניות הינן אבן בניין חשובה בתכנון ב כיוון שזו הדרך הנוחה והטובה ביותר למימוש בקרה או אלגוריתם. מכונת מצבים סינכרונית כהגדרתה בנויה ממספר סופי של מצבים שהמעבר ביניהם מוגדר היטב ומותנה במצב הכניסות ברגע עלית השעון. קימות שתי שיטות עיקריות למימוש מכונות מצבים ב: One Hot State Machine Encoding Binary Encoding One Hot Encoding דוגמא נגדיר את המכונה הבאה שלה ארבעה מצבים : state3 state2 State1 Reset הקצאת המצבים תעשה באופן הבא: Reset=0000 State1=1100 State2=1010 State3=1001 הסבר: למכונה יוקצו רגיסטרים כמספר המצבים. המצב הראשון אפסים. ( Reset זה (במקרה מוגדר כמצב האתחול של המכונה ומיוצג ע"י סדרת המכונה מתעוררת במצב זה וניתן להגיע אליו בצורה אסינכרונית ע"י איפוס אסינכרוני של כל הרגיסטרים. מצב האתחול הוא המצב היחידי שבו ה MSB לעבור בטעות למצב האתחול (לדוגמא ע"י מרוץ). לכל מצב במכונה (למעט מצב האתחול) מוקצה רגיסטר יחיד. X רגיסטר X שהוקצה לה הוא היחידי שדולק הוא אפס וזאת כדי למנוע משאר המצבים כאשר מכונה נמצאת במצב (למעט ה MSB שנשאר זהותית אחד). הלוגיקה שדוחפת את הרגיסטרים דואגת לחילופי המצבים בהתאם לתנאים שהוגדרו מראש. כיוון שהרגיסטרים בלבד (מכונה סינכרונית). לדוגמא מעבר ממצב State1 State2 (שני מימין) להדלק. למצב פעילים בעליות שעון שינוי מצב המכונה יתכן בעליות שעון State2 גורם לרגיסטר State1 (שלישי מימין) להכבות ולרגיסטר 90

חסרונות: מימוש זה בזבזני מאד מבחינת רגיסטרים במיוחד כשמספר המצבים במכונה גדול. כמות המצבים שאינם מוגדרים ע"י המכונה (קימים 2 n מצבים ומתוכם רק מוגדרים) n גורם זה מערער את יציבותה של המכונה הולכת ועולה בהתאם לגודל המכונה. ומגדיל את הסיכויים שהמכונה תגיע בטעות (ע"י מרוץ) למצב לא מוגדר ותתקע. יתרונות: הלוגיקה הדרושה כדי להגדיר את המעבר ממצב למצב במכונה מסוג זה קטנה יחסית ופשוטה למימוש כך שבד"כ מכונה זו חסכונית יותר במשאבי לוגיקה אסינכרונית. מכונה זו מסוגלת לעבוד בקצב מהיר יותר תודות לחיסכו בלוגיקה אסינכרונית. קידוד המצבים אינו מצריך תוספת לוגיקה (השאלה האם אנו במצב הפשוט האם רגיסטר X דלוק). קומפיילר התוכנה משתמש בקידוד זה כברירת מחדל. X שקולה לתנאי Binary Encoding דוגמא נגדיר את המכונה הבאה שלה ארבעה מצבים : state3 state2 State1 Reset הקצאת המצבים תעשה באופן הבא: Reset=00 State1=01 State2=11 State3=10 הסבר: למכונה יוקצו רגיסטרים כמספר לוג לפי בסיס 2 של מספר המצבים. המצב הראשון אפסים. (במקרה זה ( Reset מוגדר כמצב האתחול של המכונה ומיוצג ע"י סדרת המכונה מתעוררת במצב זה וניתן להגיע אליו בצורה אסינכרונית ע"י איפוס אסינכרוני של כל הרגיסטרים. כל מצב במכונה מקודד ע"י כל הרגיסטרים כספרה בינארית. הקידוד נעשה בהתאם לקוד גריי כך שבמעבר ממצב למצב ישתנה רק ביט אחד (הגנה מפני מרוצים). 91

הלוגיקה שדוחפת את הרגיסטרים דואגת לחילופי המצבים בהתאם לתנאים שהוגדרו מראש. כיוון שהרגיסטרים פעילים בעליות שעון שינוי מצב המכונה יתכן בעליות שעון בלבד (מכונה סינכרונית). לדוגמא מעבר ממצב לוגי). חסרונות: State1 למצב State2 גורם לרגיסטר הMSB להחליף מצב (מאפס לוגי לאחד הלוגיקה הדרושה למעבר ממצב למצב הולכת ומסתבכת ככל שגודל המכונה עולה כך שהשיטה בזבזנית יותר מבחינת לוגיקה אסינכרונית. גודל הלוגיקה האסינכרונית מגביל את קצב העבודה של המכונה. יש צורך בתוספת לוגיקה כדי לפענח את מצב המכונה (פענוח הספרה הבינארית ). יתרונות: מספר המצבים הלא מוגדרים קטן יחסית כך שהסיכוי שהמכונה תתקע במצב לא מוגדר קטן. - מכונה יציבה יותר. בעזרת קידוד גריי ניתן להקטין את הסיכוי למרוצים. -מכונה יציבה יותר. השיטה חסכונית יותר במספר הרגיסטרים. שיטה זו אופטימלית בעיקר למכונות קטנות שימוש ב FLOOR PLAN EDITOR למטרת PIN ASSIGNMENT שלבי העבודה.Assign Device.MaxPlus2 1. בחר את סוג הרכיב מתוך תפריט 2. היכנס ל Floorplan Editor באמצעות תפריט ה Floor Plan משמש להצגת המיקום הפיזי של התכנון על הרכיב. אנו מעונינים במיקום הרגליים החיצוניות ולכן נבחר מבט מבחוץ. 3. בחר מתוך תפריט Layout ב.Device view ה Floor Plan מסוגל להציג את המיקום הפיזי שבחר הקומפיילר או לאפשר למתכנן המיקום בעצמו. אנו מעוניינים באפשרות השניה. לקבוע את 4. בחר מתוך תפריט Layout ב.Current Assignment 92

כעת מופיע במרכז המסך שרטוט של הרכיב הכולל את מספרי הרגליים ותפקידם (רגלי מתח רגלי I/O רגליים שמורות וכד). בצדו העליון הימני של המסך מופיעים שמות הסיגנלים הרלוונטיים לתכנון (מתוך הקומפילציה האחרונה ). הסיגנלים מתחלקים לקבוצות: I רגלי כניסה. O רגלי מוצא B סיגנלים פנימיים שניתן להוציא מחוץ לרכיב (אין חובה להגדירם). 5. כדי לקבוע מיקום של סיגנל ברגל ספציפית יש לבחור את הסיגנל מתוך הרשימה ולגרור אותו באמצעות העכבר אל הרגל המבוקשת. חשוב להתאים את סוג הסיגנל לסוג הרגל Input) ל Input וכד.) כמו כן סיגנלים מיוחדים כגון שעון יש להתאים לרגליים המיועדות לשם ביצועים מקסימליים. 6. ניתן במקרה של טעות לגרור סיגנל מרגל לרגל ואפילו בחזרה לתיבה. 7. אין צורך לקבוע את מיקום כל הסיגנלים הקומפיילר ישלים את המלאכה. 8. בתום התהליך יש לסגור את העורך (השינויים נשמרים אוטומטית) ולהריץ קומפילציה כדי לתת תוקף להגדרות החדשות. ייתכן והקומפיילר לא יצליח להתאים את התכנון לדרישות (במיוחד בתכנונים עמוסים). 93

Reserved Pins לעיתים יש צורך להורות לקומפיילר לא להשתמש ברגליים מסוימות (Reserved) מסיבה שלמעגל יש שימוש אחר ברגליים אלה. כדי להגדיר רגליים אלה כשמורות נפעל באופן הבא: 1. נוסיף לתכנון המקורי רגלי דמה כמספר הרגליים שברצוננו לשמור. לדוגמא בקובץ טקסט : reserved [3..0] : input ; 2. נגדיר רגליים אלה באמצעות ה Floor Plan במיקום של הרגליים שברצוננו לשמור הקומפיילר יודיע במהלך הקומפילציה שהוא מצא הגדרה לרגליים שאין בהם שימוש ולכן הוא מתייחס אליהן כרגליים שמורות.Reserved 94

Linked Simulation כלי זה מאפשר להריץ סימולציה של תכנון הכולל יותר מרכיב PLD אחד. הרצת Linked- Simulation כוללת את השלבים הבאים: יש לתכנן ולהעביר קומפילציה לכל רכיב בנפרד. יש לייצר לכל רכיב יש להגדיר לכל רכיב Symbol ולחבר בין הרכיבים בקובץ גרפי. Chip שונה לפי השלבים הבאים: 1. בחר את הרכיב הראשון באמצעות העכבר. 2. בחר באופציה Pin/Location/Chip מתוך תפריט.Assign 3. תן שם לchip. 4. בחר באופציה 5. הקש אישור..Chip ל Device והתאם Assign Device 6. בצע את אותו תהליך לשאר הרכיבים. 7. ניתן באמצעות תפריט Assign Device ע"י אופציה Edit Chips לערוך שינויים סופיים בהגדרות. יש להעביר לקובץ התכנון הגרפי קומפילציה המיועדת ל Linked - Simulation באופן הבא: 1. היכנס למסך הקומפיילר באמצעות תפריט 2. היכנס לתפריט Processing ובחר באופציה 3. לחץ על לחצן Start כדי להתחיל בקומפילציה..MaxPlusII.Linked SNF Extractor בסיום הקומפילציה נוצר קובץ תזמון SNF הרכיבים. שבעזרתו יבצע הסימולטור את סימולצית שני כדי לחזור למצב הרגיל יש לבחור בתפריט Processing באופציה.Timing SNF Extractor 95

שימוש במודולי LPM בתכנון מודולי LPM הינם תכנונים מוכנים מראש של חברת ALTERA לפונקציות לוגיות נפוצות. יתרונן של פונקציות אלה בכך שהן גמישות לדרישות המתכנן וע"י פרמטרים ניתן להתאים אותן לתכנון הספציפי. גישת התכנון: 1. נשתמש בתפריט העזרה כדי לקבל מידע על סוגי ה LPM הקיימים. 2. חשוב מאד לעבור על קובץ העזרה כדי לקבל פרוט מירבי על כל מודול: הפונקציה אותה הוא מממש. כניסות ויציאות (הכרחיות ואופציונליות). הפרמטרים הקובעים את התנהגות הרכיב ומשמשים להתאמתו לתכנון. האם קיימות מספר גישות מימוש ואם כן מהם ביצועיו מבחינת מהירות או לחילופין כמות המשאבים שהוא צורך. לאחר שבחרנו ב LPM מתאים קיימות שתי גישות לייבא אותו אל התכנון: הגישה הגרפית: במידה ובחרנו להשתמש בעורך גרפי נפעל לפי השלבים הבאים: נבחר במודול LPM המבוקש מתוך ספריית הרכיבים ) Double-Click ). המודול מופיע על המסך בצורת Symbol ומייד נפתח חלון הפרמטרים שלו. בחלון זה ניתן לבצע התאמת המודול לתכנון באמצעות שליטה בפרמטרים כמו כן ניתן להוסיף כניסות אופציונליות. החלון מאפשר גישה נוחה לקובץ העזרה שם ניתן כל המידע הדרוש למתכנן. נקבע את הפרמטרים לפי בחירתנו. לאחר שביצענו את כל השינויים הדרושים נלחץ.OK המודול מופיע על המסך כאשר הפרמטרים העיקריים מופיעים בחלונית. ניתן כעת לחבר אותו לשאר התכנון! בכל עת ניתן לחזור ולשנות את הפרמטרים ע"י Double-Click על החלונית. 96

גישת :INCLUDE (בתוך (TDF יצירת קובץ Include הינה דרך לייבא מודול או תכנון כלשהו לקובץ טקסט. קובץ זה מכיל את כל הכניסות היציאות והפרמטרים של המודול החיצוני וניתן לקבוע את החיבורים והערכים בקובץ הטקסט. נפעל לפי השלבים הבאים: 1. יש להגדיר את קובץ ה INCLUDE בראשית קובץ הטקסט באמצעות הפקודה: לדוגמא: 2.יש להגדיר תחת חלק המשתנים לדוגמא: (Variable) שם פנימי למודול באופן הבא: 3. יש לקבוע ערכים לפרמטרים (אם יש צורך) ע"י הפקודה with באופן הבא: INCLUDE המודול ; INC.שם INCLUDE lpm_add_sub.inc ; VARIABLE ; שם המודול : שם_פנימי add : lpm_add_sub ; add : lpm_add_sub with (lpm_width=8); 4. כעת ניתן להשתמש במודול בחלק הלוגי של התכנון תחת שמו הפנימי לדוגמא: כלומר לכניסה clk של המודול add חיברנו סיגנל הנקרא add.clk=clock;.clock הערות: הקומפיילר יודיע על כל שגיאה או חריגה בטיפול במודול. פרמטרים שלא הוגדרו לעיתים מקבלים ערכי ברירת מחדל יש לשים לכך לב. כניסות אופציונליות שאינן בשימוש (כלומר אין אליהן התיחסות בקובץ) אינן ממומשות ע"י הקומפיילר (חיסכון במשאבים). ניתן להשתמש מספר פעמים באותו מודול תחת שמות פנימיים שונים (ניתן כמובן לקבוע לכל אחד פרמטרים שונים. 97