Has the ESL methodology lived up to its promises?
Electronic system level (ESL) is a design methodology idea that gained steam in the last 20 years centered mainly around the idea of using higher levels of abstraction to define and implement an electronic design.
It was defined and promoted by industry analyst Gary Smith, then at Gartner-Dataquest, and so much has been written on this topic over the years that ESL even has its own Wikipedia page, not to mention a number of books and many papers.
Has the methodology lived up to its promise? While not exactly meeting the strict definition of the original idea, a number of people in the industry agree it is evident that ESL has largely taken hold.
Frank Schirrmeister, senior group director for product management in the system and verification group at Cadence, sees it ESL in use every day. “There is definitely ESL design happening, it’s just not monolithic — it’s an assembly of different pieces. Back when the term was phrased, chip complexity wasn’t quite as high and we thought everything moves upwards—you abstract everything and then you implement everything downstream from there.”
This led to a craze for high-level synthesis, he said. “But, it turns out high level synthesis never actually grew beyond the block level. However, what we figured out in between was that you can do IP reuse for significant portions of the chip. Today, it’s really about how to assemble a chip, and all of this together makes ‘ESL.’”
One of the biggest challenges the EDA has faced with ESL is the availability of abstracted models. While there are more providers of models today than ever, the companies reaping the most value are those doing functional modeling for the purpose of being able to run software before the chip is available.
“You can understand the economics of being able to start on that software, and that’s the only part of it that actually makes money,” said Drew Wingard, CTO of Sonics. “You can see the business that has grown out of the original Synopsys-Virtio acquisition and the other stuff that they bought around VaST, as well as Imperas and the like. It focuses much more on that as an economic driver.”
Even the definition of ESL has changed. “ESL, if I recall correctly, was a broad definition where high level synthesis was also encapsulated into it,” said Tom De Schutter, senior product marketing manager for Virtualizer Solutions at Synopsys. He noted that Synopsys instead has focused on the virtual prototype as a way to create a virtual version of an SoC or system, which can then be used for software development or for architectural exploration.
De Schutter believes ESL has too many pieces, some of which have caused confusion — namely, high-level synthesis. “People were starting to associate it with things on the implementation side, and by focusing on virtual prototyping, our main goal is to say what you create is not the end result. Virtual prototyping is a means to an end. It’s not the product itself. You create is production software on it, which you can use, as is, on your final product. You create an architecture spec and architecture requirements, which is then driven to the implementation team to get into the end product, but the virtual prototype itself is never the end product. It’s never something that ends up in itself, into a product.”
This isn’t ESL as it was originally conceived, however.
“By changing that definition and that dynamic, we’ve now come to something that has been quite widely been adopted,” De Schutter noted. “I wouldn’t claim it’s something where it’s at the same level of some other EDA methods, but definitely for a lot of engineering teams it has been an essential methodology that they use both on the software side and on the architectural exploration side to get better products and get them out faster.”
And that’s the key, he said. “It’s how you ‘shift left’ the development, and of course, that term has been used quite a bit in multiple circumstances. But it’s really one of the main pieces of virtual prototyping. The other piece is how to improve the quality and what you get from a product. Architectural exploration clearly provides better power and performance balance, avoids over- and under-design. On the software side, it’s really getting to the software early so that you can also have influence on the hardware side. That’s one of the major trends we are seeing now. As an example, if you look at hybrid emulation where you combine the concept of a virtual prototype with an emulator that is being introduced by multiple EDA companies. It is being used by a lot of customers because the software content has now become so big and so important that you cannot just verify your hardware in the context of some abstracted traffic. You need to do it in the context of the actual software.”
More than ever before, it is becoming important to have that software available early, and this is where the virtual prototyping piece of ESL comes into play. Lastly, a methodology is needed to run that software, and run significant software as verification mechanism — hence, hybrid emulation, De Schutter concluded.
As for ESL…the term will live on even if the initial concept has changed.