EE382V: EmbeddedSystemDesignandModeling Lecture4 - - PowerPoint PPT Presentation

ee382v embedded system design and modeling
SMART_READER_LITE
LIVE PREVIEW

EE382V: EmbeddedSystemDesignandModeling Lecture4 - - PowerPoint PPT Presentation

EE382V: EmbeddedSystemDesignandModeling Lecture4 SystemDesignFlowandMethodology


slide-1
SLIDE 1

EE382V: EmbeddedSystemDesignandModeling

  • Lecture4– SystemDesignFlowandMethodology
slide-2
SLIDE 2

!"#$%& ' (()

  • Lecture4:Outline

* SpecC systemdesignmethodology * +

, ! , ! , -

* #

, ! , , , .

slide-3
SLIDE 3

!"#$%& ' (()

  • SystemDesign

* Specificationtoarchitecturetoimplementation * Behaviortostructure

/) !0 ) - 00 Specification +constraints

Memory Memory (Processor . Comp. IP Bus . . . CustomHW

Systemarchitecture +estimates

  • .-

# 1

ProcessorImplementation +results

2 %3+ #

  • Mem

RF State

Control

ALU

Datapath

PC

Control Pipeline

State

IFFSM

State

IFFSM IPNetlist

RAM IR

Memory

slide-4
SLIDE 4

!"#$%& ' (() &

SystemDesignNeeds

* Designmodels * 2 * !030 * Designlanguages * !4

, #5#6

* !75!%"%6

, 7 $7!%"% 8!$!9

Well2defined,rigoroussystem2levelsemantics $ $

, : ;

!4

,

Modelingflow "0

+4

slide-5
SLIDE 5

!"#$%& ' (() <

SystemDesignProcess

Computation Communication A B C D F

7

  • 7
  • 7
  • 7
  • 7
  • )!

1) )17 ")17 )7 +)2%3.!!.

E

7

  • !""#

* Abstractionbasedonlevelofdetail(structure/timing) * Systemdesignflow

  • 0+

Designmethodology ! 4

slide-6
SLIDE 6

' (() =

Top2DownDesignFlow

. ! Logicdesign Productplanning

!

  • Systemdesign

Processordesign

  • 2%3.!

>

slide-7
SLIDE 7

' (() ?

Top2DownDesignFlow

.

  • !

Logicdesign Productplanning

  • 2%3.!

>

  • Processordesign

Communicationdesign Computationdesign

!

slide-8
SLIDE 8

!"#$%& ' (()

  • Top2DownDesignFlow
  • 2%3.!

>

! ) .-

  • )

.-

  • )

.- . !4 . @4 2:! .- 2% .-

  • Product planning

Logicdesign

!

slide-9
SLIDE 9

!"#$%& ' (() A

DesignMethodology

Systemdesign Validationflow ! ) .-

  • )

.-

  • )

.-

  • !
  • !
  • !

. !4

  • .

@4 Backend

  • !

2:! .- 2% .-

slide-10
SLIDE 10

!"#$%& ' (() /(

SpecificationModel

* High2level,abstractmodel * - * 0 0 * B * Noimplicitstructure/architecture * 1000 * Untimed * C56 * * 0C

Specificationmodel

  • .
slide-11
SLIDE 11

!"#$%& ' (() //

SpecificationModelExample

B1

/

  • 1/

1 1

* Simple,typicalspecificationmodel * @07 * 00 $

slide-12
SLIDE 12

!"#$%& ' (() /

SpecificationLevelCommunication

* Message2passing * 0C * 0

1 1

  • 1

1

slide-13
SLIDE 13

!"#$%& ' (() /

CleanSpecificationModelExample

1 1

  • B1

/

1/

* Synthesizablespecificationmodel * @07 * 00 0

slide-14
SLIDE 14

!"#$%& ' (() /&

ComputationRefinement

* PEallocation/selection * Behaviorpartitioning * Variablepartitioning * Scheduling

! Computationrefinement

  • .
slide-15
SLIDE 15

!"#$%& ' (() /<

PEAllocation,BehaviorPartitioning

* - * - 0 * C

1 1

  • B1

/

1/

  • AdditionallevelofhierarchytomodelPEstructure

PE1 PE2

slide-16
SLIDE 16

!"#$%& ' (() /=

ModelafterBehaviorPartitioning

1 1 B1 1/

PE1

  • /

1/ 1& 1/ 1&

/ &

PE2

  • Synchronizationtopreserveexecutionorder/semantics
slide-17
SLIDE 17

!"#$%& ' (() /?

* #

VariablePartitioning

Sharedmemoryvs.messagepassingimplementation

1 1/ 1& 1 B1 1/ 1/ 1&

PE1

  • /

/ &

PE2

/ /

* 70

slide-18
SLIDE 18

!"#$%& ' (() /

ModelafterVariablePartitioning

1 1/ 1& 1 B1 1/ 1/ 1&

PE1

  • /

/ &

PE2

/

Keeplocalvariablecopiesinsync * 0C * D70

slide-19
SLIDE 19

!"#$%& ' (() /A

TimedComputation

* Executiontimeofbehaviors * 3 * Granularity * 1033 7 E Annotatebehaviors * ! E * !0

  • !"#

!"# !"# !"#

slide-20
SLIDE 20

!"#$%& ' (() (

Scheduling

* !0

, + 0 , + 000

Serializebehaviorexecutiononcomponents

1 B1 1/ 1/ 1&

PE1

* "0

, -E , !0$ :!

slide-21
SLIDE 21

!"#$%& ' (() /

ComputationModelExample

1 1/ 1& 1 B1 1/ 1/ 1&

PE1

  • /

/ &

PE2

/

slide-22
SLIDE 22

!"#$%& ' (()

  • ComputationModel

* Componentstructure/architecture * 000 * Behavioral/functionalcomponentview * 107 * !> 0 * Timed *

! Computationmodel

  • .
slide-23
SLIDE 23

!"#$%& ' (()

  • CommunicationRefinement

* Networkallocation/protocolselection * Channelpartitioning * Protocolstackinsertion * Inlining

!

  • .
  • Communicationrefinement
slide-24
SLIDE 24

!"#$%& ' (() &

NetworkAllocation/ChannelPartitioning

1 1& 1 B1 1/ 1/ 1&

PE1

  • /

/ &

PE2

/

1/

* * -0 *

  • Additionallevelofhierarchytomodelbusstructure

Bus1

slide-25
SLIDE 25

!"#$%& ' (() <

ModelafterChannelPartitioning

1 1& 1 B1 1/ 1/ 1&

PE1

/

PE2

/

1/

  • /

&

Bus1

slide-26
SLIDE 26

!"#$%& ' (() =

ProtocolInsertion

  • /

&

Bus1

  • %

Network Layers

Bus1

* Insertprotocollayer * 10 * Createnetworklayers * .7 * Replacebuschannel * @0 E

slide-27
SLIDE 27

!"#$%& ' (() ?

ModelafterProtocolInsertion

1 B1 1/ 1/ 1&

PE1

/

1 1&

PE2

/

1/

Bus1

IBusSlave IBusMaster

  • 8/<(9

8/(9

BusProtocol

Master Slave

.-! .-#

slide-28
SLIDE 28

!"#$%& ' (()

  • Inlining

Bus1

IBusSlave IBusMaster

  • 8/<(9

8/(9

BusProtocol

.-! .-#

PE1 PE2 PE2

PE2Bus

IBusSlave

PE2Protocol

.-!

PE1Bus

IBusMaster

PE1Protocol

.-#

PE1

  • 8/<(9

8/(9

*

  • * 2
slide-29
SLIDE 29

!"#$%& ' (() A

CommunicationModelExample

  • 8/<(9

8/(9

1 1&

/

1/ 1 B1 1/ 1/ 1&

PE1

/

PE2

slide-30
SLIDE 30

!"#$%& ' (() (

CommunicationModel

* Component&busstructure/architecture * 00 * Bus2functionalcomponentmodels * 7 * 10 * Timed *

!

  • Communicationmodel

.

slide-31
SLIDE 31

!"#$%& ' (() /

ProcessorRefinement

* Cycle2accurateimplementationofPEs * @4042% * !404.! * .042%3.!

!

  • .

Processorrefinement

slide-32
SLIDE 32

!"#$%& ' (()

  • HardwareSynthesis

* Scheduleoperationsintoclockcycles * "E 0 * +!#"0

1 1&

/

1/

PE2

PE2_CLK PE2_CLK PE2_CLK

E

slide-33
SLIDE 33

!"#$%& ' (()

  • SoftwareSynthesis

* Implementbehavioronprocessorinstruction2set * *

1 B1 1/ 1/ 1&

PE1

/

$% &'( ) *!+ " +,

  • .

/0*

  • ."!!

$%+ /'/ )

slide-34
SLIDE 34

!"#$%& ' (() &

InterfaceSynthesis

* Implementcommunicationoncomponents * @4 * !4

PE2Bus

IBusSlave

PE2Protocol

.-!

  • E

8/<(9 8/(9

PE1Bus

IBusMaster

PE1Protocol

.-#

  • E

8/<(9 8/(9 !( !/ ! ! !&

DRV

slide-35
SLIDE 35

!"#$%& ' (() <

ImplementationModel

Softwareprocessor Customhardware

  • E

8/<(9 8/(9

PE2

  • F%G
  • /F%G

:1H

  • :2
  • :21

.B

  • :2

PE1

. ! ! 5.!!6

!( !/ ! ! !&

slide-36
SLIDE 36

!"#$%& ' (() =

ImplementationModel

* Cycle2accuratesystemdescription * 2%04

, 103+!#"4

* : ;

, .77

* E

, 1 -E

!

  • Implementationmodel
slide-37
SLIDE 37

!"#$%& ' (() ?

Lecture4:Summary

* Designmethodology * +

, !$ , $ , $ 7 , .7$2%3.!

* 0

, , , - I @J3!J30

* J7$D

, $ , $ 07 , !