Verilog היא שפת תיאור חומרה (HDL). היא משמשת לתכנון, אימות ויישום של מעגלים ספרתיים ואנלוגיים ומעגלים משולבים. הסגנון בקוד מזכיר תכנות בשפת C. השפה שימושית במיוחד ברמת מעברי אוגר (RTL), כלומר ברמת תיאור זרימת הנתונים בין אוגרים (Register Transfer Level).
ורילוג הוצגה לראשונה ב־1984. היא נולדה כשהמעצבים עברו לתכנון שבבים גדולים מאוד (VLSI, מעגלים עם הרבה טרנזיסטורים). בשלב זה תכנון סכמטי מסורתי כבר לא הספיק, ולכן נדרשה שפה שתאפשר לתאר מערכות מורכבות ברמת הפונקציונליות וזרימת הנתונים. שפות תוכנה כמו C ו־Pascal לא התאימו לתיאור חומרה. אחת השפות המתחרות היא VHDL. ב־2009 תוקנן ורילוג תוך מיזוג עם SystemVerilog.
ורילוג מאפשרת תיאור ברמות שונות: רמת מתגים (switch level), שערים לוגיים (gate level), רמת RTL ורמת האלגוריתם (behavioural). רמת ה‑behavioural היא רמת האבסטרקציה הגבוהה ביותר ותואמת בצורה מסוימת לקידוד בשפות כמו C. הבדל מרכזי בין שפת חומרה לשפת תוכנה הוא שהפקודות ברילוג פועלות במקביל ולא אחת אחרי השנייה.
ורילוג נחשבת יחסית קלה ללימוד. היא נתמכת על ידי כלים רבים בתהליך התכנון של השבב, בעיקר כלי סימולציה (לבחינת ההתנהגות) וכלי סינתזה (להפיכת התיאור למעגל פיזי).
בתיאור המקורי יש דוגמה של מודול מונה "Div20x" שמחשב חלוקה ב־20. המודול מגדיר פרמטרים כגון size ו־max_value, כניסות כמו rst (איפוס), clk (שעון) ו‑ce (enable), ופלטים כמו count ו‑tc. בקוד נראים סוגי אותות שונים: reg, משתנים המשמשים לאחסון בתוך בלוקי always, ו‑wire, חיבורים בין רכיבים. בלוק always מופעל על גבול עליית השעון (posedge) של rst או clk, וכש‑rst פעיל המונה מאופס.
ורילוג היא שפה שעוזרת לתכנן שבבים. שפה זו נקראת שפת תיאור חומרה. היא מתארת איך מעגלים עובדים.
ורילוג נוצרה ב־1984. היא הופיעה כשבבים הפכו לגדולים מאוד. המעצבים רצו דרך חדשה לתאר מעגלים בלי לצייר הכל בסכימות.
יש בה רמות שונות: קרוב לחומרה, ברמת שערים, ברמת אוגרים (RTL) וברמה גבוהה שמסבירה מה המערכת עושה. שפות חומרה פועלות במקביל, הרבה חלקים עובדים יחד בו‑זמנית.
יש דוגמה למודול שמונה עד 20. בו יש כניסות כמו rst (איפוס), clk (שעון) ו‑ce (הפעלה). יש שני סוגי אותות: reg, זיכרון קטן בתוך המודול, ו־wire, חיבור בין חלקים. בלוק שנקרא always מופעל כאשר השעון עולה (posedge), וכשיש איפוס המונה מתאפס.
ביצירת קבועים בורילוג מציינים גם את רוחב המשתנים.
תגובות גולשים