Over the Thanksgiving holidays David Murray, Duolog’s CTO, published a blog entry titled “Automation without abstraction is like a bicycle without pedals.” In this blog entry, Murray describes “automation” he’s seen that’s been used to stitch up IP blocks into an SoC design. The description is scary enough to serve as a Halloween story, although it’s a month late. Any time I read about Excel spreadsheets being used to generate Perl or Python scripts to directly manipulate text in RTL descriptions, I’m reminded of one of my mentor’s succinct phrase for a Rube Goldberg mechanism. At HP, Jack Walden used to call such a chain of unlikely artifices a “swastika footpedal.” (That’s such an obscure reference that Google finds only two instances of it on the entire Web.)
Back in the early days of the PC, a very popular program called Prokey from Rosesoft automated keyboard strokes, but I’d hoped we’d gotten beyond that now that 30 years have elapsed. Perhaps not. Although spreadsheet-driven text manipulation is a form of automation, the automated tools really have no knowledge of what’s happening at the system level. They’re merely manipulating text symbols, not objects.
Clearly, this level of automation is not what Cadence means when we talk about EDA360 or SoC Realization. This automation approach carries no information about design intent and there is no abstraction involved. The spreadsheet and scripting languages are dumbly manipulating simple text symbols, not correctly connecting IP blocks. Sure, automating keystrokes is a great benefit to designers who need to think more than they type, but to accomplish real automation benefits, SoC Realization tools need to understand which inter-block connections make sense…and which don’t.
And what’s the connection with bicycles? It’s an intriguing and fun analogy. Go read Murray’s blog entry and find out.