HARDWARE SOFTWARE CO-DESIGN
SLIDE: General Note
Software team designs with complete knowledge of hardware capabilities and features and hardware team designs with complete knowledge of software CDFGs (Control Data Flow Graph) and functions to be achieved. Certain software functions are implemented by hardware and certain hardware functions are implemented by software with the aim of achieving desired system performance at optimum cost.
SLIDE: Key Concepts
There are two approaches for embedded system design.
 The software development life cycle ends and the life cycle for process of integrating the software into the hardware begin at the time when a system is designed.
 Both cycles proceed concurrently when co-designing a time critical sophisticated system.
The final design when implemented, gives the targeted embedded system and thus the final product. Therefore, an understanding of the (i) software and hardware designs and integrating both into a system and (ii) hardware-software co-designing are important aspects of designing embedded systems.
There is a tradeoff between the hardware and software. Hardware implementations provide advantage of greater processing speed at the compromise of cost criterion, whereas software implementations provide portability and swift maneuvering at the worth of reduced precession. So a distinct tradeoff boundary has to be set prior to implementation depending on the expected constraints.
SLIDE: Requirements for Efficient Co-design
 Once the tradeoff boundary is set, a unified and unbiased hardware software representation has to be made to facilitate uniform design and analysis technique for both hardware and software as well as to permit system evaluation in an Integrated Development Environment (IDE) and intra-system task migration between HW and SW.
 The iterative partitioning technique of HW/SW modules aids in determining the best implementation for a system in terms of functionality and performance goals.
 Continuous or incremental evaluation at several stages of the design is achieved by means of Integrated Modeling Substrate. It takes necessary HW and/or SW changes into consideration in both design paths at every stage rather than waiting until final integration, which results in a smoother integration process.
 The system must include a validation methodology to insure that the system meets its initial requirements after the final integration. The validation methodology may use ‘formal verification technique’ or ‘simulation based validation’.
SLIDE: Scope of Co-design
HW/SW codesign method is adopted by numerous domains, namely a few:
System On Chip (SOC)
Instruction Set Architectures (ISAs), e.g.- Application Specific Instruction-set Processor (ASIP).
SLIDE: Merits & Demerits
The benefits of using co-design method:
1] Due to the current advancement in key enabling technologies, easier exploration of design trade off is ensured.
2] Mutual influence of HW/SW throughout the design process provides greater reliability.
3] Tool inter-operability reduces design time even in case of larger design specifications.
4] Strict system specification conformity.
It also imposes some setbacks or limitations:
1] Separate HW/SW development paths may lead to costly modifications and schedule slippages.
2] Errors in HW/SW design become much more fatal as codesign method involves greater commitments.
3] Scarcity of good validation and evaluation methods.
4] Lack of standardized representation.
Undoubtedly, HW/SW codesign is a pinnacle of the contemporary manufacturing technology and can be transformed into an even more lethal mean for further uplifting, provided the potentially challenging issues are curbed down in the forthcoming days.
Take a quick look at the slides below:
The Power-Point Presentation is available for download in a compressed (.rar) format.