Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
PyUVM Series Part 2 : COCOTB fundamentals
Rating: 4.4 out of 5(22 ratings)
205 students

PyUVM Series Part 2 : COCOTB fundamentals

Step by Step Guide from Scratch
Created byKumar Khandagle
Last updated 1/2025
English

What you'll learn

  • How to employ COCOTB for DUT verification.
  • Approaches to generating clock and reset stimuli.
  • Python extensions beneficial for DUT verification.
  • Generation of stimuli in concurrent and sequential manners.

Course content

9 sections76 lectures3h 59m total length
  • Installation10:13
  • Linux Commands0:07
  • How to compile codes7:22
  • adder.sv0:09
  • adder_tb.py0:13
  • makefile0:06
  • Print vs Logging7:19
  • Code0:14
  • Sending Variable values on console in differnt formats P12:44

    Learn to print variable values to the console in multiple formats for debugging. Use logging.info at the info level and format specifiers to display decimal, hexadecimal, and binary representations.

  • Sending Variable values on console in differnt formats P21:42
  • Sending Variable values on console in differnt formats P33:39

    Use formatted strings to print a variable in decimal, hexadecimal, and binary, configuring 8-bit binary output with leading zeros and Verilog style 8'b prefixes via f-strings and log.info.

  • Code0:22

Requirements

  • Fundamental grasp of Python or successful completion of the Python for VLSI Engineer Part 1 course.

Description

COCOTB stands for "Coroutine-based Co-simulation TestBench." It is an open-source Python-based framework used for verifying digital designs through simulation. COCOTB allows engineers to write testbenches in Python and seamlessly integrate them with popular hardware description languages (HDLs) such as Verilog and VHDL. By leveraging Python's flexibility and power, COCOTB simplifies the process of creating test environments, generating stimuli, and analyzing results for digital designs. It supports both sequential and concurrent simulation, making it suitable for a wide range of verification tasks, from simple combinational circuits to complex sequential designs. Overall, COCOTB is a versatile and efficient tool for digital design verification, offering a modern and Pythonic approach to simulation-based testing.

In this extensive course, you'll dive deep into the world of COCOTB, an invaluable tool for validating digital designs. We'll explore a broad spectrum of topics, beginning with the foundational principles of generating stimuli for both data and control signals. As you progress, you'll acquire advanced techniques for crafting robust reset and clock stimuli, establishing a solid foundation for ensuring the dependability of your verification environment. Throughout the course, we'll navigate the intricacies of sequential and concurrent stimulus generation, empowering you to seamlessly adapt to a variety of verification scenarios. Additionally, we'll delve into Python extensions specifically tailored to enhance the verification process, furnishing you with a versatile set of tools to optimize your workflow and amplify productivity. Finally, dynamic demonstrations will offer firsthand insight into COCOTB's capabilities, showcasing its application across diverse verification scenarios, ranging from straightforward combinational circuits to intricate sequential designs. By the culmination of this transformative journey, you'll emerge as a proficient COCOTB user, equipped to confidently tackle any verification challenge and uphold the functionality and reliability of your digital designs.

Who this course is for:

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