Uploaded by Rahul Soni

Zynq Introduction Part 2

advertisement
1
1
Zynq Introduction: Part 2
PS/PL AXI Ports
Interfacing the PL to the PS
1
3
36416**slid e






Zynq PS/PL AXI Ports - 2-3
Interfacing the PL to the PS
Interconnect in the PS
AXI Master Interfaces
AXI Slave Interfaces
AXI ACP Interface
Summary
© Copyright 2013 Xilinx
1
4
Interfacing to Programmable Logic
44532**slid e
Most of the interfaces between the PS and PL are accomplished
with nine AXI ports
—
—
—
—
Two general-purpose master ports
Two general-purpose slave ports
Four high-performance slave ports
One accelerator coherence port (ACP) slave port
An understanding of PS interconnect (switches) operation is
necessary for proper design use of the various ports
Other diagnostic, clock, and interrupt signals complete the PS-PL
interface
Zynq PS/PL AXI Ports - 2-4
© Copyright 2013 Xilinx
PL and PS AXI Port Terminology
1
5
44533**slid e
There are two genders of AXI ports
—
—
Master: M_AXI_GP0 – transaction initiator
Slave: S_AXI_GP0 – transaction target
Like ports cannot connect together (master can
not connect to master and slave not to slave)
All PL to PS and PS to PL AXI ports are AXI3
—
—
All five AXI channels are implemented
Address and data buses
Zynq PS/PL AXI Ports - 2-5
© Copyright 2013 Xilinx
1
6
AMBA AXI 3.0
46191**slid e
The PS-PL AXI ports are based on the AMBA® AXI 3.0 version of
the protocol
Xilinx IP is committed to the AMBA AXI 4.0 version of the protocol
The two versions are very close
Xilinx tools automatically build a logic shim interface as needed
to adapt between the two
Differences between AXI3 and AXI4:
AXI3
AXI4
Max burst size 16 beats
Max burst size 256 beats
N/A (Zynq includes QOS on PS HP and
ACP ports)
Support for QOS
N/A
Support for multiple REGIONs
Requires BRESP not to be given until
Requires BRESP not to be given until
one clk after the acceptance of last data one clk after the acceptance of last data
transfer
transfer and not to be given until one
clk after address acceptance
Zynq PS/PL AXI Ports - 2-6
© Copyright 2013 Xilinx
Interconnect in the PS
1
7
44526**slid e






Zynq PS/PL AXI Ports - 2-7
Interfacing the PL to the PS
Interconnect in the PS
AXI Master Interfaces
AXI Slave Interfaces
AXI ACP Interface
Summary
© Copyright 2013 Xilinx
A Picture is Worth a Thousand Words
1
8
44534**slid e
Understanding the PS interconnect facilitates a high-performance
Zynq architecture design
The PS has six interconnect structures to facilitate data
movement
Sometimes paths may need to make their way through multiple
switches
Trade-offs exist between
—
—
—
PS peripheral access
Performance
PL AXI port access and loading
(Pictures are on the following slides)
Zynq PS/PL AXI Ports - 2-8
© Copyright 2013 Xilinx
PS Top-Level Interconnect Diagram (1)
1
9
Zynq PS/PL AXI Ports - 2-9
© Copyright 2013 Xilinx
PS Top-Level Interconnect Diagram (2)
1
1
0
Zynq PS/PL AXI Ports - 2-10
© Copyright 2013 Xilinx
AXI Master Interfaces
1
1
1
44527**slid e






Zynq PS/PL AXI Ports - 2-11
Interfacing the PL to the PS
Interconnect in the PS
AXI Master Interfaces
AXI Slave Interfaces
AXI ACP Interface
Summary
© Copyright 2013 Xilinx
General-Purpose Master AXI Ports
1
1
2
44535**slid e
Two identical AXI master ports
—
—
M_AXI_GP0
M_AXI_GP1
Provides initiator access from the PS-to-PL target in
programmable logic
Attaches to a slave AXI port in programmable logic
—
—
PL AXI interconnect
PL slave
 Your peripheral built in programmable logic
 IP Integrator interface or other third-party-based IP
Why two ports?
—
—
Each port is capable of driving a number of peripherals using an AXI switch
Multiple ports enable the designer to balance bandwidth
Zynq PS/PL AXI Ports - 2-12
© Copyright 2013 Xilinx
General-Purpose Master AXI Port Features
1
1
3
39942**slid e
Two 32-bit AXI master interfaces
Allows PS masters access to PL devices
Each master is allocated a 1GB address space
—
—
Addresses start at 0x40000000 and 0x80000000, respectively
Only low-order 30 bits of AXI address are meaningful
PS masters can be
—
—
—
—
—
—
Cortex-A9 processors via the L2 cache controller
USB controller (2)
Ethernet controller (2)
SD/SDIO controllers (2)
DMAC
Debug access port
Mostly used for CPU and IOP data movement to programmable
logic
Zynq PS/PL AXI Ports - 2-13
© Copyright 2013 Xilinx
AXI Slave Interfaces
1
1
4
44528**slid e






Zynq PS/PL AXI Ports - 2-14
Interfacing the PL to the PS
Interconnect in the PS
AXI Master Interfaces
AXI Slave Interfaces
AXI ACP Interface
Summary
© Copyright 2013 Xilinx
General-Purpose Slave AXI Ports
1
1
5
44536**slid e
Two identical AXI slave ports
—
—
S_AXI_GP0
S_AXI_GP1
Provides initiator access from PL master to PS target
Attaches to master AXI port in PL
—
—
PL AXI interconnect
PL master
 MicroBlaze processor
 Your master built in programmable logic
 Other third-party-based IP
Zynq PS/PL AXI Ports - 2-15
© Copyright 2013 Xilinx
General-Purpose Slave AXI Port Features
1
1
6
39944**slid e
Two 32-bit AXI slave interfaces
Allows PL masters to access PS slaves
PS slaves can be
—
—
—
—
—
DDRx controller
On-chip memory (OCM)
IOP peripheral
Device configuration controller (DEVC)
Debug access port (DAP)
Mostly used for PL masters to access IOP, OCM RAM, and DDRx
(simple access)
Zynq PS/PL AXI Ports - 2-16
© Copyright 2013 Xilinx
High-Performance Slave AXI Ports and Features
1
1
7
44537**slid e
Four identical AXI slave ports
—
—
—
—
S_AXI_HP0
S_AXI_HP1
S_AXI_HP2
S_AXI_HP3
Provides initiator access from PL master to PS memory
Attaches to master AXI port in PL
—
—
PL AXI interconnect
PL master




DMA controller
MicroBlaze processor
Your master built in programmable logic
Other third-party-based IP
Zynq PS/PL AXI Ports - 2-17
© Copyright 2013 Xilinx
AXI FIFO Interface (AFI) Diagram
1
1
9
Zynq PS/PL AXI Ports - 2-19
© Copyright 2013 Xilinx
High-Performance PL to DDR Interfacing
1
2
0
39529**slid e
Four AXI FIFO interfaces (AFI) incorporated into the S_AXI_HPx
ports
Connects to PL memory interconnect located in PS
—
—
32-bit or 64-bit datapath from PL
Two crossbar channels directly to the DDRx memory controller (DMC)
 64 bit interface between PL to Memory interconnect and DMC
Zynq PS/PL AXI Ports - 2-20
© Copyright 2013 Xilinx
High-Performance PL to OCM Interfacing
1
2
1
39530**slid e
Access to 256Kb of PS OCM RAM
Access to OCM boot ROM disabled for security
Uses the same PL AFI interface and PS interconnect as the DMC
—
—
—
One channel from PL memory interconnect to OCM interconnect (both
located in PS)
Two levels of PS interconnect before reaching OCM
providing very low latency and high bandwidth connection
Internal 64-bit datapath for interconnects and OCM
Zynq PS/PL AXI Ports - 2-21
© Copyright 2013 Xilinx
AXI ACP Interface
1
2
2
44529**slid e






Zynq PS/PL AXI Ports - 2-22
Interfacing the PL to the PS
Interconnect in the PS
AXI Master Interfaces
AXI Slave Interfaces
AXI ACP Interface
Summary
© Copyright 2013 Xilinx
Accelerator Coherence Port (ACP) Slave Port
1
2
3
44539**slid e
One accelerator coherence port (ACP)
—
S_AXI_ACP
Provides initiator access from PL master to PS target
—
—
—
Via the Snoop Control Unit (SCU) to L1 and L2 cache
From L2 cache, the ACP can reach anyplace the CPU can
ACP looks like another CPU to the SCU
Attaches to master AXI port in PL
—
—
Typically a PL-based co-processor
Also could be (extreme design scenarios)
 PL AXI interconnect
 PL master
o MicroBlaze processor
o Custom master built in programmable logic
o Other third-party-based IP
Zynq PS/PL AXI Ports - 2-23
© Copyright 2013 Xilinx
Accelerator Coherence Port (ACP) Slave Port
Features
1
2
4
44540**slid e
64-bit AXI slave port from PS
Direct connection to the snoop control unit (SCU)
Cache coherent with L1 and L2 caches
Coordinated PL co-processor design with PL event ports
Facilitates tightly coupled PL co-processor design
—
—
Performance relies on PL co-processor access cache hits
Software and co-processor access both use cached memory accesses
 Software program coordinated with co-processor design
 Preferably L1 cache hit over L2
 Direct access to memory (cache miss) slower than access by HPx slave port
Zynq PS/PL AXI Ports - 2-24
© Copyright 2013 Xilinx
Accelerator Coherence Port (ACP) Slave Port
Coherency Requests
1
2
5
ACP transactions are normally filtered through
caches
Referred to as a cache coherent request
—
L1 and L2
A L1 cache miss tries the L2 cache
 A L2 cache miss goes to DDR access
A L1 cache miss can be forced
—
—
Referred to as a non-coherent request
Performed on a transaction basis by applying either/or of the AXI signals
 ARUSER[0] = 0
 ARCACHE[1] =0
Zynq PS/PL AXI Ports - 2-25
© Copyright 2013 Xilinx
Enhanced Accelerator SoC Integration
1
2
6
39000**slid e
ARM MPCore: accelerator coherence port (ACP)
—
—
—
Sharing benefits of the ARM MPCore optimized coherency design
Accelerators gain access to CPU cache hierarchy
Compatible with standard un-cached peripherals and accelerators
Zynq PS/PL AXI Ports - 2-26
© Copyright 2013 Xilinx
Summary
1
2
7
44530**slid e






Zynq PS/PL AXI Ports - 2-27
Interfacing the PL to the PS
Interconnect in the PS
AXI Master Interfaces
AXI Slave Interfaces
AXI ACP Interface
Summary
© Copyright 2013 Xilinx
What are the Differences Between Slave HPx,
GPx, and ACP?
1
2
8
44538**slid e
The four S_AXI_HPx ports can only access the PS OCM and DMC
—
—
Purpose is low-latency PL to memory access
FIFOs built into interface allow for streaming
The two S_AXI_GPx ports can access most PS peripherals,
including memory
—
—
Purpose is programmable logic access to PS IOP and other PS slaves
Much slower access to OCM and DDRx memory
Single S_AXI_ACP can access all PS memory and peripherals
—
Purpose is programmable logic co-processor memory interface
 Performance advantage through cache hits
—
Lower latency then HPx for cache misses
Zynq PS/PL AXI Ports - 2-28
© Copyright 2013 Xilinx
Apply Your Knowledge
1
2
9
1. List the PS AXI interfaces to the PL
2. Describe the use of the PS master interface to the PL
3. List the PS components that are accessible from the PL via the
AXI slave interface
Zynq PS/PL AXI Ports - 2-29
© Copyright 2013 Xilinx
Summary
1
3
0
44596**slid e
Nine AXI ports are used to move data between the PS and the PL
—
—
—
—
Two general-purpose masters (M_AXI_GPx)
Two general-purpose slaves (S_AXI_GPx)
Four high-performance slaves for DDRx access (S_AXI_HPx)
One slave for DDRx access via processor cache (S_AXI_ACP)
Six PS interconnects provide pathways for PS components and
PS/PL AXI ports
Zynq PS/PL AXI Ports - 2-30
© Copyright 2013 Xilinx
Support
1
3
3
For questions on this training, please contact
your local Zynq Subject Matter Expert (SME).
Download