Meeting Multiple IoT Application Requirements with a Single, Configurable DSP Core

By Neil Robinson, Cadence Design Systems 

Whether inside smarter homes or cars or city infrastructures, we’re seeing a proliferation of connected devices in our modern world that is continuing unabated. You can almost say that these Internet of Things (IoT) applications are only limited in function by the imagination of the inventors. Designing the underlying systems on chip (SoCs) to support IoT applications calls for technology that provides a new level of processing scalability. After all, each of these applications is enabled by a connected network of Things, the Fog, and the Cloud. This paper discusses a new programmable digital signal processor (DSP) that can scale to support an array of processing requirements for IoT applications. This DSP gives you the ability and agility to expand your product roadmaps for new and changing business opportunities, without adding significant cost or energy to your designs.

Introduction

Wearable health monitors that communicate with your doctor’s office can give your doctor access to cumulative data for assessing your overall health. Cities can lower energy usage by installing smart lighting systems that turn streetlights on or off depending on whether anyone is in the area or if there’s enough natural light available. Road safety improves when cars can detect other vehicles, including their direction and speed, and avoid imminent collisions. 

The IoT covers a vast range of products that enable information collected in one location to be transmitted to another location so that decisions can be made to improve some situation. These end products are triggering a surge in the number of sensors that call for higher, more efficient control and signalprocessing algorithms, as shown in Figure 1. With the wide range of processing requirements, along with the need for low cost and low energy, the market has, until now, lacked a single-processor architecture solution for dataintensive IoT applications.

Balancing Computation Requirements and Power Consumption

Figure 1: IoT applications, such as wearables, require more complex signal processing and ultra-low energy

In this paper, we will examine how a configurable DSP can integrate optimizations for key IoT application functions on a single-processor architecture. As examples, we will discuss three key IoT application areas: wireless connectivity, always-on, and sensor fusion.

Things, Fog, and the Cloud

Things are typically endpoint devices that collect data from sensors and make changes in response to some control actions sent from another part of the IoT application. The amount of processing required in each case is very different. For example, an accelerometer in your wearable fitness monitor is used to figure out if you are walking or running in order to count “steps”—it doesn’t matter too much if a single step is missed or a non-step counted. Your car also uses an accelerometer to help determine if you are crashing so that the airbag can be deployed—but here, a wrong determination can be a fatal one. 

In addition to the need for low cost and low energy, the required capabilities of these Things have a large range, which means that you must minimize the design in each case. Having the hardware for a particular function that never gets used just adds cost and increases energy consumption.

The Fog connects one or more Things to the Cloud, providing pass-through or aggregation functionality. Sometimes the Fog can be intelligent and can pre-process the data before sending it to the Cloud, fully process the data locally and only store data in the Cloud, or fully process the data locally and infrequently talk to the Cloud. As you can see, the range of processing requirements in the Fog is very large, too. Devices in the Fog are often not battery powered, so there is slightly less pressure on reduced energy consumption. However, keeping energy consumption low does help keep the product cost down by minimizing heat dissipation.

The Cloud, typically represented by a regular data center, is the place where the collected data gets stored and perhaps processed/analyzed in order to make decisions. It’s the software that is running on the data center servers that makes it suitable for a particular IoT application. Performance requirements for cloud processing are also very different, but, since there are few physical constraints, it’s relatively easy to change the resources in the data center to match the processing load. Only a relatively small number of servers is required compared to the number of Things out there, so cost is less of an issue.

Common Development Tools for Multiple Projects

As a product line develops, evolves, and improves over time, the processing requirements can go up or down. Choosing a processor family with the same development tools across multiple products is usually preferable as it saves cost and time in training, tools, and development from one project to the next. 

With most processor suppliers, there may be a few acceleration options (e.g. floating point), but the usual way to scale up the performance is to increase the clock speed and/or go to the next generation of that processor family. Because these choices typically increase the energy consumption and the die size—the opposite of what you need—you have no choice but to offload the more demanding tasks from the processor into external accelerator blocks. Offloading requires more development and verification time, but is an option to meet the energy and cost constraints for your product.

Clearly, what is needed is a flexible processor architecture that meets a wide range of power and processing performance requirements.

Delivering IoT Functionality on a Single Configurable Core

Cadence’s Tensilica Fusion DSP provides a scalable processor for IoT applications, based on the proven, customizable Xtensa Innovation Platform. The Xtensa Innovation Platform is unique in the industry—it allows you the flexibility to configure parameters and add predefined or custom instructions to your processor in a way that is fully blended and verified in the final processor.

The Tensilica Fusion DSP is designed to deliver ultra-low energy implementations across a wide range of IoT applications, keeping clock-rate requirements low and reducing code size. It is a dual-issue, very long instruction word (VLIW) Xtensa platform-based DSP with multiplier accumulator (MAC) support for one 32x32, two 32x16, two 24x24, or two 16x16 real and complex operations. In addition, as shown in Figure 2, the following options can be chosen as needed during the configuration process to be tightly integrated into the final processor:

  • Single-precision floating-point unit (FPU), where floating-point instructions are issued concurrently with 64-bit load/store, speeding software development of algorithms created in MATLAB or in standard C code 
  • Audio/voice/speech (AVS), which has software compatibility with the Tensilica HiFi DSP and is backed by access to more than 140 HiFi audio/voice software packages 
  • 16-bit Quad MAC (adds a four 16x16 operation), which further accelerates communications standards like Bluetooth Low Energy and Wi-Fi, along with voice codec/recognition algorithms 
  • Encryption acceleration for Bluetooth Low Energy/Wi-Fi AES-128 wireless operations 
  • Advanced bit manipulation, which accelerates implementations of baseband MAC and PHY, including LFSR (linear feedback shift register), CRC (cyclical redundancy checking), convolutional encoding, and bit select operation for interleaving/de-interleaving 
  • Flexible memory architecture that works with caches and/or local memories of various sizes, depending on application
Figure 2: Processor configuration options available in Tensilica Fusion DSP

In addition to choosing from other pre-defined Xtensa configuration options, by designing with the Tensilica Fusion DSP you can add new instructions into the processor to give you the functionality you need for optimum performance of a particular application. These new instructions are created using a simple Verilog-like language and the new processor is automatically generated, with everything necessary for software and hardware development flows. The process takes a fraction of the time it would take if you had to design custom logic yourself.

Application Examples

Let’s take a look at three popular IoT application examples, and show how a scalable, low-energy DSP can support these designs:

  • Wireless connectivity 
  • Always-on (for listening to and responding to sounds and other triggers) 
  • Sensor fusion

Wireless connectivity covers many of the devices you would find in a smart home—connected security systems, lighting fixtures, temperature systems, and the like. Since these are consumer devices, there are expectations of low product cost and, where applicable, long battery life. There are also first-to-market product pressures, as well as the need to keep development costs low. Adding to the challenges are the multiple wireless standards that are in play, and the fact that these standards continually evolve. You need a processor that can help you create a differentiated and future-proof product.

Always-on processor technology involves systems where some compute resources are always on to monitor sensor inputs (e.g., voice) for commands, while more powerful compute resources are turned off until needed. Always-on technologies are common in mobile systems and wearable devices. The challenge lies in delivering the right level of processing while minimizing energy consumption to conserve battery life. Versatility is also important, as the processor may be called upon to support a wide range of always-on functions, such as voice trigger, motion, and face recognition.

Sensor fusion combines control and signal processing, taking input from multiple sensors and fusing the data to make intelligent decisions about next steps. Sensor software often uses floating-point algorithms, which are not very efficient without acceleration hardware, requiring more energy and silicon area than other IoT applications typically need.

The Tensilica Fusion DSP meets the requirements of each of these applications. Since the DSP is programmable in standard C code, supporting multiple, evolving standards is not an issue. In addition, the DSP is designed for low energy consumption, and can be scaled up in performance when needed by adding in the options required for your particular application. No extra DSPs are needed to offload computations while still keeping the clock frequency and energy consumption low.  

Summary

You can already buy a ceiling fan that turns on only when it detects that people are in the room and automatically adjusts itself to keep the room temperature comfortable. Its accompanying smartphone app lets you schedule on/off times and adjust its speed. It’ll even remember your temperature preferences. Taking this concept a little further, imagine if this fan could, knowing the current outside temperature and the weather forecast, automatically make appropriate adjustments to produce the right inside temperature for you.

The products we use in our everyday lives are, indeed, getting smarter—this is made possible by a host of underlying technologies. Configurable, low-energy DSPs, such as the Tensilica Fusion DSP, are playing a key role in helping imaginative designers create unique products that meet a range of requirements for performance, energy consumption, cost, and form factor with a scalable processor architecture that reduces development costs and risk.

For Further Information

Learn more about the Tensilica Fusion DSP at IP.