• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Codemotion Magazine

We code the future. Together

  • Discover
    • Events
    • Community
    • Partners
    • Become a partner
    • Hackathons
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
    • Manifesto
  • Companies
  • For Business
    • EN
    • IT
    • ES
  • Sign in

Adam TaylorOctober 29, 2021

Programmable Logic: Where Do We Use It?

IoT
facebooktwitterlinkedinreddit

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.

Recommended article
IoT app
October 10, 2024

The IoT Journey: From Prototype to App

Matteo Crippa

Matteo Crippa

IoT
Table Of Contents
  1. Test Equipment
  2. Automotive and ADAS
  3. Cloud Computing 
  4. Industrial 
  5. Conclusion

Test Equipment

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.

A picture of the TBS1052C at work.
TBS1052C at work, debugging an embedded system.

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.

A diagram with SAE Levels for assisted and automated vehicles.
SAE Levels for assisted and automated vehicles.

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
  • LIDAR 
  • Accelerometers 
  • 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. 

Cloud Computing 

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. 

Industrial 

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.  

Conclusion

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.

Related Posts

This article shares essential IoT security best practices for developers. From encryption to user identity management.

IoT Security Best Practices for Developers

Gilad David Maayan
May 23, 2024
underwater IoT, wsense

Discover How an Italian Company is Breaking Ground in Underwater IoT

Codemotion
December 14, 2023
IoT security, AI Tools and security

This is How Mathematics Keeps Your IoT Device Safe

Norman Di Palo
January 26, 2023
web progressive apps, bluetooth, robots

Web Progressive Apps: Creating Bluetooth Robots

Codemotion
December 14, 2022
Share on:facebooktwitterlinkedinreddit

Tagged as:IoT Machine Learning

Adam Taylor
Adam Taylor is an expert in design and development of embedded systems and FPGA’s for several end applications. He is the author of numerous articles and papers on electronic design and FPGA design, a Chartered Engineer, Fellow of the Institute of Engineering and Technology, Visiting Professor of Embedded Systems at the University of Lincoln and Arm Innovator. He is also the owner of the engineering and consultancy company Adiuvo Engineering and Training.
Why Live Streaming is an Asset to B2B Marketing
Previous Post
Guide on Blockchain Software Development
Next Post

Footer

Discover

  • Events
  • Community
  • Partners
  • Become a partner
  • Hackathons

Magazine

  • Tech articles

Talent

  • Discover talent
  • Jobs

Companies

  • Discover companies

For Business

  • Codemotion for companies

About

  • About us
  • Become a contributor
  • Work with us
  • Contact us

Follow Us

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions