Six steps to build a custom IoT chip – as directed by Arm (Pt 1)
The wisdom of bespoke chip design for IoT products is plain, and already discussed in some detail. UK based Arm says a custom chip will produce a higher-grade product, with optimised performance, and save money in the end.
Fine. But how should developers, with little previous knowledge of chip design and validation, set about the task? Fortunately, this was the meat of Arm’s talk at Electronica 2018, in Munich earlier this month, and Enterprise IoT Insights heard it all.
Here, we repurpose and represent its recommendations, articulated in Munich by Alessandro Grande, developer advocate at Arm, as six simple steps for developers to design, validate and implement their own custom system-on-chip (SoC) products for superior enterprise IoT devices.
1. SPECIFY THE SOLUTION
As with any problem, the first step is to scope it out, in order to construct a logical response and an appropriate design. In most cases, the solution that emerges will require some compromise.
With SoC design, developers often find they have an existing PCB model, based on discrete components, to riff off, and inform their revised design, suggests Grande in Munich. This is useful – to define a new solution against an old one.
“You can find out what kind of building blocks you’re using already, and understand what your objectives are based on those,” he says.
Even without an existing PCB model, the exercise is the same, however, to specify the functionality – and set out requirements for capabilities such as signal processing, floating point, and connectivity.
“Think of all the features you want in your chip, and then think of the kind of targets you want to try to hit – the kind of targets for performance, power, and area,” explains Grande.
These three characteristics, declined as ‘PPA’ targets among chip designers, require discipline and compromise.
“The challenge is to find the right balance between them; you usually can’t achieve all three to the best possible scenario – you usually have to optimise one or the other.”
2. CHOOSE THE COMPONENTS
The next step is to select the building blocks to serve the SoC design, including processing units and radios, and certain peripherals and interconnects. The cherry-picking, here, is like with PCB systems, with units available from multiple vendors at multiple price-points.
The key decision is about the central processing unit (CPU), which forms the core of most IoT devices. In broad-brushed terms, there are three varieties of IoT device, and three types of CPU to go into them, explains Grande.
The first is a ‘rich embedded’ IoT system, with real grunt, as used in more power hungry, data heavy smart solutions, including cameras and certain gadgetry and gateways. A second group of “mainstream IoT devices” strikes a balance between performance and cost, with the latter calculated in terms of physical expense and power consumption.
Meanwhile, cheap low-power sensors and smart meters support only very constrained processing, with connectivity often spun out into a gateway. The CPU will depend upon the type of IoT device. Of course, Arm has micro-controllers for licensing – its A, R and M (ARM) families, going from super-constrained to ultra-powerful, serve every scenario, says Grande
3. PROGRAMME THE BUILD
After the building blocks have been selected, the job is to connect them together. In PCB design, this process requires wiring up components. With a SoC, the same wiring is done in code, defined in a hardware description language (HDL) such as Verilog.
This defines how the connections are built on to the silicon. Grande explains: “These languages allow you to describe what you want in a high level language, and then give the description to an AVA tool that can then port your design to a silicon design.”
To be continued… Check back in to see part 2, covering steps 3-6, covering configuration, validation and implementation. For more, check out the links below.
Five reasons for developers to build a custom IoT chip – as signed by Arm
Six steps for developers to build a custom IoT chip – as signed by Arm (Pt 1)
Six steps for developers to build a custom IoT chip – as signed by Arm (Pt 2)