What Would Joe Do?
Peggy Aycinena is a freelance journalist and Editor of EDA Confidential at www.aycinena.com. She can be reached at peggy at aycinena dot com.
Simon Davidmann: A re-energized Imperas Tutorial at DAC
July 19th, 2017 by Peggy Aycinena
“It’s a simple message we’re presenting at DAC,” Davidmann said, “but an important one. If you’re a semiconductor guy building a chip, your customers want to know what components are being used, but you also have to build the software that runs on top of it.
“There’s a lot of challenge, however, in getting an operating system up and running on the hardware and the problem extends to hardware-dependent software. Even the lowest level bits become part of the operating systems. So our tutorial is about what you need to do this work, about how to get hardware-dependent software running.”
“At Imperas today,” Davidmann said, “we find that people are very excited about getting an operating system up quickly on a new platform – and our tools help facilitate that.
“Among the things we address in the tutorial, we show people a new approach for porting Linux to a new design using a simulator, versus the traditional way they’ve used up until now.
“Linux is a big complex, heavy-weight operating system, and the technologies that Imperas provides can help. For instance, at Imagination Technologies they’re bringing up Linux on hardware using pods and so on – an approach we are demonstrating in the tutorial.
“We provide tools, simulators that can look at your chip and support the effort involved in whatever you have on your device, because it’s really about the drivers.
“We’ve built layers of abstraction into our tools that understand what kinds of problems people are trying to understand in their Linux.
“Although most people do standard Linux, we also focus on 10 or 12 other operating systems in our presentation. We have 15 different virtual platforms that will run different Linuxes, using different Ethernets, different USBs. Cadence, for example, has a different Ethernet than Synopsys, and so on.
“We use an Altera part in the tutorial – indicating how to get a driver to work – and we focus on a UART in our example. The high-level view is how do people get these bits on Linux on silicon.
“With Linux, it’s billions of instructions. If you put up Android, it’s 5-to-6 billion instructions. Either way, there’s a lot of data going on here.”
“However, if you trace a Linux instruction – a billion-instruction process, for instance – with our tools you can trace the Linux task calls, of which there are only 700 or so.
“And we borrow from our history in EDA, providing tracing of the EDA graphically, not in terms of instructions. You can actually see the processor come to life, graphically.
“Our tools port the operating system in a more abstract way, which is better than executing at the abstraction level. You can actually see how the operating system is running, and you can see when something’s not right.”
“What category of person is using the tools?” I asked.
“They tend to be close to the semiconductor industry,” Davidmann replied, “involved in the development of silicon.
“Of course, [our tools] are used in different ways, but the person who has to port the operating systems is related to the developer of the silicon.
“Altera, for instance, is building a dual-core processor and they have to deliver a working operating system with the chip.
“In the consumer space, our customers are the people in the middle between the general purpose software and the hardware.
“And we even have customers who are not in the semiconductor company.”
I noted the tutorial content is very technical, and asked, “In your session can a newcomer learn how to port an operating system, or is it really only appropriate for those who need to refine their skills?”
“There are actually three kinds of customers,” Davidmann replied.
“First are the people trying to understand our simulator technology – our current users or our competitors. They are aware of us and want to understand. In fact, anytime we talk publicly, we have people there keeping an eye on things.
“Second, there are people whose job it is to port the operating system, and these fall into two categories.
“First are the newbies, they’ve not done it before and want to know how we do it. There are still so many people developing software using such primitive technology, old-school Luddites who just used a bit of simulation and say: This is how we’ve always done it.’
“It’s actually quite sad.
“Second in this group, however, are those people who have done it before and want to do it better. They want to talk about simulators – they are the ones who are most excited about it. These are the very enlightened customers, which is where we make our money.”
“Most commonly,” Davidmann said, “people just want more ways to do these things.
“They want a continuous integration from hardware to software – something that comes from the Agile idea – but with everybody writing the software to sit on the hardware, it’s actually complete mayhem.
“And added to that – with both hardware and software guys, it’s like herding cats to get them to follow established procedures. They always want to do it their own way.
“True, hardware procedures are more structured, while software methods are much more chaotic because those people think you could fix something after the product’s shipped.
“But that’s no longer true. With this whole move to automation and hardware/software integration, our colleagues in the embedded world are trying to be more structured.
“It’s actually very exciting. There’s a new wave of methodology for developing software in a very smart way – not just to get it working, but to get it working with a very high quality.”
Davidmann emphasized security is also something of great concern: “These are now critical issues in hardware and software, and they require additional tests for verification.
“As a result, there’s much more rigor in the embedded software processes, and simulation is even more important.”
I asked Davidmann if over the years, he’s seen an uptick in the sophistication of DAC attendees with regards to issues around embedded systems.
“Absolutely,” he replied.
“In fact, I stopped coming to DAC when I first got involved with Imperas. We focused instead on the Embedded Systems Conference, but that was a mistake. It turns out, the companies who were paying us were doing development of software very close to the silicon.
“So we decided to come back to DAC where the majority of customers are doing very sophisticated work close to the silicon – which is why our tutorial there is important.”
Comparing other venues, Davidmann added: “At a recent conference in the UK, I was asked to talk about Agile software development for embedded systems. Amazingly, 80 people paid to come to our one-day tutorial and all of them were developers.
“Also, I attended a CloudBees conference around Jenkins in Silicon Valley and found it was even bigger than DVCon. And that was just one company’s conference for one company’s product.
“The truth is, for about 5 or 6 years, the market was quite stagnant in all of this. But over the last 8 months, there has been an amazing increase in activity around automating the processors. People are now realizing [that mounting] the driver for Linux is important – and quite hard.
“Which is where Imperas comes in. Not only do we have visibility in the instruction trace, we also provide debug capability.”
The usually circumspect Simon Davidmann suddenly laughed.
“Blimey,” he said. “I really am quite enthused about all of this!”