on chip bus

26
SOC Consortium Course Material On Chip Bus On Chip Bus National Taiwan University Adopted from National Taiwan University SOC Course Material

Upload: marlon

Post on 05-Feb-2016

25 views

Category:

Documents


0 download

DESCRIPTION

On Chip Bus. National Taiwan University Adopted from National Taiwan University SOC Course Material. Outline. AMBA Bus Advanced System Bus (ASB) Advanced High-performance Bus (AHB) Advanced Peripheral Bus (APB). Bus Architecture. Outline. AMBA Bus Advanced System Bus High performance - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: On Chip Bus

SOC Consortium Course Material

On Chip BusOn Chip Bus

National Taiwan University

Adopted from National Taiwan University

SOC Course Material

Page 2: On Chip Bus

2SOC Consortium Course Material

Outline

AMBA Bus– Advanced System Bus (ASB)– Advanced High-performance Bus (AHB)– Advanced Peripheral Bus (APB)

Page 3: On Chip Bus

3SOC Consortium Course Material

Bus Architecture

Page 4: On Chip Bus

4SOC Consortium Course Material

Outline

AMBA Bus– Advanced System Bus

• High performance• Pipelined operation• Multiple bus master

– Advanced High-performance Bus– Advanced Peripheral Bus

Page 5: On Chip Bus

5SOC Consortium Course Material

Outline

AMBA Bus– Advanced System Bus– Advanced High-performance Bus

• High performance• Pipelined operation• Multiple bus master• Burst transfers

Advanced Peripheral Bus

Page 6: On Chip Bus

6SOC Consortium Course Material

AHB simple Arch.

Page 7: On Chip Bus

7SOC Consortium Course Material

AHB Components

AHB Components– AHB master is able to initiate read and write operations

by providing an address and control information. Only one bus master is allowed to actively use the bus at any one time.(max. 16)

– AHB slave responds to a read or write operation within a given address-space range. The bus slave signals back to the active master the success, failure or waiting of the data transfer.

Page 8: On Chip Bus

8SOC Consortium Course Material

AHB Components(ii)

AHB Components– AHB arbiter ensures that only one bus master at a time

is allowed to initiate data transfers. – AHB decoder is used to decode the address of each

transfer and provide a select signal for the slave that is involved in the transfer. A single centralized decoder is required in all AHB implementations.

Page 9: On Chip Bus

9SOC Consortium Course Material

AHB Signals(i)

AHB Signals can be classified as– Clock (HCLK)– Address and read/write data (HADDR, HRDATA,

HWDATA)– Arbitration (HGRANTx, HMASTER, HMASTLOCK,…)– Control signal (HRESETn,…)– Response signal(HREADY, HRESP)

Page 10: On Chip Bus

10SOC Consortium Course Material

AHB Signals(ii)

Transfer signals– HCLK

• bus clock. All signal timings are related to the rising edge.

– HADDR[31:0]• 32 bits system bus

– HWDATA/HRDATA [31:0]• 32 bits write/read data bus

– HWRITE• High: write data

• Low: read data

– HREADY• Transfer done

Page 11: On Chip Bus

11SOC Consortium Course Material

AHB Signals(ii)Basic Transfer

Each transfer consists of– An address and control cycle– One or more cycles for the data

Page 12: On Chip Bus

12SOC Consortium Course Material

AHB Arch.

Page 13: On Chip Bus

13SOC Consortium Course Material

AHB Signals(iii)

Control signals– HTRANS[1:0]

• Current transfer type

– HBURST[2:0]• When sequential transfer, control transfer relation

– HSIZE[2:0]• Control transfer size=2^HSIZE bytes(max=1024bits)

Page 14: On Chip Bus

14SOC Consortium Course Material

AHB Signals(iii)-HTRANS

HTRANS[1:0]– IDLE: master don’t need data to be transfer.– BUSY: This transfer type indicates that the bus master is

continuing with a burst of transfers.– NONSEQ: The address and control signals are unrelated

to the previous transfer.– SEQ: the address is related to the previous transfer.

Page 15: On Chip Bus

15SOC Consortium Course Material

Burst Operation

AMBA AHB burst operation– 4-beat, 8-beat, 16-beat, single transfer, and undefined-length

transfer.

– Both incrementing and wrapping bursts are supported.

Incrementing burst– Incrementing bursts access sequential locations and the address

of each transfer in the burst is just an increment of the previous address.

Wrapping burst– For wrapping bursts, if the start address of the transfer is not

aligned to the total number of bytes in the burst (size x beats), then the address of the transfer in the burst will wrap when the boundary is reached.

Page 16: On Chip Bus

16SOC Consortium Course Material

AHB Signals (iii)-HBURST

Page 17: On Chip Bus

17SOC Consortium Course Material

AHB Signals(iii)-HBURST

Page 18: On Chip Bus

18SOC Consortium Course Material

AHB Signals(iv)

Response signals– HREADY

• Transfer done, ready for next transfer

– HRESP[1:0]• OKAY transfer complete• ERROR transfer failure(ex: write ROM)• RETRY higher priority master can access bus• SPLIT other master can access bus

Page 19: On Chip Bus

19SOC Consortium Course Material

AHB Signals(v)

Arbiter signals– HGRANTx

• Select active bus master

– HMASTER[3:0]• Indicate which bus master is currently performing a transfer

Page 20: On Chip Bus

20SOC Consortium Course Material

Master signal

Page 21: On Chip Bus

21SOC Consortium Course Material

Arbiter signal

Page 22: On Chip Bus

22SOC Consortium Course Material

Slave signal

Page 23: On Chip Bus

23SOC Consortium Course Material

Outline

AMBA Bus– Advanced System Bus– Advanced High-performance Bus– Advanced Peripheral Bus

• Low power• Latched address and control• Simple interface• Suitable for many peripherals

Page 24: On Chip Bus

24SOC Consortium Course Material

APB state diagram

Page 25: On Chip Bus

25SOC Consortium Course Material

APB signals

APB character – Always two cycle transfer– No wait cycle and response signal

APB signals– PCLK Bus clock , rising edge is used to time all

transfers.– PRESETn APB reset 。 active Low.

Page 26: On Chip Bus

26SOC Consortium Course Material

APB signals

PADDR[31:0] APB address bus.PSELx Indicates that the slave device is selected.

There is a PSELx signal for each slave.PENABLE Indicates the second cycle of an APB

transfer.PWRITE Transfer direction. High for write access,

Low for read access.PRDATA Read data busPWDATA Write data bus