Google Answers Logo
View Question
 
Q: Hardware Software CoDesign ( Answered 5 out of 5 stars,   0 Comments )
Question  
Subject: Hardware Software CoDesign
Category: Computers
Asked by: halogenstudios-ga
List Price: $10.00
Posted: 11 Nov 2002 14:05 PST
Expires: 11 Dec 2002 14:05 PST
Question ID: 105554
Please provide an overview of the computer science topic of 
Hardware/Software co-design.

I'm not looking for a paragraph or a dissertaion.  Something around
250-350 words, give or take.  That size would be perfect.

References to statements made in this overview would be great so I can
read more where I'd like to.
Answer  
Subject: Re: Hardware Software CoDesign
Answered By: willie-ga on 12 Nov 2002 00:22 PST
Rated:5 out of 5 stars
 
Hello, and thanks for the question.

I've been involved in the build of numerous IT systems over the years,
and often wondered why the hardware and software builds weren't
designed closer together. It seems I wasn't the only person to wonder
:)

The concept of Hardware/Software co-design came from embedded system
designers who are constantly looking for new tools and techniques to
help satisfy the large and increasing demand for consumer information
appliances and specialized industrial products.

One critical barrier to the timely release of embedded system products
is integrating the design of the hardware and software systems.

Hardware-software partition is often decided on at a very early stage
in a project, and the decision to keep them apart is adhered to as
much as is possible, because any changes in this partition may
necessitate extensive redesign. Designers often strive to make
everything fit in software, and off-load only some parts of the design
to hardware to meet timing constraints. The problems with these design
methods are:

- Lack of a unified hardware-software representation, which leads to
difficulties in verifying the entire system, and hence to
incompatibilities across the HW/SW boundary.
- A priori definition of partitions, which leads to sub-optimal
designs.
- Lack of a well-defined design flow, which makes specification
revision difficult, and directly impacts time-to-market.

(Taken from "A Framework for Hardware-Software Co-Design of Embedded
Systems"
( http://www-cad.eecs.berkeley.edu/~polis/ )

Hardware/software co-design has therefore developed as a set of
methodologies and techniques specifically created to support the
concurrent design of both systems, effectively reducing multiple
iterations and major redesigns. Design is then done in a unified
design model, with a unified view of how the hardware-software
partition can be built in practice, so as to prejudice neither
hardware nor software implementation. This model is maintained
throughout the design process, in order to preserve the design and
ensure both hardware and software build is optimised for peak
performance of both.

There is a fine example of one such methodology, "POLIS" from the
Hardware/Software Codesign Group at
"A Framework for Hardware-Software Co-Design of Embedded Systems"
( http://www-cad.eecs.berkeley.edu/~polis/ )

There is another example at "Hardware/Software Co-Design
by Asawaree Kalavade and Edward A. Lee in the Proceedings of the IFIP
International Workshop on Hardware/Software Co-Design, 1992
( http://ptolemy.eecs.berkeley.edu/publications/papers/92/codesign/ )

The use of these new methodologies will ensure that a system
specification is mapped down onto a mixed hardware/software
implementation that may include such things as

- conventional software running on a RISC or DSP processor 
- software-configurable hardware devices such as FPGAs 
- application-specific integrated circuits (ASICs) 
- a system-on-a-chip (SoC) 
- or a multi-component embedded system comprising any or all of these
elements

These co-design methodologies are often implemented as a set of design
tools to aid the rapid development of systems, and there are even
purpose built workstations available, such as the one from COMULATOR
( http://www.alatek.com/pages/comulator/comulator_overview.html )

In another example, The University of Washington is developing a
Computer Aided Design tool, CHINOOK.

"Chinook is a hardware-software co-synthesis CAD tool for embedded
systems......to be used is that the designer writes a behavioral
description once, and uses Chinook to map it onto several target
architectures interactively. The designer makes the partitioning and
allocation decisions, and Chinook helps with mapping. This enables
designers to make informed design decisions at the high level early in
the design cycle, rather than reiterate after having worked out all
the low level details"
( http://www.cs.washington.edu/research/projects/lis/chinook/ )

Hope that's the answer you were looking for, and the google searches
below will take you to a huge amount of supporting info, but if you
need anything clarifying, just ask.

willie-ga

Google searches used
hardware software co-design
hardware software co-design overview
hardware software co-design introduction
halogenstudios-ga rated this answer:5 out of 5 stars
Thanks Willie!  Exactly what I was looking for.

Comments  
There are no comments at this time.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy