آموزش UVM برای تأیید قسمت 1: اصول

UVM for Verification Part 1 : Fundamentals

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: راهنمای گام به گام ساختن محیط تأیید از ابتدا مبانی روش تأیید جهانی گزارش ماکروها و اقدامات مرتبط UVM شیء و مؤلفه UVM فازهای UVM توالی های ارتباطی TLM ویژگی های اشکال زدایی UVM ساختن محیط تأیید UVM از Scratch Environment Environment Environment پیشهاFund:

نوشتن میزهای تست Verilog پس از تکمیل طراحی RTL همیشه سرگرم کننده است. می توانید به مشتریان اطمینان دهید که در سناریوهای آزمایش شده طرح بدون اشکال خواهد بود. از آنجایی که پیچیدگی سیستم روز به روز در حال افزایش است، System Verilog به دلیل قابلیت های قدرتمند و قابلیت استفاده مجدد که به مهندسان تأیید کمک می کند تا به سرعت باگ های پنهان را پیدا کنند، به گزینه ای برای تأیید تبدیل می شود. سیستم Verilog از رویکرد ساختاری عقب مانده است در حالی که UVM برای تشکیل یک اسکلت عمومی بسیار سخت کار می کند. افزودن پایگاه داده پیکربندی، روشی را که در گذشته با زبان تأیید کار می‌کردیم تغییر می‌دهد. در عرض چند سال، مهندسان تأیید قابلیت‌های UVM را تشخیص دادند و UVM را به عنوان یک استاندارد واقعی برای تأیید طراحی RTL پذیرفتند. UVM یک دوره طولانی در دامنه تأیید خواهد داشت، بنابراین یادگیری UVM به متقاضیان VLSI کمک می کند تا در این حوزه شغلی را دنبال کنند.

در این دوره، اصول متدولوژی تأیید جهانی بحث خواهد شد. این یک دوره مبتنی بر آزمایشگاه است که به گونه‌ای طراحی شده است که هر کسی بدون تجربه قبلی OOPS یا سیستم Verilog بتواند بلافاصله شروع به نوشتن اجزای UVM مانند Transaction، Generator، Sequencer، Driver، مانیتور، Scoreboard، Agent، Environment، Test کند. تمرین‌های کدنویسی متعدد، پروژه‌ها و مثال‌های ساده در طول دوره برای ایجاد پایه‌های قوی UVM استفاده می‌شوند.


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

نحوه استفاده از IDE How to use IDE

  • معرفی سری Series Intro

  • معرفی سری Series Intro

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • از این کد برای درک IDE ها استفاده کنید Use this code for understanding IDE's

  • از این کد برای درک IDE ها استفاده کنید Use this code for understanding IDE's

  • پیوند زمین بازی EDA EDAplayground Link

  • پیوند زمین بازی EDA EDAplayground Link

  • کار با EDAP Working with EDAP

  • کار با EDAP Working with EDAP

  • کار با ویوادو Working with Vivado

  • کار با ویوادو Working with Vivado

  • کار با Questa Working with Questa

  • کار با Questa Working with Questa

نحوه استفاده از IDE How to use IDE

مکانیزم گزارش دهی Reporting Mechanism

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • ماکروهای گزارش دهی مختلف Different Reporting Macros

  • ماکروهای گزارش دهی مختلف Different Reporting Macros

  • کار با ماکروهای گزارش دهی Working with Reporting Macros

  • کار با ماکروهای گزارش دهی Working with Reporting Macros

  • کد Code

  • کد Code

  • چاپ مقادیر متغیرها بدون اتوماسیون Priniting Values of Variables without automation

  • چاپ مقادیر متغیرها بدون اتوماسیون Priniting Values of Variables without automation

  • کد Code

  • کد Code

  • کار با سطح پرحرفی Working with Verbosity Level

  • کار با سطح پرحرفی Working with Verbosity Level

  • کد Code

  • کد Code

  • کار با Verbosity Level و ID Working with Verbosity Level and ID

  • کار با Verbosity Level و ID Working with Verbosity Level and ID

  • کد Code

  • کد Code

  • کار با کامپوننت فردی Working with Individual Component

  • کار با کامپوننت فردی Working with Individual Component

  • کد Code

  • کد Code

  • کار با سلسله مراتب Working with Hierarchy

  • کار با سلسله مراتب Working with Hierarchy

  • کد Code

  • کد Code

  • سایر ماکروهای گزارش دهی Other Reporting Macros

  • سایر ماکروهای گزارش دهی Other Reporting Macros

  • کد Code

  • کد Code

  • تغییر شدت ماکروها Changing Severity of Macros

  • تغییر شدت ماکروها Changing Severity of Macros

  • کد Code

  • کد Code

  • تغییر اقدامات مرتبط ماکروها Changing Associated Actions of Macros

  • تغییر اقدامات مرتبط ماکروها Changing Associated Actions of Macros

  • کار با quit_count و UVM_ERROR Working with quit_count and UVM_ERROR

  • کار با quit_count و UVM_ERROR Working with quit_count and UVM_ERROR

  • کد Code

  • کد Code

  • کار با فایل لاگ Working with log file

  • کار با فایل لاگ Working with log file

  • کد Code

  • کد Code

  • A11 A11

  • A11 A11

  • A12 A12

  • A12 A12

  • A13 A13

  • A13 A13

  • A14 A14

  • A14 A14

  • A15 A15

  • A15 A15

مکانیزم گزارش دهی Reporting Mechanism

شروع با کلاس های پایه: UVM_OBJECT Getting Started with Base Classes : UVM_OBJECT

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • مبانی P1 Fundamentals P1

  • مبانی P1 Fundamentals P1

  • مبانی P2 Fundamentals P2

  • مبانی P2 Fundamentals P2

  • اصول P3 Fundamentals P3

  • اصول P3 Fundamentals P3

  • هدف Target

  • هدف Target

  • ایجاد کلاس Creating Class

  • ایجاد کلاس Creating Class

  • استخراج کلاس از UVM_OBJECT Deriving class from UVM_OBJECT

  • استخراج کلاس از UVM_OBJECT Deriving class from UVM_OBJECT

  • استفاده از ماکروهای فیلد P1 : ادامه INT Using Field Macros P1 : INT cont

  • استفاده از ماکروهای فیلد P1 : ادامه INT Using Field Macros P1 : INT cont

  • کد Code

  • کد Code

  • استفاده از ماکروهای فیلد P1: INT Using Field Macros P1 : INT

  • استفاده از ماکروهای فیلد P1: INT Using Field Macros P1 : INT

  • کد Code

  • کد Code

  • استفاده از ماکروهای فیلد P2 : ENUM، REAL Using Field Macros P2 : ENUM, REAL

  • استفاده از ماکروهای فیلد P2 : ENUM، REAL Using Field Macros P2 : ENUM, REAL

  • کد Code

  • کد Code

  • استفاده از ماکروهای فیلد P3: OBJECT Using Field Macros P3 : OBJECT

  • استفاده از ماکروهای فیلد P3: OBJECT Using Field Macros P3 : OBJECT

  • کد Code

  • کد Code

  • استفاده از ماکروهای فیلد P4: آرایه ها Using Field Macros P4 : Arrays

  • استفاده از ماکروهای فیلد P4: آرایه ها Using Field Macros P4 : Arrays

  • کد Code

  • کد Code

  • روش کپی و کلون Copy and Clone Method

  • روش کپی و کلون Copy and Clone Method

  • کد Code

  • کد Code

  • کم عمق در مقابل کپی عمیق Shallow Vs Deep Copy

  • کم عمق در مقابل کپی عمیق Shallow Vs Deep Copy

  • کد Code

  • کد Code

  • روش کپی و کلون Copy and Clone Method

  • روش کپی و کلون Copy and Clone Method

  • کد Code

  • کد Code

  • روش مقایسه Compare Method

  • روش مقایسه Compare Method

  • کد Code

  • کد Code

  • روش ایجاد Create Method

  • روش ایجاد Create Method

  • کد Code

  • کد Code

  • Factory Override: روش جدید در مقابل ایجاد Factory Override : new vs create method

  • Factory Override: روش جدید در مقابل ایجاد Factory Override : new vs create method

  • کد Code

  • کد Code

  • روش do_print do_print Method

  • روش do_print do_print Method

  • کد Code

  • کد Code

  • روش convert2string convert2string method

  • روش convert2string convert2string method

  • کد Code

  • کد Code

  • روش do_copy do_copy method

  • روش do_copy do_copy method

  • کد Code

  • کد Code

  • انجام_مقایسه کردن do_compare

  • انجام_مقایسه کردن do_compare

  • کلاس معاملات ساختمانی : ص Building Transaction Class : p

  • کلاس معاملات ساختمانی : ص Building Transaction Class : p

  • A21 A21

  • A21 A21

  • A22 A22

  • A22 A22

شروع با کلاس های پایه: UVM_OBJECT Getting Started with Base Classes : UVM_OBJECT

UVM_COMPONENT UVM_COMPONENT

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • درک UVM_TREE Understanding UVM_TREE

  • درک UVM_TREE Understanding UVM_TREE

  • ایجاد کلاس UVM_COMPONENT Creating UVM_COMPONENT class

  • ایجاد کلاس UVM_COMPONENT Creating UVM_COMPONENT class

  • کد Code

  • کد Code

  • ایجاد UVM_TREE P1 Creating UVM_TREE P1

  • ایجاد UVM_TREE P1 Creating UVM_TREE P1

  • ایجاد UVM_TREE P2 Creating UVM_TREE P2

  • ایجاد UVM_TREE P2 Creating UVM_TREE P2

  • کد Code

  • کد Code

  • مسیر گرفتن کامپوننت : p Getting path of the component : p

  • مسیر گرفتن کامپوننت : p Getting path of the component : p

UVM_COMPONENT UVM_COMPONENT

config_db config_db

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • درک فرمت معمولی config_db Understanding typical format of config_db

  • درک فرمت معمولی config_db Understanding typical format of config_db

  • کد Code

  • کد Code

  • نمایش P1 Demonstration P1

  • نمایش P1 Demonstration P1

  • نمایش P2 Demonstration P2

  • نمایش P2 Demonstration P2

  • نمایش P3 Demonstration P3

  • نمایش P3 Demonstration P3

  • تظاهرات P4 Demonstration P4

  • تظاهرات P4 Demonstration P4

  • مورد استفاده شده Used Case

  • مورد استفاده شده Used Case

  • کد Code

  • کد Code

config_db config_db

UVM_PHASES UVM_PHASES

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • مبانی فازها Fundamentals of Phases

  • مبانی فازها Fundamentals of Phases

  • طبقه بندی فازها: روش های مورد استفاده Classification of Phases : Methods Used

  • طبقه بندی فازها: روش های مورد استفاده Classification of Phases : Methods Used

  • طبقه بندی فازها: اهداف خاص P1 Classification of Phases : Specific Purposes P1

  • طبقه بندی فازها: اهداف خاص P1 Classification of Phases : Specific Purposes P1

  • طبقه بندی فازها: اهداف خاص P2 Classification of Phases : Specific Purposes P2

  • طبقه بندی فازها: اهداف خاص P2 Classification of Phases : Specific Purposes P2

  • طبقه بندی فازها: اهداف خاص P3 Classification of Phases : Specific Purposes P3

  • طبقه بندی فازها: اهداف خاص P3 Classification of Phases : Specific Purposes P3

  • خلاصه طبقه بندی Classification Summary

  • خلاصه طبقه بندی Classification Summary

  • چگونه فازها را نادیده می گیریم How we override phases

  • چگونه فازها را نادیده می گیریم How we override phases

  • کد Code

  • کد Code

  • درک اجرای build_phase در کامپوننت های متعدد Understanding execuction of build_phase in multiple components

  • درک اجرای build_phase در کامپوننت های متعدد Understanding execuction of build_phase in multiple components

  • کد Code

  • کد Code

  • درک اجرای connect_phase Understanding execution of connect_phase

  • درک اجرای connect_phase Understanding execution of connect_phase

  • کد Code

  • کد Code

  • اجرای فازهای چندگانه Execution of Multiple instance phases

  • اجرای فازهای چندگانه Execution of Multiple instance phases

  • افزایش اعتراض Raising Objection

  • افزایش اعتراض Raising Objection

  • کد Code

  • کد Code

  • چگونه فازهای وقت گیر در تک جزء کار می کنند How Time consuming phases works in Single Component

  • چگونه فازهای وقت گیر در تک جزء کار می کنند How Time consuming phases works in Single Component

  • کد Code

  • کد Code

  • فازهای زمان بر در اجزای متعدد Time Consuming phases in multiple components

  • فازهای زمان بر در اجزای متعدد Time Consuming phases in multiple components

  • کد Code

  • کد Code

  • تایم اوت Timeout

  • تایم اوت Timeout

  • کد Code

  • کد Code

  • زمان تخلیه: جزء جداگانه Drain Time : Individual Component

  • زمان تخلیه: جزء جداگانه Drain Time : Individual Component

  • کد Code

  • کد Code

  • زمان تخلیه: چند مولفه Drain Time : Multiple Components

  • زمان تخلیه: چند مولفه Drain Time : Multiple Components

  • کد Code

  • کد Code

  • اشکال زدایی فاز Phase Debug

  • اشکال زدایی فاز Phase Debug

  • سوئیچ اشکال زدایی فاز Phase Debug Switch

  • سوئیچ اشکال زدایی فاز Phase Debug Switch

  • اشکال زدایی اعتراض Objection Debug

  • اشکال زدایی اعتراض Objection Debug

  • سوئیچ اشکال زدایی اعتراض Objection Debug Switch

  • سوئیچ اشکال زدایی اعتراض Objection Debug Switch

  • A51 A51

  • A51 A51

UVM_PHASES UVM_PHASES

TLM TLM

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • مبانی Fundamentals

  • مبانی Fundamentals

  • مسدود کردن عملیات PUT P1 Blocking PUT Operation P1

  • مسدود کردن عملیات PUT P1 Blocking PUT Operation P1

  • کد Code

  • کد Code

  • افزودن IMP به عملیات Blocking PUT Adding IMP to Blocking PUT Operation

  • افزودن IMP به عملیات Blocking PUT Adding IMP to Blocking PUT Operation

  • کد Code

  • کد Code

  • پورت به IMP Port to IMP

  • پورت به IMP Port to IMP

  • کد Code

  • کد Code

  • PORT-PORT به IMP PORT-PORT to IMP

  • PORT-PORT به IMP PORT-PORT to IMP

  • کد Code

  • کد Code

  • پورت به صادرات-IMP Port to Export-IMP

  • پورت به صادرات-IMP Port to Export-IMP

  • کد Code

  • کد Code

  • عملیات را دریافت کنید Get Operation

  • عملیات را دریافت کنید Get Operation

  • کد Code

  • کد Code

  • بندر حمل و نقل Transport Port

  • بندر حمل و نقل Transport Port

  • کد Code

  • کد Code

  • پورت آنالیز Analysis Port

  • پورت آنالیز Analysis Port

  • کد Code

  • کد Code

  • A71 A71

  • A71 A71

  • A72 A72

  • A72 A72

TLM TLM

توالی Sequence

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • مبانی Fundamentals

  • مبانی Fundamentals

  • ایجاد توالی Creating Sequences

  • ایجاد توالی Creating Sequences

  • کد Code

  • کد Code

  • درک جریان Understanding Flow

  • درک جریان Understanding Flow

  • کد Code

  • کد Code

  • ارسال داده به Sequencer Sending Data to Sequencer

  • ارسال داده به Sequencer Sending Data to Sequencer

  • کد Code

  • کد Code

  • ارسال داده به درایور روش 2 P1 Sending Data to Driver Method 2 P1

  • ارسال داده به درایور روش 2 P1 Sending Data to Driver Method 2 P1

  • ارسال داده به درایور روش 2 P2 Sending Data to Driver Method 2 P2

  • ارسال داده به درایور روش 2 P2 Sending Data to Driver Method 2 P2

  • کد Code

  • کد Code

  • توالی چندگانه به صورت موازی Multiple Sequence in Parallel

  • توالی چندگانه به صورت موازی Multiple Sequence in Parallel

  • کد Code

  • کد Code

  • تغییر مکانیسم داوری P1 Changing Arbitration Mechanism P1

  • تغییر مکانیسم داوری P1 Changing Arbitration Mechanism P1

  • تغییر مکانیسم داوری P2 Changing Arbitration Mechanism P2

  • تغییر مکانیسم داوری P2 Changing Arbitration Mechanism P2

  • کد Code

  • کد Code

  • راه های نگه داشتن دسترسی به Sequencer Ways to Hold access of Sequencer

  • راه های نگه داشتن دسترسی به Sequencer Ways to Hold access of Sequencer

  • دسترسی نگه داشتن ترتیب سنج P1 Holding Access of Sequencer P1

  • دسترسی نگه داشتن ترتیب سنج P1 Holding Access of Sequencer P1

  • کد Code

  • کد Code

  • دسترسی نگه داشتن Sequencer P2: اولویت Holding access of Sequencer P2 : Priority

  • دسترسی نگه داشتن Sequencer P2: اولویت Holding access of Sequencer P2 : Priority

  • کد Code

  • کد Code

  • دسترسی نگه داشتن Sequencer P3: Lock Method Holding access of Sequencer P3 : Lock Method

  • دسترسی نگه داشتن Sequencer P3: Lock Method Holding access of Sequencer P3 : Lock Method

  • کد Code

  • کد Code

  • دسترسی نگه داشتن Sequencer P4: Grab Method Holding access of Sequencer P4 : Grab Method

  • دسترسی نگه داشتن Sequencer P4: Grab Method Holding access of Sequencer P4 : Grab Method

  • کد Code

  • کد Code

توالی Sequence

پروژه ها: جمع کننده ترکیبی Projects : Combinational Adder

  • دستور جلسه Agenda

  • دستور جلسه Agenda

  • خلاصه ای از محیط تأیید Summary of the Verification Environment

  • خلاصه ای از محیط تأیید Summary of the Verification Environment

  • تأیید جمع‌کننده ترکیبی: DUT Verification of Combinational adder : DUT

  • تأیید جمع‌کننده ترکیبی: DUT Verification of Combinational adder : DUT

  • کلاس تراکنش Transaction Class

  • کلاس تراکنش Transaction Class

  • کلاس سکانس Sequence Class

  • کلاس سکانس Sequence Class

  • کلاس راننده Driver Class

  • کلاس راننده Driver Class

  • کلاس مانیتور Monitor Class

  • کلاس مانیتور Monitor Class

  • کلاس تابلوی امتیاز Scoreboard Class

  • کلاس تابلوی امتیاز Scoreboard Class

  • کلاس نماینده Agent Class

  • کلاس نماینده Agent Class

  • کلاس محیط زیست Environment Class

  • کلاس محیط زیست Environment Class

  • کلاس تست Test Class

  • کلاس تست Test Class

  • روی میز تست Testbench Top

  • روی میز تست Testbench Top

  • DUT + رابط DUT + Interface

  • DUT + رابط DUT + Interface

  • نیمکت آزمون Testbench

  • نیمکت آزمون Testbench

  • A91 A91

  • A91 A91

پروژه ها: جمع کننده ترکیبی Projects : Combinational Adder

پروژه ها: تأیید جمع کننده متوالی Projects : Verification of Sequential Adder

  • طراحی + رابط Design + Interface

  • طراحی + رابط Design + Interface

  • تراکنش + ژنراتور Transaction + Generator

  • تراکنش + ژنراتور Transaction + Generator

  • راننده Driver

  • راننده Driver

  • مانیتور + تابلوی امتیاز Monitor + Scoreboard

  • مانیتور + تابلوی امتیاز Monitor + Scoreboard

  • Agent + ENV + TEST Agent + ENV + TEST

  • Agent + ENV + TEST Agent + ENV + TEST

  • روی میز تست Testbench Top

  • روی میز تست Testbench Top

  • DUT + رابط DUT + Interface

  • DUT + رابط DUT + Interface

  • نیمکت آزمون Testbench

  • نیمکت آزمون Testbench

  • A101 A101

  • A101 A101

پروژه ها: تأیید جمع کننده متوالی Projects : Verification of Sequential Adder

دوره بعدی سری UVM Next Course of UVM Series

  • UVM برای تأیید قسمت 2: پروژه ها UVM for Verification Part 2 : Projects

  • UVM برای تأیید قسمت 2: پروژه ها UVM for Verification Part 2 : Projects

دوره بعدی سری UVM Next Course of UVM Series

نمایش نظرات

آموزش UVM برای تأیید قسمت 1: اصول
جزییات دوره
10 hours
180
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,445
4.6 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kumar Khandagle Kumar Khandagle

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