Posts Tagged ‘Add new tag’

ESL Languages: Which One Is Right For Your Needs?

Thursday, February 19th, 2009

The question about ESL language is the right one comes up over and over again.  As customers begin to understand the benefits of modeling and analysis at the system level, they must address this question as one of the first steps in getting started.

 

What language should be used for ESL—SystemC, SystemVerilog, UML or M? Technically, you can create an ESL/TLM platform in any language you would like. I’ve seen large corporations doing system-level modeling in all of these languages, and then some C/C++, VHDL, and even Java, have been used to do various levels of analysis at the system level. While much of the choice in language is subjective, it’s a good idea to have an understanding of the tradeoffs of using one language vs. another. These tradeoffs include language constructs and semantics, as well as issues outside the language itself—such as tool support, third-party IP availability and access to knowledgeable engineers.

 

While all of the mentioned languages have supporters, the two main languages I see organizations applying and trading off today are SystemC and System Verilog. At a very high level, the differences between the languages are pretty simple to characterize. SystemVerilog is primarily focused on verification and maintains all of the RTL level focus inherited from its Verilog base. The enhancements related to directed test generation, assertion definitions and coverage metrics are all very valuable capabilities, and all are closely tied to the RTL implementation domain. SystemC is C++. The libraries and standards that define SystemC extend C++ to be a language well suited to transaction-level model definition and simulation of this modeling level.

 

Because SystemC is based on C++, there are a huge number of experienced users and off-the-shelf examples and libraries that can be used for a wide range of functional modeling applications. The SystemC constructs add enough hardware-specific capabilities to allow the language to support TLM modeling without getting bogged down in the complexity introduced in addressing verification challenges.

 

I see many customers using both languages and using the languages together. For all of you who have explored the options for creating ESL models and simulations, what tradeoffs have you looked at? What were your ultimate decisions? I welcome any comments from readers to understand the choices between all of the possible ESL languages and methodologies. 

 

Jon McDonald, technical marketing engineer, Mentor Graphics

 

ESL Modeling: Be Careful What You Wish For

Tuesday, January 27th, 2009

I was talking to a customer last week about his most recent ESL activities and he brought up a question that I’ve heard from many different sources : “How accurate does my ESL model need to be?” The level of timing accuracy, and even function accuracy, needed for effective system level analysis is a very dynamic question, with different answers for different organizations, and even different stages of the design process.

I’ve seen many cases where adopting ESL techniques has been successful and those where it has not worked. One of the significant contributing factors in the failed cases is engineering obsessing about the accuracy of the models they are creating. As organizations look at moving to higher levels of modeling, they naturally come up with a wish list of all the possible things they would like to accomplish with these abstract models. The problem occurs when they then take this wish list and try to satisfy all of it right away in the model requirements.

Moving to a new methodology and trying to answer all the possible questions you might want to answer in one step is a monumental task. Organizations that have been successful in adopting ESL focus their initial system modeling task on the simplest questions that will have a significant impact on key architectural decisions. Then they create ESL/TLM system models to answer those specific initial questions. By taking a small revolutionary step in creating the initial ESL/TLM system, they can then refine this system model in an evolutionary process of increasing complexity and accuracy, ultimately answer ing all of the questions before beginning implementation.

I am eager to hear if you have had the same experience , or not , when creating ESL models. So I’ll propose a few open questions for any of you who have been involved in a successful ESL/TLM modeling effort:

  • What has worked for you?
  • What level of accuracy did you require in your models?
  • What types of issues were you addressing with your effort?
–Jon McDonald, technical marketing engineer, Mentor Graphics