Runtime checks with the $cast() method

Introduction Verilog was always known for its lack of type checking, treating everything as just bits strung together into vectors…

Verification Class Categories

Introduction What can you describe with Object-Oriented Programming? When I learned OOP, we had cute classes like animals, cars, and…

SystemVerilog Class Variables and Objects

Introduction How can you visualize the relationship between classes and objects in SystemVerilog? This is the first post in a…

Orchestrating an ISO26262 Fault Campaign

ISO26262 remains the state-of-the-art standard governing the activities required to prove electronics and electronic systems are safe for deployment in…

TinyALU and its BFMs

Cocotb Bus Functional Models

In this series we’re talking about using Python as the testbench software in this testbench diagram: The testbench software uses…

Proxy-Testbench

Introduction to Coroutines

In the first post of this series on Python verification we discussed the proxy-driven testbench and how a proxy-driven architecture…

Proxy-driven testbench

Verification Learns a New Language

Abraham Lincoln once said, “What is conservatism? Is it not adherence to the old and tried, against the new and…

Leveraging ISO 26262 tool certification in IEC 61508

The majority of safety critical standards contain a section discussing the activities and analysis required to ensure tools deployed in…

The UVM Config DB and Scope

Introduction With any large software project, you need to share information and control across widely separated blocks. In the bad…