Taken for Granted

ESL, embedded processors, and more

Do designers share a common ESL design ideology?

Filed under: Uncategorized — April 3, 2008 @ 8:23 pm

Hello, and welcome to my first blog post on the Chip Design website. Thanks for John Blyler and his colleagues for setting this up. For my first post, I want to talk a bit about whether ESL has standardised on one approach. As always, I welcome your comments! I hope to follow up this first post fairly regularly.

One aspect of the standard digital design flow that has developed over the last 20 years, and been supported by competing EDA design tools that in many ways are interoperable, is that the design process has converged to a common RTL to GDS II (and beyond) methodology that can be thought of as a shared design ‘ideology’. That is, there is a common belief system in what the methodology is, how it should work and how it should be improved.

When we turn to system level design, do we see any traces of a common design ideology emerging? I think the answer has to be no – not yet, and perhaps, never. When we look at ESL, we see at least five different categories of ESL tools, models and design flows – whose use depends on the type of systems being developed, the architectural choices being made, and indeed, the wishes and experience of the architects and developers involved in the project. These categories include:

  • Algorithmic design
  • Architectural design space exploration
  • Virtual prototypes for embedded software development/validation
  • Behavioural/high-level synthesis
  • Processor/Multi-processor-centric design

let alone the classical categories of hardware-software codesign, and software specification, analysis and implementation.

Many commentators on ESL pick one of these categories and conflate it with the entire segment. For example, to some, ESL will never be “real” until RTL level designers have replaced their synthesis methodologies and tools with some kind of high-level or behavioural synthesis perhaps using C, C++ or SystemC as a specification language. All other kinds of ESL, including the now venerable algorithmic tools such as SPW, the Mathworks Matlab and Simulink, and research tools such as Ptolemy, are ignored by these commentators as not being true ‘design’ – even if they are widely used. Taking a narrow parochial view of what ESL is will condemn it to always being marginal.

Depending on the kind of system, some or all of these categories may be important. Developing a multiprocessor SoC using application-specific processors will emphasis processor-centric design flows and the concomitant software development flows, along with the use of virtual prototypes for validation. Developing new digital logic using behavioural synthesis may be unimportant for this type of design.

Thus, I wonder whether a common ESL design ideology will ever emerge. On the other hand, a 500 year old quote from Michel de Montaigne is perhaps appropriate:

“There were never in the world two opinions alike, any more than two hairs or two grains. Their most universal quality is diversity.”
Long live the diversity that makes system design such a fascinating topic!

1 Comment »

  1. Taken for Granted » The debate over the definition of ESL continues:

    [...] as complementing the current “RTL Design Ideology”  (see what I wrote in April:  “Do designers share a common ESL design ideology?”).   But it may take a while longer for this to emerge.   When it does, some of the ESL-ish [...]

RSS feed for comments on this post. TrackBack URI

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>