feature article
Subscribe Now

Making SoCs Easier to Debug

A New Technology Aims to Track Both Software and Hardware Bugs

System debugging used to be fairly straightforward. Components were on a board, linked by tracks, and, with a ‘scope and probes, you could look at signals and work out what was happening. Of course it didn’t seem so simple at the time – isn’t hindsight great? In time, systems got more complex, microcontrollers got more complex, and the companies building ‘scopes and other tools for hardware debugging came up with more and more sophisticated (which implies expensive) products. Digital ‘scopes, logic analysers and emulators all helped engineers in their efforts to keep up. JTAG was created to provide an interface – now frequently to a PC as well as to specialist tools – as multilayer boards hid tracks, and it was then used to provide visibility of operations within the chip. The JTAG interface is now also used for software debugging, as through JTAG it is possible to control program execution, stepping through line by line, or to set breakpoints. JTAG can also be used to program flash memory. Processor manufacturers started fairly early on to provide proprietary analysis tools, and ARM, for example, provides a range of interfaces and on-chip capabilities for advanced debugging and analysis.

But we live in the age of the System on Chip (SoC) and all bets are off. Even a relatively conservative SoC is complex and complicated. When you get SoCs with multiple processing units, CPUs, GPUs, DSPs, etc., and other IP blocks – often up to around 100 – life gets really interesting. Sure, JTAG can give you some information, but it is limited, and, compared to the communication speeds, on-chip JTAG is horrendously slow. It also needs dedicated pins on the SoC. ARM has CoreSight, but what if you don’t have an ARM core?

A big issue with SoC development is the hardware vs. software finger pointing.

“My hardware is fine – your software must be buggy.”

“My software is fine – it must be a hardware issue.”

When, in fact, the real problem may be caused by a subtle interaction between the hardware and software that is difficult to locate and resolve.

Solving problems in an SoC is a non-trivial matter. A software bug can be time-consuming to identify and fix. A hardware issue is also time- consuming to identify, and then, if a re-spin is needed, that takes even more time and huge amounts of cash. All of this in market places where time-to-market is vital and a delay can mean the difference between product success and abject failure. Even when things do get fixed, rumours and speculation can inflict damage.

Step forward, UltraSoC. This is a UK based company, commercialising research from the University of Kent, which provides UltraDebug IP and UltraAnalytics tools for SoC debugging and analysis.

The IP is a growing family of blocks that interface to the IP making up the SoC. There are already blocks for ARM, MIPS, and Imagination processors, for CEVA DSPs, for an array of buses, and for arbitrary logic blocks. These communicate through messaging across a coherent fabric within the SoC and then use JTAG or USB to talk to the outside world. USB was recently introduced and provides a much higher data rate than JTAG, and Ethernet and PCIe are on the way.

The outside world can be UltraSoC’s own Eclipse-based IDE or a test environment from a third party, like Teradyne Le Croy (a collaboration was announced in May 2015) or Lauterbach. Each block is non-intrusive and tailored to interface to its target; for example: for an ARM core, it can use the wide variety of debugging resources that ARM provides within its cores, with the designer choosing which to implement. Depending on the need, information from the target can be streamed live to the host, or it can be stored for later download, either in local memory within the block or in the main system memory.

From the IDE or from the test equipment, the user can set a block to monitor data or the execution of specific functions and carry out measurements. Depending on the target, the block can also control execution or traffic flow and carry out actions – like halting execution – if certain pre-set test conditions occur.

Since the blocks can also monitor bus traffic, it becomes possible to look for issues of communication between elements of the SoC, which are normally very hard to track down.

The way in which data can be displayed is highly flexible. For example, you could look for throughput, latency, worst case, and best case. You can see programme code at execution and generate histograms of data flow. And, of course, you can develop your own analyses.

The blocks are configurable at design time, providing different features depending on the function. The trade-off is essentially sophistication and multiple features against die area. Blocks can also be configured at system start-up, running only specific features rather than the whole block.

Now, this all takes real estate on the chip, something that may be an issue. According to UltraSoC, the overhead is around one percent or less, and this has been acceptable for some of their customers, while at least one other uses UltraSoC only for FPGA prototyping. But having the debugging capability in place for field deployment can be a positive thing. There are a number of possible use cases. For example, information from monitoring active devices in the field can be used as a basis for optimising software to improve things like power consumption, or improving performance by moving functions between different parts of the SoC. In a safety-critical implementation, the same optimisation and improvement criteria apply. But the monitoring information can also be used to create a “black box”, preserving information for later analysis should there be a system failure. A third, and related, area is high reliability applications. In communications there is often a commitment to “five nines” – that is, that a service will be available for 99.999% of the time (equivalent to 5.26 minutes downtime in a year). If an operator doesn’t achieve this, then there may be financial penalties. Even the slightest glitch will threaten the target, so monitoring and recording, again acting as a virtual black box, is a valuable resource to problem resolution and well worth the chip real estate.

So – a good academic idea and a company created to push it. We have seen this many times before, and not all of them have translated into commercial success. UltraSoC is shy about discussing company names: the customers aren’t too happy for it to be known they are adopting the technology, which they see as providing a competitive advantage, but the company claims that there are three devices already in volume manufacture and several more have been taped out.

With such complex IP, there is a need for strong customer support, and UltraSoC recognises this, with what the company feels is good documentation and a strong engineering team.

The senior management has recently been strengthened. Rupert Baines, who was appointed CEO in April this year, has a track record in developing technology companies, including Picochip (taken over by Mindspeed, in turn bought by Intel and M/A-COM). He also spent time with first:telecom, Arthur D Little, and Analog Devices, and, only a few days ago, Gadge Panesar joined as CTO. Gadge is an experienced architect, and, in addition to time in Academia, he has worked for Acorn computer, INMOS and STMicroelectronics, Picochip, Mindspeed, and, most recently, NVIDIA.

The company was at DAC and was kept busy running its demos (see http://www.ultrasoc.com/pre-and-post-silicon-debug-at-dac-2015/ for videos) and presenting a paper on design for analytics. (That is explained on the same page as the link above.)

Just as I was finishing drafting this article, the company announced a new collaboration, this time with Cadence to support Tensilica’s Xtensa family of customisable processors and DSPs.

The impression I get, and I hope I have managed to convey, is that UltraSoC is on the verge of really making a splash. If I were about to start work on designing an SoC (thank heavens I am not) I would have a really close look at the company.

Leave a Reply

featured blogs
Nov 27, 2023
Qualcomm Technologies' SVP, Durga Malladi, talks about the current benefits, challenges, use cases and regulations surrounding artificial intelligence and how AI will evolve in the near future....
Nov 27, 2023
Employees of our Cadence Cork team recently volunteered to be part of an exciting journey with our learners from Age Action. Age Action is Ireland's leading advocacy organization for older people and aging. The organization provides practical programs to support older pe...
Nov 27, 2023
See how we're harnessing generative AI throughout our suite of EDA tools with Synopsys.AI Copilot, the world's first GenAI capability for chip design.The post Meet Synopsys.ai Copilot, Industry's First GenAI Capability for Chip Design appeared first on Chip Design....
Nov 6, 2023
Suffice it to say that everyone and everything in these images was shot in-camera underwater, and that the results truly are haunting....

featured video

Dramatically Improve PPA and Productivity with Generative AI

Sponsored by Cadence Design Systems

Discover how you can quickly optimize flows for many blocks concurrently and use that knowledge for your next design. The Cadence Cerebrus Intelligent Chip Explorer is a revolutionary, AI-driven, automated approach to chip design flow optimization. Block engineers specify the design goals, and generative AI features within Cadence Cerebrus Explorer will intelligently optimize the design to meet the power, performance, and area (PPA) goals in a completely automated way.

Click here for more information

featured paper

3D-IC Design Challenges and Requirements

Sponsored by Cadence Design Systems

While there is great interest in 3D-IC technology, it is still in its early phases. Standard definitions are lacking, the supply chain ecosystem is in flux, and design, analysis, verification, and test challenges need to be resolved. Read this paper to learn about design challenges, ecosystem requirements, and needed solutions. While various types of multi-die packages have been available for many years, this paper focuses on 3D integration and packaging of multiple stacked dies.

Click to read more

featured chalk talk

ADI's ISOverse
In order to move forward with innovations on the intelligent edge, we need to take a close look at isolation and how it can help foster the adoption of high voltage charging solutions and reliable and robust high speed communication. In this episode of Chalk Talk, Amelia Dalton is joined by Allison Lemus, Maurizio Granato, and Karthi Gopalan from Analog Devices and they examine benefits that isolation brings to intelligent edge applications including smart building control, the enablement of Industry 4.0, and more. They also examine how Analog Devices iCoupler® digital isolation technology can encourage innovation big and small!  
Mar 14, 2023