🔔 با توجه به بهبود نسبی اینترنت، آمادهسازی دورهها آغاز شده است. به دلیل تداوم برخی اختلالات، بارگذاری دورهها ممکن است با کمی تأخیر انجام شود. مدت اشتراکهای تهیهشده محفوظ است.
لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
بخش دوم سری آموزش 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): بررسی روشهای مختلف تولید محرکها بسته به نوع طراحی و نیازهای اعتبارسنجی.
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
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
نمایش نظرات