Making Automated Hardware Development a Reality with CELUS
Platform for the fully automatic generation of electronic circuits
For decades it has been common practice to develop software on the basis of a functional description. Until now, this had not been possible for hardware development, because algorithms and computing power were lacking. The engineering platform from CELUS turned this idea into reality.
Foto 1: Contunity Team
In a nutshell
In contrast to software development, hardware development still has a hard time automating many development steps. However, CELUS now presents a platform with which the development effort for discrete electronics can be considerably simplified by means of model-based functional modelling and a high degree of automation. The solution automates module and component selection, schematic and layout creation, and hardware-related software generation. This provides users with significant competitive advantages in the face of accelerating innovation cycles and the ongoing shortage of skilled workers.
A brief history of software development
Until the early 1980s, software was often written in machine language instructions and machine code such as assembler. However, with more powerful processors, this type of programming quickly became unfeasible. Complexity was simply exploding and the challenges a programmer faced were no longer manageable. A new way of programming had to be found to keep pace with this complexity. The solution was to use programming languages, which tackled this problem at a higher level of abstraction. The developer no longer had to worry about details of the implementation of individual language constructs at machine code level. Those are high-level languages, such as C, Java or Matlab, which are indispensable in today's software development. Studies, such as the Tiobe index show, that nowadays more than 98 percent of global software production is carried out with high-level languages.
The advantages are obvious: on the one hand, the ability to control highly complex software systems, and on the other, dramatic savings in time and effort. As a side effect, this gives you the freedom to take care of the architecture and functions of the software to be created. To put it bluntly: Who would want to rummage through bits and bytes using assembler today, when the use of high-level languages allows much more focus on the value for the customer?
By the way, the development towards higher levels of abstraction in software development is still not over. Examples include serverless computing and machine learning as a service. A similar observation can be made in chip design. Without current EDA environments, the development of processors of today's complexity would just be impossible. The fact that this is possible is due to the achieved abstraction and design automation. Nevertheless, the development of discrete circuits is quite different.
Is hardware development stuck in the past?
In hardware development, the situation is downright sobering. While new frameworks and design processes for software are coming onto the market almost every month, almost nothing has happened with tools and methods for hardware development for more than ten years. The degree of abstraction and automation is much lower than in software development. It is common industry practice to manually develop discrete circuits down to the lowest component level, and this with new versions and variants again and again. Many companies want to make use of modularization, standardization and reuse, however only a few of those companies have acquired these capabilities. This means that all decisions from the requirements level to the component level must be made by people. Tasks, such as specifications for dimensioning, selection and finally also for the positioning of the individual components take most of an engineer’s time and effort - and yet they are only repetitive, "mechanical" activities that almost cry out for automation.
All in all, this means considerable deficits for today's process:
- Error-proneness: Due to the extremely large proportion of manual activities, the procedure is highly susceptible to errors. The consequences are many unplanned, unnecessary and expensive recursions.
- Obstacles to innovation: There is comparatively little scope for the creative part of development that generates customer value. Instead, most of the development capacity disappears into "mechanical" activity.
- Waste of competencies: The demand for capable hardware developers and layouters is high and continues to grow. In 2016, VDE and IW forecast an additional demand of 100,000 electrical engineers by 2026. Additionally, the labor market has been empty for years. With that in mind, the lack of automation in hardware development to this date and wasting valuable skills of engineers is simply reckless.
Too complex and cost intensive
This means that the development of discrete electronics takes far too long according to today's industrial environment and is clearly too complex and cost-intensive. There is considerable potential to be more efficient and it is time to focus on it. Software engineering has shown the way: processes that can be mapped in machine algorithms accelerate and make development considerably more flexible. The same is possible for hardware engineering. All process steps can be algorithmically mapped that follow the creative performance of the requirements analysis and functional description: Module and component selection, creation of circuit diagrams and layout and the creation of hardware-related software.
Hence, we can formulate a similar question for hardware, which we posed above for software: Who wants to rummage around in resistor, capacitor and other (virtual) component boxes today, when the automation of hardware engineering creates scope for innovation and the creation of customer value? Unfortunately, the answer is by far not (yet) as self-evident as it is for the software world.
The hardware development of the future
Figure 1: Schematic overview - development process for electronics
One thing is obvious: In the future, all process steps in hardware engineering that can be algorithmically mapped will be automated. In the schematically and simplified development process (Fig. 1), these are all the steps between function specification and PCB production. Consequently, the user can focus on the functional modelling of his electronic system (requirements and function specification) and only needs to worry a little about its implementation in circuit diagram, layout and bill of materials. In other words, development is based on a model-based approach that begins with requirements and function specification.
Based on the overall model of the desired electronic system, software algorithms perform the following implementation steps. This works under the condition that the elements used for function modelling are available as circuit modules. Their description must include the circuit diagram, the components used, the layout, the associated software components and metadata, such as voltage levels, signal types or layer setup.
Table 1: Comparison of current and future process for hardware development
The automation algorithm uses these circuit modules to generate outputs that fully represent the electronics system being built: Circuit diagram, layout, parts list, hardware-related software and - if desired - also the application software. Existing module databases can be reused. Depending on their nature, the metadata must be supplemented or adapted once only. This degree of automation leads to dramatic savings in time, effort and costs, and know-how requirements are also reduced. Table 1 compares the previous and future hardware engineering processes based on certain characteristics.
Automation to the full extent
Figure 2: Functional model of a LAN card for integration into an industrial control process
Celus' engineering platform implements all the steps described above for the automation of electronics development, starting with a functional model. At the heart of this model are Celus' own automation algorithms for hardware development, based on current knowledge from artificial intelligence and machine learning.
Together with industrial methods for model-based software development, the complete automation of the development of embedded systems is achieved. This degree of automation is unique worldwide and marks the beginning of a new era to which the development of electronic systems will move at a rapid pace. The platform stands in the sense of the Software-as-a-Service (SaaS) as a ready-to-use cloud application, comparable to, Fusion 360 from Autodesk or Office 365 from Microsoft. In addition, on-premises installation is available for maximum data security.
The user input is done via an intuitive graphical editor, which connects to the familiar user experience of tools with graphical input, such as Matlab/Simulink or Labview, (Fig. 2). This reduces the familiarization period and training time to a minimum. Users can access module databases from Celus or work with their own libraries. The latter can be imported via API interfaces from existing CAE tools, for example from Altium or Mentor environments. It is also possible to export the results, i.e. circuit diagram, layout, bill of materials, to the tools available to users. This allows the Celus platform to dock smoothly into existing toolchains. The platform is currently being used productively and further developed within the framework of pilot projects with industrial partners. The official market launch is scheduled for early 2020.
Figures 2 to 4 show an application example using the functional model, layout and PCB rendering. This is a LAN card for integration into an industrial control process. The electronics were generated fully automatically from the functional model. The automation leads to a drastic cost saving: For circuit diagram creation with module and component selection as well as circuit board design 160 hours are necessary for manual procedure. When using the Celus platform, the effort is reduced by more than 95 percent to just 3 hours (Table 2).
Table 2: Comparison for manual and automated hardware development
Furthermore, from the pilot customer’s point of view, the following advantages are very relevant:
- Significant reduction of development time through immediate availability of hardware samples that can be used, e.g. for software testing.
- Standardization across development groups and locations by using the module library.
- Fast and process-reliable creation of variants and implementation of changes.
- Fast creation of specific hardware for use in test environments.
In a later expansion stage, Celus will set up a sharing platform, comparable to well-known app stores, through which circuit modules, components and services can be sold directly. This creates the opportunity for component and chip manufacturers as well as development and production service providers to gain additional attractive market access and create a new sales channel.
Figure 3: Layout of a LAN-Card. The immediate availability of hardware samples shortens development times enormously
Figure 4: The PCB of the LAN card: The electronics were generated fully automatically from the functional model
The future starts now
Hardware engineering for electronic systems is undergoing an evolutionary leap towards model-based functional modelling and high automation. With the current demand for electronics development and the simultaneous bottleneck on the labor market in mind, conventional development processes and tools are gradually being driven out of the market. The advantages for companies: on the one hand, development times, expenses and costs are drastically reduced, on the other hand, the quality of results increases due to modularization, standardization and reuse - both describe a competitive advantage in an environment with accelerating innovation cycles. The CELUS Engineering Platform enables complete automation of electronics development.