15
March, 2007 Intro-1 http:// csg.csail.mit.edu/arvind Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab Massachusetts Institute of Technology System-on-a-chip

March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

Embed Size (px)

Citation preview

Page 1: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-1http://csg.csail.mit.edu/arvind

Design methods to facilitate rapid growth of SoCs

Arvind Computer Science & Artificial Intelligence LabMassachusetts Institute of Technology

System-on-a-chip

Page 2: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-2http://csg.csail.mit.edu/

arvind/

The biggest SoC drivers

Explosive growth in markets for cell phones game boxes sensors and actuators

Functionality and applications are constrained primarily by: - cost - power/energy constrains

Page 3: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-3http://csg.csail.mit.edu/

arvind/

Current Cellphone Architecture

Comms. Processin

gApplication Processing

WLAN RFWLAN RF WLAN RFWCDMA/GSM RF

Comple

x, Hig

h

Perform

ance

but must

not d

issip

ate

more

than 3

watts

Today’s chip becomes a block in tomorrow’s chip

IP reuse is essential

Hardware/software migration

IP = Intellectual Property

Page 4: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-4http://csg.csail.mit.edu/

arvind/

An under appreciated factIf a functionality (e.g. H.264) is moved from a programmable device to a specialized hardware block, the power/energy savings are 100 to 1000 fold

but our mind set Software is forgiving Hardware design is difficult, inflexible,

brittle, error prone, ...

Power savings more specialized hardware

Page 5: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-5http://csg.csail.mit.edu/

arvind/

SoC Trajectory:multicores, heterogeneous, regular, ...

On-chip memory banks

Structured on-chip networks

General-purpose

processors

Can we rapidly produce high-quality chips and surrounding systems and software?

Application-specific

processing units

IBM Cell Processor

Page 6: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-6http://csg.csail.mit.edu/

arvind/

Things to rememberDesign costs (hardware & software) dominate Within these costs verification and validation costs dominateIP reuse is essential to prevent design-team sizes from exploding

design cost = number of engineers x time to design

Page 7: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-7http://csg.csail.mit.edu/

arvind/

Common quotes

“Design is not a problem; design is easy”

Almost complete reliance on post-design verification for qualityMind se

t

“Verification is a problem”“Timing closure is a problem”“Physical design is a problem”

Page 8: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-8http://csg.csail.mit.edu/

arvind/

The U.S. auto industry Sought quality solely through post-build inspection Planned for defects and rework

and U.S. quality was…

Through the early 1980s:

Defect

Make Inspect Rework

Def

ect

Defe

ct

Page 9: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-9http://csg.csail.mit.edu/

arvind/

… less than world class

Adding quality inspectors (“verification engineers”) and giving them better tools, was not the solutionThe Japanese auto industry showed the way

“Zero defect” manufacturing

Page 10: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-10http://csg.csail.mit.edu/

arvind/

New mind set:

Design affects everything!A good design methodology Can keep up with changing specs Permits architectural exploration Facilitates verification and debugging Eases changes for timing closure Eases changes for physical design Promotes reuse

Design for Correctness

It is essential to

Page 11: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-11http://csg.csail.mit.edu/

arvind/

New ways of expressing behavior to reduce design complexity

Decentralize complexity: Rule-based specifications (Guarded Atomic Actions) Lets you think one rule at a time

Formalize composition: Modules with guarded interfaces Automatically manage and ensure the

correctness of connectivity, i.e., correct-by-construction methodology

Bluespec Smaller, simpler, clearer, more correct code for both simulation AND synthesis

Strong flavor of Unity

Page 12: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-12http://csg.csail.mit.edu/

arvind/

data_in

push_req_n

pop_req_n

clk

rstn

data_out

full

empty

Reusing IP Blocks

Example: Commercially available FIFO IP block

These constraints are spread over many pages of the documentation...

No machine verification of such

informal constraints is feasible

Page 13: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-13http://csg.csail.mit.edu/

arvind/

Bluespec promotes compositionthrough guarded interfaces

not full

not empty

not empty

n

n

rdy

enab

rdy

enab

rdy

en

qd

eq

first

FIFO

theModuleA

theModuleB

theFifo.enq(value1);

theFifo.deq();value2 = theFifo.first();

theFifo.enq(value3);

theFifo.deq();value4 = theFifo.first();

theFifo

Enqueue arbitration

control

Dequeue arbitration

control

Self-documenting interfaces; Automatic generation of logic to eliminate conflicts in use.

Page 14: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-14http://csg.csail.mit.edu/

arvind/

Bluespec: State and Rules organized into modules

All state (e.g., Registers, FIFOs, RAMs, ...) is explicit.Behavior is expressed in terms of atomic actions on the state:

Rule: guard action Rules can manipulate state in other modules only via their interfaces.

interface

module

Page 15: March, 2007Intro-1 Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab

March, 2007 Intro-15http://csg.csail.mit.edu/

arvind/

The Plan

BS2- Simple Example: GCDBS3- Combinational Circuits: IFFTBS4- Architectural Exploration: 802.11aBS5- The IP Lookup problem; subtle concurrency issuesBS6- Bluespec Semantics and Scheduling PrimitivesBluespec is available in two versions:

BSV – Bluespec in System VerilogESEPro – Bluespec in SystemC

These lectures will use BSV syntax