زبان توصیف سختافزار Verilog یا همون Verilog HDL، زبانیست که رفتار مدارهای الکترونیکی رو توصیف میکنه — بیشتر هم مدارهای دیجیتال. این زبان با استانداردهای IEEE تعریف شده و سه نسخه رایج داره: Verilog 1995، Verilog 2001 و SystemVerilog که نسخه آخرش سال ۲۰۰۵ توسعه پیدا کرد...
معرفی دوره آموزش Verilog
زبان توصیف سختافزار Verilog یا همون Verilog HDL، زبانیست که رفتار مدارهای الکترونیکی رو توصیف میکنه — بیشتر هم مدارهای دیجیتال. این زبان با استانداردهای IEEE تعریف شده و سه نسخه رایج داره: Verilog 1995، Verilog 2001 و SystemVerilog که نسخه آخرش سال ۲۰۰۵ توسعه پیدا کرد. دوره آموزش Verilog دقیقاً برای آموزش همین زبانه و بهصورت کاملاً رایگان در اختیار علاقهمندان قرار گرفته. 🎓
از Verilog HDL هم برای طراحی سختافزار استفاده میشه و هم برای ساختن موجودیتهای آزمایشی جهت تأیید رفتار یک قطعه سختافزاری. این زبان بهعنوان فرمت ورودی توسط ابزارهای مختلف EDA کاربرد داره؛ از ابزارهای سنتز مثل Quartus Prime Integrated Synthesis گرفته تا ابزارهای شبیهسازی و ابزارهای تأیید رسمی.
چرا این دوره ارزش وقت گذاشتن داره؟
Verilog رو حدود ۹۹٪ صنایع ترجیح میدن و بازار کارش نسبتاً خوبه. اگه تو حوزه Verilog HDL فعالیت میکنی، ارتقای مهارتهات با این دوره میتونه خیلی به کارت بیاد. برای مدلسازی یک مدار دیجیتال، باید کدها رو بعد از درک کامل مشخصات طراحی و قبل از تولید فهرست شبکه بنویسی. اگه به برنامهنویسی سطح RTL و معماری کامپیوتر علاقه داری، Verilog انتخاب مناسبی برای ادامه مسیره.
یه نکته کاربردی: فرض کن میخوای برای پروژه دانشگاهیت یک واحد حساب و منطق (ALU) طراحی کنی. با Verilog میتونی هم کدش رو بنویسی، هم با یه تستبنچ ساده رفتارش رو شبیهسازی کنی و قبل از پیادهسازی روی FPGA مطمئن بشی درست کار میکنه. این دقیقاً همون مهارتیست که تو این دوره یاد میگیری.
مشخصات کلی دوره
عنوان دوره: آموزش Verilog (زبان توصیف سختافزار)
مدرس/تهیهکننده: اساتید دانشگاه صنعتی شریف
تعداد جلسات: ۴ جلسه
مدت زمان: حدود ۳ ساعت و ۴۱ دقیقه
سطح: مقدماتی تا متوسط
هزینه: رایگان ✅
پیشنیازها: دار منطقی، معماری کامپیوتر، آشنایی حداقلی با زبان C
تو چی یاد میگیری؟
این دوره در چهار جلسه ارائه شده و سرفصلهاش شامل موارد زیره:
جلسه اول – تعاریف اولیه زبان Verilog
جلسه دوم – عوامل منطقی زبان Verilog
جلسه سوم – طراحی ماژول
جلسه چهارم – مدل کردن فلیپفلاپها
با گذروندن این چهار فصل، با مفاهیم زیر آشنا میشی:
نحو و عناصر طراحی
سبکهای مختلف مدلسازی
مدلسازی سطح گیت
مدلسازی جریان داده
مدلسازی رفتاری
اپراتورها
کدگذاری مدارهای دیجیتال Verilog همراه با تستبنچ
گیتهای منطقی
مالتیپلکسرها و دیمالتیپلکسرها
رمزگذار و رمزگذار اولویتبند
رمزگشاها
مقایسهکنندهها
فلیپفلاپها
شمارندهها
شیفترجیستر
جمعکنندهها و تفریقکنندهها
و چند مورد دیگه
اگه دوست داری همزمان با کدنویسی، طرحهات رو شبیهسازی کنی، این دوره نقطه شروع خیلی خوبیه. ضمناً این دوره مکمل دورههای آموزش طراحی سیستم و مدارات دیجیتاله و برای تعریف سطح رفتاری یک سیستم تو پروژههای مختلف خیلی به کار میاد. فقط حواست باشه که این دوره بهتنهایی صفر تا صد Verilog رو پوشش نمیده و بهتره در کنارش منابع دیگهای هم مطالعه کنی.
Verilog دقیقاً چیه؟
Verilog یک HDL (زبان توصیف سختافزار) و آخرین نسخه پایدارش Verilog IEEE 1364-2005 هست. این زبان به حروف بزرگ و کوچک حساسه و معمولاً از حروف کوچک استفاده میکنه. از قابلیت شبیهسازی پشتیبانی میکنه؛ یعنی میتونی یک مدل از یک تابع بسازی و قبل از ساخت سیستم واقعی، رفتارش رو شبیهسازی کنی. زبان پایه Verilog هم زبان C هست، پس اگه با C آشنایی داشته باشی، یادگیری Verilog برات سریعتر پیش میره.
Verilog HDL برای مدلسازی سیستمهای دیجیتال در سطوح مختلف انتزاعی به کار میره؛ از سطح الگوریتم و سطح گیت تا سطح سوئیچ. با این زبان میتونی سیستمهای دیجیتال رو بهصورت سلسلهمراتبی توصیف کنی و مدلسازی زمانبندی رو بهصراحت همون لحظه انجام بدی. یعنی مدلهایی که با این زبان نوشته میشن، با شبیهسازهای Verilog قابل تأییدن.
تاریخچه توسعه Verilog
Verilog توسط مهندسان Gateway Design Automation در اواخر سال ۱۹۸۳ توسعه داده شد. فیل موربی (Phil Moorby) از مؤسسان این شرکت، کار طراحی اصلی Verilog رو تکمیل کرد. سال ۱۹۹۰، Gateway توسط Cadence خریداری شد.
اوایل دهه ۹۰، سازمان Open Verilog International (که الان Accellera نام داره) تأسیس شد و Verilog برای مالکیت عمومی در دسترس قرار گرفت. سال ۱۹۹۲ این سازمان به دنبال گنجاندن Verilog در استانداردهای IEEE بود و در نهایت Verilog به استاندارد 1364-1995 IEEE تبدیل شد که بهعنوان Verilog-95 شناخته میشه.
بعد از اون، طراحان بهبودهایی پیدا کردن و نسخه توسعهیافته به استاندارد IEEE 1364-2001 رسید که به Verilog-2001 معروفه. این نسخه در واقع نسخه اصلی بهبودیافته Verilog-95 هست و توسط اکثر بستههای نرمافزاری تجاری اتوماسیون طراحی الکترونیکی پشتیبانی میشه.
سال ۲۰۰۵، Verilog دوباره بهروزرسانی شد و به استاندارد 1364-2005 IEEE رسید. این نسخه اصلاح جزئی نسبت به نسخه قبلی بود و یه بخش جدید نسبتاً مستقل به نام Verilog-AMS هم اضافه شد که به Verilog سنتی اجازه میده سیستمهای آنالوگ و سیگنال مختلط رو مدلسازی کنه. یه نکته مهم: Verilog-2005 با SystemVerilog (استاندارد IEEE 1800-2005) که ابرمجموعهای از Verilog-2005 محسوب میشه، اشتباه گرفته نشه.
سال ۲۰۰۹، IEEE 1364-2005 و IEEE 1800-2005 در IEEE 1800-2009 ادغام شدن و به SystemVerilog یکپارچه تبدیل شدن. این دوره آموزش Verilog بر اساس استاندارد Verilog-2005 تهیه شده.
تفاوت Verilog و SystemVerilog
این سؤال برای خیلیها پیش میاد که Verilog و SystemVerilog چه فرقی با هم دارن. خلاصهاش اینه:
Verilog یک زبان توصیف سختافزار (HDL) هست که برای توصیف ساختار و رفتار