ESL or "Electronic System Level" is a buzz word these days, in the electronic design automation (EDA) industry, in design houses, and in the academia. Even though numerous trade magazine articles have been written, quite a few books have been published that have attempted to de?ne ESL, it is still not clear what exactly it entails. However, what seems clear to every one is that the "Register Transfer Level" (RTL) languages are not adequate any more to be the design entry point for today's and tomorrow's complex electronic system design. There are multiple reasons for such thoughts. First, the c- tinued progression of the miniaturization of the silicon technology has led to the ability of putting almost a billion transistors on a single chip. Second, applications are becoming more and more complex, and integrated with c- munication, control, ubiquitous and pervasive computing, and hence the need for ever faster, ever more reliable, and more robust electronic systems is pu- ing designers towards a productivity demand that is not sustainable without a fundamental change in the design methodologies. Also, the hardware and software functionalities are getting interchangeable and ability to model and design both in the same manner is gaining importance. Given this context, we assume that any methodology that allows us to model an entire electronic system from a system perspective, rather than just hardware with discrete-event or cycle based semantics is an ESL method- ogy of some kind.
System Level Design (SLD) and Electronic System Level (ESL) Design are buzzwords of today‘s Electronic Design Automation industry. The idea is to raise the level of abstraction of the design entry for future hardware systems beyond the register transfer level. This is necessitated by the increasing complexity of the systems, co-dependence between hardware and software, the immense gate count available on a single chip, the relatively slower growth in designer productivity, and decreasing design turn around time. Even though a number of languages and design environments have been proposed in the last few years which include SystemC, Bluespec, SpecC, and System Verilog, etc., none of these satisfy our wish list for a successful system level design language or framework. We want languages and frameworks which will enable us to model heterogeneous system-on-chips. These can be best captured by a language capable of expressing and co-simulating multiple models of computation. Also, we want to model behavior rather than structure, and want our SLD languages to support simulation of behavioral hierarchy, rather than structural ones available in the existing languages. We also want easier integration of frameworks and tools from various vendors and open source tools that not only support design, verification, dynamic waveform viewing, coverage driven dynamic test generation within the same framework, but also allows dynamic enabling or disabling some of the tools from the integrated framework to speed up simulation as needed. We also want open source Eclipse plug-in for SystemC or similar ESL languages. We want the ability for dynamic reflection and introspection from a running simulation to provide us with information about simulation state and accordingly generate tests dynamically to fulfill coverage goals. Ingredients for Successful System Level Design Methodology discusses these wish lists, and provides detailed discussions on how our prototype implementations provide us with these much desired features.