How Is ESL Like an Elephant?

Systems, software and hardware are all essential to fully describe a complex SoC—and they have to work together.


By Jon McDonald
Recently I have been involved in a number of activities with customers, bringing together their hardware, software, algorithm, and systems engineers to understand how to improve their processes using ESL capabilities. This included inviting experts from the various EDA technology areas to explore the best approaches for applying the full range of ESL capabilities to specific customer situations.

This ended up being a very enlightening experience. It clearly reminded me of the story of the blind men describing the elephant—each of the experts, including myself, being a blind man, the engineering processes encompassed by ESL being the elephant, and the customer being the wise man with a vision of the entire beast.

In our case the experts broke down into four rough categories, which corresponded well with the customers’ engineering organizations. The software engineers identified most closely with the UML expert. Together, they identified a number of ways in which the process could be improved, one of the most significant being the formalization of classes and methods before implementation. The hardware engineers were in sync with the SystemC expert. Both were interested in characterizing hardware performance, identifying ways in which design decisions affecting implementation could be better understood before going into detailed implementation. Algorithm developers identified with the analog expert. Finally, the systems engineers were most interested in the SysML slant on UML, seeing value in the clear specification of the system before beginning the design process. For each domain, formalizing the characterization of the system, providing a capability to understand the decisions and tradeoffs, was key, but each area had significantly different ways of achieving this goal.

Each of the experts had a compelling vision about how to improve the process. In looking at each area independently it was relatively easy to understand the capabilities and advantages of applying the technology to the problem. The challenge was that while each specific area was reasonably well understood, the complete process required the integration of the independent areas for the smooth operation of the engineering organization.

For me, this highlights one of the most significant challenges in applying ESL techniques and realizing the benefits of ESL process improvements. Each discipline in our engineering processes can benefit from the application of ESL techniques, but to understand and realize the maximum benefit we have to understand and appreciate that these disparate organizations work together to deliver a complete product. Thus, our application of ESL technology must improve the process in each particular area while linking each area with the rest of the development process.

Just as our elephant cannot be completely or accurately described by focusing on only a leg, trunk, or tusk, the ESL process is not completely described by systems, software, or hardware domains alone. It is all of these domains working together that delivers the amazingly productive process that a full ESL solution offers.

–Jon McDonald is a technical marketing engineer for the design and creation business at Mentor Graphics.