آموزش نکات ضروری وربالاگ برای مهندسین طراحی RTL - آخرین آپدیت

دانلود Verilog Lint essentials for RTL Design Engineer

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:

راهنمای گام به گام از صفر

نقش لینتینگ در تحلیل DUT

تحلیل DUT (دستگاه تحت آزمایش) به دو دسته اصلی تقسیم می‌شود:

تحلیل ایستا (Static Analysis): در این نوع تحلیل، طراحی بدون اعمال هیچ‌گونه ورودی (تحریک) مورد بررسی قرار می‌گیرد. هدف اصلی، تجزیه و تحلیل ساختارها و الگوهای کدنویسی برای شناسایی زودهنگام اشکالات، یا استفاده از مدل‌های ریاضی برای اطمینان از صحت عملکرد DUT است. مثال‌های رایج تحلیل ایستا شامل لینتینگ (Linting) و تأیید رسمی (Formal Verification) می‌باشند.

تحلیل پویا (Dynamic Analysis): در این روش، مجموعه‌ای از ورودی‌ها بر اساس موارد آزمایشی (Test Cases) به DUT اعمال شده و پاسخ آن برای تأیید عملکرد تحلیل می‌شود.

اهمیت لینتینگ در طراحی وِریلوگ (Verilog): لینتینگ نقش حیاتی در تضمین کیفیت کد و جلوگیری از بروز خطا در طراحی وِریلوگ ایفا می‌کند. این فرآیند با اعمال استانداردهای کدنویسی، شناسایی زودهنگام باگ‌ها، و بررسی صحت سینتکس و معناشناسی، به مهندسان وِریلوگ کمک می‌کند تا:

  • ثبات را در سراسر پایگاه کد حفظ کنند.
  • خوانایی کد را بهبود بخشند.
  • از مشکلاتی که ممکن است در شبیه‌سازی تأثیر نداشته باشند اما در زمان سنتز منجر به نتایج غیرمنتظره شوند، جلوگیری کنند.

مزایای کلیدی لینتینگ در طراحی RTL (Register Transfer Level):یکی از مزایای اصلی لینتینگ در طراحی RTL، توانایی آن در شناسایی موارد نادرست استفاده از کلاک‌ها، ریست‌ها، سبک‌های مدل‌سازی، حلقه‌ها و ساختارهای کنترلی است که می‌توانند منجر به طراحی‌های غیرقابل سنتز (Un-synthesizable Designs) شوند. دشواری این نوع اشکالات در این است که اغلب در طول دیباگینگ به سختی قابل شناسایی هستند، چرا که معمولاً خطاهای منطقی محسوب می‌شوند. کشف زودهنگام این مسائل، زمان و تلاش قابل توجهی را برای طراحان صرفه‌جویی می‌کند.

بهترین شیوه‌ها برای ریست و کلاک

بهترین شیوه‌ها برای قراردادهای نام‌گذاری و عملگرهای انتساب

بهترین شیوه‌ها برای حلقه‌ها (Loops)

بهترین شیوه‌ها برای دستورات شرطی Case

بهترین شیوه‌ها برای توابع (Functions) و وظایف (Tasks)

پیش‌نیازها:

مبانی الکترونیک دیجیتال و زبان وِریلوگ


سرفصل ها و درس ها

روز ۱: مبانی لینت (Lint Basics) Day 1 : Lint Basics

  • دستور جلسه Agenda

  • انواع تحلیل Analysis Types

  • کاربرد لینت Lint Usage

  • فرمت معمول نقض لینت P1 Typical format of Lint violation P1

  • فرمت معمول نقض لینت P2 Typical format of Lint violation P2

  • فرمت معمول نقض لینت P3 Typical format of Lint violation P3

  • اجرای لینت با Verilator Performing Lint with Verilator

  • اجرای لینت با Vivado 2024.1 Performing Lint with Vivado 2024.1

  • A1 : بررسی کاربرد IDE A1 : IDE Usage Check

  • A2 : بررسی کاربرد IDE A2 : IDE Usage Check

روز ۲: قوانین لینت P1 Day 2 : Lint Rules P1

  • دستور جلسه Agenda

  • مرور قوانین لینت Lint Rules Overview

  • قوانین ریست P1 Reset rules P1

  • قوانین ریست P2 Reset rules P2

  • قوانین ریست P3 Reset rules P3

  • کد بد Bad Code

  • کد خوب Good Code

  • قوانین کلاک P1 Clock rules P1

  • قوانین کلاک P2 Clock rules P2

  • کد بد Bad Code

  • کد خوب Good Code

  • A3 : درک قانون ریست A3 : Reset Rule Understanding

  • A4 : درک قانون ریست A4 : Reset rule understanding

  • A5 : درک قانون کلاک A5 : Clock rule Understanding

  • A6 : درک قانون کلاک A6 : Clock rule Understanding

روز ۳: قوانین لینت P2 Day 3 : Lint Rules P2

  • دستور جلسه Agenda

  • قوانین انتساب P1 Assignment rules P1

  • قوانین انتساب P2 Assignment rules P2

  • قوانین انتساب P3 Assignment rules P3

  • قوانین انتساب P4 Assignment rules P4

  • قوانین انتساب P5 Assignment rules P5

  • قوانین انتساب P6 Assignment rules P6

  • قوانین انتساب P7 Assignment rules P7

  • کد بد Bad Code

  • کد خوب Good Code

  • عملیات‌ها Operations

  • کد بد Bad Code

  • کد خوب Good Code

  • قوانین نامگذاری P1 Naming rules P1

  • قوانین نامگذاری P2 Naming rules P2

  • قوانین نامگذاری P3 Naming rules P3

  • قوانین نامگذاری P4 Naming rules P4

  • کد Code

  • قوانین حلقه P1 Loop Rules P1

  • قوانین حلقه P2 Loop Rules P2

  • قوانین حلقه P3 Loop Rules P3

  • حلقه While : کد خوب و بد While loop : Good & Bad Code

  • حلقه For : کد خوب و بد For loop : Good & Bad Code

  • A7 : درک عملگر انتساب A7 : Assignment operator understanding

  • A8 : درک عملگر انتساب A8 : Assignment operator understanding

  • A9 : درک حلقه While A9 : While loop understanding

  • A10 : درک حلقه FOR A10 : FOR loop understanding

  • A11 : درک بخش A11 : Section Understanding

روز ۴: قوانین لینت P3 Day 4 : Lint Rules P3

  • دستور جلسه Agenda

  • قوانین تابع و وظیفه P1 Function & Task rules P1

  • قوانین تابع و وظیفه P2 Function & Task rules P2

  • قوانین تابع و وظیفه P3 Function & Task rules P3

  • کد بد Bad Code

  • کد خوب Good Code

  • قوانین Case P1 Case rules P1

  • قوانین Case P2 Case rules P2

  • قوانین Case P3 Case rules P3

  • قوانین Case P4 Case rules P4

  • کد بد Bad Code

  • کد خوب Good Code

  • قوانین منطق ترکیبی P1 Combinational logic rules P1

  • قوانین منطق ترکیبی P2 Combinational logic rules P2

  • کد خوب و بد Good & Bad Code

  • A12 : درک تابع A12 : Function Understanding

  • A13 : درک تابع و Case A13 : Function & Case Understanding

روز ۵: قوانین لینت P4 Day 5 : Lint Rules P4

  • دستور جلسه Agenda

  • قوانین مدل‌سازی ساختاری P1 Structural Modeling rules P1

  • قوانین مدل‌سازی ساختاری P2 Structural Modeling rules P2

  • قوانین مدل‌سازی ساختاری P3 Structural Modeling rules P3

  • قوانین مدل‌سازی ساختاری P4 Structural Modeling rules P4

  • کد بد Bad Code

  • کد خوب Good Code

  • درایورهای متعدد P1 Multiple Drivers P1

  • درایورهای متعدد P2 Multiple Drivers P2

  • بهداشت کد P1 Code Hygiene P1

  • بهداشت کد P2 Code Hygiene P2

  • بهداشت کد P3 Code Hygiene P3

  • بهداشت کد P4 Code Hygiene P4

  • بهداشت کد P5 Code Hygiene P5

  • کد بد Bad Code

  • کد خوب Good Code

  • سنتز P1 Synthesis P1

  • سنتز P2 Synthesis P2

  • کد بد Bad Code

  • کد خوب Good Code

  • A14 : درک بخش A14 : Section Understanding

  • A15 : درک بخش A15 : Section Understanding

نمایش نظرات

آموزش نکات ضروری وربالاگ برای مهندسین طراحی RTL
جزییات دوره
3 hours
77
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
129
4.5 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kumar Khandagle Kumar Khandagle

رهبر توسعه دهنده FPGA @ FinTech