Today every designer faces a plethora of challenges in their SoC designs. These challenges are product release plans, design complexity, quality and goal of first silicon success. Moreover recent years have introduced a high pressure on power efficiency, not only because of mobile application prevalence, but also due to the strong community movement into the overall lower power consumption.
Today's designs are highly complex having many submodules integrated in a single chip. This brings the development to the next abstraction level where all modules need to work together smoothly and provide functionality within the scope of specification which in many cases is pretty standard. So, if they are standard, is there really a need to “re-invent the wheel” and build them in the own lab, increasing the costs and risk? Or could a good external source be used instead? IP vendors provide many state of the art modules for nowadays complex designs. These modules have many years of experience behind them, they have already been thoroughly verified and they are supported by many engineers ready to help in the race for success.
Area of third party IP reuse
IP cores are great solutions for some specific areas where IP reuse is extremely useful. The prime position in this group is occupied by standard based cores. These standards can be officially approved and regulated such as USB, SATA or MIPI for example. Or they could be well established de-facto industry standards, like the microprocessor based on the 8051 architecture.
Another good area for IP cores is the memory application. Memories are usually based on some regulated standard but in some cases vendors do not follow the trend and implement extra features to improve performance and to differentiate their product on the market. In case of not using off-the-shelf IP a designer needs to investigate all features of the memories, check the interfaces and read technical documentation of the vendor in depth to effectively use these memories in their application. Another field where a ready-to-use module can be found is complex mathematical algorithms.
Should the users really analyze mathematical equations and implement them on their own? That sounds crazy. It is much more effective to find an off-the-shelf solution for such a complex operation from a reliable vendor and focus on more important tasks that are unique for the given product.
And the last point to bring here is the microprocessor. Instead of developing the core, workout assembler and compilers a user can just pick one from a really wide spectrum of IPs ranging from small 6502-alike for low-end applications up to the fully blown 32bit architectures from ARM for example, with all bells and whistles needed in today’s multimedia high-performance systems.
In short: because it can save a significant amount of time, that’s great. But what other advantages does the usage of third party Ips have? Why should designers go with such a solution? Could they not write it by themselves? There is a great team of engineers that would be happy doing this for the company internally.
However, today’s market demands delivering products in the shortest possible time at the lowest possible price, so spending time and money on standard elements is not the best approach. There are really very few cases where designers have plenty of time and money, and actually it sounds like a pipedream because it is a pipedream in fact. The other point is that in many cases despite of dedicated engineers, there are neither experience nor knowledge of given technology in a company and building it from scratch would take an immense amount of time and consume really unpredictable amount of money.
Even if the company decides that they could build a dedicated group of engineers to support specific technology, should the team spend their future time on maintenance of such internally developed module to keep it up to date? Rather not – they should dedicate their time for add-on value of the company’s product. On the other hand, for the IP provider maintenance of its products is part of its mission. As long as the product is kept in the portfolio, there is also product maintenance behind it. So the customer can always get fresh and up-to-date, ready-to-be-used modules like fresh apples directly from the tree. The other fact is the same standard product is sold to many customers; therefore, it is much more mature.
If the company builds for example a USB controller from scratch there is always a risk that the module will not work, so there would be additional design- and even more verification-time and spin-off needed, that means another bunch of dollars spent on the project. Comparing this to buying an off-the-shelf standard IP, the designer can get a core that works, a core that has been thoroughly verified by people specialized in IP development and in many cases a core that was certified by a third party organization.
Moreover, a core that has already worked on silicon, so it has already been verified in a real application and it can be trusted. Even in the very rare case that the customer finds some inconsistency in off-the-shelf IP, there is no extra development cost at his side as any good IP vendor fixes it at no extra cost in the shortest possible time. Besides the IP maturity level there is also a point that selling the same module to many customers allows the IP vendor to spread his own development costs on several sales opportunities and offer the IP at much lower price comparing to any in-house development.Of course, there could also be opinions that the quality cannot be trusted while buying an IP. One could say that new IP can have many challenges, that is true and false at the same time. Could any engineer assure that his or her code is perfect without any bug? No, and nobody who states the opposite could be trusted. The difference is that the IP vendor is always focused on providing the highest quality product using his highly sophisticated verification policies.
The IP vendor is always aware of the newest and the most cutting-edge solutions in fast growing verification methodology, as it is part of his business. He needs to be on the first wave of verification having distinguished verification environments established.
These facts all lead into the result that the IP vendor issue rate is much lower than any do-it-yourself solution. A completely different point is that IP vendors often cooperate with other market leaders to provide the best solution that includes IP core communicating with the external elements like memories or transceivers. So, if the IP vendor has already established connections with such vendors, they can help their customer much efficiently and faster, either by providing developments guides or putting them in touch with the vendor customer support. The end-user does not need to punch through the automated response centers of the first line support.
Still many companies neglect using third party IPs as they are not considered a trustful solution. However, it becomes more and more obvious that cutting-edge SoC design cannot live without third party IP. The costs and risks of building the whole design in-house are just too high to create a competitive product at acceptable price for today’s fast-paced market. The design flow needs to adhere to the next abstraction level –Block design with 3rd party standard-IP – to maintain the chance to still meet the ever shrinking market windows in the electronic industry.
Michal Jedrak is with Evatronix and has spent 10 years in the IP business. His career path has progressed from IP development through project management to technical marketing. He and his team have supported customers with various embedded projects over the past few years. Jedrak holds an MSEE from Silesian Technical University of Gliwice.