بخش دوم سری آموزش PyUVM: مبانی COCOTB - آخرین آپدیت

دانلود PyUVM Series Part 2 : COCOTB fundamentals

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

راهنمای گام به گام و جامع COCOTB برای اعتبارسنجی DUT

یادگیری COCOTB از صفر تا صد

این راهنما به شما کمک می‌کند تا با استفاده از COCOTB، اعتبارسنجی (Verification) طرح‌های دیجیتال خود (DUT - Device Under Test) را به طور کامل انجام دهید. با ما همراه باشید!

مباحث کلیدی این راهنما:

  • روش‌های تولید محرک‌های ساعت (Clock) و ریست (Reset): چگونگی ایجاد سیگنال‌های دقیق و قابل اعتماد برای اطمینان از عملکرد صحیح DUT.
  • افزونه‌های پایتون (Python Extensions) مفید برای اعتبارسنجی DUT: استفاده از ابزارهای پایتون برای افزایش کارایی و دقت فرآیند اعتبارسنجی.
  • تولید محرک‌ها به صورت همزمان (Concurrent) و ترتیبی (Sequential): بررسی روش‌های مختلف تولید محرک‌ها بسته به نوع طراحی و نیازهای اعتبارسنجی.

پیش‌نیازها:

آشنایی اولیه با زبان برنامه‌نویسی پایتون یا گذراندن موفقیت‌آمیز دوره "پایتون برای مهندسان VLSI - قسمت اول".

COCOTB چیست و چه کاربردی دارد؟

COCOTB مخفف "Coroutine-based Co-simulation TestBench" است. این یک فریم‌ورک متن‌باز (Open-Source) مبتنی بر پایتون است که برای اعتبارسنجی طرح‌های دیجیتال از طریق شبیه‌سازی (Simulation) استفاده می‌شود. COCOTB به مهندسان اجازه می‌دهد تا تست‌بنچ‌ها (Testbenches) را در پایتون بنویسند و به طور یکپارچه آن‌ها را با زبان‌های توصیف سخت‌افزار (HDLs) محبوب مانند وریلاگ (Verilog) و وی‌اچ‌دی‌ال (VHDL) ادغام کنند. با استفاده از انعطاف‌پذیری و قدرت پایتون، COCOTB فرآیند ایجاد محیط‌های تست، تولید محرک‌ها و تجزیه و تحلیل نتایج برای طرح‌های دیجیتال را ساده می‌کند. این فریم‌ورک از شبیه‌سازی‌های ترتیبی و همزمان پشتیبانی می‌کند و آن را برای طیف گسترده‌ای از وظایف اعتبارسنجی، از مدارهای ترکیبی ساده تا طرح‌های ترتیبی پیچیده، مناسب می‌سازد. به طور کلی، COCOTB یک ابزار همه‌کاره و کارآمد برای اعتبارسنجی طرح‌های دیجیتال است که یک رویکرد مدرن و Pythonic برای تست مبتنی بر شبیه‌سازی ارائه می‌دهد.

در این دوره چه چیزی یاد خواهید گرفت؟

در این دوره جامع، شما به دنیای COCOTB، ابزاری ارزشمند برای اعتبارسنجی طرح‌های دیجیتال، قدم خواهید گذاشت. ما طیف گسترده‌ای از موضوعات را بررسی خواهیم کرد، ابتدا با اصول اساسی تولید محرک‌ها برای سیگنال‌های داده و کنترل شروع می‌کنیم. با پیشرفت در دوره، تکنیک‌های پیشرفته‌ای برای ساخت محرک‌های قوی ریست و ساعت به دست خواهید آورد و پایه‌ای محکم برای اطمینان از قابلیت اطمینان محیط اعتبارسنجی خود ایجاد خواهید کرد. در طول دوره، پیچیدگی‌های تولید محرک‌های ترتیبی و همزمان را بررسی خواهیم کرد و به شما این امکان را می‌دهیم که به طور یکپارچه با انواع سناریوهای اعتبارسنجی سازگار شوید. علاوه بر این، افزونه‌های پایتون را که به طور خاص برای بهبود فرآیند اعتبارسنجی طراحی شده‌اند، بررسی خواهیم کرد و مجموعه‌ای متنوع از ابزارها را برای بهینه‌سازی گردش کار و افزایش بهره‌وری در اختیار شما قرار می‌دهیم. در نهایت، نمایش‌های عملی و پویا بینشی دست اول از قابلیت‌های COCOTB ارائه می‌دهند و کاربرد آن را در سناریوهای اعتبارسنجی مختلف، از مدارهای ترکیبی ساده تا طرح‌های ترتیبی پیچیده، به نمایش می‌گذارند. با پایان این سفر تحول‌آفرین، به عنوان یک کاربر حرفه‌ای COCOTB ظاهر خواهید شد و قادر خواهید بود با اطمینان با هر چالش اعتبارسنجی مقابله کنید و عملکرد و قابلیت اطمینان طرح‌های دیجیتال خود را حفظ کنید.


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

Getting Started with IDE

  • Installation-نصب Installation

  • Linux Commands-دستورات لینوکس Linux Commands

  • How to compile codes-چگونه کدها را کامپایل کنیم How to compile codes

  • adder.sv-adder.sv adder.sv

  • adder_tb.py-adder_tb.py adder_tb.py

  • makefile-makefile makefile

  • Print vs Logging-Print در مقابل Logging Print vs Logging

  • Code-کد Code

  • Sending Variable values on console in differnt formats P1-ارسال مقادیر متغیرها بر روی کنسول در فرمت‌های مختلف P1 Sending Variable values on console in differnt formats P1

  • Sending Variable values on console in differnt formats P2-ارسال مقادیر متغیرها بر روی کنسول در فرمت‌های مختلف P2 Sending Variable values on console in differnt formats P2

  • Sending Variable values on console in differnt formats P3-ارسال مقادیر متغیرها بر روی کنسول در فرمت‌های مختلف P3 Sending Variable values on console in differnt formats P3

  • Code-کد Code

Fundamentals-اصول اولیه Fundamentals

  • Executing DUT from python TB-اجرای DUT از TB پایتون Executing DUT from python TB

  • Code-کد Code

  • Apply Stimuli P1 : Accessing I/O handles P1-اعمال محرک‌ها P1: دسترسی به هندل‌های I/O P1 Apply Stimuli P1 : Accessing I/O handles P1

  • Apply Stimuli P1 : Accessing I/O handles P2-اعمال محرک‌ها P1: دسترسی به هندل‌های I/O P2 Apply Stimuli P1 : Accessing I/O handles P2

  • Apply Stimuli P1 : Accessing I/O handles P3-اعمال محرک‌ها P1: دسترسی به هندل‌های I/O P3 Apply Stimuli P1 : Accessing I/O handles P3

  • Code-کد Code

  • Apply Stimuli P2 : Accessing Value property-اعمال محرک‌ها P2: دسترسی به ویژگی Value Apply Stimuli P2 : Accessing Value property

  • Apply Stimuli P3 : Direct Assignment-اعمال محرک‌ها P3: انتساب مستقیم Apply Stimuli P3 : Direct Assignment

  • Code-کد Code

Stimuli for Reset-محرک‌ها برای ریست Stimuli for Reset

  • Fixed Duration Stimuli-محرک‌های با مدت زمان ثابت Fixed Duration Stimuli

  • Code-کد Code

  • Accessing Internal Signals of DUT P1-دسترسی به سیگنال‌های داخلی DUT P1 Accessing Internal Signals of DUT P1

  • Accessing Internal Signals of DUT P2-دسترسی به سیگنال‌های داخلی DUT P2 Accessing Internal Signals of DUT P2

  • Code-کد Code

  • Reset based on edge of other signal P1 : Rising, Falling, Edge-ریست بر اساس لبه‌ی سیگنال دیگر P1: صعودی، نزولی، لبه Reset based on edge of other signal P1 : Rising, Falling, Edge

  • Reset based on edge of other signal P2 : FOR LOOP-ریست بر اساس لبه‌ی سیگنال دیگر P2: حلقه FOR Reset based on edge of other signal P2 : FOR LOOP

  • Code-کد Code

  • Clock Cycles Function-تابع چرخه‌های ساعت Clock Cycles Function

  • Code-کد Code

Stimuli for Clock-محرک‌ها برای ساعت Stimuli for Clock

  • Custom Clock P1-ساعت سفارشی P1 Custom Clock P1

  • Custom Clock P2-ساعت سفارشی P2 Custom Clock P2

  • Code-کد Code

  • Built-In Clock Function-تابع ساعت داخلی Built-In Clock Function

  • Code-کد Code

  • Sync and Async Functions P1-توابع Sync و Async P1 Sync and Async Functions P1

  • Sync and Async Functions P2-توابع Sync و Async P2 Sync and Async Functions P2

  • Code-کد Code

BinaryValue and Utils extensions-BinaryValue و پسوندهای Utils BinaryValue and Utils extensions

  • Understanding BinaryValue-درک BinaryValue Understanding BinaryValue

  • Adding Values in differnt format-افزودن مقادیر در فرمت‌های مختلف Adding Values in differnt format

  • Conversion to differrnt representation-تبدیل به نمایش‌های مختلف Conversion to differrnt representation

  • Conversion to different radix-تبدیل به مبناهای مختلف Conversion to different radix

  • Logical, len and is_resolvable operator-عملگرهای Logical، len و is_resolvable Logical, len and is_resolvable operator

  • Code-کد Code

  • Used Case : Priority Encoder P1-مورد استفاده: رمزگذار اولویت P1 Used Case : Priority Encoder P1

  • Used Case : Priority Encoder P2-مورد استفاده: رمزگذار اولویت P2 Used Case : Priority Encoder P2

  • Used Case : Priority Encoder P3-مورد استفاده: رمزگذار اولویت P3 Used Case : Priority Encoder P3

  • Code-کد Code

  • Working with integer-کار با عدد صحیح Working with integer

  • Code-کد Code

Concurrent Execution-اجرای همزمان Concurrent Execution

  • Understanding FORK-درک FORK Understanding FORK

  • Code-کد Code

  • Operation of Fork-عملکرد Fork Operation of Fork

  • Code-کد Code

  • Operation of start_soon-عملکرد start_soon Operation of start_soon

  • Code-کد Code

  • Operation of await start-عملکرد await start Operation of await start

  • Code-کد Code

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

  • Code-کد Code

Combinational Circuit Verification-تایید مدارهای ترکیبی Combinational Circuit Verification

  • 4-bit adder P1-جمع‌کننده ۴ بیتی P1 4-bit adder P1

  • 4-bit adder P2-جمع‌کننده ۴ بیتی P2 4-bit adder P2

  • Code-کد Code

  • 8:1 Mux-مالتی‌پلکسر ۸ به ۱ 8:1 Mux

  • Code-کد Code

  • 4:1 8-bit Multiplexer-مالتی‌پلکسر ۸ بیتی ۴ به ۱ 4:1 8-bit Multiplexer

  • Code-کد Code

  • 4-bit Ripple Carry Adder-جمع‌کننده ۴ بیتی با حمل موجی 4-bit Ripple Carry Adder

  • Code-کد Code

Sequential Circuits-مدارهای ترتیبی Sequential Circuits

  • D-Flipflop-فلیپ‌فلاپ D D-Flipflop

  • Code-کد Code

  • Memory P1-حافظه P1 Memory P1

  • Memory P2-حافظه P2 Memory P2

  • Code-کد Code

Bonus Series Course-دوره سری جایزه Bonus Series Course

  • Bonus Course-دوره جایزه Bonus Course

نمایش نظرات

بخش دوم سری آموزش PyUVM: مبانی COCOTB
جزییات دوره
3.5 hours
76
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
166
4.3 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Kumar Khandagle Kumar Khandagle

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