Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures,...

53
Fall 2002 1 Models, Architectures, Languages Introduction Models State, Activity, Structure, Data, Heterogeneous Architectures Function-Architecture, Platform-Based Languages Hardware: VHDL / Verilog / SystemVerilog Software: C / C++ / Java System: SystemC / SLDL / SDL Verification: PSL (Sugar, OVL) Fall, 2001 2 Models, Architectures, Languages INTRODUCTION

Transcript of Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures,...

Page 1: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

1

Fall 2002 1

Models, Architectures, Languages

Introduction

Models– State, Activity, Structure, Data, Heterogeneous

Architectures– Function-Architecture, Platform-Based

Languages– Hardware: VHDL / Verilog / SystemVerilog

– Software: C / C++ / Java

– System: SystemC / SLDL / SDL

– Verification: PSL (Sugar, OVL)

Fall, 2001 2

Models, Architectures, Languages INTRODUCTION

Page 2: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

2

Fall 2002 3

Design Methodologies

Capture-and-Simulate– Schematic Capture– Simulation

Describe-and-Synthesize– Hardware Description Language– Behavioral Synthesis– Logic Synthesis

Specify-Explore-Refine– Executable Specification– Hardware-Software Partitioning– Estimation and Exploration– Specification Refinement

Fall 2002 4

Motivation

Page 3: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

3

Fall 2002 5

Models & Architectures

Specification + Constraints

Models(Specificatio

n)

Architectures(Implementation)

Implementation

Design Process

Models are conceptual views of the system’s functionalityArchitectures are abstract views of the system’s implementation

Fall 2002 6

Behavior Vs. Architecture

SystemSystemBehaviorBehavior

SystemSystemArchitectureArchitecture

MappingMapping

Flow To ImplementationFlow To Implementation

CommunicationRefinement

BehaviorBehaviorSimulationSimulation

PerformancePerformanceSimulationSimulation

1

3

4

2

Models of Computation

Performance models: Emb. SW, comm. and

comp. resources

HW/SW partitioning,Scheduling

SynthesisSW estimation

Page 4: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

4

Fall 2002 7

Models of an Elevator Controller

Fall 2002 8

Architectures Implementing the Elevator Controller

Page 5: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

5

Fall 2002

Current Abstraction Mechanisms in Hardware Systems

AbstractionThe level of detail contained within the system model

A system can be modeled at – System Level, – Algorithm or Instruction Set Level, – Register-Transfer Level (RTL),– Logic or Gate Level,– Circuit or Schematic Level.

A model can describe a system in the – Behavioral domain,– Structural domain,– Physical domain.

Fall 2002

Abstractions in Modeling:Hardware Systems

Level Behavior Structure Physical

PMS (System) CommunicatingProcesses

ProcessorsMemoriesSwitches (PMS)

Cabinets, Cables

Instruction Set(Algorithm)

Register-Transfer

Logic

Circuit

Input-Output Memory, PortsProcessors

BoardFloorplan

Register Transfers

ALUs, Regs,Muxes, Bus

ICsMacro Cells

Logic Eqns. Gates, Flip-flops Std. cell layout

Network Eqns. Trans., Connections Transistor layout

[McFarland90]

Start here

Work tohere

© IEEE 1990

Page 6: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

6

Fall 2002

Current Abstraction Mechanisms forSoftware Systems

Virtual MachineA software layer very close to the hardware that hides the

hardware’s details and provides an abstract and portable view to the application programmer

Attributes– Developer can treat it as the real machine

– A convenient set of instructions can be used by developer to model system

– Certain design decisions are hidden from the programmer

– Operating systems are often viewed as virtual machines

Fall 2002

Abstractions for Software Systems

Virtual Machine Hierarchy

Application Programs

Utility Programs

Operating System

Monitor

Machine Language

Microcode

Logic Devices

Page 7: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

7

Fall, 2001 13

MODELS

Fall 2002

Unified HW/SW Representation

Unified Representation –

– High-level system (SoC) architecture description

– Implementation (hardware or software) independent

– Delayed hardware/software partitioning

– Cross-fertilization between hardware and software

– Co-simulation environment for communication

– System-level functional verification

Page 8: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

8

Fall 2002

Abstract Hardware-Software Model

Unified representation of system allows early performance analysis

AbstractHW/SWModel

General PerformanceEvaluation

Evaluation of Design

Alternatives

Evaluation of HW/SW Trade-offs

Identification of Bottlenecks

Fall 2002

HW/SW System Models

State-Oriented Models– Finite-State Machines (FSM), Petri-Nets (PN), Hierarchical

Concurrent FSMActivity-Oriented Models

– Data Flow Graph, Flow-ChartStructure-Oriented Models

– Block Diagram, RT netlist, Gate netlistData-Oriented Models

– Entity-Relationship Diagram, Jackson’s DiagramHeterogeneous Models

– UML (OO), CDFG, PSM, Queuing Model, Programming Language Paradigm, Structure Chart

Page 9: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

9

Fall 2002 17

State-Oriented: Finite-State Machine (Mealy Model)

Fall 2002 18

State-Oriented: Finite State Machine(Moore Model)

Page 10: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

10

Fall 2002 19

State-Oriented: Finite State Machine with Datapath

Fall 2002 20

Finite State Machines

Merits

– Represent system’s temporal behavior explicitly

– Suitable for control-dominated systems

– Suitable for formal verification

Demerits

– Lack of hierarchy and concurrency

– State or arc explosion when representing complex systems

Page 11: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

11

Fall 2002

State-Oriented: Petri Nets

System model consisting of places, tokens, Petri Nets: a transitions, arcs, and a marking

– Places - equivalent to conditions and hold tokens – Tokens - represent information flow through system– Transitions - associated with events, a “firing” of a transition

indicates that some event has occurred– Marking - a particular placement of tokens within places of a

Petri net, representing the state of the net

Example:Token

Transition

Input Places

OutputPlace

Fall 2002 22

State-Oriented: Petri Nets

Page 12: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

12

Fall 2002 23

Petri Nets

Merits

– Good at modeling and analyzing concurrent systems

– Extensive theoretical and experimental works

– Used extensively for protocol engineering and control system modeling

Demerits

– “Flat Model” that becomes incomprehensible when system complexity increases

Fall 2002 24

State-Oriented: Hierarchical Concurrent FSM

Page 13: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

13

Fall 2002 25

Hierarchical Concurrent FSM

Merits

– Support both hierarchy and concurrency

– Good for representing complex systems

Demerits

– Concentrate only on modeling control aspects and not data and activities

Fall 2002 26

Activity-Oriented: Data Flow Graphs (DFG)

Page 14: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

14

Fall 2002 27

Data Flow Graphs

Merits

– Support hierarchy

– Suitable for specifying complex transformational systems

– Represent problem-inherent data dependencies

Demerits

– Do not express control sequencing or temporal behaviors

– Weak for modeling embedded systems

Fall 2002 28

Activity-Oriented: Flow Charts

Page 15: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

15

Fall 2002 29

Flow Charts

Merits

– Useful to represent tasks governed by control flows

– Can impose an order to supersede natural data dependencies

Demerits

– Used only when the system’s computation is well known

Fall 2002 30

Structure-Oriented: Component Connectivity Diagrams

Page 16: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

16

Fall 2002 31

Component Connectivity Diagrams

Merits

– Good at representing system’s structure

Demerits

– Behavior is not explicit

Characteristics

– Used in later phases of design

Fall 2002 32

Data-Oriented: Entity-Relationship Diagram

Page 17: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

17

Fall 2002 33

Entity-Relationship Diagrams

Merits

– Provide a good view of the data in a system

– Suitable for representing complex relationships among various kinds of data

Demerits

– Do not describe any functional or temporal behavior of a system

Fall 2002 34

Data-Oriented: Jackson’s Diagram

Page 18: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

18

Fall 2002 35

Jackson’s Diagrams

Merits

– Suitable for representing data having a complex composite structure

Demerits

– Do not describe any functional or temporal behavior of the system

Fall 2002

Heterogeneous: Control/Data Flow Graphs (CDFG)

Graphs contain nodes corresponding to operations in either hardware or softwareOften used in high-level hardware synthesisCan easily model data flow, control steps, and concurrent operations because of its graphical nature

Example: +

+

+

+

5 X 4 YControl Step 1

Control Step 2

Control Step 3

Page 19: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

19

Fall 2002 37

Control/Data Flow Graphs

Merits

– Correct the inability to represent control dependencies in DFG

– Correct the inability to represent data dependencies in CFG

Demerits

– Low level specification (behavior not evident)

Fall 2002 38

Heterogeneous: Structure Chart

Page 20: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

20

Fall 2002 39

Structure Charts

Merits

– Represent both data and control

Demerits

– Used in the preliminary stages of system design

Fall 2002

Heterogeneous: Object-Oriented Paradigms (UML, …)

Use techniques previously applied to software to manage complexity and change in hardware modelingUse OO concepts such as

– Data abstraction– Information hiding– Inheritance

Use building block approach to gain OO benefits– Higher component reuse– Lower design cost– Faster system design process– Increased reliability

Page 21: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

21

Fall 2002

Heterogeneous: Object-Oriented Paradigms (UML, …)Object-Oriented Representation

Example:

3 Levels of abstraction:

Register

Read

Write

ALU Processor

AddSub

ANDShift

MultDivLoadStore

Fall 2002 42

Page 22: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

22

Fall 2002 43

Object-Oriented Paradigms

Merits

– Support information hiding

– Support inheritance

– Support natural concurrency

Demerits

– Not suitable for systems with complicated transformation functions

Fall 2002 44

Heterogeneous: Program State Machine (PSM)

Page 23: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

23

Fall 2002 45

Program State Machine

Merits

– Represent a system’s state, data, control, and activities in a single model

– Overcome the limitations of programming languages and HCFSM models

Fall 2002 46

Heterogeneous: Queuing Model

Page 24: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

24

Fall 2002 47

Queuing Models

Characteristics

– Used for analyzing system’s performance

– Can find utilization, queuing length, throughput, etc.

Fall 2002 48

Codesign Finite State Machine (CFSM)

CFSM is FSM extended with

– Support for data handling

– Asynchronous communication

CFSM has

– FSM part

• Inputs, outputs, states, transition and output relation

– Data computation part

• External, instantaneous functions

Page 25: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

25

Fall 2002 49

Codesign Finite State Machine (CFSM)

CFSM has:– Locally synchronous behavior

• CFSM executes based on snap-shot input assignment

• Synchronous from its own perspective

– Globally asynchronous behavior• CFSM executes in non-zero, finite amount of time

• Asynchronous from system perspective

GALS model– Globally: Scheduling mechanism

– Locally: CFSMs

Fall 2002

Network of CFSMs: Depth-1 Buffers

CFSM2

CFSM3

C=>G

CFSM1

C=>FB=>C

F^(G==1)

(A==0)=>B

C=>ACFSM1 CFSM2

C=>B

F

G

CC

BA

C=>G

C=>B

Globally Asynchronous, Locally Synchronous (GALS) model

Page 26: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

26

Fall 2002 51

Typical DSP Algorithm

Traditional DSP– Convolution/Correlation

– Filtering (FIR, IIR)

– Adaptive Filtering (Varying Coefficient)

– DCT

∑∞

−∞=

−==k

knhkxnhnxny ][][][*][][

∑∑−

==

+−−=1

01][][][

M

kk

N

kk nxbknyany

∑−

=

+=

1

0]

2)12(cos[][)(][

N

n Nknnxkekx π

Fall 2002 52

Specification of DSP AlgorithmsExample– y(n)=a*x(n)+b*x(n-1)+c*x(n-2)

Graphical Representation Method 1: Block Diagram (Data-path architecture)– Consists of functional blocks connected with directed edges,

which represent data flow from its input block to its output block

DD

a b c

x(n)

y(n)

x(n-2)x(n-1)

Page 27: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

27

Fall 2002 53

Graphical Representation Method 2: Signal-Flow Graph

SFG: a collection of nodes and directed edgesNodes: represent computations and/or task, sum all incoming signalsDirected edge (j, k): denotes a linear transformationfrom the input signal at node j to the output signal at node kLinear SFGs can be transformed into different forms without changing the system functions. – Flow graph reversal or transposition is one of these

transformations (Note: only applicable to single-input-single-output systems)

Fall 2002 54

Signal-Flow Graph

Usually used for linear time-invariant DSP systems representationExample:

x(n)

y(n)

a b c

1−z 1−z

Page 28: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

28

Fall 2002 55

Graphical Representation Method 3: Data-Flow Graph

DFG: nodes represent computations (or functions or subtasks), while the directed edges represent data paths (data communications between nodes), each edge has a nonnegative number of delays associated with it.DFG captures the data-driven property of DSP algorithm: any node can perform its computation whenever all its input data are available.

x(n)

y(n)

b ca

D D

Fall 2002 56

Data-Flow Graph

Each edge describes a precedence constraint between two nodes in DFG:– Intra-iteration precedence constraint: if the edge has zero

delays– Inter-iteration precedence constraint: if the edge has one or

more delays (Delay here represents iteration delays.)– DFGs and Block Diagrams

can be used to describe both linear single-rate and nonlinear multi-rate DSP systems

Fine-Grain DFG x(n)

y(n)

b ca

D D

Page 29: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

29

Fall 2002 57

Examples of DFG

Nodes are complex blocks (in Coarse-Grain DFGs)

Nodes can describe expanders/decimators in Multi-Rate DFGs

FFT IFFTAdaptivefiltering

2↓N samples N/2 samples

2↑N/2 samples N samples ≡

≡ 2 1

1 2

Decimator

Expander

Fall 2002 58

Graphical Representation Method 4: Dependence Graph

DG contains computations for all iterations in an algorithm.DG does not contain delay elements.Edges represent precedence constraints among nodes.Mainly used for systolic array design.

Page 30: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

30

Fall, 2001 59

ARCHITECTURES

Fall 2002 60

Architecture Models

Southwest Medical Center Oklahoma City, Oklahoma"You hear the planned possibilities, but it is nothing like the visual

concept of a model. You get the impact of the complete vision."Galyn Fish

Director of PR, Southwest MedicalCenter

Page 31: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

31

Fall 2002 61

System Level Design ScienceDesign Methodology:– Top Down Aspect:

• Orthogonalization of Concerns: –– Separate Implementation from Conceptual AspectsSeparate Implementation from Conceptual Aspects–– Separate computation from communicationSeparate computation from communication

• Formalization: precise unambiguous semantics • Abstraction: capture the desired system details (do not overspecify)• Decomposition: partitioning the system behavior into simpler behaviors• Successive Refinements: refine the abstraction level down to the implementation by

filling in details and passing constraints

– Bottom Up Aspect:• IP Re-use (even at the algorithmic and functional level)• Components of architecture from pre-existing library

Fall 2002 62

Separate Behavior from Micro-architecture

FrontFrontEnd End 11

TransportTransportDecode Decode 22

RateRateBufferBuffer1212

RateRateBufferBuffer99

RateRateBufferBuffer55

SensorSensor

SynchSynchControlControl44

VideoVideoDecode Decode 66

AudioAudioDecode/Decode/

Output Output 1010

MemMem1111

User/SysUser/SysControlControl

33

MemMem1313

FrameFrameBufferBuffer77

VideoVideoOutput Output 88

System Behavior– Functional specification of

system– No notion of hardware or

software!

Implementation Architecture– Hardware and Software– Optimized Computer

DSP RAMDSP RAM

ExternalExternalI/OI/O

System System RAMRAM

DSPDSPProcessorProcessor

Proc

esso

r Bus

Proc

esso

r Bus

ControlControlProcessorProcessor

MPEGMPEG

PeripheralPeripheral

AudioAudioDecodeDecode

Page 32: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

32

Fall 2002

Example of System Behavior

FrontFrontEnd End 11

TransportTransportDecode Decode 22

RateRateBufferBuffer

1212

RateRateBufferBuffer

99

RateRateBufferBuffer

55

SensorSensor

SynchSynchControlControl

44

VideoVideoDecode Decode 66

AudioAudioDecode/Decode/

Output Output 1010

MemMem1111

User/SysUser/SysControlControl

33

MemMem1313

FrameFrameBufferBuffer

77

VideoVideoOutput Output 88

Satellite DishSatellite Dish

CableCable

remoteremote

monitormonitor

speakersspeakers

Fall 2002

IP-Based Design of the System Behavior

FrontEnd 1

TransportDecode 2

RateBuffer

12

RateBuffer

9

RateBuffer

5

Sensor

SynchControl

4

VideoDecode 6

AudioDecode/

Output 10

Mem11

User/SysControl

3

Mem13

FrameBuffer

7

VideoOutput 8

Satellite Dish

Cable

remote

monitor

speakers

TestbenchDesigned in BONeS

Baseband ProcessingDesigned in SPW

Decoding AlgorithmsDesigned in SPW

Transport DecodeWritten in C

User InterfaceWritten in C

System IntegrationCommunication Protocol

Designed in Felix

Page 33: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

33

Fall 2002 65

The next level of Abstraction …

abstr

act

Transistor ModelCapacity Load

1970’s

cluster

abstr

act

Gate Level ModelCapacity Load

1980’s

RTL

cluster

abstr

act

SDFWire Load

1990’s

IP Blocks

cluster

abstr

act

IP Block PerformanceInter IP Communication Performance Models

RTLClusters

SWModels

Year 2000 +

Fall 2002

IP-Based Design of the Implementation

DSP RAMDSP RAM

ExternalExternalI/OI/O

System System RAMRAM

DSPDSPProcessorProcessor

Proc

esso

r Bus

Proc

esso

r Bus

ControlControlProcessorProcessor

MPEGMPEG

PeripheralPeripheral

AudioAudioDecodeDecode

Which DSPProcessor? C50?

Can DSP be done onMicrocontroller?

Which Bus? PI?AMBA?

Dedicated Bus forDSP?

WhichMicrocontroller?

ARM? HC11?

Do I need a dedicated Audio Decoder?Can decode be done on Microcontroller?

How fast will myUser Interface

Software run? HowMuch can I fit on my

Microcontroller?

Can I Buyan MPEG2Processor?Which One?

Page 34: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

34

Fall 2002 67

Architectural Choices

µP

Prog Mem

MACUnit

AddrGenµP

Prog Mem

µP

Prog Mem

SatelliteProcessorDedicated

Logic

SatelliteProcessor

SatelliteProcessor

GeneralPurpose

µP

Software

DirectMapped

Hardware

HardwareReconfigurable

Processor

ProgrammableDSP

Flex

ibili

tyFl

exib

ility

1/Efficiency (power, speed)1/Efficiency (power, speed)

Fall 2002

Map Between Behavior and Architecture

FrontFrontEnd End 11

TransportTransportDecode Decode 22

RateRateBufferBuffer1212

RateRateBufferBuffer99

RateRateBufferBuffer55

SensorSensor

SynchSynchControlControl44

VideoVideoDecode Decode 66

AudioAudioDecode/Decode/

Output Output 1010

MemMem1111

User/SysUser/SysControlControl

33

MemMem1313

FrameFrameBufferBuffer77

VideoVideoOutput Output 88

Audio Decode BehaviorImplemented on

Dedicated Hardware

Transport Decode Implemented as Software Task Running

on Microcontroller

DSP RAMDSP RAM

ExternalExternalI/OI/O

System System RAMRAM

DSPDSPProcessorProcessor

Proc

esso

r Bus

Proc

esso

r Bus

ControlControlProcessorProcessor

MPEGMPEG

PeripheralPeripheral

AudioAudioDecodeDecode

CommunicationOver Bus

Page 35: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

35

Fall 2002

Classic A/D, HW/SW tradeoff

RF Front EndCan trade custom analog for hardware, even for software

– Power, area critical criteria, or easy functional modification

LOLO

DeDe--correlatecorrelate(spread spectrum)(spread spectrum)

Analog vs. Digital tradeoff Analog vs. Digital tradeoff

DeDe--modulatemodulate

A/DA/D CustomCustomDSPDSP

Suppose digital limit is pushedSuppose digital limit is pushed

DS 1DS 1--bitbitModulatorModulator

Dec.Dec.FilterFilter

GenGenDSPDSP

11--bitbitModulatorModulator

GenGenDSPDSP

11--bitbitModulatorModulator

System Chip DSPSystem Chip DSP

Digital expandingDigital expanding

e.g.e.g.

Fall 2002

Example: Voice Mail Pager

Design considerations cross design layersTrade-offs require systematic methodology and constraint-based hierarchical approach for clear justification

Modulation Scheme Choice (e.g. BPSK)Modulation Scheme Choice (e.g. BPSK)

QQ

IIPPff

DeDe--correlatecorrelate(spread spectrum)(spread spectrum)

Analog vs. Digital tradeoff Analog vs. Digital tradeoff

DeDe--modulatemodulate

e.g.e.g.GenGenDSPDSP

??

??

Page 36: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

36

Fall 2002 71

Where All is Going

Function/Arch. Co-Design

Convergence of Paradigms

Communication-basedDesign

Analog PlatformDesign

Create paradigm shift- not just link methodsNew levels of abstraction to fluidly tradeoff HW/SW, A/D, HF/IF, interfaces, etc- to

exploit heterogeneous nature of componentsLinks already being forged

Fall 2002 72

Deep Submicron Paradigm Shift

40M Transistors2,000M Metal600 MHzWire RC 6 ns/cm

2M Transistors100M Metal100 MHzWire RC 1 ns/cm

200x1991 1996

Cell Based Design- Minimize Area- Maximize Performance- Optimize Gate Level

90%New

Design

Virtual Component Based Design- Minimize Design Time- Maximize IP Reuse- Optimize System Level 90%

ReusedDesign

22 22

Page 37: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

37

Fall 2002 73

Implementation Design Trends

Flat ASIC+

Platform BasedConsumerWirelessAutomotive

HierarchicalMicroprocessorsHigh end servers& W/S

Flat LayoutNet & Compute ServersBase stations

EDA

Flat ASIC

MicroP

Fall 2002 74

Platform-Based System Architecture Exploration

Today

Effort/Value

Leve

l of A

bstra

ctio

n

Function

HW/SW

Architecture

RTL - SW

Mask - ASM

Tomorrow

Architectural Space

System Platform

Application Space

Page 38: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

38

Fall 2002 75

Digital Wireless Platform

AD

Analog RF

Timingrecovery

phonebook

Java VM

ARQ

Keypad,Display

Control

FiltersAdaptive AntennaAlgorith

ms

Equalizers MUD

Accelerators(bit level)

analog digital

DSP core

uC core(ARM)

Logic

Dedicated Logicand Memory

Source: Berkeley Wireless Research Center

Fall 2002 76

Will the system solution match the original system spec?

Software Hardware?

TxOptics

Synth/MUX

CDR/DeMUX

RxOptics

VCXO

mP

ClockSelect

LineI/F OHP

STSPP

STSXC SPE

MapData

Framer

Cell/Packet

I/F

STMI/F

• IP Selection• Design• Verification

• Development• Verification• System Test

Concept• Limited synergies between HW & SWteams

• Long complex flows in which teamsdo not reconcile efforts until the end

• High degree of risk that devices willbe fully functional

• Limited synergies between HW & SWteams

• Long complex flows in which teamsdo not reconcile efforts until the end

• High degree of risk that devices willbe fully functional

Page 39: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

39

Fall 2002 77

Historical EDA Focus

EDA Challenge to Close the GapL

evel

of A

bstr

actio

n

Behavior

SW/HW

RTL

Silicon

Concept to Reality

Gap

Design Entry Level

Gate Level “Platform”

Impact of Design Change(Effort/Cost)

Source: GSRC

• Industry averaging 2-3 iterations SoC design

• Need to identify design issues earlier

• Gap between concept and logical / Physical implementation

• Industry averaging 2-3 iterations SoC design

• Need to identify design issues earlier

• Gap between concept and logical / Physical implementation

Fall 2002 78

AMBA-Based SoC Architecture

Page 40: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

40

Fall, 2001 79

LANGUAGES

Fall 2002 80

Languages

Hardware Description Languages– VHDL / Verilog / SystemVerilog

Software Programming Languages– C / C++ / Java

Architecture Description Languages– EXPRESSION / MIMOLA / LISA

System Specification Languages– SystemC / SLDL / SDL / Esterel

Verification Languages– PSL (Sugar, OVL) / OpenVERA

Page 41: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

41

Fall 2002 81

Hardware Description Languages (HDL)

VHDL (IEEE 1076)

Verilog 1.0 (IEEE 1364)

Verilog 2.0 (IEEE 1364)

SystemVerilog 3.0 (to be sent for IEEE review)

SystemVerilog 3.1 (to be sent for IEEE review)

Fall 2002 82

SystemVerilog 3.0

Built-in C types

Synthesis improvements (avoid simulation and synthesis mismatches)

Enhanced design verification– procedural assertions

Improved modeling– communication interfaces

Page 42: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

42

Fall 2002 83

SystemVerilog 3.1

Testbench automation– Data structures

– Classes

– Inter-process communication

– Randomization

Temporal assertions– Monitors

– Coverage Analysis

Fall 2002 84

SystemVerilog Environment for Ethernet MAC

Page 43: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

43

Fall 2002 85

Architecture Description Language in SOC Codesign Flow

DesignSpecification

Hw/Sw Partitioning

Off-ChipMemory

ProcessorCore

On-ChipMemory

SynthesizedHW Interface

HWVHDL, Verilog

SWC

Synthesis Compiler

Cosimulation

EstimatorsArchitecture DescriptionLanguage

P1

M1P2

IP Library

Verification

Rapid design space exploration

Quality tool-kit generation

Design reuse

Fall 2002 86

Objectives for Embedded SOCSupport automated SW toolkit generation

exploration quality SW tools (performance estimator, profiler, …)production quality SW tools (cycle-accurate simulator, memory-aware compiler..)

Specify a variety of architecture classes (VLIWs, DSP, RISC, ASIPs…)Specify novel memory organizationsSpecify pipelining and resource constraints

Architecture Description Languages

ArchitectureArchitecture

DescriptionDescription

FileFile

Compiler

Simulator

Synthesis

Architecture ModelADL

Compiler

Formal Verification

Page 44: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

44

Fall 2002 87

Architecture Description Languages

Behavior-Centric ADLs (primarily capture Instruction Set (IS))ISPS, nML, ISDL, SCP/ValenC, ...

good for regular architectures, provides programmer’s viewtedious for irregular architectures, hard to specify pipelining, implicit arch model

Structure-Centric ADLs (primarily capture architectural structure)MIMOLA, ...

can drive code generation and architecture synthesis, can specify detailed pipelininghard to extract IS view

Mixed-Level ADLs (combine benefits of both)LISA, RADL, FLEXWARE, MDes, …

contains detailed pipelining informationmost are specific to single processor class and/or memory architecturemost generate either simulator or compiler but not both

Fall 2002 88

Memory Libraries

Cache SRAM

PrefetchBuffer

Frame Buffer

EDOOn-chip

RD RAM

SD RAM

Toolkit Generator

Toolkit Generator

Profiler

Profiler

ApplicationExploration Phase

Refinement Phase

VLIW

DSP

ASIP

Processor Libraries Exploration

Simulator

ExplorationCompiler

RetargetableSimulator

RetargetableCompiler

Feedback

Feedback

EXPRESSION ADL

Verification

EXPRESSION

ADL

Page 45: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

45

Fall 2002 89

SystemCv0.90

Sep. 99

SystemC History

SynopsysATG

Synopsys“Fridge”

Synopsys“Scenic”

UCIrvine

1996Frontier DesignA/RT Library

1991SystemC

v1.1Jun. 00

Abstract Protocolsimec

1992

CoWare“N2C”

1997

VSIA SLD Data Types Spec (draft)

SystemCv1.0

Apr. 00Fixed Point Types

Fall 2002 90

SystemC Highlights

– Modules– Processes– Ports– Signals– Rich set of port and

signal types– Rich set of data

types

– Clocks– Cycle-based simulation– Multiple abstraction levels– Communication protocols– Debugging support– Waveform tracing

Features as a codesign language

Page 46: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

46

Fall 2002 91

Current System Design Methodology

C/C++ System Level Model

Analysis

Results

Refine VHDL/Verilog

Manual Conversion

Simulation

Synthesis

Rest of Process

Fall 2002 92

Current System Design Methodology (cont’d)

Problems

– Errors in manual conversion from C to HDL

– Disconnect between system model and HDL model

– Multiple system tests

Page 47: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

47

Fall 2002 93

SystemC Design Methodology

SystemC Model

Simulation

Refinement

Synthesis

Rest of Process

Fall 2002 94

SystemC Design Methodology (cont’d)

Advantages

– Refinement methodology

– Written in a single language

– Higher productivity

– Reusable testbenches

Page 48: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

48

Fall 2002 95

SystemC Programming Model

A set of modulesinteracting through signals.Module functionality is described by processes.

Mod 1 Mod 2

Mod 3

Fall 2002 96

SystemC programming model (cont’d)

System (program) debug/validation

– Testbench

• Simulation, Waveform view of signals

– Normal C++ IDE facilities

• Watch, Evaluate, Breakpoint, ...

sc_main() function

– instantiates all modules

– initializes clocks

– initializes output waveform files

– starts simulation kernel

Page 49: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

49

Fall 2002 97

A Simple Example:Defining a Module

Complex-number Multiplier(a+bi)*(c+di) = (ac-bd)+(ad+bc)i

ComplexMultiplier

(cmplx_mult)

ab

cd

ef

SC_MODULE(cmplx_mult) {sc_in<int> a,b;sc_in<int> c,d;sc_out<int> e,f;...}

Fall 2002 98

A Simple Example:Defining a Module (cont’d)

SC_MODULE(cmplx_mult) {sc_in<int> a,b;sc_in<int> c,d;

sc_out<int> e,f;

void calc();

SC_CTOR(cmplx_mult) {SC_METHOD(calc);sensitive<<a<<b<<c<<d;

}

}

void cmplx_mult::calc()

{e = a*c-b*d;f = a*d+b*c;

}

Page 50: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

50

Fall 2002 99

Completing the Design

M2

ComplexMultiplier

ab

cd

ef

M1

input_gen

M3

display

Clk.signal()

clk

Fall 2002 100

Completing the Design:input_gen module

SC_MODULE(input_gen) {sc_in<bool> clk; sc_out<int> a,b;sc_out<int> c,d;

void generate();

SC_CTOR(input_gen) {SC_THREAD(generate);sensitive_pos(clk);

}

}

void input_gen::generate()

{int a_val=0, c_val=0;

while (true) {a = a_val++; wait();c = (c_val+=2);wait();

}

}

Page 51: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

51

Fall 2002 101

Completing the Design:display module

SC_MODULE(display) {sc_in<int> e,f;

void show();

SC_CTOR(display) {SC_METHOD(show);sensitive<<e<<f;

}

}

void display::show()

{

cout<<e<<‘+’<<f<<“i\n”;

}

Fall 2002 102

Putting it all together:sc_main function

#include <systemc.h>

int sc_main()

{input_gen M1(“I_G”);cmplx_mult M2(“C_M”);display M3(“D”);

sc_signal<int> a,b,c,d,e,f;sc_clock clk(“clk”,20,0.5);

M1.clk(clk.signal()); M1.a(a); M1.b(b);M1.c(c); M1.d(d);

M2.a(a); M2.b(b); M2.c(c); M2.d(d); M2.e(e); M2.f(f);

M3.e(e); M3.f(f);

sc_start(100);return 0;

}

Page 52: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

52

Fall 2002 103

Fall 2002 104

Page 53: Models, Architectures, Languagestylee/Courses/92_2_HWC/codesign_Chap2.pdf · Models, Architectures, Languages INTRODUCTION. 2 Fall 2002 3 ... – Filtering (FIR, IIR) ... Decimator

53

Fall 2002 105

Fall 2002 106

Property Specification Language (PSL)

Accellera: a non-profit organization for standardization of design & verification languagesPSL = IBM Sugar + Verplex OVLSystem Properties

– Temporal Logic for Formal Verification

Design Assertions– Procedural (like SystemVerilog assertions)– Declarative (like OVL assertion monitors)

For:– Simulation-based Verification– Static Formal Verification– Dynamic Formal Verification