آموزش SystemVerilog Assertions (SVA) با Xilinx Vivado 2020.1

SystemVerilog Assertions (SVA) with Xilinx Vivado 2020.1

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: راهنمای گام به گام از استفاده اولیه از اظهارات SystemVerilog در مجموعه طراحی Xilinx Vivado 2020 بینش اظهارات System Verilog مطابق با LRM 1800 2017 بینش عملگرهای Boolean، Sequence و Property Power of the Concurrent و Immediate ofssage ofssage and Impmediate Systems از متغیرهای محلی در ادعاهای همزمان کاربرد ادعاهای فوری در سیستم های دیجیتال کاربرد ادعاهای همزمان در سیستم های دیجیتال کاربرد ادعاهای همزمان در FSM استفاده از ادعا در SystemVerilog TB پیش نیازها:درک بنیادی Verilog

به این روزها خوش آمدید، گنجاندن ادعاها در تأیید طرح برای تأیید رفتار RTL در برابر مشخصات طراحی رایج است. مستقل از زبان تأیید سخت افزار (HVL) یعنی. Verilog، SystemVerilog، UVM که برای انجام تأیید RTL استفاده می شود، افزودن اظهارات داخل کد تأیید به ردیابی سریع اشکالات کمک می کند. مزیت اصلی استفاده از ادعای SV نسبت به بررسی رفتار مبتنی بر Verilog، اجرای ساده توالی پیچیده است که می تواند زمان و تلاش خوبی را در کدهای مبتنی بر Verilog مصرف کند. ادعای SystemVerilog دارای مجموعه محدودی از اپراتورها است، بنابراین یادگیری آنها دشوار نیست، اما انتخاب یک اپراتور خاص برای برآورده کردن مشخصات طراحی با سالها تجربه همراه است. در این دوره، مجموعه‌ای از مثال‌ها را مرور می‌کنیم تا پایه‌ای برای انتخاب یک استراتژی ادعایی صحیح برای تأیید رفتار RTL ایجاد کنیم. این ادعا در سه طعم ارائه می شود. ادعای فوری، ادعای فوری معوق، ادعای فوری معوق نهایی، و ادعای همزمان. یک ادعا کدی است که مسئول بررسی رفتار طرح است. راستی‌آزمایی کامل طرح اساساً شامل تأیید در دامنه‌های موقت و غیرموقت است. ادعاهای SV فوری و Deferred به ما امکان می‌دهند تا عملکرد طرح را در منطقه غیر موقت تأیید کنیم و ادعای همزمان به ما امکان می‌دهد طرح را در منطقه زمانی تأیید کنیم.

به دنیای شگفت انگیز اظهارات SV خوش آمدید. این دوره در مورد اصول ساختارهای ادعایی SV که Vivado به طور بومی پشتیبانی می کند و روش های جایگزین برای اجرای سازه هایی که Vivado هنوز پشتیبانی نمی کند، بحث خواهد کرد.


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

شروع کار با IDE Getting Started with IDE

  • چارچوب دوره Course Framework

  • دستور جلسه Agenda

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

  • کد Code

  • قدرت SVA P1 Power of SVA P1

  • کد Code

  • قدرت SVA P2 Power of SVA P2

  • کد Code

  • قدرت SVA P3 Power of SVA P3

  • کد Code

  • قدرت SVA p4 Power of SVA p4

  • کد Code

  • رفتار گزاره های ادعا در سنتز Behavior of the Assertion statements in Synthesis

  • کد Code

  • تلاش برای افزودن پورت‌ها به بیانیه‌های ادعا Trying to add ports inside assertion statements

  • کد Code

  • درک تکالیف و امتحان Understanding Assignments and Quiz

  • آزمون 1 Quiz 1

معرفی Introduction

  • دستور جلسه Agenda

  • شروع با Assertion Getting Started with Assertion

  • مشکلات با مناطق و اشکالات شبیه سازی Difficulties with regions and Simulation glictches

  • حذف اشکالات شبیه سازی و افزودن ادعای فوری معوق Removing Simulation Glitches and addition of the Deferred Immediate Assertion

  • ظهور ادعای فوری معوق نهایی Rise of Final Deferred Immediate Assertion

  • بررسی اجمالی Overview

  • انتزاع رویدادها و مناطق Abstracting events and Regions

  • نحوه تشخیص نوع ادعا How we identify type of assertion

  • مبانی ادعای فوری ساده Fundamentals of SImple Immediate Assertion

  • تظاهرات Demonstration

  • کد Code

  • ادعای فوری معوق: پشتیبانی نمی شود Deferred Immediate Assertion : Not Supported

  • سنپشات UG900 UG900 Sanpshot

  • مبانی ادعای همزمان Fundamentals of Concurrent Assertion

  • تظاهرات Demonstration

  • کد Code

  • غیرفعال کردن جستجوگر Disabling Checker

  • کد Code

  • غیرفعال کردن جمعی چندین ادعا: $asserton و $assertoff Collectively disabling Multiple assertions: $asserton and $assertoff

  • کد Code

  • برنامه معمولی: $asserton و $assertoff Typical application : $asserton and $assertoff

  • کد Code

  • معنی Assert/Deassert برای انواع مختلف سیگنال Meaning of Assert / Deassert for different type of signal

  • A21 A21

  • A22 A22

  • P2 P2

شروع با ادعای همزمان Getting Started with Concurrent Assertion

  • دستور جلسه Agenda

  • لایه ها در اظهارات همزمان Layers in Concurrent Assertions

  • ترفندهایی برای رسیدگی به اپراتور Tricks to handle Operator

  • تظاهرات Demonstration

  • لبه های ساعت مختلف Different Clock edges

  • کد Code

  • ساعت پیش فرض Default Clocking

  • کد Code

  • A31 A31

  • A32 A32

  • P3 P3

اپراتورها Operators

  • دستور جلسه Agenda

  • مبانی اپراتور مفهومی Fundamentals of Implication Operator

  • نمایش: اپراتور مفهومی همپوشانی Demonstration : Overlapping Implication Operator

  • کد Code

  • نمایش: اپراتور مفهومی غیر همپوشانی Demonstration : Non-Overlapping Implication Operator

  • کد Code

  • موفقیت خالی Vacuous Success

  • نخ با سطح و لبه سیگنال Thread with Level and Edge of the signal

  • نخ با سطح و لبه سیگنال P2 Thread with Level and Edge of the signal P2

  • A41 A41

  • A42 A42

  • A43 A43

  • A44 A44

  • A45 A45

  • امتحان Quiz

وظایف سیستم قسمت 1 System Tasks Part 1

  • دستور جلسه Agenda

  • Single Vs Multiple Threads Single Vs Multiple Threads

  • کد Code

  • استفاده از $sampled Use of $sampled

  • کد Code

  • استفاده از $rose در سیگنال تک بیتی و چند بیتی Using $rose in SIngle bit and Multi-bit signal

  • فرمت رز $ Format of $rose

  • کد Code

  • استفاده از $fall در سیگنال تک بیتی و چند بیتی Using $fell in SIngle bit and Multi-bit signal

  • فرمت $ سقوط کرد Format of $fell

  • کد Code

  • شروع با $ past Getting Started with $past

  • قالب $گذشته Format of $past

  • تظاهرات Demonstration

  • کد Code

  • خلاصه Summary

  • $ گذشته با تیک تک ساعت $past with single clock tick

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

  • نمایش چند مورد استفاده شده Demonstration of few used cases

  • کد Code

  • A51 A51

  • A52 A52

  • A53 A53

  • A54 A54

  • A55 A55

  • امتحان Quiz

ادعای همزمان با اپراتورهای زمان بندی Concurrent Assertion with the TIming Operators

  • دستور جلسه Agenda

  • شروع کار با اپراتور تاخیر ## Getting Started with the Delay Operator ##

  • نمایش: تاخیر ثابت Demonstration : Fixed delay

  • کد Code

  • تاخیر متغیر Variable Delay

  • کد Code

  • تاخیر بی حد و حصر Unbounded Delay

  • کد Code

  • شروع کار با Repetition Operator Getting Started with Repetition Operator

  • نمایش: عملگر تکرار متوالی Demonstration : Consectuive Repetition Operator

  • کد Code

  • عملگر تکرار متوالی با برد Consectuive Repetition Operator with Range

  • کد Code

  • عملگر تکرار غیر متوالی Non-Consecutive Repetition Operator

  • کد Code

  • محدود کردن تعداد تکرار Restricting Repetition Count

  • کد Code

  • عملگر تکرار غیر متوالی با برد Non-Consecutive Repetition Operator with range

  • کد Code

  • بردن Takeaway

  • GOTO در مقابل تکرار غیر متوالی GOTO vs Non-Consecutive Repetition

  • تظاهرات Demonstration

  • کد Code

  • بینش GOTO در مقابل تکرار غیر متوالی P1 GOTO vs Non-Consecutive Repetition Insights P1

  • GOTO در مقابل بینش‌های تکرار غیر متوالی P2 GOTO vs Non-Consecutive Repetition Insights P2

  • کد Code

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

  • A61 A61

  • A62 A62

  • A63 A63

  • A64 A64

  • A65 A65

  • A66 A66

  • امتحان Quiz

کار با چندین توالی Working with Multiple Sequences

  • دستور جلسه Agenda

  • مبانی اپراتورهای بولی Fundamentals of Boolean Operators

  • و اپراتور AND Operator

  • کد Code

  • اپراتور نیست NOT operator

  • کد Code

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

  • کد Code

  • سناریوی مدیریتی که نیاز به واجد شرایط قوی روش 1 دارد Handling scenario which require strong qualifier Method 1

  • کد Code

  • سناریوی مدیریتی که به روش 2 واجد شرایط قوی نیاز دارد Handling scenario which require strong qualifier Method 2

  • کد Code

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

  • خلاصه ای از موفقیت و شکست با انواع اپراتورها Summary on Success and Failure with operator types

  • مبانی کل، درون، P1 را قطع می کنند Fundamentals of throughout, within, intersect P1

  • مبانی کل، درون، P2 را قطع می کنند Fundamentals of throughout, within, intersect P2

  • موفقیت و شکست در سراسر Success and Failure of throughout

  • استفاده از سراسر اپراتور Usage of throughout operator

  • کد Code

  • مبانی درون Fundamentals of within

  • موفقیت و شکست های درون اپراتور Success and failures of within operator

  • استفاده از اپراتور درون usage of Within operator

  • کد Code

  • اصول عملگر Intersect Fundamentals of Intersect Operator

  • استفاده از عملگر Intersect Usage of the Intersect Operator

  • کد Code

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

  • تظاهرات I Demonstration I

  • کد Code

  • تظاهرات دوم Demonstration II

  • کد Code

  • تظاهرات III Demonstration III

  • کد Code

  • A71 A71

  • A72 A72

  • A73 A73

  • A74 A74

  • A75 A75

وظایف سیستم قسمت 2 System Tasks Part 2

  • دستور جلسه Agenda

  • $onehot و $onehot0 $onehot and $onehot0

  • نسخه ی نمایشی Demo

  • کد Code

  • تشخیص یک رمزگذاری سرد Detecting One cold encoding

  • تظاهرات Demonstration

  • کد Code

  • استفاده جالب از $onehot0 Interesting use of $onehot0

  • کد Code

  • $ناشناس $isunknown

  • کد Code

  • $ countones $countones

  • کد Code

  • جایگزین برای $countbits() Alternatives for $countbits()

  • $تغییر شد و $پایدار $changed and $stable

  • کد Code

  • ارزیابی با تیک تک ساعت Evaluation with Single Clock tick

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

  • کد Code

  • خلاصه Summary

جایگزین هایی برای ویژگی های مفید LTL پشتیبانی نشده Alternatives to Unsupported Useful LTL Properties

  • درک s_در نهایت Understanding s_eventually

  • پیاده سازی در VIvado P1 Implementation in VIvado P1

  • کد Code

  • پیاده سازی در Vivado P2 Implementation in Vivado P2

  • کد Code

  • درک تا Understanding Until

  • اجرای s_until Implementation of the s_until

  • کد Code

  • پیاده سازی s_unitl_with Implementation of the s_unitl_with

  • کد Code

متغیرهای محلی Local Variables

  • شروع شدن Getting Started

  • استفاده از LV p1 Usage of LV p1

  • کد Code

  • LV و دنباله نامحدود LV and Unbounded Sequence

  • کد Code

  • LV با جمع کننده سنکرون LV with Synchronus adder

  • کد Code

  • مدیریت تاخیر متغیر Handling Variable delay

  • کد Code

استفاده معمولی از نمای کلی اپراتور Typical usage of Operator Overview

  • اپراتور بولی Boolean Operator

  • اپراتورهای مفهومی Implication Operators

  • اپراتور تاخیر Delay Operator

  • تاخیر با برد Delay with range

  • تاخیر بی حد و حصر Unbounded Delay

  • اپراتور تکرار Repetition Operator

کار با FSM Working with FSM

  • درک طراحی Understanding Design

  • بررسی 1: کدگذاری حالت CHECK 1: State Encoding

  • بررسی 3: حالت انتقال در دین CHECK 3 : State Transition on din

  • بررسی 4: همه ایالت ها حداقل یک بار تحت پوشش قرار می گیرند CHECK 4 : All states are covered atleast once

  • بررسی 5: رفتار خروجی CHECK 5 : Output behavior

  • کد Code

کار با شمارنده Working with Counter

  • درک طراحی Understanding Design

  • کد Code

  • بررسی 1: هنگامی که Reset Deasserted انجام شود، DOUT باید صفر باشد CHECK 1 : DOUT must be zero when Reset Deasserted

  • بررسی 2: DOUT در حالت بالا CHECK 2: DOUT in UP Mode

  • بررسی 3: DOUT در حالت پایین CHECK 3 : DOUT in Down Mode

  • CHCEK 4: اگر RST غیرفعال شد، DOUT باید تغییر کند CHCEK 4: DOUT must changed if RST deassert

  • بررسی 5: DOUT باید برای کل مدت شبیه سازی در حالت مشخص باشد CHECK 5: DOUT must be in known state for entire simuation duration

  • کد Code

کار با FIFO Working with FIFO

  • درک طراحی FIFO Understanding FIFO design

  • بررسی 1: رفتار پرچم خالی و FULL با تایید RST CHECK 1 : Behavior of EMPTY and FULL flag with RST assertd

  • خواندن FIFO خالی Reading Empty FIFO

  • نوشتن به FIFO کامل Writing to Full FIFO

  • رفتار اشاره گر خواندن و نوشتن در طول عملیات نوشتن Behavior of Read and Write Pointer during Writing Operation

  • رفتار اشاره گر خواندن و نوشتن در طول عملیات خواندن Behavior of Read and Write Pointer during Reading Operation

  • رفتار پرچم کامل و خالی با مقدار CNT Behavior of Full and Empty flag with CNT value

  • DOUT در سراسر شبیه سازی معتبر است DOUT is VALID throughout the simulation

پروژه متفرقه Miscellaneous Project

  • الگوریتم Round Robin برای درخواست چندگانه و گرانت (Ganapathi) Round Robin algorithm for multiple request and Grant (Ganapathi)

  • کد Code

اظهارات در SV Testbench/روش تأیید صحت مبتنی بر کلاس Assertions in SV Testbench / Class based Verification methodology

  • افزودن بررسی رفتار در جمع کننده 8 بیتی Adding behavior check in 8-bit adder

  • کد Code

ادعای فوری Immediate Assertion

  • دستور جلسه Agenda

  • شروع با اظهارات فوری Getting Started with Immediate Assertions

  • کد Code

  • کار با 4:1 Mux Working with 4:1 Mux

  • کد Code

  • کار با D-Flipflop P1 Workig with D-Flipflop P1

  • کار با D-Flipflop P2 Working with D-Flipflop P2

  • کد Code

نمایش نظرات

آموزش SystemVerilog Assertions (SVA) با Xilinx Vivado 2020.1
جزییات دوره
19 hours
216
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
242
4.6 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kumar Khandagle Kumar Khandagle

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