Application-specific approaches to ESL
Blog Post
Posted Feb 16, 2010
by Thomas Bollaert
Follow on Twitter
Go URL
What is a Go URL?Different design types generate different challenges and trigger different modeling and specification needs. SystemC is C++ class library which, most notably, adds support for timing and concurrency, two features not available from ANSI C++. When it comes to describing actual hardware, these are two critical aspects which must be taken in account through modeling and simulation. But at the specification level, engineers tend to focus on the functional aspects rather than the implementation details. And in the functional realm, applications can be divided in two camps: those independent of “when” things happen and those who aren’t. In more formal terms, is the system time-invariant, or not?
Most multimedia applications should typically be time-invariant. Yet these processing engines require complicated architectures which very often add time to the equation. The actual implementation usually involves a sophisticated mix of hardware and software exchanging data over a shared bus. With multiple actors competing for a shared resource, time now becomes an attribute of correctness and optimality. And it is no surprise if, in such cases, the explicit timing and concurrency offered by SystemC becomes a vital necessity for high-level modeling and verification of the specification.
Preparing RecommendationsWhen it comes to wireless application the algorithmic complexity is usually greater, but the underlying architectures tend to be much more straightforward and fall in the category of processing pipelines, where one block feeds the next one through point-to-point connections. In this case, timing and concurrency don’t add much to the high-level model, and a sequential and untimed language like pure ANSI C++ lends itself very well for specification purposes.
What this boils down to is that as we move up to ESL and system-level design, we are seeing application-specific needs and domain-specific methodologies. There is no right or wrong, good or bad, just a more appropriate approach to a specific problem.
Preparing RecommendationsRecent Posts
- GTC - mission accomplished
- Measuring RTOS performance - a Web seminar
- The value of MISRA-compliant software
- Preparing for GTC
- Who needs a Web server?
- More on Yocto Terminology - recipes and packages
- PowerPoint hints and tips #2
- New book
- Video
- In an open-source world, it’s all about integration
Comments
No one has commented yet on this post. Be the first to comment below.
Add Your Comment
Please complete the following information to comment or sign in.