Abstract:
A method for testing at least two arithmetic units installed in a control unit includes: loading of first test data for testing a first arithmetic unit; saving the loaded first test data in a second memory unit of a second arithmetic unit; switching the first arithmetic unit to a test mode, in which a first scan chain of the first arithmetic unit is accessible; reading the first test data from the second memory unit; shifting the first test data which have been read through the first scan chain of the first arithmetic unit switched to the test mode for providing test result data for the first arithmetic unit; checking the provided test result data for plausibility for providing a test result for the first arithmetic unit.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to a method for testing at least one arithmetic unit of a control unit installed in a motor vehicle. 
         [0003]    2. Description of Related Art 
         [0004]    The technical area of the present invention relates to testing integrated circuits, in particular their arithmetic unit or arithmetic units. In the following, computation unit, arithmetic unit, computing device and digital core are used interchangeably and designate the same thing. 
         [0005]    Testing integrated circuits or their arithmetic units in an uninstalled state is known. Uninstalled state here means that the integrated circuit, i.e., the arithmetic unit or the arithmetic units, are not, in particular not yet, installed or mounted in a control unit, a control device or the like. This test is performed in particular by the semiconductor manufacturer of the integrated circuit. Examples of such tests include stuck-at tests and path delay tests. With the aid of the stuck-at test, a potential short-circuit of a signal is tested by the supply voltage or ground, for example, in a scan chain or a scan path of the corresponding arithmetic unit. The path delay test tests the propagation times of the signals, for example, via the scan chains or scan paths. Detailed descriptions of the stuck-at test and the path delay test are known from published European patent document EP 0548585. 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    The method according to the present invention for testing a computation unit installed in at least one control unit, has the advantage compared to the known approaches that arithmetic units may be tested in an installed or mounted state and, in particular, even in the closed control unit. It is thus possible, according to the present invention, to test an arithmetic unit or a plurality of arithmetic units of a control unit, which is/are installed at an arbitrary location of a motor vehicle. In particular, according to the present invention, the stuck-at test and the path delay test may be performed with the control unit installed. 
         [0007]    The method according to the present invention thus ensures that the control unit and, in particular, its arithmetic units may be tested after stress or after use in the same way (and thus with a relatively similar test coverage) as at the place of the corresponding semiconductor manufacturer. In particular, an improved analyzability results therefrom in the case of field returns. In particular, the likelihood that a certain error, which could be found by the semiconductor manufacturer in the uninstalled state, is not found in the installed state is increased. 
         [0008]    The present invention is based essentially on the idea of providing a method having the following steps for testing at least one arithmetic unit installed in a control unit, the control unit having a control unit interface, at least two arithmetic units, each of which has a scan chain (or the beginning of a circuit connecting the internal scan chains) and at least one memory unit:
       loading of first test data with the aid of the control unit interface for testing a first arithmetic unit;   saving the loaded first test data in a second memory unit of a second arithmetic unit;   switching the first arithmetic unit to a test mode, in which a first scan chain of the first arithmetic unit is accessible, with the aid of the second arithmetic unit;   reading the first test data from the second memory unit with the aid of the second arithmetic unit;   shifting the first test data that have been read through the first scan chain of the first arithmetic unit switched to the test mode, with the aid of the second arithmetic unit for providing test result data for the first arithmetic unit;   checking the provided test result data for plausibility with the aid of the second arithmetic unit for providing a test result for the first arithmetic unit.       
 
         [0015]    According to a refinement of the present invention, the test data that have been read from the second memory unit are shifted, with the aid of the second arithmetic unit, through the first scan chain via a first dedicated interface with the aid of which the second arithmetic unit is coupled to the first scan chain. 
         [0016]    According to another refinement, the method according to the present invention furthermore has the following steps:
       loading of second test data for testing the second arithmetic unit, the second test data being loaded with the aid of the control unit interface, or the first test data stored in the second memory unit being loaded as second test data via an internal interface of the control unit;   saving the loaded second test data in a first memory unit of the first arithmetic unit;   switching the second arithmetic unit to a test mode in which a second scan chain of the second arithmetic unit is accessible with the aid of the first arithmetic unit;   reading the second test data from the first memory unit with the aid of the first arithmetic unit;   shifting the second test data that have been read through the second scan chain of the second arithmetic unit switched to the test mode, with the aid of the first arithmetic unit for providing test result data for the second arithmetic unit; and   checking the provided test result data for plausibility with the aid of the first arithmetic unit for providing a test result for the second arithmetic unit.       
 
         [0023]    According to another refinement, the second test data that have been read from the first memory unit are shifted, with the aid of the first arithmetic unit, through the second scan chain via a second dedicated interface with the aid of which the first arithmetic unit is coupled to the second scan chain. 
         [0024]    According to another refinement, the control unit is provided with a clock generator for providing a predefinable clock pulse and the shift of the particular test data that have been read through the particular scan chain is performed using the clock pulse provided for performing a path delay test. 
         [0025]    According to an example embodiment of the present invention, the first dedicated interface and/or the second dedicated interface are/is designed as a shift register or an ASC interface or an SPI interface. 
         [0026]    According to another embodiment, the control unit interface is designed as a CAN bus or a FlexRay bus or a K Line bus. 
         [0027]    According to another embodiment, the particular provided test result data and/or the particular provided test results are saved in at least one memory unit of the first arithmetic unit or the second arithmetic unit and/or is/are provided for export with the aid of the control unit interface. 
         [0028]    According to another embodiments the clock pulse of the clock generator is set via the control unit interface. 
         [0029]    According to another refinement, the first arithmetic unit and the second arithmetic unit are integrated into a single integrated circuit, the stuck-at paths of the integrated circuit which do not belong to the first arithmetic unit or the second arithmetic unit being tested with the aid of the first arithmetic unit or the second arithmetic unit. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
         [0030]      FIG. 1  shows a schematic flow chart of a first exemplary embodiment of the method according to the present invention. 
           [0031]      FIG. 2  shows a schematic flow chart of a second exemplary embodiment of the method according to the present invention. 
           [0032]      FIG. 3  shows a schematic view of an exemplary embodiment of a control unit which is tested with the aid of the method according to the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0033]    In the figures, the same reference numerals identify the same components or components having an identical function. 
         [0034]      FIG. 1  shows a schematic flow chart of a first exemplary embodiment of the method according to the present invention. 
         [0035]    The method according to the present invention for testing at least one microcontroller installed in a control unit, having arithmetic units  2 ,  3 , has method steps a) through f) listed below. The control unit has a control unit interface, at least two arithmetic units  2 ,  3 , each of which has a scan chain  4 ,  5 , or an area of a scan chain  4 ,  5 , and at least one memory unit  6 ,  7 . 
         [0036]    Method Step a: 
         [0037]    First test data are loaded with the aid of the control unit interface for testing a first arithmetic unit  2 . The control unit interface is preferably designed as a CAN bus or a FlexRay bus or a K line bus. The test data represent in particular modeled test vectors which are generated or modeled by the semiconductor manufacturer during the circuit synthesis of the corresponding arithmetic unit. The test data are preferably provided by the semiconductor manufacturer as a so-called scan pattern. 
         [0038]    Method Step b: 
         [0039]    The first test data are stored, i.e., saved, in a second memory unit  7  of a second arithmetic unit  3 . 
         [0040]    Method Step c: 
         [0041]    First arithmetic unit  2  is switched to a test mode with the aid of second arithmetic unit  3 . In the test mode, a first scan chain  4  or an area of first scan chain  4  of first arithmetic unit  2  is accessible, i.e., first scan chain  4  may be accessed with the aid of second arithmetic unit  3 . 
         [0042]    Method Step d: 
         [0043]    The first test data are read from second memory unit  7  with the aid of second arithmetic unit  3 . 
         [0044]    Method Step e: 
         [0045]    The first test data which have been read are shifted through first scan chain  4  of first arithmetic unit  2  switched to the test mode, with the aid of second arithmetic unit  3 , for providing test result data for arithmetic unit  2 . The first test data that have been read from second memory unit  7  with the aid of second arithmetic unit  3  are preferably shifted, through first scan chain  4  via a first dedicated interface  8 , with the aid of which second arithmetic unit  3  is coupled to first scan chain  4 . In particular, first dedicated interface  8  is designed as a shift register or an ASC interface or an SPI interface. 
         [0046]    Method Step f: 
         [0047]    The provided test result data are checked for plausibility with the aid of second arithmetic unit  3  for providing a test result for first arithmetic unit  2 . In particular, the provided test result data are compared to test result data to be expected. The test result reveals in particular whether an error and, in particular, a stuck-at error exists for first scan chain  4 . The provided test result data and/or the provided test result for first arithmetic unit  2  are/is preferably saved in a memory unit, in particular in second memory unit  7 . Alternatively, the provided test result data and/or the provided test result for first arithmetic unit  2  may also be provided by an arbitrary analyzer device via the control unit interface for export. 
         [0048]      FIG. 2  shows a schematic flow chart of a second exemplary embodiment of the method according to the present invention. The second exemplary embodiment according to  FIG. 2  has method steps a) through f) of the first exemplary embodiment according to  FIG. 1  and method steps g) through l) below. The second exemplary embodiment according to  FIG. 2  provides a test method in which first arithmetic unit  2  is tested with the aid of second arithmetic unit  3  and second arithmetic unit  3  is tested with the aid of first arithmetic unit  2 . 
         [0049]    Method steps a) through f) of  FIG. 2  correspond to method steps a) through f) of  FIG. 1 . The second exemplary embodiment according to  FIG. 2 , starting with method step g), follows method step f) of the first exemplary embodiment according to  FIG. 1 . 
         [0050]    Method Step g): 
         [0051]    Second test data for testing second arithmetic unit  3  are loaded, the second test data being loaded with the aid of the control unit interface, or the first test data stored in second memory unit  7  being loaded as second test data via an internal interface of control unit  1 . The internal interface is designed, for example, as a bus system of the control unit. 
         [0052]    Method Step h): 
         [0053]    The loaded second test data are saved, i.e., stored in a first memory unit  6  of first arithmetic unit  2 . 
         [0054]    Method Step i): 
         [0055]    Second arithmetic unit  3  is switched, with the aid of first arithmetic unit  2 , to a test mode in which a second scan chain  5  of second arithmetic unit  3  is accessible. In particular, in the test mode, second arithmetic unit  2  may access second scan chain  5  of second arithmetic unit  3 . 
         [0056]    Method Step j): 
         [0057]    The second test data are read from first memory unit  6  with the aid of the first arithmetic unit  2 . 
         [0058]    Method Step k): 
         [0059]    The second test data that have been read are shifted through second scan chain  5  of second arithmetic unit  3  switched to the test mode, with the aid of first arithmetic unit  2  for providing test result data for second arithmetic unit  5 . Second test data which have been read from first memory unit  6  are preferably shifted through second scan chain  5  with the aid of first arithmetic unit  2  via a second dedicated interface  9 . Second dedicated interface  9  couples first arithmetic unit  2  to second scan chain  5  and is designed in particular as a shift register or an ASC interface or an SPI interface. 
         [0060]    Method Step l): 
         [0061]    The provided test result data are checked for plausibility with the aid of first arithmetic unit  2  for providing a test result for second arithmetic unit  3 . In the plausibility check, the provided test result data are compared with test result data to be expected which are a function of the second test data. The provided test result data and/or the provided test result for second arithmetic unit  3  are/is preferably saved in at least one memory unit  6 ,  7  of control unit  1 , in particular in first memory unit  6 . Alternatively, the provided test result data and/or the provided test result for second arithmetic unit  3  are/is provided with the aid of an arbitrary analyzer device via the control unit interface for export. 
         [0062]    Control unit  1  is preferably provided with a clock generator  10  for providing a predefinable clock pulse in both the first exemplary embodiment according to  FIG. 1  and in the second exemplary embodiment according to  FIG. 2 . Consequently, the particular test data that have been read may be shifted through the particular scan chain  4 ,  5  under clock pulse control. The performance of a path delay test is thus made possible by using the provided clock pulse. In particular, in the path delay test, delay times when shifting through individual units of the particular scan chain or scan path are measured. The clock pulse of clock generator  10  is preferably set via the control unit interface. For this purpose, for example, an analyzer device is coupled to the control unit interface, using which the clock pulse of clock generator  10  is set. 
         [0063]    In particular, in both exemplary embodiments of  FIGS. 1 and 2 , first arithmetic unit  2  and second arithmetic unit  3  are integrated into a single integrated circuit, the stuck-at paths of the integrated circuit which do not belong to first arithmetic unit  2  or second arithmetic unit  3  being tested with the aid of first arithmetic unit  2  or second arithmetic unit  3 . 
         [0064]      FIG. 3  shows a schematic view of an exemplary embodiment of a microcontroller  1  which is tested with the aid of the method according to the present invention as described previously. Reference numeral  1  identifies, in particular, the silicon surface of the microcontroller. Microcontroller  1  has a first arithmetic unit  2  having a first memory unit  6 , and a second arithmetic unit  3  having a second memory unit  7 . Furthermore, control unit  1  has a control unit interface (not depicted), a first clock generator  10  and a second clock generator  11 . First clock generator  10  delivers, in particular, the clock pulse for performing the path delay test. Second clock generator  11  clocks, for example, first arithmetic unit  2  and/or second arithmetic unit  3 . Reference numerals  4  and  5  identify an area of first scan chain  4  on the silicon surface and an area of second scan chain  5  on the silicon surface, respectively. Second arithmetic unit  3  may access the area of first scan chain  4  with the aid of first dedicated interface  8 . First arithmetic unit  2  may access the area of second scan chain  5  with the aid of second dedicated interface  9 . In particular, dedicated interfaces  8 ,  9 , are each designed as shift registers. 
         [0065]    Although the present invention has been described on the basis of preferred exemplary embodiments, it is not limited thereto, but may be modified in multiple ways. Thus, for example, the number of arithmetic units of a control unit to be tested with the aid of the method according to the present invention is not limited to two. Any number of arithmetic units of a control unit is testable with the aid of the method according to the present invention. Another specific embodiment is the location of the test vectors in a shared memory. It is furthermore possible to store the test data not in silicon, but to load both input data and output data via a control unit interface (not shown in the drawings), separate for each arithmetic unit, and retransmit them outward.