Hardware / Software Codesign Appnote
Abstract
Hardware/Software (HW/SW) Codesign refers to the simultaneous consideration of hardware and software within the design process. Historically, signal processing systems have been designed by specifying the hardware and subsequently making the software fit. On the RASSP program, Lockheed Martin Advanced Technology Laboratories has changed this paradigm by tightly coupling the evaluation of software performance with the selection of hardware architecture and incorporating continuous re-verification throughout the process. Hardware/Software Codesign is the co-development and co-verification of hardware and software through the use of simulation and/or emulation. The emphasis of the RASSP program is on signal processing systems, which provides a very well defined application domain.
Purpose
Although the RASSP process fosters maximum reuse of both hardware and software, new software primitives or custom hardware is often required for an application. When custom hardware is required, HW/SW codesign refers to the process of model generation and the verification of the software on the hardware models prior to hardware build. In the case of new software primitives, HW/SW codesign refers to the process of software generation and verification on a hardware testbed or model(s) of the hardware to ensure both function and timing.
Roadmap
1.0 Executive Summary
1.1 Overview
1.2 The System Design Process
1.3 The Architecture Design Process
2.0 Introduction
3.0 RASSP Hardware / Software Codesign Process
- 3.1 Definition and Benefits
- 3.2 Implementation of Hardware / Software Codesign in RASSP
- 3.3 HW / SW Codesign Versus Application and Architecture
- 3.3.1 All COTS Solution
- 3.3.2 New primitives Required
- 3.3.3 Custom Hardware Required
- 3.4 Integrated RASSP Architecture Toolset
- 3.4.1 Implemented Process
- 3.4.1.1 Architecture Tradeoffs & Mapping Optimization
- 3.4.1.2 Algorithm Definition & Optimization
- 3.4.1.3 Testbed Execution & Optimization
- 3.4.1.4 Command Program Definition & Simulation
- 3.4.1.5 Target Software Generation and Test
- 3.4.2 Integrated Toolset
- 3.4.2.1 GEDAE - An Algorithm Development/Autocoding Tool
- 3.4.2.2 Omniview Cosmos - A Performance Modeling Tool
- 3.4.2.3 ObjectGEODE - A Control Software Development and Autocoding Tool
- 3.4.2.4 Application Interface Builder
4.0 Integrated Toolset Example for COTS Architecture
- 4.1 Generating the Data Flow Model
- 4.2 Generating the hardware architecture
- 4.3 Architecture tradeoffs
- 4.4 Control software development
5.0 HW / SW Codesign Process Applied to Mixed COTS/Custom Architecture
- 5.1 SAR Benchmark Application
- 5.2 Application of Hardware / Software Codesign
6.0 Lessons Learned
- 6.1 Model validation
- 6.2 Simulations must be rapid
- 6.3 Tools must maximize useful information to the designe
- 6.4 New tools and tool interoperability required
- 6.5 Software generation for multiprocessor systems will get easier
- 6.6 Software development paradigm shift is required
- 6.7 Legacy systems
7.0 Further Information and Other Areas of Interest
- 7.1 Trademarks and Copyrights
- 7.2 Links to related areas of interest
- 7.3 Articles / Presentations
Approved for Public Release; Distribution Unlimited
Dennis Basara