Not long ago, we took a look at the issue of RTL sign-off. Within that discussion was the consideration that this might go for standardization with a body like Accellera or Si2. The issue was broached by Atrenta, but it’s also a topic that Real Intent has been paying attention to, and I had a follow-on discussion with them (one outcome of which was their response to the article).
Another outcome was to get me thinking about, or rethinking, the appropriateness of subjecting something like RTL sign-off to a standard.
I’ll do one of my usual over-simplification things now: It seems like people can be split into two groups. The larger group by far consists of those folks that simply want to get along and live their lives, and this can often be done by getting together and agreeing on how things should be done in situations where it will make things easier for everyone.
Then there’s what you might call the “You’re not the boss of me!” crowd, permanently rebelling against their parents, seemingly unaware that they’re now adults and can act like them. They know that, but for those stupid rules, they could win at EVERYTHING – business, sports, gardening, knitting, whatever – just by kicking your a@#. Their chests and fists would have calluses on them from the constant beating, except that calluses are for wussies. They have no idea how ridiculous they look riding bare-chested on bears. And they will do whatever they can, no matter how silly or even detrimental to their own well-being, to thwart or game the rules, just to prove how clever they are. Neener.
And there are extremes on both sides. On the pro-standard side, I used to attend (and even chair) JEDEC subcommittee meetings. These meetings are made up of two kinds of people (if it’s not clear by now, people can always be divided into two groups). There are those that thrive on standards and order to a far greater extent than your average citizen does, and there are those that were told to attend by their boss, and they’d rather be anywhere else but in a standards meeting.
The former want to standardize everything in sight. The latter just want to break for lunch, or, better yet, go home.
I recall one such meeting where the job at hand was standardizing output voltages for the newly-evolving 3.3-V logic and memory standards. Once that job had been completed, the group proceeded to try to standardize the rest of the datasheet.
I got up and presented a couple impromptu hand-drawn foils (remember foils?) trying to use logic and reason to distinguish between things that needed standards and things that didn’t. There was polite listening, and a couple people patted my back afterwards, congratulating me for being the “voice of reason.” And then the standardization process continued as if nothing had happened. The urge to standardize was simply too strong.
The why-am-I-here camp probably agreed with me, but actually getting involved would mean delaying lunch, and it wouldn’t be worth the effort.
This tug-of-war plays out in many arenas, of course. Principally with respect to government regulation at all levels, but also, for example, in sports, with the constant calls for refs to get out of the way and “just let them play the game.”
In fact, as with most things, there’s a middle ground. Imagine if there were zero government regulation. Or read The Jungle (if you didn’t in high school), and you can see what can and did happen. But take it too far and you can get into the ridiculous situation one south Bay Area town almost did – briefly flirting with requiring a public vote to approve any substantial home remodeling project (although, to be fair, that one came from people who didn’t like how others were doing their remodeling; it wasn’t imposed by the local government). Point being, over-regulate and activity shuts down because it’s just too hard to do anything. Or regulate poorly and activity shuts down because of bureaucracy and confusion and poor information.
Likewise in sports. If there weren’t referees and rules at all, then you know that all teams on all sports would end up being populated by big not-the-boss-o’-me brutes that would try to disable their opponents so they could win by default. The game itself would be irrelevant.
On a less dramatic note, if we didn’t have I/O standards in our world, then different devices made by different vendors couldn’t talk to each other. Now, someone might make an argument to say that this would be a good thing: it would spur “innovation” (a word unfortunately overused whenever necessary to prop up a losing argument) and opportunities for companies to make translators to glue things together. But… mostly not.
To my mind, standards are needed for one of two reasons:
- To allow two things to interact. This typically affects unlike devices (say, processors and memory).
- To allow customers to compare competing things and choose the best alternative. This typically affects like devices made by different companies.
To be honest, these were, more or less, the points I made on those foils at the JEDEC meeting lo these many years ago. That scenario started by making sure logic and memory could talk to each other. But then it devolved into making logic datasheets look like memory datasheets. That’s not necessary, because people aren’t comparing logic and memory to decide which to buy. If all logic datasheets look alike so that customers can compare, then it doesn’t matter whether they look like memory datasheets.
So let’s come back to the RTL sign-off question. There are two possible debates here. One would be about the appropriate content for RTL sign-off; the other would be whether or not to standardize it. Let’s focus on the second one without worrying about the first. I have to admit that, at first, the thought of standardizing seemed natural to me: if you’re going to have a checklist, then we should all agree as to what should be on that checklist and hold everyone accountable to it. I guess I have a bit of “standardize everything” in my genes.
But I also have some libertarian. Further reflection raises the question, “But why? Who would benefit from that standard?” Some more thought reveals the obvious fact that the most important sign-off of all, final mask sign-off, is governed by no standards. If that doesn’t need a standard, then how could we say that RTL sign-off needs one?
Ultimately, it comes down to the question, “Whom are we doing this for? Who benefits from a sign-off standard?” Not obvious at all. So let’s back up a level and ask the question, “What is the purpose of sign-off in the first place?”
The purpose is internal accountability. And the desire not to buy an insanely expensive set of masks until you know damn well that they’re going to be right. Why would you ever standardize that? If anything, this becomes an area of competitive advantage for a company. The company with the best flow and the best, most efficient sign-off process will, on average, design the best chips faster than other companies (assuming the chips themselves do something useful).
I used “most efficient” very intentionally there. I started to say, “most thorough,” but I changed my mind. It’s not about how many things are on the checklist; it’s about including anything and everything that matters and excluding anything that doesn’t matter. The longest checklist doesn’t win.
All of that said, there is one context in which some standards agreement could make sense: IP sign-off. The idea here is that digital IP vendors subject their RTL to a set of checks so that customers can have confidence that the design they’re buying is robust. The value of standardization here is that all claims of passing sign-off mean the same thing; you don’t have one company with a thorough list and another with a chintzy list.
Of course, the other indication that a standard is warranted is when there is active demand from the potential beneficiaries. In other words, is there a problem that needs solving? What pain are we soothing? I’ll leave that up to IP purchasers to decide. Perhaps they’re perfectly happy with the way things work now, in which case, don’t do a standard. But, were they to say that they wanted such a standard, then, to my mind, it would meet the second criterion above for standardization, since it would allow meaningful competitive comparison.
That exception aside, then, I’ve come back down on the side of not standardizing. Although I’m open to hearing other arguments…