platform-based soc design - ubccourses.ece.ubc.ca/579/579.lect9.platforms.pdf• a platform reuses a...

31
Lecture 9 RAS 1 Platform-based SoC Design Res Saleh University of British Columbia Dept. of ECE [email protected]

Upload: doantram

Post on 23-May-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Lecture 9RAS 1

Platform-based SoC Design

Res Saleh

University of British Columbia

Dept. of [email protected]

Lecture 9RAS 2

Evolution from ASICs to Platform-Based Design

• For SoC’s, Platform-Based Design is the next logical evolution in Design Reuse.

• In TDD, Reuse in ASIC design is of Cell-level Libraries

• In BBD, Reuse in hierarchical design is of major IP Blocks (e.g., digital blocks built out of standard cells)

• In PBD, Reuse is of Collections of IP blocks organized into HW-SW arachitectures: also known as Integration Platforms

Lecture 9RAS 3

Why Platforms?

• Any given space has a limited number of good solutions to its basic problems

• A platform captures the good solutions to the important design challenges in that application space

• A platform reuses a set of Hardware/Software architectures

In general, a platform is an abstraction that covers a number of possible refinements into a lower level.

For every platform, there is a view that is used to map the upper layers of abstraction into the platform and a view that is used to define the class of lower level abstractions implied by the platform.

Lecture 9RAS 4

SoC Platform Design Components

SoC Verification FlowRapid Prototype forEnd-Customer Evaluation

SoC Derivative DesignMethodologies

System-level performanceevaluation environmentHW/SW Co-synthesisSoC IC Design Flows

ApplicationSpace

Methodology / Flows:

Foundation Block

MEM

FPGACPU Processor(s), RTOS(es)

and SW architecture

*IP can be hardware (digitalor analog) or software.IP can be hard, soft or

‘firm’ (HW), source orobject (SW)

Scaleablebus, test, power, IO,clock, timing architectures

+ Reference Design

Foundry-SpecificPre-Qualification

Foundry Targeting Flow

Programmable IP

SW IP

Hardware IP

Pre-Qualified/VerifiedFoundation-IP*

Lecture 9RAS 5

Bluetooth Platform

ARM 7TDM I

DAP I/F

RADIOI/F

SPEEC HI/F

SHAREDM EM O RY

CO NTRO LLER

LM C

B RIDG E

POW ER &CLO CK

CO NTR O LDM A

SM C

PLLCLO CKS

SHAREDM EM O RY

TIC

DEC O DER

ARBITER

AHB APB

ADC

text ACI USBUARTUARTTIM ERSPICG PIOW ATCHDO G

Soft IPHard IP

Soft IP

Hard IPHard IP

Hard IP

On-chip BusBBC

Lecture 9RAS 6

Buses for SoC Platforms

Have to standardize buses to allow relatively quick connections of IP blocks in an SoC.

Some common buses are:• AMBA (ARM)

• CoreConnect (IBM)

• OCP-IP (VSIA Standard)

• SoC-it (MIPS)

Lecture 9RAS 7

On-chip Buses

• Embedded processors cores need to communicate with memory and I/O devices

• Want to be able to add various IP blocks seamlessly

• Communication is typically done using on-chip buses– Shared communication link between IP blocks

• Two main types of buses

– Relatively short CPU-memory bus for high-speed access

– Relatively long I/O bus for various I/O devices in the system operating at different speeds, typically slower than CPU-memory operations

– Could combine buses to reduce overhead, but speed differences usually require separate buses with a connecting bridge

Lecture 9RAS 8

AMBA Bus Architecture

Lecture 9RAS 9

How AMBA AHB Works

This diagram illustrates the structure required to implement an AMBA AHB design with three masters and four slaves.

Decides who gets priority

With multiple Masters

Enables a specific

Path from Slave to Master

Lecture 9RAS 10

Set Top Box Platform Requirements

• Cable Modem compliant• Digital Video Broadcast compliant• MPEG-2 Video and AC-3 Audio Decoding• NTSC/PAL/SECAM TV Encoder• RAM and Hard Disk Interfaces• Graphics Accelerator for gaming, internet content, etc.• High Speed Interfaces: USB 2.0 and 10/100 Ethernet• UART, IR, V.90 Modem, SmartCard and GPIO

• Need suitable embedded microprocessor to support a variety of applications such as gaming and web browsing

Lecture 9RAS 11

MIPS in Set-Top Box Designs

Processor Usage for Set-Top Box Designs

MIPS27%

Sti15%microSPARC

12%PowerPC

9%

SH8%

x865%

ARM4%

other20%

Lecture 9RAS 12

Set Top Box Platform

MIPS

Core

Lecture 9RAS 13

1st Key Trend

• 100M logic gates in 90nm = Logic of 1000 ARM7’s

• Number embedded processors in SoC rising:– ST: recordable DVD 5

– Hughes: set-top box 7

– Agere: Wireless base station 8

– ST: HDTV platform 8

– Latest mobile handsets 10– NEC: Image processor 128

– In-house NPU >150

• New area of Research on MP-SoC (multiprocessor SoC)

– architecture, interconnection, software programming, power

Lecture 9RAS 14

STm8000 Multiprocessor for Multimedia Applications

H/W InterconnectProcessor

STm8000

MPEG2video

decoder

DRAM

Displaysubsystem

STbus

DVdecoder

2D graphics (blitter)

Video pre-processor

DMA engine

ProcessorST220 (audio)

Processor ST220 (audio)

Processor SH4

(host)

I/O:uarts, I2C, PWM,

capture timers, MAFE,PIO, etc…

EMILMIVideo Input

InterfaceUSB HDDI

Encode accelerator

Processor ST220 (video)

Flash �4 Processors

Lecture 9RAS 15

2nd Key Trend:

• Embedded SW content in SoC is increasing significantly • eSW: Current application complexity

– Set-top box: >1 million lines of code– Digital audio processing: >1 million lines of code– Recordable DVD: Over 100 person-years effort– Hard-disk drive: Over 100 person-years effort

• In multimedia systems– SW cost (licenses) 6X larger than H/W chip cost– eSW uses 50% to 80% of design resources

eSW now an essential part of SoC productsHW/SW co-design, co-verification issues are importantsoftware programmers must program in parallel, use parallel compilers, debuggers, etc.

Lecture 9RAS 16

Conf. Proc.

MP-SoC Platform Example

NetworkNetwork--onon--ChipChip HS I/O

Specializedco-processors

ExternalRAM

DataPlane

DataPlane

PCI-X

Host Processor

HS I/O

FPGACo-proc.

I/OMemI/O

FPGAFPGA FPGAH/W PEeFPGA

H/W PEeSoG

. . .eFPGAeFPGA

Conf. Proc. eMem

eFPGA

Proc. ElementProc. ElementArray 1Array 1

eMemcoproc

eFPGA eFPGA

H/W

Soft logic

Mem

Processor

eDRAMeSRAM

Proc. ElementProc. ElementArray NArray N

Lecture 9RAS 17

Network-on-Chip Topologies

Lecture 9RAS 18

Trend of Verification Effort in the Design

• Verification portion of design increases to anywhere from 50 to 80% of total development effort for the design.

Code Verify (30 ~ 40%)Synthesis P&R

Code Verify (50 ~ 80%) Synthesis P&R

1996

300K gates

2000

1M SoC

Verification methodology manual, 2000-

TransEDA

Lecture 9RAS 19

Percentage of Total Flaws

• About 50% of flaws are functional flaws.

– Need verification method to fix logical & functional flaws

����������������� ������� ��������

Clocking

5%

Race

5%

Power

4%

Other

9%

Logical/

Functional

45%

Slow Path

13%

Noise

12%

Yield

7%

Race 5%

Lecture 9RAS 20

Bug Fixing Cost in Time

• Cost of fixing a bug/problem increases as design progresses.

– Need verification method at early design stage

Behavioral

Design

RTL

Design

Gate Level

Design

Device

Production

Cost ofFixing

a Problem

110

100

1000

Lecture 9RAS 21

Verify Early and Often

• Use code coverage tools– Aim for 100% statement and path coverage

• Bottom-up verification (divide & conquer)– Rigorous testing of sub-blocks before they are integrated– Return to sub-blocks tests if necessary to achieve 100%

coverage• Use industry standard tools and methodology

– Provides interoperability between testbenches for all IP – Random test generation and functional coverage

• Set of verification tests– Compliance testing to verify basic functions comply to specs– Focused testing to verify full functionality– Corner/Adversarial testing to try to break the design– Random testing to complete coverage

Lecture 9RAS 22

Overview of Verification Methodologies

Simulation

HardwareAcceleratedSimulation

Emulation

FormalVerification

Semi-formalVerification

���������

����� �

���� �����

���� ���

���������

����� �

���� �����

���� ���

���������

����� �

���� �����

���� ���

���������

����� �

���� �����

���� ���

������������������������ �������

���������������������

Transaction-based

Lecture 9RAS 23

Speed Comparison

0 kHz

SoftwareSimulation

10 kHz

1MHz

Hardware-AcceleratedSimulation(1/2 blocks)

Hardware emulation

(entiresystem)

100kHz

500KHz

100Hz

100 kHz

Speed (Cycles/sec, log scale)

10MHz 1~10MHz

PrototypingSemi-formal(Assertion-

based verification)

50-70Hz

Lecture 9RAS 24

Design Complexity

Depends on the components on the board

1M~5M gatesPrototyping

Limited to about 500 flip-flops due to state explosion

< 10K gatesFormal verification

Depends on the number of FPGA’s in the architecture

1M~16M gatesEmulation/Hardware-accelerated simulation

CPU time is the issueVirtually unlimitedSimulation/Semi-formal verification

CommentsGate count

Lecture 9RAS 25

HW-SW Co-Verification

– HW-SW co-simulation

– ISS

– RTOS simulator

HW/SWPartitioning

HWDevelopment

SWDevelopment

HW refinement

SoftwareVerification

FunctionalVerification

Co-Verification

SW refinement(RTOS

mapping)

HW-SW

– High-level synthesis– Testbench automation– IP accelerator

SystemSpec.

SystemDesign

HW/SW

HW IP

SW IP

Lecture 9RAS 26

Language Evolution for SoC Design

• New languages are developed to fill the productivity gap.

Verilog

VHDL

C

C++

JAVA

AssemblySystemC

SystemVerilogVera

TestBuilder

����������������������������������������

��� ���������������� ���������������� ���������������� �������������

����������������������������������������

��� ���������� ���������� ���������� �������

����������������������������������������

��� ��������������� ��������������� ��������������� ������������

Schematic

���� ������� ���������

Lecture 9RAS 27

SystemC

• SystemC is a modeling platform consisting of

– A set of C++ class library,

– Including a simulation kernel that supports hardware modeling concepts at the system level, behavioral level and register transfer level.

• SystemC enables us to effectively create – A cycle-accurate model of

• Software algorithm,

• Hardware architecture, and

• Interfaces of System-on-a-Chip.

• Program in SystemC can be – An executable specification of the system.

Lecture 9RAS 28

while(true) {

inst = fetch( pc );

opcode=decode(inst);

switch( opcode ){

case ADD:

break;

}

}

Instruction Set Simulator (ISS)

• An ISS simulates the instructions with/without timing considerations

• Some vendors provide an ISS for the processor core

• Code simply grabs the opcode and executes an associated set of statements in C

• Connection to hardware is carried out through BFMs

Main loop of interpretive ISS

Lecture 9RAS 29

Bus Functional Models (BFM)

• When designing an SoC, you may not have all the blocks ready at the same time, for example, custom blocks.

• However, verification must proceed. We can’t delay the schedule just because one or two pieces are missing.

• Use Bus Functional Model (BFM) in place of actual IP• A BFM, usually coded in C and linked into the RTL through a

PLI, is a behavioral model of the missing block. When its inputsare stimulated, it produces the same response as the real block.

• Serves as a placeholder until the real block is ready. Sometimes encrypted BFMs are delivered by IP vendors rather than RTL or layout views to protect their designs.

Lecture 9RAS 30

Core model

ISS

Cycle-Accurate Bus Modeling

• For more accurate modeling

– Build a cycle-accurate system model in C or SystemC

– Replace blocks with a cycle-accurate BFMs

Memory

IP

IP

Cycle-accurate Bus model

AccuratePerformanceEstimation

...

...

Behaviormodel

------

------

------

transaction

BFM BFM BFM

RTLmodel

Lecture 9RAS 31

Summary of SoC/DSM Design Course

ST20ST20

MPEG2 MPEG2 VideoVideo

Dolby Dolby AC3AC3

FEIFEI

LinkLink

2 x 3 DAC2 x 3 DAC

Denc

Denc

Time-to-market:Rapidly changing

Consumer markets.

Expanding markets in wireless, automotive,

multilmedia, networks

Deep submicron effects:Power, Wire delays, Crosstalk

Electromigration, IR drop, AntennaSubthreshold and gate leakageMask complexity (OPC, PSM)

PVT variations

Complex systems:Digital/Analog IPs

MP-SoC

Network-on-Chip

Multithreaded SW

HW/SW Co-designand Co-verificationSystem Validation