Debugging is challenging at every step in system design - whether for hardware or embedded software, or at the System Realization, SoC Realization, or Silicon Realization levels. A day-long workshop at the upcoming Design Automation and Test (DATE) conference in Grenoble, France March 14 is taking an interesting approach by looking at debug challenges and solutions across all these areas.
Sponsored by the Electronic Chips and Systems Design Initiative (ECSI), the event is called the S4D 2011 Workshop, and the S4D stands for System, Software, SoC and Silicon Debug. Now in its third year, this year's workshop is chaired by Markus Winterholer (right), R&D engineer at Cadence for hardware/software co-verification. Markus will also moderate a March 16 DATE panel on embedded software debug and test.
The Problem with Debug
Why so much attention to debugging? "Customers are having huge problems integrating hardware and software together," Markus said. "The bring-up time is too long, and they're really feeling pain there." Debug is difficult, he said, because hardware and software have so many dependencies today, and because it's often too late to change the hardware when the software becomes available.
Multi-core architectures are providing a big challenge for embedded software debugging. "In the future, there will be hundreds of CPUs, but you can't open hundreds of debug windows and look at them in parallel," Markus said. The EDA community can help, he said, "because we are used to parallelism and we understand the nature of the architecture. And we can help software engineers apply the methodologies that EDA has used for many years."
System-level debug needs to consider hardware and software together. There's a delicate tradeoff, Markus noted. If the debugging takes place at a level that's too abstract, the hardware won't be accurate enough. If the level is too detailed, it won't run fast enough for software developers.
"There are often two different groups who have to work together, a hardware team and a software team, and communication between the two is complicated because they speak different languages," Markus said. "We are trying, with this workshop and panel, to help bring them together."
The S4D Workshop is aimed at users, solution providers, and academics. Topics cover the full range of system debugging from specification to application, with a focus on multi-core and debug automation. The workshop is a precursor to an S4D Conference scheduled for Oct. 5-6 in Munich, Germany.
The workshop's purpose, Markus said, is to "discuss today's debug problems from a user perspective, to bring in the latest methodologies and research, to discuss new solutions, and to consider what has to be developed over the next year in terms of methodologies and standards." The workshop aims to "bring all the different stakeholders together" and to get users in touch with solution providers.
Cadence, meanwhile, is actively working on system and software debug with its Incisive Software Extensions product, which brings metric-driven verification to embedded software. Markus noted that it includes an embedded software trace capability that adds software to waveform displays, as well as a GDBserver implementation that makes it possible to connect with a GDB debugger when software is running in a simulated environment. A Generic Software Adapter (GSA) provides debug automation and software verification.
Registration information for the S4D Workshop is available on line.