• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Codemotion Magazine

Codemotion Magazine

We code the future. Together

  • Discover
    • Live
    • Tech Communities
    • Hackathons
    • Coding Challenges
    • For Kids
  • Watch
    • Talks
    • Playlists
    • Edu Paths
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
  • Partners
  • For Companies
  • IT
  • ES
Home » AI/ML » Machine Learning » Programmable Logic: Where Do We Use It?
IoT

Programmable Logic: Where Do We Use It?

Testing and verifying embedded systems is a challange that can be overcome with the right tools. Let's find out more with four use cases in which programmable logic plays a central role.

October 29, 2021 by Adam Taylor

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.

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.

facebooktwitterlinkedinreddit
Share on:facebooktwitterlinkedinreddit

Tagged as:IoT Machine Learning

Why Live Streaming is an Asset to B2B Marketing
Previous Post
Guide on Blockchain Software Development
Next Post

Related articles

  • AI at the Edge of IoT (IoT Edge AI )
  • FPGAs: What Do They Do, and Why Should You Use Them?
  • How to Implement AI Predictive Maintenance on Edge Devices (Case Study)
  • How to Optimise Your IoT Device’s Power Consumption
  • 7 Mitigation Strategies to Address IoT Security Risk
  • The State of AI in 2021
  • The Rise of Machine Learning at the Network Edge
  • Never Be Bored with a Career in IoT
  • This is How Mathematics Keeps Your IoT Device Safe
  • Web Progressive Apps: Creating Bluetooth Robots

Primary Sidebar

Free Whitepaper: The Ultimate Azure Cybersecurity Handbook.

Codemotion Talent · Remote Jobs

Flutter Developer

3Bee
Full remote · Android · Flutter · Dart

Python Back-end Developer

h-trips.com
Full remote · Django · Pandas · PostgreSQL · Python

AWS Cloud Architect

Kirey Group
Full remote · Amazon-Web-Services · Ansible · Hibernate · Kubernetes · Linux

AWS SysOps Administrator

S2E | Solutions2Enterprises
Full remote · Amazon-Web-Services · Terraform · Linux · Windows · SQL · Docker · Kubernetes

Latest Articles

scalable vue.js application

Best Practices for Building a Scalable Vue.js Application

Frontend

Javascript color library. Discover how to use it in this guide.

Unsupervised Learning in Python: A Gentle Introduction to Clustering Techniques for Discovering Patterns

Languages and frameworks Machine Learning

Ai and compliance: discover how to solve this common problem with GenerativeShield in this infographics with insights from S2E.

Combining Company Data with Generative Conversational AI Without Losing Privacy and Compliance

Infographics

microservices digital transformation. From monolith to microservices concept.

Why You Need Application Mapping for Your Microservices Applications

Microservices

Footer

  • Magazine
  • Events
  • Community
  • Learning
  • Kids
  • How to use our platform
  • Contact us
  • Become a Contributor
  • About Codemotion Magazine
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

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

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • RSS