What the FAQ is an FPGA
Presented by Clive "Max" Maxfield
A lot of people design embedded systems. Some of them are the hardware design engineers who create the boards. Others are the software developers who program the boards. The one thing that most of them have in common (apart from mutual distrust of each other) is that they predominantly use microcontrollers (MCUs) as the primary processing element in their designs.
Most of them have heard of FPGAs, but all they typically know is that these devices can be programmed to perform different functions -- they don't know how. Similarly, most of them have heard about languages like Verilog and VHDL, but all they typically know is that FPGA designers use these languages to capture the design -- they don't know how these hardware description languages (HDLs) differ from programming languages like C/C++.
In this presentation, engineer, writer, and communicator Max The Magnificent (a legend in his own lunchtime) will rend the veils asunder and reveal all. Max says that we will be leaping from topic to topic with the agility of young mountain goats, so he urges attendees to dress appropriately.
PYNQ: Using FPGA to Accelerate Python applications
Presented by Adam Taylor
PYNQ is an open source Python framework from Xilinx which enables Python developers to access the performance provided by programmable logic, traditionally in the realm of electronic engineers. Being able to access programmable logic from Python brings with it acceleration factors of 10x, 100x and beyond to applications. This session will introduce the PYNQ framework, before demonstrating a number of image processing and machine learning applications developed using the PYNQ framework, showcasing not only the performance boost but also the ease of use.
Does the Future of High-Level Synthesis Belong to Python?
Presented by Jason Pecor
The Python programming language continues to grow in popularity and momentum crossing diverse application boundaries such as web development, data science, artificial intelligence, and - thanks to MicroPython and CircuitPython - micro-controller based embedded systems. More and more engineers are adopting this powerful and flexible language putting it to work for intensive processing use cases.
C and C-based derivatives have traditionally served as the primary language used for high-level FPGA synthesis flows. However, Python is a growing presence in this space. A number of small open source projects such as MyHDL, FuPy and others represent grassroots, bottoms-up efforts to foster the Python and FPGA movement. Meanwhile, major players like Xilinx with their PYNQ platform are clearly embracing Python's place in the programmable logic realm.
As Python gets closer and closer to "the metal", it makes sense to consider the language as a potential successor to C, SystemC, or OpenCL as a preferred FPGA design entry language for high-level synthesis (HLS)based development.
This talk will provide a brief tour though Python's evolution in the world of hardware design and attempt to make a case for Python as tomorrow's HLS language of choice.