feature article
Subscribe Now

Integrating Hardies and Softies

Winston Churchill once said that the United Kingdom and the United States are two nations divided by a single language. Sometimes it seems like that in an embedded development environment. In the green corner – the hardies. These are people who think in volts and transistors and will spend enormous effort to reduce watts burned by a system. In the red corner – the softies. Their thinking is dominated by efficient code execution time. The difference between the two is nicely encapsulated in the story of a UNIX based system that was burning excessive power: the processor never seemed to go into any form of standby mode. The hardies naturally blamed the softies, who in return disclaimed all responsibility and also pointed out it would be very hard to find a culprit in the vast number of lines of code in the system. It took a very clever person to get to the bottom of it. The very clever person noticed that the screen prompt for input flashed regularly. Two lines of code ran this prompt, and they were responsible for keeping the processor awake. Merely disabling the two lines of code allowed the processor to move gracefully into a standby mode, saving considerable watts.

During system development, the hardies build virtual models and use simulators and emulators to evaluate architectural options, to optimise the implementation, and to chase bugs. The virtual models and the emulators have interfaces that match the hardies’ way of thinking. Softies work in a different world of development tools. If they want to use either the virtual models or the emulators, they have to leave their world and move into the alien world of the hardies. This requires learning not just a new interface, or even a new vocabulary, but coping with a different way of thinking.

Unusually for an EDA company, Mentor supports both hardies and softies in the embedded sector. The Nucleus RTOS has been around for years, and Mentor says it has been shipped in over 2.4 billion units. (The population of the world is only around 7 billion.) The company has also built its expertise in open source, and it has developed platforms of OS and tools for Linux and, more recently, for Android, as well as providing consultancy services in these areas. Late last year Mentor took over “certain assets” of CodeSourcery, which had been building open source tool chains.

Now it has extended the CodeSourcery products with the launch of Sourcery CodeBench with Sourcery SystemAnalyser. (Not the snappiest of titles, no matter how interesting the products.)

Sourcery CodeBench is not dissimilar to integrated development environments for creating embedded systems available from a range of sources, such as the IAR Workbench. Unlike IAR, it is open source and is based on a GNU tool chain and Eclipse. It provides C/C++ compilers, linkers, run-time libraries, debuggers, instruction set simulators for different target hardware, and so on. There are links for hooking the workbench into a hardware prototype or the end product, through JTAG, TRACE or a serial interface, allowing the developer to download code and exercise it. All in all it is pretty much the environment that a softie with some experience in developing embedded systems is used to.

What is new is that Mentor has added interfacing that allows the softie, while staying in the familiar CodeBench development environment, to hook into two of the Mentor tools for hardies, the Vista virtual prototyping environment and the Veloce SOC emulation tool.

Vista is a way for hardies to build their system as a model. It uses the technique of Transaction Level Modelling (TLM – as defined in the OSCI TLM 2.0 standard) to create a model of the system under development, covering functionality, timing and power, and communication interfaces. The system model uses models of processors, which can execute code at speeds equal to or even faster than the real silicon. It is designed for hardies to explore architectural options and then validate their decisions, including looking at power budgets. The idea behind TLM was that it would also, through the virtual prototype, provide a platform for software development. With the interface to CodeBench, this becomes more practicable.

Veloce is a family of hardware simulators/emulators, which allows the hardies to test and debug hardware before real silicon is available. They can be seriously big boxes (the largest one, the Veloce Maximus, is nearly ten feet long and seven feet high, burning 32 KWatt), and, again, the assumption has always been that they would be used for software as well as hardware development. Again, the interface to CodeBench makes this much more feasible.

The Sourcery CodeBench System Analyser, the other extension to the CodeBench, is designed to cope with the potentially enormous amounts of data that can be generated from Vista and Veloce as well as from JTAG, TRACE, and serial connections to hardware prototypes and the completed system. This data gets even bigger when the systems are deploying multicores and using multiple Operating Systems. There are several ways of viewing the data: for example, a process and thread view shows when a thread starts and finishes within the context of the other threads, clearly interesting in debugging. Other options provide for power and performance optimisation and also help in analysing the information from the use of breakpoints, program single stepping, and other normal debug techniques. It supports Nucleus and Mentor’s Linux plus any other flavour of Linux. It also supports bare metal systems.

If you have been following the Cadence EDA360 saga, the latest announcement also talks about virtual prototyping with virtual models and emulation/simulations, only using Cadence’s Palladium emulation box. Where Mentor is scoring is that it is making its resources easily available to the softies, within a familiar environment.

Of course, for this to be successful, companies developing embedded systems have to come to terms with spending money on software tools, something they seem reluctant to do. They also have to come to terms with letting the softies near the hardies’ toys. At the level of hardware prototypes, where availability of a board to each software developer can reduce project lifecycles and produce better quality software, there is strong anecdotal evidence that companies are reluctant to spend the extra few thousand dollars and instead insist on sharing.

But, on a positive note, the new interfaces and the analysis tool from Mentor have the potential to give the softies better tools and earlier access to the hardware – which have to be good things.

Leave a Reply

featured blogs
Apr 19, 2024
In today's rapidly evolving digital landscape, staying at the cutting edge is crucial to success. For MaxLinear, bridging the gap between firmware and hardware development has been pivotal. All of the company's products solve critical communication and high-frequency analysis...
Apr 18, 2024
Are you ready for a revolution in robotic technology (as opposed to a robotic revolution, of course)?...
Apr 18, 2024
See how Cisco accelerates library characterization and chip design with our cloud EDA tools, scaling access to SoC validation solutions and compute services.The post Cisco Accelerates Project Schedule by 66% Using Synopsys Cloud appeared first on Chip Design....

featured video

How MediaTek Optimizes SI Design with Cadence Optimality Explorer and Clarity 3D Solver

Sponsored by Cadence Design Systems

In the era of 5G/6G communication, signal integrity (SI) design considerations are important in high-speed interface design. MediaTek’s design process usually relies on human intuition, but with Cadence’s Optimality Intelligent System Explorer and Clarity 3D Solver, they’ve increased design productivity by 75X. The Optimality Explorer’s AI technology not only improves productivity, but also provides helpful insights and answers.

Learn how MediaTek uses Cadence tools in SI design

featured chalk talk

Switch to Simple with Klippon Relay
In this episode of Chalk Talk, Amelia Dalton and Lars Hohmeier from Weidmüller explore the what, where, and how of Weidmüller's extensive portfolio of Klippon relays. They investigate the pros and cons of mechanical relays, the benefits that the Klippon universal range of relays brings to the table, and how Weidmüller's digital selection guide can help you choose the best relay solution for your next design.
Sep 26, 2023
25,990 views