Why FPGAs were used in the Perseverance rover for applications such as radar transceiver, navigation systems, motor controllers, and computer vision applications.
Tasked with finding life in the form of microorganisms, the rover Perseverance landed on Mars at about 04:00 EST on February 18, 2021. The rover has multiple sensors and cameras to collect as much data as possible and, due to the volume of live data being recorded and the long data transmission time from Mars to Earth, a powerful processing system is essential.
However, whereas early Mars rovers were equipped mainly with CPUs and ASICs as the processing units, FPGAs are taking on much of the workload in Perseverance. Let’s consider why that is the case.
FPGAs are used in newer Mars rovers for different applications such as radar transceiver, navigation systems, motor controllers and computer vision applications. Perseverance utilizes an almost decade-old FPGA technology (Xilinx Virtex-5) as one of the main processing units. This unit is first responsible for rover entry, descent and landing on Mars and then it is programmed for computer vision tasks by NASA engineers from the Earth. Other units on Perseverance such as UHF transceivers, radar, X-ray (identifying chemicals), and cameras are controlled with XQR4VFX60 and XQR2V3000 FPGAs.
One of Perseverance’s most important units is SHERLOC, a rather apt acronym for Scanning Habitable Environments with Raman & Luminescence for Organics & Chemicals. It uses cameras, spectrometers, and a laser to search for organics and minerals that have been altered by watery environments and may be signs of past microbial life. SHERLOC’s functionality is largely implemented in a unit, which is a sensor fusion module (combination of a camera, spectrometer, and laser) with a purpose of fine-scale detection of minerals, organic molecules, and potential biosignatures. This unit is also run by XQR2V3000 FPGA.
Fig. 1: Perseverance Mars rover.
The interesting point about the Perseverance is that by using FPGAs to implement well-optimized machine learning and computer vision algorithms, it is achieving much higher performance levels (circa 18x) than Curiosity rover which landed on Mars on August 5, 2012 is still active on Mars.
Here are some of the main reasons why FPGAs were the best choice for Perseverance’s most intense processing functions:
However, even with the above benefits of using FPGAs, you could still have a relatively complex design verification process – if the most appropriate EDA tools are not used to automate the steps and provide you with the utmost confidence for the launch day.
RTL simulation before generating the netlist lets us find the errors in the design in an early stage which saves us a lot of time and money. After simulating, prototyping is what makes us completely confident about the accuracy of the design verification. This step requires a single to multi-FPGA prototyping board. If the design is not fit into a single chip, it must be portioned into multi-FPGAs which is problematic if it is done manually. This is when a design verification manager tool with multi-FPGA auto partitioning feature saves a fortune.
Fig. 2: Aldec FPGA/ASIC prototyping and emulation solution.
Leave a Reply