The automotive industry is currently working hard to fulfil the end user's dream of autonomous driving. This is a dream that has been around for quite some time and now seems to be achievable within the next decade. While legislative hurdles still exist, there still exist legislative hurdles that need to be taken into account, the technological questions seem to be answered for the most part: Radar, Lidar-, ultrasonic and camera sensors can provide all of the required data of the vehicle’s surrounding environment that would be necessary for autonomous operation. The fusion of all of this sensor data, the appropriate vehicle control algorithm, and the Human-Machine Interface (HMI) are areas remain fields where more effort is required to make autonomous driving achievable.
Devices like the Xilinx Zynq-7000 All Programmable SoC are enabling these modern systems by delivering unsurpassed processing power, leading performance to power ratio, with and the option to up/downscale the design within the device family according to the specific project requirements.
However, for developers not familiar with this kind of technology, using a device like the Zynq AP SoC may look like rocket science compared to the conventional flow of developing software for an MCU or DSP. While developing software for Zynq may be more complex due to the nature of the device, providing more flexibility with the same principles for software development or coding still apply. Another reason why companies are sometimes reluctant to adopt new hardware architectures is the fact that most companies employ four times more software developers than hardware developers, and even within the latter group, only a handful would consider themselves as experts in a hardware description language, like VHDL or Verilog, to design an FPGA/ Programmable SoC. In reality today, intelligent tool chains can automatically add parallelism and pipelining to a sequential description, and advanced profiling can guide the programmer towards more efficient and higher performance implementations of their design.