In this video, I am going to clarify why we should spend our time to learn HLS and FPGA while there are other 1
new computing platforms such as GPUs and multi-core CPUs. We should find the answer in the efficiency 2
of FPGAs in implementing several new applications. 3
With the recent advancements in deep machine learning, cloud computing, edge computing and mobile platforms, 4
new compute-intensive applications (such as image and video processing) on the end devices are ubiquitous. 5
We use these applications many times during the day when we use our mobile phones or the online services 6
around us, such as smart and online shopping apps, tracking software apps, and reservation systems, 7
just to name a few. 8
One of the main features of these new applications is their requirement for a large data processing 9
under minimal time and energy budget of the battery-operated end devices. 10
To cope with this high processing demand, industry and researchers have proposed powerful computing platforms 11
from multi-core CPUs to many-core GPUs. 12
The architecture of these computing platforms is relatively general and fixed during the manufacturing 13
process. 14
They can be found in any computing systems from servers in clouds to your smartphones. 15
There are three main issues with these fixed computing architectures: Firstly, they consume lots of 16
power and energy. 17
One of the results of this issue is the need for recharging your mobile system almost every day or spending 18
a lot of money to cool down the servers in a cloud computing station. 19
Secondly, they are not so efficient in implementing a specific algorithm or control systems. 20
And finally, with the emergence of new use cases as well as introducing new applications, these 21
computing platforms should be redesigned, which may take a couple of years. 22
All these issues can be addressed by using FPGAs integrated into the computing platforms. 23
FPGAs consume less energy compared to the CPU and GPU platforms in performing the same tasks. FPGAs provide 24
a high degree of parallelism to implement an algorithm so they can give highly-efficient hardware 25
for a wide range of applications. 26
FPGAs can be configured easily and quickly (around a few hundred ms) to implement new applications or 27
adapt previous applications for the new use cases. 28
However, one of the drawbacks of FPGA was its tedious and time-consuming design and debugging process. 29
In addition, the lack of availability of a wide range of libraries makes using the FPGA very limited. 30
Developing and testing 31
real complex applications might take more than a year. To address these issues, HLS is proposed to ease 32
the development process and to shorten the time to market. 33
The main idea behind the HLS is using software-based languages to develop hardware modules, automatically 34
or just with a minor modification to the original C-function. 35
Not only this approach facilitates the design process, but it also supports providing and reusing libraries. 36
Using HLS has enabled several companies and design groups to utilise FPGAs in their products 37
in different areas such as video and image processing, computational storage, financial technology, 38
automotive, just to name a few. 39
HLS enables us to use software languages to describe a hardware module, but what is the analogy between 40
a software function and its corresponding hardware module? 41
The goal of the next lecture is answering this question. 42
Answering this question helps us to have a big picture of the hardware description in a software language. 43
This is the takeaway message from this lecture. Compared to the CPUs and GPUs, FPGAs can provide: lower 44
energy consumption, higher performance, and shorter time to market. 45
Now the quiz for this lecture. By connecting to the Xilinx website, find a couple of companies that 46
use FPGAs in their products.