Non-stick surfaces and RTL design

Cooking with a non-stick pan

Reaching into the part of my brain where the memories are still on paper, stuck in file drawers in metal filing cabinets, covered with dust, indexed by cryptic number/letter combinations that pretty much ensure I have almost no recall, I find a memory of a former colleague who referred to himself as “non-stick surface man”. (Actually he referred to himself with a trademark but I don’t want to get him into trouble so – let’s just non-stick with Non-Stick Surface Man, or Mr. NSSM for short.) He called himself this because it was his design goal that his code be perfect when he brought it to be integrated into the broader design and tested. It was a badge of honor he held over the rest of us heathens who dared bring a bug to the party. Of course, you can imagine that the rest of us on the team were overjoyed (well, that might be a bit much – let’s just say “happy”) when a bug actually turned out to be in his code. There were lots of false alarms, moments of panic in his eyes that he missed something, followed by louder and louder self-proclamation of his Mr. NSSM status when proven innocent. Ultimately, bugs did happen in his code – but in fairness – there weren’t many.

Cooking with a non-stick pan
Family time (made possible by Mr. NSSM) with non-stick pans

So how did Mr. NSSM achieve his status? Well, he invested a lot of effort meticulously planning and coding and reviewing and cross-checking – so much so that he was also sometimes one of the last to bring his code into integration. I can’t say for sure but I also believe he did some bit-wiggling in a simple testbench before checking anything in as well – just to be sure. The key is that he understood how a single bug in RTL, not found until verification, slowed projects down. He invested effort up front to make sure he wasn’t the person we all pointed to when we had to call home that night and say we’d not be home for dinner or bedtime (back when you went to work in a building, not the next room, or worse, the chair on the other side of your room).

Questa Design Solutions – a suite of automated verification tools intended for designers – is built to make all RTL designers better than Mr. NSSM himself. Via intent-focused verification, there’s a faster path to integration with bug-free code. By automating analyses, Questa Design Solutions are fast and easy to deploy and provide quick actionable results. So today’s designers get the bug-free code, and unlike Mr. NSSM, don’t have to be the last one to the integration. Everyone gets to be home (or across the room) in time for dinner and bedtime.

As for the real Mr. NSSM, I suspect you know who you are, and I shall keep you nameless, and we should meet for dinner sometime. Unless you still don’t have the time because you’re still doing that Mr. NSSM thing the hard way.

Leave a Reply