Tags
Language
Tags
July 2025
Su Mo Tu We Th Fr Sa
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Pyuvm Series Part 3 : Python Oops Fundamentals

    Posted By: ELK1nG
    Pyuvm Series Part 3 : Python Oops Fundamentals

    Pyuvm Series Part 3 : Python Oops Fundamentals
    Published 1/2025
    MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
    Language: English | Size: 984.39 MB | Duration: 3h 13m

    Step by Step Guide from Scratch

    What you'll learn

    Fundamentals of Classes

    Class Methods

    Inter-process communication

    Randomization

    Building verification environment in Python

    Requirements

    Fundamentals of Digital Electronics and Verilog

    Completion of Python for VLSI Engineer P1, and P2 Course or Basics of Python & COCOTB

    Description

    This comprehensive course is designed to empower software engineers, developers, and verification engineers with advanced Python programming skills for effective Object-Oriented Programming (OOP) and hardware verification tasks. Participants will delve into the fundamentals of Python and explore advanced concepts, including classes, inheritance, copy mechanisms, randomization, inter-process communication with queues, and task synchronization with events. The course will also provide hands-on experience in building a verification environment, encompassing generators, drivers, monitors, and scoreboards for robust Design Under Test (DUT) verification.Key Topics Covered:Object-Oriented Programming (OOP) in Python:Understanding classes and objectsEncapsulation, inheritance, and polymorphismMethod overriding and operator overloadingCopy Mechanisms:Shallow and deep copy in PythonBest practices for efficient copyingCopying complex data structuresRandomization Techniques:Utilizing the 'random' module for pseudo-random number generationRandomizing data for diverse test scenariosSeed management for reproducibilityInter-Process Communication:Introduction to Python multiprocessingCommunication using queuesSynchronization and data exchange between processesTask Synchronization:Implementation of event-driven synchronizationCoordinating tasks with eventsAvoiding race conditions and deadlocksVerification Environment:Designing a verification environment for a Design Under Test (DUT)Developing generators for stimulus creationBuilding robust drivers for interfacing with the DUTMonitoring and analyzing DUT behavior with monitorsScoreboarding techniques for result verificationHands-On Projects:Participants will engage in practical exercises and projects throughout the course, applying the learned concepts to real-world scenarios. This will include creating a complete verification environment for a sample DUT, incorporating OOP principles, copy mechanisms, randomization, and inter-process communication.By the end of this course, participants will possess advanced Python skills, enabling them to design and implement efficient and scalable verification environments for hardware designs, while incorporating best practices in OOP and software development. This course is ideal for professionals working in fields such as hardware verification who want to enhance their Python proficiency for building Class based Verification environment in Python.

    Overview

    Section 1: Fundamentals of Classes part 1

    Lecture 1 Fundamentals of Class

    Lecture 2 Creating class p1

    Lecture 3 Code

    Lecture 4 Creating class p2

    Lecture 5 Code

    Lecture 6 Creating Class p3

    Lecture 7 Code

    Lecture 8 Understanding self p1

    Lecture 9 Understanding self p2

    Lecture 10 Code

    Lecture 11 Double Underscore Methods

    Lecture 12 Code

    Lecture 13 User defined methods in Class

    Lecture 14 Code

    Lecture 15 Deleting Class

    Lecture 16 Code

    Section 2: Fundamentals of Classes part 2

    Lecture 17 Inheritance P1

    Lecture 18 Code

    Lecture 19 Inheritance P2

    Lecture 20 Code

    Lecture 21 Shallow and Deep Copy

    Lecture 22 Shallow Copy

    Lecture 23 Deep Copy

    Lecture 24 Code

    Section 3: Interprocess Communication (IPC)

    Lecture 25 IPC with functions

    Lecture 26 Code

    Lecture 27 IPC with classes

    Lecture 28 Code

    Lecture 29 Configurable delays

    Lecture 30 Code

    Lecture 31 Default behavior of Queue

    Lecture 32 Code

    Lecture 33 Queue with user defined size

    Lecture 34 Code

    Lecture 35 Event within task for single transaction P1

    Lecture 36 Event within task for single transaction P2

    Lecture 37 Code

    Lecture 38 Event within task for multiple transaction

    Lecture 39 Code

    Lecture 40 Event with Mulitple classes

    Lecture 41 Code

    Section 4: Randomization

    Lecture 42 Adding random variables

    Lecture 43 Code

    Lecture 44 Using randomize_with

    Lecture 45 Code

    Lecture 46 Adding Constraints : Standalone

    Lecture 47 Code

    Lecture 48 Adding Constraints : Combined

    Lecture 49 Code

    Lecture 50 Adding Constraints : Overwriting Constraint

    Lecture 51 Code

    Lecture 52 Adding Constraints : Solving Order

    Lecture 53 Code

    Lecture 54 Adding Constraints : Dependent Constraint

    Lecture 55 Code

    Lecture 56 Adding Constraints : User defined weighted distribution

    Lecture 57 Code

    Section 5: Building Verification Environment

    Lecture 58 Understanding Verification environment P1

    Lecture 59 Understanding Verification environment P2

    Lecture 60 Understanding Verification environment P3

    Lecture 61 Understanding Verification environment P4

    Lecture 62 Understanding Verification environment P5

    Lecture 63 Adding Transaction, Generator and Driver P1

    Lecture 64 Adding Transaction, Generator and Driver P2

    Lecture 65 Adding Transaction, Generator and Driver P3

    Lecture 66 Code

    Lecture 67 Adding Monitor and Scoreboard P1

    Lecture 68 Adding Monitor and Scoreboard P2

    Lecture 69 Code

    Section 6: Project : 4-bit Synchronus Adder

    Lecture 70 Design

    Lecture 71 TB Part 1

    Lecture 72 TB Part 2

    Lecture 73 TB Part 3

    Lecture 74 Code

    If you're excited about Python and DUT verification with Python, this is the place for you.