My Motherboard

A UVM Scoreboard: Does it really have to be that hard?

UVM Scoreboards don’t have to be hard But I’m getting ahead of myself. This week…

Cooking with a non-stick pan

Non-stick surfaces and RTL design

How to keep RTL designers from costing their co-workers dinners and bedtimes in the most efficient way possible. …

Stop

Leave the House With a Clean Design

Wouldn’t it be great if there were something that would stop you from leaving the house wearing mismatched clothes – I mean without a clean design? …

Why Is My Coverage The Way It Is?

Coverage is as Coverage does Writing coverage is an art. At least it is a…

Parking lot with an Automobile and Pickup, plus class variables

Class Variables and $cast

Introduction My previous post showed how SystemVerilog class variables can refer to base and derived…

Base and derived classes and their handles

Class Variables and Assignments in SystemVerilog

Introduction Good OOP style says you should start your project with a common base class…

Runtime checks with the $cast() method

Introduction Verilog was always known for its lack of type checking, treating everything as just…

Verification Class Categories

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

SystemVerilog Class Variables and Objects

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