spring 2007w. rhett davisnc state universityece 747slide 1 ece 747 digital signal processing...

25
Spring 2007 W. Rhett Davis NC State University ECE 747 Slide 1 ECE 747 ECE 747 Digital Signal Processing Digital Signal Processing Architecture Architecture SoC Lecture – Working with SoC Lecture – Working with Buses & Interconnects Buses & Interconnects April 5, 2007 April 5, 2007 W. Rhett Davis W. Rhett Davis NC State University NC State University

Upload: godfrey-george

Post on 18-Jan-2018

215 views

Category:

Documents


0 download

DESCRIPTION

Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 3 Why do we care? l What is a Bus? l What is an Interconnect? l Why do we use them?

TRANSCRIPT

Page 1: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 1

ECE 747 ECE 747 Digital Signal Processing Digital Signal Processing

ArchitectureArchitecture

SoC Lecture – Working with SoC Lecture – Working with Buses & InterconnectsBuses & Interconnects

April 5, 2007April 5, 2007W. Rhett Davis W. Rhett Davis

NC State UniversityNC State University

Page 2: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 2

Today’s Lecture Introduction

AMBA Peripheral Bus (APB)

AMBA High-Performance Bus (AHB)

AMBA Extensible Interconnect (AXI)

Page 3: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 3

Why do we care? What is a Bus?

What is an Interconnect?

Why do we use them?

Page 4: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 4

Our Question Which bus or interconnect should we use?

The answer depends on the following:» What IP blocks do we have and what do they

work with?» How many ports do we need?» What kind of overhead can we permit?

– Throughput– Area– Power

Page 5: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 5

Bus & Interconnect Standards

AMBA from ARM Wishbone from OpenCores.org CoreConnect from IBM Sonics “Silicon Backplane”

We’ll focus on AMBA in this class, because it’s the one our simulator models.

Page 6: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 6

AMBA Introduction Advanced Microcontroller Bus Architecture (AMBA),

created by ARM as an interface for their microprocessors.

Easy to obtain documentation (free download) and can be used without royalties.

Very common in commercial SoC’s (e.g. Qualcomm Multimedia Cellphone SoC)

AMBA 2.0 released in 1999, includes APB and AHB

AMBA 3.0 released in 2003, includes AXI

Page 7: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 7

AMBA 2.0 System-Level View

Source: AMBA Specification, Rev. 2.0

Page 8: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 8

Today’s Lecture Introduction

AMBA Peripheral Bus (APB)

AMBA High-Performance Bus (AHB)

AMBA Extensible Interconnect (AXI)

Page 9: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 9

APB Introduction Low overhead – only 4 control signals Only one master is allowed Three states: IDLE, SETUP, and ENABLE Slave is non-responsive: Transfer always

takes 2 cycles» Makes timing easy to design: data is always

latched between the two cycles

Page 10: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 10

APB Read Transaction Transaction takes 2 cycles: SETUP &

ENABLE

Page 11: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 11

APB Write Transaction

Page 12: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 12

APB Performance If AHB is “high performance” than APB must be

“low performance”. What does that mean?

If we were to connect an SDRAM as an APB slave from the previous lecture, what would our minimum bus clock period be?

Page 13: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 13

Today’s Lecture Introduction

AMBA Peripheral Bus (APB)

AMBA High-Performance Bus (AHB)

AMBA Extensible Interconnect (AXI)

Page 14: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 14

AHB Introduction Larger overhead – ~27 control signals Up to 15 masters allowed Split Transaction phases: Address, Data

(Pipelined) HREADY signal allows insertion of wait-

states

Page 15: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 15

AHB Architecture Central MUX is

used, rather than a bus

Achieves smaller delays than a single wire w/ tri-state buffers

Source: AMBA Specification, Rev. 2.0

Page 16: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 16

AHB Split-Transaction Bus Address

preceeds data by one cycle

Mimics SDRAM operation, achieves greater data bandwidth

Source: AMBA Specification, Rev. 2.0

Page 17: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 17

Multiple Transactions w/ AHB

Addresses are pipelined to improve memory efficiency

HREADY from slave allows insertion of wait states

Source: AMBA

Specification, Rev. 2.0

Page 18: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 18

AHB Burst Operation Bursts with lengths up to 32 are allowed

What would happen if an incrementing burst read to a DRAM row boundary?

Page 19: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 19

AHB Access Grant Mechanism

Bus arbitration takes extra cycles

Source: AMBA Specification, Rev. 2.0

Page 20: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 20

Today’s Lecture Introduction

AMBA Peripheral Bus (APB)

AMBA High-Performance Bus (AHB)

AMBA Extensible Interconnect (AXI)

Page 21: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 21

AXI Introduction Larger overhead – ~77 control signals Up to 16 masters allowed 5 separate channels for address, data,

and responses Not so much of an interconnect

specification as a protocol (interconnect architecture is left unspecified)

Page 22: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 22

Multi-Channel Support Address, Data, and

Response split between channels, rather than phases

Allows simultaneous reads and writes

Source: AMBA AXI Protocol Specification

Page 23: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 23

AXI Read Transactions

Up to 16 transactions can be queued at once

Page 24: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 24

Multi-Layer Connectivity

PL300 Interconnect is implemented as a crossbar:

Multiple masters can talk to multiple slaves simultaneously

Source: PL300Technical Reference

Manual

Page 25: Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture  Working with Buses  Interconnects

Spring 2007W. Rhett Davis NC State University ECE 747 Slide 25

Comparison of AMBA Bus Types

APB AHB AXI / PL300Processors all ARM7,9,10 ARM11Control Signals 4 27 77No. of Masters 1 1-15 1-16No. of Slaves 1-15 1-15 1-16InterconnectType

Central MUX?

Central MUX

Crossbar w/ 5 channels

Phases Setup,Enable

Bus request, Address, Data

Address, Data, Response

Xact. Depth 1 2 16Burst Lengths 1 1-32 1-16Simultaneous Read & Write

no no yes