Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

SOLUTION BRIEF

Accelerated Algorithmic Trading


v
INTRODUCTION
The Xilinx Accelerated Algorithmic Trading (AAT) system is a fully
featured opensource, license-free HLS hardware and software
reference design for trading applications. Give your development
team a head start to create their own hardware-accelerated Features and Benefits
algorithmic trading platform.
‣ Full implementation in HLS

SOLUTION OVERVIEW ‣ Designed for Software Engineers


‣ Source code provided
Trading strategies running on CPUs incur additional latency,
particularly from traversing the PCIe bus. FPGA based trading ‣ Integrated with Vitis™
strategies can significantly lower latency, but typically need large ‣ Runs out of the box on Xilinx Alveo™
teams of experts and long design cycles.
‣ Supported on Alveo™ U250 , U50
Xilinx AAT reference design (Fig 1) provides all the infrastructure ‣ Supports XDMA and host memory bridge
required to create a trading application on the FPGA using Xilinx based shells
Vitis™ unified platform, and standard Xilinx shells. The design is ‣ TCP, UDP, ethernet IPs provided
written in HLS, and all the source code is provided. The design is
‣ Orderbook module managed by CME MBP
modular, allowing you to easily replace IP blocks in the reference scheme provided
design with your IP. Xilinx AAT reduces the time to take your
solution to market and enables building FPGA based trading ‣ Feed handler module for FIX format
solutions at minimal cost.

Host Application Configuration

Device Pricing Order Entry TCP/IP Ethernet


Management

Order Book Feed Handler UDP/IP Ethernet

XRT

PCIe

ALVEO
Shell

PCIe XDMA Management Control

Dynamic
SFP 10G TCP
DDR

TCP/IP Ethernet
Pricing Order Entry

UDP/IP Ethernet SFP


Line 10G UDP
Order Feed Handler
Handler UDP/IP Ethernet
SFP 10G UDP
FPGA

Figure 1: Xilinx infrastructure for low-latency trading

Adaptable. Intelligent.
SOLUTION DETAILS

The AAT reference design uses standard Vitis ™


shells for data transfer between host applications Pricing Engine AAT Application
and kernels in the FPGA (Fig 2), as well as for card
management. IP blocks are connected using AXI4- CLI Calls
stream interfaces and can easily be replaced by CLI & Debug
3rd party IP. Application Interface
Command Shell
Layer
AAT provides upto three 10GbE ports, UDP IP API Calls API Calls
blocks, as well as a line handler module for line
arbitration. A feedhandler module, an orderbook Driver Driver
Driver Layer
module and a pricing module are provided as (Objects for each kernel)
examples .

The reference design provides the ability to


implement the pricing module on the host CPU. Hardware I/O Layer
The order entry module and TCP IP modules can
be used to execute orders with minimal latency.
AAT provides drivers for each IP in the design, XDMA Driver Xilinx Run Time (XRT)
along with an application layer and a command
line interface to interact with the solution.

HLS Kernels Kernel


The latest release of the AAT reference design Kernel
Running in FPGA
provides the ability to run cycle accurate
simulations using PCAP files as inputs. Hardware
emulation (Fig. 3) makes debugging your designs
easier by providing visibility into the path of a
packet through each block in the design This
feature reduces design time significantly and
Figure 2: Xilinx AAT Software Stack
allows you to build and take high quality solutions
to market sooner.

Figure 3: Hardware Emulation

TAKE THE NEXT STEP > Learn more at xilinx.com/algotrading

Adaptable. Intelligent.
© Copyright 2021 Xilinx, Inc. Xilinx, the Xilinx logo, Alveo, Artix, Kintex, Spartan, Versal, Virtex,
Vivado, Zynq, and other designated brands included herein are trademarks of Xilinx in the
United States and other countries. All other trademarks are the property of their respective
owners. Printed in the U.S.A. EW 022121

You might also like