آموزش زمان‌بندی FPGA بخش دوم: عبور از دامنه‌های کلاک (CDC) با Vivado 2024 - آخرین آپدیت

دانلود FPGA Timings P2: Clock Domain Crossing(CDC) with Vivado 2024

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: راهنمای گام‌به‌گام از صفر فیزیک متااستبیلیتی (Metastability) و تاثیر آن بر عبور از دامنه‌های کلاک. تفاوت بین تحلیل زمان‌بندی استاتیک (STA) و تاییدیه CDC در Vivado 2024. تولید و تفسیر خروجی‌های report_clock_interaction و report_cdc در ویوادو. طراحی و پیاده‌سازی سینکرونایزرهای دو و سه مرحله‌ای با استفاده صحیح از ASYNC_REG. روش‌های درخت تصمیم برای انتقال امن تک-بیت، پالس‌ها و عبورهای ریست. تکنیک‌های انتقال منسجم چند-بیت با استفاده از شمارنده‌های گری (Gray) و پرایمیتیوهای XPM_CDC. محاسبه و بهینه‌سازی میانگین زمان بین خرابی (MTBF) برای طراحی‌های قابل اعتماد. پیش نیازها: مبانی الکترونیک دیجیتال، Verilog، STA.

این دوره به مهندسان FPGA می‌آموزد که چگونه عبور از دامنه‌های کلاک (CDC) را در Vivado 2024 شناسایی، تحلیل و رفع کنند. دوره با مقایسه تحلیل CDC با تحلیل زمان‌بندی استاتیک متداول و توضیح فیزیک و پیامدهای عملی متااستبیلیتی آغاز می‌شود. دانشجویان یاد می‌گیرند که چرا بررسی‌های زمان‌بندی استاتیک فقط دامنه‌های هم‌گام را پوشش می‌دهند، متااستبیلیتی چگونه منتشر می‌شود و چگونه گزارش‌های clock-interaction در ویوادو را که تخلفات احتمالی (واقعی یا کاذب) را علامت‌گذاری می‌کنند، بخوانند. سپس برنامه آموزشی به بخش طراحی عملی منتقل می‌شود، جایی که شرکت‌کنندگان RTLهایی را می‌نویسند و دیباگ می‌کنند که عمداً دارای عبورهای ناامن هستند، متااستبیلیتی واقعی را از طریق شبیه‌سازی مشاهده کرده و به طور سیستماتیک طراحی را اصلاح می‌کنند. در این کلاس سینکرونایزرهای دو و سه مرحله‌ای معرفی می‌شوند، دلیل عدم امکان اتصال مستقیم خروجی‌های ترکیبی به آن‌ها توضیح داده شده و استفاده صحیح از ویژگی ASYNC_REG، محدودیت‌های Fanout و به حداقل رساندن تاخیر آموزش داده می‌شود. انتقال‌های تک-بیت با متد درخت تصمیم مدیریت می‌شوند که عبورهای سطح (Level) و پالس و همچنین ریست‌های ناهم‌گام و هم‌گام را پوشش می‌دهد. سپس انتقال‌های چند-بیت بررسی شده و نشان داده می‌شود که چرا سینکرونایزر تک-بیت ناکافی است، چگونه انسجام داده‌ها را با شمارنده‌های گری یا پرایمیتیوهای XPM_CDC_ARRAY_SINGLE حفظ کنیم و چگونه FIFOهای دو-کلاکی قابل اعتماد با استفاده از XPM_CDC_GRAY بسازیم. در طول دوره، دانشجویان خروجی‌های report_clock_interaction و report_cdc را تولید و تفسیر کرده، اصطلاحات Safe و Unsafe را به کار می‌برند و مدیریت Waiverها و رویه‌های Sign-off را تمرین می‌کنند. آزمایش‌های عملی با یک جریان تحلیل CDC خودکار به پایان می‌رسد که اسکریپت‌های TCL را با Checkpointهای طراحی برای بسته شدن (Closure) تکرارپذیر جفت می‌کند. در نهایت، کلاس مقدار MTBF را کمی‌سازی کرده، نشان می‌دهد که چگونه با تنظیم عمق سینکرونایزر و فرکانس کلاک، MTBF را فراتر از عمر محصول ببریم و مهندسان را برای دفاع از استراتژی CDC خود در جلسات بررسی طراحی آماده می‌کند. در پایان، شرکت‌کنندگان می‌توانند هر عبور در یک طراحی را شناسایی کنند، سینکرونایزر یا پرایمیتیو مناسب را انتخاب کنند، تایید کنند که تمام مسیرها امن هستند و سخت‌افزاری را ارائه دهند که در اولین نسخه سیلیکون یا بیت‌استریم، اهداف قابلیت اطمینان را برآورده کند.


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

شروع کار با Vivado CDC Getting Started with Vivado CDC

  • CDC چیست؟ What is CDC ?

  • مقایسه STA و CDC STA vs CDC

  • درک متااستبیلیتی بخش اول Understanding Metastability P1

  • درک متااستبیلیتی بخش دوم Understanding Metastability P2

  • اثرات متااستبیلیتی Effects of Metastability

  • بازبینی متااستبیلیتی Revisiting Metastability

  • دمونستراسیون بخش اول Demonstration P1

  • دمونستراسیون بخش دوم Demonstration P2

  • کد طراحی Design Code

  • محدودیت‌ها (Constraints) Constraints

  • دامنه‌های هم‌گام در مقابل ناهم‌گام Sync vs Async domains

  • گزارش Clock Interaction بخش اول Clock Interaction report P1

  • گزارش Clock Interaction بخش دوم Clock Interaction report P2

  • چرا STA فقط روی دامنه‌های کلاک هم‌گام انجام می‌شود Why STA (Static Timing Analysis) is performed only on synchronous clock domains

  • گزارش Clock Interaction بخش سوم Clock Interaction report P3

  • تخلفات کاذب (False Violations) False Violations

  • درک زمان‌های Setup و Hold بخش اول Understanding Setup & hold times P1

  • درک زمان‌های Setup و Hold بخش دوم Understanding Setup & hold times P2

  • گزارش Clock Interaction بخش چهارم Clock Interaction report P4

  • استفاده از گزارش Clock Interaction بخش اول Use of Clock interaction report P1

  • استفاده از گزارش Clock Interaction بخش دوم Use of Clock interaction report P2

  • نحوه استفاده از report_clock_interaction Usage of report_clock_interaction

  • گزارش report_cdc بخش اول report_cdc P1

  • نحوه استفاده از report_cdc Usage of report cdc

  • اصطلاحات Safe و Unsafe Safe & Unsafe terminology

  • درک report_cdc بخش اول Understanding report_cdc P1

  • درک report_cdc بخش دوم Understanding report_cdc P2

  • درک report_cdc بخش سوم Understanding report_cdc P3

  • درک report_cdc info بخش اول Understanding report_cdc info P1

  • درک report_cdc info بخش دوم Understanding report_cdc info P2

  • درک report_cdc info بخش سوم Understanding report_cdc info P3

  • درک report_cdc info بخش چهارم Understanding report_cdc info P4

  • کاربرد report_cdc Usage of report_cdc

  • آمادگی برای مصاحبه Interview Prep

سینکرونایزر (Synchronizer) Synchronizer

  • چرا خروجی ترکیبی نباید به عنوان ورودی سینکرونایزر استفاده شود بخش اول Why combinational output should not be used as input to synchronizer P1

  • چرا خروجی ترکیبی نباید به عنوان ورودی سینکرونایزر استفاده شود بخش دوم Why combinational output should not be used as input to synchronizer P2

  • چرا خروجی ترکیبی نباید به عنوان ورودی سینکرونایزر استفاده شود بخش سوم Why combinational output should not be used as input to synchronizer P3

  • کد طراحی Design Code

  • محدودیت‌ها (Constraints) Constraints

  • بازبینی مدار معیوب Revisiting bad circuit

  • سینکرونایزر Synchronizer

  • افزودن سینکرونایزر به طراحی بخش اول Adding Synchronizer to design P1

  • افزودن سینکرونایزر به طراحی بخش دوم Adding Synchronizer to design P2

  • کد طراحی Design Code

  • محدودیت‌ها (Constraints) Constraints

  • استفاده از ویژگی‌های ASYNC_REG بخش اول Usage of ASYNC_REG attributes P1

  • استفاده از ویژگی‌های ASYNC_REG بخش دوم Usage of ASYNC_REG attributes P2

  • کد طراحی Design Code

  • محدودیت‌ها (Constraints) Constraints

  • بهترین روش‌ها برای CDC Flops بخش اول: Fanout پایین Recommended Practices for CDC Flops P1 : Low Fanout

  • بهترین روش‌ها برای CDC Flops بخش دوم: به حداقل رساندن تاخیر Recommended Practices for CDC Flops P2 : Minimize delay

  • جریان CDC بخش اول CDC flow P1

  • جریان CDC بخش دوم CDC flow P2

  • استفاده از پرایمیتیوها در جریان CDC بخش اول Using Primitives in CDC flow P1

  • استفاده از پرایمیتیوها در جریان CDC بخش دوم Using Primitives in CDC flow P2

  • استفاده از پرایمیتیوها در جریان CDC بخش سوم Using Primitives in CDC flow P3

  • کد طراحی Design Code

  • محدودیت‌ها (Constraints) Constraints

  • آمادگی برای مصاحبه Interview Prep

عبور تک-بیت (Single bit CDC) Single bit CDC

  • روش‌های ساخت سینکرونایزر بخش اول ways to build Synchronizer P1

  • روش‌های ساخت سینکرونایزر بخش دوم ways to build Synchronizer P2

  • درخت تصمیم تک-بیت Single Bit Decision Tree

  • ریست ناهم‌گام (Async Reset) بخش اول Async Reset P1

  • ریست ناهم‌گام (Async Reset) بخش دوم Async Reset P2

  • ریست ناهم‌گام (Async Reset) بخش سوم Async Reset P3

  • کد Code

  • ریست هم‌گام (Sync Reset) بخش اول Sync Reset P1

  • ریست هم‌گام (Sync Reset) بخش دوم Sync Reset P2

  • ریست هم‌گام (Sync Reset) بخش سوم Sync Reset P3

  • کد Code

  • درک xpm_cdc_single Understanding xpm_cdc_single

  • مورد استفاده xpm_cdc_single بخش اول xpm_cdc_single used case P1

  • مورد استفاده xpm_cdc_single بخش دوم xpm_cdc_single used case P2

  • کد Code

  • درک xpm_cdc_pulse بخش اول Understanding xpm_cdc_pulse P1

  • درک xpm_cdc_pulse بخش دوم Understanding xpm_cdc_pulse P2

  • درک xpm_cdc_pulse بخش سوم Understanding xpm_cdc_pulse P3

  • درک xpm_cdc_pulse بخش چهارم Understanding xpm_cdc_pulse P4

  • درک xpm_cdc_pulse بخش پنجم Understanding xpm_cdc_pulse P5

  • کد Code

  • تمرین خودارزیابی ۱ Self Check Exercise 1

  • تمرین خودارزیابی ۲ Self Check Exercise 2

  • تمرین خودارزیابی ۳ Self Check Exercise 3

  • تمرین خودارزیابی ۴ Self Check Exercise 4

  • آمادگی برای مصاحبه Interview Prep

عبور چند-بیت (Multibit CDC) Multibit CDC

  • چرا CDC تک-بیت برای چند-بیت مناسب نیست Why single bit CDC cannot be used for Multibits

  • درخت تصمیم چند-بیت بخش اول Multi-bit Decision Tree P1

  • درخت تصمیم چند-بیت بخش دوم Multi-bit Decision Tree P2

  • درک XPM_CDC_ARRAY_SINGLE بخش اول Understanding XPM_CDC_ARRAY_SINGLE P1

  • درک XPM_CDC_ARRAY_SINGLE بخش دوم Understanding XPM_CDC_ARRAY_SINGLE P2

  • درک XPM_CDC_ARRAY_SINGLE بخش سوم Understanding XPM_CDC_ARRAY_SINGLE P3

  • کد Code

  • عدم انسجام داده‌ها (Data Incoherency) Data Incoherency

  • مزایای شمارنده‌های گری نسبت به باینری Advantages of Gray over binary counters

  • مقایسه شمارنده‌های باینری و گری Binary vs Gray Counters

  • روش دستی عبور شمارنده بخش اول Counter Crossing Manual Approach P1

  • روش دستی عبور شمارنده بخش دوم Counter Crossing Manual Approach P2

  • روش دستی عبور شمارنده بخش سوم Counter Crossing Manual Approach P3

  • روش دستی عبور شمارنده بخش چهارم Counter Crossing Manual Approach P4

  • روش دستی عبور شمارنده بخش پنجم Counter Crossing Manual Approach P5

  • روش دستی عبور شمارنده بخش ششم Counter Crossing Manual Approach P6

  • روش دستی عبور شمارنده بخش هفتم Counter Crossing Manual Approach P7

  • کد Code

  • درک XPM_CDC_GRAY بخش اول Understanding XPM_CDC_GRAY P1

  • درک XPM_CDC_GRAY بخش دوم Understanding XPM_CDC_GRAY P2

  • مثال ساده از پرایمیتیو بخش اول Simple example of primitive P1

  • مثال ساده از پرایمیتیو بخش دوم Simple example of primitive P2

  • مثال ساده از پرایمیتیو بخش سوم Simple example of primitive P3

  • کد Code

  • استفاده از پرایمیتیوهای CDC GRAY در FIFO بخش اول Using CDC GRAY primitives in FIFO P1

  • استفاده از پرایمیتیوهای CDC GRAY در FIFO بخش دوم Using CDC GRAY primitives in FIFO P2

  • استفاده از پرایمیتیوهای CDC GRAY در FIFO بخش سوم Using CDC GRAY primitives in FIFO P3

  • کد Code

  • مورد استفاده بخش اول Used Case P1

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

  • کد Code

  • تمرین خودارزیابی Self Checking exercise

  • درک xpm_fifo_async بخش اول Understanding xpm_fifo_async P1

  • درک xpm_fifo_async بخش دوم Understanding xpm_fifo_async P2

  • درک xpm_fifo_async بخش سوم Understanding xpm_fifo_async P3

  • تمرین خودارزیابی Self Checking exercise

  • تمرین خودارزیابی Self Checking exercise

  • درک XPM_CDC_HANDSHAKE بخش اول Understanding XPM_CDC_HANDSHAKE P1

  • درک XPM_CDC_HANDSHAKE بخش دوم Understanding XPM_CDC_HANDSHAKE P2

  • درک XPM_CDC_HANDSHAKE بخش سوم Understanding XPM_CDC_HANDSHAKE P3

  • درک XPM_CDC_HANDSHAKE بخش چهارم Understanding XPM_CDC_HANDSHAKE P4

  • درک XPM_CDC_HANDSHAKE بخش پنجم Understanding XPM_CDC_HANDSHAKE P5

  • تمرین خودارزیابی Self Checking exercise

  • آمادگی برای مصاحبه Interview Prep

تحلیل MTBF MTBF

  • درک MTBF و استراتژی‌های بهبود بخش اول Understanding MTBF & Improving strategies P1

  • درک MTBF و استراتژی‌های بهبود بخش دوم Understanding MTBF & Improving strategies P2

  • درک MTBF و استراتژی‌های بهبود بخش سوم Understanding MTBF & Improving strategies P3

  • آمادگی برای مصاحبه Interview Prep

نمایش نظرات

آموزش زمان‌بندی FPGA بخش دوم: عبور از دامنه‌های کلاک (CDC) با Vivado 2024
جزییات دوره
4.5 hours
133
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
212
4.3 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kumar Khandagle Kumar Khandagle

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