28
Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics Engineering National Chiao Tung University, Taiwan

Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Embed Size (px)

Citation preview

Page 1: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Heterogeneous Computing Platform with Configurable Coprocessing Datapaths

Tay-Jyi Lin and Chein-Wei Jen

VLSI Signal Processing Group

Department of Electronics Engineering

National Chiao Tung University, Taiwan

Page 2: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Outline

Introduction Coprocessing Datapaths CASCADE Design Environment Design Examples Conclusion

Page 3: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

System on Chip (SoC)

O p tic alMo d ule s

ME MS

Me m o ry

D ig ital P e rip he ralsInte rface s

C o m p uting P latfo rm

R F A nalo g / M ixe d S ig nal

Page 4: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Revenue Model of Embedded Systems

Reduce time-to-market (TTM) Short development & verification time Low risk Low cost

Increase time-in-market (TIM) Flexibility to derive new versions & Comply with new standards

Solution: Programmable embedded processors with configurable computing platforms

Two implementation styles exist to conquer the exponentially growing complexity in the wireless & multimedia systems High-performance embedded processors Heterogeneous computing platform

NRE

NR E

Tim e

Re

venu

eC

ost

Unit co s t

P ro fi t

Time to Market (TTM)

NR E

Tim e

Re

venu

eC

ost

Unit co s t

P ro fi t

TTM

E xtens io n o fTime in Market (TIM)

Unit co s t

(a ) ha rd w ired A S IC

(b ) em b e dd e d p ro ce sso r (reco nfig urab le p la tfo rm )

Page 5: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Heterogeneous Computing Platform

Control-dominated subsystem controls & coordinates

system tasks reactive tasks

(e.g. user interface) Data-dominated subsystem

regular & predictable transformational tasks

well-defined DSP kernels with high parallelism

MCU-relatedCoprocesors

foreground memory(Cache)

6502

8051

MIPS

ARM

Microcontroller Subsystem

communication &background memory

Motorola

Oak

ADI

TI

programmemory

datamemory

DSP Processors

foregroundmemory

(SIU)

ParallelFunctional

Units

Configurable DSP Datapath

ASIC 4

ASIC 3

ASIC 2

ASIC 1

interfaceunit

Dedicated Hardware

Control-orientedComputation-intensive

function computation, signal processing

MMX-likeDatapath

Different computing models tradeoff among performance, flexibility, design availability, and power consumption

Page 6: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

What is ‘Configurable’?

Features of the baseline architectures are modifiable by the developers or users Cache configurations Bus widths Interrupts, etc

Some terms: Modifiable at the design time – configurable Modifiable after shipment – reconfigurable Modifiable at run time – dynamically reconfigurable New features can be added – extensible Customizable is referred to as either “configurable” or “extensible”

Page 7: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Outline

Introduction Coprocessing Datapaths CASCADE Design Environment Design Examples Conclusion

Page 8: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Coprocessing Datapaths

As the complexity of embedded computing grows rapidly, it is common to accelerate critical tasks with hardware that operates under software control.

Designers usually use off-the-shelf components or licensed IP cores to shorten the time to market.

Problems Hardware/software interfacing is tedious, error-prone and usually

not portable » automatic generation Existing hardware seldom matches the requirements perfectly »

performance scalable

Page 9: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Simplified Dual-Processor Model

Master-slave coprocessing Task partitioning

HW/SW Granularity

Interfacing Data transfer Synchronization

Interrupt Semaphore

P ro ce ssoro r D S P

fo re g roundm e m o ry(C a che)

P a ra lle lF unc tio na l Units

fo re g roundm e m o ry

Controlle r(c ontrol flow)

Da ta -drive n Acce le ra tor(data flow)

C ommunication

B ackg round M e m o ry

contro l,co o rd ina ting &inte rac tive ta sks

re gula r,m o re p re d ic ta b le &hig hly p a ra lle l ta sks

Page 10: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Proposed Computing Model

The controller coordinates the system

tasks and all interfaces, and data-driven

datapaths work as slave accelerators

attached to the controller Task interpreter translates the original

control-flow semantics of the dispatched

task into dataflow and drives the attached

accelerator Stream interface unit (SIU) is an application-specific foreground memory with

configurable routing that interacts with the task interpreter Data movement is completely under the uC control so no explicit data

coherence maintenance is required The computation time of the dispatched task is known a priori – can be easily

scheduled

M icro -C o ntro lle r

Ta sk Inte rp re te r

C onfig ura b le S IU(S tre am Inte rfac ing Unit)

F unc tio na l Units

Page 11: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Scalable Performance via Configurable Architectures

The number of coprocessing datapathsand the parallel functional units insidethese datapaths are scalable to meet theperformance requirements.

The coprocessing datapaths areconfigurable for various DSP applicationsbased on the executing algorithms inC/C++ through our generator.

Performance boost is achieved by control overheads elimination (program flow) reduced load / store operations with specific SIU data generator (data

generation) parallel processing via SIMD-like functional units

C o ntro lle r

S IU F U 's

S IU F U 's

Page 12: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Stream Interface Unit (SIU)

Ho s t

F U

M e m o ry

Inp ut C o nne c tio n

O utp ut C o nne c tio n

A d d re ssG ene ra to r

S to rag e B lo ck

F U

F U

A d d ers ,M A C s,C o m p lex M ultip lie rs

o r

re g is te r q ueue

S IU

Page 13: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Outline

Introduction Coprocessing Datapaths CASCADE Design Environment Design Examples Conclusion

Page 14: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

CASCADE – Configurable and Scalable DSP Environment

CASCADE generates coprocessing datapaths from the executing algorithms specified in C/C++ and attaches these datapaths to the embedded processor with the auto-generated software driver (interface)

The number of datapaths and their internal parallel functional units are scaled to fit the application

It seamlessly integrates the design tools of the embedded processor to reduce the re-training and design efforts and maintain short development time as pure software approaches

Page 15: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Design Flow

C /C ++H ost P ro g ram s

P rio r C o m p ila tio n &P e rfo rm ance E va lua tio n

P a ra lle lism A na lys is &Ta sk D ispa tch

C o de Re p la ce m e nt(S o ftw are D rive r)

F unc tio na l U nit D e te rm ina tio n

O p era tio n A llo ca tion/S ched uling

O p tim a l B ind ing

D a ta flow C o ntro l O p tim iza tio n

Synthesiz able Verilog

C o m p ila tio n

Executable

M ic ro -C o ntro lle r

D a ta -drive n A c c e le ra to rs

C o-S im ula tio n & P e rfo rm ance E va lua tio n

void dispatch_fun(fix *Din, int size, fix *Dout){ int index1=0, index2=0; fix din, dout; bool valid_in, valid_out;  Codes for Exception Handling  while(index2 <= size) { valid_in = (index1 < size); din = Din[index1++]; IO_Operation (din, valid_in, &dout, &valid_out); Dout[index2] = dout; index2 = index2 + valid_out;} }

• The data-driven accelerators are synchronized with the host instructions.

• The interfacing software could be scheduled (by compiler, RTOS or manually) easily

• The design is automatic

Page 16: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Coprocessing Datapath Generation (1/3)

Functional unit determination MAC (complex) multipliers with adders Adders with shifters, etc

For simplicity, the coprocessing datapaths have identical word-length as the host.

Operation scheduling and allocation Estimate the maximum allowable cycles with an acceptable latency

depending on the speedup factor by Amdahl’s law Perform time-constrained scheduling and allocation (force-directed

scheduling, c.f. list-scheduling with branch & bound searching algorithm in T.S. Yang’s thesis)

Page 17: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Coprocessing Datapath Generation (2/3) Optimal binding

Calculate the required queuing cycles for each variable

Optimal retiming

0M4~A3

0M3~A4

0M2~A1

0M1~A2

13A4~A2

8A4~M2

18A3~A4

13A3~M4

0A3~M3

0A1~M1

0A1~A3

DF

4D

4D

IN

OUT1

2

3

4

1

2

3

4

uvPewNVUD Ue

F

Minimize Uq

Subject to (1) feasibility constraints

N

VUDVrUr

eF

(2) maximum queue for each variable UqVUD e

F , where

.uvPUrVrewN

uvPewN

VUD

U

Ur

eF

Page 18: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Coprocessing Datapath Generation (3/3)

Dataflow control optimization

A1 A2 A3 A4 M1 M2 M3 M4

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

0

0

1

0

0+2=2

0+2=2

1+2=3

0+2=2

2+2=4

2+2=4

3+2=5

2+2=4

4+2=6

4+2=6

5+2=7

4+2=6

6+1=7

6+1=7

7+1=8

6+1=7

7+1=8

7+1=8Register Queue

MUX-based Interconnection

Register Queue

MUX-

I/O Portsbased

Delay Chain

MUX-based Interconnection

I/O Port

Dataflow Mechanism

Page 19: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Design Validation

Design in software algorithm verification & code debugging for a new product

Verification - equivalence checking (EC) co-simulation

equivalence is only guaranteedto some extent that the testsuite exercises the design

FPGA emulation is required toaccelerate the simulation

formal verification complete EC formal EC between the specification in C/C++ and the auto-

generated coprocessing datapath wrapped in the software interface

?

GoldenModel

D esign underVerification (DU V)

inputpatte rns

output

Page 20: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Formal Equivalence Checker

Combinational EC algorithms can solve more complex and even unsolved (with distinct I/O sequencing or timing, such as the folded architectures) sequential EC problems by the unfolding transform with proper retiming to completely remove the pipeline registers and robust register mapping for loop synchronization delay elements.

Our proposed unified algorithm constructs the canonical representation (e.g. ROBDD) direct from the folded architecture with implicit unfolding and retiming.

The complex ROBDD construction is only required for the combinational part of the folded architecture, which is much smaller than the flattened unfolded representation. So, the proposed algorithm is computation-effective.

Identity testing on partial-built ROBDD is possible with our proposed iterative ROBDD construction scheme. Thus, the proposed algorithm is memory-effective.

Page 21: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Comparison – Design Specification

Modeling Validation Domain

Ptolemy (Berkeley)SDF, DE, etc (heterogeneous)

Simulation Dataflow

CASTLE (GMD)C++, VHDL, or Verilog (heterogeneous)

Simulation

CoWare (IMEC)C, VHDL, or DFL (heterogeneous)

Simulation

Vulcan (Stanford) HardwareC Simulation

Cosyma (Braunschweig) Extended C Simulation

Chinook (Washington) Verilog Simulation Control-flow

COSMOS (TIMA) SDL Simulation Communication

POLIS (Berkeley) Esterel Formal Verification

Tosca (Cefriel) C, VHDL, or Occam Simulation Control-flow

SpecSyn (Victoria)SpecCharts

(extended VHDL)Simulation

CASCADE C Both Dataflow

Page 22: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Comparison - Implementation

Target Architecture(# of Processors, # of Coprocessors)

Partitioning Interface

Ptolemy 1,0

CASTLE 1,0

CoWare n,n Manual Automatic

Vulcan 1,n (concurrent) Automatic N.A.

Cosyma 1,1(exclusive) Automatic None

Chinook n,n Manual Automatic

COSMOS n,n Manual N.A.

POLIS n,n Manual Automatic

Tosca 1,n Automatic Automatic

SpecSyn n,n Automatic Automatic

CASCADE 1,n (exclusive) Manual Automatic

Page 23: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Outline

Introduction Coprocessing Datapaths CASCADE Design Environment Design Examples Conclusion

Page 24: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Motion JPEG Encoder

D C T Q uantize r

D P C M

Q -Tab le

H uffm a nC o d er

H-Tab le

ZigzagS ca n

B a se line JP E G C o d er

Ra te C ontro l

S ub sa m p le r

L e ve lS hifte r

C o lo rC o nve rs io n

Inpu

t Buf

fer

Out

put B

uffe

r

M otion JPEG Encoder

C ontroller

Vid

eo

Str

ea

m

Co

mp

res

sed

Str

ea

m

Page 25: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Performance

DCT Kernel 320*240 Frame

Software alone 5,595 Cycles 111.9 us 152.928 ms

with Accelerators 246 Cycles 4.92 us 24.552 ms

The host micro-controller is 50-MHz ARM7TDMI.

The data-driven accelerator is composed of 4 MACs.

8-by-8 DCT, quantization specified in JPEG standard, run-length coding, andHuffman coding are performed on the 320*240 frame.

An ideal memory subsystem (no memory stall) is assumed for simplicity.

Page 26: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Outline

Introduction Coprocessing Datapaths CASCADE Design Environment Design Examples Conclusion

Page 27: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Conclusion

We proposed a heterogeneous computing platform for data-intensive applications, where the coprocessing datapaths are performance scalable, and configurable for various DSP applications

Automatic generation of the customized accelerators with simple software-controlled interfacing dramatically reduces the development time.

The coprocessing datapaths are driven by host instructions in the software driver, which is also auto-generated to simplify the synchronization.

The data-driven accelerators boost the performance of low-cost micro-controllers or simple DSP processors to lengthen the product life span.

Page 28: Heterogeneous Computing Platform with Configurable Coprocessing Datapaths Tay-Jyi Lin and Chein-Wei Jen VLSI Signal Processing Group Department of Electronics

Ongoing Research

Application Development & Targeting OFDM-based wireless communication systems for multimedia transmission Task partitioning & coordination with efficient data exchange & synchronization

mechanisms API-based architecture exploration

Architecture Design of DSP Processors for Wireless Communications Variable-length VLIW with SIMD capability 2-tier instruction processing with separate data and control manipulation Efficient inter-FU communication mechanism Reconfigurable datapath that improves power-awareness

Design & Generation of Scalable & Configurable DSP Datapath Scalable Performance

SIU-based architectures with variable number of parallel functional units Digit-serial architectures with variable digit sizes

Configurable Functionality Reconfigurable dataflow Optimal metamer exploration

Specific DSP Accelerators DWT architectures with high hardware utilization Automatic generation of area-effective FIR filters