Get email delivery of the Cadence blog featured here
Last week I talked about what IP is, and why it’s important. (Click here for a quick review!) This week, after being inspired by a Whiteboard Wednesday given by Tom Hackett, I thought I’d talk about what really matters when selecting IP for your design.
When you first ask this question of chip designers, three letters spring to mind: P, P, and A — power, performance, and area. You want a design that doesn’t take a lot of power to run, you want it to run well, and you want it not to take up too much space on your chip. The answer to this question hasn’t changed since the beginning of system-on-a-chip (SoC) design. When a company like Cadence develops IP for an SoC design, PPA is the first thing to take into consideration, and always will be. But there are more questions that should come to mind.
There is a more fundamental question that we should be asking, however: Should we make or buy the IP in the first place?
It used to be that most companies were biased towards making their own interface IP, rather than to buying it from a commercial vendor. They would spend the resources to develop their own interfaces — for example, their own USB interface, their own PCIe interface, their own DDR interface. This is mainly because SoC development is and always has been — and always will be — a very risky business. The stakes are high, and the one or two companies that come out first with a great product wins, and pretty much everyone else is going to lose. In that kind of high-stakes environment, you want to control the all the variables that you possibly can. If you can design internally with your own staff, you have complete control over this particular variable, and thus reduce your risk.
But nowadays, almost everyone chooses to buy their interface IP. Why is that?
One reason is that chips are bigger. They’re complex, more so than ever before. Plus, with bigger chips, you often have more interfaces, sometimes even different kinds of interfaces. With those bigger designs, you must design them with resources — that is, engineering talent — that are limited. And even though today there are large design centers in India and China, there is still more demand for technical expertise than there are engineers to fill it. Limited resources are a big factor.
Who can keep track of all this?
The other reason SoC companies tend to buy their IP is that expertise in these standard interfaces is rare. In the good old days (way, way back tens of years ago), each generation of interface IP would stay in place for a few years, so you could develop some pretty good expertise internally during that time. Nowadays, generations of interface IP are coming faster and faster, so it’s harder to keep up. They’re also splitting off into a variety of sub-interfaces. (For example, there’s USB-type C that tunnels a display port through that connector. There’s NVM Express, in addition to PCI Express.) With all these variants and generations, it’s harder to maintain that expertise inside your organization.
But what about cost? Nowadays, the cost associated with acquiring resources and developing expertise tends to be much more than the physical cost buying an IP product.
On the scale of “make” versus “buy”, it’s really tipped over to the “buy” side.
Today, there are many semiconductor process choices available to you. At the most advanced nodes, you have many choices. You can design in 16nm, 14nm, 12, 10, 7 — that is, the size of an individual transistor that uses “wires” that are that wide — and in the next few years, you could pick pretty much any digit between 22 and 3 and find a semiconductor process to match it.
Another reality is targeted applications. It’s not good enough to just have a PCI Express controller and PHY, but is it tuned to the special needs of, for example, the data center that you’re designing? Or does it incorporate the functional safety mechanisms needed for your automotive design? When you take all the processes in the different application areas, it becomes pretty much impossible for any one IP vendor to have an IP portfolio that meets all these processes and all these applications — off the shelf and at any point in time.
Because chips are bigger and more complex, system architects must bring in their IP supplier much earlier in the process —way up front when you’re architecting the chip — because you need to select not just your off-the-shelf IP, but select a vendor (and really, you’d like a partner) that will work with you to develop the IP that gives you the PPA that you’re looking for, in your target process, for your target application.
What really matters when selecting IP is mostly about the vendor, and not about the IP itself. Some questions to ask yourself about selecting and IP partner is:
These factors answer the question of what is really important when selecting IP for your chip, board, or system. Since you have some important choices to make regarding your partner, I advise you to choose wisely!
All the gears must fit together between you and your vendor.