Menu
Coddy logo textTech

לכתוב, להריץ ולשתף קטעי קוד - בלי שום התקנה.

main.v
לחצו על הרצה כדי לראות כאן את הפלט.
Plusargsפרמטרים בזמן ריצה שמועברים לסימולטור - קראו אותם ב-testbench עם $value$plusargs או $test$plusargs.
מפתחערך

כתבו, קמפלו והריצו סימולציה של Verilog HDL אונליין

קומפיילר וסימולטור Verilog אונליין וחינמיים. כתבו מודולים ב-Verilog או ב-SystemVerilog, הפעילו testbench, לחצו על הרצה, וראו את פלט ה-stdout יחד עם גל VCD מוצג. בלי התקנה, בלי Vivado, בלי Quartus ובלי toolchain להקים. העורך נפתח עם testbench של מונה מתוזמן שעון, כך שאפשר לערוך ולהריץ תוך שניות.

הקוד מתקמפל עם Icarus Verilog (iverilog) ורץ תחת vvp בתוך קונטיינר מבודד, כך שמקבלים סמנטיקה אמיתית של Verilog HDL: בלוקי always מתוזמני שעון, השמות non-blocking, יצירת מופעים היררכית של מודולים, $display ו-$finish. הוסיפו $dumpfile ו-$dumpvars ל-testbench שלכם, ולשונית Waveform תציג אותות של ביט בודד ו-buses של כמה ביטים עם סמן שאפשר לגרור, מעברים ותוויות ערך לכל אות. Plusargs (+KEY=VALUE / +FLAG) מגיעים ל-testbench שלכם דרך $value$plusargs ו-$test$plusargs, כך שאפשר לשנות את זמן המחזור של השעון, את אורך ההרצה ודגלי יכולות בלי לערוך את קוד המקור.

מה הופך את קומפיילר ה-Verilog הזה לשימושי

  • קומפילציה וסימולציה מיידיות: כתבו Verilog HDL, לחצו על הרצה וראו את stdout ואת גלי ה-VCD תוך שניות.
  • הדגשת תחביר של Verilog ו-SystemVerilog באותו מנוע עורך ש-VS Code משתמש בו, עם תחומי module/endmodule והשלמה אוטומטית של מילות מפתח.
  • מציג גלים מובנה: הפעילו $dumpfile + $dumpvars מה-testbench שלכם, ולשונית Waveform תציג אותות, buses, מעברים וסמן נייד עם תוויות ערך לכל אות.
  • חלונית Plusargs לפרמטרים של testbench: העבירו +CYCLES, +PERIOD, +VERBOSE דרך $value$plusargs / $test$plusargs והריצו שוב בלי לשכתב את קוד המקור.

מה אפשר לבנות בעורך ה-Verilog האונליין

  • לוגיקה צירופית, כמו adders, multiplexers ו-ALUs, מחוברת ב-testbench עם בדיקות $display ומשוב מיידי.
  • תכנונים סדרתיים מתוזמני שעון, כמו מונים, shift registers ומכונות מצבים סופיות שמופעלות על ידי always @(posedge clk), עם גלי VCD לבדיקת מעברי אותות.
  • סריקת פרמטרים: העבירו plusargs כמו +CYCLES, +PERIOD או +VERBOSE כדי לשנות התנהגות בין הרצות, בדיוק כמו בשורת הפקודה של iverilog/vvp.

שאלות נפוצות על קומפיילר Verilog אונליין

מה זה Verilog?
Verilog היא שפת תיאור חומרה (HDL) שמשמשת למידול ולסימולציה של מעגלים דיגיטליים, משערים צירופיים פשוטים ועד מעבדים שלמים. מתארים בקוד מודולים, wires ו-registers, מקמפלים אותם עם קומפיילר Verilog ומריצים testbench כדי לאמת את ההתנהגות. SystemVerilog היא הרחבה של Verilog שמוסיפה יכולות אימות. העורך מקבל את שתיהן.
קומפיילר ה-Verilog האונליין חינמי?
כן, הקומפיילר והסימולטור של Verilog חינמיים לשימוש. בלי הרשמה, בלי רישיון Vivado או Quartus ובלי toolchain להתקין: כותבים מודול ולוחצים על הרצה.
צריך את Icarus Verilog או כלי EDA כלשהו מותקן?
לא. הקוד שלכם מתקמפל עם iverilog ורץ תחת vvp בקונטיינר מבודד בשרת. אתם כותבים את קוד המקור של Verilog ולוחצים על הרצה; הקומפיילר והסימולטור מטפלים בכל השאר.
איך צופים בגלים של קוד ה-Verilog שלי?
בתוך בלוק initial ב-testbench שלכם, קראו ל-$dumpfile("dump.vcd") ול-$dumpvars(0, your_module). אחרי ההרצה, לשונית Waveform מציגה את האותות. לחצו בכל מקום על קו אות כדי להציב סמן ולקרוא את הערכים של כל אות באותו רגע.
איך כותבים testbench של Verilog עם plusargs?
הוסיפו שורות בחלונית Plusargs (למשל CYCLES=10, VERBOSE), והן מועברות לסימולטור כ-+CYCLES=10 +VERBOSE בשורת הפקודה. ב-testbench שלכם, קראו אותן עם $value$plusargs("CYCLES=%d", n) לערכים שלמים, או עם $test$plusargs("VERBOSE") לדגלים בוליאניים. קוד ההתחלה המוגדר כברירת מחדל מראה את שתי התבניות.

כלים שימושיים ל-Verilog

כלים חינמיים בדפדפן שמשתלבים היטב עם עורך ה-Verilog אונליין - כולם חלק מ-Coddy.