White Paper

8107.02E-0822-wp-ACAP-Journey_Aug112022

Issue link: https://read.uberflip.com/i/1476562

Contents of this Issue

Navigation

Page 3 of 8

WHITE PAPER Designer's Journey: Navigating the Transition to Versal ACAP mrcy.com 4 LEARNING BY EXAMPLE We selected a problem to solve using AIE and created a small test application consisting of a single kernel. This kernel would perform a common DSP function: beamforming. We began by studying the AIE architecture manual before coding the test beamformer kernel in C++. This kernel would take in multiple AXI4-Streams for element data and weights, producing an output stream of a single complex beam. For the first design, we settled on two input streams of interleaved element samples, with another input stream for weights. These streams were continuously read into double- buffered memory within the AIE. The initial C code for the kernel function looked like this: WHAT IS BEAMFORMING? Beamforming — also referred to as spatial filtering — is a signal processing technique used in sensor arrays for directional signal transmission or reception. This is achieved by combining elements in an antenna array in such a way that signals at particular angles experience constructive interference while others experience destructive interference. Simple Coherent Summation Equation: We initially chose the input data width to be 64 receive elements, as this represents a common beamforming application. However, we soon discovered that routing 64 streams to a single AIE was not feasible. As you will see in the next section, we overcame this obstacle by interleaving our element samples into two streams.

Articles in this issue

Links on this page

view archives of White Paper - 8107.02E-0822-wp-ACAP-Journey_Aug112022