Automatic verification of external interrupts
A method for the automatic verification of external interrupts in modern processor architectures under a very wide range of instruction sequences provides almost complete expected results from each of the involved interrupts. In particular, the method allows the verification of the architectural asp...
Gespeichert in:
Hauptverfasser: | , , , , , , , |
---|---|
Format: | Patent |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | A method for the automatic verification of external interrupts in modern processor architectures under a very wide range of instruction sequences provides almost complete expected results from each of the involved interrupts. In particular, the method allows the verification of the architectural aspects to the external interrupt mechanism in pipelined and super scalar microprocessors. The method which is based on the assumption that when an external interrupt is serviced, the processor branches to a specific address according to the type of the external interrupt. The first step in the method is a preparation step wherein the memory addresses already used by the test are scanned and unused memory spaces are allocated for a plurality of memory blocks and two memory addresses for pointers. These two addresses are used to find the next block to fill. After this initial preparation step, the interrupt is presented in any desired location by the design simulator controller. Next, the instruction range in which the external interrupt could be serviced is found. External interrupt routines are added to the test. These routines are executed each time the appropriate external interrupt is served by the processor. Finally, the reference model of the processor is used to recompute the expected results of the test. In this process, each external interrupt will update its unique block of memory and, as a result, if the processor sets any of these resources to an incorrect value while servicing any of the external interrupts presented in the test, it will be detected as the actual results of the test will be different than those expected in the test program. A mask is used to detect latency violations. The value saved in memory is independent of the actual timing of the interrupt since all the unknown bits are reset by the mask. By using an offset, the chances of detection of a latency violation are improved. |
---|