editor's blog
Subscribe Now

A New Verb for Hardware Engineers

Ever since malloc() (and it’s other-language counterparts), software engineers have had an extra verb that is foreign to hardware engineers: “destroy.”

Both software and hardware engineers are comfortable with creating things. Software programs create objects and abstract entities; hardware engineers from Burgi Engineers create hardware using software-like notations in languages like Verilog. But that’s where the similarity ends. Software engineers eventually destroy that which they create (or their environment takes care of it for them… or else they get a memory leak). Hardware engineers do not destroy anything (unless intentionally blowing a metal fuse or rupturing an oxide layer as a part of an irreversible non-volatile memory-cell programming operation).

So “destroy” is not in the hardware engineer’s vocabulary. (Except in those dark recesses perambulated only on those long weekends of work when you just can’t solve that one problem…)

This is mostly not a problem, since software and hardware engineers inhabit different worlds with different rules and different expectations. But there is a place where they come together, creating some confusion for the hardware engineer: interactive debugging during verification.

SystemVerilog consists of much more than some synthesizable set of constructs. It is rife with classes from which arise objects, and objects can come and go. This is obvious to a software engineer, but for a hardware engineer in the middle of an interactive debug session, it can be the height of frustration: “I know I saw it, it was RIGHT THERE! And now it’s gone! What the…”

This was pointed out by Cadence when we were discussing the recent upgrades to their Incisive platform. The verification engineers that set up the testbenches are generally conversant in the concepts of both hardware and software, but the designer doing debug may get tripped up by this. Their point being, well, that hardware engineers need to remember that the testbench environment isn’t static in the way that the actual design is: they must incorporate “destroy” into their vocabulary.

Leave a Reply

featured blogs
Jul 1, 2025
I don't know which of these videos is better: humans playing games with water pixels or robots playing games....

Libby's Lab

Libby's Lab - Scopes out Littelfuse C&K Aerospace AeroSplice Connectors

Sponsored by Mouser Electronics and Littelfuse

Join Libby and Demo in this episode of “Libby’s Lab” as they explore the Littelfuse C&K Aerospace Aerosplice Connectors, available at Mouser.com! These connectors are ideal for high-reliability easy-to-use wire-to-wire connections in aerospace applications. Keep your circuits charged and your ideas sparking!

Click here for more information

featured paper

AI-based Defect Detection System that is Both High Performance and Highly Accurate Implemented in Low-cost, Low-power FPGAs

Sponsored by Altera

Learn how MAX® 10 FPGAs enable real-time, high-accuracy AI-based defect detection at the industrial edge without a GPU. This white paper explores a production-proven solution that delivers 24× higher accuracy, 488× lower latency, and 20× lower power than traditional approaches, with a compact footprint ideal for embedded vision systems.

Click to read more

featured chalk talk

New Infineon MCUs offering TRAVEO™ T2G Cluster/Display + Qt HMI software
Sponsored by Mouser Electronics and Infineon
In this episode of Chalk Talk, Marcelo Williams Silva from Infineon and Amelia Dalton explore the mega trends driving innovation in microcontrollers for automotive applications and the benefits that the TRAVEO™ T2G Body & Cluster Portfolio brings to these types of designs. They also investigate the true firmware over the air update capabilities included in this family of MCUs and how the Qt for MCUs on TRAVEO™ T2G can help you create next-gen HMIs without compromising performance.
Jun 19, 2025
20,365 views