System Busses / Networks-on-Chip: EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton
System Busses / Networks-on-Chip: EECE 579 - Advanced Topics in VLSI Design Spring 2009 Brad Quinton
1
Outline
1. 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”
2
Bluetooth “Platform” SoC
Processor Application Specific Logic
ARBITER
Memory
ARM7TDMI DECODER Controller
SMC RADIO ADC
TIC I/F
AHB APB
BRIDGE SHARED SPEECH
MEMORY I/F
CONTROLLER
POWER &
DMA CLOCK
CONTROL
LMC
SHARED DAP I/F
PLL
CLOCKS
System Bus / MEMORY
Hardware I/F
WATCH
GPIO PIC TIMERS
text UART UART ACI USB
DOG
4
Simple System Busses
5
Embedded Processor I/O
6
Embedded Processor I/O
7
Embedded Processor I/O
9
Embedded Processor I/O
Software
sets up the
register with
the address
and data ... 10
Embedded Processor I/O
Blocks
decode
addresses
to see if
they are the
targets...
Software
sets up the
register with
the address
and data ... 11
Embedded Processor I/O
Blocks
decode
addresses
to see if
they are the
targets...
Software Data
sets up the transferred
register with between
the address register and
and data ... hardware
12
AMBA Specification
13
AMBA Specification
14
AMBA Specification
15
AMBA Specification
16
AMBA APB: Read Operation
17
AMBA APB: Read Operation
Target Address
18
AMBA APB: Read Operation
Target Address
Transaction
Type
19
AMBA APB: Read Operation
Target Address
Transaction
Type
Address
Decode
20
AMBA APB: Read Operation
Target Address
Transaction
Type
Address
Decode
Optional (for
asynchronous
implementations
...) 21
AMBA APB: Read Operation
Target Address
Transaction
Type
Address
Decode
Optional (for
asynchronous
implementations Read Data
...) 22
AMBA APB: Write Operation
23
AMBA APB: Write Operation
Common Signals
Between Read and
Write
24
AMBA APB: Write Operation
Common Signals
Between Read and
Write
Write Data
25
Remember Our Case Study
Simple generic processor interface:
26
Remember Our Case Study
Simple generic processor interface:
System bus
27
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)
28
Simple Bus Limitations
29
Case Study: Single Master
• Imagine a new
partition:
– APS Bit Error
Monitor
communicates
directly with Switch
30
Case Study: Single Master
• Imagine a new
partition:
No Path – APS Bit Error
Monitor
communicates
directly with Switch
31
Case Study: Single Master
• Imagine a new
partition:
No Path – APS Bit Error
Monitor
communicates
directly with Switch
33
Scalability
34
Scalability
Each new
block
increases
the delay
on the
address
and data
37
Single Outstanding Request
38
Single Outstanding Request
Processor is stalled waiting for response...
39
Single Outstanding Request
Processor is stalled waiting for response...
41
Complex System Busses
42
Complex Systems Busses
– Multi-master
– Pipelined transactions
43
AMBA AHB
– multi-master
– multiple outstanding transactions (sort of...)
– back-to-back transactions
44
Bring on the complexity...
45
Bring on the complexity...
IP Block
CPU #1 #1
IP Block
CPU #2 #2
IP Block
IP Block #3
#1
IP Block
#4
46
Bring on the complexity...
Request
IP Block
CPU #1 #1
IP Block
CPU #2 #2
IP Block
IP Block #3
#1
IP Block
#4
47
Bring on the complexity...
Request
Grant IP Block
CPU #1 #1
IP Block
CPU #2 #2
IP Block
IP Block #3
#1
IP Block
#4
48
Bring on the complexity...
Request
Grant IP Block
CPU #1 #1
Transaction
IP Block
CPU #2 #2
IP Block
IP Block #3
#1
IP Block
#4
49
Bus Arbitration
50
Request / Grant Protocol
51
Request / Grant Protocol
Before a transaction a
master makes a request
to the central arbiter
52
Request / Grant Protocol
Before a transaction a
master makes a request Eventually the request is
to the central arbiter granted
53
Request / Grant Protocol
Then the
transaction
proceeds
Before a transaction a
master makes a request Eventually the request is
to the central arbiter granted
54
Request / Grant Protocol
Performance Impact
Then the
transaction
proceeds
Before a transaction a
master makes a request Eventually the request is
to the central arbiter granted
55
Pipelined Transactions
56
Pipelined Transactions
57
Pipelined Transactions
Transaction A Starts
58
Pipelined Transactions
Transaction A Starts
Transaction B Starts
59
Pipelined Transactions
Transaction B Starts
60
Pipelined Transactions
Notice backpressure
Transaction B Starts
61
Advantages
62
Disadvantages
64
Networks-on-Chip
65
Networks-on-Chip
67
The Ideal Network
• Network Interface
• Network Protocol / Transaction Format
• Network Topology
• VLSI Implementation
70
Network Interface
71
AMBA AXI
– Write Address
– Write Data
– Write Response
– Read Address
– Read Data/Response
74
AMBA AXI Read Channels
Independent
75
AMBA AXI Read Channels
Independent
76
AMBA AXI Read Channels
Independent
Here you go
77
AMBA AXI Read Channels
channels synchronized
with ID # or “tags”
Give me some data
Independent
Here you go
78
AMBA AXI Write Channels
79
AMBA AXI Write Channels
Independent
Independent
80
AMBA AXI Write Channels
Independent
Independent
81
AMBA AXI Write Channels
Independent
Here is the data.
Independent
82
AMBA AXI Write Channels
Independent
Here is the data.
Independent
83
AMBA AXI Write Channels
Independent
Here is the data.
Independent
channels synchronized
with ID # or “tags” 84
AMBA AXI Flow-Control
• Information moves
only when:
• Very flexible
85
AMBA AXI Flow-Control
• Information moves
only when:
• Very flexible
86
AMBA AXI Flow-Control
87
AMBA AXI Flow-Control
88
AMBA AXI Flow-Control
89
AMBA AXI Read
90
AMBA AXI Read
91
AMBA AXI Write
92
AMBA AXI Write
Write
Data
Channel
• For example:
– if you want to build a packet-based network, you
can “backpressure” the data channel while you build
the packet header from the address channel
information,
– you can use store-and-forward, or cut-through,
– etc. 94
Network Protocol / Transaction Format
95
Network Protocol / Transaction Format
97
Network Topology
99
VLSI Implementation
AHB APB
BRIDGE SHARED SPEECH
MEMORY I/F
CONTROLLER
POWER &
DMA CLOCK
CONTROL
LMC
SHARED DAP I/F
PLL
CLOCKS
System Bus / MEMORY
Hardware I/F
WATCH
GPIO PIC TIMERS
text UART UART ACI USB
DOG
102