סימולציית Libero SoC
הוראות הגדרת ספרייה
מָבוֹא
(שאל שאלה)
מטרת מסמך זה היא לתאר את ההליך להגדרת סביבת הסימולציה באמצעות פרויקט Libero SoC כקלט. תיעוד זה מתאים לספריות המורכבות מראש המסופקות לשימוש עם Libero SoC v11.9 וגרסאות תוכנה חדשות יותר. הספריות המסופקות מורכבות עבור Verilog. משתמשי VHDL דורשים רישיון המאפשר הדמיית מצב מעורב.
ספריות הסימולציה המלוקטות זמינות עבור הכלים הבאים:
- Aldec Active-HDL
- Aldek Riviera-PRO
- Cadence Incisive Enterprise ו-Xcelium
- סימנס QuestaSim
- Synopsys VCS
לבקשת ספרייה עבור סימולטור אחר, צור קשר תמיכה טכנית של Microchip.
שילוב Libero SoC
(שאל שאלה)
Libero SoC תומך בסימולציה באמצעות ModelSim ME על ידי יצירת run.do file. זֶה file משמש את ModelSim ME/ModelSim Pro ME כדי להגדיר ולהפעיל את הסימולציה. כדי להשתמש בכלי סימולציה אחרים, אתה יכול ליצור את ModelSim ME/ModelSim Pro ME run.do ולשנות את הסקריפט Tcl file כדי להשתמש בפקודות התואמות לסימולטור שלך.
1.1 Libero SoC Tcl File דור (שאל שאלה)
לאחר יצירת ויצירת עיצוב ב-Libero SoC, התחל סימולציית ModelSim ME/ModelSim Pro ME בכל שלבי התכנון (presynth, postsynth ו-post-layout). שלב זה יוצר את ה-run.do file עבור ModelSim ME/ModelSim Pro ME עבור כל שלב עיצוב.
חָשׁוּב: לאחר התחלת כל ריצת סימולציה, שנה את שם ה-run.do שנוצר אוטומטית file תחת ספריית הסימולציה כדי למנוע מ-Libero SoC להחליף את זה file. למשלample, ה fileניתן לשנות את שמם ל-presynth_run.do, postsynth_run.do ו-postlayout_run.do.
הגדרות Aldec עבור Active-HDL ו-Riviera-Pro (שאל שאלה)
ה-run.do file בשימוש ה-ModelSim ME/ModelSim Pro ME ניתן לשנות ולהשתמש להדמיה באמצעות סימולטורים של Aldec.
2.1 משתנה סביבה (שאל שאלה)
הגדר את משתנה הסביבה שלך לרישיון שלך file מִקוּם:
LM_LICENSE_FILE: חייב לכלול מצביע לשרת הרישיון.
2.2 הורד ספרייה מהודרת (שאל שאלה)
הורד את הספריות עבור Aldec Active-HDL ו-Aldek Riviera-PRO מה-Microchip webאֲתַר.
2.3 המרת run.do עבור הדמיית Aldec (שאל שאלה)
ה-run.do files שנוצרו על ידי Libero SoC עבור סימולציות באמצעות הכלי Active-HDL ו-Riviera-Pro יכולים לשמש עבור סימולציות באמצעות Active-HDL ו-Riviera-Pro בשינוי יחיד. הטבלה הבאה מפרטת את הפקודות המקבילות ל-Aldek שיש לשנות ב-ModelSim run.do file.
טבלה 2-1. פקודות מקבילות של אלדק
ModelSim | פעיל-HDL |
ולוג | בול עץ |
vcom | acom |
vlib | אליב |
vsim | אסים |
vmap | amap |
הבא הוא כמוample run.do הקשור לסימולטורים של Aldec.
- הגדר את המיקום של ספריית העבודה הנוכחית.
הגדר dsn - הגדר שם ספריית עבודה, מפה את מיקומה ולאחר מכן מפה את המיקום של משפחת Microchip FPGA
ספריות מהודרות מראש (לדוגמהample, SmartFusion2) שעליו אתה מפעיל את העיצוב שלך.
alib presynth
amap Presynth Presynth
amap SmartFusion2 - קומפל את כל ה-HDL הדרוש fileבשימוש בעיצוב עם הספרייה הנדרשת.
alog –work presynth temp.v (עבור Verilog)
alog –work presynth testbench.v
acom –work presynth temp.vhd (עבור Vhdl)
acom –work presynth testbench.vhd - לדמות את העיצוב.
asim –L SmartFusion2 –L presynth –t 1ps presynth.testbench
לרוץ 10 אותנו
2.4 בעיות ידועות (שאל שאלה)
סעיף זה מפרט את הבעיות והמגבלות המוכרות.
- ספריות הידור באמצעות Riviera-PRO הן ספציפיות לפלטפורמה (כלומר ספריות של 64 סיביות לא יכולות להיות מופעלות על פלטפורמת 32 סיביות ולהיפך).
- עבור עיצובים המכילים SERDES/MDDR/FDDR, השתמש באפשרות הבאה ב-run.do שלך fileבזמן הפעלת סימולציות לאחר קומפילציה של העיצובים שלהן:
– Active-HDL: asim –o2
– Riviera-PRO: asim –O2 (לסימולציות קדם-סינת' ואחרי פריסה) ו-asim –O5 (להדמיות לאחר פריסה)
הגדרת Aldec עבור Active-HDL ו-Riviera-Pro כוללת את ה-SARs הממתינים הבאים. למידע נוסף צרו קשר תמיכה טכנית של Microchip. - SAR 49908 - Active-HDL: שגיאת VHDL עבור סימולציות של בלוק מתמטי
- SAR 50627 - Riviera-PRO 2013.02: שגיאות סימולציה עבור עיצובי SERDES
- SAR 50461 – Riviera-PRO: אפשרות asim -O2/-O5 בסימולציות
הגדרת קדנס חריפה (שאל שאלה)
אתה צריך ליצור סקריפט file בדומה ל-ModelSim ME/ModelSim Pro ME run.do כדי להפעיל את
סימולטור Cadence Incisive. בצע את השלבים הבאים וצור סקריפט file עבור NCSim או השתמש בסקריפט file
מסופק להמרת ModelSim ME/ModelSim Pro ME run.do files לתוך התצורה files
צורך להפעיל את הסימולציות באמצעות NCSim.
חשוב: קאדנס הפסיקה לשחרר גרסאות חדשות של ה- Incisive Enterprise
סימולטור והתחיל לתמוך בסימולטור Xcelium.
3.1 משתני סביבה (שאל שאלה)
כדי להפעיל את סימולטור Cadence Incisive, הגדר את משתני הסביבה הבאים:
- LM_LICENSE_FILE: חייב לכלול מצביע לרישיון file.
- cds_root: חייב להצביע על מיקום ספריית הבית של התקנת Cadence Incisive.
- PATH: חייב להצביע על מיקום הפח מתחת לספריית הכלים שמצביע על ידי cds_root כלומר,
$cds_root/tools/bin/64bit (עבור מכונת 64 סיביות ו-$cds_root/tools/bin עבור מכונת 32 סיביות).
ישנן שלוש דרכים להגדיר את סביבת הסימולציה במקרה של מעבר בין מערכות הפעלה של 64 סיביות ל-32 סיביות:
מקרה 1: משתנה PATH
הפעל את הפקודה הבאה:
set path = (install_dir/tools/bin/64bit $path) עבור מכונות 64bit ו
set path = (install_dir/tools/bin $path) עבור מכונות 32bit
מקרה 2: שימוש באפשרות -64bit שורת הפקודה
בשורת הפקודה ציין אפשרות -64bit כדי להפעיל את קובץ ההפעלה של 64bit.
מקרה 3: הגדרת משתנה הסביבה INCA_64BIT או CDS_AUTO_64BIT
המשתנה INCA_64BIT מטופל כבוליאני. אתה יכול להגדיר משתנה זה לכל ערך או למחרוזת null.
setenv INCA_64BIT
חשוב: ה משתנה סביבה INCA_64BIT אינו משפיע על כלי Cadence אחרים, כגון כלי IC. עם זאת, עבור כלים Incisive, המשתנה INCA_64BIT עוקף את ההגדרה עבור משתנה הסביבה CDS_AUTO_64BIT. אם משתנה הסביבה INCA_64BIT מוגדר, כל הכלים Incisive פועלים במצב 64 סיביות. setenv CDS_AUTO_64BIT INCLUDE:INCA
חשוב: ה המחרוזת INCA חייבת להיות באותיות רישיות. יש להפעיל את כל קובצי ההפעלה במצב 32 סיביות או במצב 64 סיביות, אל תגדיר את המשתנה כך שיכלול קובץ הפעלה אחד, כמו בקטע הבא:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
כלי Cadence אחרים, כגון כלי IC, משתמשים גם במשתנה הסביבה CDS_AUTO_64BIT כדי לשלוט בבחירת קובצי ההפעלה של 32 סיביות או 64 סיביות. הטבלה הבאה מראה כיצד ניתן להגדיר את המשתנה CDS_AUTO_64BIT להפעיל את הכלים Incisive וכלי IC בכל המצבים.
טבלה 3-1. משתני CDS_AUTO_64BIT
משתנה CDS_AUTO_64BIT | כלים חדים | כלי IC |
setenv CDS_AUTO_64BIT ALL | 64 סיביות | 64 סיביות |
setenv CDS_AUTO_64BIT NONE | 32 סיביות | 32 סיביות |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary | 64 סיביות | 32 סיביות |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 סיביות | 64 סיביות |
חָשׁוּב: יש להפעיל את כל הכלים של Incisive במצב 32 סיביות או במצב 64 סיביות, אל תשתמש ב-EXCLUDE כדי לא לכלול קובץ הפעלה ספציפי, כמו בקטע הבא: setenv CDS_AUTO_64BIT EXCLUDE:ncelab
אם תגדיר את המשתנה CDS_AUTO_64BIT לא לכלול את הכלים Incisive (setenv CDS_AUTO_64BIT EXCLUDE:INCA), כל הכלים Incisive מופעלים במצב 32 סיביות. עם זאת, אפשרות שורת הפקודה -64bit עוקפת את משתנה הסביבה.
התצורה הבאה files עוזר לך לנהל את הנתונים שלך ולשלוט על פעולתם של כלי הסימולציה וכלי השירות:
- מיפוי ספרייה file (cds.lib)—מגדיר שם הגיוני למיקום העיצוב שלך.
- ספריות ומשייך אותן לשמות ספריות פיזיות.
- משתנים file (hdl.var)—מגדיר משתנים המשפיעים על ההתנהגות של כלים וכלי עזר לסימולציה.
3.2 הורד ספרייה מהודרת (שאל שאלה)
הורד את הספריות עבור Cadence Incisive מ-Microsemi's webאֲתַר.
3.3 יצירת סקריפט NCSim File (שאל שאלה)
לאחר יצירת עותק של run.do files, בצע את השלבים הבאים כדי להפעיל את הסימולציה שלך באמצעות NCSim:
- צור cds.lib file שמגדיר את הספריות הנגישות ואת מיקומן. ה file מכיל הצהרות הממפות את השמות הלוגיים של הספרייה לנתיבי הספרייה הפיזיים שלהן. למשלample, אם אתה מפעיל סימולציית Presynth, הקובץ cds.lib file נכתב כפי שמוצג בבלוק הקוד הבא.
הגדר presynth ./presynth
הגדר COREAHBLITE_LIB ./COREAHBLITE_LIB
הגדר smartfusion2 - צור hdl.var file, תצורה אופציונלית file שמכיל משתני תצורה, שקובעים כיצד מוגדרת סביבת העיצוב שלך. המשתנה הבא files כלולים:
– משתנים המשמשים לציון ספריית העבודה שבה המאחסן המהדר אובייקטים מהודרים ונתונים נגזרים אחרים.
– עבור Verilog, משתנים (LIB_MAP, VIEW_MAP, WORK) המשמשות לציון הספריות ו views כדי לחפש כשהמפרט פותר מופעים.
– משתנים המאפשרים לך להגדיר אפשרויות וארגומנטים של שורת הפקודה מהדר, מעבד וסימולטור.
במקרה של הדמיית Presynth למשלampלהצגה למעלה, נניח שיש לנו שלושה RTL files: av, bv ו-testbench.v, שצריך להידור לספריות Presynth, COREAHBLITE_LIB ו-Presynth בהתאמה. ה-hdl.var file ניתן לכתוב כפי שמוצג בבלוק הקוד הבא.
הגדר עבודה presynth
הגדר את PROJECT_DIR files>
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, + => presynth ) - הרכב את העיצוב files באמצעות אפשרות ncvlog.
ncvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - שכלל את העיצוב באמצעות ncelab. המעבד בונה היררכיית עיצוב המבוססת על מידע מופע ותצורה בתכנון, מבסס קישוריות אות ומחשב ערכים ראשוניים עבור כל האובייקטים בתכנון. היררכיית העיצוב המשוכללת מאוחסנת בתמונת מצב של סימולציה, שהיא הייצוג של העיצוב שלך שהסימולטור משתמש בו כדי להפעיל את הסימולציה.
ncelab –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
גישה +rwc –status worklib. :מודול
הרחבה במהלך הדמיית פוסט-פריסה
במקרה של הדמיות לאחר פריסה, תחילה ה-SDF file צריך להידור לפני הרחבה באמצעות הפקודה ncsdfc.
ncsdfcfilename>.sdf –פלטfilename>.sdf.X
במהלך העיבוד, השתמש בפלט SDF המהודר עם אפשרות –autosdf כפי שמוצג בבלוק הקוד הבא.
ncelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib. :module –sdf_cmd_file ./
sdf_cmd_file
ה-sdf_cmd_file חייב להיות כפי שמוצג בבלוק הקוד הבא.
COMPILED_SDF_FILE = " file>" - הדמיית באמצעות ncsim. לאחר הרחבה נוצרת תמונת מצב של סימולציה, הנטענת על ידי ncsim לצורך סימולציה. אתה יכול להפעיל במצב אצווה או במצב GUI.
ncsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncsim.log -
errormax 15 –status worklib. :מודול
חָשׁוּב: ניתן להכניס את כל שלושת השלבים לעיל של קומפילציה, עיבוד וסימולציה לתוך סקריפט מעטפת file ומקורו משורת הפקודה. במקום להשתמש בשלושת השלבים הללו, ניתן לדמות עיצוב בשלב אחד באמצעות אפשרות ncverilog או irun כפי שמוצג בבלוק הקוד הבא.
ncverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileבשימוש בעיצוב>
irun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
בשימוש בעיצוב>
3.3.1 בעיות ידועות (שאל שאלה)
פתרון לעקיפת ספסל הבדיקה
שימוש במשפט הבא לציון תדר השעון בספסל הבדיקה שנוצר על ידי המשתמש, או שולחן הבדיקה המופק על ידי Libero SoC אינו עובד עם NCSim.
תמיד @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
שנה באופן הבא כדי להפעיל סימולציה:
תמיד #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
חשוב: הידור ספריות עבור NCSim הן ספציפיות לפלטפורמה (כלומר ספריות 64 סיביות אינן תואמות לפלטפורמת 32 סיביות ולהיפך).
סימולציות פוסט-סינת' ופוסט-פריסה באמצעות MSS ו-SERDES בזמן הפעלת סימולציות פוסט-סינת' של עיצובים המכילים את בלוק MSS או הדמיות פוסט-פריסה של עיצובים באמצעות SERDES, הדמיות BFM אינן פועלות אם האפשרות –libmap היא
לא צוין במהלך העיבוד. הסיבה לכך היא שבמהלך העיבוד, MSS נפתר מספריית העבודה (בגלל שברירת המחדל של הכריכה וה-worklib הוא postsynth/post-layout) שם הוא רק Fixed Function.
יש לכתוב את הפקודה ncelab כפי שמוצג בבלוק הקוד הבא כדי לפתור את ה-MSS
בלוק מהספרייה המורכבת מראש SmartFusion2.
ncelab -libmap lib.map -libverbose -Message -access +rwc cfg1
ואת lib.map file חייב להיות כדלקמן:
config cfg1;
לְעַצֵב ;
ברירת המחדל של liblist smartfusion2 ;
endconfig
זה פותר כל תא בספריית SmartFusion2 לפני הסתכלות בספריית העבודה, כלומר postsynth/post-layout.
ניתן להשתמש באפשרות –libmap כברירת מחדל במהלך עיבוד עבור כל סימולציה (presynth, postsynth ו-post-layout). זה מונע בעיות סימולציה שנגרמות עקב פתרון של מופעים מספריות.
ncelab: *F,INTERR: חריגה פנימית
חריג כלי ncelab זה מהווה אזהרה לעיצובים המכילים FDDR ב-SmartFusion 2 ו-IGLOO 2 במהלך סימולציות פוסט-סינת' ופוסט-פריסה באמצעות אפשרות –libmap.
חָשׁוּב: בעיה זו דווחה לצוות התמיכה של Cadence (SAR 52113).
3.4 Sample Tcl ו-Shell Script Files (שאל שאלה)
הבא files הם התצורה fileדרוש להגדרת תסריט העיצוב והמעטפת file להפעלת פקודות NCSim.
Cds.lib
NE smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
הגדר COREAHBLITE_LIB ./COREAHBLITE_LIB
הגדר presynth ./presynth
Hdl.var
הגדר עבודה presynth
הגדר את PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
קדם סינת')
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
קדם סינת')
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => קדם סינת' )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, + => presynth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -עדכון -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagגיל
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagגיל
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -הודעה -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -הודעה -אצווה -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
3.5 אוטומציה (שאל שאלה)
התסריט הבא file ממירה את ModelSim run.do files לתוך תצורה fileיש צורך להפעיל סימולציות באמצעות NCSim.
תַסרִיט File נוֹהָג
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
############################################### ##########################################
##################
#שימוש: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
############################################### ##########################################
##################
השתמש ב-POSIX;
השתמש מחמירים;
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sub questa_parser {
my $ModelSim_run_do = $_[0];
$actel_family שלי = $_[1];
שלי $lib_location = $_[2];
המדינה ה$ שלי;
if ( -e "$ModelSim_run_do")
{
להיפתח בFILE"$ModelSim_run_do");
שלי @ModelSim_run_do =FILE>;
השורה $ שלי;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
פתוח (OUTFILE">QUESTA_PRESYNTH/presynth_questa.do");
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
פתוח (OUTFILE">QUESTA_POSTSYNTH/postsynth_questa.do");
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
פתוח (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} אחר
{
קלט שגוי שניתנו ל- file\n";
הדפס "#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Libraries_location\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#פעולות כלליות
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#להדפיסFILE "$line \n";
if ($line =~ m/vmap\s+.*($actel_family)/)
{
להדפיסFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
להדפיסFILE "$line \n";
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
להדפיסFILE "$line \n";
} אחר
{
להדפיסFILE "$line \n";
}
}
close(INFILE);
סגור(OUTFILE);
} אחר {
הדפס "$ModelSim_run_do אינו קיים. הפעל שוב סימולציה \n";
}
}
הגדרת Cadence Xcelium (כניסה למיקרו-שבב)
אתה צריך ליצור סקריפט file בדומה ל-ModelSim ME/ModelSim Pro ME run.do להפעלת סימולטור Cadence Xcelium. בצע את השלבים הבאים וצור סקריפט file עבור Xcelium או השתמש בסקריפט file מסופק להמרת ModelSim ME/ModelSim Pro ME run.do files לתוך התצורה fileיש צורך להפעיל סימולציות באמצעות Xcelium.
4.1 משתני סביבה (שאל שאלה)
כדי להפעיל את Cadence Xcelium, הגדר את משתני הסביבה הבאים:
- LM_LICENSE_FILE: חייב לכלול מצביע לרישיון file.
- cds_root: חייב להצביע על מיקום ספריית הבית של Cadence Incisive Installation.
- PATH: חייב להצביע על מיקום הפח מתחת לספריית הכלים שמצביעה על ידי cds_root (כלומר
$cds_root/tools/bin/64bit (עבור מחשב 64 סיביות ו-$cds_root/tools/bin עבור 32 סיביות
מְכוֹנָה).
ישנן שלוש דרכים להגדיר את סביבת הסימולציה במקרה של מעבר בין מערכות הפעלה של 64 סיביות ל-32 סיביות:
מקרה 1: משתנה PATH
set path = (install_dir/tools/bin/64bit $path) עבור מכונות 64bit ו
set path = (install_dir/tools/bin $path) עבור מכונות 32bit
מקרה 2: שימוש באפשרות -64bit שורת הפקודה
בשורת הפקודה ציין אפשרות -64bit על מנת להפעיל את קובץ ההפעלה של 64 סיביות.
מקרה 3: הגדרת משתנה הסביבה INCA_64BIT או CDS_AUTO_64BIT
המשתנה INCA_64BIT מטופל כבוליאני. אתה יכול להגדיר משתנה זה לכל ערך או ל- null
חוּט.
setenv INCA_64BIT
חשוב: ה משתנה סביבה INCA_64BIT אינו משפיע על כלי Cadence אחרים, כגון כלי IC. עם זאת, עבור כלים Incisive, המשתנה INCA_64BIT עוקף את ההגדרה עבור משתנה הסביבה CDS_AUTO_64BIT. אם משתנה הסביבה INCA_64BIT הוא et, כל הכלים Incisive פועלים במצב 64 סיביות.
setenv CDS_AUTO_64BIT INCLUDE:INCA
חשוב: ה המחרוזת INCA חייבת להיות באותיות רישיות. יש להפעיל את כל קובצי ההפעלה במצב 2 סיביות או במצב 64 סיביות, אל תגדיר את המשתנה כך שיכלול קובץ הפעלה אחד, כמו בקטע הבא:
setenv CDS_AUTO_64BIT INCLUDE:ncelab
כלי Cadence אחרים, כגון כלי IC, משתמשים גם במשתנה הסביבה CDS_AUTO_64BIT כדי לשלוט בבחירת קובצי ההפעלה של 32 סיביות או 64 סיביות. הטבלה הבאה מראה כיצד ניתן להגדיר את המשתנה CDS_AUTO_64BIT להפעיל את הכלים Incisive וכלי IC בכל המצבים.
טבלה 4-1. משתני CDS_AUTO_64BIT
משתנה CDS_AUTO_64BIT | כלים חדים | כלי IC |
setenv CDS_AUTO_64BIT ALL | 64 סיביות | 64 סיביות |
setenv CDS_AUTO_64BIT NONE | 32 סיביות | 32 סיביות |
setenv CDS_AUTO_64BIT EXCLUDE:ic_binary |
64 סיביות | 32 סיביות |
setenv CDS_AUTO_64BIT EXCLUDE:INCA | 32 סיביות | 64 סיביות |
חָשׁוּב: יש להפעיל את כל הכלים של Incisive במצב 32 סיביות או במצב 64 סיביות, אל תשתמש ב-EXCLUDE כדי לא לכלול קובץ הפעלה ספציפי, כמו בקטע הבא:
setenv CDS_AUTO_64BIT EXCLUDE:ncelab
אם תגדיר את המשתנה CDS_AUTO_64BIT לא לכלול את הכלים Incisive (setenv
CDS_AUTO_64BIT EXCLUDE:INCA), כל הכלים Incisive מופעלים במצב 32 סיביות. אולם, ה
אפשרות שורת הפקודה -64bit עוקפת את משתנה הסביבה.
התצורה הבאה files עוזר לך לנהל את הנתונים שלך ולשלוט על פעולתם של כלי הסימולציה וכלי השירות:
- מיפוי ספרייה file (cds.lib) מגדיר שם הגיוני למיקום העיצוב שלך.
- ספריות ומשייך אותן לשמות ספריות פיזיות.
- משתנים file (hdl.var) מגדיר משתנים המשפיעים על ההתנהגות של כלים וכלי עזר לסימולציה.
4.2 הורד ספרייה מהודרת (שאל שאלה)
הורד את הספריות עבור Cadence Xcelium מ-Microsemi's webאֲתַר.
4.3 יצירת סקריפט Xcelium file (שאל שאלה)
לאחר יצירת עותק של run.do files, בצע את השלבים הבאים כדי להפעיל את הסימולציה שלך באמצעות סקריפט Xcelium file.
- צור cds.lib file שמגדיר אילו ספריות נגישות והיכן הן ממוקמות.
ה file מכיל הצהרות הממפות את השמות הלוגיים של הספרייה לנתיבי הספרייה הפיזיים שלהן. למשלample, אם אתה מפעיל סימולציית Presynth, הקובץ cds.lib file ניתן לכתוב כפי שמוצג בבלוק הקוד הבא.
הגדר presynth ./presynth
הגדר COREAHBLITE_LIB ./COREAHBLITE_LIB
הגדר smartfusion2 - צור hdl.var file שהיא תצורה אופציונלית file שמכיל משתני תצורה, שקובעים כיצד מוגדרת סביבת העיצוב שלך. אלו כוללים:
– משתנים המשמשים לציון ספריית העבודה שבה המאחסן המהדר אובייקטים מהודרים ונתונים נגזרים אחרים.
– עבור Verilog, משתנים (LIB_MAP, VIEW_MAP, WORK) המשמשות לציון הספריות ו views כדי לחפש כשהמפרט פותר מופעים.
– משתנים המאפשרים לך להגדיר אפשרויות וארגומנטים של שורת הפקודה מהדר, מעבד וסימולטור.
במקרה של הדמיית Presynth למשלampהצג למעלה, נניח שיש לנו 3 RTL files av, bv ו-testbench.v, אשר צריך להיות קומפילציה לספריות Presynth, COREAHBLITE_LIB ו-Presynth בהתאמה. ה-hdl.var file ניתן לכתוב כפי שמוצג בבלוק הקוד הבא.
הגדר עבודה presynth
הגדר את PROJECT_DIR files>
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/av => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/bv => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/testbench.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, + => presynth ) - הרכב את העיצוב files באמצעות אפשרות ncvlog.
xmvlog +incdir+ –cdslib ./cds.lib –hdlvar ./hdl.var –logfile
ncvlog.log –update –linedebug av bv testbench.v - שכלל את העיצוב באמצעות ncelab. המעבד בונה היררכיית עיצוב המבוססת על מידע מופע ותצורה בתכנון, מבסס קישוריות אות ומחשב ערכים ראשוניים עבור כל האובייקטים בתכנון. היררכיית העיצוב המשוכללת מאוחסנת בתמונת מצב של סימולציה, שהיא הייצוג של העיצוב שלך שהסימולטור משתמש בו כדי להפעיל את הסימולציה.
Xcelium –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax 15 –
גישה +rwc –status worklib. :מודול
הרחבה במהלך הדמיית פוסט-פריסה
במקרה של הדמיות לאחר פריסה, תחילה ה-SDF file צריך להידור לפני הרחבה באמצעות הפקודה ncsdfc.
Xceliumfilename>.sdf –פלטfilename>.sdf.X
במהלך העיבוד, השתמש בפלט SDF המהודר עם אפשרות –autosdf כפי שמוצג בבלוק הקוד הבא.
xmelab -autosdf –Message –cdslib ./cds.lib –hdlvar ./hdl.var –logfile ncelab.log –errormax
15 –access +rwc –status worklib. :module –sdf_cmd_file ./
sdf_cmd_file
ה-sdf_cmd_file חייב להיות כפי שמוצג בבלוק הקוד הבא.
COMPILED_SDF_FILE = " file>" - הדמיה באמצעות Xcelium. לאחר עיבוד נוצרת תמונת מצב של סימולציה אשר נטען על ידי Xcelium לצורך סימולציה. ניתן להפעיל את זה במצב אצווה או במצב GUI.
xmsim –Message –batch/-gui –cdslib ./cds.lib –hdlvar ./hdl.var –logfile xmsim.log -
errormax 15 –status worklib. :מודול
הגדרת Cadence Xcelium
חשוב: הכל ניתן להכניס את שלושת השלבים לעיל של קומפילציה, עיבוד והדמיה לתוך סקריפט מעטפת file ומקורו משורת הפקודה. במקום להשתמש בשלושת השלבים הללו, ניתן לדמות עיצוב בשלב אחד באמצעות אפשרות ncverilog או xrun כפי שמוצג בבלוק הקוד הבא.
xmverilog +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var
fileבשימוש בעיצוב>
xrun +incdir+ -cdslib ./cds.lib –hdlvar ./hdl.var files
בשימוש בעיצוב>
4.3.1 בעיות ידועות (שאל שאלה)
פתרון לעקיפת ספסל הבדיקה
שימוש בהצהרה הבאה לציון תדר השעון בספסל הבדיקה שנוצר על ידי המשתמש או שולחן הבדיקה המוגדר כברירת מחדל שנוצר על ידי Libero SoC לא עובד עם Xcelium.
תמיד @(SYSCLK)
#(SYSCLK_PERIOD / 2.0) SYSCLK <= !SYSCLK;
שנה באופן הבא כדי להפעיל סימולציה:
תמיד #(SYSCLK_PERIOD / 2.0) SYSCLK = ~SYSCLK;
חָשׁוּב: ספריות הידור עבור Xcelium הן ספציפיות לפלטפורמה (כלומר ספריות 64 סיביות אינן תואמות לפלטפורמת 32 סיביות ולהיפך).
סימולציות Postsynth ו-Post-layout באמצעות MSS ו-SERDES
בזמן הפעלת הדמיות פוסט-סינת' של עיצובים המכילים בלוק MSS, או הדמיות פוסט-פריסה של עיצובים באמצעות SERDES, סימולציות BFM אינן פועלות אם אפשרות –libmap לא צוינה במהלך העיבוד. הסיבה לכך היא שבמהלך העיבוד, MSS נפתר מספריית העבודה (בגלל שברירת המחדל של הכריכה וה-worklib הוא postsynth/post-layout) שם הוא רק Fixed Function.
יש לכתוב את הפקודה ncelab כפי שמוצג בבלוק הקוד הבא כדי לפתור את בלוק ה-MSS מהספרייה המוקדמת של SmartFusion2.
xmelab -libmap lib.map -libverbose -הודעה -גישה +rwc cfg1
ואת lib.map file חייב להיות כדלקמן:
config cfg1;
לְעַצֵב ;
ברירת המחדל של liblist smartfusion2 ;
endconfig
זה חייב לפתור כל תא בספריית SmartFusion2 לפני שמסתכלים בספריית העבודה, כלומר postsynth/post-layout.
ניתן להשתמש באפשרות –libmap כברירת מחדל במהלך עיבוד עבור כל סימולציה (presynth, postsynth ו-post-layout). זה מונע בעיות סימולציה שנגרמות עקב פתרון של מופעים מספריות.
xmelab: *F,INTERR: חריגה פנימית
חריג כלי ncelab זה מהווה אזהרה לעיצובים המכילים FDDR ב-SmartFusion2 ו-IGLOO2
במהלך סימולציות פוסט-סינת ופוסט-פריסה באמצעות אפשרות –libmap.
חָשׁוּב: בעיה זו דווחה לצוות התמיכה של Cadence (SAR 52113).
4.4 Sample Tcl ו-Shell script files (שאל שאלה)
הבא files הם התצורה fileדרוש להגדרת תסריט העיצוב והמעטפת file להפעלת פקודות Xcelium.
Cds.lib
הגדר smartfusion2 /scratch/krydor/tmpspace/users/me/nc-vlog64/SmartFusion2
הגדר COREAHBLITE_LIB ./COREAHBLITE_LIB
הגדר presynth ./presynth
Hdl.var
הגדר עבודה presynth
הגדר את PROJECT_DIR /scratch/krydor/tmpspace/sqausers/me/3rd_party_simulators/Cadence/IGLOO2/
ENVM/M2GL050/envm_fic1_ser1_v/eNVM_fab_master
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_addrdec.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_defaultslavesm.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_masterstagev => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavearbiter.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_slavestagev => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite_matrix2x16.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/
vlog/core/coreahblite.v => COREAHBLITE_LIB )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/CCC_0/SB_CCC_0_FCCC.v =>
קדם סינת')
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigMaster/
2.0.101/rtl/vlog/core/coreconfigmaster.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/
vlog/core/coreconfigp.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp_pcie_hotreset.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/Actel/DirectCore/CoreResetP/5.0.103/rtl/
vlog/core/coreresetp.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v =>
קדם סינת')
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_HPMS/SB_HPMS.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB/SB.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v => קדם סינת' )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/SB_top.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, ${PROJECT_DIR}/component/work/SB_top/testbench.v => presynth )
הגדר LIB_MAP ( $LIB_MAP, + => presynth )
Commands.csh
ncvlog +incdir+../../component/work/SB_top -cdslib ./cds.lib -hdlvar ./hdl.var -logfile
ncvlog.log -errormax 15 -עדכון -linedebug
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_addrdec.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/
coreahblite_defaultslavesm.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_masterstagגיל
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavearbiter.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_slavestagגיל
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite_matrix2x16.v
../../component/Actel/DirectCore/CoreAHBLite/4.0.100/rtl/vlog/core/coreahblite.v
../../component/work/SB/CCC_0/SB_CCC_0_FCCC.v
../../component/Actel/DirectCore/CoreConfigMaster/2.0.101/rtl/vlog/core/coreconfigmaster.v
../../component/Actel/DirectCore/CoreConfigP/4.0.100/rtl/vlog/core/coreconfigp.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp_pcie_hotreset.v
../../component/Actel/DirectCore/CoreResetP/5.0.103/rtl/vlog/core/coreresetp.v
../../component/work/SB/FABOSC_0/SB_FABOSC_0_OSC.v ../../component/work/SB_HPMS/SB_HPMS.v
../../component/work/SB/SB.v ../../component/work/SB_top/SERDES_IF_0/
SB_top_SERDES_IF_0_SERDES_IF.v
../../component/work/SB_top/SB_top.v ../../component/work/SB_top/testbench.v
ncelab -הודעה -cdslib ./cds.lib -hdlvar ./hdl.var
-work presynth -logfile ncelab.log -errormax 15 -access +rwc -status presynth.testbench:module
ncsim -הודעה -אצווה -cdslib ./cds.lib -hdlvar ./
hdl.var -logfile ncsim.log -errormax 15 -status presynth.testbench:module
4.5 אוטומציה (כניסה למיקרו-שבב)
התסריט הבא file ממיר את ModelSim run.do files לתוך תצורה fileיש צורך להפעיל סימולציות באמצעות Xcelium.
תַסרִיט File נוֹהָג
perl cadence_parser.pl presynth_run.do postsynth_run.do
postlayout_run.do Microsemi_Family
Location_of_Cadence_Precompiled_libraries
Cadence_parser.pl
#!/usr/bin/perl -w
############################################### ##########################################
##################
#שימוש: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
Microsemi_Family Precompiled_Libraries_location#
############################################### ##########################################
##################
השתמש ב-POSIX;
השתמש מחמירים;
my ($presynth, $postsynth, $postlayout, $family, $lib_location) = @ARGV;
&questa_parser($presynth, $family, $lib_location);
&questa_parser($postsynth, $family, $lib_location);
&questa_parser($postlayout, $family, $lib_location);
sub questa_parser {
my $ModelSim_run_do = $_[0];
$actel_family שלי = $_[1];
שלי $lib_location = $_[2];
המדינה ה$ שלי;
if ( -e "$ModelSim_run_do")
{
להיפתח בFILE"$ModelSim_run_do");
שלי @ModelSim_run_do =FILE>;
השורה $ שלי;
if ( $ModelSim_run_do =~ m/(presynth)/)
{
`mkdir QUESTA_PRESYNTH`;
פתוח (OUTFILE">QUESTA_PRESYNTH/presynth_questa.do");
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postsynth)/)
{
`mkdir QUESTA_POSTSYNTH`;
פתוח (OUTFILE">QUESTA_POSTSYNTH/postsynth_questa.do");
$state = $1;
} elsif ( $ModelSim_run_do =~ m/(postlayout)/ )
{
`mkdir QUESTA_POSTLAYOUT`;
פתוח (OUTFILE,”>QUESTA_POSTLAYOUT/postlayout_questa.do”);
$state = $1;
} אחר
{
קלט שגוי שניתנו ל- file\n";
הדפס "#Usage: perl questa_parser.pl presynth_run.do postsynth_run.do postlayout_run.do
\”Libraries_location\”\n”;
}
foreach $line (@ModelSim_run_do)
{
#פעולות כלליות
$line =~ s/..\/designer.*simulation\///g;
$line =~ s/$state/$state\_questa/g;
#להדפיסFILE "$line \n";
if ($line =~ m/vmap\s+.*($actel_family)/)
{
להדפיסFILE "vmap $actel_family \"$lib_location\"\n";
} elsif ($line =~ m/vmap\s+(.*._LIB)/)
{
$line =~ s/..\/component/..\/..\/component/g;
להדפיסFILE "$line \n";
} elsif ($line =~ m/vsim/)
{
$line =~ s/vsim/vsim -novopt/g;
להדפיסFILE "$line \n";
} אחר
{
להדפיסFILE "$line \n";
}
}
close(INFILE);
סגור(OUTFILE);
} אחר {
הדפס "$ModelSim_run_do אינו קיים. הפעל שוב סימולציה \n";
}
}
הגדרת Siemens QuestaSim/הגדרת ModelSim (שאל שאלה)
ה-run.do files, שנוצר על ידי Libero SoC עבור סימולציות באמצעות ModelSim Microsemi Editions, יכול לשמש עבור סימולציות באמצעות QuestaSim/ModelSim SE/DE/PE עם שינוי יחיד. ב-ModelSim ME/ModelSim Pro ME run.do file, יש לשנות את מיקום הספריות המורכבות מראש.
חָשׁוּב:
כברירת מחדל, כלי הסימולציה מלבד ModelSim Pro ME מבצע אופטימיזציה של עיצוב במהלך סימולציה שיכולה להשפיע על הנראות לתוך חפצי סימולציה כגון אובייקטי עיצוב וגירוי קלט.
זה בדרך כלל מועיל בהפחתת זמן הריצה של סימולציה עבור ההדמיות המורכבות, באמצעות ספסלי בדיקה מילוליים, לבדיקה עצמית. עם זאת, ייתכן שאופטימיזציות ברירת המחדל לא יתאימו לכל הסימולציות, במיוחד במקרים שבהם אתה מצפה לבדוק באופן גרפי את תוצאות הסימולציה באמצעות חלון הגל.
כדי לטפל בבעיות הנגרמות על ידי אופטימיזציה זו, עליך להוסיף פקודות מתאימות וארגומנטים קשורים במהלך הסימולציה כדי לשחזר את הנראות לתוך העיצוב. לפקודות ספציפיות לכלי, עיין בתיעוד של הסימולטור בשימוש.
5.1 משתני סביבה (שאל שאלה)
להלן משתני הסביבה הנדרשים.
- LM_LICENSE_FILE: חייב לכלול את הנתיב לרישיון file.
- MODEL_TECH: חייב לזהות את הנתיב למיקום ספריית הבית של התקנת QuestaSim.
- PATH: חייב להצביע על מיקום ההפעלה שמצביע על ידי MODEL_TECH.
5.2 המרת run.do עבור Mentor QuestaSim (שאל שאלה)
ה-run.do files שנוצרו על ידי Libero SoC עבור סימולציות באמצעות ModelSim Microsemi Editions ניתן להשתמש עבור סימולציות באמצעות QuestaSim/ModelSim_SE עם שינוי יחיד.
חשוב: הכל העיצובים המדומים באמצעות QuestaSim חייבים לכלול -novopt
אפשרות יחד עם פקודת vsim בסקריפט run.do files.
5.3 הורד את הספרייה המורכבת (שאל שאלה)
הורד את הספריות עבור Mentor Graphics QuestaSim מ-Microsemi's webאֲתַר.
Synopsys VCS Setup (שאל שאלה)
הזרימה המומלצת על ידי Microsemi מסתמכת על זרימת ה-Elaborate and Compile ב-VCS. מסמך זה כולל תסריט file שמשתמש בסקריפט run.do fileנוצר על ידי Libero SoC ומייצר את ההגדרה fileדרוש עבור הדמיית VCS. התסריט file משתמש ב-run.do file לעשות את הפעולות הבאות.
- צור מיפוי ספרייה file, אשר נעשה באמצעות synopsys_sim.setup file ממוקם באותה ספרייה שבה פועלת סימולציית VCS.
- צור סקריפט מעטפת file כדי לפרט ולהרכיב את העיצוב שלך באמצעות VCS.
6.1 משתני סביבה (שאל שאלה)
הגדר את משתני הסביבה המתאימים עבור VCS בהתבסס על ההגדרה שלך. משתני הסביבה הדרושים לפי תיעוד VCS הם:
- LM_LICENSE_FILE: חייב לכלול מצביע לשרת הרישיון.
- VCS_HOME: חייב להצביע על מיקום ספריית הבית של התקנת VCS.
- PATH: חייב לכלול מצביע לספריית bin מתחת לספריית VCS_HOME.
6.2 הורד ספרייה מהודרת (שאל שאלה)
הורד את הספריות עבור Synopsys VCS מ-Microsemi's webאֲתַר.
6.3 VCS Simulation Script File (שאל שאלה)
לאחר הגדרת VCS ויצירת העיצוב וה-run.do השונה files מ Libero SoC, אתה חייב:
- צור את מיפוי הספרייה file synopsys_sim.setup; זֶה file מכיל מצביעים למיקומן של כל הספריות שישמשו את העיצוב.
חשוב: ה file אסור לשנות את השם והוא חייב להיות ממוקם באותה ספרייה שבה מופעלת הסימולציה. הנה אקסample עבור כזה file להדמיית פרה-סינתזה.
עבודה > EFAULT
SmartFusion2:
presynth : ./presynth
ברירת מחדל : ./עבודה - פרט את העיצוב השונה files, כולל ה-testbench, באמצעות פקודת vlogan ב-VCS. פקודות אלה עשויות להיכלל בסקריפט מעטפת file. להלן אקסampחלק מהפקודות הדרושות כדי לגבש עיצוב שהוגדר ב-rtl.v כאשר ספסל הבדיקה שלו מוגדר ב-
testbench.v.
vlogan +v2k -work presynth rtl.v
vlogan +v2k -work presynth testbench.v - הרכיב את העיצוב באמצעות VCS באמצעות הפקודה הבאה.
vcs –sim_res=1fs presynth.testbench
הערה: ה רזולוציית תזמון של סימולציה חייבת להיות מוגדרת ל-1fs עבור הדמיה פונקציונלית נכונה. - לאחר הידור העיצוב, התחל סימולציה באמצעות הפקודה הבאה.
./simv - עבור סימולציה עם הערות חוזרות, הפקודה VCS חייבת להיות כפי שמוצג בבלוק הקוד הבא.
vcs postlayout.testbench –sim_res=1fs –sdf max: .
שם>: file path> –gui –l postlayout.log
6.4 מגבלות/חריגים (שאל שאלה)
להלן המגבלות/חריגים של הגדרת Synopsys VCS.
- ניתן להריץ סימולציות VCS רק עבור פרויקטים של Verilog של Libero SoC. לסימולטור VCS יש דרישות קפדניות של שפת VHDL שאינן מתקיימות על ידי ה-VHDL שנוצר באופן אוטומטי של Libero SoC files.
- אתה חייב להיות הצהרת $finish ב-Verilog testbench כדי לעצור את הסימולציה מתי שתרצה.
חשוב: מתי סימולציות מופעלות במצב GUI, ניתן לציין זמן ריצה ב-GUI.
6.5 Sample Tcl ו-Shell Script Files (שאל שאלה)
Perl הבא הופך את היצירה של synopsys_sim.setup לאוטומטי file כמו גם תסריט המעטפת המתאים fileנדרשים כדי לפרט, להדר ולדמות את העיצוב.
אם העיצוב משתמש ב-MSS, העתק את ה-test.vec file ממוקם בתיקיית הסימולציה של פרויקט Libero SoC לתוך תיקיית הדמיית VCS. הסעיפים הבאים מכילים סample run.do files שנוצר על ידי Libero SoC, כולל מיפוי הספרייה ותסריט המעטפת המקביל fileדרוש עבור הדמיית VCS.
6.5.1 טרום סינתזה (שאל שאלה)
Presynth_run.do
הגדר בשקט את ACTELLIBNAME SmartFusion2
הגדר בשקט את PROJECT_DIR "/sqa/users/me/VCS_Tests/Test_DFF"
אם {[file קיים presynth/_info]} {
echo "INFO: Presynth ספריית סימולציה כבר קיים"
} אחר {
vlib presynth
}
vmap presynth presynth
vmap SmartFusion2 “/captures/lin/11_0_0_23_11prod/lib/ModelSim/precompiled/vlog/smartfusion2”
vlog -work presynth "${PROJECT_DIR}/component/work/SD1/SD1.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -work presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L presynth -t 1fs presynth.SD1_TB1
הוסף גל /SD1_TB1/*
הוסף log -r /*
לרוץ 1000ns
presynth_main.csh
#!/bin/csh -f
הגדר PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work presynth "${PROJECT_DIR}/component/
עבודה/SD1/SD1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -work
presynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs presynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
עבודה > ברירת מחדל
SmartFusion2 : /VCS/SmartFusion2
presynth : ./presynth
ברירת מחדל : ./עבודה
6.5.2 פוסט סינתזה (שאל שאלה)
postsynth_run.do
הגדר בשקט את ACTELLIBNAME SmartFusion2
הגדר בשקט את PROJECT_DIR "/sqa/users/Me/VCS_Tests/Test_DFF"
אם {[file קיים postsynth/_info]} {
echo "INFO: ספריית סימולציה postsynth כבר קיימת"
} אחר {
vlib postsynth
}
vmap postsynth postsynth
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2"
vlog -work postsynth "${PROJECT_DIR}/synthesis/SD1.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -work postsynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postsynth -t 1fs postsynth.SD1_TB1
הוסף גל /SD1_TB1/*
הוסף log -r /*
לרוץ 1000ns
יומן SD1_TB1/*
יְצִיאָה
Postsynth_main.csh
#!/bin/csh -f
הגדר PROJECT_DIR = "/sqa/users/Me/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postsynth "${PROJECT_DIR}/synthesis/
SD1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -work
postsynth "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postsynth.SD1_TB1 -l compile.log
./simv -l run.log
Synopsys_sim.setup
עבודה > ברירת מחדל
SmartFusion2 : /VCS/SmartFusion2
postsynth : ./postsynth
ברירת מחדל : ./עבודה
6.5.3 לאחר פריסה (שאל שאלה)
postlayout_run.do
הגדר בשקט את ACTELLIBNAME SmartFusion2
הגדר בשקט את PROJECT_DIR "E:/ModelSim_Work/Test_DFF"
אם {[file קיים ../designer/SD1/simulation/postlayout/_info]} {
echo "INFO: ספריית סימולציה ../designer/SD1/simulation/postlayout כבר קיימת"
} אחר {
vlib ../designer/SD1/simulation/postlayout
}
vmap postlayout ../designer/SD1/simulation/postlayout
vmap SmartFusion2 “//idm/captures/pc/11_0_1_12_g4x/Designer/lib/ModelSim/precompiled/vlog/
SmartFusion2"
vlog -work postlayout "${PROJECT_DIR}/designer/SD1/SD1_ba.v"
vlog "+incdir+${PROJECT_DIR}/stimulus" -work postlayout "${PROJECT_DIR}/stimulus/SD1_TB1.v"
vsim -L SmartFusion2 -L postlayout -t 1fs -sdfmax /SD1_0=${PROJECT_DIR}/designer/SD1/
SD1_ba.sdf postlayout.SD1_TB1
הוסף גל /SD1_TB1/*
הוסף log -r /*
לרוץ 1000ns
Postlayout_main.csh
#!/bin/csh -f
הגדר PROJECT_DIR = "/VCS_Tests/Test_DFF"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k -work postlayout "${PROJECT_DIR}/
designer/SD1/SD1_ba.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k "+incdir+${PROJECT_DIR}/stimulus" -work
postlayout "${PROJECT_DIR}/stimulus/SD1_TB1.v"
/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.SD1_TB1 -sdf
max:SD1_TB1.SD1_0:${PROJECT_DIR}/designer/SD1/SD1_ba.sdf -l compile.log
./simv -l run.log
Synopsys_sim.setup
עבודה > ברירת מחדל
SmartFusion2 : /VCS/SmartFusion2
postlayout : ./postlayout
ברירת מחדל: ./workVCS
6.6 אוטומציה (שאל שאלה)
הזרימה יכולה להיות אוטומטית באמצעות הסקריפט הבא של Perl file כדי להמיר את ה-ModelSim run.do files לתוך סקריפט מעטפת תואם VCS files, צור ספריות מתאימות בתוך ספריית סימולציית Libero SoC, ולאחר מכן הרץ סימולציות.
הפעל את התסריט file באמצעות התחביר הבא.
perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
Vcs_parse_pl
#!/usr/bin/perl -w
############################################### ###########################
#
#שימוש: perl vcs_parse.pl presynth_run.do postsynth_run.do postlayout_run.do
#
############################################### ############################
my ($presynth, $postsynth, $postlayout) = @ARGV;
if(system("mkdir VCS_Presynth")) {הדפס "mkdir נכשל:\n";}
if(system("mkdir VCS_Postsynth")) {הדפס "mkdir נכשל:\n";}
if(system(“mkdir VCS_Postlayout”)) {הדפס “mkdir נכשל:\n”;}
chdir(VCS_Presynth);
`cp ../$ARGV[0] .` ;
&parse_do($presynth,"presynth");
chdir ("../");
chdir(VCS_Postsynth);
`cp ../$ARGV[1] .` ;
&parse_do($postsynth,"postsynth");
chdir ("../");
chdir(VCS_Postlayout);
`cp ../$ARGV[2] .` ;
&parse_do($postlayout,"postlayout");
chdir ("../");
sub parse_do {
my $vlog = "/cad_design/tools/vcs.dir/E-2011.03/bin/vlogan +v2k" ;
שלי %LIB = ();
$ שליfile = $__[0];
my $state = $_[1];
להיפתח בFILE"$file”) || למות "לא יכול לפתוח File הסיבה עשויה להיות:$!";
if ($state eq "presynth")
{
open(OUT1,">presynth_main.csh") || למות "לא יכול ליצור פקודה File הסיבה עשויה להיות:$!";
}
elsif ($state eq "postsynth")
{
open(OUT1,">postsynth_main.csh") || למות "לא יכול ליצור פקודה File הסיבה עשויה להיות:$!";
}
elsif ($state eq "postlayout")
{
open(OUT1,">postlayout_main.csh") || למות "לא יכול ליצור פקודה File הסיבה עשויה להיות:$!";
}
אַחֵר
{
print "מצב סימולציה חסר \n" ;
}
open(OUT2,">synopsys_sim.setup") || למות "לא יכול ליצור פקודה File הסיבה עשויה להיות:$!";
# .csh file
הדפס OUT1 "#!/bin/csh -f\n\n\n" ;
#להכין FILE
הדפס OUT2 "עבודה > ברירת מחדל\n" ;
print OUT2 "SmartFusion2 : /sqa/users/Aditya/VCS/SmartFusion2\n" ;
while ($line =FILE>)
{
הגדרת Synopsys VCS
if ($line =~ m/הגדר בשקט PROJECT_DIR\s+\”(.*?)\”/)
{
הדפס OUT1 "set PROJECT_DIR = \"$1\"\n\n\n" ;
}
elsif ( $line =~ m/vlog.*\.v\”/ )
{
if ($line =~ m/\s+(\w*?)\_LIB/)
{
#print "\$1 =$1 \n" ;
$temp = "$1″."_LIB";
#print "Temp = $temp \n" ;
$LIB{$temp}++;
}
chomp($line);
$line =~ s/^vlog/$vlog/ ;
$line =~ s/ //g;
הדפס OUT1 "$line\n";
}
elsif (($line =~ m/vsim.*presynth\.(.*)/) || ($line =~ m/vsim.*postsynth\.(.*)/) || ($line
=~ m/vsim.*postlayout\.(.*)/) )
{
$tb = $1 ;
$tb =~ s/ //g;
chomp($tb);
#print "שם TB: $tb \n";
if ( $line =~ m/sdf(.*)\.sdf/)
{
chomp($line);
$line = $1 ;
#print "LINE : $line \n" ;
if ($line =~ m/max/)
{
$line =~ s/max \/// ;
$line =~ s/=/:/;
הדפס OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
max:$tb.$line.sdf -l compile.log\n" ;
}
elsif ($line =~ m/min/)
{
$line =~ s/min \/// ;
$line =~ s/=/:/;
הדפס OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
min:$tb.$line.sdf -l compile.log\n" ;
}
elsif ($line =~ m/typ/)
{
$line =~ s/typ \/// ;
$line =~ s/=/:/;
הדפס OUT1 "\n\n/cad_design/tools/vcs.dir/E-2011.03/bin/vcs -sim_res=1fs postlayout.$tb -sdf
typ:$tb.$line.sdf -l compile.log\n" ;
}
#-sdfmax /M3_FIC32_0=${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf — פורמט ModelSim SDF
#$sdf = "-sdf max:testbench.M3_FIC32_0:${PROJECT_DIR}/designer/M3_FIC32/M3_FIC32_ba.sdf"; -VCS
פורמט SDF
}
}
}
הֶדפֵּס
OUT1 "\n\n"
;
if
($state eq "presynth"
)
{
הֶדפֵּס
OUT2 "presynth
: ./presynth\n"
;
הֶדפֵּס
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs presynth.$tb -l
compile.log\n"
;
}
אלסיף
($state eq "postsynth"
)
{
הֶדפֵּס
OUT2 "פוסט סינת'
: ./postsynth\n"
;
הֶדפֵּס
OUT1 "/cad_design/tools/vcs.dir/E-2011.03/bin/vcs
-sim_res=1fs postsynth.$tb -l
compile.log\n"
;
}
אלסיף
($state eq "postlayout"
)
{
הדפס OUT2 "postlayout : ./postlayout\n" ;
}
אַחֵר
{
print "מצב סימולציה חסר \n" ;
}
foreach $i (מפתחות %LIB)
{
#print "מפתח : ערך $i : $LIB{$i} \n" ;
הדפס OUT2 "$i : ./$i\n" ;
}
הדפס OUT1 "\n\n" ;
הדפס OUT1 "./simv -l run.log\n" ;
הדפס OUT2 "ברירת מחדל : ./work\n" ;
לסגור INFILE;
סגור OUT1;
סגור OUT2;
}
היסטוריית גרסאות (כניסה למיקרו-שבב
היסטוריית הגרסאות מתארת את השינויים שיושמו במסמך. השינויים
רשומים לפי גרסה, החל מהפרסום העדכני ביותר.
עדכון | תַאֲרִיך | תֵאוּר |
A | 12/2023 | השינויים הבאים בוצעו בגרסה זו: • מסמך הומר לתבנית Microchip. תיקון ראשוני. • סעיף 5 מעודכן. הגדרת Siemens QuestaSim/הגדרת ModelSim כדי לכלול הערה חדשה שמסבירה את ההשפעה על הנראות במהלך סימולציה ואופטימיזציה. |
תמיכת Microchip FPGA
קבוצת מוצרי Microchip FPGA מגבה את מוצריה בשירותי תמיכה שונים, כולל שירות לקוחות, מרכז תמיכה טכנית ללקוחות, webאתר ומשרדי מכירות ברחבי העולם.
מומלץ ללקוחות לבקר במשאבים מקוונים של Microchip לפני יצירת קשר עם התמיכה מכיוון שסביר מאוד שהשאלות שלהם כבר נענו.
צור קשר עם מרכז התמיכה הטכנית דרך ה webאתר ב www.microchip.com/support. ציינו את מספר החלק של מכשיר ה-FPGA, בחרו בקטגוריית המקרה המתאימה והעלו עיצוב files תוך יצירת מקרה תמיכה טכנית.
צור קשר עם שירות הלקוחות לתמיכה במוצר לא טכני, כגון תמחור מוצר, שדרוגי מוצר, עדכון מידע, סטטוס הזמנה והרשאה.
- מצפון אמריקה, התקשר למספר 800.262.1060
- משאר העולם, התקשר למספר 650.318.4460
- פקס, מכל מקום בעולם, 650.318.8044
מידע על שבבים
המיקרו-שבב Webאֲתַר
Microchip מספק תמיכה מקוונת דרך שלנו webאתר ב www.microchip.com/. זֶה webהאתר משמש ליצירת files ומידע זמין בקלות ללקוחות. חלק מהתוכן הזמין כולל:
- תמיכת מוצר - דפי נתונים ותקלות, הערות יישום וס'ampתוכניות, משאבי עיצוב, מדריכים למשתמש ומסמכי תמיכה בחומרה, מהדורות תוכנה אחרונות ותוכנות מארכיון
- תמיכה טכנית כללית - שאלות נפוצות (שאלות נפוצות), בקשות תמיכה טכנית, קבוצות דיון מקוונות, רישום חברי תוכנית שותפי עיצוב Microchip
- Business of Microchip - מדריכי בורר מוצרים ומזמינים, הודעות לעיתונות אחרונות של Microchip, רשימת סמינרים ואירועים, רשימות של משרדי מכירות, מפיצים ונציגי מפעל של Microchip
שירות הודעות על שינוי מוצר
שירות ההודעות על שינוי מוצר של Microchip עוזר לעדכן את הלקוחות במוצרי Microchip. מנויים יקבלו הודעה בדוא"ל בכל פעם שיהיו שינויים, עדכונים, תיקונים או שגיאות הקשורות למשפחת מוצרים או כלי פיתוח ספציפיים שמעניינים אותם.
להרשמה, עבור אל www.microchip.com/pcn ופעל לפי הוראות הרישום.
תמיכת לקוחות
משתמשים במוצרי Microchip יכולים לקבל סיוע באמצעות מספר ערוצים:
- מפיץ או נציג
- משרד מכירות מקומי
- מהנדס פתרונות משובצים (ESE)
- תמיכה טכנית
לקוחות צריכים ליצור קשר עם המפיץ, הנציג או ESE שלהם לקבלת תמיכה. משרדי מכירות מקומיים זמינים גם הם לעזור ללקוחות. רשימה של משרדי מכירות ומיקומים כלולה במסמך זה.
תמיכה טכנית זמינה דרך webאתר בכתובת: www.microchip.com/support
תכונת הגנת קוד של התקני מיקרו-שבב
שימו לב לפרטים הבאים של תכונת הגנת הקוד במוצרי Microchip:
- מוצרי Microchip עומדים במפרט הכלול בגיליון הנתונים הספציפי של Microchip.
- Microchip מאמינה שמשפחת המוצרים שלה מאובטחת כאשר משתמשים בהם באופן המיועד, במסגרת מפרטי ההפעלה ובתנאים רגילים.
- Microchip מעריך ומגן באגרסיביות על זכויות הקניין הרוחני שלו. ניסיונות להפר את תכונות הגנת הקוד של מוצר Microchip אסורים בהחלט ועלולים להפר את Digital Millennium Copyright Act.
- לא Microchip ולא כל יצרן מוליכים למחצה אחר יכולים להבטיח את אבטחת הקוד שלו. הגנת קוד אינה אומרת שאנו מבטיחים שהמוצר "בלתי שביר".
הגנת קוד מתפתחת כל הזמן. Microchip מחויבת לשיפור מתמיד של תכונות הגנת הקוד של המוצרים שלנו.
הודעה משפטית
ניתן להשתמש בפרסום זה ובמידע המופיע כאן רק עם מוצרי Microchip, לרבות לתכנון, בדיקה ושילוב של מוצרי Microchip עם האפליקציה שלך. שימוש במידע זה בכל דרך אחרת מפר תנאים אלה. מידע לגבי יישומי מכשיר מסופק רק לנוחיותך וייתכן שיוחלף על ידי עדכונים. באחריותך לוודא שהיישום שלך עומד במפרטים שלך. צור קשר עם משרד המכירות המקומי של Microchip לקבלת תמיכה נוספת או, קבל תמיכה נוספת בכתובת www.microchip.com/en-us/support/design-help/client-support-services.
מידע זה מסופק על ידי MICROCHIP "כמות שהוא". MICROCHIP אינה מציגה מצגים או התחייבויות מכל סוג, בין אם מפורשות או משתמעות, בכתב או בעל-פה, בחוק או אחרת, הקשורות למידע, כולל אך לא מוגבלת לשום התחייבות משתמעת של התחייבות-התחייבות, והבטחות. התאמה למטרה מסוימת, או אחריות הקשורה למצבה, לאיכותה או לביצועיה.
בשום מקרה, MICROCHIP לא תישא באחריות לכל אובדן עקיף, מיוחד, עונשי, מקרי או תוצאתי, נזק, עלות או הוצאה מכל סוג שהוא הקשור למידע או לשימוש בו, בכל מקרה בו ובין כך. האפשרות או הנזקים ניתנים לחיזוי. במידה המלאה המותרת על פי חוק, החבות הכוללת של MICROCHIP על כל התביעות בכל דרך הקשורה למידע או לשימוש בו לא תעלה על סכום העמלות, אם בכלל, ששילמת ישירות ל-MiCROCHIP.
השימוש במכשירי Microchip ביישומי תמיכה ו/או בטיחות הוא לחלוטין על אחריותו של הקונה, והקונה מסכים להגן, לשפות ולשמור על Microchip ללא מזיק מכל נזק, תביעה, תביעה או הוצאות הנובעות משימוש כאמור. שום רישיונות לא מועברים, במשתמע או בכל דרך אחרת, תחת כל זכויות קניין רוחני של Microchip, אלא אם צוין אחרת.
סימני מסחר
השם והלוגו של ה-Microchip, הלוגו של Microchip, Adaptec, AVR, AVR, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, Logo SST, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron ו-XMEGA הם סימנים מסחריים רשומים של Microchip Technology Incorporated בארה"ב ובמדינות אחרות.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus לוגו, Quiet- Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime ו-ZL הם סימנים מסחריים רשומים של Microchip Technology Incorporated בארה"ב
דיכוי מפתחות סמוכים, AKS, אנלוגי לעידן הדיגיטלי, כל קבל, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net התאמה דינמית, , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, קישוריות בין-שבבים, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, לוגו MPLAB Certified, MPLIB, MPLINK, MultiTRAK, NetDetach, Generation Code Omniscient, PICDEM, PICDEM.net,
PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAMICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher,
SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect ו-ZENA הם סימנים מסחריים של Microchip Technology Incorporated
בארה"ב ובמדינות אחרות.
SQTP הוא סימן שירות של Microchip Technology Incorporated בארה"ב
הלוגו של Adaptec, Frequency on Demand, Silicon Storage Technology ו-Symcom הם סימנים מסחריים רשומים של Microchip Technology Inc. במדינות אחרות.
GestIC הוא סימן מסחרי רשום של Microchip Technology Germany II GmbH & Co. KG, חברה בת של Microchip Technology Inc., במדינות אחרות.
כל שאר הסימנים המסחריים המוזכרים כאן הם קניין של החברות בהתאמה.
© 2023, Microchip Technology Incorporated וחברות הבנות שלה. כל הזכויות שמורות.
ISBN: 978-1-6683-3694-6
מערכת ניהול איכות
למידע על מערכות ניהול האיכות של Microchip, אנא בקר www.microchip.com/quality.
אמריקה | אסיה/פסיפיק | אסיה/פסיפיק | אֵירוֹפָּה |
משרד תאגידי 2355 West Chandler Blvd. צ'נדלר, AZ 85224-6199 טל: 480-792-7200 פַקס: 480-792-7277 תמיכה טכנית: www.microchip.com/support Web כְּתוֹבֶת: www.microchip.com אטלנטה דולות', ג'ורג'יה טל: 678-957-9614 פַקס: 678-957-1455 אוסטין, טקסס טל: 512-257-3370 בוסטון Westborough, MA טל: 774-760-0087 פַקס: 774-760-0088 שיקגו איטסקה, IL טל: 630-285-0071 פַקס: 630-285-0075 דאלאס אדיסון, טקסס טל: 972-818-7423 פַקס: 972-818-2924 דטרויט נובי, MI טל: 248-848-4000 יוסטון, טקסס טל: 281-894-5983 אינדיאנפוליס נובלסוויל, אינדיאני טל: 317-773-8323 פַקס: 317-773-5453 טל: 317-536-2380 לוס אנג'לס Mission Viejo, CA טל: 949-462-9523 פַקס: 949-462-9608 טל: 951-273-7800 ראלי, NC טל: 919-844-7510 ניו יורק, ניו יורק טל: 631-435-6000 סן חוזה, קליפורניה טל: 408-735-9110 טל: 408-436-4270 קנדה - טורונטו טל: 905-695-1980 פַקס: 905-695-2078 |
אוסטרליה - סידני טל': 61-2-9868-6733 סין - בייג'ין טל': 86-10-8569-7000 סין - צ'נגדו טל': 86-28-8665-5511 סין - צ'ונגצ'ינג טל': 86-23-8980-9588 סין - דונגגוואן טל': 86-769-8702-9880 סין - גואנגג'ואו טל': 86-20-8755-8029 סין - האנגג'ואו טל': 86-571-8792-8115 סין - הונג קונג SAR טל': 852-2943-5100 סין - נאנג'ינג טל': 86-25-8473-2460 סין - צ'ינגדאו טל': 86-532-8502-7355 סין - שנחאי טל': 86-21-3326-8000 סין - שניאנג טל': 86-24-2334-2829 סין - שנזן טל': 86-755-8864-2200 סין - סוג'ואו טל': 86-186-6233-1526 סין - ווהאן טל': 86-27-5980-5300 סין - שיאן טל': 86-29-8833-7252 סין - שיאמן טל': 86-592-2388138 סין - ג'וחאי טל': 86-756-3210040 |
הודו - בנגלור טל': 91-80-3090-4444 הודו - ניו דלהי טל': 91-11-4160-8631 הודו - פונה טל': 91-20-4121-0141 יפן - אוסקה טל': 81-6-6152-7160 יפן - טוקיו טל': 81-3-6880- 3770 קוריאה - דאגו טל': 82-53-744-4301 קוריאה - סיאול טל': 82-2-554-7200 מלזיה - קואלה לומפור טל': 60-3-7651-7906 מלזיה - פננג טל': 60-4-227-8870 הפיליפינים - מנילה טל': 63-2-634-9065 סינגפור טל': 65-6334-8870 טייוואן – Hsin Chu טל': 886-3-577-8366 טייוואן - קאושיונג טל': 886-7-213-7830 טייוואן - טייפה טל': 886-2-2508-8600 תאילנד - בנגקוק טל': 66-2-694-1351 וייטנאם - הו צ'י מין טל': 84-28-5448-2100 |
אוסטריה - ולס טל': 43-7242-2244-39 פקס: 43-7242-2244-393 דנמרק - קופנהגן טל': 45-4485-5910 פקס: 45-4485-2829 פינלנד - אספו טל': 358-9-4520-820 צרפת - פריז Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 גרמניה - גארצ'ינג טל': 49-8931-9700 גרמניה – האן טל': 49-2129-3766400 גרמניה - היילברון טל': 49-7131-72400 גרמניה - קרלסרוהה טל': 49-721-625370 גרמניה - מינכן Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 גרמניה - רוזנהיים טל': 49-8031-354-560 ישראל – רעננה טל': 972-9-744-7705 איטליה - מילאנו טל': 39-0331-742611 פקס: 39-0331-466781 איטליה - פדובה טל': 39-049-7625286 הולנד – דרונן טל': 31-416-690399 פקס: 31-416-690340 נורבגיה - טרונדהיים טל': 47-72884388 פולין - ורשה טל': 48-22-3325737 רומניה - בוקרשט Tel: 40-21-407-87-50 ספרד - מדריד Tel: 34-91-708-08-90 Fax: 34-91-708-08-91 שבדיה - גוטנברג Tel: 46-31-704-60-40 שבדיה - שטוקהולם טל': 46-8-5090-4654 בריטניה - ווקינגהאם טל': 44-118-921-5800 פקס: 44-118-921-5820 |
© 2023 Microchip Technology Inc. וחברות הבנות שלה
DS50003627A -
מסמכים / משאבים
![]() |
תוכנת ספריית סימולציה של MICROCHIP Libero SoC [pdfמדריך למשתמש DS50003627A, Libero SoC Simulation Library Software, SoC Simulation Library Software, Simulation Library Software, Software Library, Software |