Electronic System Level

Models and their Application

Functional Models

 






















 

 

 

 

 

 

 

 

 

Chapter 3 Functional Models

Functional models are the mainstay of many design and verification flows and there have been many languages defined to help improve the efficiency and/or effectiveness of these models. This chapter will explore the most common languages that are in use today and the ways in which they can be used. Small examples will be given in this chapter to show the fundamental aspects of these languages and will compare and contrast some of the languages so that informed decisions can be made regarding the best ones to choose for particular situations. In some of the later chapters of this book, we will also see examples of those languages in use.

We can divide the models into two general categories. First and most important are dynamic models - otherwise known as executable (or "simulatable" simulation) models. The second category is formal models. These tend to be declarative models as opposed to the imperative models used in the first category. We will illustrate declarative models with property and constraint languages.

The dynamic models can themselves be divided into two broad categories: algorithmic and architectural models. Associated with each of these are two categories of languages - the algorithmic ones feature most prominently mathematical modeling languages such as The Mathworks Matlab; and dataflow modeling languages such as The Mathworks Simulink, Signal Processing Designer (was SPW) from CoWare, System Studio from Synopsys, and research languages such as Ptolemy/Ptolemy II from UC Berkeley. For architectural modeling, which manifests itself on several levels ranging from IP modeling all the way up to full system modeling, dialects of C/C++, with SystemC being most prominent, are traditionally used.

C/C++/SystemC are also used for algorithmic modeling, with C (or C++) being very prominently used to model standards in signal and image processing. Standards groups very often develop and release reference implementations of the standard as a set of C or C++ models, with associated test stimuli and expected response files.

3.1 Dynamic Models and Languages
     3.1.1 Algorithmic Languages
     3.1.2 Architectural Modeling Languages: SystemC
     3.1.3 Architectural Models
3.2 Formal Models
     3.2.1 Property languages
3.3 References

Errata

Feedback

     Your name:
     Your company or affiliation:
     e-mail address:

     Would you like to be contacted by one of the authors

Your comments or suggestion


Buy the books here

This site is owned and maintained by Brian Bailey
All information is Copyright © 2007-2010