US20030159124A1 - System and method for generating integrated circuit boundary register description data - Google Patents
System and method for generating integrated circuit boundary register description data Download PDFInfo
- Publication number
- US20030159124A1 US20030159124A1 US10/079,337 US7933702A US2003159124A1 US 20030159124 A1 US20030159124 A1 US 20030159124A1 US 7933702 A US7933702 A US 7933702A US 2003159124 A1 US2003159124 A1 US 2003159124A1
- Authority
- US
- United States
- Prior art keywords
- integrated circuit
- netlist
- joint test
- action group
- test action
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318307—Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318314—Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318544—Scanning methods, algorithms and patterns
Definitions
- the present invention generally relates to integrated circuit testing and, more particularly, is related to automating creation of a Boundary-Scan Description Language (BSDL) file.
- BSDL Boundary-Scan Description Language
- ICs integrated circuits
- ICs are packaged into fine pitch, high-count packages so that a single IC may perform an increasing number of logical functions.
- ICs are tested prior to use to ensure that electrical characteristics and conductivity are within ranges required to perform specified functions.
- high density ICs pose unique manufacturing challenges such as, but not limited to, accessibility of test points and high cost of test equipment.
- JETAG Joint European Test Action Group
- JTAG Joint European Test Action Group
- JTAG Joint Test Access Group
- IEEE Institute of Electrical and Electronic Engineers
- the IEEE/ANSI 1149.1 standard was developed to provide standard test facilities and test points in ICs to ensure IC compatibility. Compatibility of ICs that are compliant with the 1149.1 standard allows universal testing techniques to be utilized for the compliant ICs. As more people became aware of, and used, the IEEE/ANSI 1149.1 standard, the need for a standard method for describing IEEE/ANSI 1149.1 standard compatible devices, including ICs, was recognized. The IEEE/ANSI 1149.1 standard working group established a subcommittee to develop a device description language to address the need for a standard method for describing IEEE/ANSI 1149.1 compatible devices.
- BSDL Boundary-scan Description Language
- VHDL VHSIC Hardware Description Language
- the IEEE/ANSI 1149.1 standard which is incorporated by reference here in its entirety, describes an in-circuit testing scheme using “scan registers” to capture data from input and output pins of the IC.
- register broadly refers to groups of digital logic storage units that are read or written as a unit.
- a simple register may be constructed from a group of “flip-flops” whose outputs toggle simultaneously in response to a “clock” timing signal.
- a shift register stored values can also be circulated between the storage elements in the register when a particular control signal is pulsed.
- Scan registers act as a group of flip-flops until they are switched into a test mode where they become one long shift register. This configuration allows data to be “clocked” serially through all of the scan registers and out of an output pin at the same time that new data is being clocked in from an input pin.
- boundary-scan testing and scan registers is provided in “The Boundary-Scan Handbook” by Kenneth P. Parker (Kluwer Academic Publishers, 2d edition) and “Agilent 3070 Family Boundary-Scan Fundamentals H7230A Opt 210 (E3795C)” (Agilent Technologies), both of which are also incorporated by reference here in their entirety.
- Testing systems that use boundary-scan technology in order to facilitate integrated circuit testing, board testing, and/or system level testing are also commercially-available from a variety of vendors including Agilent Technologies Inc.; Corelis, Inc.; ASSET InterTech, Inc.; JTAG Technologies B.V., Goepel Electronics; Teredyne Inc.; Agere Systems; Sightsys LTD.; Intellitech Corp.; Acugen Software; and others.
- Examples of devices that implement the IEEE/ANSI 1149.1 standard in an IC include, but are not limited to, JTAG driving devices and JTAG receiving devices, wherein the devices are registers.
- the JTAG devices may be utilized for testing electrical characteristics and conductivity of the IC in which the JTAG devices are located.
- the preferred embodiment of the present invention generally relates to a system for generating a boundary-scan description language file for an integrated circuit.
- the system utilizes a memory; software stored within the memory defining functions to be performed by the system; and a processor.
- the processor is configured by the software to perform the steps of: creating a flat netlist that describes the integrated circuit, wherein the flat netlist comprises connectivity information regarding leaf cells within the integrated circuit; determining and storing a name provided for each joint test action group register located within the integrated circuit, from the created flat netlist; determining relationships between each joint test action group register located within the integrated circuit and at least one input/output pin located within the integrated circuit, from the created flat netlist, and storing a description of the relationships; and creating a boundary-scan description language file from the stored names of each joint test action group and the stored description of the relationship between the joint test action group register and the input/output pin.
- the present invention can also be viewed as providing a method for generating a boundary-scan description language file for an integrated circuit.
- the method can be broadly summarized by the following steps: creating a flat netlist that describes the integrated circuit, wherein the flat netlist comprises connectivity information regarding leaf cells within the integrated circuit; determining and storing a name provided for each joint test action group register located within the integrated circuit, from the created flat netlist; determining relationships between each joint test action group register located within the integrated circuit and at least one input/output pin located within the integrated circuit, from the created flat netlist, and storing a description of the relationships; and creating a boundary-scan description language file from the stored names of each joint test action group and the stored description of the relationship between the joint test action group register and the input/output pin.
- FIG. 1 is a typical computer or processor-based system that may be utilized to create a BSDL file for testing an integrated circuit.
- FIG. 2 is a block diagram of an IC that may be tested by the BSDL file.
- FIG. 3 is a block diagram further illustrating a pad shown by FIG. 2.
- FIG. 4 is a flow chart that shows the architecture, functionality, and operation of a possible implementation of the present data generating system that automates the process of creating a BSDL file.
- the data generating system of the present invention can be implemented in software, firmware, hardware, or a combination thereof.
- a portion of the system is implemented in software that is executed by a computer, for example, but not limited to, a server, a personal computer, work station, minicomputer, or main frame computer.
- the software based portion of the data generating system which comprises an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by, or in connection with, an instruction execution system, apparatus, or device such as a computer-based system or processor containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
- a “computer-readable medium” can be any means that can contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus or device.
- the computer-readable medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM or Flash memory) (magnetic), an optical fiber (optical), and a portable compact disk read-only memory (CD ROM) (optical).
- an electrical connection electronic having one or more wires
- a portable computer diskette magnetic
- RAM random access memory
- ROM read-only memory
- EPROM or Flash memory erasable programmable read-only memory
- CD ROM portable compact disk read-only memory
- the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance, optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
- FIG. 1 is a typical computer or processor-based system 2 that may be utilized to create a BSDL file for testing an IC.
- the computer system 2 generally comprises a processor 4 , a storage device 6 , and a computer memory 8 .
- the processor 4 accepts data from the computer memory 8 over a local interface 10 , such as a bus(es), or a dedicated path.
- the local interface 10 is a PCI bus.
- the computer memory 8 has an operating system 12 defined therein and data generation software 14 .
- the data generation software 14 is utilized to create the BSDL file, as is described in detail below. It should be noted that the data generation software may be PERL, C+, or any other ASCII producing software.
- the computer system 2 also comprises input device(s) 16 and output device(s) 18 .
- the computer system 2 may run any of a number of different platforms and operating systems, including, but not limited to, the Unix®, WindowsNT®, SunSolaris® or any such operating system.
- a PCI slot 22 may also be located within the computer system 2 , which is attached to the local interface 10 , for providing a means for a peripheral device, such as a network interface card (NIC), to attach to the computer system 2 .
- NIC network interface card
- FIG. 2 is a block diagram of an IC 102 that may be tested by the BSDL file after creation by the data generation software 14 .
- the BSDL file allows the description of testability features of components within the IC 102 that comply with the IEEE standard 1149.1.
- the BSDL file can be used by tools that make use of the testability features of components within the IC 102 .
- tools include testability analyzers, test generators, and/or fault diagnosis routines, such as, but not limited to, simulation program for integrated circuit emphasis (SPICE).
- SPICE simulation program for integrated circuit emphasis
- the IC 102 comprises a series of pads, designated as pad 1 104 A, pad 2 104 B, pad 3 104 C, pad 4 104 D, pad 5 104 E, pad 6 104 F, pad 7 104 G, and pad 8 104 H. It should be noted that the number of pads (summarily denoted as 104 ) within the IC 102 may differ from the number of pads 104 shown by FIG. 2.
- a logic portion 112 is located within the IC 102 , which comprises logic specific to the functionality of the IC 102 . Therefore, the logic portion 112 may be structurally and functionally different for different ICs 102 .
- Each pad 104 is connected to an input/output (I/O) pin (summarily denoted as 106 ) that allows the IC 102 to connect to a printed circuit board (PCB) (not shown).
- I/O input/output
- PCB printed circuit board
- pad 1 104 A is connected to a first I/O pin 106 A; pad 2 104 B is connected to a second I/O pin 106 B; pad 3 104 C is connected to a third I/O pin 106 C; pad 4 104 D is connected to a fourth I/O pin 106 D; pad 5 104 E is connected to a fifth I/O pin 106 E; pad 6 104 F is connected to a sixth I/O pin 106 F; pad 7 104 G is connected to a seventh 1 / 0 pin 106 G; and, pad 8 104 H is connected to an eighth I/O pin 106 H.
- the pads 104 are serially connected to each other via a boundary register scan chain 114 .
- the boundary register scan chain 114 connects JTAG registers (shown by FIG. 3) in serial within each pad 104 to allow for testing of electrical properties and/or conductivity of the IC 102 .
- An example of a testing procedure may include bypassing specific JTAG registers and loading data into a different JTAG register, wherein the data is later captured at a different location within the boundary-scan chain 114 , thereby allowing for verification of electrical properties and/or conductivity of the IC 102 .
- a test access port (TAP) controller 116 is located within the IC 102 to facilitate IC 102 testing.
- the TAP controller 116 is described in detail by the IEEE 1149.1 standard, which is incorporated herein by reference in its entirety.
- the TAP controller 116 is utilized by an IC tester or testing program, such as, but not limited to, SPICE, to execute a set of IC 102 testing vectors that have been previously generated by use of the generated BSDL file.
- the IC 102 testing vectors are test stimuli used to test integrity of pads 104 , connectivity within pads 104 , and testability within the IC 102 . The IC 102 testing process is further discussed below.
- the TAP controller 116 is preferably a state machine that controls operations associated with JTAG registers so that relationships between JTAG registers and I/O pins 106 may be tested.
- the TAP controller 116 is connected to the first pad 104 within the boundary register scan chain 114 .
- the TAP controller 116 is connected to an output of the last pad 104 , in accordance with FIG. 2, pad 8 104 H, located within the IC 102 .
- TAP controller 116 Basic operation of the TAP controller 116 is controlled through four pins that are located on the IC 102 and connected to the TAP controller 116 via interconnect.
- the four pins include, a test clock (TCK) pin 122 , a test mode select (TMS) pin 124 , a test data in (TDI) pin 126 , and a test data out (TDO) pin 128 .
- TCK pin 122 and the TMS pin 124 direct signals between TAP controller 116 states.
- the TDI pin 126 and the TDO pin 128 receive data input and output signals for the boundary-scan chain 114 .
- the TDI pin 126 may be utilized to receive serial data from the tester or test program that is to be transmitted to the boundary-scan chain 114 for testing purposes.
- the TAP controller 116 receives the serial data from the TDI pin 126 via interconnect and is capable of transmitting the data to the boundary-scan chain 114 .
- a fifth pin may optionally be implemented as an asynchronous reset to the TAP controller 116 .
- the TDO pin 128 may then be utilized by the tester or testing program to observe the serial data after being received by the TAP controller 116 .
- FIG. 3 is a block diagram further illustrating a pad 104 shown by FIG. 2.
- a pad 104 comprises a driver circuit 152 , a receiver circuit 154 , a JT JTAG register 162 , a JO JTAG register 164 , and a JI JTAG register 166 .
- the JTAG registers 162 , 164 , 166 are master/slave flip-flops that may be controlled by the TAP controller 116 (FIG. 2).
- the JTAG registers 162 , 164 , 166 are serially connected via the boundary-scan chain 114 .
- the JT JTAG register 162 may be utilized to tri-state the driver circuit 152 .
- the JO JTAG register 164 may be utilized to drive serial data to the driver circuit 152 and/or communicate with the logic portion 112 (FIG. 2) of the IC 102 .
- the JI JTAG register 166 receives an output of the receiver circuit 154 and/or communicates with the logic portion 112 of the IC 102 .
- the driver circuit 152 and the receiver circuit 154 are three-latch devices that may be shifted.
- the driver circuit 152 may be utilized to drive serial data received from the JO JTAG register 164
- the receiver circuit 154 may be utilized to transmit serial data to the JI JTAG register 166 .
- the JT JTAG register 162 is connected to an input of the pad 104 and the JO JTAG register 164 via the boundary-scan chain 114 . As stated above, the JT JTAG register 162 is also connected to the driver circuit 152 for tri-stating.
- the JO JTAG register 164 is connected to the JT JTAG register 162 and the JI JTAG register 166 via the boundary-scan chain 114 .
- the JO TAG register 164 is connected to an input of the driver circuit 152 for providing the driver circuit 152 with serial data utilized for testing the IC 102 .
- the JI JTAG register 166 is connected to the JO JTAG register 164 and an output of the pad 104 via the boundary-scan chain 114 .
- the boundary-scan chain 114 is also connected to other pads 104 .
- the JI JTAG register 166 is also connected to an output of the receiver circuit 154 .
- An output of the driver circuit 152 and an input of the receiver circuit 154 are connected to each other, as well as being connected to an I/O pin 106 (FIG. 2).
- testing of the IC 102 is performed via use of the BSDL file generated by the data generation software 14 .
- the tester, or testing program uses the generated BSDL file to generate a set of vectors for testing integrity of pads 104 and testability within the IC 102 .
- the BSDL file describes the internal structure of the IC 102 and relationships between JTAG registers 162 , 164 , 166 and I/O pins 106 within each pad 104 , and between different pads 104 A- 104 H within the IC 102 .
- the TAP controller 116 may then be utilized by the tester, or testing program, to execute the testing vectors.
- the BSDL file is created by manually determining and providing relationships within each pad 104 . Relationships within each pad 104 may be determined by utilizing a netlist, such as a Verilog netlist, that represents conductivity within the pad 104 .
- the netlist may be stored within the storage device 6 (FIG. 1) or elsewhere.
- a netlist is a logical representation of internal connectivity of an IC. Relationships within each pad 104 include connections between JTAG registers 162 , 164 , 166 , the driver circuit 152 , the receiver circuit 154 , and the I/O pin 106 .
- the BSDL file requires definition of relationships for all pads 104 located within the IC 102 .
- FIG. 4 is a flow chart that shows the architecture, functionality, and operation of a possible implementation of the present data generating system 100 that automates the process of creating the BSDL file.
- each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the blocks may occur out of the order noted. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved, as will be further clarified herein below.
- a flat netlist is created for the IC 102 .
- the flat netlist is created by traversing hierarchical netlists that describe portions of the IC 102 , for individual netlists focused upon the logic portion 112 of the IC 102 and the pads 104 , and combining connectivity information provided by the individual netlists into a single file, referred to herein as the flat netlist.
- the resulting flat netlist provides connectivity information, or data structures, that represent wires within the IC 102 , leaf cells within the IC 102 , and I/O pins 114 .
- leaf cells comprise registers and/or combinational cells such as an AND gate or an OR gate.
- a script defined by the data generation software 14 is utilized to traverse the flat netlist, which defines data structures of the IC 102 , until a JTAG register 162 , 164 , 166 is located. Since the flat netlist represents data structures, the following describes traversal of the flat netlist as traversal of structures located within the IC 102 .
- Traversal of the flat netlist begins from an input to the first pad 104 A, which is also the beginning of the boundary-scan line 114 , and which is connected to an output of the TAP controller 116 .
- Multiple logical devices may be connected to the boundary-scan line 114 including, but not limited to, buffers utilized to drive signals along the boundary-scan line 114 and leaf cells.
- the traversal step preferably utilizes the previously created flat netlist (block 202 ) since connections between leaf cells have been previously defined.
- Determination of additional JTAG registers 162 , 164 , 166 is performed by traversing the boundary-scan line 114 from an output of the previously located JTAG register 162 , 164 , 166 until another leaf cell is found. If the next located leaf cell is not a JTAG register 162 , 164 , 166 , wires connected to the next located leaf cell are then examined to determine if a JTAG register 162 , 164 , 166 is connected to the wires.
- JTAG register 162 , 164 , 166 If another JTAG register 162 , 164 , 166 is located, the name assigned to the located JTAG register 162 , 164 , 166 is stored. The steps described by block 204 and block 206 are repeated until traversal of the IC 102 ends at the TAP controller 116 . It should be noted that the JTAG register names are stored within the storage device 6 in the same order that they were discovered during traversal. It should also be noted that completion of the traversing process, ending at the TAP controller 116 , provides evidence that the JTAG registers 162 , 164 , 166 located within the IC 102 are properly connected.
- relationships between each JTAG register 162 , 164 , 166 and an I/O pin 106 are determined and stored within the memory 8 (FIG. 1) for use in creating the BSDL file. It should be noted that the storage device 6 may be utilized for storing relationships between each JTAG register 162 , 164 , 166 and an I/O pin 106 , as opposed to the memory 8 . Determination of JTAG register 162 , 164 , 166 and I/O pin 106 relationships is performed by the script sequentially searching the flat netlist for each JTAG register 162 , 164 , 166 listed within the JTAG register name list.
- the flat netlist is traversed, starting from the wire connected from an output of the JO JTAG register 164 to the input of the driver circuit 152 .
- Logic is continually traversed until an I/O pin 106 is located.
- the path from the output of the JO JTAG register 164 to the I/O pin 106 is stored for use in creating the BSDL file.
- the flat netlist is traversed from an output of the JI JTAG register 162 to the output of the receiver circuit 154 and continued until an I/O pin 106 is located.
- the path from the output of the JI JTAG register 166 to the I/O pin 106 is stored for use in creating the BSDL file.
- the script After storage of the JTAG register names in the same order that they were discovered during traversal and storage of relationships between each JTAG register 162 , 164 , 166 and an I/O pin 106 , the script automatically creates the BSDL (block 214 ).
- the script automatically creates the BSDL file, or description of the IC 102 , by redefining the above mentioned stored names and relationships, using BSDL lexicography and syntax, into a format compatible with BSDL files.
- One of ordinary skill in the art would know how to redefine the stored names and relationships into a format compatible with BSDL files.
Abstract
Description
- The present invention generally relates to integrated circuit testing and, more particularly, is related to automating creation of a Boundary-Scan Description Language (BSDL) file.
- With advancements in technology, new integrated circuits (ICs) have been developed to perform different logical functions. ICs are packaged into fine pitch, high-count packages so that a single IC may perform an increasing number of logical functions. ICs are tested prior to use to ensure that electrical characteristics and conductivity are within ranges required to perform specified functions. Unfortunately, high density ICs pose unique manufacturing challenges such as, but not limited to, accessibility of test points and high cost of test equipment.
- In 1985, a group of European companies formed the Joint European Test Action Group (JETAG) to address IC testing challenges. JETAG called for incorporating hardware into standard components controlled via software, thereby eliminating the need for sophisticated in-circuit test equipment. By 1988, the standard component concept gained momentum in North America and several companies formed the Joint Test Access Group (JTAG) consortium to formalize the standard component concept. Thereafter, in 1990, the Institute of Electrical and Electronic Engineers (IEEE) refined the standard component concept and created the IEEE/ANSI 1149.1 standard, also known as the IEEE Standard Test Access Port and Boundary-scan Architecture.
- The IEEE/ANSI 1149.1 standard was developed to provide standard test facilities and test points in ICs to ensure IC compatibility. Compatibility of ICs that are compliant with the 1149.1 standard allows universal testing techniques to be utilized for the compliant ICs. As more people became aware of, and used, the IEEE/ANSI 1149.1 standard, the need for a standard method for describing IEEE/ANSI 1149.1 standard compatible devices, including ICs, was recognized. The IEEE/ANSI 1149.1 standard working group established a subcommittee to develop a device description language to address the need for a standard method for describing IEEE/ANSI 1149.1 compatible devices.
- The subcommittee has since developed and approved an industry standard language called Boundary-scan Description Language (BSDL). BSDL is a subset of the VHSIC Hardware Description Language (VHDL), which describes how the IEEE/ANSI 1149.1 standard is implemented in a device and how that device operates. The IEEE/ANSI 1149.1 standard, which is incorporated by reference here in its entirety, describes an in-circuit testing scheme using “scan registers” to capture data from input and output pins of the IC. The term “register” broadly refers to groups of digital logic storage units that are read or written as a unit. For example, a simple register may be constructed from a group of “flip-flops” whose outputs toggle simultaneously in response to a “clock” timing signal. In another type of register, called a “shift register,” stored values can also be circulated between the storage elements in the register when a particular control signal is pulsed.
- Scan registers act as a group of flip-flops until they are switched into a test mode where they become one long shift register. This configuration allows data to be “clocked” serially through all of the scan registers and out of an output pin at the same time that new data is being clocked in from an input pin. A detailed discussion of boundary-scan testing and scan registers is provided in “The Boundary-Scan Handbook” by Kenneth P. Parker (Kluwer Academic Publishers, 2d edition) and “Agilent 3070 Family Boundary-Scan Fundamentals H7230A Opt 210 (E3795C)” (Agilent Technologies), both of which are also incorporated by reference here in their entirety. Testing systems that use boundary-scan technology in order to facilitate integrated circuit testing, board testing, and/or system level testing are also commercially-available from a variety of vendors including Agilent Technologies Inc.; Corelis, Inc.; ASSET InterTech, Inc.; JTAG Technologies B.V., Goepel Electronics; Teredyne Inc.; Agere Systems; Sightsys LTD.; Intellitech Corp.; Acugen Software; and others.
- Examples of devices that implement the IEEE/ANSI 1149.1 standard in an IC include, but are not limited to, JTAG driving devices and JTAG receiving devices, wherein the devices are registers. The JTAG devices may be utilized for testing electrical characteristics and conductivity of the IC in which the JTAG devices are located.
- Unfortunately, creating BSDL files is a tedious and error prone process since IC designers are required to map pin names of ICs to corresponding JTAG driving devices and receiving devices. Mapping of ICs is currently performed by observing netlists utilized for top-level design and by manually determining which top-level port of the IC is associated with which JTAG device.
- In light of the foregoing, the preferred embodiment of the present invention generally relates to a system for generating a boundary-scan description language file for an integrated circuit.
- Generally, with reference to the structure of the data generation system, the system utilizes a memory; software stored within the memory defining functions to be performed by the system; and a processor. The processor is configured by the software to perform the steps of: creating a flat netlist that describes the integrated circuit, wherein the flat netlist comprises connectivity information regarding leaf cells within the integrated circuit; determining and storing a name provided for each joint test action group register located within the integrated circuit, from the created flat netlist; determining relationships between each joint test action group register located within the integrated circuit and at least one input/output pin located within the integrated circuit, from the created flat netlist, and storing a description of the relationships; and creating a boundary-scan description language file from the stored names of each joint test action group and the stored description of the relationship between the joint test action group register and the input/output pin.
- The present invention can also be viewed as providing a method for generating a boundary-scan description language file for an integrated circuit. In this regard, the method can be broadly summarized by the following steps: creating a flat netlist that describes the integrated circuit, wherein the flat netlist comprises connectivity information regarding leaf cells within the integrated circuit; determining and storing a name provided for each joint test action group register located within the integrated circuit, from the created flat netlist; determining relationships between each joint test action group register located within the integrated circuit and at least one input/output pin located within the integrated circuit, from the created flat netlist, and storing a description of the relationships; and creating a boundary-scan description language file from the stored names of each joint test action group and the stored description of the relationship between the joint test action group register and the input/output pin.
- Other systems and methods of the present invention will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.
- The invention can be better understood with reference to the following drawings. The components of the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. Moreover, in the drawings, like referenced numerals designate corresponding parts throughout the several views.
- FIG. 1 is a typical computer or processor-based system that may be utilized to create a BSDL file for testing an integrated circuit.
- FIG. 2 is a block diagram of an IC that may be tested by the BSDL file.
- FIG. 3 is a block diagram further illustrating a pad shown by FIG. 2.
- FIG. 4 is a flow chart that shows the architecture, functionality, and operation of a possible implementation of the present data generating system that automates the process of creating a BSDL file.
- The data generating system of the present invention can be implemented in software, firmware, hardware, or a combination thereof. In the preferred embodiment of the invention, which is intended to be a non-limiting example, a portion of the system is implemented in software that is executed by a computer, for example, but not limited to, a server, a personal computer, work station, minicomputer, or main frame computer.
- The software based portion of the data generating system, which comprises an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by, or in connection with, an instruction execution system, apparatus, or device such as a computer-based system or processor containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus or device.
- The computer-readable medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM or Flash memory) (magnetic), an optical fiber (optical), and a portable compact disk read-only memory (CD ROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance, optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
- Referring now to the drawings, wherein like reference numerals designate corresponding parts throughout the drawings, FIG. 1 is a typical computer or processor-based
system 2 that may be utilized to create a BSDL file for testing an IC. Thecomputer system 2 generally comprises aprocessor 4, astorage device 6, and acomputer memory 8. Theprocessor 4 accepts data from thecomputer memory 8 over alocal interface 10, such as a bus(es), or a dedicated path. Specifically, with regard to the preferred embodiment of the invention, thelocal interface 10 is a PCI bus. Thecomputer memory 8 has anoperating system 12 defined therein anddata generation software 14. Thedata generation software 14 is utilized to create the BSDL file, as is described in detail below. It should be noted that the data generation software may be PERL, C+, or any other ASCII producing software. - The
computer system 2 also comprises input device(s) 16 and output device(s) 18. Generally, thecomputer system 2 may run any of a number of different platforms and operating systems, including, but not limited to, the Unix®, WindowsNT®, SunSolaris® or any such operating system. APCI slot 22 may also be located within thecomputer system 2, which is attached to thelocal interface 10, for providing a means for a peripheral device, such as a network interface card (NIC), to attach to thecomputer system 2. - FIG. 2 is a block diagram of an
IC 102 that may be tested by the BSDL file after creation by thedata generation software 14. It should be noted that the BSDL file allows the description of testability features of components within the IC 102 that comply with the IEEE standard 1149.1. As is explained below, the BSDL file can be used by tools that make use of the testability features of components within theIC 102. Such tools include testability analyzers, test generators, and/or fault diagnosis routines, such as, but not limited to, simulation program for integrated circuit emphasis (SPICE). With the BSDL file, which describes theIC 102, and with knowledge of the IEEE 1149.1 standard, software tools are capable of understanding data transport characteristics of theIC 102, specifically, how theIC 102 captures, shifts, and/or updates data. - As is shown by FIG. 2, the
IC 102 comprises a series of pads, designated aspad1 104A,pad2 104B,pad3 104C,pad4 104D,pad5 104E,pad6 104F,pad7 104G, andpad8 104H. It should be noted that the number of pads (summarily denoted as 104) within theIC 102 may differ from the number ofpads 104 shown by FIG. 2. Alogic portion 112 is located within theIC 102, which comprises logic specific to the functionality of theIC 102. Therefore, thelogic portion 112 may be structurally and functionally different fordifferent ICs 102. - Each
pad 104 is connected to an input/output (I/O) pin (summarily denoted as 106) that allows theIC 102 to connect to a printed circuit board (PCB) (not shown). Specifically, as shown by FIG. 2,pad1 104A is connected to a first I/O pin 106A; pad2 104B is connected to a second I/O pin 106B; pad3 104C is connected to a third I/O pin 106C;pad4 104D is connected to a fourth I/O pin 106D;pad5 104E is connected to a fifth I/O pin 106E; pad6 104F is connected to a sixth I/O pin 106F; pad7 104G is connected to a seventh 1/0 pin 106G; and,pad8 104H is connected to an eighth I/O pin 106H. - The
pads 104 are serially connected to each other via a boundaryregister scan chain 114. As is known in the art, the boundaryregister scan chain 114 connects JTAG registers (shown by FIG. 3) in serial within eachpad 104 to allow for testing of electrical properties and/or conductivity of theIC 102. An example of a testing procedure may include bypassing specific JTAG registers and loading data into a different JTAG register, wherein the data is later captured at a different location within the boundary-scan chain 114, thereby allowing for verification of electrical properties and/or conductivity of theIC 102. - A test access port (TAP)
controller 116 is located within theIC 102 to facilitateIC 102 testing. TheTAP controller 116, is described in detail by the IEEE 1149.1 standard, which is incorporated herein by reference in its entirety. Specifically, theTAP controller 116 is utilized by an IC tester or testing program, such as, but not limited to, SPICE, to execute a set ofIC 102 testing vectors that have been previously generated by use of the generated BSDL file. As is known in the art, theIC 102 testing vectors are test stimuli used to test integrity ofpads 104, connectivity withinpads 104, and testability within theIC 102. TheIC 102 testing process is further discussed below. - The
TAP controller 116 is preferably a state machine that controls operations associated with JTAG registers so that relationships between JTAG registers and I/O pins 106 may be tested. Preferably, theTAP controller 116 is connected to thefirst pad 104 within the boundaryregister scan chain 114. In addition, theTAP controller 116 is connected to an output of thelast pad 104, in accordance with FIG. 2,pad8 104H, located within theIC 102. - Basic operation of the
TAP controller 116 is controlled through four pins that are located on theIC 102 and connected to theTAP controller 116 via interconnect. The four pins include, a test clock (TCK)pin 122, a test mode select (TMS)pin 124, a test data in (TDI)pin 126, and a test data out (TDO)pin 128. TheTCK pin 122 and theTMS pin 124 direct signals betweenTAP controller 116 states. TheTDI pin 126 and theTDO pin 128 receive data input and output signals for the boundary-scan chain 114. More specifically, theTDI pin 126 may be utilized to receive serial data from the tester or test program that is to be transmitted to the boundary-scan chain 114 for testing purposes. TheTAP controller 116 receives the serial data from theTDI pin 126 via interconnect and is capable of transmitting the data to the boundary-scan chain 114. It should be noted that a fifth pin (TRST) may optionally be implemented as an asynchronous reset to theTAP controller 116. TheTDO pin 128 may then be utilized by the tester or testing program to observe the serial data after being received by theTAP controller 116. - FIG. 3 is a block diagram further illustrating a
pad 104 shown by FIG. 2. As shown by FIG. 3, apad 104 comprises adriver circuit 152, areceiver circuit 154, a JT JTAG register 162, a JO JTAG register 164, and aJI JTAG register 166. Preferably, the JTAG registers 162, 164, 166 are master/slave flip-flops that may be controlled by the TAP controller 116 (FIG. 2). As has been mentioned above, the JTAG registers 162, 164, 166 are serially connected via the boundary-scan chain 114. - The JT JTAG register162 may be utilized to tri-state the
driver circuit 152. The JO JTAG register 164 may be utilized to drive serial data to thedriver circuit 152 and/or communicate with the logic portion 112 (FIG. 2) of theIC 102. In addition, the JI JTAG register 166 receives an output of thereceiver circuit 154 and/or communicates with thelogic portion 112 of theIC 102. Preferably, thedriver circuit 152 and thereceiver circuit 154 are three-latch devices that may be shifted. Thedriver circuit 152 may be utilized to drive serial data received from the JO JTAG register 164, while thereceiver circuit 154 may be utilized to transmit serial data to theJI JTAG register 166. The JT JTAG register 162 is connected to an input of thepad 104 and the JO JTAG register 164 via the boundary-scan chain 114. As stated above, the JT JTAG register 162 is also connected to thedriver circuit 152 for tri-stating. - The JO JTAG register164 is connected to the JT JTAG register 162 and the JI JTAG register 166 via the boundary-
scan chain 114. In addition, the JO TAG register 164 is connected to an input of thedriver circuit 152 for providing thedriver circuit 152 with serial data utilized for testing theIC 102. The JI JTAG register 166 is connected to the JO JTAG register 164 and an output of thepad 104 via the boundary-scan chain 114. As mentioned above, the boundary-scan chain 114 is also connected toother pads 104. The JI JTAG register 166 is also connected to an output of thereceiver circuit 154. An output of thedriver circuit 152 and an input of thereceiver circuit 154 are connected to each other, as well as being connected to an I/O pin 106 (FIG. 2). - Prior to placement of the
IC 102 onto a PCB, electrical characteristics and/or connectivity of theIC 102 are tested. Testing of theIC 102 is performed via use of the BSDL file generated by thedata generation software 14. As stated above, the tester, or testing program, uses the generated BSDL file to generate a set of vectors for testing integrity ofpads 104 and testability within theIC 102. The BSDL file describes the internal structure of theIC 102 and relationships between JTAG registers 162, 164, 166 and I/O pins 106 within eachpad 104, and betweendifferent pads 104A-104H within theIC 102. TheTAP controller 116 may then be utilized by the tester, or testing program, to execute the testing vectors. - Traditionally, the BSDL file is created by manually determining and providing relationships within each
pad 104. Relationships within eachpad 104 may be determined by utilizing a netlist, such as a Verilog netlist, that represents conductivity within thepad 104. The netlist may be stored within the storage device 6 (FIG. 1) or elsewhere. As is known in the art, a netlist is a logical representation of internal connectivity of an IC. Relationships within eachpad 104 include connections between JTAG registers 162, 164, 166, thedriver circuit 152, thereceiver circuit 154, and the I/O pin 106. To complicate matters, the BSDL file requires definition of relationships for allpads 104 located within theIC 102. Since there may bemany pads 104 located on asingle IC 102, different names are required for eachdifferent pad 104, including associated JTAG registers 162, 164, 166,driver circuit 152,receiver circuit 154, and I/O pin 106, when creating the BSDL file. Manually determining and providing the names and relationships of eachdifferent pad 104 and associated JTAG registers 162, 164, 166,driver circuit 152,receiver circuit 154, and I/O pin 106 for the BSDL file, is a tedious task. - FIG. 4 is a flow chart that shows the architecture, functionality, and operation of a possible implementation of the present data generating system100 that automates the process of creating the BSDL file. In this regard, each block represents a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of the order noted. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved, as will be further clarified herein below.
- As shown by
block 202, a flat netlist is created for theIC 102. The flat netlist is created by traversing hierarchical netlists that describe portions of theIC 102, for individual netlists focused upon thelogic portion 112 of theIC 102 and thepads 104, and combining connectivity information provided by the individual netlists into a single file, referred to herein as the flat netlist. The resulting flat netlist provides connectivity information, or data structures, that represent wires within theIC 102, leaf cells within theIC 102, and I/O pins 114. As is known by those of ordinary skill in the art, leaf cells comprise registers and/or combinational cells such as an AND gate or an OR gate. - As shown by
block 204, a script defined by the data generation software 14 (FIG. 1) is utilized to traverse the flat netlist, which defines data structures of theIC 102, until aJTAG register IC 102. - Traversal of the flat netlist begins from an input to the
first pad 104A, which is also the beginning of the boundary-scan line 114, and which is connected to an output of theTAP controller 116. Multiple logical devices may be connected to the boundary-scan line 114 including, but not limited to, buffers utilized to drive signals along the boundary-scan line 114 and leaf cells. As noted above, the traversal step preferably utilizes the previously created flat netlist (block 202) since connections between leaf cells have been previously defined. - As shown by
block 206, when aJTAG register IC 102 by progressing along the path of the boundary-scan line 114 (block 208). Determination of additional JTAG registers 162, 164, 166 is performed by traversing the boundary-scan line 114 from an output of the previously located JTAG register 162, 164, 166 until another leaf cell is found. If the next located leaf cell is not aJTAG register JTAG register - If another
JTAG register block 204 and block 206 are repeated until traversal of theIC 102 ends at theTAP controller 116. It should be noted that the JTAG register names are stored within thestorage device 6 in the same order that they were discovered during traversal. It should also be noted that completion of the traversing process, ending at theTAP controller 116, provides evidence that the JTAG registers 162, 164, 166 located within theIC 102 are properly connected. - As shown by
block 212, relationships between eachJTAG register O pin 106 are determined and stored within the memory 8 (FIG. 1) for use in creating the BSDL file. It should be noted that thestorage device 6 may be utilized for storing relationships between eachJTAG register O pin 106, as opposed to thememory 8. Determination ofJTAG register O pin 106 relationships is performed by the script sequentially searching the flat netlist for eachJTAG register driver circuit 152. Logic is continually traversed until an I/O pin 106 is located. The path from the output of the JO JTAG register 164 to the I/O pin 106 is stored for use in creating the BSDL file. - Since description of the
JO JTAG 164 requires a description of thedriver circuit 152, which is tri-stated by the JT JTAG register 162, a description of the JT JTAG register 162 is also required. Therefore, the flat netlist is traversed from an output of the JT JTAG register 162 to thedriver circuit 152 and continued until an I/O pin is located 106. The path from the output of the JT JTAG register 162 to the I/O pin 106 is stored for use in creating the BSDL file. - With reference to the JI JTAG register166, the flat netlist is traversed from an output of the JI JTAG register 162 to the output of the
receiver circuit 154 and continued until an I/O pin 106 is located. The path from the output of the JI JTAG register 166 to the I/O pin 106 is stored for use in creating the BSDL file. - After storage of the JTAG register names in the same order that they were discovered during traversal and storage of relationships between each
JTAG register O pin 106, the script automatically creates the BSDL (block 214). The script automatically creates the BSDL file, or description of theIC 102, by redefining the above mentioned stored names and relationships, using BSDL lexicography and syntax, into a format compatible with BSDL files. One of ordinary skill in the art would know how to redefine the stored names and relationships into a format compatible with BSDL files. - It should be emphasized that the above-described embodiments of the present invention, particularly, any “preferred” embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiment(s) of the invention without departing substantially from the spirit and principles of the invention. All such modifications and variations are intended to be included herein within the scope of this disclosure and the present invention and protected by the following claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/079,337 US6721923B2 (en) | 2002-02-20 | 2002-02-20 | System and method for generating integrated circuit boundary register description data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/079,337 US6721923B2 (en) | 2002-02-20 | 2002-02-20 | System and method for generating integrated circuit boundary register description data |
Publications (2)
Publication Number | Publication Date |
---|---|
US20030159124A1 true US20030159124A1 (en) | 2003-08-21 |
US6721923B2 US6721923B2 (en) | 2004-04-13 |
Family
ID=27733019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/079,337 Expired - Lifetime US6721923B2 (en) | 2002-02-20 | 2002-02-20 | System and method for generating integrated circuit boundary register description data |
Country Status (1)
Country | Link |
---|---|
US (1) | US6721923B2 (en) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098648A1 (en) * | 2002-11-14 | 2004-05-20 | Sunter Stephen K. | Boundary scan with strobed pad driver enable |
US20050033870A1 (en) * | 2002-12-23 | 2005-02-10 | Micron Technology, Inc. | Distributed configuration storage |
US20050081023A1 (en) * | 2003-10-09 | 2005-04-14 | Bullis George Anthony | Creating description files used to configure components in a distributed system |
US20050102488A1 (en) * | 2003-11-07 | 2005-05-12 | Bullis George A. | Firmware description language for accessing firmware registers |
US20060075315A1 (en) * | 2004-09-29 | 2006-04-06 | Cruz R T | Method and process for manufacturing test generation |
US20060156098A1 (en) * | 2004-11-30 | 2006-07-13 | Bawany Mahuammad A | Method and apparatus for testing an electronic device |
US20070069012A1 (en) * | 2005-09-28 | 2007-03-29 | Fujitsu Limited | Security protected circuit |
US8381148B1 (en) * | 2011-11-01 | 2013-02-19 | Jasper Design Automation | Formal verification of deadlock property |
KR101305514B1 (en) | 2007-04-17 | 2013-09-06 | (주)휴맥스 | Bitstream decoding device and method |
US8661399B1 (en) | 2012-08-06 | 2014-02-25 | International Business Machines Corporation | Built-in-self-test (BIST) organizational file generation |
US8863049B1 (en) | 2010-12-06 | 2014-10-14 | Jasper Design Automation, Inc. | Constraining traces in formal verification |
US9633153B1 (en) | 2014-12-31 | 2017-04-25 | Cadence Design Systems, Inc. | Method, system, and computer program product for verifying an electronic design using stall prevention requirements of electronic circuit design models of the electronic design |
US9817930B1 (en) | 2014-12-31 | 2017-11-14 | Cadence Design Systems Inc. | Method, system, and computer program product for verifying an electronic circuit design with a graph-based proof flow |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157210A (en) * | 1997-10-16 | 2000-12-05 | Altera Corporation | Programmable logic device with circuitry for observing programmable logic circuit signals and for preloading programmable logic circuits |
US7000163B1 (en) * | 2002-02-25 | 2006-02-14 | Lsi Logic Corporation | Optimized buffering for JTAG boundary scan nets |
US7509548B2 (en) * | 2003-06-30 | 2009-03-24 | Mates John W | Method and apparatus for integrated circuit self-description |
US7188043B1 (en) * | 2004-01-30 | 2007-03-06 | Xilinx, Inc. | Boundary scan analysis |
US20090105983A1 (en) * | 2007-10-23 | 2009-04-23 | Texas Instruments Incorporated | Test definer, a method of automatically determining and representing functional tests for a pcb having analog components and a test system |
US8286115B2 (en) * | 2008-12-09 | 2012-10-09 | International Business Machines Corporation | Fast routing of custom macros |
US8166437B2 (en) * | 2009-12-15 | 2012-04-24 | Apple Inc. | Automated pad ring generation for programmable logic device implementation of integrated circuit design |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5517637A (en) * | 1994-12-09 | 1996-05-14 | Motorola, Inc. | Method for testing a test architecture within a circuit |
US5682392A (en) * | 1994-09-28 | 1997-10-28 | Teradyne, Inc. | Method and apparatus for the automatic generation of boundary scan description language files |
US6058255A (en) * | 1996-12-17 | 2000-05-02 | Texas Instruments Incorporated | JTAG instruction decode test register and method |
US20020049558A1 (en) * | 2000-09-14 | 2002-04-25 | Patria Finavitec Oy | JTAG testing arrangement |
US20020120895A1 (en) * | 2001-02-02 | 2002-08-29 | Fujitsu Limited | Integrated circuit device having boundary scan register |
US6449755B1 (en) * | 1997-10-30 | 2002-09-10 | Synopsys, Inc. | Instruction signature and primary input and primary output extraction within an IEEE 1149.1 compliance checker |
US20020184562A1 (en) * | 2001-04-27 | 2002-12-05 | Benoit Nadeau-Dostie | Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same |
US6536008B1 (en) * | 1998-10-27 | 2003-03-18 | Logic Vision, Inc. | Fault insertion method, boundary scan cells, and integrated circuit for use therewith |
US6539520B1 (en) * | 2000-11-28 | 2003-03-25 | Advanced Micro Devices, Inc. | Systems and methods for generating hardware description code |
US20030145297A1 (en) * | 2002-01-25 | 2003-07-31 | Jean-Francois Cote | Method and program product for completing a circuit design having embedded test structures |
US20030145286A1 (en) * | 2002-01-25 | 2003-07-31 | Pajak Brian John | Self-contained embedded test design envoronment and environment setup utility |
-
2002
- 2002-02-20 US US10/079,337 patent/US6721923B2/en not_active Expired - Lifetime
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5682392A (en) * | 1994-09-28 | 1997-10-28 | Teradyne, Inc. | Method and apparatus for the automatic generation of boundary scan description language files |
US5517637A (en) * | 1994-12-09 | 1996-05-14 | Motorola, Inc. | Method for testing a test architecture within a circuit |
US6058255A (en) * | 1996-12-17 | 2000-05-02 | Texas Instruments Incorporated | JTAG instruction decode test register and method |
US6449755B1 (en) * | 1997-10-30 | 2002-09-10 | Synopsys, Inc. | Instruction signature and primary input and primary output extraction within an IEEE 1149.1 compliance checker |
US6536008B1 (en) * | 1998-10-27 | 2003-03-18 | Logic Vision, Inc. | Fault insertion method, boundary scan cells, and integrated circuit for use therewith |
US20020049558A1 (en) * | 2000-09-14 | 2002-04-25 | Patria Finavitec Oy | JTAG testing arrangement |
US6539520B1 (en) * | 2000-11-28 | 2003-03-25 | Advanced Micro Devices, Inc. | Systems and methods for generating hardware description code |
US20020120895A1 (en) * | 2001-02-02 | 2002-08-29 | Fujitsu Limited | Integrated circuit device having boundary scan register |
US20020184562A1 (en) * | 2001-04-27 | 2002-12-05 | Benoit Nadeau-Dostie | Method of designing circuit having multiple test access ports, circuit produced thereby and method of using same |
US20030145297A1 (en) * | 2002-01-25 | 2003-07-31 | Jean-Francois Cote | Method and program product for completing a circuit design having embedded test structures |
US20030145286A1 (en) * | 2002-01-25 | 2003-07-31 | Pajak Brian John | Self-contained embedded test design envoronment and environment setup utility |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219282B2 (en) * | 2002-11-14 | 2007-05-15 | Logicvision, Inc. | Boundary scan with strobed pad driver enable |
US20040098648A1 (en) * | 2002-11-14 | 2004-05-20 | Sunter Stephen K. | Boundary scan with strobed pad driver enable |
US20050033870A1 (en) * | 2002-12-23 | 2005-02-10 | Micron Technology, Inc. | Distributed configuration storage |
US7103682B2 (en) | 2002-12-23 | 2006-09-05 | Micron Technology, Inc. | Apparatus and methods for transmitting data to a device having distributed configuration storage |
US7277965B2 (en) * | 2002-12-23 | 2007-10-02 | Micron Technology Corp. | Apparatus and methods for the automated creation of distributed configuration storage |
US20050081023A1 (en) * | 2003-10-09 | 2005-04-14 | Bullis George Anthony | Creating description files used to configure components in a distributed system |
US7222313B2 (en) * | 2003-10-09 | 2007-05-22 | Finisar Corporation | Creating description files used to configure components in a distributed system |
US20050102488A1 (en) * | 2003-11-07 | 2005-05-12 | Bullis George A. | Firmware description language for accessing firmware registers |
US20050114083A1 (en) * | 2003-11-07 | 2005-05-26 | Bullis George A. | Using description files to configure components in a distributed system |
US7603444B2 (en) | 2003-11-07 | 2009-10-13 | George Anthony Bullis | Using description files to configure components in a distributed system |
US20060075315A1 (en) * | 2004-09-29 | 2006-04-06 | Cruz R T | Method and process for manufacturing test generation |
US7127691B2 (en) * | 2004-09-29 | 2006-10-24 | International Business Machines Corporation | Method and apparatus for manufacturing test generation |
US20060156098A1 (en) * | 2004-11-30 | 2006-07-13 | Bawany Mahuammad A | Method and apparatus for testing an electronic device |
US20070069012A1 (en) * | 2005-09-28 | 2007-03-29 | Fujitsu Limited | Security protected circuit |
KR101305514B1 (en) | 2007-04-17 | 2013-09-06 | (주)휴맥스 | Bitstream decoding device and method |
US8863049B1 (en) | 2010-12-06 | 2014-10-14 | Jasper Design Automation, Inc. | Constraining traces in formal verification |
US8381148B1 (en) * | 2011-11-01 | 2013-02-19 | Jasper Design Automation | Formal verification of deadlock property |
US8661399B1 (en) | 2012-08-06 | 2014-02-25 | International Business Machines Corporation | Built-in-self-test (BIST) organizational file generation |
US9633153B1 (en) | 2014-12-31 | 2017-04-25 | Cadence Design Systems, Inc. | Method, system, and computer program product for verifying an electronic design using stall prevention requirements of electronic circuit design models of the electronic design |
US9817930B1 (en) | 2014-12-31 | 2017-11-14 | Cadence Design Systems Inc. | Method, system, and computer program product for verifying an electronic circuit design with a graph-based proof flow |
Also Published As
Publication number | Publication date |
---|---|
US6721923B2 (en) | 2004-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6721923B2 (en) | System and method for generating integrated circuit boundary register description data | |
US6449755B1 (en) | Instruction signature and primary input and primary output extraction within an IEEE 1149.1 compliance checker | |
Kiefer et al. | Application of deterministic logic BIST on industrial circuits | |
US6012155A (en) | Method and system for performing automatic extraction and compliance checking of an IEEE 1149.1 standard design within a netlist | |
US7139955B2 (en) | Hierarchically-controlled automatic test pattern generation | |
US5682392A (en) | Method and apparatus for the automatic generation of boundary scan description language files | |
US7386775B2 (en) | Scan verification for a scan-chain device under test | |
US9678156B2 (en) | Multiple-capture DFT method for detecting or locating crossing clock-domain faults during self-test or scan-test | |
US7352169B2 (en) | Testing components of I/O paths of an integrated circuit | |
US7269770B1 (en) | AC coupled line testing using boundary scan test methodology | |
Robinson | Why 1149.1 (JTAG) really works | |
US7607057B2 (en) | Test wrapper including integrated scan chain for testing embedded hard macro in an integrated circuit chip | |
Maierhofer | Hierarchical self-test concept based on the JTAG standard | |
Tulloss et al. | BIST and boundary-scan for board level test: Test program pseudocode | |
KR100694315B1 (en) | At-speed interconnect test controller for system on chip using multiple system clock and having heterogeneous cores | |
US6760904B1 (en) | Apparatus and methods for translating test vectors | |
Ungar et al. | IEEE-1149. X standards: achievements vs. expectations | |
US20040187060A1 (en) | Generating test patterns for testing an integrated circuit | |
Van Ngo et al. | Use of JTAG boundary-scan for testing electronic circuit boards and systems | |
Gu et al. | An effort-minimized logic BIST implementation method | |
US7188043B1 (en) | Boundary scan analysis | |
JP3709034B2 (en) | Boundary scan compatible integrated circuit design support device | |
Barr et al. | End-to-end testing for boards and systems using boundary scan | |
Kamran et al. | Virtual tester development using HDL/PLI | |
Bennetts | IEEE 1149.1 JTAG and Boundary-Scan Tutorial |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: AGILENT TECHNOLOGIES, INC., COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FISHER, RORY L.;REEL/FRAME:012910/0864 Effective date: 20020213 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AGILENT TECHNOLOGIES, INC.;REEL/FRAME:017207/0020 Effective date: 20051201 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT, NEW YORK Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:032851/0001 Effective date: 20140506 Owner name: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AG Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:032851/0001 Effective date: 20140506 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032851-0001);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037689/0001 Effective date: 20160201 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032851-0001);ASSIGNOR:DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT;REEL/FRAME:037689/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH Free format text: PATENT SECURITY AGREEMENT;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:037808/0001 Effective date: 20160201 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 017207 FRAME 0020. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:AGILENT TECHNOLOGIES, INC.;REEL/FRAME:038633/0001 Effective date: 20051201 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD., SINGAPORE Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 Owner name: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD Free format text: TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS;ASSIGNOR:BANK OF AMERICA, N.A., AS COLLATERAL AGENT;REEL/FRAME:041710/0001 Effective date: 20170119 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047195/0026 Effective date: 20180509 |
|
AS | Assignment |
Owner name: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITE Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED ON REEL 047195 FRAME 0026. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER;ASSIGNOR:AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.;REEL/FRAME:047477/0423 Effective date: 20180905 |
|
AS | Assignment |
Owner name: BROADCOM INTERNATIONAL PTE. LTD., SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED;REEL/FRAME:053771/0901 Effective date: 20200826 |