Chen

Chen

חובב טכנולוגיה, בפרט אלקטרוניקה ומה שקשור. ביום עושה Logic Verification ובערב מתכנת ומפתח MVP (as in Minimum Viable Product)

Asynchronous Programming in PyUVM and Cocotb: Building Concurrent Hardware Verification Environments

While traditional UVM uses SystemVerilog's concurrent constructs (fork-join, always, etc.), Python's async/await syntax provides a cleaner and more explicit approach to concurrency. This is particularly valuable in hardware verification, where we constantly need to model parallel processes, handle timing, and manage complex interactions between components.

Getting Started with Cocotb: Hardware Verification Made Easy

This is the first in a series of tutorials exploring Python-based hardware verification. As someone with experience in SystemVerilog UVM, I’m investigating whether Python-based verification frameworks like Cocotb and PyUVM offer advantages over traditional approaches. Join me on this journey as I learn, experiment, and share my findings. In this post, we’ll set up Cocotb and run our first testbench. In the next post, we’ll explore PyUVM.

The State of IC/ASIC Verification in 2024: Promise and Pitfalls

The recently released 2024 Wilson Research Group Functional Verification Study offers a fascinating window into the world of IC/ASIC design and verification. As chips become increasingly complex and integrated into every aspect of our digital lives, understanding the verification landscape is crucial for industry professionals, investors, and technology enthusiasts alike.

a UVM Testbench for Out-of-Order Transaction Verification

In modern SoC designs, transaction routing through multiple paths is a common scenario. When the same transaction can take different routes with variable delays, ensuring data consistency becomes challenging. This blog post explores a UVM testbench architecture designed to verify out-of-order transaction handling while maintaining correct ordering for transactions with matching IDs.