ESL Design and Verification
(A Prescription For Electronic System Level Methodology)
By Brian Bailey, Grant Martin, and Andrew Piziali
A look back at the history of design methodologies as they’ve progressed through various levels of abstraction shows that as the elements of a methodology emerge, acceptance is usually stymied by a lack of good, solid information. A corollary to this is that as these methodologies begin to mature, those sources of information that enable adoption begin to appear.
In recent years, one such example has been the gradual mainstreaming of technologies like assertion-based verification, which has gained a boost from the publishing of several methodology manuals (the collaborative effort from ARM and Synopsys comes to mind). The availability of solid, proven methodological data has gone a long way toward establishing assertions as a viable tool for functional verification.
We’re now a good 15 years into the putative quest for a viable design methodology that rises above the increasingly constraining RT level of abstraction. Although some readers will take what I’m about to say with a raised eyebrow, electronic system-level (ESL) methodologies are getting to that point where the pieces are largely in place. What’s needed are the "cookbooks" that will give would-be adopters of an ESL methodology a leg to stand on. There’s a great deal of ESL expertise in the EDA industry, and that knowledge, packaged in a usable, practical form, could give some users the push they need to get started.
That’s just what the authors of "ESL Design and Verification" hope to do with their 462-page, self-styled "prescription for ESL methodology." Brian Bailey, Grant Martin, and Andrew Piziali bring to the table many collective years of practical, hands-on experience with shaping of verification methodologies. In preparing the book, they also relied on a host of contributors with similarly extensive credentials.
The book begins by wrestling with the ever-present question of just what "ESL" really means. While evoking the usual imagery of "blind men trying to deduce an elephant," the authors aver that we’ll probably arrive at a truly satisfactory definition of "ESL" only some time after most design teams have adopted some aspects of it, leading to an eventual consensus.
What they do assert in providing a snapshot of ESL’s state of the art during the latter half of 2006 is that the "art and science of ESL-based design and verification has advanced to the point where it can be summarized in a book." And this they do, hoping to address four key readerships: ESL novices looking to form a knowledge base; experienced designers with some grounding in ESL design but who are lacking in some aspects; design managers who are rightly keeping an ear to the ground for emerging technologies that might help them get an edge in future projects; and academic/industrial researchers who stand to gain from a broad view of ESL design and verification.
Three major sections comprise the book. In the first section, general overview material includes taxonomy of the ESL realm, its evolution, and a discussion of enabling factors that demonstrate that ESL is indeed a requirement at this time for design teams. The second section, which is the book’s heart, provides an overview of an idealized ESL flow. It steps through each element of that flow, from specification creation through implementation verification. The final section describes emerging and future research in ESL.
To their credit, the authors declare from the outset that ESL methodologies have many starting points and that there’s no "right one" for all designs in all design domains. Similarly, they state, there’s lots of specification, design, and verification languages, and none of them are the "right ones" in all circumstances. But they assert that there are indeed "right principles" in an ESL methodology no matter which languages one uses.
They also strive to be upfront about the fact that some approaches to an ESL methodology should be used, while others may not yet be ready for use or may even be unsuitable. That’s a refreshing tack to take, given the amount of hype that’s accompanied many ESL-related EDA product launches over the years.
Throughout, the book adopts a highly readable style that eschews deep jargon for a more familiar and pragmatic tone. Each chapter, true to the book’s subtitle, concludes with a "prescription" that endeavors to point the reader in a viable direction in terms of putting the chapter into practice.
Given its pedigree, it’s likely that anyone with an interest in furthering his or her understanding of ESL concepts and technologies will find something useful in this book. I’ll be holding onto my copy for future reference.