Popis: |
Post-Silicon validation is the final level checking the silicon before it is delivered to customer. Automotive microcontrollers use CAN (Controller Area Network) as major communication protocol, which can be used in the mission critical systems and hence should be validated under extreme scenarios to test the robustness of the Microcontroller. Since validation space is huge, there are numerous scenarios that can occur in a real system. Traditional test cases follow directed approach of testing, which behave in a predicted way and lacks flexibility to control dynamically the variation in the stimulus. To overcome the limitations of directed approach and to ensure reliability of the communication modules, we came up with the methodology of Randomization, which is a well-proven methodology in pre-silicon verification environment. Proposed methodology uses the internal micro architecture of the module to explore the huge validation space to find the unknown bugs, which are not detected by the traditional directed approach. The objective is to test the robustness of Microcontroller by Stressing the module to find unknown bugs faster in the early phase of Silicon validation by hitting the architecturally interesting conditions (corner case) in Probabilistic manner. A multi-level seed-based algorithm has been implemented to achieve randomization of CAN and other communication modules. Some target parameters and events have been identified for randomization (e.g. Baud Rate, Frequency, Bus Load, Sample points, order of CAN nodes, Message Buffers, Sleep and Suspend etc.). These target parameters and events will be randomized based on the values, which are generated by pseudo-random function. In this approach, the sequence of state-machines of test-execution can also be randomized in order to hit humanly not-conceivable corner cases and thus checking robustness of the chip. The methodology includes steps for root cause identification of failure and it is cyclicrepeatable. Our experiment reveals one corner-case silicon bug, which can only be found with randomized methodology. |