Vivek Kangralkar
Tuesday, September 1, 2009
A semiconductor SoC (System on Chip) development cycle goes through significant understanding of market research, concept analysis and efficient design technology in terms of hardware as well as software, resulting into a successful SoC. It is this SoC that customers take to end products targeted at different markets which are, in turn, application specific, region specific or power specific. The quality of SoC and the ease with which customers build the application software with target performance on the SoC are the key success factors because they further affect time-to-market for the customer.

With an emerging market space for multimedia, high performance applications, low power with lower nanometer technology the complexity of SoCs is increasing thereby multiplying the complexity of the software by many folds. This eventually increases the time to market for the customer.

An SoC company can give prime importance to these customer success factors in order to enable them reach faster to their markets.

The Indian market is diverse compared to traditional R&D oriented markets like US and Europe. We work with a wide spectrum of customers, who

1. Expect the SoCs to reach them with particular performance with specific end application that will be written by the customers. This set of customers is looking for:

a. Shorter time to market

b. R&D support from the SoC companies well in advance while designing the SoC, considering their end application

2. Do the R&D of the SoC with inputs from the SoC companies and come up with the customized application. This set of customers is:

a. More focused on bringing differentiation to the product or bringing newer product to market. Time to market adds tremendous value to their products.

3. Combine 1 and 2.

The increased complexities of SoCs make system analysis, design and validation of target end application critical for the success of SoC customer. The earlier the application analysis and validation is done in the lifecycle of an SoC, the more successful will be the SoC, and hence the customer.

Broadly, these steps can make SoCs more robust.
1) Architecture or system modeling
2) Pre-silicon application validation
3) System validation and systems solutions

In an SoC company, when the concept is developed with inputs from extensive market research, it can be supported and verified by creating the software system behavioral models that represent the design in terms of delay models and the traffic pattern that should flow in the design. Essentially, the traffic mimics the target end application data (e.g.: traffic that emulates video streaming). The advantage of the system models is that both the design and the traffic can be modified to suit the target end applications. Further, the system models developed can be made configurable in such a way that the critical delays in the design (e.g.: bridges, memory read/write latencies, critical block latencies etc.) are modeled fairly accurately. This being a software model, cycle time of changing the design to experiment is smaller compared to the actual design done in RTL. The system models serve two primary purposes:

1. Quick system design with fairly accurate modeling of behavior

2. Quick analysis of response of the system to different traffic patterns that actually represent customer end applications

The system models can play a key role in the actual RTL design. The system models being validated in different target application traffic provide direct reference to the digital design. This gives the first level of confidence on the design that the end application would work.

The system models provide basic but crucial launch pad for RTL design. However as the RTL starts taking shape it becomes important to analyze the design with realistic data such as actual video data at required rate and format (e.g.: HD, H.264 @ 1080p30, 20Mbps) flowing in the same way as in target application. This can be done by using the low level software drivers that involve direct register programming, to run on the RTL, using real time data. This forms the basis of pre-silicon application validation.

In order to take the system closer to the end application, the design of critical software components that highly depend on hardware can be given priority to develop so as to validate as a part of the pre-silicon application validation. This actually enables the system validation at a very early stage of development cycle. This has two fold advantages, the design gets validated with actual end application and also the software package is proven to be working much before silicon is available.

When such an application with realistic scenario and real time data is run on the actual design before silicon, it gives minute and system critical details such as:

1. Data compatibility as the real time data formats start flowing from one block to another in the design

2. Real time response of CPUs and critical blocks in the design

3. Actual bandwidth at the high speed memory like DDR and contributing factors like bus utilization, bridge delays, critical block latencies.

4. End to end application performance by observing data such as video, audio in multimedia applications

In order to make design more robust, the pre silicon application validation can be efficiently divided in two stages:

1. System critical validation that can be completed before freezing the RTL so that any changes that become necessary through analysis of the results can be accommodated in the design through direct RTL changes.

2. Next level of validation with complete application specific software package that is completed before design goes to fab so that any changes needed as a part of this validation can still be accommodated during physical design. The validation needs to be divided in such a way that the changes caused in this stage should not be so complex in nature that RTL changes become necessary.

This validation being done at pre silicon stage gets rid of the issues that are caught by running the real time situation with real time data making design more robust for the target end applications. At the end of the lifecycle when SoC is available in the form of silicon, the software that has been validated at the pre-silicon stage should work without many issues reducing software application validation time significantly.

The process of validating the design for the customer’s target application, much before actual silicon is available, gives major advantages:

1. The application is well proven in terms of performance on the system/design before the silicon is available

2. The application software along with critical software blocks is well proven on the system/design before silicon is available. Hence, the early software release can be made available according to the silicon availability.

3. The pre-silicon validation gives minute performance data which results in effective and efficient collaterals such as application notes.

4. The detailed performance data at peripheral and system level allows the provision of different possible system solutions.

5. Since the extensive data is available along with the silicon, customer query turn-around time can be significantly reduced.

This multi-level and detailed pre-silicon analysis and validation enables customers to reduce the time to market significantly. Many Indian customers are taking advantage of engaging with semiconductor companies at the early stages. This helps the semiconductor companies to understand customer requirements and the target application/market. This further gives the semiconductor companies an opportunity to quickly provide the right SOC to the customer.

The author of the article is Vivek Kangralkar, Senior Systems Lead, Hardware Applications,Texas Instruments India

Share on LinkedIn

Previous Magazine Editions