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 18, 2021
https://youtu.be/afv9_fRCrq8 Made at Target Oakridge (camera Ziyue Zhang) Monday: "Targeting" the Open Compute Project Tuesday: NUMECA, Computational Fluid Dynamics...and the America's... [[ Click on the title to access the full blog on the Cadence Community s...
Apr 16, 2021
Spring is in the air and summer is just around the corner. It is time to get out the Old Farmers Almanac and check on the planting schedule as you plan out your garden.  If you are unfamiliar with a Farmers Almanac, it is a publication containing weather forecasts, plantin...
Apr 15, 2021
Explore the history of FPGA prototyping in the SoC design/verification process and learn about HAPS-100, a new prototyping system for complex AI & HPC SoCs. The post Scaling FPGA-Based Prototyping to Meet Verification Demands of Complex SoCs appeared first on From Silic...
Apr 14, 2021
By Simon Favre If you're not using critical area analysis and design for manufacturing to… The post DFM: Still a really good thing to do! appeared first on Design with Calibre....

featured video

The Verification World We Know is About to be Revolutionized

Sponsored by Cadence Design Systems

Designs and software are growing in complexity. With verification, you need the right tool at the right time. Cadence® Palladium® Z2 emulation and Protium™ X2 prototyping dynamic duo address challenges of advanced applications from mobile to consumer and hyperscale computing. With a seamlessly integrated flow, unified debug, common interfaces, and testbench content across the systems, the dynamic duo offers rapid design migration and testing from emulation to prototyping. See them in action.

Click here for more information

featured paper

Understanding the Foundations of Quiescent Current in Linear Power Systems

Sponsored by Texas Instruments

Minimizing power consumption is an important design consideration, especially in battery-powered systems that utilize linear regulators or low-dropout regulators (LDOs). Read this new whitepaper to learn the fundamentals of IQ in linear-power systems, how to predict behavior in dropout conditions, and maintain minimal disturbance during the load transient response.

Click here to download the whitepaper

featured chalk talk

Yield Explorer and SiliconDash

Sponsored by Synopsys

One a design goes to tape-out, the real challenges begin. Teams find themselves drowning in data from design-process-test during production ramp-up, and have to cope with data from numerous sources in different formats in the manufacturing test supply chain. In this episode of Chalk Talk, Amelia Dalton chats with Mark Laird of Synopsys in part three of our series on the Silicon LifeCycle Management (SLM) platform, discussing how Yield Explorer and SiliconDash give valuable insight to engineering and manufacturing teams.

More information about the Synopsys Silicon Lifecycle Management Platform