1 staunstrup and wolf ed. “hardware software codesign: principles and practice”, kluwer...

Post on 24-Dec-2015

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Hardware Software

Co design

2

Texts

Staunstrup and Wolf Ed. “Hardware Software codesign: principles and practice”, Kluwer Publication, 1997

Gajski, Vahid, Narayan and Gong, “Specification, Design of Embedded Systems”, Prentice Hall, 1994

Suggested papers in the class web

3

Introduction

Digital systems designs consists of hardware components and software programs that execute on the hardware platforms

Hardware-Software Co design ?

4

Microelectronics trends

Better device technology reduced in device sizes more on chip devices > higher density higher performances

5

Microelectronics trends

Higher degree of integration increased device reliability inclusion of complex designs

6

Digital Systems

Judged by its objectives in application domain

Performance Design and Manufacturing cost Ease of Programmability

7

Digital Systems

Judged by its objectives in application domain

Performance Design and Manufacturing cost Ease of Programmability

It depends on both the hardware and software components

8

Hardware/Software Codesign

Key concepts Concurrent: hardware and software

developed at the same time on parallel paths

Integrated: interaction between hardware and software developments to produce designs that meet performance criteria and functional specifications

The meeting of system-level objectives by exploiting the trade-offs between hardware and software in a system through their concurrent design

9

Concurrent design

Traditional design flow

Concurrent (codesign) flow

HW SW

start

start

HW SWDesigned by independent groups of experts Designed by Same group of

experts with cooperation

10

Co design motivation

Trend toward smaller mask-level geometries leads to:

Higher integration and cost of fabrication.

Suggestion: Use software as a means of

differentiating products based on the same hardware platform.

11

Hardware ProgrammabilityTraditionally Hardware used to be configured at the time of

manufacturing Software is variant at run time

The Field Programmable Gate Arrays (FPGA)has blurred this distinction.

12

FPGAs

FPGA circuits can be configured on-the-fly to implement a specific software function with better performance than on microprocessor.

13

FPGAs

FPGA circuits can be configured on-the-fly to implement a specific software function with better performance than on microprocessor.

FPGA can be reprogrammed to perform another specific function without changing the underlying hardware.

14

FPGAs

FPGA circuits can be configured on-the-fly to implement a specific software function with better performance than on microprocessor.

FPGA can be reprogrammed to perform another specific function without changing the underlying hardware.

This flexibility opens new applications of digital circuits.

15

Why codesign?

Reduce time to market

16

Why codesign?

Reduce time to market Achieve better design

▪ Explore alternative designs▪ Good design can be found by balancing the

HW/SW

17

Why co design?

Reduce time to market Achieve better design

▪ Explore alternative designs▪ Good design can be found by balancing the

HW/SW To meet strict design constraint

▪ power, size, timing, and performance trade-offs

▪ safety and reliability▪ system on chip

18

Distinguishing features of digital system

Interrelated criteria for a system design

HardwareTechnology

Level ofIntegration

Degree of Programmability

ApplicationDomain

19

Application Domains

General purpose computing system▪ usually self contained and with peripherals▪ Information processing systems

20

Application Domains

General purpose computing system▪ usually self contained and with peripherals▪ Information processing systems

Dedicated control system▪ part of the whole system, Ex: digital controller

in a manufacturing plant▪ also, known as embedded systems

21

Embedded Systems

Uses as small computer to perform certain function

Conceived with specific application in mind

▪ examples: dash controller in autombiles, remote controller for robots, answering machines, etc.

User has limited access to system programming

▪ system is provided with system software during manufacturing

▪ not used as a computer

Application-specific systems which contain hardware and software tailored for a particular task and are generally part of a larger system (e.g., industrial controllers)

Embedded Systems: Examples

Banking and transaction processing applications

Automobile engine control units

Signal processing applications

Home appliances (microwave ovens)

Industrial controllers in factories

Cellular communications

23

Degree of Programmability

Most digital systems are programmed by some software programs for functionality.

Two important issues related to programming:

who has the access to programming? Level at which programming is

performed.

24

Degree of Programmability: Accessibility

Understand the role of: End users, application developers, system integrator and component manufacturers.

25

Degree of Programmability: Accessibility

Understand the role of: End users, application developers, system integrator and component manufacturers.

Application Developer: System to be retarget able.

26

Degree of Programmability: Accessibility

Understand the role of: End users, application developers, system integrator and component manufacturers.

Application Developer: System to be retargetable.System Integrator: Ensure compatibility of system

components

27

Degree of Programmability: Accessibility

Understand the role of: End users, application developers, system integrator and component manufacturers.

Application Developer: System to be retargetable.System Integrator: Ensure compatibility of system

componentsComponent Manufactures: Concerned with maximizing

product reuse

28

Degree of Programmability

Example 1: Personal computerEnd User: Limited to application levelApplication Dev.: Language tools, Operating

System, high-level programming environment (off the self components)

Component Manf.: Drive by bus standards, protocols etc.

Observe that: coalescing the system components due to higher chip densityResult: Few but more versatile system hardware components

29

Example 2.

Embedded Systems End user: Limited access to

programming Most software is already

provided by system integrator who could be application developer too!

30

Level of Programmability

Systems can be programmed at application, instruction and hardware levels

Application Level: Allows users to specify “option of functionality” using special language.

Example: Programming VCR or automated steering control of a ship

31

Level of programmability

Hardware level programmability

Example: Microprogramming (determine the behavior of control unit by microprogram)

configuring the hardware (after manufacturing) in the desired way.

32

Programmability

Microprogramming Vrs. Reconfigurability

Microprogram allows to reconfigure the control unitwhereas Reconfigurable system can modify both

Data path and controller.

33

Programmability

Microprogramming Vrs. Reconfigurability

Microprogram allows reconfigure the control unitversus Reconfigurable system can modify both

datapath and controller.

Reconfigurability increases usabilitybut not the performance of a system.

A Model of the Current Hardware/Software Design Process

SystemConcepts

Sys/HWRequire.Analysis

Sys/SWRequire.Analysis

Operation.Testing and

Eval.

SoftwareRequire.Analysis Prelim.

Design DetailedDesign Coding,

Unit test.,Integ. testSW Development

HWCITesting

CSCITesting

SystemInteg. and

test

[Franke91]

HardwareRequire.Analysis

Prelim.Design

DetailedDesign

Fabric.HW Development

DOD-STD-2167A

© IEEE 1991

Directions of the HW/SW Design Process

SystemConcepts

Sys/HWRequire.Analysis

Sys/SWRequire.Analysis

HardwareRequire.Analysis

SoftwareRequire.Analysis

Operation.Testing and Evaluation

SW Development

HW Development

SystemInteg. and test

HWCITesting

CSCITesting

[Franke91]

Integrated Modeling Substrate

Integrated Modeling Substrate

Prelim.Design

Prelim.Design

DetailedDesign

DetailedDesign

Fabric.

Coding,Unit test.,Integ. test

© IEEE 1991

36

Typical codesign process

SystemDescription

HW/SWPartitioning

Softwaresynthesis

Interfacesynthesis

Hardwaresynthesis

Systemintegration

Modeling

Unified representation

Instruction set levelHW/SW evaluation

37

Steps in Codesign

HW-SW system involvesspecificationmodeling design space exploration and

partitioning synthesis and optimizationvalidation implementation

38

Steps in codesign

Specification▪ List the functions of a system that describe

the behavior of an abstraction clearly with out ambiguity.

Modeling:▪ Process of conceptualizing and refining the

specifications, and producing a hardware and software model.

39

Modeling style

Homogeneous: a modeling language or a graphical formalism for presentation

▪ partitioning problem used by the designer Heterogeneous: multiple

presentations▪ partitioning is specified by the models

40

Steps in codesign

Validation:Process of achieving a reasonable level of confidence that the system will work as designed.

41

Steps in codesign

Implementation:Physical realization of the hardware (through synthesis) and of executable software (through compilation).

42

Partitioning and Scheduling (where and when)

A hardware/software partitioning represents a physical partition of system functionality into application-specific hardware and software.

Scheduling is to assign an execution start time to each task in a set, where tasks are linked by some relations.

top related