Programmable logic offers a higher, and more deterministic performance than standard microprocessors or Digital Signal Processors. Additionally, programmable logic is more power-efficient than its rivals and possesses a flexibility that makes it an obvious choice for many applications, across a wide range of industries.
In the previous article in this series co-produced with Mouser Electronics, we saw three IoT-Edge-AI case studies that can be achieved with an affordable board with high performance and low power consumption. Now, this article will consider four of the many use cases, each highly diverse, in which programmable logic plays a central role.
Developing, testing, and verifying complex embedded systems can present significant challenges, with the latter two stages of the process often proving even more complicated than the original development.
Frequently, successful development in this area requires the creation of bespoke test equipment capable of offering real-time stimulus, data capture, analysis, and storage. Programmable logic’s high performance often makes it a frontrunner when choices are being made about the creation of Special-to-Type Test Equipment (STTE) to stimulate and capture output data.
An approach like this means that – for most applications – real-time samples can be generated and captured. The use of a heterogeneous SoC in the Test Equipment allows the programmable logic element to make use of Gigabit Ethernet links or USB3 to take on board stimulus test patterns and report the data patterns captured for further analysis.
STTE is not the only place programmable logic can be deployed, of course. Standard lab equipment such as oscilloscopes, logic analysers, and signal generators now frequently house traditional FPGA and heterogeneous SoCs.
The Tektronix TBS1052C offers one such example. A single-core Zynq-7000 SoC allows the Tektronik device to implement signal capture and interface with 1GSa/S ADCs alongside advanced triggering capabilities in relation to the digitized data.
The SOC contains an ARM processor core, which directs the operating system and scope application and provides the capacity for USB interface, to create a solution that offers closer integration than most such systems can achieve.
Automotive and ADAS
Increasing assisted and automated driving capacity is the automotive industry’s holy grail of the moment, in accordance with the Society of Automotive Engineer’s five-level capability matrix.
Automotive-focused solutions need to keep safe interaction with the external world firmly at the forefront of the development process. This usually involves the use of a number of different sensor modalities and communications systems, including:
- Vision Systems, such as Infrared
- 4D RADAR
- Global Positioning Systems
- Vehicle-to-Vehicle and Infrastructure Communications
This abundance of sensors and systems create a number of challenges for system designers. A veritable flood of data must be aggregated and processed before any decisions around vehicle actions can be put into action.
The wide range of sensors also means dealing with a wide range of interfaces, from high-performance multi-gigabit serial links (e.g. MIPI) to lower-speed interfaces such as SPI and I2C.
Traditional system-on-chip solutions offer a restricted number of diverse fixed-function interfaces. Choosing a programmable logic device lifts these restrictions, allowing system designers to leverage a flexible IO structure to offer users exactly the interfaces required by a specific solution – both number and type.
Programmable logic’s parallel structure allows parallel image/signal processing chains to be offered, increasing responsiveness – a responsiveness that is essential to safe vehicle interaction with other vehicles and the wider environment.
Data centre acceleration is a hot topic in the programmable logic arena. The use of programmable logic in data centres means that large FPGAs are combined with x86 processors, with PCIe connections. The x86 software application can thereby offload highly parallel functions to the FPGA, speeding up the system’s performance.
Xilinx offers a range of accelerator cards called Alveo that enable accelerators to be deployed on-site or via the Cloud. Designed to interface over PCIe, Alveo cards are programmed using the Vitis unified software platform and OpenCL. As a result, developers can use C/C++ and OpenCL to accelerate algorithms.
Typical data centre applications include quantitative finance, database and data analytics, machine learning, and network acceleration.
Industry 4.0 makes great use of Programmable Logic in tackling the challenge of implementing a converged network, merging the Information Technology (IT) and Operation Technology (OT) networks.
Traditionally, Enterprise Resource Planning (ERP) is located in the IT network. The OP network contains the sensors and drives used in product manufacture. Connections between the two networks create challenges around using gateways, bridges and protocol converters, which can have a limiting effect on the scalability of the OT network.
Consequently, IT and OT networks have different requirements. IT networks require access to multiple systems and databases, while the OT network demands real-time determinism if it is to effectively control its sensors and drives.
One increasingly popular solution is to use Time-Sensitive Networking (TSN) to implement solutions. Ethernet remains the most popular TSN standard and is defined by several IEEE 802.1 standards.
TSN implements cross-network time awareness by allocating scheduled traffic in time-defined slots. Cyclic data transmission and pre-emption for higher priority packets are also supported.
Getting the best from TSN demands a solution that offers low latency and deterministic responses at endpoints and switches. Xilinx Zynq SoC and Zynq MPSoC devices make their value known here, enabling TSN ports to be implemented with programmable logic.
TSN ports can be implemented in the Xilinx ecosystem by using their TSN Ethernet Endpoint MAC LogiCORE IP inside a Zynq-7000 SoC or Zynq UltraScale+ MPSoC.
Both the Processing System (PS) and Programmable Logic (PL) are utilised by each system. LogiCORE IP includes FPGA logic for MAC, TSN Bridge, and TSN Endpoint, alongside software components for network synchronization, initialization, and network configuration controller interfaces for Stream Reservation as defined in P802.1Qcc.
Designed to run on PetaLinux the software will be published as Yocto patches.
The logic IP core helps to offload the processing unit and offers deterministic behaviour in the PL for synchronization (IEEE 802.1AS), scheduled traffic (IEEE 802.1Qbv), and seamless redundancy (P802.1CB). An optional integrated time-aware L2 switch can also be integrated to enable either chain or tree topology.
The TSN, once implemented, can be combined with custom applications like motor control or sensor interfacing within the PL in order to act under the control of the TSN.
An engineer’s job is the selection of the most appropriate implementation technology. Used across increasingly diverse applications and use cases, Programmable logic is a valuable instrument in our toolbox.
PLs inherently parallel nature and flexibility of Programmable Logic enable its use with a wide range of algorithms. The Xilinx ecosystem provides the IP and software drivers required for the creation of solutions for a diverse range of applications, including those that move towards higher levels of abstraction, such as those displayed in Cloud computing offerings.