system busses / networks-on-chipcourses.ece.ubc.ca/579/system_bus_noc.pdfsystem busses /...

102
1 System Busses / Networks-on-Chip EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton

Upload: phamkhanh

Post on 26-Mar-2018

234 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

1

System Busses / Networks-on-Chip

EECE 579 - Advanced Topics in VLSI DesignSpring 2009Brad Quinton

Page 2: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

2

Outline1. Simple systems busses

• Overview• AMBA APB• Advantages/Limitations

2. Complex systems busses• Overview• AMBA AHB• Advantages/Limitations

3. Networks-on-Chip (NoC)• Overview• AMBA AXI• Research Topics: Topology, Protocol, VLSI Implementation...• Review: “A Generic Architecture for On-Chip Packet-

Switched Interconnections”

Page 3: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

3

Bluetooth “Platform” SoC

ARM7TDMI

DAP I/F

RADIOI/F

SPEECHI/F

SHAREDMEMORY

CONTROLLER

LMC

BRIDGE

POWER &CLOCK

CONTROLDMA

SMC

PLLCLOCKS

SHAREDMEMORY

TIC

DECODER

ARBITER

AHB APB

ADC

text ACI USBUARTUARTTIMERSPICGPIOWATCHDOG

ProcessorMemoryController

Application Specific Logic

Low-speed I/O and Support Logic

System Bus /Hardware I/F

Page 4: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

4

Simple System Busses

Page 5: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

5

Simple System Busses

• The primary goal of a simple system bus is toallow software (running on a processor) tocommunicate with other hardware in the SoC

• There are many different implementation ... butthey are all very similar

Page 6: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

6

Embedded Processor I/O

• RISC-based embedded processorscommunicate with external hardware using twosimple instructions:

Page 7: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

7

Embedded Processor I/O

• RISC-based embedded processorscommunicate with external hardware using twosimple instructions:

– Load Operation: Copies a word of data from aspecific address to a local register

– Store Operation: Copies a word of data from alocal register to a specific address

Page 8: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

8

Embedded Processor I/O

• RISC-based embedded processorscommunicate with external hardware using twosimple instructions:

– Load Operation: Copies a word of data from aspecific address to a local register

– Store Operation: Copies a word of data from alocal register to a specific address

• The simple system bus is just a directextension of this model

Page 9: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

9

Embedded Processor I/O

Page 10: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

10

Embedded Processor I/O

Softwaresets up theregister withthe addressand data ...

Page 11: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

11

Embedded Processor I/O

Softwaresets up theregister withthe addressand data ...

Blocksdecodeaddressesto see ifthey are thetargets...

Page 12: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

12

Embedded Processor I/O

Softwaresets up theregister withthe addressand data ...

Blocksdecodeaddressesto see ifthey are thetargets...

Datatransferredbetweenregister andhardware

Page 13: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

13

AMBA Specification

• AMBA: Advanced Microcontroller BusArchitecture

• Created by ARM to enable standardizedinterfaces to their embedded processors

• Actually three standards: APB, AHB, and AXI

• Very commonly used for commercial IP cores

Page 14: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

14

AMBA Specification

• AMBA: Advanced Microcontroller BusArchitecture

• Created by ARM to enable standardizedinterfaces to their embedded processors

• Actually three standards: APB, AHB, and AXI

• Very commonly used for commercial IP cores

Simple Bus

Page 15: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

15

AMBA Specification

• AMBA: Advanced Microcontroller BusArchitecture

• Created by ARM to enable standardizedinterfaces to their embedded processors

• Actually three standards: APB, AHB, and AXI

• Very commonly used for commercial IP cores

Simple Bus Complex Bus

Page 16: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

16

AMBA Specification

• AMBA: Advanced Microcontroller BusArchitecture

• Created by ARM to enable standardizedinterfaces to their embedded processors

• Actually three standards: APB, AHB, and AXI

• Very commonly used for commercial IP cores

NoCSimple Bus Complex Bus

Page 17: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

17

AMBA APB: Read Operation

Page 18: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

18

AMBA APB: Read Operation

Target Address

Page 19: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

19

AMBA APB: Read Operation

Target Address

TransactionType

Page 20: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

20

AMBA APB: Read Operation

Target Address

TransactionType

AddressDecode

Page 21: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

21

AMBA APB: Read Operation

Target Address

TransactionType

AddressDecode

Optional (forasynchronousimplementations...)

Page 22: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

22

AMBA APB: Read Operation

Target Address

TransactionType

AddressDecode

Optional (forasynchronousimplementations...)

Read Data

Page 23: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

23

AMBA APB: Write Operation

Page 24: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

24

AMBA APB: Write Operation

Common SignalsBetween Read andWrite

Page 25: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

25

AMBA APB: Write Operation

Write Data

Common SignalsBetween Read andWrite

Page 26: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

26

Remember Our Case Study

- data width:16 bits

- address width: 16 bits

- read cycle time: 50 ns

- write cycle time: 50 ns

Simple generic processor interface:

Page 27: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

27

- data width:16 bits

- address width: 16 bits

- read cycle time: 50 ns

- write cycle time: 50 ns

Simple generic processor interface:

System bus

Remember Our Case Study

Page 28: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

28

Simple Bus Advantages

• Simple to implement• Easy to understand• Simple programming model• Easy to add new hardware blocks• Minimal hardware requirements (most of the

signals are shared)

Page 29: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

29

Simple Bus Limitations

• Single Master - limits parallelism• Scalability - performance suffers as bus is

loaded...• Single outstanding request - poor throughput

and multi-threading performance bottleneck

Page 30: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

30

Case Study: Single Master

• Imagine a newpartition:

– APS Bit ErrorMonitorcommunicatesdirectly with Switch

• Simple bus doesnʼtwork...

Page 31: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

31

Case Study: Single Master

No Path

• Imagine a newpartition:

– APS Bit ErrorMonitorcommunicatesdirectly with Switch

• Simple bus doesnʼtwork...

Page 32: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

32

Case Study: Single Master

No Path

• This can make software the bottleneck in thesystem....

• Imagine a newpartition:

– APS Bit ErrorMonitorcommunicatesdirectly with Switch

• Simple bus doesnʼtwork...

Page 33: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

33

Single Master Summary

• A bus that is limited to a single master:

– Makes inter-block communication inefficient– Limits parallelism between hardware and software– Increases reliance on interrupts– Creates software performance bottlenecks– Is not compatible with multiple processors

Page 34: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

34

Scalability

Page 35: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

35

Scalability

Blocks are functionallyeasy to add, but....

Page 36: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

36

Scalability

Each newblockincreasesthe delayon theaddressand data

Blocks are functionallyeasy to add, but....

Page 37: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

37

Scalability Summary

• Simple busses are not scaleable because:

– The address and data “fan-out” to each target– Adding a new block increases the load on the bus– Increased fanout + greater load = reduce

performance

Page 38: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

38

Single Outstanding Request

Page 39: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

39

Single Outstanding RequestProcessor is stalled waiting for response...

Page 40: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

40

Single Outstanding RequestProcessor is stalled waiting for response...

best-case <= 50% efficiency

Page 41: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

41

Single Outstanding Request Summary

• Busses limited to a single outstanding request:

– Reduce software performance since the softwaremust “stall” on the first transaction

– Are not able to achieve full bus throughput since thedata bus is idle during the address phase

Page 42: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

42

Complex System Busses

Page 43: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

43

Complex Systems Busses

• The complex system bus is attempts toaddress some of the issues with the simplebus:

– Multi-master– Pipelined transactions

• There are many different ways to go aboutthis...

Page 44: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

44

AMBA AHB

• AHB addresses many of the limitations of APB:

– multi-master– multiple outstanding transactions (sort of...)– back-to-back transactions

• Unfortunately, this adds significant complexity

Page 45: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

45

Bring on the complexity...

Page 46: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

46

Bring on the complexity...

CPU #1

CPU #2

IP Block#1

IP Block#1

IP Block#2

IP Block#3

IP Block#4

Page 47: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

47

Bring on the complexity...

Request

CPU #1

CPU #2

IP Block#1

IP Block#1

IP Block#2

IP Block#3

IP Block#4

Page 48: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

48

Bring on the complexity...

RequestGrant

CPU #1

CPU #2

IP Block#1

IP Block#1

IP Block#2

IP Block#3

IP Block#4

Page 49: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

49

Bring on the complexity...

RequestGrant

TransactionCPU #1

CPU #2

IP Block#1

IP Block#1

IP Block#2

IP Block#3

IP Block#4

Page 50: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

50

Bus Arbitration

• When multiple masters share a bus there mustbe some central resource to manage the bus:an arbiter

• Once there is competition for the bus, it ispossible that it is not ready when you need it:backpressure

• Backpressure adds complexity and hurtperformance

Page 51: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

51

Request / Grant Protocol

Page 52: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

52

Request / Grant Protocol

Before a transaction amaster makes a requestto the central arbiter

Page 53: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

53

Request / Grant Protocol

Before a transaction amaster makes a requestto the central arbiter

Eventually the request isgranted

Page 54: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

54

Request / Grant Protocol

Before a transaction amaster makes a requestto the central arbiter

Eventually the request isgranted

Then thetransactionproceeds

Page 55: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

55

Request / Grant Protocol

Before a transaction amaster makes a requestto the central arbiter

Eventually the request isgranted

Then thetransactionproceeds

Performance Impact

Page 56: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

56

Pipelined Transactions

• To help improve bus efficiency thetransactions on the bus can be pipelined

• This is really a simple implementation ofmultiple outstanding transactions

• The address for one transaction can bepresented before the data from the previoustransaction has been completed

Page 57: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

57

Pipelined Transactions

Page 58: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

58

Pipelined Transactions

Transaction A Starts

Page 59: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

59

Pipelined Transactions

Transaction A Starts

Transaction B Starts

Page 60: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

60

Pipelined Transactions

Transaction A Starts

Transaction B Starts

Transaction A Completes

Page 61: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

61

Pipelined Transactions

Transaction A Starts

Transaction B Starts

Transaction A Completes

Notice backpressure

Page 62: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

62

Advantages

• Relatively easy to add new blocks• Still has the familiar bus structure• Low hardware cost• Bus arbitration “solves” many ordering

problems

Page 63: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

63

Disadvantages

• Busses that require arbitration:– must route signals to the arbitration logic and back– must find a “fair” way to share the bus– slaves are not always available => backpressure– difficult to provide performance guarantees...

• Still potentially a bandwidth bottleneck

• Still doesnʼt scale well when blocks are added

• Multiple outstanding transactions not handledwell - no ordering information

Page 64: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

64

Networks-on-Chip (NoCs)

Page 65: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

65

Networks-on-Chip

• It is clear that even with significant designeffort the bus-style interconnect is not going tosufficient for large SoCs:

– the physical implementation does not scale: busfanout, loading, arbitration depth all reduceoperating frequency

– the available bandwidth does not scale: the singlebus must be shared by all masters and slaves

Page 66: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

66

Networks-on-Chip

• It is clear that even with significant designeffort the bus-style interconnect is not going tosufficient for large SoCs:

– the physical implementation does not scale: busfanout, loading, arbitration depth all reduceoperating frequency

– the available bandwidth does not scale: the singlebus must be shared by all masters and slaves

• Lets start again: Leverage research fromdata networking

Page 67: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

67

What do we want?

• The SoCs of the future will:

– have 100s of hardware blocks,– have billions of transistors,– have multiple processors,– have large wire-to-gate delay ratios,– handle large amounts of high-speed data,– need to support “plug-and-play” IP blocks

• Our NoC needs to be ready for these SoCs...

Page 68: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

68

The Ideal Network

• What would the ideal network look like?:

– Low area overhead– Simple implementation– High-speed operation– Low-latency– High-bandwidth– Operate at a constant frequency even with

additional blocks– Increase available bandwidth as blocks are added– Provide performance guarantees– Have a “universal” interface

Page 69: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

69

The Ideal Network

• What would the ideal network look like?:

– Low area overhead– Simple implementation– High-speed operation– Low-latency– High-bandwidth– Operate at a constant frequency even with

additional blocks– Increase available bandwidth as blocks are added– Provide performance guarantees– Have a “universal” interface

These are competingrequirements: Design anetwork that is the“best” fit.

Page 70: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

70

What do we need to decide?

• Network Interface• Network Protocol / Transaction Format• Network Topology• VLSI Implementation

Page 71: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

71

Network Interface

• We want our network to be “plug-and-play” soindustry standardization is key

• However the standard be universal enough toaddress many different needs

• AMBA AXI is an example of an attempt at this

Page 72: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

72

AMBA AXI

• ARM added the AXI specification to Version3.0 of the AMBA standard

• New approach: define the interface and leavethe interconnect up to the designers

• Good plan since a specific bus implementationis no longer required

• It is possible to use AXI to build many differentNoCs

Page 73: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

73

AMBA AXI

• Interface divided into 5 channels:

– Write Address– Write Data– Write Response– Read Address– Read Data/Response

• Each channel is independent and use two-way flow control

Page 74: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

74

AMBA AXI Read Channels

Page 75: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

75

AMBA AXI Read Channels

Independent

Page 76: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

76

AMBA AXI Read Channels

Give me some data

Independent

Page 77: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

77

AMBA AXI Read Channels

Give me some data

Here you go

Independent

Page 78: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

78

AMBA AXI Read Channels

Give me some data

Here you go

Independent

channels synchronizedwith ID # or “tags”

Page 79: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

79

AMBA AXI Write Channels

Page 80: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

80

AMBA AXI Write Channels

Independent

Independent

Page 81: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

81

AMBA AXI Write Channels

Iʼm sending data. Please store it.

Independent

Independent

Page 82: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

82

AMBA AXI Write Channels

Iʼm sending data. Please store it.

Here is the data.Independent

Independent

Page 83: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

83

AMBA AXI Write Channels

Iʼm sending data. Please store it.

Here is the data.

I received that data correctly.

Independent

Independent

Page 84: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

84

AMBA AXI Write Channels

Iʼm sending data. Please store it.

Here is the data.

I received that data correctly.

Independent

Independent

channels synchronizedwith ID # or “tags”

Page 85: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

85

AMBA AXI Flow-Control

• Information movesonly when:

– Source is Valid, and– Destination is Ready

• On each channel themaster or slave canlimit the flow

• Very flexible

Page 86: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

86

AMBA AXI Flow-Control

• Information movesonly when:

– Source is Valid, and– Destination is Ready

• On each channel themaster or slave canlimit the flow

• Very flexible

Transfer

Page 87: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

87

AMBA AXI Flow-Control

• This definition of very independent, fullyflow-controlled channels is very useful

• However, there is a potential problem:

Page 88: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

88

AMBA AXI Flow-Control

• This definition of very independent, fullyflow-controlled channels is very useful

• However, there is a potential problem:DEADLOCK

Page 89: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

89

AMBA AXI Flow-Control

• This definition of very independent, fullyflow-controlled channels is very useful

• However, there is a potential problem:DEADLOCK

• On a write transaction the master must notwait for AWREADY before assertingWVALID

Page 90: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

90

AMBA AXI Read

Page 91: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

91

AMBA AXI Read

Read Address Channel

Read Data Channel

Page 92: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

92

AMBA AXI Write

Page 93: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

93

AMBA AXI Write

Write Address Channel

Write Response Channel

WriteDataChannel

Page 94: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

94

A True Interface Specification

• Because of the channel independence andthe two-way flow-control the interface doesnot dictate the network protocol, transactionformat, network topology, or VLSIimplementation

• For example:– if you want to build a packet-based network, you

can “backpressure” the data channel while you buildthe packet header from the address channelinformation,

– you can use store-and-forward, or cut-through,– etc.

Page 95: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

95

Network Protocol / Transaction Format

• There are many choice for network protocolsand transactions formats:

– circuit-switched : plan and provision a connectionbefore communication starts

– packet-switched : issues packets which competefor network resources

– hybrids: schedule connectivity (dynamic or static)

Page 96: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

96

Network Protocol / Transaction Format

• There are many choice for network protocolsand transactions formats:

– circuit-switched : plan and provision a connectionbefore communication starts

– packet-switched : issues packets which competefor network resources

– hybrids: schedule connectivity (dynamic or static)

• There is still lots of research here....

Page 97: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

97

Network Topology

• How should your network elements beinterconnected:

– Fully Connected (N2): high area cost, high performance– Mesh: low area cost, potential poor performance– Hypercube: medium area, traffic dependent

performance– Fat-tree: medium area, traffic dependent performance– Torus: medium area, traffic dependent performance

Page 98: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

98

Network Topology

• There is lots of research here....

Page 99: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

99

Network Topology - Caveat

• There has been a lot of research on topologies forNoCs, however it is important to realize that theperformance of a topology is highly dependent onthe traffic patterns!

• Traffic patterns in an SoC that you are designingyourself are NOT random, therefore much of thetopology research is not applicable to most SoCs!

Page 100: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

100

VLSI Implementation

• Once you have a topology there is still the mater ofimplementing it on your SoC

• There are many considerations:

– Clocking: Synchronous, Asynchronous– Buffer Insertion: Trade-off power, area, performance– Register Insertion / Pipelining: Trade-off clock

frequency, area, and latency– Packet Buffers: Trade-off area, latency and throughput

• Again, lots of research on-going...

Page 101: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

101

Bluetooth “Platform” SoC

ARM7TDMI

DAP I/F

RADIOI/F

SPEECHI/F

SHAREDMEMORY

CONTROLLER

LMC

BRIDGE

POWER &CLOCK

CONTROLDMA

SMC

PLLCLOCKS

SHAREDMEMORY

TIC

DECODER

ARBITER

AHB APB

ADC

text ACI USBUARTUARTTIMERSPICGPIOWATCHDOG

ProcessorMemoryController

Application Specific Logic

Low-speed I/O and Support Logic

System Bus /Hardware I/F

Page 102: System Busses / Networks-on-Chipcourses.ece.ubc.ca/579/system_bus_noc.pdfSystem Busses / Networks-on-Chip EECE 579 ... • AMBA: Advanced Microcontroller Bus Architecture ... Bus Arbitration

102

Research Paper

• Lets look at:

Guerrier, P.; Greiner, A., "A generic architecture for on-chippacket-switched interconnections ," Design, Automation andTest in Europe Conference and Exhibition 2000. Proceedings, vol., no., pp.250-256, 2000