אנגליתצרפתיתספרדי

Ad


סמל OnWorks

iverilog - מקוון בענן

הפעל iverilog בספק אירוח בחינם של OnWorks על אובונטו מקוון, פדורה מקוון, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

זהו הפקודה iverilog שניתן להריץ בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS

תָכְנִית:

שֵׁם


iverilog - מהדר של Icarus Verilog

תַקצִיר


iverilog [-ESVv] [-Bpath] [-ccmdfile|-fcmdfile] [-Dmacro[=defn]] [-pflag=value] [-dname]
[-g1995|-g2001|-g2005|-g ] [-Iincludedir] [-mmodule] [-Mfile] [-Nfile]
[-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] [-ypath] קובץ המקור

תיאור


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

אפשרויות


iverilog מקבל את האפשרויות הבאות:

-Bבסיס אל האני iverilog התוכנית משתמשת בתוכנות חיצוניות ובקובצי תצורה לעיבוד מקדים
ולהרכיב את מקור Verilog. בדרך כלל, הנתיב המשמש לאיתור הכלים הללו הוא
מובנה בתוך iverilog תכנית. אולם, ה -B מתג מאפשר למשתמש לבחור
קבוצה שונה של תוכניות. הנתיב שניתן משמש לאיתור ivlpp, ivl, קוד
גנרטורים ומודול ה-VPI.

-cפילה -fפילה
דגלים אלה מציינים קובץ קלט המכיל רשימה של קובצי מקור של Verilog.
זה דומה ל- הפקודה פילה של סימולטורים אחרים של Verilog, בכך שהוא א
קובץ שמכיל את שמות הקבצים במקום לקחת אותם בשורת הפקודה. לִרְאוֹת
פיקוד קבצים לְהַלָן.

-Dמאקרו מגדיר מאקרו מאקרו עם המחרוזת '1' כהגדרתה. טופס זה הוא רגיל
משמש רק להפעלת תנאי ifdef במקור Verilog.

-Dmacro=defn
מגדיר מאקרו מאקרו as defn.

-dשם הפעל מחלקה של הודעות איתור באגים מהדר. ה -d ניתן להשתמש במתג כ
לעתים קרובות לפי הצורך כדי להפעיל את כל ההודעות הרצויות. שמות נתמכים הם
scopes, eval_tree, elaborate ו-synth2; מתעלמים מכל שמות אחרים.

-E עבד מראש את המקור של Verilog, אך אל תקמפל אותו. קובץ הפלט הוא ה
קלט Verilog, אך עם הכללת קבצים והפניות מאקרו מורחבות והוסרו.
זה שימושי, למשל, לעיבוד מקדים של מקור Verilog לשימוש על ידי אחרים
מהדרים.

-ג1995|-ג2001|-g2001-noconfig|-ג2005
בחר את שפת Verilog דור לתמיכה במהדר. זה בוחר
בֵּין IEEE1364-1995, IEEE1364-2001, או IEEE1364-2005. בדרך כלל, איקרוס ורילוג
ברירת המחדל לדור הידוע האחרון של השפה. הדגל הזה שימושי ביותר
להגביל את השפה לסט הנתמך על ידי כלים של דורות ספציפיים, עבור
תאימות לכלים אחרים.

-gverilog-ams|-gno-verilog-ams
הפעל או השבת (ברירת מחדל) תמיכה עבור Verilog-AMS. מעט מאוד Verilog-AMS
פונקציונליות ספציפית נתמכת כעת.

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

-gstd-include|-gno-std-include
אפשר (ברירת מחדל) או השבת את החיפוש של התקנה סטנדרטית כולל
ספרייה אחרי כל ספריות כוללות מפורשות אחרות. תקן זה כולל
ספרייה היא מקום נוח להתקנת קבצי כותרת סטנדרטיים של Verilog
התוכנית עשויה לכלול.

-רב-כלול|-gno-relative-include
אפשר או השבת (ברירת מחדל) הוספת ספריית הקבצים המקומית לתחילתו של
נתיב החיפוש של הקובץ כולל. זה מאפשר לכלול קבצים ביחס ל-
הקובץ הנוכחי לא הקבצים הנפוצים יותר נמצאים רק בספריית העבודה או
בנתיב החיפוש של קובץ include שצוין.

-gxtypes|-gno-xtypes
הפעל (ברירת מחדל) או השבת תמיכה עבור סוגים מורחבים. הפעלת סוגים מורחבים
מאפשר סוגים חדשים הנתמכים על ידי Icarus Verilog כהרחבות מעבר ל
קו הבסיס של Verilog. ייתכן שיהיה צורך להשבית סוגים מורחבים בעת הידור קוד
שמתנגש עם מילות המפתח החדשות המועטות המשמשות ליישום מערכת הטיפוס.

-שגיאה-gio-range|-gno-io-range-error
הסטנדרטים דורשים שליציאה וקטורית יהיו טווחים תואמים ליציאה שלו
הצהרה וכן כל הצהרת נטו/רושם. זה היה נוהג מקובל ב
עבר כדי לציין רק את הטווח עבור הצהרת net/register וכמה כלים
עדיין לאפשר זאת. כברירת מחדל, כל אי התאמה מדווחת כשגיאה. באמצעות
-gno-io-range-error יפיק אזהרה במקום טעות קטלנית למקרה
של רשת/אוגר מקודר והצהרת יציאה סקלרית.

-gstrict-ca-eval|-gno-strict-ca-eval
התקן דורש שאם יש קלט לביטוי הקצאה רציפה
משנה ערך, הביטוי כולו מוערך מחדש. כברירת מחדל, חלקים מה-
ביטוי שאינם תלויים בערכי הקלט שהשתנו אינם מוערכים מחדש.
אם ביטוי מכיל קריאה לפונקציה שאינה תלויה רק ​​בה
ערכי קלט או שיש להם תופעות לוואי, ההתנהגות שתתקבל תהיה שונה ממנה
מה שנדרש בתקן. באמצעות -gstrict-ca-eval יכפה תקן
התנהגות תואמת (עם אובדן מסוים בביצועים).

-Iכלולותיר
הוסף ספרייה כלולותיר לרשימת הספריות שחיפשו את Verilog include
קבצים. ה -I ניתן להשתמש ב- switch פעמים רבות כדי לציין מספר ספריות
חיפוש, מבוצע חיפוש בספריות לפי סדר הופעתן בשורת הפקודה.

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

-mמודול
הוסף מודול זה לרשימת מודולי ה-VPI שיטענו על ידי הסימולציה. רב
ניתן לציין מודולים, וכולם ייטענו, בסדר שצוין. ה
מודול המערכת מרומז וכלול תמיד. אם קובץ טבלת פונקציות מערכת
( .sft) קיים עבור המודול הוא ייטען אוטומטית.

-Nנתיב זה משמש לאיתור באגים של המהדר. זרוק את הטופס הסופי של ה-netlist של
עיצוב לקובץ שצוין. אחרת זה לא משפיע על פעולת ה
מַהְדֵר. ההשלכה מתרחשת לאחר שהעיצוב משוכלל ומוטב.

-o שם הקובץ
שים פלט בקובץ שם הקובץ. אם לא צוין שם קובץ פלט, iverilog
משתמש בשם ברירת המחדל א.אאוט.

-pדגל=ערך
הקצה ערך לדגל ספציפי ליעד. ה -p ניתן להשתמש במתג לעתים קרובות ככל
הכרחי כדי לציין את כל הדגלים הרצויים. הדגלים שבהם נעשה שימוש תלויים ב
יעד שנבחר, ומתואר בתיעוד ספציפי ליעד. דגלים
שלא נעשה בהם שימוש מתעלמים.

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

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

-Tmin|typ|max
השתמש במתג זה כדי לבחור מספר דקות, סוג או מקסימום מביטויי min:typ:max.
בדרך כלל, המהדר פשוט ישתמש בערך ה-typ מביטויים אלה
(מדפיס אזהרה לעשרת הראשונים שהוא מוצא) אבל המתג הזה יגיד את
מהדר במפורש באיזה ערך להשתמש. זה ידכא את האזהרה ש-
המהדר עושה בחירה.

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

-v הפעל הודעות מילוליות. זה ידפיס את שורות הפקודה שמבוצעות אליהן
לבצע את הקומפילציה בפועל, יחד עם מידע גרסה מהשונות
רכיבים, כמו גם הגרסה של המוצר בכללותו. אתה תבחין
ששורות הפקודה כוללות הפניה לקובץ זמני מפתח שעובר
מידע לקומפיילר עצמו. כדי שהקובץ לא יימחק ב-
בסוף התהליך, ספק שם קובץ משלך במשתנה הסביבה
IVERILOG_ICONFIG.

-V הדפס את גרסת המהדר וצא.

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

-ylibdir
הוסף את הספרייה לנתיב החיפוש של מודול הספרייה. כאשר המהדר מוצא את an
מודול undefined, הוא מחפש בספריות האלה קבצים עם השם הנכון.

-Yסִיוֹמֶת
הוסף סיומת לרשימת הסיומות המקובלות של שמות קבצים המשמשות בעת חיפוש א
ספריה לתאים. ברירת המחדל של הרשימה היא הערך היחיד .v.

מודול ספריות


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

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

יעדים


המהדר של Icarus Verilog תומך במגוון יעדים, למטרות שונות, ואת
-t מתג משמש לבחירת היעד הרצוי.

ריק יעד ה-null גורם לא ליצור קוד. זה שימושי לבדיקת ה
תחביר של מקור Verilog.

vvp זוהי ברירת המחדל. יעד vvp מייצר קוד עבור זמן הריצה vvp. הפלט
היא תוכנית שלמה המדמה את העיצוב אך חייבת להיות מופעלת על ידי ה vvp
פקודה.

FPGA זהו יעד סינתזה התומך במגוון מכשירי fpga, בעיקר של EDIF
פלט פורמט. מחולל הקוד של Icarus Verilog fpga יכול ליצור שלם
עיצובים או פקודות מאקרו של EDIF שיכולות בתורן להיות מיובאות לעיצובים גדולים יותר על ידי אחרים
כלים. ה FPGA המטרה מרמזת על הסינתזה -S דגל.

vhdl יעד זה מייצר תרגום VHDL של Verilog netlist. הפלט הוא א
קובץ בודד המכיל ישויות VHDL התואמות למודולים ב-Verilog
קוד מקור. שים לב שרק תת-קבוצה של שפת Verilog נתמכת. לִרְאוֹת
הוויקי למידע נוסף.

אזהרה סוגי


אלו הם סוגי האזהרות שניתן לבחור על ידי -W החלף. כל האזהרה
סוגים (חוץ מ את כל) יכול להיות גם קידומת עם לא- לבטל את האזהרה הזו. זה
הכי שימושי אחרי א - קיר טיעון לדיכוי סוגי אזהרה מבודדים.

את כל זה מאפשר את ה-implicit, portbind, select-range, סולם זמן ו
קטגוריות אזהרה על רגישות-כל המערך.

משתמע
זה מאפשר אזהרות ליצירת הצהרות מרומזות. לדוגמה, אם א
נעשה שימוש ב-Scalar wire X אך אינו מוצהר במקור Verilog, זה ידפיס א
אזהרה בשימוש הראשון בו.

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

בחר-טווח
זה מאפשר אזהרות עבור בחירות קבועות מחוץ לתחום. זה כולל חלקי או
בחירה מלאה מחוץ לתחום וכן בחירה המכילה 'bx או 'bz ב-
אינדקס.

ציר זמן
זה מאפשר אזהרות על שימוש לא עקבי בהנחיית לוח הזמנים. זה מזהה
אם למודולים מסוימים אין סולם זמן, או אם מודולים יורשים סולם זמן מאחר
קוֹבֶץ. שתיהן כנראה אומרות שלוחות הזמנים אינם עקביים, ותזמון סימולציה
יכול להיות מבלבל ותלוי בסדר הידור.

אינפלופ זה מאפשר אזהרות עבור הצהרות תמיד שעשויות להיות בהן לולאות אינסופיות בזמן ריצה
(יש נתיבים ללא עיכוב או אפס). סוג זה של אזהרות אינו כלול ב - קיר
ומכאן שאין לו א לא- גִרְסָה אַחֶרֶת. הודעת שגיאה קטלנית תמיד תהיה
מודפס כאשר המהדר יכול לקבוע שבהחלט יהיה אינסוף
לולאה (לכל הנתיבים אין השהייה או אפס).

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

רגישות-כל-וקטור
זה מאפשר אזהרות כאשר חלק נבחר במשפט "תמיד @*".
גורם לכך שהווקטור כולו יתווסף לרשימת הרגישות המרומזת.
למרות שהתנהגות זו נקבעת על ידי תקן IEEE, היא לא מה שאולי
צפוי ויכול להיות בעל השלכות ביצועים אם הווקטור גדול.

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

מערכת פונקציה טבלה קבצים


אם שם קובץ המקור בתור א .sft סיומת, אז היא נחשבת לטבלת פונקציות מערכת
קוֹבֶץ. קובץ טבלת פונקציות מערכת משמש כדי לתאר בפני המהדר את סוגי ההחזרות
עבור פונקציות המערכת. זה הכרחי מכיוון שהמהדר צריך את המידע הזה
ביטויים משוכללים המכילים את פונקציות המערכת הללו, אך אינם יכולים להפעיל את sizetf
פועל מכיוון שאין לו זמן ריצה.

הפורמט של הטבלה הוא ASCII, פונקציה אחת בכל שורה. מתעלמים משורות ריקות, ו
שורות שמתחילות ב-'#הדמות הם קווי הערה. כל שורת ללא הערות מתחילה
עם שם הפונקציה, ואז סוג vpi (כלומר vpiSysFuncReal). הסוגים הבאים הם
נתמך:

vpiSysFuncReal
הפונקציה מחזירה ערך אמיתי/זמן אמת.

vpiSysFuncInt
הפונקציה מחזירה מספר שלם.

vpiSysFuncSized
הפונקציה מחזירה וקטור ברוחב הנתון, והיא בסימן או ללא סימן
לפי הדגל.

פקודה קבצים


קובץ הפקודה מאפשר למשתמש להציב שמות קבצי מקור ושורת פקודה מסוימת
עובר לקובץ טקסט במקום בשורת פקודה ארוכה. קובצי פקודה יכולים לכלול C
או הערות בסגנון C++, כמו גם # הערות, אם ה-# מתחיל את השורה.

פילה שם
שם קובץ פשוט או נתיב קובץ נחשב לשם של קובץ מקור של Verilog.
השביל מתחיל עם התו הראשון שאינו חלל לבן. משתנים הם
מוחלף בשמות הקבצים.

-c קובץ cmd -f קובץ cmd
A -c or -f token מקדמות קובץ פקודה, בדיוק כמו שהוא עושה בפקודה
קַו. ייתכן שקובץ ה-cmd נמצא באותה שורה או בשורה הבאה ללא הערות.

-y libdir
A -y token מקדים ספריית ספרייה בקובץ הפקודה, בדיוק כמו שהוא עושה
בשורת הפקודה. הפרמטר ל- -y הדגל עשוי להיות על אותו קו או על
שורת אי הערות הבאה.

משתנים ב libdir מוחלפים.

+incdir+כלולותיר
אל האני +incdir+ אסימון בקבצי פקודה נותן ספריות לחיפוש קבצי include
בערך באותו אופן -I דגלים פועלים בשורת הפקודה. ההבדל הוא
אותו מכפיל +includedir ספריות הן פרמטרים חוקיים ליחיד +incdir+
אסימון, אם כי ייתכן שיש לך גם מספר +incdir+ קווים.

משתנים ב כלולותיר מוחלפים.

+libext+שלוחה
אל האני +libext אסימון בקבצי פקודה חמש סיומות קבצים לנסות כאשר מחפשים א
קובץ הספרייה. זה שימושי בשילוב עם -y מסמנים לרשימת סיומות לנסות
בכל ספרייה לפני המעבר לספריית הספרייה הבאה.

+libdir+dir
זוהי דרך נוספת לציין ספריות ספריות. ראה את דגל -y.

+libdir-nocase+dir
זה כמו ה +libdir הצהרה, אבל שמות קבצים בתוך הספריות הוצהר
כאן הם חסרי רגישות לאותיות גדולות. שם המודול החסר בחיפוש אינו חייב להתאים ל
שם קובץ רישיות, כל עוד האותיות נכונות. לדוגמה, "פו" התאמות
"Foo.v" אבל לא "bar.v".

+הגדיר+שֵׁם=ערך
אל האני +הגדיר+ האסימון זהה ל- -D אפשרות בשורת הפקודה. הערך
חלק מהאסימון הוא אופציונלי.

+טווח זמן+ערך
אל האני +טווח זמן+ האסימון משמש להגדרת טווח הזמן המוגדר כברירת מחדל עבור הסימולציה.
זהו יחידות הזמן והדיוק לפני כל `הנחיית טווח זמן או אחרי א
`הנחיית איפוס מחדש. ברירת המחדל היא 1s/1s.

+toupper-filename
אסימון זה גורם לתרגום שמות קבצים אחרי זה בקובץ הפקודה
אותיות רישיות. זה עוזר במצבים שבהם ספרייה עברה דרך DOS
מכונה, ותוך כדי כך שמות הקבצים הופכים ל-munged.

שם קובץ +tolower
זה דומה ל- +toupper-filename פריצה שתוארה לעיל.

+רוחב שלם+ערך
זה מאפשר למתכנת לבחור את הרוחב עבור משתנים שלמים ב-
מקור Verilog. ברירת המחדל היא 32, הערך יכול להיות כל ערך שלם רצוי.

וריאציות IN פקודה קבצים


במקרים מסוימים, iverilog תומך במשתנים בקבצי פקודות. אלה מחרוזות של ה
טופס "$(varname)" או "${varname}", איפה varname הוא השם של משתנה הסביבה
לקרוא. המחרוזת כולה מוחלפת בתוכן של אותו משתנה. משתנים הם
מוחלף רק בהקשרים התומכים בהם במפורש, כולל קובץ וספרייה
מיתרים.

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

מוגדר מראש מקרו


פקודות המאקרו הבאות מוגדרות מראש על ידי המהדר:

__ICARUS__ = 1
זה תמיד מוגדר בעת קומפילציה עם Icarus Verilog.

__VAMS_EnABLE__ = 1
זה מוגדר אם Verilog-AMS מופעל.

דוגמאות


הדוגמאות הללו מניחות שיש לך קובץ מקור של Verilog בשם hello.v בזרם
בספרייה

כדי לקמפל hello.v לקובץ הפעלה בשם a.out:

iverilog hello.v

כדי לקמפל hello.v לקובץ הפעלה בשם hello:

iverilog -o hello hello.v

כדי להדר ולהריץ באופן מפורש באמצעות זמן הריצה vvp:

iverilog -ohello.vvp -tvvp hello.v

השתמש ב-iverilog באינטרנט באמצעות שירותי onworks.net


שרתים ותחנות עבודה בחינם

הורד אפליקציות Windows & Linux

פקודות לינוקס

Ad