לוגו של מיקרוסמיSmartFusion2
בקר DDR ובקר סידורי במהירות גבוהה
מתודולוגיית אתחול
מדריך למשתמש

מָבוֹא

בעת יצירת עיצוב באמצעות התקן SmartFusion2, אם אתה משתמש באחד משני בקרי ה-DDR (FDDR או MDDR) או כל אחד מהבלוקים של בקר מהירות טורי (SERDESIF), עליך לאתחל את אוגרי התצורה של בלוקים אלה בזמן הריצה לפני ניתן להשתמש בהם. למשלample, עבור בקר DDR, עליך להגדיר את מצב DDR (DDR3/DDR2/LPDDR), רוחב PHY, מצב פרץ ו-ECC.
באופן דומה, עבור בלוק SERDESIF המשמש כנקודת קצה PCIe, עליך להגדיר את PCIE BAR לחלון AXI (או AHB).
מסמך זה מתאר את השלבים הדרושים ליצירת עיצוב Libero המאתחל אוטומטית את בקר ה-DDR ובלוקים SERDESIF בעת ההפעלה. הוא גם מתאר כיצד ליצור את קוד הקושחה מ-Libero SOC המשמש בזרימת העיצוב המוטבע.
תחילה ניתן תיאור מפורט של תורת הפעולות.
הסעיף הבא מתאר כיצד ליצור עיצוב כזה באמצעות Libero SoC System Builder, כלי עיצוב רב עוצמה שבין שאר התכונות, יוצר עבורך את פתרון ה'אתחול' אם אתה משתמש בלוקים DDR או SERDESIF בעיצוב שלך.
הסעיף הבא מתאר כיצד להרכיב פתרון 'אתחול' מלא ללא שימוש ב-SmartFusion2 System Builder. זה עוזר להסביר מה צריך לעשות אם אינך מעוניין להשתמש בבונה המערכת, וכן מתאר את מה שהכלי של בונה המערכת מייצר עבורך בפועל. סעיף זה מתייחס ל:

  • יצירת נתוני התצורה עבור בקר DDR ואוגרי תצורה של SERDESIF
  • יצירת הלוגיקה של FPGA הנדרשת להעברת נתוני התצורה לאוגרי התצורה השונים של ASIC

לבסוף אנו מתארים את שנוצר fileקשורים ל:

  • יצירת פתרון 'אתחול' קושחה.
  • הדמיית העיצוב לפתרון 'אתחול' DDR.

לפרטים על בקר ה-DDR ואוגרי התצורה של SERDESIF, עיין ב- מדריך למשתמש של Microsemi SmartFusion2 High Speed ​​Serial ו-DDR ממשקי.

תורת הפעולה

פתרון האתחול ההיקפי משתמש ברכיבים העיקריים הבאים:

  • הפונקציה CMSIS SystemInit(), הפועלת על ה-Cortex-M3 ומתזמרת את תהליך האתחול.
  • ליבת ה-IP הרכה CoreConfigP, המאתחלת את אוגרי התצורה של הציוד ההיקפי.
  • ליבת ה-IP הרכה CoreResetP, המנהלת את רצף האיפוס של בקרי ה-MSS, ה-DDR וה-SERDESIF.

תהליך האתחול ההיקפי פועל באופן הבא:

  1. לאחר האיפוס, ה-Cortex-M3 מפעיל את הפונקציה CMSIS SystemInit() . פונקציה זו מבוצעת אוטומטית לפני הפעלת הפונקציה main() של היישום.
    אות המוצא CoreResetP MSS_HPMS_READY נרשם בתחילת תהליך האתחול, מה שמציין שה-MSS וכל הציוד ההיקפי (למעט MDDR) מוכנים לתקשורת.
  2. הפונקציה SystemInit() כותבת נתוני תצורה לבקרי ה-DDR ולרשמי התצורה של SERDESIF דרך האפיק MSS FIC_2 APB3. ממשק זה מחובר לליבה הרכה CoreConfigP המופעלת במארג ה-FPGA.
  3. לאחר הגדרת כל האוגרים, הפונקציה SystemInit() כותבת לאוגרי הבקרה של CoreConfigP כדי לציין את השלמת שלב תצורת האוגר; אותות המוצא של CoreConfigP CONFIG1_DONE ו-CONIG2_DONE נמסרים לאחר מכן.
    ישנם שני שלבים של תצורת אוגר (CONFIG1 ו-CONFIG2) בהתאם לציוד ההיקפי המשמש בתכנון.
  4. אם נעשה שימוש באחד או בשניהם של MDDR/FDDR, ואף אחד מהבלוקים של SERDESIF אינו בשימוש בתכנון, יש רק שלב תצורת רישום אחד. שני אותות הפלט של CoreConfigP CONFIG1_DONE ו-CONIG2_DONE מופעלים בזה אחר זה ללא כל המתנה/עיכוב.
    אם נעשה שימוש בבלוק אחד או יותר של SERDESIF במצב שאינו PCIe בתכנון, יש רק שלב אחד של תצורת האוגר. CONFIG1_DONE ו-CONIG2_DONE מתקיימים בזה אחר זה ללא כל המתנה/עיכוב.
    אם נעשה שימוש בבלוק SERDESIF אחד או יותר במצב PCIe בתכנון, ישנם שני שלבים של תצורת אוגר. CONFIG1_DONE נטען לאחר השלמת השלב הראשון של תצורת הרישום. מערכת SERDESIF אוגרי נתיבים מוגדרים בשלב זה. אם SERDESIF מוגדר במצב שאינו PCIE, גם אות CONFIG2_DONE מתקבל באופן מיידי.
  5. לאחר מכן השלב השני של תצורת הרישום (אם SERDESIF מוגדר במצב PCIE). להלן האירועים השונים המתרחשים בשלב השני:
    – CoreResetP מבטל את האותות של PHY_RESET_N ו-CORE_RESET_N התואמים לכל אחד מהבלוקים של SERDESIF בשימוש. הוא גם טוען אות פלט SDIF_RELEASED לאחר שכל בלוקי ה-SERDESIF לא התאפסו. אות SDIF_RELEASED זה משמש כדי לציין ל-CoreConfigP שליבה של SERDESIF לא מתאפס ומוכנה לשלב השני של תצורת האוגר.
    - ברגע שהאות SDIF_RELEASED נרשם, הפונקציה SystemInit() מתחילה לבצע סקר לגבי הטענה של PMA_READY בנתיב SERDESIF המתאים. ברגע שה-PMA_READY נרשם, הסט השני של אוגרי SERDESIF (אוגרי PCIE) מוגדרים/נכתבים על ידי הפונקציה SystemInit() .
  6. לאחר הגדרת כל אוגרי ה-PCIE, הפונקציה SystemInit() כותבת לאוגרי הבקרה של CoreConfigP כדי לציין את השלמת השלב השני של תצורת האוגר; לאחר מכן, אות המוצא של CoreConfigP CONIG2_DONE נטען.
  7. מלבד הצהרות האותות/ביטול הצהרות לעיל, CoreResetP מנהלת גם את האתחול של הבלוקים השונים על ידי ביצוע הפונקציות הבאות:
    - ביטול הצהרת איפוס הליבה של FDDR
    - ביטול הצהרת ה-SERDESIF בלוקים PHY ו-CORE איפוסים
    - ניטור אות הנעילה של FDDR PLL (FPLL). ה-FPLL חייב להיות נעול כדי להבטיח שממשק הנתונים FDDR AXI/AHBLite ומגבת ה-FPGA יכולים לתקשר בצורה נכונה.
    - ניטור של אותות נעילה של SERDESIF block PLL (SPLL). ה-SPLL חייב להיות ננעל כדי להבטיח שה-SERDESIF חוסם את ממשק AXI/AHBLite (מצב PCIe) או שממשק XAUI יכול לתקשר כראוי עם מארג ה-FPGA.
    - ממתין שזכרונות ה-DDR החיצוניים יתייצבו ויהיו מוכנים לגישה מבקרי ה-DDR.
  8. כאשר כל הציוד ההיקפי השלים את האתחול שלהם, CoreResetP תוקף את האות INIT_DONE; לאחר מכן נטען האוגר הפנימי של CoreConfigP INIT_DONE.
    אם נעשה שימוש באחד מ-MDDR/FDDR או שניהם, והגעת לזמן האתחול של DDR, אות הפלט CoreResetP DDR_READY מתקבל. ניתן לעקוב אחר האות הזה DDR_READY כאינדיקציה לכך שה-DDR (MDDR/FDDR) מוכן לתקשורת.
    אם נעשה שימוש בבלוקים של SERDESIF אחד או יותר, והשלב השני של תצורת האוגר הושלם בהצלחה, אות הפלט של CoreResetP SDIF_READY מתקבל. ניתן לעקוב אחר הצהרת האות SDIF_READY כאינדיקציה לכך שכל בלוקי ה-SERDESIF מוכנים לתקשורת.
  9. הפונקציה SystemInit() שחיכתה ל-INIT_DONE להתקנת, מסתיימת, והפונקציה main() של היישום מבוצעת. באותו זמן, כל בקרי ה-DDR בשימוש ובלוקי SERDESIF אותחלו, ויישום הקושחה והלוגיקה של ה-FPGA יכולים לתקשר איתם בצורה מהימנה.

המתודולוגיה המתוארת במסמך זה מסתמכת על ה-Cortex-M3 שמבצע את תהליך האתחול כחלק מקוד אתחול המערכת שבוצע לפני הפונקציה הראשית() של האפליקציה.
ראה את תרשימי הזרימה באיור 1-1, איור 1-2 ואיור 1-3 עבור שלבי האתחול של FDDR/MDDR, SEREDES (מצב שאינו PCIe) ו-SERDES (מצב PCIe).
איור 1-4 מציג דיאגרמת תזמון של אתחול היקפי.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - תרשים תזמון 1 Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - תרשים תזמון 2

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - תרשים תזמון 3Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - תרשים תזמון 4איור 1-3 • תרשים זרימה של אתחול SERDESIF (PCIe).
הליך האתחול המתואר במסמך זה מחייב אותך להפעיל את Cortex-M3 במהלך תהליך האתחול, גם אם אינך מתכוון להפעיל קוד כלשהו ב-Cortex-M3. עליך ליצור יישום קושחה בסיסי שאינו עושה דבר (לולאה פשוטה, למשלample) וטען את קובץ ההפעלה הזה בזיכרון הבלתי נדיף המוטבע (eNVM) כך שבקרי ה-DDR והבלוקים של SERDESIF יאתחלו כאשר ה-Cortex-M3 מאתחל.

שימוש בבונה מערכות ליצירת עיצוב באמצעות בלוקים של DDR ו-SERDESIF

SmartFusion2 System Builder הוא כלי עיצוב רב עוצמה שעוזר לך ללכוד את הדרישות שלך ברמת המערכת ומייצר עיצוב המיישם את הדרישות הללו. פונקציה חשובה מאוד של בונה המערכת היא יצירה אוטומטית של תת-מערכת האתחול ההיקפי. "שימוש ב-SmartDesign ליצירת עיצוב באמצעות בלוקים של DDR ו-SERDESIF" בעמוד 17 מתאר בפירוט כיצד ליצור פתרון כזה ללא בונה המערכת.
אם אתה משתמש ב-System Builder, עליך לבצע את המשימות הבאות כדי ליצור עיצוב המאתחל את בקרי ה-DDR והבלוקים של SERDESIF שלך בעת ההפעלה:

  1. בדף תכונות ההתקן (איור 2-1), ציין באילו בקרי DDR נעשה שימוש ובכמה בלוקים של SERDESIF נעשה שימוש בעיצוב שלך.
  2. בדף הזיכרון, ציין את סוג ה-DDR (DDR2/DDR3/LPDDR) ואת נתוני התצורה עבור זיכרונות ה-DDR החיצוניים שלך. עיין בסעיף דף זיכרון לפרטים.
  3. בדף ציוד היקפי, הוסף מאסטרים של בד המוגדרים כ-AHBLite/AXI ל-Fric DDR Subsystem ו/או ל-MSS DDR FIC Subsystem (אופציונלי).
  4. בדף הגדרות שעון, ציין את תדרי השעון עבור תת-מערכות ה-DDR.
  5. השלם את מפרט העיצוב שלך ולחץ על סיום. זה יוצר את העיצוב שנוצר על ידי בונה המערכת, כולל ההיגיון הדרוש לפתרון 'אתחול'.
  6. אם אתה משתמש בלוקים של SERDESIF, עליך ליצור מופע של בלוקים של SERDESIF בעיצוב שלך ולחבר את יציאות האתחול שלהם לאלו של הליבה שנוצרה בונה המערכת.

דף תכונות מכשיר בונה מערכות
בדף תכונות ההתקן, ציין באילו בקרי DDR (MDDR ו/או FDDR) נעשה שימוש ובכמה בלוקים של SERDESIF נעשה שימוש בעיצוב שלך (איור 2-1).

Microsemi SmartFusion2 בקר DDR ובקר סידורי במהירות גבוהה - עמוד תכונות ההתקןאיור 2-1 • דף תכונות התקן של בונה מערכת

דף זיכרון של בונה מערכות
כדי להשתמש ב-MSS DDR (MDDR) או בד DDR (FDDR), בחר את סוג הזיכרון מהרשימה הנפתחת (איור 2-2).

Microsemi SmartFusion2 בקר DDR ובקר טורי במהירות גבוהה - זיכרון חיצוניאיור 2-2 • זיכרון חיצוני MSS

אתה חייב:

  1. בחר את סוג ה-DDR (DDR2, DDR3 או LPDDR).
  2. הגדר את זמן הגדרת זיכרון ה-DDR. עיין במפרטי זיכרון ה-DDR החיצוניים שלך כדי להגדיר את זמן הגדרת הזיכרון הנכון. ייתכן שזיכרון ה-DDR ייכשל באתחול כראוי אם זמן שיבוץ הזיכרון אינו מוגדר כהלכה.
  3. או לייבא את נתוני תצורת אוגר ה-DDR או להגדיר את פרמטרי זיכרון ה-DDR שלך. לפרטים, עיין ב מדריך למשתמש של Microsemi SmartFusion2 High Speed ​​Serial ו-DDR ממשקי.

נתונים אלה משמשים ליצירת תצורת ה-BFM של אוגר DDR ותצורת הקושחה fileכמתואר ב"יצירה והידור של יישום הקושחה" בעמוד 26 ו-"BFM Files משמש להדמיית העיצוב" בעמוד 27. לפרטים על אוגרי תצורת בקר DDR, עיין ב- מדריך למשתמש של Microsemi SmartFusion2 High Speed ​​Serial ו-DDR ממשקי.
אקסample של התצורה file התחביר מוצג באיור 2-3. שמות הרישום המשמשים בכך file זהים לאלו המתוארים ב- מדריך למשתמש של Microsemi SmartFusion2 High Speed ​​Serial ו-DDR ממשקי

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - File תחביר דוגמהampleאיור 2-3 • תצורה File תחביר דוגמהample
דף ציוד היקפי של בונה מערכות
בדף ציוד היקפי, עבור כל בקר DDR נוצרת תת-מערכת נפרדת (Fabric DDR Subsystem for FDDR ו-MSS DDR FIC Subsystem for MDDR). ניתן להוסיף ליבת Fabric AMBA Master (מוגדרת כ-AXI/AHBLite) לכל אחת מתת-המערכות הללו כדי לאפשר גישת מאסטר בד לבקרי DDR. עם היצירה, System Builder מיישם אוטומטית את ליבות האוטובוס (בהתאם לסוג ה-AMBA Master שנוסף) וחושף את ה-BIF הראשי של ליבת האוטובוס ואת פיני השעון והאיפוס של תתי המערכות המתאימות (FDDR/MDDR) תחת קבוצות פינים מתאימות, ל- רֹאשׁ. כל שעליכם לעשות הוא לחבר את ה-BIFs לליבות Fabric Master המתאימות שהייתם מייצרים בעיצוב. במקרה של MDDR, זה אופציונלי להוסיף ליבת Fabric AMBA Master ל-MSS DDR FIC Subsystem; Cortex-M3 הוא מאסטר ברירת מחדל בתת-מערכת זו. איור 2-4 מציג את דף הציוד ההיקפי של בונה המערכת.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - עמוד ציוד היקפי Builderאיור 2-4 • דף ציוד היקפי של בונה מערכות

דף הגדרות השעון של בונה המערכת
בדף הגדרות השעון, עבור כל בקר DDR, עליך לציין את תדרי השעון הקשורים לכל תת-מערכת DDR (MDDR ו/או FDDR).
עבור MDDR, עליך לציין:

  • MDDR_CLK – שעון זה קובע את תדר הפעולה של בקר ה-DDR ואמור להתאים לתדר השעון שבו תרצה שזיכרון ה-DDR החיצוני שלך יפעל. שעון זה מוגדר ככפולה של ה-M3_CLK (Cortex-M3 ו-MSS Main Clock, איור 2-5). ה-MDDR_CLK חייב להיות פחות מ-333 מגה-הרץ.
  • DDR_FIC_CLK - אם בחרת לגשת גם ל-MDDR ממארג ה-FPGA, עליך לציין את ה-DDR_FIC_CLK. תדר שעון זה מוגדר כיחס בין ה-MDDR_CLK וצריך להתאים לתדר שבו פועלת תת-מערכת ה-FPGA הניגשת ל-MDDR.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - שעוני MDDRאיור 2-5 • שעון ראשי Cortex-M3 ו-MSS; שעוני MDDR

עבור FDDR, עליך לציין:

  • FDDR_CLK - קובע את תדר הפעולה של בקר ה-DDR ואמור להתאים לתדר השעון שבו אתה רוצה שזיכרון ה-DDR החיצוני שלך יפעל. שימו לב ששעון זה מוגדר ככפולה של ה-M3_CLK (שעון MSS ו-Cortex-M3, איור 2-5). ה-FDDR_CLK חייב להיות בטווח של 20 מגה-הרץ ו-333 מגה-הרץ.
  • FDDR_SUBSYSTEM_CLK – תדר שעון זה מוגדר כיחס בין ה-FDDR_CLK ועליו להתאים לתדר שבו פועלת תת-מערכת ה-FPGA הניגשת ל-FDDR.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - שעוני DDR מבדאיור 2-6 • שעוני DDR מבד
תצורת SERDESIF
בלוקים של SERDESIF אינם מופעלים בעיצוב שנוצר על ידי בונה המערכת. עם זאת, עבור כל בלוקי SERDESIF, אותות אתחול זמינים בממשק של ליבת בונה המערכת וניתן לחבר אותם לליבות SERDESIF ברמת ההיררכיה הבאה, כפי שמוצג באיור 2-7.Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - קישוריות אתחול היקפיאיור 2-7 • קישוריות אתחול היקפי של SERDESIF
בדומה לאוגרי תצורה של DDR, לכל בלוק SERDES יש גם אוגרי תצורה שיש לטעון בזמן ריצה. אתה יכול לייבא ערכי אוגר אלה או להשתמש ב-High Speed ​​Serial Interface Configurator (איור 2-8) כדי להזין את פרמטרי ה-PCIe או EPCS שלך וערכי האוגר מחושבים עבורך באופן אוטומטי. לפרטים, עיין ב מדריך למשתמש של SERDES Configurator.Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - Configurator ממשק טוריאיור 2-8 • קופיגורטור ממשק טורי במהירות גבוהה
לאחר ששילבת את היגיון המשתמש שלך עם בלוק בונה המערכת ובלוק SERDES, תוכל ליצור את ה-SmartDesign ברמה העליונה שלך. זה מייצר את כל ה-HDL וה-BFM fileהנחוצים כדי ליישם ולדמות את העיצוב שלך. לאחר מכן תוכל להמשיך עם שאר תהליך העיצוב.

שימוש ב-SmartDesign ליצירת עיצוב באמצעות בלוקים DDR ו-SERDESIF

סעיף זה מתאר כיצד להרכיב פתרון 'אתחול' מלא ללא שימוש ב-SmartFusion2 System Builder. המטרה היא לעזור לך להבין מה עליך לעשות אם אינך רוצה להשתמש בבונה המערכת. סעיף זה מתאר גם מה בעצם מייצר עבורך כלי בונה המערכת. סעיף זה מתאר כיצד:

  • הזן את נתוני התצורה עבור בקר DDR ואוגרי התצורה של SERDESIF.
  • בצע מופע וחבר את ליבות הבד הנדרשות להעברת נתוני התצורה לבקרי ה-DDR ולאוגרי התצורה של SERDESIF.

תצורת בקר DDR
יש להגדיר את בקרי MSS DDR (MDDR) ו-FBric DDR (FDDR) באופן דינמי (בזמן ריצה) כך שיתאימו לדרישות תצורת זיכרון ה-DDR החיצוניות (מצב DDR, רוחב PHY, מצב פרץ, ECC וכו'). הנתונים המוזנים בתצורת MDDR/FDDR נכתבים למאגרי תצורת בקר ה-DDR על ידי הפונקציה CMSIS SystemInit() . ל-Configurator יש שלוש כרטיסיות שונות להזנת סוגים שונים של נתוני תצורה:

  • נתונים כלליים (מצב DDR, רוחב נתונים, תדר שעון, ECC, ממשק בד, חוזק כונן)
  • נתוני אתחול הזיכרון (אורך פרץ, סדר פרץ, מצב תזמון, חביון וכו')
  • נתוני תזמון זיכרון

עיין במפרטים של זיכרון ה-DDR החיצוני שלך והגדר את בקר ה-DDR כך שיתאים לדרישות של זיכרון ה-DDR החיצוני שלך.
לפרטים על תצורת DDR, עיין ב- SmartFusion2 MSS DDR מדריך למשתמש.
תצורת SERDESIF
לחץ פעמיים על בלוק SERDES בבד SmartDesign כדי לפתוח את Configurator כדי להגדיר את SERDES (איור 3-1). אתה יכול לייבא ערכי אוגר אלה או להשתמש בקונפיגורטור SERDES כדי להזין את פרמטרי ה-PCIe או EPCS שלך וערכי האוגר מחושבים עבורך באופן אוטומטי. לפרטים, עיין ב מדריך למשתמש של SERDES Configurator.Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - קופיגורטור ממשק טורי במהירות גבוההאיור 3-1 • קופיגורטור ממשק טורי במהירות גבוהה
יצירת תת-מערכת אתחול עיצוב FPGA
כדי לאתחל את בלוקים DDR ו-SERDESIF, עליך ליצור את תת-מערכת האתחול במארג ה-FPGA. תת-מערכת האתחול של מארג FPGA מעבירה נתונים מה-Cortex-M3 לאוגרי התצורה של DDR ו-SERDESIF, מנהלת את רצפי האיפוס הנדרשים כדי שהבלוקים הללו יהיו פעילים ומאותתת מתי בלוקים אלה מוכנים לתקשר עם שאר העיצוב שלך. כדי ליצור את תת-מערכת האתחול, עליך:

  • הגדר את FIC_2 בתוך ה-MSS
  • הצג והגדר את הליבות CoreConfigP ו-CoreResetP
  • הצג את מתנד RC 25/50MHz על-שבב
  • הפעל את המאקרו של איפוס המערכת (SYSRESET).
  • חבר את הרכיבים הללו לממשקי התצורה, השעונים, האיפוסים ויציאות הנעילה של PLL של כל ציוד היקפי

תצורת MSS FIC_2 APB
כדי להגדיר את MSS FIC_2:

  1. פתח את תיבת הדו-שיח FIC_2 Configurator מ-MSS Configurator (איור 3-2).
  2. בחר אתחול ציוד היקפי באמצעות Cortex-M3.
  3. בהתאם למערכת שלך, סמן את אחת מתיבות הסימון הבאות או את שתיהן:
    – MSS DDR
    – בלוקים מבד DDR ו/או SERDES
  4. לחץ על אישור והמשך ליצירת ה-MSS (תוכל לדחות פעולה זו עד שתגדיר את ה-MSS במלואו לדרישות העיצוב שלך). יציאות FIC_2 (FIC_2_APB_MASTER, FIC_2_APB_M_PCLK ו-FIC_2_APB_M_RESET_N) נחשפות כעת בממשק MSS וניתן לחבר אותם לליבות CoreConfigP ו-CoreResetP.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - MSS FIC 2 Configuratorאיור 3-2 • MSS FIC_2 Configurator

CoreConfigP
כדי להגדיר את CoreConfigP:

  1. הכנס CoreConfigP ל-SmartDesign שלך (בדרך כלל זה שבו ה-MSS מוזמן).
    ניתן למצוא את הגרעין הזה בקטלוג Libero (תחת ציוד היקפי).
  2. לחץ פעמיים על הליבה כדי לפתוח את הקופיגורטור.
  3. הגדר את הליבה כדי לציין אילו ציוד היקפי יש לאתחל (איור 3-3)

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - תיבת דיאלוגאיור 3-3 • תיבת הדו-שיח CoreConfigP

CoreResetP
כדי להגדיר את CoreResetP:

  1. הכנס CoreResetP ל-SmartDesign שלך (בדרך כלל זה שבו ה-MSS מוזמן).
    ניתן למצוא את הגרעין הזה בקטלוג Libero, תחת ציוד היקפי.
  2. לחץ פעמיים על הליבה בתוך SmartDesign Canvas כדי לפתוח את Configurator (איור 3-4).
  3. הגדר את הליבה כך:
    - ציין את התנהגות האיפוס החיצוני (EXT_RESET_OUT טען). בחר אחת מארבע אפשרויות:
    o EXT_RESET_OUT אף פעם לא נטען
    o EXT_RESET_OUT נטען אם בוצע איפוס הפעלה (POWER_ON_RESET_N)
    o EXT_RESET_OUT נטען אם FAB_RESET_N נטען
    o EXT_RESET_OUT נטען אם ההפעלה מאופסת (POWER_ON_RESET_N) או FAB_RESET_N מוגשת
    - ציין את כרך ההתקןtagה. הערך שנבחר צריך להתאים לנפחtage שבחרת בתיבת הדו-שיח Libero Project Settings.
    – סמן את תיבות הסימון המתאימות כדי לציין באילו ציוד היקפי אתה משתמש בעיצוב שלך.
    – ציין את זמן הגדרת זיכרון ה-DDR החיצוני. זהו הערך המקסימלי עבור כל זיכרונות ה-DDR המשמשים ביישום שלך (MDDR ו-FDDR). עיין בגיליון הנתונים של ספק זיכרון DDR חיצוני כדי להגדיר פרמטר זה. 200us הוא ערך ברירת מחדל טוב עבור זכרונות DDR2 ו-DDR3 הפועלים במהירות 200MHz. זהו פרמטר חשוב מאוד להבטחת הדמיית עבודה ומערכת עבודה על סיליקון. ערך שגוי עבור זמן ההתיישנות עלול לגרום לשגיאות סימולציה. עיין בגיליון הנתונים של ספק זיכרון DDR כדי להגדיר פרמטר זה.
    - עבור כל בלוק SERDES בעיצוב שלך, סמן את התיבות המתאימות כדי לציין אם:
    o נעשה שימוש ב-PCIe
    o נדרשת תמיכה עבור PCIe Hot Reset
    o נדרשת תמיכה עבור PCIe L2/P2

פֶּתֶק: אם אתה משתמש במת 090(M2S090) והעיצוב שלך משתמש ב-SERDESIF, אינך צריך לסמן אף אחת מתיבות הסימון הבאות: 'בשימוש עבור PCIe', 'כלול תמיכת PCIe HotReset' ו'כלול תמיכה ב-PCIe L2/P2'. אם אתה משתמש במכשיר שאינו 090 ומשתמש בגוש SERDESIF אחד או יותר, עליך לסמן את כל ארבע תיבות הסימון בסעיף SERDESIF המתאים.
פֶּתֶק: לפרטים על האפשרויות הזמינות עבורך בקונפיגורטור זה, עיין במדריך CoreResetP.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - CoreResetPConfiguratorאיור 3-4 • CoreResetPConfigurator

מופע מתנד 25/50MHz
CoreConfigP ו-CoreResetP מתועדים על ידי מתנד RC 25/50MHz שבשבב. עליך ליצור מופע מתנד 25/50MHz ולחבר אותו לליבות אלה.

  1. הצג את ליבת ה-Chip Oscillators לתוך ה-SmartDesign שלך (בדרך כלל זה שבו ה-MSS מוזמן). ניתן למצוא את הליבה הזו בקטלוג Libero תחת שעון וניהול.
  2. הגדר את הליבה הזו כך שמתנד RC יניע את מארג ה-FPGA, כפי שמוצג באיור 3-5.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - Configurator מתנדיםאיור 3-5 • Configurator מתנדים שבבים

איפוס מערכת (SYSRESET) מופע
המאקרו SYSRESET מספק פונקציונליות של איפוס רמת המכשיר לעיצוב שלך. אות המוצא POWER_ON_RESET_N מוחזק/מבוטל בכל פעם שהשבב מופעל או שהפין החיצוני DEVRST_N מוחזק/מבוטל (איור 3-6).
הפעל את המאקרו SYSRESET לתוך SmartDesign שלך (בדרך כלל זה שבו ה-MSS מוזמן). ניתן למצוא מאקרו זה בקטלוג Libero תחת ספריית מאקרו. אין צורך בתצורה של מאקרו זה.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - SYSRESET Macroאיור 3-6 • SYSRESET Macro

קישוריות כוללת
לאחר שיצרת והגדרת את הליבות MSS, FDDR, SERDESIF, OSC, SYSRESET, CoreConfigP ו-CoreResetP בעיצוב שלך, עליך לחבר אותן כדי ליצור את תת-מערכת האתחול ההיקפי. כדי לפשט את תיאור הקישוריות במסמך זה, הוא מחולק לקישוריות נתיב נתיב התצורה התואמת APB3 המשויכת ל-CoreConfigP ולחיבורים הקשורים ל-CoreResetP.
קישוריות נתיב נתיב תצורה
איור 3-7 מראה כיצד לחבר את CoreConfigP לאותות MSS FIC_2 ולממשקי התצורה התואמים APB3 של הציוד ההיקפי.
טבלה 3-1 • תצורה נתיב נתיב יציאת/BIF חיבורי

מִן
ממשק יציאה/אוטובוס
(BIF)/ רכיב
אֶל
ממשק יציאה/אוטובוס (BIF)/רכיב
APB S PRESET N/ CoreConfigP APB S PRESET N/ SDIF<0/1/2/3> APB S PRESET N/
FDDR
MDDR APB S PRESE TN/MSS
APB S PCLK/CoreConfigP APB S PCLK/SDIF APB S PCLK/FDDR MDDR APB S POLK/ MSS
MDDR APBmslave/CoreConfig MDDR APB SLAVE (BIF)/MSS
SDIF<0/1/2/ 3> APBmslave/Config APB SLAVE (BIF)/ SDIF<0/1/2/3>
FDDR APBmslave APB SLAVE (BIF)/ FDDR
FIC 2 APBmmaster/CoreConfigP FIC 2 APB MASTER/ MSS

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - קישוריות תת-מערכתאיור 3-7 • קישוריות תת-מערכת FIC_2 APB3

שעונים ואיפוס קישוריות
איור 3-8 מציג כיצד לחבר את CoreResetP למקורות האיפוס החיצוניים ולאותות איפוס הליבה של הציוד ההיקפי. זה גם מראה כיצד לחבר את CoreResetP לאותות מצב סנכרון השעון של הציוד ההיקפי (אותות נעילה של PLL). בנוסף, הוא מראה כיצד ה- CoreConfigP ו- CoreResetP מחוברים.

Microsemi SmartFusion2 בקר DDR ובקר מהירות טורי - קישוריות תת-מערכת 2איור 3-8 • קישוריות תת-מערכת Core SF2Reset

יצירה והידור של יישום הקושחה

כאשר אתה מייצא את הקושחה מ-LiberoSoC (חלון זרימת עיצוב > ייצוא קושחה > ייצוא קושחה), Libero יוצר את הדברים הבאים files ב תיקיית /firmware/drivers_config/ sys_config:

  • sys_config.c – מכיל את מבני הנתונים המחזיקים את הערכים עבור האוגרים ההיקפיים.
  • sys_config.h – מכיל את ההצהרות #define המפרטות באילו ציוד היקפי נעשה שימוש בעיצוב ויש לאתחל.
  • sys_config_mddr_define.h – מכיל את נתוני התצורה של בקר MDDR שהוזנו בתיבת הדו-שיח Registers Configuration.
  • sys_config_fddr_define.h – מכיל את נתוני תצורת בקר FDDR שהוזנו בתיבת הדו-שיח Registers Configuration.
  • sys_config_mss_clocks.h – זה file מכיל את תדרי השעון של MSS כפי שהוגדרו בקונפיגורטור MSS CCC. תדרים אלו משמשים את קוד ה-CMSIS כדי לספק מידע שעון נכון לרבים ממנהלי ה-MSS שחייבים לקבל גישה לתדר השעון ההיקפי (PCLK) שלהם (למשל, מחלקי קצב ההנאה של MSS UART הם פונקציה של קצב ההדרכה ותדר ה-PCLK ).
  • sys_config_SERDESIF_ .c - מכיל את ה-SERDESIF_ רשום נתוני תצורה שסופקו במהלך SERDESIF_ תצורת בלוק ביצירת עיצוב.
  • sys_config_SERDESIF_ .h – מכיל את ההצהרות #define המציינים את מספר צמדי תצורת הרישום ואת מספר הנתיב שיש לבצע סקר עבור PMA_READY (במצב PCIe בלבד).

אֵלֶה fileנדרשים כדי שקוד ה-CMSIS יקמפל כראוי ויכיל מידע לגבי העיצוב הנוכחי שלך, כולל נתוני תצורה היקפיים ופרטי תצורת שעון עבור ה-MSS.
אל תערוך את אלה files באופן ידני; הם נוצרים לספריות הרכיבים/היקפיות המתאימות בכל פעם שנוצרים רכיבי SmartDesign המכילים את הציוד ההיקפי המתאימים. אם נעשו שינויים כלשהם בנתוני התצורה של כל אחד מהציוד ההיקפי, עליך לייצא מחדש את פרויקטי הקושחה כך שהקושחה המעודכנת files (ראה את הרשימה למעלה) מיוצאים ל- / firmware/drivers_config/sys_config.
כאשר אתה מייצא את הקושחה, Libero SoC יוצר את פרויקטי הקושחה: ספרייה שבה תצורת העיצוב שלך files ומנהלי התקנים מורכבים.
אם תסמן את הפרויקט צור תיבת סימון כאשר אתה מייצא את הקושחה, נוצר פרויקט תוכנה SoftConsole/IAR/Keil כדי להחזיק את פרויקט היישום שבו אתה יכול לערוך את ה-main.c ואת המשתמש C/H fileס. פתח את פרויקט SoftConSole/IAR/Keil כדי להרכיב את קוד ה-CMSIS בצורה נכונה ולהגדיר כהלכה את יישום הקושחה שלך כך שיתאים לעיצוב החומרה שלך.

BFM Files משמש להדמיית העיצוב

כאשר אתה יוצר את רכיבי SmartDesign המכילים את הציוד ההיקפי המשויך לעיצוב שלך, הסימולציה files התואמים את הציוד ההיקפי בהתאמה נוצרים ב ספריית /simulation:

  • test.bfm – BFM ברמה העליונה file שמתבצעת לראשונה במהלך כל סימולציה שמפעילה את מעבד SmartFusion2 MSS Cortex-M3. הוא מפעיל את peripheral_init.bfm ו-user.bfm, בסדר הזה.
  • MDDR_init.bfm - אם העיצוב שלך משתמש ב-MDDR, Libero מייצר את זה file; הוא מכיל פקודות כתיבה של BFM המדמות כתיבה של נתוני אוגר התצורה של MSS DDR שהזנת (באמצעות תיבת הדו-שיח Edit Registers או ב-MSS_MDDR GUI) לתוך אוגרי MSS DDR Controller.
  • FDDR_init.bfm - אם העיצוב שלך משתמש ב-FDDR, Libero מייצר את זה file; הוא מכיל פקודות כתיבה של BFM המדמות כתיבה של נתוני אוגר תצורת ה-DDR של Fabric שהזנת (באמצעות תיבת הדו-שיח Edit Registers או בממשק ה-FDDR GUI) לתוך האוגרים של בקר ה-DDR של Fabric.
  • SERDESIF_ _init.bfm - אם העיצוב שלך משתמש בגוש SERDESIF אחד או יותר, Libero מייצר את זה file עבור כל אחד מה-SERDESIF_ בלוקים בשימוש; הוא מכיל פקודות כתיבה של BFM המדמות כתיבה של נתוני אוגר התצורה של SERDESIF שהזנת (באמצעות תיבת הדו-שיח Edit Registers או ב-SERDESIF_ GUI) לתוך SERDESIF_ רושמת. אם בלוק SERDESIF מוגדר כ-PCIe, זה file יש גם כמה הצהרות #define השולטות בביצוע של 2 שלבי תצורת האוגר בסדר מושלם.
  • user.bfm - מכיל את פקודות המשתמש. פקודות אלה מבוצעות לאחר השלמת peripheral_init.bfm. ערוך את זה file כדי להזין את פקודות ה-BFM שלך.
  • SERDESIF_ _user.bfm - מכיל את פקודות המשתמש. ערוך את זה file כדי להזין את פקודות ה-BFM שלך. השתמש בזה אם הגדרת את SERDESIF_ בלוק במצב הדמיית BFM PCIe וכמאסטר AXI/AHBLite. אם הגדרת את SERDESIF_ לחסום במצב סימולציית RTL, לא תזדקק לזה file.

כאשר אתה מפעיל סימולציה בכל פעם, שתי הסימולציות הבאות files נוצרים מחדש ל- ספריית /simulation עם תוכן מעודכן:

  • subsystem.bfm – מכיל את ההצהרות #define עבור כל ציוד היקפי המשמש בעיצוב שלך, המציינים את הקטע המסוים של ה-peripheral_init.bfm שיבוצע בהתאם לכל ציוד היקפי.
  • operipheral_init.bfm – מכיל את הליך BFM המדמה את הפונקציה CMSIS:: SystemInit() המופעלת ב-Cortex-M3 לפני שאתה נכנס להליך main(). הוא מעתיק את נתוני התצורה של כל ציוד היקפי המשמש בתכנון למאגרי התצורה ההיקפיים הנכונים ולאחר מכן ממתין עד שכל הציוד ההיקפי יהיה מוכן לפני שהוא קובע שאתה יכול להשתמש בציוד ההיקפי הזה. הוא מפעיל את MDDR_init.bfm ו-FDDR_init.bfm.

באמצעות אלה שנוצרו files, בקרי ה-DDR בעיצוב שלך מוגדרים אוטומטית, המדמים את מה שיקרה במכשיר SmartFusion2. אתה יכול לערוך את ה-user.bfm file כדי להוסיף פקודות כלשהן הנדרשות כדי לדמות את העיצוב שלך (Cortex-M3 הוא המאסטר). פקודות אלו מבוצעות לאחר אתחול הציוד ההיקפי. אין לערוך את ה-test.bfm, subsystem.bfm, peripheral_init.bfm, MDDR_init.bfm, FDDR_init.bfm files וה-SERDESIF_ _init.bfm files.

תמיכת מוצר

Microsemi SoC Products Group מגבה את מוצריה בשירותי תמיכה שונים, כולל שירות לקוחות, מרכז תמיכה טכנית ללקוחות, webאתר, דואר אלקטרוני ומשרדי מכירות ברחבי העולם.
נספח זה מכיל מידע אודות יצירת קשר עם Microsemi SoC Products Group ושימוש בשירותי תמיכה אלו.
שֵׁירוּת לָקוֹחוֹת
צור קשר עם שירות הלקוחות לתמיכה במוצר לא טכני, כגון תמחור מוצר, שדרוגי מוצר, עדכון מידע, סטטוס הזמנה והרשאה.
מצפון אמריקה, התקשר 800.262.1060
משאר העולם, התקשר 650.318.4460
פקס, מכל מקום בעולם, 408.643.6913
מרכז תמיכה טכנית ללקוחות
Microsemi SoC Products Group מאיישת את מרכז התמיכה הטכנית של הלקוחות שלה עם מהנדסים מיומנים שיכולים לעזור לענות על שאלות החומרה, התוכנה והעיצוב שלך לגבי מוצרי Microsemi SoC. מרכז התמיכה הטכנית של הלקוחות מקדיש זמן רב ליצירת הערות יישומים, תשובות לשאלות נפוצות במחזור העיצוב, תיעוד של בעיות ידועות ושאלות נפוצות שונות. אז לפני שתיצור איתנו קשר, אנא בקר במשאבים המקוונים שלנו. סביר מאוד שכבר ענינו על השאלות שלך.
תמיכה טכנית
בקר בתמיכת הלקוחות webאתר (www.microsemi.com/soc/support/search/default.aspx) למידע נוסף ותמיכה. תשובות רבות זמינות בחיפוש הניתן לחיפוש web המשאב כולל דיאגרמות, איורים וקישורים למשאבים אחרים ב- webאֲתַר.
Webאֲתַר
אתה יכול לעיין במגוון מידע טכני ולא טכני בדף הבית של SoC, בכתובת www.microsemi.com/soc.
יצירת קשר עם מרכז התמיכה הטכנית של הלקוחות
מהנדסים מיומנים מאוד מאיישים את מרכז התמיכה הטכנית. ניתן ליצור קשר עם מרכז התמיכה הטכנית בדוא"ל או דרך קבוצת מוצרי Microsemi SoC webאֲתַר.
אֶלֶקטרוֹנִי
אתה יכול להעביר את השאלות הטכניות שלך לכתובת הדוא"ל שלנו ולקבל תשובות בחזרה בדוא"ל, בפקס או בטלפון. כמו כן, אם יש לך בעיות עיצוב, אתה יכול לשלוח את העיצוב שלך בדוא"ל files לקבל סיוע.
אנו עוקבים כל הזמן אחר חשבון האימייל לאורך כל היום. בעת שליחת בקשתך אלינו, הקפד לכלול את שמך המלא, שם החברה ופרטי הקשר שלך לעיבוד יעיל של בקשתך.
כתובת הדוא"ל לתמיכה הטכנית היא soc_tech@microsemi.com.
המקרים שלי
לקוחות Microsemi SoC Products Group יכולים להגיש ולעקוב אחר מקרים טכניים באופן מקוון על ידי מעבר אל המקרים שלי.
מחוץ לארה"ב
לקוחות הזקוקים לסיוע מחוץ לאזור הזמן בארה"ב יכולים לפנות לתמיכה הטכנית באמצעות דואר אלקטרוני (soc_tech@microsemi.com) או פנה למשרד מכירות מקומי. ניתן למצוא את רישומי משרדי המכירות בכתובת www.microsemi.com/soc/company/contact/default.aspx.
תמיכה טכנית של ITAR
לתמיכה טכנית ב-RH ו-RT FPGAs המוסדרים על ידי תקנות התנועה הבינלאומית בנשק (ITAR), צור איתנו קשר באמצעות soc_tech_itar@microsemi.com. לחלופין, בתוך My Cases, בחר כן ברשימה הנפתחת ITAR. לרשימה מלאה של Microsemi FPGAs בפיקוח ITAR, בקר ב-ITAR web עַמוּד.
Microsemi Corporation (NASDAQ: MSCC) מציעה סל מקיף של פתרונות מוליכים למחצה עבור: תעופה וחלל, הגנה וביטחון; ארגונים ותקשורת; ושוקי אנרגיה תעשייתיים וחלופיים. המוצרים כוללים ביצועים גבוהים, התקני RF אנלוגיים ו-RF בעלי ביצועים גבוהים, מעגלים משולבים של אותות ו-RF, SoCs הניתנים להתאמה אישית, FPGAs ותת-מערכות שלמות. מטה Microsemi נמצא ב-Aliso Viejo, קליפורניה. למידע נוסף בכתובת www.microsemi.com.
© 2014 Microsemi Corporation. כל הזכויות שמורות. Microsemi והלוגו של Microsemi הם סימנים מסחריים של Microsemi Corporation. כל שאר הסימנים המסחריים וסימני השירות הם רכושם של בעליהם בהתאמה.

5-02-00384-1/08.14לוגו של מיקרוסמימטה התאגידים של Microsemi
One Enterprise, Aliso Viejo CA 92656 ארה"ב
בתוך ארה"ב: +1 949-380-6100
מכירות: +1 949-380-6136
פקס: 1+ 949-215-4996

מסמכים / משאבים

Microsemi SmartFusion2 בקר DDR ובקר טורי במהירות גבוהה [pdfמדריך למשתמש
בקר SmartFusion2 DDR ובקר מהירות מהירות גבוהה, SmartFusion2 DDR, בקר ובקר מהירות טורי, בקר מהירות גבוהה

הפניות

השאר תגובה

כתובת האימייל שלך לא תפורסם. שדות חובה מסומנים *