US 20040216081A1 (19) United States (12) Patent Application Publication (10) Pub. N0.2 US 2004/0216081 A1 (43) Pub. Date: Wells et al. (54) Oct. 28, 2004 Related US. Application Data APPLICATION-SPECIFIC TESTING METHODS FOR PROGRAMMABLE LOGIC DEVICES (63) Continuation of application No. 10/104,324, ?led on Mar. 22, 2002, Which is a continuation-in-part of application No. 09/924,365, ?led on Aug. 7, 2001, noW Pat. No. 6,664,808. (75) Inventors: Robert W. Wells, Cupertino, CA (US); Zhi-Min Ling, Cupertino, CA (US); Publication Classi?cation Robert D. Patrie, Scotts Valley, CA (US); Vincent L. Tong, Fremont, CA (51) (52) (US); Jae Cho, Saratoga, CA (US); Shahin Toutounchi, Pleasanton, CA Int. C1.7 ................................................... .. G06F 17/50 US. Cl. ................... .. 716/18; 716/16; 716/4; 713/1; 713/100 (Us) (57) ABSTRACT Disclosed are methods for utilizing programmable logic Correspondence Address: XILINX, INC devices that contain at least one localized defect. Such devices are tested to determine their suitability for imple menting selected designs that may not require the resources impacted by the defect. If the FPGA is found to be unsuitable for one design, additional designs may be tested. The test ATTN: LEGAL DEPARTMENT 2100 LOGIC DR SAN JOSE, CA 95124 (US) (73) Assignee: XilinX, Inc., San Jose, CA (US) methods in some embodiments employ test circuits derived from a user’s design to verify PLD resources required for the (21) Appl. No.: 10/853,981 (22) Filed: May 25, 2004 design. The test circuits alloW PLD vendors to verify the suitability of a PLD for a given user’s design Without requiring the PLD vendor to understand the user’s design. 100 \‘ GROSS FUNCTIONAL TEST * 105 COMPREHENSIVE ‘ TEST m DISCARD DEVICE FUNCTIONAL? READBACK M IDENTIFY AS GOOD DEVICE @ NO PACKAGED? ——_I PACKAGE PLD m YES BIN & SELL PLD m RECEIVE CUSTOMER- , SPECIFIED DESIGN(S) m I IV I DESIGN-SPECIFIC TEST, ASIC CANDIDATE m / FUNCTIONAL’? ALLOCATE TO CUSTOMER E1 & ,1 I SEND ASIC TO CUSTOMER E I INSTANTIATE USER DESIGN Q Patent Application Publication Oct. 28, 2004 Sheet 1 0f 17 100 \‘ US 2004/0216081 A1 GROSS FUNCTIONAL TEST LE COMPREHENSIVE TEST m DISCARD DEVICE IDENTIFY AS GOOD I DEVICE m ASIC CANDIDATE n5 NO —__I PACKAGE PLD NO m YES YES BIN ASIC BIN & SELL PLD CANDIDATE l Q RECEIVE CUSTOMER SPECIFIED DESIGN(S) E l / FUNCTIONAL? ALLOCATE TO CUSTOMER 1_Z_3_ E NO DESIGN-SPECIFIC TEST, ASIC II SEND ASIC TO CUSTOMER CANDIDATE E USER DESIGNS? V INSTANTIATE USER DESIGN 122 FIG. 1 Patent Application Publication Oct. 28, 2004 Sheet 2 0f 17 US 2004/0216081 A1 200 E LJLIULIIJIJLILILILILILILILJU 5? @HH ULJI HTIVFU -L 01 IN H%HHHHHHHHHHHHHHHHHH FIG. 2 (PRIOR ART) 400 \1 N U! In l—| V I A N 01 F (II TCLK V NO I-P Patent Application Publication Oct. 28, 2004 Sheet 3 0f 17 121 US 2004/0216081 A1 l \‘ DETERMINE REsouRcEs OF usER DESIGN 392 V READBACK m V DIVIDE INTERCONNECT INTO NETS 3_Q5 / FOR EACH REQUIRED \ ----- --+ NET 310A l I I I I I I V CONFIGURE LOGIC BLOCKS AS SIGNAL GENERATORS AND RECEIVERS Q15 V I l I | | l l I VERIFY NET gag NET OK? l l I I I L NO 32_5 YES ----- -- END FOR 3108 TEST IOBS AND CLBS @ NO YES TEST RAM BLOCKS §3_5_ RAM ! //’K/|ORE\\\ BLOCKS OK? (\USER DESIGNSZ‘» \ I V r _________ __ :ALLOCATE PLDI I TO CUSTOMER : ' 1_2_5. : |.._____._.______ YES SPEED TEST? .34_5 FIG. 3 Patent Application Publication Oct. 28, 2004 Sheet 4 0f 17 US 2004/0216081 A1 j ? l CE I_H_J@I_JLJLJLJLJUI_IIJULJI_IUI_ILILJI_II_ILJ 220 % VA 10% @ VA 21 5_ Us U%@@ D UUEJ@UE1\:1E1 \IIIIIEI@@UUI:I E @ @ @ @ U @ @ @ Q U G Z V4 U D D U U U U U U 21 5i 21 i EIEQUEIUIII FIG. 5 705 TCLK FIG. 7 Patent Application Publication Oct. 28, 2004 Sheet 5 0f 17 w 9 A w H d _ .lo o a 0 Q n o8:8v/0595:59 wmuo60l|] B.M@w0A:I1l 9E56Q:8z5w90 a| |on_0Q:a]1 :ra6E59 E59 :59::596 US 2004/0216081 A1 9NO25 8:5m0wom90[ W0@A.»!l| 6925“: 6859: Patent Application Publication Oct. 28, 2004 Sheet 6 0f 17 K615 LOUT[1] (6A) LOUT[2] (6A) 77 LOUT[S] (6A) LOUT[4] (6A) LOUT[5] (6A) \ LOUT[6] (6A) LOUT[7] (6A) LOUT[8] (6A) LOUT[Q] (6A) LOUT[10] (6A) LOUT[11] (6A) LOUT[12] (6A) DATA_A (6C) DATA_B (6C) DQ — COMP_A (6C) CE 1 617 LOUT[13] (6A) DQ P COMP_B (6C) 1 619 LFSR_EN (so) RAM__EN (6D) . TOKEN_IN US 2004/0216081 A1 W3 D 0 CE > RESET (6D) (PRIOR ART) D Q 5%??? CE _> 6 RAM_EN '6 5 D O D Q CE CE —> 6 —> 6 LFSR_EN _l—l END_CNT (6A) D 0 GE —> 6 FIG . D O GE —> 6 D Q GE —> (PRIOR ART) 6 TOKEN_OUT Patent Application Publication Oct. 28, 2004 Sheet 7 0f 17 <0 5E<|moa <m|> "2:95 US 2004/0216081 A1 Q6.mu1F_0u5_.% mOQ <|5 <5I0 (.51 mw|> mZwln mal 93I0 mk|wm 68EwIlm @“5<83 m69zw“: 39@1 28 Patent Application Publication Oct. 28, 2004 Sheet 9 0f 17 US 2004/0216081 A1 000 F .GE2. Patent Application Publication Oct. 28, 2004 Sheet 10 0f 17 m6m0 US 2004/0216081 A1 168$ AmEaHg2 Au. w>>m_> ol_ 1/ 0oQa A? vj88 U?Ea _5o <om F \F 102<Q: m m_> .mO Patent Application Publication Oct. 28, 2004 Sheet 11 0f 17 US 2004/0216081 A1 1300 '-- ——*1 MSB_A I Df1s1o| “ASE-B >0 CLK : lERR 1050A| FIG. 13 I- CE _ — % I _ _ _ _ — _ _ _ _ _ _ — “ 1410 __| |\| I DELAY l I‘ 1400 1420 | 1.. _ CLK l 10101 _ _ _ _ _ _ _ _ _ _ _ _ _ _ ___1 FIG. 14 Qa . l j I I 1520 I I CLK Patent Application Publication Oct. 28, 2004 Sheet 12 0f 17 US 2004/0216081 A1 (30' 2.0 Q| 2 P02 0'4:0 ovow 0 9. Lv30 Patent Application Publication Oct. 28, 2004 Sheet 13 0f 17 US 2004/0216081 A1 owow A AAAA EmFZDO <omw EwPZDO (owe? me o? A AA A SEmuE: mon ? EmPZDO <om_1 ESmEu] (cmoF A MA co ? L_'I IMPZDO mower \niu mon ? A .UEt é who l'j Patent Application Publication Oct. 28, 2004 Sheet 14 0f 17 US 2004/0216081 A1 _ _L_ gimwszr$521l|I6_ >_ ._m N>.__<_z< A m£82" :5“ : EE _ _ . _1 |_ _|lIk _ _ _ h_ _ _ _ _ _ _ _ _ . _ _ > \L O I_ F, “ 5_0.m H 0%\SX: a39<82 oIll: azr_;I|.n_ _99 _82 _ _5ozwo5o 8i EomE _ \\ .GPoA_zEum_ Patent Application Publication Oct. 28, 2004 Sheet 15 0f 17 US 2004/0216081 A1 E09:89 mNwoOmNQ . omom > ‘7 t _ $2 EFw_.F? 0_:|m6~dw vzw3o0l C2 30 \M20 £8 m> ov F 2 = :@5Em H: Patent Application Publication Oct. 28, 2004 Sheet 17 0f 17 0m o wm\ _Qm@55<|280:2|_ ~5m822mM68052 .O®N_u_ mQ@Ew<_208>352_H W$m820u5m.80”“2.:0 com om\ QDn0m<=2>8m“_20: Wm508».:“20 6£28 US 2004/0216081 A1 DQmn@x<_280>2:50 “$E085a3205” Oct. 28, 2004 US 2004/0216081 A1 APPLICATION-SPECIFIC TESTING METHODS FOR PROGRAMMABLE LOGIC DEVICES [0008] Subsequent to fabrication, the various chips on a given semiconductor Wafer are tested for “gross” defects, such as poWer-supply shorts, that have a high probability of CROSS-REFERENCE TO RELATED APPLICATIONS rendering a PLD un?t for any customer purpose. In a test [0001] This application claims priority under 35 U.S.C. survive gross testing are subjected to a “readback test” to §119(e) from US. Pat. No. 6,664,808 B2 entitled “A METHOD OF USING PARTIALLY DEFECTIVE PRO GRAMMABLE LOGIC DEVICES,” by Zhi-Min Ling et al., issued on Dec. 16, 2003, Which is incorporated herein by reference. FIELD OF THE INVENTION [0002] The present invention relates to programmable logic devices, and more particularly to methods for testing and using programmable logic devices that contain minor defects. BACKGROUND OF THE INVENTION [0003] Programmable logic devices (PLDs), such as ?eld programmable gate arrays (FPGAs), are user-programmable integrated circuits that can be programmed to implement user-de?ned logic circuits. In a typical architecture, an FPGA includes an array of con?gurable logic blocks (CLBs) surrounded by programmable input/output blocks (IOBs). A hierarchy of programmable routing resources interconnects the CLBs and IOBs. Loading a con?guration bitstream into con?guration memory cells of the FPGA customiZes these CLBs, IOBs, and programmable routing resources. Addi tional resources, such as multipliers, memory, and applica tion-speci?c circuits may also be included. [0004] PLDs are groWing ever larger as vendors attempt to satisfy customer demand for PLDs capable of performing ever more complex tasks. Unfortunately, as chip siZe increases, so too does the probability of ?nding a defect on a given chip. The process yield therefore decreases With PLD complexity, making already expensive PLDs still more expensive. verify the function of the con?guration memory cells. Defect-free chips are subjected to further testing to ensure ?aWless performance, While chips that exhibit a large num ber or dense concentration of readback defects are rejected. Chips With relatively feW defects are set-aside as “ASIC candidates” and are subjected to further testing. Unlike the general tests normally performed to verify PLD functional ity, in one embodiment the ASIC candidates are subjected to application-speci?c tests that verify the suitability of each candidate to function With one or more speci?c customer designs. [0009] Some test methods in accordance With embodi ments of the invention employ test circuitry derived from a user design to verify PLD resources required for the design. These methods verify the suitability of an FPGA for a given design Without requiring an understanding of the design, and therefore greatly reduce the expense and complexity of developing design-speci?c tests for a user design. Also advantageous, narroWing test scope to those resources required for a given design reduces the time required for testing and increases the number of saleable PLDS. Using test circuits other than the user design to test the resources required for the user design facilitates comprehensive testing Without requiring an understanding of the user design. [0010] The foregoing test methods Will not forestall PLD vendors from selling fully tested, defect-free PLDs. Cus tomers Will still require defect-free PLDs to develop cus tomer-speci?c designs and to bring these designs to market quickly. HoWever, once a customer has a speci?c design, the aforementioned test procedures can provide reduced-cost PLDs that are physically and functionally identical to the fully functional PLD or PLDS ?rst used to develop the customer-speci?c design. [0005] PLDS are not design speci?c, but instead afford users (e.g., circuit designers) the ability to instantiate an almost unlimited number of circuit variations. Not knoWing in advance the purpose to Which a given PLD Will be dedicated places a heavy burden on the quality and reliabil ity of the PLD because PLD vendors must verify the functionality of any feature that might be used. To avoid disappointing customers, PLD manufacturers discard PLDS that include even relatively minor defects. [0006] methodology applicable to SRAM-based FGPAs, chips that PLD defects can be categoriZed in tWo general areas: gross defects that render the entire PLD useless or unreliable, and localiZed defects that damage a relatively small percentage of the PLD. It has been found that, for [0011] In accordance With one embodiment of the inven tion, a customer interested in the potential cost savings associated With recovered PLDs Will send an expression of the customer-speci?c design (e.g., a data ?le) to the PLD vendor. The vendor Will then use the expression to test ASIC candidates in the manner described above. ASIC candidates that are physically and functionally identical to the defect free PLD ?rst used to instantiate the customer-speci?c design can then be sold to the customer at reduced cost. [0012] This summary does not limit the scope of the invention, as the scope of the invention is de?ned by the claims. some large chips, close to tWo thirds of the chips on a given Wafer may be discarded because of localiZed defects. Con sidering the costs associated With manufacturing large inte grated circuits, discarding a large percentage of PLD chips has very signi?cant adverse economic impact on PLD manufacturers. SUMMARY [0007] The present invention enables PLD manufactures to identify PLDs that, despite some defects, can ?aWlessly implement selected customer designs. BRIEF DESCRIPTION OF THE FIGURES [0013] FIG. 1 is a How chart 100 shoWing one embodi ment of the present invention as applied to FPGAs. Subse quent to fabrication, the various chips on a given semicon ductor Wafer are tested for “gross” defects (step 105). [0014] FIG. 2 is a block diagram of a conventional FPGA 200 in Which is instantiated an illustrative user design. [0015] FIG. 3 is a ?oWchart detailing the design-speci?c test step 121 of FIG. 1. Oct. 28, 2004 US 2004/0216081 A1 [0016] FIG. 4 depicts an exemplary net under test 400 and associated signal source 405 and destination circuits 410 and 415. standing of embodiments of the present invention. HoWever, [0017] invention may be practiced Without these speci?c details. In other instances, Well-knoWn features have not been described in detail in order to avoid obscuring the present FIG. 5 depicts an FPGA 500 in Which the CLBs, IOBs, and RAM block of the user design of FIG. 2 are shaded. [0018] FIGS. 6A through 6D depict portions of circuit designs that can be instantiated on an FPGA to verify RAM-block functionality. [0019] FIG. 7 schematically depicts a test circuit 700 adapted to verify the speed performance of a critical path 705 of a hypothetical user design. [0020] FIG. 8 depicts a test circuit 800 that can be used in accordance With the invention to perform at-speed func tional tests of FPGA resources, including internal memory and routing resources. [0021] FIG. 9 depicts a test circuit 900 in accordance With another embodiment of the invention. [0022] FIG. 10 depicts a test circuit 1000 in accordance With yet another embodiment of the invention. [0023] FIG. 11 schematically depicts counter 1020A of FIG. 10 (counter 1020B is identical). [0024] FIG. 12 schematically depicts an embodiment of LFSR 1030A of FIG. 10 (LFSR 1030B is identical to LFSR 1030A, except that line /FE-CNT connects instead to line /LD-CNT). [0025] FIG. 13 schematically depicts an embodiment of MSB comparator 1050A of FIG. 10. [0026] FIG. 14 depicts an example of clock generator 1010 of FIG. 10. [0027] FIG. 15 depicts another type of clock generator 1500 for use in the present invention. [0028] FIG. 16 depicts an embodiment of signature ana lyZer 1040 of FIG. 10. ci?c details are set forth to provide a more thorough under it Will be apparent to one skilled in the art that the present invention. [0036] FIG. 1 is a How chart 100 shoWing one embodi ment of the present invention as applied to FPGAs. Subse quent to fabrication, the various chips on a given semicon ductor Wafer are tested for “gross” defects (step 105). For purposes of the present disclosure, “gross” defects are defects that have a high probability of rendering a PLD un?t for any customer purpose. Examples of gross defects include poWer-supply shorts, opens, excessive leakage, defective clock-management circuitry, and signi?cant numbers of defective programmable memory cells. Chips With gross defects are discarded (decision 107). Various tests for gross defects are described in chapter 14 of “Application-Speci?c Integrated Circuits,” by Michael John Sebastian Smith (1997), Which is incorporated herein by reference. [0037] Chips that survive decision 107 are subjected to a “readback test” to verify the function of the con?guration memory cells (decision 109). In this step, con?guration memory is programmed to include various patterns of con ?guration data and then read back to verify the correct program states of those cells. In one embodiment, chips are rejected if they have a large number or concentration of defects. The number considered “large” Will depend upon the siZe of the PLD in question and the distribution of the defects, as these parameters determine the likelihood of such defects rendering a PLD useless for instantiating customer designs (also referred to as “user designs”). [0038] At decision 109, defective chips With greater than the maximum alloWable number of defects are discarded, chips With no defects are sent on to step 111 for compre hensive testing, and defective chips With a number of defects less than the maximum alloWed number are identi?ed as “ASIC candidates”(step 113). ASIC candidates are those FIG. 17 shoWs hoW test circuit 1000 of FIG. 10 chips that, though imperfect, may have adequate resources can be scaled to test additional resources on a given FPGA. to instantiate some user designs. Other embodiments might separate ASIC candidates based on their likelihood of suc cess at implementing a user design. For example, a device [0029] [0030] FIG. 18 details MSB comparator 1050B ?rst intro duced in FIG. 10. [0031] FIG. 19 schematically depicts a test circuit 1900 that includes N minor test circuits 1905(1)-1905(N), each comprised of a circuit portion 1000 and an associated MSB With only one defect might be considered more valuable than a device With ?ve defects. [0039] Those PLDs having no identi?ed defects through decision 109 are thoroughly tested to ensure conformance to comparator (see FIG. 10). strict performance criteria. Circuit vendors must verify both [0032] FIG. 20 schematically depicts a test circuit 2000 that employs M column instances 1910(1)-1910(M) to popu functional chips are identi?ed as good devices (step 115). late every roW and column of a VirtexTM FPGA. These chips are then packaged (step 117) and the resulting [0033] FIG. 21 is a schematic diagram of a “slice”2100, one of tWo identical slices that make up an exemplary CLB in the VirtexTM family of devices available from Xilinx, Inc. [0034] FIGS. 22A-22D depict four FPGA con?gurations for instantiating test circuit 2000 of FIG. 20 on an exem plary FPGA 2200. DETAILED DESCRIPTION [0035] The present invention relates to programmable logic devices. In the folloWing description, numerous spe speed performance and functionality of each device. Fully PLDS are subjected to the same series of tests as Were the unpackaged chips, beginning once again at step 105. The tests are run again to ensure no defects Were introduced by or during the packaging process. If a packaged chip is defect free, the process Will eventually return to step 115 and the packaged PLD Will be binned accordingly and sold to a customer (step 118). Although not shoWn, the conventional test process for PLDs additionally includes speed binning. [0040] Chips that are less than fully functional, but that nevertheless survived decisions 107 and 109, are identi?ed as “ASIC candidates” (step 113). Unpackaged ASIC candi