Configure or customize: a persistent issue for the IP industry
In a panel discussion hosted by IP Extreme Wednesday, an interesting question surfaced: is it better to adapt silicon intellectual property (IP) to you design by configuring it, or by paying the vendor to customize it? This is an old discussion, but both financial realities and growing design complexity insure that it will continue.
The arguments in favor of configurable IP are both convincing and mostly economic. The big beneficiary is the IP developer who, with very little pricing leverage, has to get as many design wins out of each IP core development as possible. So instead of developing a family of USB 3.0 cores, for example, most IP vendors develop what is in essence a compiler to generate USB 3.0 controllers, hoping to cover any plausible configuration requirements.
This approach looks desirable for the IP user as well. Instead of having to know the exact configuration he needs before going shopping, or risking having to come up with additional up-front money to pay for customization, the chip designer can license a generic configurable core. You get just the configuration you want, with no additional up-front fees and no schedule delays.
It’s hard to defeat these points if the allowable configuration options are relatively simple and few in number. But there are serious arguments against highly-configurable IP. The more configurable an IP block is, the greater the verification problem it presents for its developer. Some interface controllers may be defined across literally millions of possible configuration permutations. The developer may be able to thoroughly verify each functional block that goes into the controller library, and he may be able to do a good job on a few of the most likely configurations. But there is no hope of getting good coverage on all the configurations at all the corners.
This presents a real dilemma for those design managers who insist on seeing an IP block working in silicon before they will license it. You may see a representative configuration of the IP in a test chip, but almost certainly no one will have ever taped out the exact configuration you need. In fact the IP may never have actually generated that configuration before. So those little interactions that only show up in silicon will never have been taped out.
Then there is the question of quality of results. Stephen Fairbanks, co-managing director of I/O IP vendor Certus Semiconductor, said he had been involved in one design where custom-designed I/O IP came out substantially smaller than the I/O instances generated by the well-regarded and highly-configurable tool of a major foundry. There can be a substantial overhead for all that flexibility, even in an individual instance.
As the scale of IP blocks grows, the whole concept of configurability begins to mean less, except perhaps for simple interface options. For example another of the panelists, Surya Hotha, director of marketing and business development at Posedge, deals in complete subsystems: routing, security, and offload engines, for instance. Hotha’s deliverables include not just a block of silicon IP the size of a small SoC, but also the necessary software to support it. Frequently the IP user lacks the expertise to make configuration, or even integration, decisions about the block. And in any case there would be far too many degrees of freedom if Posedge tried to make, say, a security processor user-configurable to cover all the possible applications. It is better to think of such subsystem IP as a template for a custom design rather than as a giant configurable block.
There are certainly areas of IP for which configurability makes a great deal of sense. The obvious example would be memory. But as IP is increasingly marketed at the subsystem level rather than at the functional block level, and as even functional blocks such as interfaces become staggeringly complex—the largest configuration of a USB 3.0 controller can approach a million gates—the notion of push-button configuration may cease to make a whole lot of sense.
Steve Cox commented:















