Development Tools Enabling The Internet of Things

Designing for the IoT creates a number of new challenges for system designers. It’s not as easy as it sounds.


I’m at the Embedded World conference in Nuremberg this week. Yes, between Mobile World Congress in Barcelona and DVCon in San Jose, Calif., I chose Embedded World. Unfettered by unseasonally late snow and bad weather, it turns out this was the right decision. I have not attended this show for a couple of years and am pleased to find that the show has developed quite a bit. There are more than 845 exhibitors spread over six halls. The show is just as diverse as I had described its US brethren Design West in my post “Trying to make sense of the Chaos” earlier last year, just bigger. Much bigger!

The key themes here are low-power design and safety/security. Given the strength of the car industry here in Europe a lot of it is focused on the automotive application domain. There are networks within cars, there is consumerization within cars with impressive infotainment devices as well as complex body electronics under the hood. All of this requires complex hardware/software co-development, and that is why we are exhibiting the various components of our System Development Suite here.

Another driver is the network of cars, talking to complex infrastructures. And this is closely related to a term that has found adoption in the last couple of years — the “Internet of Things” (IoT). The term has been used for a while and you can find an interesting overview of infographics related to the IoT here. Here are some of the highlights:

  • Cisco estimates that in 2008 the number of “things” connected to the Internet already exceeded the number of people on earth, and goes on to predict that by 2020 that number will grow to 50 billion. By the way, this count apparently includes cattle and sheep equipped with wireless sensors so that when one is sick or pregnant, the sensor can send a message to the farmer. Each cow transmits 200 Mbytes of data per year. More relevant to me personally,  I cannot wait for my calendar to be connected either, so that it knows when a power outage has closed  my gym and then automatically adjusts my alarm clock to let me sleep in instead of letting me arrive for my morning work out only to find closed doors.
  • Intel shows a graph starting with the birth of the Internet branching out to 2020 and predicting 31 billion connected devices by then. Here in Nuremberg the big Intel booth is pretty much centered around connectivity and the IoT.
  • The consultancy firm Casaleggio Associati describes the evolution of the Internet of Things from “the world as an index” through “taking the world online”, “taking control of the world”, “let the things talk to each other” to “let things become intelligent.” Key technologies here are augmented reality, geotagging and GPS to enable the indexing, RFID and bar codes to take everything online, remote controls to start controlling, Machine to Machine (M2M) communication to let things talk to each other all the way to object-generated content (OCG) to let things become intelligent.
  • The most re-used diagram — I have seen it in presentations left and right here in Nuremberg — a circular visualization, that comes from Beecham Research. This diagram sorts the “Internet of Things” across various application domains — buildings, energy, consumer and home, health care and life science, industrial, transportation, retail, security and public safety, IT and networks — from service sectors to application groups, locations and devices.

Common cross all of this are the technologies to connect devices and the connections to the environment itself. And enabling all this requires changes in the development flows, a transition that has already started.

For one, the hardware and software of the connected devices needs to be validated within their environment. From a development tool perspective, the interaction of software with the analog and mixed/signal world, as well as the environment in which the devices reside, gains much more importance. As a result a new category of software for less complex processor cores creates a new set of requirements on development flows, and requires raising the abstraction level for mixed-signal simulation as described recently by my colleague Sathish Bala in a blog called “Smart Devices” and How They Affect Your Mixed-Signal SOC Verification”.

The figure associated with this post shows an example from the transportation domain. Software on a virtual platform for an ARM Cortex M0 microprocessor based microcontroller controls the regulator for a fuel pump module and injector based on the inputs it gets from the pressure sensors. The actual test bench represents the analog environment and needs to be modeled as such.

Co-Simulation of Behavioral Analog Mixed Signal Content with Software

Co-Simulation of Behavioral Analog Mixed Signal Content with Software

From a tools perspective users need to see the software combined with RTL and the AMS simulation results, as indicated in the figure above, running an ARM Cortex-M0 processor together with real number modeling (RNM) for the mixed signal portion of the design.

In addition to the pure embedded world, development environments have to take into account the networking and the software running within the environment infrastructure. The 200 Mbytes of data produced per year per cow, as well as data created in automotive sensors, are received in the environment and lead to “Big Data Analytics” on the infrastructure side.

Finally, from a systemic point of view, once the chip and its AMS connections connecting the “Things” in the IoT to the infrastructure in which it resides, the network itself needs to be simulated and appropriately configured, providing the necessary bandwidth to move data back and forth.

Bottom line: Designing for the IoT presents some new challenges like simulating the network of chips (not really new as technology — tools like Ptolemy have been used in this domain for a long time), all of it in the context of AMS interfaces. They are combined with existing challenges like bringing hardware and software designers closer together, enablement of early software development and validation as well providing tools for mixed-level simulation.

System development remains interesting for years to come!

—Frank Schirrmeister is group director for product marketing of the System Development Suite at Cadence.