UltraFast Ultrasound Imaging on Versal
This article will talk about the Ultrasound Ultrafast Imaging modality on the new AMD-Xilinx Versal chip. The work described here is an implementation by MakarenaLabs for AMD-Xilinx and is currently in early access for customers.
To begin with, we will briefly introduce the UltraFast methodology and what does it mean.
Secondly we are going to talk about Versal and how to create and partition design on this new technology.
Lastly we are going to talk about the Ultrasound Libraries on the new Versal chip and how to exploit them.
UltraFast Imaging is a technique which continuously acquires data from the Ultrasound probe. Therefore the process creates thousand of images per second.
The creation of an ultrasound image, from the acquisition of radio-frequency data coming from the probe, is called Beamforming.
Although the creation of the images is sequential (one each emission), their interpretation it is not. In fact, the images are compounded into groups to create single High Resolution Images. Let’s give an example:
- We want to create a system which does cardiac imaging with a frame rate of 50.
- Additionally, we know from the theory that 8 emissions are sufficient to have a high quality image.
- Thus we will generate, sequentially, 50*8 images (400 images per second, one every 2.5ms).
- Every 8 images we will create an interpolated new image which reduces significantly the noise present in the acquisitions.
- The new frame will be the actual one visible on the medical monitor.
As emission and compounding techniques we considered both Plane Wave and Synthetic Aperture.
The final image will be significantly better with respect to traditional scan-line approaches.
In detail, the a possible scheme of emission and compounding is the following (in this case plane wave):
So, putting all together, we can immediately realize that we have two important boundary to consider:
- First, we need an extreme fast and complex Analog Front-end to manage the Ultrasound Probe and the acquisition of RF-Data
- Secondly, we need an extreme fast Beamforming which is able to create an image thousand of time per second (once per acquisition)
For managing this complex system, we will use a single chip, Versal, the new Adaptive Compute Acceleration Platform (ACAP) from AMD-Xilinx.
Versal is the new ACAP family from AMD-Xilinx. The chip is a 7nm Network-On-Chip (NoC) and its components are:
- Processing System (PS): Two types of CPUs (4 Arm A72 and 2 Arm R5) for managing both normal and Real-Time applications
- Programmable Logic (PL): The well-know FPGA fabric, used to accelerate deterministically a tremendous amount of applications.
- AI Engines (AIE): The new set of mesh processors which run at 1GHz+. They are capable of executing up to 128 GigaMAC/s, and thus being 400, up to 51 TeraMAC/s.
As a consequence, we choose the AI Engines to compute the whole set of operations. Beamforming is, in fact, a vectorizable data-intensive application.
The compute model of the AI Engines is SIMD (Single Instruction Multiple Data), and thus fits perfectly our necessities. Specifically, this model, process multiple elements at the same time, making it perfect for data-intensive applications.
As a reference, it follows an explanation image of the architecture:
As last chapter, we are going to detail the “Ultrasound Libraries” from AMD-Xilinx. The development of these libraries is a joint collaboration between MakarenaLabs and AMD-Xilinx.
The libraries offers the possibility to evaluate pre-built designs or create one from scratch. In fact the Ultrasound Library is divided in 3 levels:
- L1: Basic BLAS support (NumPy like)
- L2: Pre-built functions for Beamforming (Focusing, Apodization, Spline Interpolation etc…)
- L3: Full design of Plane Wave, Synthetic Aperture or Scan-Line
Although every level computes different operations one from the other, they can be seen as concentric circles, with the top level, L3, which includes the previous two and L2 which includes L1.
As a consequence, the libraries are easy to understand and use as they are self-explanatory in their structure.
If the reader would like to try the libraries out, it can request access via this link: https://www.xilinx.com/member/forms/registration/ultrasound_libraries_ea.html
To conclude our little digression we invite all the readers to test the new Versal architecture and the interested customers in joining the Early Access Lounge.
Thank you for your time and I hope the article was enjoyable.
Enjoy your acceleration,