User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 647
UG585 (v1.11) September 27, 2016
Chapter 22
Programmable Logic Design Guide
22.1 Introduction
This chapter covers the following topics:
Programmable Logic for Software Offload is intended to introduce the user to high-level
concepts of using the Programmable Logic (PL) to offload CPU functions.
PL and Memory System Performance Overview discusses various performance-related behaviors
of memory paths through the PS.
Choosing a Programmable Logic Interface contrasts different PL interfaces available and shows
typical uses.
22.2 Programmable Logic for Software Offload
Zynq devices have the unique capability of mapping software algorithms directly to programmable
logic. Benefits might include reduced execution time, reduced operating power per function,
reduced memory traffic and predictable low latency.
This section describes these benefits from a general perspective. Later sections describe specific
performance and potential programmable logic topologies.
22.2.1 Benefits of Using PL to Implement Software Algorithms
Performance
Algorithms implemented in programmable logic can often be scaled to a full parallel implementation
delivering maximum throughput, or to an intermediate throughput level at lower area cost. This
allows the performance of an algorithm to be scaled well beyond what is achievable on the A9 or
NEON units.
For example, consider an algorithm which requires 100 basic operations roughly equivalent to 100
instructions or lines of C code on the A9. A fully parallel programmable logic implementation might
implement these operations using CLBs, DSP slices, and block RAMs. If the PL executes these 100
operations in parallel and is clocked at ¼ the rate of the ARM clock, this function would have a
potential speedup of 25x. This assumes that the PL implementation is not limited by I/O or resources.