nios2 Nios2 simulator

ספרייה: רכיבי System On Chip
הוצג: 3.2
מראה: nios2

התנהגות

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

סיכות

בצד הצפוני של רכיב הסימולציה Nios2 תמצאו את אותות ממשק ההוראות המותאמות אישית היכן אתה יכול להוסיף חומרה/מאיצים המותאמים אישית שלך לשימוש בסימולציות שלך. בבקשה התייחס ל התיעוד של אינטל על הוראות מותאמות אישית עם ה-nios2 על אופן השימוש בהן.

בצד המערבי של Nios2 יש רכיבי סימולציה הבאים:

תכונות

רכיב הסימולציה Nios2 מספק את התכונות הבאות:

רכיבים גלויים

לסימולטור Nios2 יש מספר רכיבי מצב הנראים כאשר המצב התכונה visible מוגדרת לTrue. רוב הרכיבים הללו יכולים להיות גם מוצג בחלון נפרד כאשר הרכיב מוסתר בתת-מעגל (ראה תפריט רכיב-על להלן). המרכיבים השונים הם:

  1. קובץ הרישום. מעבד Nios2 מכיל 32 אוגרים לשימוש כללי (r0..r31). הערכים הנוכחיים מבין האוגרים הללו מוצגים בריבוע השמאלי העליון המסומן בקובץ רישום. מתי ערך רישום מוצג על ידי רצף של סימני שאלה, זה אומר שהערך אינו ידוע (רגיל התנהגות האתחול של המעבד). בכל פעם שערך נכתב לרגיסטר הוא יודגש בו כחול והערך החדש יוצג.
  2. מונה התוכנית. מונה התוכניות (PC) מחזיק את הכתובת הנוכחית שממנה תהיה ההוראה הבאה להיות מביאים.
  3. רישום הסטטוס. מאגר המצב (סטטוס) מחזיק את המצב הנוכחי של מעבד ה-Nios2. ל מידע על מרשם הסטטוסים נא לעיין בתיעוד של אינטל על מעבד nios2.
  4. רישום סטטוס החריגה. מאגר סטטוס החריג (estatus) מחזיק עותק של מרשם המצבים בעת הזנת חריגה. למידע על estatus register, עיין בתיעוד של אינטל בנושא מעבד nios2.
  5. רישום מצב ההפסקה. פנקס מצב הפסקה (bstatus) מחזיק עותק של פנקס הסטטוס כאשר א מבוצעת הוראת הפסקה. למידע על ה-bstatus register, עיין בתיעוד של אינטל במעבד nios2.
  6. חלון מעקב הביצוע. חלון מעקב הביצוע מציג את 21 ההוראות האחרונות שבוצעו על ידי nios2 מעבד. ההוראה האחרונה שבוצעה מוצגת למעלה. חלון הטייס מספק שלושה חלקים של מידע, כלומר:
    1. ערך מונה התוכנית שבו הובאה ההוראה.
    2. קוד האופטימיזציה הבינארי של ההוראה שנלקחה.
    3. מזכרון ההרכבה של ההוראה שנלקחה למקרה שלהוראה שהובאה יש קוד נכון אופקוד בינארי.
    רכיב זה יתעדכן בכל שליפת הוראות.
  7. התצוגה של IRQ, irq-mask ו-irq-pending. במקרה שלפחות קלט IRQ אחד נבחר על ידי תכונה מספר קווי IRQ, רכיב זה יוצג. עבור כל אחד מה IRQ-pins ריבוע בחלק העליון של הרכיב יציין את המצב הנוכחי של קו IRQ. הכיכר להלן יציין את הסיביות המקבילה באוגר IRQ-mask. לבסוף הריבוע בתחתית יהיה ציין אם IRQ חשוף ממתין. הערה: רכיב זה אינו מציג את מצב הגלובל סיביות להפעלת IRQ אשר קיימת במאגר המצבים.
  8. תווית: כאן ניתן לציין את התווית של הרכיבים. שימו לב שהתווית היא משמש במקומות רבים כדי להתייחס לרכיב זה. במקרה שהתווית לא מוגדרת הרכיבים יהיו המכונה "Nios2s simulator @x,y" כאשר x ו-y הן הקואורדינטות המוחלטות של העוגן של רכיב זה בתוך הסדין.
  9. גופן תווית: בעזרת תכונה זו ניתן לציין את הגופן של התווית.
  10. תווית גלויה: בעזרת תכונה זו תוכל לציין אם התווית גלויה או לא.
  11. אוטובוס מחובר: תכונה זו מאפשרת לך לחבר את סימולטור Nios2 ל-רכיב אוטובוס. לסימולציה מוצלחת עליך לחבר את ה-Nios2 שלך סימולטור לרכיב כזה.

רכיבים גלויים

לסימולטור Nios2 יש מספר רכיבי מצב הנראים כאשר המצב התכונה visible מוגדרת לTrue. רוב הרכיבים הללו יכולים להיות גם מוצג בחלון נפרד כאשר הרכיב מוסתר בתת-מעגל (ראה תפריט רכיב-על להלן). המרכיבים השונים הם:

  1. קובץ הרישום. מעבד Nios2 מכיל 32 אוגרים לשימוש כללי (r0..r31). הערכים הנוכחיים מבין האוגרים הללו מוצגים בריבוע השמאלי העליון המסומן בקובץ רישום. מתי ערך רישום מוצג על ידי רצף של סימני שאלה, זה אומר שהערך אינו ידוע (רגיל התנהגות האתחול של המעבד). בכל פעם שערך נכתב לרגיסטר הוא יודגש בו כחול והערך החדש יוצג.
  2. מונה התוכנית. מונה התוכניות (PC) מחזיק את הכתובת הנוכחית שממנה תהיה ההוראה הבאה להיות מביאים.
  3. רישום הסטטוס. מאגר המצב (סטטוס) מחזיק את המצב הנוכחי של מעבד ה-Nios2. ל מידע על מרשם הסטטוסים נא לעיין בתיעוד של אינטל על מעבד nios2.
  4. רישום סטטוס החריגה. מאגר סטטוס החריג (estatus) מחזיק עותק של מרשם המצבים בעת הזנת חריגה. למידע על estatus register, עיין בתיעוד של אינטל בנושא מעבד nios2.
  5. רישום מצב ההפסקה. פנקס מצב הפסקה (bstatus) מחזיק עותק של פנקס הסטטוס כאשר א מבוצעת הוראת הפסקה. למידע על ה-bstatus register, עיין בתיעוד של אינטל במעבד nios2.
  6. חלון מעקב הביצוע. חלון מעקב הביצוע מציג את 21 ההוראות האחרונות שבוצעו על ידי nios2 מעבד. ההוראה האחרונה שבוצעה מוצגת למעלה. חלון הטייס מספק שלושה חלקים של מידע, כלומר:
    1. ערך מונה התוכנית שבו הובאה ההוראה.
    2. קוד האופטימיזציה הבינארי של ההוראה שנלקחה.
    3. מזכרון ההרכבה של ההוראה שנלקחה למקרה שלהוראה שהובאה יש קוד נכון אופקוד בינארי.
    רכיב זה יתעדכן בכל שליפת הוראות.
  7. התצוגה של IRQ, irq-mask ו-irq-pending. במקרה שלפחות קלט IRQ אחד נבחר על ידי תכונה מספר קווי IRQ, רכיב זה יוצג. עבור כל אחד מה IRQ-pins ריבוע בחלק העליון של הרכיב יציין את המצב הנוכחי של קו IRQ. הכיכר להלן יציין את הסיביות המקבילה באוגר IRQ-mask. לבסוף הריבוע בתחתית יהיה ציין אם IRQ חשוף ממתין. הערה: רכיב זה אינו מציג את מצב הגלובל סיביות להפעלת IRQ אשר קיימת במאגר המצבים.
and or xor nor sub mul div divu mulxss mulxuu mulxsu andi ori xori andhi orhi xorhi addi subi muli nop mov movhi movi movui movia
הוראות השוואה cmpeq cmpne cmpge cmpgeu cmplt cmpltu cmpgt cmpgtu cmple cmpleu cmpeqi cmpnei cmpgei cmpgeui cmplti cmpltui cmpgti cmpgtui cmplei cmpleui
הוראות מותאמות אישית custom
הוראות להעברת נתונים ldw ldh ldhu ldb ldbu ldwio ldhio ldhuio ldbio ldbuio stw sth stb stwio sthio stbio
הוראות בקרה אחרות trap eret break bret rdctl wrctl flushd flushda flushi initd initda initi flushp sync
הוראות בקרת תוכנית callr ret jmp call jmpi br bge bgeu blt bltu beq bne bgt bgtu ble bleu
העבר וסובב הוראות rol ror sll sra srl roli slli srai srli

הטמעה אוגרי בקרה

Register Name Remarks
0 status Only RSIE constant at 1 and PIE
1 estatus
2 bstatus
3 ienable מספר הביטים תלוי בתכונה מספר קווי IRQ.
4 בהמתנה מספר הביטים תלוי בתכונה מספר קווי IRQ.

חזרה לספריית SOC