This document summarizes a case study presented on the design of industrial instrumentation systems using multicore processors. Key aspects discussed include the use of aspect-oriented design to enable parallel hardware and firmware development, an event-driven programming model, and static memory allocation to guarantee worst-case performance. Performance results demonstrated low defect rates, high design reuse, and the ability to rapidly develop new products through a fully parallel development process.
Alfa Instrumentos Case Study on Event-Driven Industrial Instrumentation Design
1. Case Study: Alfa Instrumentos Multicore Industrial
Instrumentation
Thursday, April 25, 13
2. Design West 2013
Case Study: Alfa Instrumentos
Mul=core Industrial Instrumenta=on
Jonny Doin -‐ Principal Engineer
Thursday, April 25, 13
3. Industrial Instrumenta.on
Case Study
In this class a Case Study will be shown of a family of
Industrial Instrumenta.on systems developed in the
course of the last 4 years.
Some design decisions will be discussed, along with
basic Architectural and Methodology aspects.
The results will be shown in the form of some
performance and field data.
Thursday, April 25, 13
4. Case Study
Agenda
• Aspect Oriented Design
• Mixed Signal Hardware Design
• Asymmetric Mul. Core
• Bare-‐Metal Firmware
• Event-‐Driven Programming
• Sta.c Memory Alloca.on
• Hardware/Firmware co-‐design
• Some performance data
Thursday, April 25, 13
5. Case Study
Aspect Oriented Design
AOD is more commonly found in large VLSI circuit
design.
• Design paradigm that decomposes a logic design into
concerns, and analyzes the cross-‐cuOng concerns between
design units;
• We loosely apply AOD concepts into all levels of our designs,
from mixed-‐signal hardware design, PCB rou.ng, and
firmware design;
• AOD enabled us to do parallel implementa.on of hardware
and firmware, allowing several engineers to work on the same
design, accelera.ng design cycles;
Thursday, April 25, 13
6. Case Study
Aspect Oriented Design
AOD also helps maintaining integrity of large
firmware projects.
• Correct aspect decomposi.on ensures scalability of the logic
design, by helping to maintain modularity and concern
separa.on;
• Recogni.on of aspect cross-‐cuOng level is important to
achieve high modularity and design reuse;
• Helps to maintain design integrity along the evolu.on and
maintenance;
• Helps to realize the scalability of a given architecture;
Thursday, April 25, 13
7. Case Study
Mixed-‐Signal Hardware Design
For precision instrumenta.on, you need precision
mixed-‐signal techniques.
• Selec.ng suitable components is just part of the answer;
• Ground and power domains have to be carefully designed;
• EMC and EMI/RFI techniques for the Industrial environment;
• Minimiza.on of self-‐inflicted noise;
• The PCB itself is the most important electronic component of
a system;
• Correct handling of the analog design will help achieve
datasheet performance of ADCs and SPICE models;
Thursday, April 25, 13
8. Case Study
Asymmetric Mul.-‐Core
In mission cri.cal systems, resilience and failure
containment are key factors to high reliability.
• Separa.on of subsystems into different cores isolates
processing domains;
• Different subsystems have different processing needs;
• Failure containment at subsystem level is facilitated;
• Core applica.on is isolated from external threats;
• Higher modulariza.on, helps deriva.ve models;
• Fieldbus communica.ons, TCP/IP hardware, USB D/H, DSP;
Thursday, April 25, 13
9. Case Study
Bare-‐Metal Firmware
Industrial mission-‐cri.cal systems have severe
constraints on down.me. Component reliability is a
key factor that affects the en.re produc.on chain.
• We decided for a bare-‐metal architecture as a means of full
control of the firmware implementa.on;
• Fast reac.on to fixing design flaws and bugs is essen.al;
• However, a high level of abstrac.on and modularity is
employed;
• OOD is used throughout the system;
Thursday, April 25, 13
10. Case Study
Event-‐Driven Architecture
We use an event-‐driven architecture, similar to the
processing paradigm of a Hardware Descrip.on
Language simulator.
• Sequen.al processes are executed when input signals change;
• The use of processes and signals to describe firmware result in
a processing paZern that achieves cpu load balancing;
• It also results in a clear separa.on of aspects, helping to
maintain modularity and fostering design reuse;
• Is very scalable, allowing systems of 100s of thousands of lines
of code to be managed with low local complexity;
Thursday, April 25, 13
11. Case Study
Sta.c Memory Alloca.on
It is paramount in a mission cri.cal system that
resource starva.on never occurs.
• RAM alloca.on is the most cri.cal resource;
• Dynamic alloca.on regimes with high availability can be very
difficult to verify:
• Usage paZerns cannot be reliably covered for all cases;
• Memory leak and fragmenta.on can s.ll occur;
• A sta.c memory alloca.on guarantees worst case scenario
and helps achieve full verifica.on of the logic;
Thursday, April 25, 13
12. Case Study
Hardware/Firmware co-‐design
Using the AOD techniques, and highly modular
firmware, full Hardware/Firmware co-‐design was
possible.
• Firmware is developed ahead of hardware;
• Tes.ng and integra.on yields almost 100% compliance on first
integra.on tests;
• The process reduces cost of deriva.on of new products;
• Reuse of hardware subsystems is reflected in reuse of firmware
subsystems;
Thursday, April 25, 13
13. Case Study
Some examples
-‐ ADC, Ethernet,
-‐ USB Host/Dev,
-‐ Fieldbus,
-‐ Cortex-‐M4
Thursday, April 25, 13
15. Case Study
Some examples
-‐ Weigh Indicator,
-‐ Very robust
-‐ Heavy-‐duty environments
Thursday, April 25, 13
16. Case Study
Some examples
-‐ Subcircuits are designed, prototyped and
tested as separate circuits, and are used in
the main development of finished
products.
-‐ PCB-‐level IP
-‐ Allows many engineers working in the
same PCB design
Thursday, April 25, 13
17. Case Study
Some Performance Data
Using the exposed techniques (AOD, OOD, Co-‐Design, Event-‐
Driven Architecture), some important results have been
achieved:
• Extremely low field defect rate;
• High design reuse, in diverse equipment lines;
• Fast spinoff of new boards;
• Full parallel development process, with several engineers working at the same
.me in the same project subsystem;
• Very high level of uniformity in the logic descrip.on, even for large designs;
• Maintained high quality of implementa.on, recognized by the customers;
Thursday, April 25, 13