Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Page images | Web History | Sign in

Patents

  
[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][table][merged small]
[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][graphic][merged small][graphic][merged small][merged small][merged small][merged small][graphic][merged small][merged small][graphic][graphic][merged small][merged small][merged small][merged small][merged small]
[merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][merged small][graphic][merged small][graphic][merged small][merged small][merged small][merged small][graphic][merged small][merged small][merged small][graphic][merged small][merged small][merged small][merged small]

1 2

METHOD AND APPARATUS FOR BRIEF SUMMARY OF THE INVENTION

APPLICATION SPECIFIC TEST OF PLDS

CROSS-REFERENCES TO RELATED
APPLICATIONS

NOT APPLICABLE

BACKGROUND OF THE INVENTION

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is directed toward a method and apparatus for application specific testing of PLDs.

In accordance with one embodiment of the present inven

NOT APPLICABLE t'on' 311 aPParams includes a PLD. The PLD includes

resources. The resources include a first set and a second set.

STATEMENT AS TO RIGHTS TO INVENTIONS The first set imPlements a customer application The first set

MADE UNDER FEDERALLY SPONSORED 10 includes less than all of the resources. The second set is

RESEARCH OR DEVELOPMENT different from the first set. The second set is configured to

perform a test on the first set and to generate a test result.

NOT APPLICABLE In accordance with another embodiment of the present

invention, a system tests a device. The system includes a

REFERENCE TO A "SEQUENCE LISTING," A 15 PLD and a test unit. The PLD has resources. A set of the

TABLE, OR A COMPUTER PROGRAM LISTING resources is used for implementing a customer application.

APPENDIX SUBMITTED ON A COMPACT The set includes less than all of the resources of the PLD.

DISK Xhe test unit is coupled to the PLD and is configured to

2q perform a test only on the set and to generate a test result.

In accordance with yet another embodiment of the present invention, a method tests a PLD having a plurality of resources. The method includes the following steps. First, a set of the resources that is used for implementing a customer

The present invention relates to testing programmable application is identified. The identified set includes less than

logic devices (PLDs). In particular, the present invention all of the resomces on the PLD. Second, a test is performed

relates to testing those portions of PLDs that are important on me set and a test result is generated.

to customers. ... . The embodiments of the present invention allow the A PLD is a programmable circuit device that can include testi of pLDs based Qn ^ abm of ^ customer to many diverse components, such as programmable logic (for 3Q fom testi ^ reduction of the time required for testing performing logic operations on input data) as well as spe- a ^ ^ of the cust0mer's application, among ciahzed components, such as phase-locked loops (PLLs), other advantages delay-locked loops (DLLs), digital signal processors (DSPs), memory, etc. The PLD also includes "interconnects" that connect the components to each other and to inputs and outputs. These components and their interconnects may be referred to generally as "resources". The Embodiments of the present invention will now be resources of the PLD can be controlled and connected in described with reference to the following detailed descnpconfigurable ways in order to perform whatever specialized ^on drawings, in which.

application a customer wishes. FIG. 1 is a block diagram of a PLD according to an

Traditional testing of PLDs is similar to testing of other 4° embodiment of the present invention;

integrated circuit devices. Namely, all the inputs, outputs, FIG. 2 is a block diagram of an external test system

resources, and interconnects are tested for defects. Such according to an embodiment of the present invention;

testing takes time. Such testing is normally performed by piG. 3 is a block diagram of an internal test system

specialized equipment at the PLD manufacturer. If a defect 45 according to an embodiment of the present invention;

is found, the PLD is identified as defective. The defective pl& 4 ig & flowchart of a method according to an

PLD is not further configured and is not provided to the embodiment of the present invention; customer. The detective PLD may be analyzed to determine

the cause of the defect, or the defective PLD may simply be . FI& 5 18 a bl°ck dla^anl of interconnect testing accordscrapped. In either case, the defective PLD can be viewed as m% to 311 embodiment of the present invention; an inefficiency that reduces the revenue of the PLD manu- FIG. 6 is a flowchart of a method of interconnect testing facturer. according to an embodiment of the present invention;

Testing all of the resources in the entire PLD is time- FIG. 7 is a block diagram of logic element testing

consuming, in development time as well as actually running according to an embodiment of the present invention;

the tests. Due to the number of configurations involved and 55 FIG. 8 is a flowchart of a method of logic element

the pins required to run the factory tests, they are also according to an embodiment of the present invention;

unsuitable for use in a customer's system. FIG 9 is a block diagram of function block testing

In many cases, the customer does not require the use all according to an embodiment of the present invention;

the resources of the PLD in the customer's application. In FIG 1Q is a flowchart of a memod of function block

such cases, even if a particular PLD has a defect, if that 60 testing according to an embodiment of the present invention;

defect is unimportant to the customer's application, that „T^, „„ . . . _

^- 1 nr 4-11 1 • * ? Jt * FIG. 11 is a timing diagram oi testing according to an

particular PLD may still be appropriate for the customer. , _ , ° . . ° °

_ , _ i i i embodiment oi the present invention;

inere is a need for a customer to easily perform testing .

after receiving the PLD from the manufacturer. Further, FI& 12 18 a state relatlnS to FI& U>

there is a need to reduce the time required for testing a PLD. 65 FIG- i3 is a timing diagram of testing according to an

Finally, there is a need to test PLDs based on knowledge of embodiment of the present invention; and

the customer's application. FIG. 14 is a state diagram relating to FIG. 13.

35

3

DETAILED DESCRIPTION OF THE
INVENTION

Examples of PLDs include various Altera products, such as the StratixTM, APEXTM, CycloneTM, FLEXTM, ACEXTM, 5 and MercuryTM families of field programmable gate arrays (FPGAs), the datasheets of which are incorporated herein by reference. The various embodiments of the present invention are applicable to these and other types of PLDs.

FIG. 1 is a block diagram generally showing a PLD 100 10 according to an embodiment of the present invention. The PLD 100 includes numerous resources. Some specific resources shown are logic array blocks (LABs) 102, memories 104, phase-locked loops (PLLs) 106, and digital signal processors (DSPs) 108, all connected by interconnects 110. 15 Many other types of resources may also be provided on the PLD 100. The PLD 100 also includes input and output portions (not shown).

For customer applications, the resources necessary to implement the applications are connected together via the 20 interconnect 110. For a specific customer application, however, not all the resources (including not all the interconnect 110) may be necessary to implement that specific function.

Embodiments of the present invention are directed toward taking advantage of the fact that not all resources of the PLD 25 are used and applying this advantage in the PLD testing area. FIGS. 2-3 are block diagrams showing two general embodiments according to the present invention. FIG. 4 is a flowchart showing the general operation of a method according to an embodiment of the present invention. 30

In FIG. 2, the PLD 100 is tested by an external test unit 120. The test unit 120 may be similar to existing test units for testing PLDs. However, the test unit 120 is additionally programmed to be aware of the customer application. The test unit 120 tests only those resources of the PLD 100 that 35 are actually used in the customer application. Testing with the test unit 120 is most likely to be performed at the PLD manufacturer, not at the customer. For such testing, registers of the PLD may be used to drive and capture the data via test features like register scan. 40

In FIG. 3, the PLD 100 includes a set 130 of resources that is used for implementing the customer application. This set 130 may be referred to as the customer resources 130. The customer resources 130 are less than all of the resources of the PLD 100. This leaves a second set 132 of resources that 45 is used for testing the customer resources 130. This second set 132 may be referred to as the test resources 132. The testing performed by the test resources 132 may be referred to as built-in self testing (BIST) because the test resources 132 are located on the PLD 100. The remaining resources of 50 the PLD 100 may be referred to as unused resources 134. (Note that the test resources 132 were part of the unused resources prior to their configuration as test resources 132.)

In FIG. 4, the method 140 includes three steps 142, 144 and 146. In step 142, a set of resources that is used for the 55 customer application is identified. This set includes less than all of the resources of the PLD 100. In step 144, testing is performed on the resources associated with the customer application. In step 146, a test result is generated.

FIGS. 5-10 provide more details on the specific types of 60 testing performed. In general, a toolset may be used to develop application specific tests for the different component types of the PLD. FIGS. 5-6 detail interconnect testing. FIGS. 7-8 detail logic element testing. FIGS. 9-10 detail function block testing. 65

FIG. 5 is a block diagram showing interconnect testing according to an embodiment of the present invention.

4

According to one embodiment, the interconnect includes a number of 4-input lookup tables (LUTs) (not shown) for routing. The interconnect testing may be performed via a register scan (see above regarding FIG. 2) or via BIST (see above regarding FIG. 3). A standard testing function F may be used.

FIG. 6 is a flowchart detailing the steps 160 performed in interconnect testing according to an embodiment of the present invention. In step 162, the toolset identifies the interconnect being used by parsing the pattern of the customer application. In step 164, the identified interconnect is put into a routing graph format. In step 166, any combinatorial feedback paths are broken. In step 168, the toolset places all of the logic elements joined by the identified interconnect into combinatorial mode. In step 170, the standard function F is put into all of the LUTs to provide full observability of all four inputs like an exclusive-OR (XOR).

For factory testing of the interconnect, registers may be used to drive and capture the data via test features like a register scan (see above regarding FIG. 2). For in-system BIST of the interconnect, unused logic elements may be configured as BIST machines both to control the start points of the routed interconnect graph and to observe the end points. For both types of testing, all of the identified interconnect should be observed to toggle properly in order for the test pattern to pass.

FIG. 7 is a block diagram showing logic element testing according to an embodiment of the present invention. According to one embodiment, the logic elements include a number of 4-input lookup tables (LUTs) (not shown), which are function generators that can implement any function of four variables. The logic element testing may be performed via a register scan (see above regarding FIG. 2) or via BIST (see above regarding FIG. 3). A standard testing function F may be used. The customer's function (corresponding to the customer application) may also be used.

FIG. 8 is a flowchart detailing the steps 180 performed in logic element testing according to an embodiment of the present invention. In step 182, the toolset identifies the logic elements being used in the customer application. In step 184, the identified logic elements are put into registered mode. The identified logic elements otherwise retain the same configurations they would have in the customer application. In step 186, identical LUT inputs and secondary signals are routed to the active logic elements, either from pins (or register scan) or from a BIST machine. In step 188, all 16 possible LUT input combinations are applied and the results captured, either in the register or by the BIST. In step 190, the toolset calculates the expected output for each logic element based on the customer application's LUT settings. (Step 190 may be performed at any time prior to step 192, not necessarily after step 188.) In step 192, the results of step 188 are compared with the expected outputs of step 190 and a test result is generated.

For factory testing (see above regarding FIG. 2), the test may observe the registers through the register scan test feature. For in-system BIST (see above regarding FIG. 3), a scan chain may be explicitly routed in user mode, which may lead to a signature comparator implemented in unused logic elements. Other secondary signals, such as clear signals, may be tested in a similar manner.

FIG. 9 is a block diagram showing function block testing according to an embodiment of the present invention. The term function block is used to refer generically to specialpurpose blocks other than interconnect and logic elements. Examples of function blocks include memories, DSPs, PLLs, DLLs, etc. Such function blocks have varying num

« PreviousContinue »