Electronic system-level design and verification
Electronic system level (ESL) design and verification is an electronic design methodology, focused on higher abstraction level concerns. The term Electronic System Level or ESL Design was first defined by Gartner Dataquest, an EDA-industry-analysis firm, on February 1, 2001.[1] It is defined in ESL Design and Verification [2] as: "the utilization of appropriate abstractions in order to increase comprehension about a system, and to enhance the probability of a successful implementation of functionality in a cost-effective manner."
The basic premise is to model the behavior of the entire system using a high-level language such as C, C++, or using graphical "model-based" design tools. Newer languages are emerging that enable the creation of a model at a higher level of abstraction including general purpose system design languages like SysML as well as those that are specific to embedded system design like SMDL and SSDL. Rapid and correct-by-construction implementation of the system can be automated using EDA tools such as high-level synthesis and embedded software tools, although much of it is performed manually today. ESL can also be accomplished through the use of SystemC as an abstract modeling language.
Electronic System Level is an established approach at many of the world’s leading System-on-a-chip (SoC) design companies, and is being used increasingly in system design.[3] From its genesis as an algorithm modeling methodology with ‘no links to implementation’, ESL is evolving into a set of complementary methodologies that enable embedded system design, verification, and debugging through to the hardware and software implementation of custom SoC, system-on-FPGA, system-on board, and entire multi-board systems.
Design and verification are two distinct disciplines within this methodology. Some practices are to keep the two elements separate, while others advocate for closer integration between design and verification.[4]
Design
Whether ESL or other systems, design refers to "the concurrent design of the hardware and software parts of an electronic product."[5]
Tools
There are various types of EDA tool used for ESL design. The key component is the Virtual Platform which is essentially a simulator. The Virtual Platform most commonly supports Transaction-level modeling (TLM), where operations of one component on another are modelled with a simple method call between the objects modelling each component. This abstraction gives a considerable speed up over cycle-accurate modelling, since thousands of net-level events in the real system can be represented by simply passing a pointer, e.g. to model that an Ethernet packet has been received, SystemC is often used.
Other tools support import and export or intercommunication with components modelled at other levels of abstraction. For instance, an RTL component be converted into a SystemC model using VtoC[6] or Verilator. And High Level Synthesis can be used to convert C models of a component into an RTL implementation.
Verification
In ESL design and verification, verification testing is used to prove the integrity of the design of the system or device. Numerous verification techniques may be applied; these test methods are usually modified or customized to better accommodate the system or device under test. Common ESL verification methods include, but are not limited to:[7]
- Modular architecture
- Constrained random stimulus generation
- Error injection
- Complete simulation environments
Verification is often provided by the system/device designer, but in many instances, additional independent verification is required
Challenges and criticism
Some criticisms of ESL design and verification have been raised. These include too much focus on C-based languages and challenges in representing parallel processes.[8] It can also be argued that ESL design and verification is a subset of verification and validation.
See also
References
- Information and results for 'System-level design merits a closer look: the complexity of today's designs requires system-level. However, EDA-tools development is lagging behind the needs of semiconductor and systems companies, and EDA tools must provide support.(Cover Story)' | AccessMyLibrary - Promoting library advocacy. AccessMyLibrary. Retrieved on 2013-08-10.
- Brian Bailey, Grant Martin and Andrew Piziali, ESL Design and Verification: A Prescription for Electronic System Level Methodology. Morgan Kaufmann/Elsevier, 2007.
- Adamov, Alexander (2007). "Electronic System Level Models for Functional Verification of System-on-Chip". 2007 9th International Conference - the Experience of Designing and Applications of CAD Systems in Microelectronics. CAD Systems in Microelectronics. pp. 348–350. doi:10.1109/CADSM.2007.4297576.
- Moretti, Gabe. "Design and Verification Need a Closer Relationship". Chip Design Mag.
- Perrier, Vincent. "A look inside electronic system level (ESL) design".
- Stoy, William. "Using VTOC for Large SoC Concurrent Engineering: A Real-World Case Study" (PDF).
- "Independent Verification". New Wave Design & Verification.
- "ESL Explained". National Instruments.
Further reading
- Alice C. Parker; Yosef Tirat-Gefen; Suhrid A. Wadekar (2007). "System-Level Design". In Wai-Kai Chen (ed.). The VLSI handbook (2nd ed.). CRC Press. ISBN 978-0-8493-4199-1. chapter 76.
- Brian Bailey; Grant Martin (2010). ESL Models and Their Application: Electronic System Level Design and Verification in Practice. Springer. ISBN 978-1-4419-0964-0.
- Frank Rogin; Rolf Drechsler (2010). Debugging at the Electronic System Level. Springer. ISBN 978-90-481-9254-0.
- Liming Xiu (2007). VLSI circuit design methodology demystified: a conceptual taxonomy. Wiley-IEEE. ISBN 978-0-470-12742-1.