In my previous blogs, we discussed how the 8051 microcontroller managed to become one of the most popular controllers ever. We also focused on its architecture and some of the architectural improvements that have been implemented to tailor 8051-based solutions to the 21st century. (See: Is the 8051 MCU Still in the Game? and Redesigning the Architecture of the 8051.)
All of these discussions touched upon another interesting topic -- that of intellectual property (IP) cores in general. As we all know, an IP core is a complex functional block of electronic circuitry. Some IP cores are developed internally by the system design house, while others are acquired from third-party suppliers. In this latter case, the use of the IP core is licensed to other companies by the original designer (there are several sites that provide more information on this, such as WiseGeek.com).
When we peer back into the mists of time to the early ages of electronics (but not as far back as Sven's trousers or Max's ZZ Top haircut), it's easy to see that the IP core licensing approach has changed dramatically over the course of the last decade or two. Ten or 15 years ago, almost everybody was leery about the concept of third-party IP -- for example, engineers simply were not sure if they could trust outside suppliers.
As the years passed by, bellbottom trousers were overtaken by the "slim fit" approach, and things changed in the electronics world also. The combination of shorter product cycles, reduced time-to-market, demands for cheaper products with increased functionality, and the general rapid acceleration in the world of electronics product development increased the pressure on design teams. As a result, the use of third-party IP cores became the new reality for almost every design company. Why "reinvent the wheel" when you can easily use IP that has been successfully implemented in similar projects. Thus, designers started to go outside for processors, peripheral functions such as USB interfaces, and so forth.
These days, of course, a large proportion of the majority of new design projects is implemented in the form of third-party IP, leaving the designers free to concentrate on the "secret sauce" that will differentiate their product from their competition.
OK, so you've decided to take an IP Core from a third-party vendor. And? The use of IP cores can bring you measurable benefits in a variety of ways, including saving time, reducing costs, and minimizing risks. This is if you choose the right cores from the right vendors. The alternative -- if you acquire "bad IP" -- is to waste time, increase costs, and maximize risks. Which option would you prefer?
In order to lay your hand on good IP, there are a number of questions you should ask of your potential IP supplier. Based on more than 12 years of experience in the world of IP cores, please let me be your guide. Some of the questions I think you should be asking are as follows:
- What are the deliverables with your IP cores? Will I get appropriate documentation?
- Can I evaluate your IP cores before buying?
- Do you provide hardware-assisted debugging capabilities?
- How long have you been creating IP cores?
- Can you show me your IP core portfolio?
- Can you show me your customer and success story portfolio?
- Are your IP cores silicon proven?
- What level of support can I get from you?
- How long will it take to tailor your IP to my needs?
- Do I know you?
The answers to these questions will be much more helpful than those to the standard question that has been asked since the Jurassic Era: "Do you meet my specifications?"
So what do you think about the topic of IP? Do you find it interesting? Have you already tried to license an IP core from a third-party vendor? If so, what has been your experience?