In the long run, designing for reuse helps bring products to market faster and with higher quality.
The market success of a product is governed by multiple factors, including when the product is launched, product quality, cost, feature set, and how well the product implements the given features. In such a competitive scenario, each and every aspect of the design cycle is considered for optimization. Reusing IP for product development has long been considered a promising option to deliver on most of these factors. In this column, we extend the concept of reusable IP to system design.
Intellectual property (IP) is a commonly used term in the semiconductor industry, where it is defined as a logic block used as a building block for a silicon design. Before getting into the details of IP use in system design and its advantages, let's discuss the problems an OEM manufacturer faces during product development. OEM manufacturers always work within an extremely tight schedule, because launching a product ahead of a competitor means additional marketshare. Here are some factors that affect the product development cycle and time to market.
Development phase: This is when the actual product implementation is decided. Cutting down on the time required to implement a given set of features has always been emphasized. Due to time pressures, either some features get dropped, or half-cooked features are delivered. This only hampers the product's chances for success.
Testing/validation phase: Typically, the time spent in this phase is directly proportional to the product's quality. It ensures that the product has been tested and determines the degree to which the corner cases are covered. Many times, due to the pressure of releasing a product early, features get released to the market without going through rigorous testing.
Cost of development and validation: One option for reducing time in the development and testing phases is to increase the available resources. However, increasing resources comes with the disadvantage of increasing the final cost of the end product. Releasing a product in time but at an extra cost also works against its success.
Compliance testing: Many products have to go through multiple compliance tests before they can be released to the market. Compliance testing ensures the product's safe operation. Not only does such testing incur additional cost, but also any failure may require redesign of the architecture and further delay product release.
In the case of embedded system designs, reusable IP can be a library, a set of source files, or a complete subblock of a larger design. The form in which reusable IP is delivered can be tailored to market needs. For instance, if some functionality is covered with patents and offers a competitive advantage, it can be obfuscated and provided as a library or object code. Some of the advantages of using IP are as follows.
Reusing IP significantly cuts the time required for development and validation. Once the system is developed and tested, it can be used again. After that, only integration and system testing is required. Reuse thus helps by reducing time to market.
Reuse of IP helps with the implementation of incremental features and knowledge of bugs (if any) beforehand. This allows the developer to update IP and thus provide better-quality products over time.
Scarcity of expert resources is a common problem during product development. Reuse of IP developed by experts who know the low-level architecture in detail enables system developers to build applications upon a reliable foundation.
Some compliance testing, once completed on IP, need not be repeated unless the IP is modified. For software, modification can be easily verified using the checksum of the IP. In such cases, reuse of IP that has passed compliance testing becomes the first preference, as it saves cost, effort, and time.
IP reuse helps reduce development time and validation, which in turn reduces system cost through faster time to market. Fewer design hours are required to bring the product to market.