[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US20030101397A1 - IC test cell with memory output connected to input multiplexer - Google Patents

IC test cell with memory output connected to input multiplexer Download PDF

Info

Publication number
US20030101397A1
US20030101397A1 US10/331,494 US33149402A US2003101397A1 US 20030101397 A1 US20030101397 A1 US 20030101397A1 US 33149402 A US33149402 A US 33149402A US 2003101397 A1 US2003101397 A1 US 2003101397A1
Authority
US
United States
Prior art keywords
output
test
input
memory
data
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.)
Abandoned
Application number
US10/331,494
Inventor
Lee Whetsel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US08/476,003 external-priority patent/US5631911A/en
Application filed by Individual filed Critical Individual
Priority to US10/331,494 priority Critical patent/US20030101397A1/en
Publication of US20030101397A1 publication Critical patent/US20030101397A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318541Scan latches or cell details
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318555Control logic

Definitions

  • This invention relates in general to integrated circuits, and more particularly to a test cell used in an integrated circuit for providing a boundary scan test structure.
  • In-circuit testing relies on back-driving techniques to force input conditions to test a particular IC in a circuit.
  • neighboring ICs When such test is being applied to one IC on a board, neighboring ICs, whose output buffers are tied to the same nodes, may be damaged.
  • the chance of damaging a neighboring IC increases with the length of time it takes to perform a test, which is directly related to the number of test patterns applied, and therefore, related to the IC density.
  • a boundary scan test system is provided which substantially eliminates the disadvantages and problems associated with prior testing systems.
  • the boundary scan test system of the present invention comprises a first multiplexer connecting a plurality of inputs to a first memory, responsive to control signals provided by a control bus.
  • the output of the first memory is connected to a second memory.
  • the output of the second memory is connected to an input to a second multiplexer along with one or more other inputs.
  • the second multiplexer is controlled by another control signal on the control bus.
  • the output or the first memory and the output of second memory are connected to the first multiplexer as inputs.
  • the present invention provides a variety of functions for testing purposes.
  • the test cell is operable to both reserve data inputs and control data outputs to and from the cell.
  • the test cell may operate in two modes: “normal” mode and “testing” mode.
  • normal mode the test cell provides a data path through which inputs and outputs may propagate freely through the test cell.
  • the test cell can also load and shift test data, remain in an idle state, or toggle test data without disturbing the normal operation of the integrated circuit.
  • a predetermined test data bit may be inserted into the data stream.
  • the test cell may perform a self-test while in the normal mode to insure correct operation of the test cell.
  • test cell inhibits the normal flow of data through the test cell. Normally, the test cells in the integrated circuit will have been prepared to output an initial test pattern. While in the test mode, the test cell may perform Idle, Load, Shift, and Toggle operations.
  • the test cell of the present invention may be used to perform internal and external boundary testing simultaneously, in order to reduce overall test time.
  • the test cells are capable of sampling or inserting data at the boundary during normal operation of the host integrated circuit.
  • the test cell is synchronous in operation with a free running test clock.
  • the present invention provides a method of toggling an IC's output buffers, independent of the IC's application logic, in order to achieve parametric measures and to facilitate boundary test.
  • the test cell provides self-testing capabilities.
  • FIG. 1 illustrates circuit diagram of an integrated circuit having test cells disposed at the boundary of the internal application logic
  • FIG. 2 illustrates a circuit diagram of a preferred embodiment of the test cell of the FIG. 1;
  • FIG. 3 illustrates a circuit diagram interconnections between test cells on an integrated circuit
  • FIG. 4 a illustrates a circuit diagram of a preferred embodiment of a bidirectional test cell
  • FIG. 4 b illustrates a diagram of the bidirectional test cell of FIG. 4 a as disposed within an integrated circuit
  • FIG. 5 illustrates an implementation of the test cell of the present invention.
  • FIG. 6 illustrates a test circuit comprising a base test cell with compare logic circuitry
  • FIG. 7 illustrates a test circuit comprising a base test cell with PRPG/PSA logic circuitry
  • FIG. 8 illustrates a test circuit comprising a base test cell with PRPG/PSA logic circuitry and programmable polynomial tap logic circuitry
  • FIGS. 9 a - b illustrate interconnections between test circuits having programmable polynomial tap logic circuitry
  • FIG. 10 illustrates a bidirection test cell having PRPG/PSA test circuitry
  • FIG. 11 illustrates a bidirectional test cell having PRPG/PSA test circuitry and programmable polynomial tap circuitry
  • FIG. 12 illustrates a circuit using test devices to observe inputs and control outputs to and from standard combinational logic
  • FIG. 13 illustrates a circuit diagram of a preferred embodiment of a test device of FIG. 12
  • FIG. 14 illustrates a circuit diagram of a test device performing PSA operations
  • FIG. 15 illustrates a circuit diagram of a test device performing simultaneous PSA and PRPG operations.
  • FIGS. 1 - 5 of the drawings like numerals being used for like and corresponding parts of the various drawings.
  • FIG. 1 illustrates a block diagram of an integrated circuit (IC) 10 having test cells 12 a - h disposed about its boundary to control and observe data flow through the application logic 14 of the IC 10 .
  • the integrated circuit 10 comprises a plurality of pins 16 which provide an electrical connection between the integrated circuit 10 and other integrated circuits.
  • the integrated circuit 10 is shown with four pins receiving input signals, IN 1 , IN 2 , IN 3 and IN 4 , and four pins providing output signals, OUT 1 , OUT 2 , OUT 3 and OUT 4 .
  • Other signals to the chip include a serial data input (SDI), a control bus 17 , and a serial data output (SDO).
  • SDI serial data input
  • SDO serial data output
  • the input signals IN 1 -IN 4 are connected to input buffers 18 which output to respective test cells 12 a - d.
  • Each test cell 12 a - h has its own serial data input and serial data output, enumerated SDI 1 - 8 and SDO 1 - 8 .
  • the SDI input to the IC 10 is connected to SDI 1 of test cell 12 a; the SDI inputs of subsequent cells 12 b - h receive the SDO of the previous cell.
  • SDO 1 is connected to SDI 2
  • SDO 2 is connected to SDI 3 , and so on.
  • SDO 8 is connected to the SDO pin of the IC 10 .
  • the control bus 17 is connected in parallel to each of the test cells 12 a - f.
  • Each test cell includes a data input (DIN) and a data output (DOUT).
  • DIN is connected to the output of respective buffers 18 and DOUT is connected to the inputs of the application logic 14 .
  • the inputs of the application logic 14 are enumerated IN 1 ′-IN 4 ′, corresponding to the inputs IN 1 -IN 4 .
  • IN 1 ′-IN 4 ′ would be the inputs to the chip were not the test structure provided.
  • the output from the application logic 14 are referenced as OUT 1 ′, OUT 2 ′, OUT 3 ′ and OUT 4 ′.
  • the outputs of the application logic OUT 1 ′-OUT 4 ′ are connected to the data inputs (DINs) of the output test cells 12 e - h.
  • the data outputs (DOUTs) of the output test cells 12 e - h are connected to output buffers 20 corresponding to OUT signals OUT 1 -OUT 4 .
  • test cells 12 a - h provide the basis for a great deal of test functionality within the integrated circuit 10 .
  • the SDI enters the IC 10 through test cell 12 a and may propagate to each subsequent cell 12 b - h, eventually being output from test cell 12 h through SDO 8 .
  • the serial data path is used to shift data into and out of each of the test cells 12 a - h.
  • the control bus provides signals for operating each of the test cells 12 a - h during testing, and is described in more detail in connection with FIGS. 2 - 3 .
  • the test cells 12 a - h inhibit the normal flow of data into and out of the IC 10 .
  • each test cell 12 a - h controls the logic node attached to its output and observes the logic node attached to its input.
  • the test cells 12 a - d attached to the four inputs IN 1 -IN 4 can observe the logic levels on the IN 1 -IN 4 inputs and control the logic levels on the IN 1 ′-IN 4 ′ outputs.
  • the test cells 12 e - h, connected to the four outputs can observe the logic levels on the OUT 1 ′-OUT 4 ′ inputs and control the logic levels on the OUT 1 -OUT 4 outputs.
  • FIG. 2 a detailed block diagram of an individual test cell 12 is provided.
  • the test cell 12 has three data inputs: data in (DIN), observability data in (ODI), and serial data in (SDI). Two data outputs are provided: data out (DOUT) and serial data out (SDO).
  • the control bus 17 comprises five signals, data input multiplexer selects, A and B, a register clock signal (CLK), a latch, enable (HOLD), and a data output multiplexer select (DMX).
  • a first multiplexer 22 receives the ODI and SDI signals, along with the output of a D-type flip-flop 24 and the inverted output of a D-type latch 26 .
  • the output of the multiplexer 22 is connected to the input of the flip-flop 24 .
  • the CLK signal is connected to the flip-flop clock input.
  • the output of the flip-flop 24 is connected to the input of the latch 26 and also provides the SDO signal.
  • the output of the latch 26 is connected to the input of a second multiplexer 28 along with the DIN signal.
  • the HOLD signal is connected to the latch enable.
  • the output of the multiplexer 28 provides the DOUT signal.
  • the multiplexer 28 is enabled by the DMX signal.
  • the 4:1 multiplexer 22 allows the input to the flip-flop 24 to be selected from one of four possible sources: ODI, SDI, the output of the flip-flop 24 or the inverted output of the latch 26 .
  • the latch 26 can be controlled to propagate the output of the flip-flop 24 or to hold its present state, depending upon the logic level applied by the HOLD input.
  • the 2:1 multiplexer 28 allows the DOUT output to be driven by either the DIN input or the output of the latch 26 , depending upon the logic level applied by the DMX input.
  • the combination of the 4:1 multiplexer 22 , flip-flop 24 , latch 26 and 2:1 multiplexer allows the test cell 12 to operate in four synchronous modes: load, shift, toggle and idle.
  • the test cell 12 clocks the logic state of the ODI input into the D flip-flop 24 through the multiplexer 22 .
  • the ODI input is coupled to a signal that is to be observed during tests and, in most cases, the ODI input will be attached to the same boundary signal that is connected to the test cell's DIN input. However, the ODI can be connected to other signals as well.
  • the A and B inputs are set to predetermined levels, allowing the ODI input to be connected to the flip-flop 24 via the. 4:1 multiplexer 22 . Normally, the HOLD input to the latch 26 is low, forcing the latch output to remain in its present state during a load operation.
  • the test cell clocks the logic state of the SDI input into the flip-flop 24 and outputs this logic state via the SDO output.
  • the shift mode allows the test cells 12 in the boundary scan path to be interconnected together so that serial data can be shifted into and out of the boundary scan path.
  • the SDI input of the. test cell is coupled to a preceding test cell's SDO output, as shown in FIG. 1.
  • the A and B inputs are set to predetermined levels, allowing the SDI input to be connected to the flip-flop 24 via the 4:1 multiplexer. Normally, the HOLD input to the latch 26 is kept low, forcing the latch output to remain in its present state during the shift operation.
  • toggle mode the output of the flip-flop 24 toggles between two logic states at the rate of the CLK input, regardless of the condition of the SDI or ODI inputs.
  • the HOLD input is set to a high logic level to enable the latch 26 and the A and B inputs are set such that the inverted output of the latch 26 is propagated to the flip-flop 24 .
  • the control input set in this manner, a feedback path is formed from the output of the flip-flop 24 to the input of the latch 26 and from the inverted output of latch 26 to the input of the flip-flop 24 . Because of the data inversion at the inverted output of the latch 26 , the opposite logic state is clocked into the flip-flop 24 on each CLK input, creating the toggle effect.
  • test cell In idle mode, the test cell remains in present state while the CLK is active, regardless of the condition of the SDI or ODI inputs.
  • the output of the flip-flop 24 is passed through the 4:1 multiplexer 22 ; hence, the input of the flip-flop 24 is connected to its output, allowing the present state of the flip-flop 24 to be refreshed on every clock input.
  • the test cell 12 can be in either “normal” mode or “testing” mode.
  • normal mode the test cell 12 provides the data path through which the inputs (IN 1 -IN 4 ) and output (OUT 1 -OUT 4 ) propagate freely.
  • the normal mode is achieved by setting the DMX signal such that the DIN signal passes through the multiplexer 28 to DOUT.
  • the test cell 12 can operate in any of the four synchronous modes (load, shift, idle or toggle) without disturbing the normal operation of the IC 10 .
  • a control signal can be issued via the A and B inputs to cause the test cell 12 to execute a load operation.
  • the load operation causes the test cell 12 to capture the logic level present on the ODI input. Once the data has been captured, it can be shifted out of the test cell 12 by performing a shift operation.
  • the load operation occurs synchronous with the CLK input. Following the shift operation, the test cell 12 typically returns to the idle mode.
  • This capability allows the test cell 12 to sample an IC's input and/or output boundary signals and shift the sample data out for inspection during normal operation of the IC.
  • the ability to sample boundary data during normal operations allows the test cell 12 to verify the functional interactions of multiple ICs on a circuit board without having to use expensive test equipment and external test probes.
  • control can be issued via the DMX input to cause the test cell 12 to insert a predetermined test data bit into the normal input/output boundary path of the IC.
  • the test data bit to be inserted is shifted into the flip-flop 24 via a shift operation.
  • the HOLD input to the latch 26 is set high to allow the test data in the flip-flop to pass through the latch and input to the 2:1 multiplexer 28 .
  • the DMX input is set to a level causing the multiplexer to propagate the test data from the output of the latch 26 to the DOUT output. After the test data has been inserted, the DMX input is switched to cause the 2:1 multiplexer 28 to propagate normal data from DIN to DOUT.
  • test data during normal operations allows the test cells to modify the normal behavior of one or more ICs in a circuit.
  • One particular usage of the insert capability is to propagate a fault into the input and/or output boundary of one or more ICs of a circuit board to see if the fault can be detected and corrected.
  • the test cell 12 In order to perform the sample and insert test functions during normal operation, the test cell 12 must receive control via the control bus 17 at a qualified point in time.
  • the test cell 12 can also perform a self-test while in the normal mode without disturbing the normal operation of the IC 10 .
  • a shift operation may be performed to initialize the flip-flop 24 to a known state. Following the shift operation, control is issued to cause the test cell 12 to enter the toggle mode for one CLK transition. During this transition, the flip-flop is loaded with the inverse of its state. Following this inversion of data, another shift operation is performed to retrieve the contents of the flip-flop 24 and verify the inversion operation. This test verifies the combined operation of each of the test cell's flip-flop 24 , 4:1 multiplexer 22 , and latch 26 , along with the integrity of the overall boundary scan path.
  • test cell 12 inhibits the normal flow of data from the DIN input to the DOUT output.
  • the test mode is entered by setting the DMX input to a level such that the output of the latch 26 is connected to the DOUT output.
  • the test cell 12 will have been prepared to output an initial test pattern, via a shift pattern. Also, the test cell 12 will usually be in an idle state and the HOLD input to the D latch will be set low, such that its present output is maintained.
  • a load operation may be executed, causing the test cell 12 to capture the logic level present on the ODI input.
  • the load operation occurs synchronous with the CLK input.
  • the HOLD input is set low, such that the D latch remains in its present state.
  • the DOUT output remains in its present state, since it is driven by the latch output.
  • a shift operation is performed, causing the test cell 12 to shift data through the flip-flop 24 from the SDI input to the SDO output.
  • the shift operation allows the test cell to shift out the data captured during a previous load operation and shift in the next output test data to apply to the DOUT output.
  • the shift operation occurs synchronous with the CLK input.
  • the HOLD input is held low, such that the output of the latch 26 remains in its present state.
  • the DOUT output remains in its present state, since it is driven by the latch output.
  • test cell 12 returns to the idle mode and the HOLD input will be set high, such that the latch 26 is updated with the new output test data residing in the flip-flop 24 .
  • the new output test data is applied to the DOUT output.
  • the HOLD input is set low such that the latch 26 remains in its present state during subsequent load and shift operations.
  • the HOLD, load, shift, and update/apply sequence is repeated during boundary scan testing of the internal and external logic elements attached to the ICs test circuitry.
  • the test cell 12 can test the internal logic of an IC 10 and the external logic and/or wiring interconnects attached to the IC's boundary simultaneously. This feature reduces test time significantly.
  • the test cell 12 can perform a toggle operation. Since the output of the latch 26 is coupled to the DOUT output during test mode, the DOUT output can be made to toggle at the rate of the CLK input when the toggle operation is performed.
  • the advantage of using a D latch instead of a second D flip-flop is that the D latch can be made to propagate the Q output of the D flip-flop by setting the HOLD input high.
  • the toggle mode can be used as a simple test pattern generator or for measuring parameters of the output buffers 20 of the IC 10 .
  • FIG. 3 illustrates a simplified view of an IC design having one input (IN), one output (OUT), an application logic section 14 , and a boundary scan path consisting of two test cells 12 i and 12 j.
  • the input to the application logic 14 is connected to the output of the 2:1 multiplexer 28 of test cell 12 i, and is denoted as IN′.
  • the output of the application logic is denoted as OUT′ and is connected to the DIN and ODI signals of the test cell 12 j.
  • the IN input enters the DIN input of the input test cell 12 i, passes through the 2:1 multiplexer 28 , and is output to the application logic 14 from the input test cells DOUT output, via IN′.
  • the application logic output, OUT′ enters the DIN input of the output test cell 12 j, passes through its 2:1 multiplexer 28 , and is output from the IC from the output test cell DOUT output, via OUT.
  • the ODI input of the input test cell 12 i is attached to the ICs input (IN) and the ODI input of the output test cell 12 j is attached to the application logic output (OUT′).
  • the SDI input of the IC is coupled to the input test cell's SDI input and the IC serial data output (SDO) is coupled to the output test cell SDO output.
  • a serial data path exists between the SDO of the input test cell 12 i output and the SDI input of the output test cell 12 j, creating an internal connection between the test cells for shifting data.
  • the control bus signals (A, B, CLK, HOLD, and DMX) are connected to both test cells 12 i and 12 j, allowing both to operate together in a synchronous manner.
  • data flows into the application logic 14 from the IN to the IN′ via the input test cell 12 i, and flows from the application logic from OUT′ to OUT via the output test cell 12 j.
  • the following examples describe the sequence of control signals issued via the control bus 17 to cause the test cells 12 i and 12 j to perform a sample and an insert test operation at the boundary of the IC in FIG. 3 during normal operation.
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • test cells' D flip-flops clock in the logic level on their ODI input
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • test cells' D flip-flops clock in the logic level on their SDI input
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • test mode the normal flow of input and output data through the test cells 12 i and 12 j is inhibited.
  • the input test cell 12 i controls the IN′ input to the application logic and observes the IN input to the IC.
  • the output test cell 12 j controls the OUT output from the IC 10 and observes the OUT′ output from the application logic.
  • the following examples describe the sequence of control issued via the control bus to cause the test cells 12 i and 12 j to perform a boundary scan test and output buffer toggle operation.
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • test cells' D flip-flops clock in the logic level on their ODI input
  • test cells' D flip-flops clock in the logic level on their SDI input
  • Application Logic's IN′ input is driven by input test cells' D latch
  • IC's OUT output is driven by output test cells' D latch
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • Application Logic's IN′ input is driven by the IC's IN indut
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • test cells' D flip-flops clock in the logic level on their SDI input
  • Application Logic's IN′ input is driven by the IC's IN input
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • IC's OUT output is driven by the Application Logic's OUT′ output
  • the bidirectional test cell 30 may be used in connection with an input/output pin, through which signals may flow in both directions.
  • the bidirectional cell 30 uses the test cell 12 illustrated in FIG. 2 as a base cell, adding additional circuitry to provide bidirectional operation.
  • the bidirectional cell 30 provides three additional multiplexers 32 , 34 and 36 .
  • the first multiplexer 32 has two inputs SYSG (the system tristate enable) and TSTG (the test tristate enable).
  • the multiplexer is controlled by a SELG (select enable) signal, which selects one of the two inputs.
  • the output of the first multiplexer 32 is the OBG (output buffer tristate enable).
  • the OBG signal controls the output state of the IC's tristate output buffer.
  • the second multiplexer 34 receives two inputs, a DINA signal and a DINB signal.
  • the multiplexer 34 is controlled by the output of the multiplexer 32 , the OBG signal.
  • the DINA input is an output from the IC's application logic 14 and the DINB input is the external input from the I/O buffer.
  • the OBG signal output from the multiplexer 32 is used to select between inputs of the multiplexer 34 .
  • the third multiplexer 36 has two inputs, DINA and the non-inverted output (LQ) from the latch 26 of the base test cell 12 . This third multiplexer 36 is controlled by the DMX signal.
  • the output of the second multiplexer 34 is connected to the ODI input of the base test cell 12 .
  • the output of the third multiplexer 36 is denoted as DOUTA and the DOUT signal from the base test cell 12 is denoted as DOUTB.
  • the OBG output is driven by the SYSG input (normal mode tristate control input) when the SELG input is low.
  • the OBG. output of the first multiplexer 32 is driven by the TSTG input (test mode tristate control input).
  • TSTG input test mode tristate control input
  • the second multiplexer 34 is controlled by the OBG output from the first multiplexer 32 .
  • the purpose of the second multiplexer is to couple one of the two data inputs, DINA or DINB, to the ODI input of the base test cell, to allow the appropriate signal to be sampled during a load operation.
  • the DINA input to the second multiplexer 34 is an output from the application logic. When the second multiplexer's select input OBG is set low, indicating an output operation from the application logic, the DINA signal is coupled to the ODI input of the base test cell 12 and can be sampled during a load operation.
  • the DINIB signal is coupled to the ODI input of the test cell 12 and can be sampled during a load operation.
  • the third multiplexer 36 is controlled by the DMX signal, also sent to the test cell 12 .
  • the LQ output of the test cell 12 is the output of the D latch 26 inside the test cell 12 .
  • the LQ output allows holding the DOUTA output signal constant in test mode during load and shift operations.
  • the DINA output passes through the third multiplexer 36 and is output from the cell via the DOUTA output, establishing the normal data output path from the application logic 14 to the output buffer section of an I/O buffer.
  • the DINB input passes through the 2:1 multiplexer 28 within the test cell 12 and is output from the cell via the DOUTB output, establishing the normal data input path from the input buffer section of an I/O buffer to the application logic 14 .
  • the bidirectional test cell 30 is placed in the test mode.
  • the test cell LQ test data output passes through the third multiplexer 36 is output from the scope cell via the DOUTA output, establishing the test data output path from the test cell 12 to the output buffer section of an I/O buffer.
  • the internal test cells LQ test data output passes through the test cell's internal 2:1 multiplexer 28 and is output from the test cell 12 via the DOUTB output, establishing the test data output path from the test cell to the application logic 14 .
  • FIG. 4 b a block representation of bidirectional test cell 30 is shown connected between a bidirectional buffer and application logic 14 .
  • the output buffer 38 is enabled by OBG.
  • the data from the application logic 14 enters the bidirectional test cell 30 via the DINA input, passes through the bidirectional test cell 30 and is coupled to the output buffer 38 via the DOUTA output.
  • the DOUTA output passes through. the output buffer 38 and is applied to the I/O pin 40 .
  • test mode the test data stored in the bidirectional test cell 30 is supplied to the output buffer via the DOUTA output, passes through the output buffer 38 and is applied to I/O pin 40 .
  • the output buffer is placed in a high impedance state by the OBG signal.
  • the data from the I/O pin 40 enters the bidirectional test cell 30 via the input buffer 41 and the DINB input, passes through the test cell 30 , and is applied to the application logic via the DOUTB output.
  • test mode the test data stored in the test cell 30 is applied to the application logic by the DOUTB output.
  • FIG. 5 there is shown a schematic diagram representing a particular implementation of the test cell 12 .
  • the implementation comprises multiplexers 22 and 28 , D flip-flop 24 and latch 26 .
  • the first multiplexer 22 has six independent input signals.
  • the SDI signal is input to two cascaded inverters 108 and 110 .
  • the resulting output from inverter 110 is then input to a transmission gate 112 .
  • a transmission gate is formed by tying both the sources and drains of a P channel transistor to an N channel transistor.
  • the output of transmission gate 112 is tied to the output of transmission gate 114 and to the input to transmission gate 116 .
  • the output of transmission gate 116 is likewise. tied to the output of transmission gate 122 and to the input to a pair of cascaded inverters 118 and 120 .
  • This output at inverter 120 represents the final output from multiplexer 22 .
  • the ODI input to multiplexer 22 is connected to transmission gate 114 .
  • the output of transmission gate 114 is tied to the output of transmission gate 112 and to the input to transmission gate 116 .
  • a third input to multiplexer 22 is the inverted output of latch 26 . This signal is input into transmission gate 124 .
  • the output of transmission gate 124 is tied to the output of transmission gate 126 and to the input to transmission gate 122 .
  • a fourth input to multiplexer 22 is the output of the D flip-flop 24 . This signal is input to transmission gate 126 . The output of transmission gate 126 is then tied to the output of transmission gate 124 and to the input to transmission gate 122 . The resultant output from transmission gate 122 is then tied to the output transmission gate 116 .
  • Input signal A is first connected to inverter 128 .
  • the output of inverter 128 is then connected to the input of inverter 130 .
  • the output of inverter 128 is further connected to the P channel gate of transmission gates 114 and 126 .
  • the same output is connected to the N channel gate of transmission gates 112 and 124 .
  • the output of inverter 130 is connected to the P channel gate of transmission gates 112 and 124 and the N channel gate of transmission gates 114 and 126 .
  • the B input to multiplexer 22 is also used as a select signal.
  • the B input is connected to inverter 132 .
  • the output of inverter 132 is connected to inverter 134 .
  • the output of inverter 132 is connected to the P channel gate of transmission gate 122 . and the N channel gate of transmission gate 116 .
  • the output of inverter 134 is connected to the N channel gate of transmission gate 122 and the P channel gate of transmission gate 116 .
  • the D flip-flop 24 is connected to both a clock input CLK and the output of multiplexer 22 .
  • the clock signal is input to inverter 140 , whose output is used to control the gate of N channel transistor 142 .
  • the clock signal is also used to control the gate of N channel transistor 144 .
  • the D input of D flip-flop 24 is connected to the first source/drain of N channel transistor 142 .
  • the second source/drain of transistor 142 is connected to the input of inverter 146 .
  • the output of inverter 146 is connected to the first source/drain of N channel transistor 144 and also to the input of inverter 148 .
  • the output of inverter 148 is connected to the input of inverter 146 .
  • the second source/drain of transistor 144 is connected to the input. of inverter 150 .
  • the output of inverter 150 is connected both to the input of inverter 152 and the input of inverter 154 .
  • the output of inverter 154 is connected to the input of inverter 150 .
  • the output of inverter 150 is also connected to the input of the transmission gate 126 .
  • the output of inverter 152 is the inverted output of the D flip-flop 24 .
  • the inverted output of D flip-flop 24 is then input to inverter 156 .
  • the output of inverter 156 is the SDO output of the test cell.
  • the output of D flip-flop 24 (output of inverter 150 ) is connected to the D input of latch 26 . This input is connected to the first source/drain of N channel transistor 160 . The second source/drain of N channel transistor 160 is connected to the input of inverter 162 . Within latch 26 , the output of inverter 162 is connected to the input of inverter 166 and inverter 164 . The output of inverter 166 is connected to the input of inverter 162 . The output of inverter 162 also represents the inverted output of latch 26 . As mentioned above, this inverted output is connected to multiplexer 22 through transmission gate 124 . The output of inverter 164 represents the non-inverted output of the latch 26 , which is connected to multiplexer 28 . The latch 26 is also controlled by a hold voltage input to the base of N channel transistor 160 .
  • the second multiplexer 28 within the test cell has three separate inputs, DIN, the output of inverter 164 , and DMX.
  • the DIN signal is connected to the one gates of P channel transistor 170 and N channel transistor 172 .
  • the output of inverter 164 is connected to the gate of P channel transistor 182 and N channel transistor 184 .
  • the DMX input is connected to the gates of N channel transistor 174 , 176 and 178 , and also to the gate of P channel transistor 180 .
  • the first source/drain of N channel transistor 178 is connected to V cc while the second source/drain is connected to node 196 .
  • the first source/drain of N channel transistor 176 is connected to ground while the second source/drain is connected to node 196 .
  • Node 196 is further connected to the gate of P channel transistor 188 and the gate of N channel transistor 186 .
  • the first source/drain of P channel transistors 188 and 180 are tied and connected to V cc .
  • the second source/drain of P channel transistors 188 and 180 are connected to the first source/drain of P channel transistors 182 and 170 , respectively.
  • the second source/drain of P channel transistors 182 and 170 are tied and connected to node 194 .
  • the first-source/drain of N channel transistors 184 and 172 are tied and are further connected to node 194 .
  • the second source/drain of N channel transistors 184 and 172 are connected to the first source/drain of N channel transistors 174 and 186 , respectively.
  • the second source/drain of N channel transistors 174 and 186 are connected to ground.
  • Node 196 is also connected to the gates of N channel transistors 192 and 190 .
  • the first source/drain of N channel transistor 192 is connected to V cc .
  • the second source/drain of N channel transistor 192 is connected to the first source/drain of N channel transistor 190 and this combined signal represents the DOUT signal of the test cell.
  • the second source/drain of N channel transistor 190 is connected to ground.
  • the present invention retains high speed performance on the observability data input (ODI), maintains a zero hold time on the shift data input (SDI), increases the setup time on SDI and increases the propagation delay from the clock transition to the SDO output.
  • a zero hold time on SDI eliminates any abnormal data propagation problem in a cascaded configuration.
  • a large setup time on SDI and a slight increase on the clock-to-Q delay enhances the clock skew margin to eliminate propagation errors due to skew between the various components of the test cell.
  • Two weak inverters 108 and 110 are used in the first multiplexer 22 in order to slow the serial data input and therefore increase the setup time. Since these inverters apply only to the SDI input, no performance degradation to the ODI input is introduced by this method.
  • Another two inverters 150 and 152 are inserted in the output path of SDO to slightly increase the clock-to-Q propagation delay.
  • a SPICE characterization shows that the invention has min/max SDI setup of ⁇ fraction (2/14) ⁇ nanoseconds, a zero SDI hold time and min/max clock-to-Q delay of 0.96/5.96 nanoseconds. This data leads to a min/max clock skew margin of 2.96/19.96 nanoseconds.
  • test cells of the present invention provide significant advantages over the prior art.
  • the test cell of the present invention may be used to perform internal and external boundary testing simultaneously in order to reduce overall test time.
  • the test cells are capable of sampling or inserting data at the boundary during normal operation of the host integrated circuit.
  • the test cell is synchronous in operation with a free running test clock.
  • the present invention provides a method of toggling an IC's output buffers, independent of the IC's application logic, in order to achieve parametric measures and to facilitate boundary tests.
  • the test cell provides. self-testing capability.
  • test cell 12 of the present invention may be enhanced through the use of cell libraries, in which additional circuitry may be provided on one or more of the test cells 12 used in IC 10 to provide an enhanced test circuit.
  • a library of such circuits may be provided to enable a circuit designer to customize a particular IC 10 .
  • a maskable comparator logic section 200 is shown in connection with the test cell 12 of the present invention.
  • the maskable comparator logic section 200 adds comparability test features for effectuating a test in response to a condition.
  • the maskable comparator logic section 200 comprises XOR gate 202 and a NAND 204 .
  • the XOR gate 202 has two inputs: a first input connected to the DIN and ODI inputs to the test cell 12 and a second input connected to an expected data (EXPD) signal.
  • the NAND 204 also has two inputs: one input connected to the output of the XOR gate 202 and a second input connected to a compare mask (CMPMSK) signal.
  • CMPMSK compare mask
  • the output of the NAND gate 204 provides a compare output (CMPOUT) signal.
  • the maskable comparator logic 200 provides a means to compare logic level appearing at the DIN input of the test cell 12 against a predetermined logic level appearing at the EXPD input. If the logic level on the DIN input and the EXPD input match, the output of the exclusive OR gate will driven low. If the logic level on the DIN input and the EXPD input do not match, the output of the exclusive OR gate will be driven high. A low level output (match condition) from the exclusive OR gate will cause the NAND gate to output a high level via the CMPOUT output. The high level output (no match) from the exclusive OR gate 202 will cause the NAND gate 204 to output a low logic level via the CMPOUT output, unless the CMPMSK input to the NAND gate 204 is at a low level.
  • a high logic level on the CMPOUT output of the comparator logic section 200 indicates that the input or output boundary signal passing through this particular test cell is equal to an expected condition.
  • the condition of one or more of the integrated circuits inputs and/or outputs may be irrelevant.
  • the comparator logic 200 may be forced to mask off the compare operation and output a high level on the CMPOUT output regardless of the result of the compare operation.
  • This capability allows for “Don't Care” comparison conditions to be set around the boundary of an integrated circuit design.
  • the Don't Care condition is achieved by setting the CMPMSK of a particular test cell to a low logic level. All test cells having a low level applied to their CMPMSK input will output a high logic level from their CMPOUT output. By forcing the CMPOUT output high, the test cells with Don't Care conditions do not influence the overall result of a comparison taking place in other test cells at the boundary of an integrated circuit.
  • the test cells may be required to provide Pseudo-Random Pattern Generation (PRPG) and/or Parallel Signature Analysis (PSA) capabilities a. the boundary of an integrated circuit to facilitate testing.
  • PRPG Pseudo-Random Pattern Generation
  • PSA Parallel Signature Analysis
  • a series of serially interconnected test cells can be made to generate a pseudo-random output pattern sequence from the DOUT outputs.
  • PSA a series of serially interconnected test cells can be made to compress the data appearing at the DIN input into a “signature” for testing purposes.
  • FIG. 7 A preferred implementation of a library cell capable of implementing PSA test logic is shown in FIG. 7.
  • the inputs and output of the base test cell 12 comprises the signals described in connection with FIG. 2.
  • the PSA logic section 206 receives two input signals, Data Mask (DATMSK) and PSA Enable (PSAENA).
  • DATMSK and PSAENA inputs are extensions of the control bus.
  • the PSA logic section 206 comprises an Exclusive OR gate 208 and two NAND gates, 210 and 212 .
  • the NAND 210 is connected to the DATMSK signal and the DIN input signal.
  • the NAND gate 212 is connected to the PSAENA signal and the SDI signal.
  • the outputs of the NAND gate 210 and 212 are connected to the inputs of the Exclusive OR gate 208 .
  • the output the Exclusive OR gate is connected to the ODI input of the base test cell 12 .
  • the PSA logic section 206 When the PSA logic section 206 is attached to the base cell 12 , the normal connection of the ODI input to the DIN input is modified such that it is no longer a direct interconnect. However, the base function of capturing test data during a load operation via the ODI input is still valid, but addition rules set forth below and signal routing is required to accommodate the load operation via the PSA test logic. All other functions (idle, shift and toggle) and their required cell to cell interconnects remain the same.
  • the DATMSK and PSAENA inputs to the logic section 206 are set to a high and low logic level, respectively.
  • the PSA logic section provides a routing path from the DIN input, through the NAND gate 210 and the Exclusive OR gate 208 to the ODI input of the base test cell 12 .
  • the test cell 12 captures the logic level on the DIN input via the routing channel through the PSA logic section 206 .
  • the MSKDAT and PSAENA inputs are both set to a high logic level and control is issued to the base test cell 12 to perform a load operation.
  • the PSA logic section 206 performs an Exclusive OR operation on the logic levels present on the DIN and SDI inputs, and outputs the result to the ODI input of the test cell 12 .
  • the test cell 12 samples the ODI input, storing the result of the Exclusive OR operation.
  • the local Exclusive OR and load operation performed in each test cell 12 in combination with the required cell to cell interconnect for serial shifting (i.e., the SDI of one cell connected to the SDO of another) and polynomial feedback, forms the basis from which a boundary scan signature analysis structure can be implemented.
  • the PSA logic section 206 provides a means to mask off the effect of the DIN input on the Exclusive OR operation. The masking is achieved by setting the MSKDAT input low while leaving the PSAENA input high. When the MSKDAT input is set low, the PSA logic section 206 couples the SDI input to the ODI input of the test cell 12 and only the value of a preceding cell's SDO output is sampled and stored in the test cell 12 . This capability allows masking out the signal attached to the DIN input of one or more of the test cells during a PSA operation at the boundary of an integrated circuit.
  • control is issued to cause the test cell 12 to perform a shift operation from the SDI input to the SDO output.
  • FIG. 8 The preferred implementation of a test circuit comprising a base test cell 12 , PSA logic section 206 and a Programmable Polynomial Tap 214 is shown in FIG. 8.
  • the inputs and outputs to the test cell 12 and the PSA logic section are the same as shown in FIG. 7.
  • the Programmable Polynomial Tap logic section 214 requires two additional input signals, Polynomial Tap Enable (PTENA) and Feedback Input (FBI), and one additional output signal, Feedback Output (FBO).
  • PTENA signal is an extension of the control bus.
  • the FBI and FBO signals provide the interconnect between test circuits for implementing the polynomial feedback network, required for the PRPG and/or PSA test operations.
  • the Programmable Polynomial Tap logic section comprises an Exclusive NOR gate 216 and a NAND gate 218 .
  • the NAND gate receives the SDO output of the associated test cell 12 and the PTENA signal as input.
  • the Exclusive NOR gate 216 receives the output of the NAND gate 218 and the FBI signal.
  • the output the Exclusive NOR gate 216 is the FBO signal.
  • a key capability required to perform PRPG or PSA is to provide a feedback network which is based on the Exclusive OR of the logic state in all or a selected group of test circuits in scan path. The result of this feedback network is input to the first test circuit in the scan path to close the feedback loop.
  • the combination of the NAND 218 and Exclusive NOR gate 216 provide the capability to include or exclude the logic state of the particular test circuit in the feedback network.
  • Test circuits having similar Programmable Polynomial Tap logic sections may be interconnected together as shown in FIG. 9 a.
  • Four test circuits 220 a - d having PRPG/PSA logic sections and Programmable Polynomial Tap logic sections are interconnected in the scan path from the primary serial data input (PSDI) to the Primary Serial Data Output (PSDO) signal.
  • the Programmable Polynomial Tap logic of each test cell 220 a - d is interconnected in such a way that a trailing test circuit's FBO output signal supplies the input for a leading test circuit's FBI input.
  • the FBO of test circuit 220 c is connected to the FBI of test cell 220 b.
  • the PTENA input for each test circuit 220 a - d is applied via the PTENA bus.
  • a feedback select (FBSEL) input (an extension of the control bus 17 ) controls a multiplexer 222 at the input of the first test circuit 220 a which feeds the SDI input of the test circuit 220 a.
  • the FBI input of the last test circuit 220 d is wired to a low logic level so that it have no effect on the Programmable polynomial Tap logic of the last test circuit 220 d.
  • serial data enters PSDI and flows through the test cells and out PSDO.
  • the multiplexer 222 at the input of first test circuit 220 a selects the feedback result (FBR) signal to be connected to the SDI input of the first test circuit 220 a .
  • the Programmable Polynomial Tap logic in the test circuits 220 a - d in combination with the FBI and FBO wiring interconnects, forms the Exclusive OR feedback network required for PRPG and PSA operations. If the PTENA input of a test circuit is high, the logic state of test cell 12 of that test circuit 220 is included in the feedback network. If the PTENIA input to a test circuit is low, the logic state of the test cell 12 of that test circuit is not included in the feedback network.
  • a primary scan path consisting of a series of test cells 12 , each having PRPG/PSA and Programmable Polynomial logic, into sections.
  • Each section of the primary scan path may be configured as shown in FIG. 9 b to provide multiple localized PRPG/PSA test functions within the primary scan path.
  • Each section of the scan path has a feedback connection as shown in FIG. 9 a to allow selecting the appropriate test cells 12 in the scan path section to be included in the local feedback network.
  • the Feedback Result (FBR) of each local feedback network is coupled up to the first test cell 12 in a scan path section, via a multiplexer.
  • the PSA test logic may also be included in the bidirectional test cell of FIG. 4.
  • the inclusion of the PSA test logic provides the same benefits to bidirectional test cells as described in the unidirectional case.
  • FIG. 10 A preferred implementation of a test circuit comprising a base test cell 12 , bidirectional multiplexer logic and a PSA logic section 206 is shown in FIG. 10.
  • the input and output signals required for this test circuit are the same as those used in connection with FIGS. 4 and 7.
  • the only change required to create the bidirectional test circuit with PSA logic is to insert the PSA logic and make the following wiring connections: (1) connect the SELODI output of the second multiplexer 34 up to the input of PRPG/PSA NAND gate 210 shown connected to DIN in FIG. 7, (2) connect the SDI input attached to the test cell up to the input of PRPG/PSA NAND gate 212 as shown in FIG. 7, and (3) connect the output of PRPG/PSA exclusive OR gate 208 up to the ODI input of the test cell 12 .
  • FIG. 11 illustrates a bidirectional test circuit having both a PRPG/PSA logic section 206 and a Polynomial Tap logic section 214 .
  • the circuit of FIG. 11 is identical to the circuit of FIG. 10 with the additional Polynomial Tap logic section 214 connected to test cell 12 as illustrated in connection with FIG. 8.
  • other combinations of library cells are available for the bidirectional test circuit, such as a bidirection test circuit including maskable compare logic or a bidirectional test circuit including maskable compare logic, PRPG/PSA logic and polynomial tap logic.
  • the library cells provide a integrated circuit designer with a range of bit slice testability cells that can be used to construct a variety of different integrated circuit test structures.
  • the advantages of providing test solutions in the form of library cells are: (1) simplification of the implementation of test architectures in integrated circuit designs, (2) providing structured test methodologies that can be automated, (3) elimination of the need to construct ad-hoc test approaches for every new integrated circuit design, (4) improvement of placement and signal routing of test architectures, since all required test logic is resident within the test circuits and, (5) providing the customer with a basis from which desired testability features may be selected.
  • test circuitry may be designed to include a test interface and a boundary scan path comprised of test cells 12 .
  • Standard components with embedded test circuitry that is accessible via a serial test interface simplifies testing.
  • a board design which uses such parts can be tested while it remains in the system, via the serial test bus. Also such devices allow testing to be performed with simpler, less expensive test equipment.
  • state of the art board designs it may not be physically possible to probe a circuit because of the component density. In this case testing may only be performed via the test circuitry embedded in the components.
  • FIG. 12 illustrates a situation where combinational logic 224 is being observed and controlled by test partitioning devices 226 and 228 .
  • the test partitioning devices 226 and 228 could be based on a number of well-known devices such as buffers, latches, registers or transceivers. For purposes of illustration, it is assumed that the partitioning devices 226 and 228 are 8-bit registers.
  • the combinational logic may comprise any number of circuits without in-circuit testing ability.
  • the input test register 226 may observe the data which would otherwise be sent to the combinational logic, and may output data to control the combinational logic 224 .
  • the output test register 228 may observe the data output from the combinational logic 224 and may control the output to devices which would otherwise be connected to the output of the combinational logic 224 .
  • Serial data is received by the input test register 226 which outputs serial data to the output test register 228 .
  • the test register 226 and 228 may test the combinational logic 224 in much the same way as previously described in connection with FIG. 1.
  • FIG. 13 illustrates an embodiment of a test device 226 .
  • Data inputs D 0 - 7 are input to the test device 226 through input buffer 230 .
  • the output of input buffer 230 is connected the an input test circuit register (input TCR) 232 .
  • the output of the test circuit register 232 is connected to a register 234 .
  • the output of the register 234 is connected to an output test circuit register (output TCR) 236 .
  • the output of the output TCR 236 is connected to an output buffer 238 , which provides the output data signals Q 0 - 7 .
  • Test cells 240 and 242 receive control signals from outside the device.
  • test cell 242 receives a clock input (CLK) and test cell 240 receives a control input (OC).
  • CLK clock input
  • test cell 240 receives a control input (OC).
  • the output of test cell 240 is connected to the output buffer 238 for tri-state operation.
  • the output of test cell 242 is connected to the clock input of register 234 .
  • the SDI signal from outside the test device 236 is received by the test cell 24 . 0 , a scan bypass register 244 and an instruction register 246 .
  • a scan data path exists through the test cell 240 , test cell 242 , the input TCR 232 and the output TCR 236 .
  • Serial data output of the output TCR 236 is connected to a multiplexer 248 along with the output of the scan bypass 244 .
  • the multiplexer 248 receives a scan path select signal from the instruction register 246 .
  • the output of the multiplexer 248 is connected to a multiplexer 250 along with an output from the instruction register 246 .
  • the multiplexer 250 also receives a select signal from a test port 252 .
  • the test port receives MODE and clock (CLK) signals from outside the test device 226 and outputs scan and test control signals.
  • the instruction register 246 also outputs test, control signals to the test cells 240 and 242 and TCRs 232 and 236 .
  • control signals (CLK and OC) input to the test register are exemplary, and other signals may be used for a specific application.
  • a clear signal or an enable signal could be connected through a test cell to a suitably designed register.
  • the register could be replaced by appropriate circuitry to implement a latch, buffer, transceiver or other device.
  • the number of control and data I/O signals may change depending on the implementation of the device.
  • the scan structure of the test device 226 comprises a boundary scan path (through the test cells 240 and 242 and TCRs 232 and 236 ), a scan bypass path and an instruction scan path.
  • a scan access protocol issued via the MODE and SCK inputs allows serial data to be scanned into either the boundary or bypass scan path, or the instruction register.
  • the selection between the boundary or bypass scan path is determined by the current instruction residing in the instruction register, via the scan path select output to multiplexer 248 .
  • the TCRs 232 and 236 comprise a plurality of test circuits based on the test cell 12 , as discussed previously. Typically, the TCRs 232 and 236 will be formed from a plurality of test circuits with PRPG/PSA and/or programmable polynomial tap logic sections.
  • the test cells 240 and 242 are typically base test cells 12 without additional circuitry.
  • the control circuitry to the test cells 240 and 242 and TCRs 232 and 236 is not shown; however, a control bus would be connected to each cell for serial data shifting and test circuit control.
  • Test instructions may be scanned into the instruction register 246 to cause the boundary scan logic to perform a test operation. If a test is not being performed, a normal operation instruction is scanned into the instruction register 246 . During a normal operation instruction, the boundary scan logic allows normal I/O and control signals to flow freely through the boundary scan logic.
  • a “boundary scan instruction” may be installed in the instruction register to allow the boundary scan path (through the TCRs 232 and 236 and the test cells 240 and 242 ) to take control of the internal I/O signals. This control is accomplished by setting the DMX input of the boundary scan cells to a high logic level. In this mode, external control can be issued by the MODE and SCK input to cause the boundary scan path to capture the logic level on the DIN inputs of the test cells 240 and 242 and TCRs 232 and 236 . During the capture operation, the test cells 240 and 242 and input TCR 232 capture the state of the external data outputs (D 0 - 7 ) and control inputs.
  • the output TCR 236 captures the state of the internal logic 234 .
  • additional external control is input via MODE and SCK inputs to cause the boundary scan path to shift out the captured data for inspection via the SDO pin.
  • a “boundary data sample instruction” may be installed in the instruction register 242 .
  • the boundary data sample instruction allows data and control to pass freely through the boundary scan path while the SCK and MODE inputs cause the boundary scan path to capture the logic state existing at their inputs. Once the boundary data has been captured, additional external control is issued via the SCK and MODE inputs to cause the boundary scan path to shift out the captured data for inspection via the SDO pin.
  • a “control outputs to high impedance state instruction” allows the output buffers (Q 0 - 7 ) to be placed in a high impedance state. Although the outputs are in a high impedance state, the inputs remain functional and data and control inputs still affect the internal logic 234 .
  • the scan bypass register (a single flip-flop) is coupled to the SDI and SDO pins, to form a single bit scan path through the test device during data register scan operations.
  • a “control boundary outputs to a logic 1 or 0 instruction” allows the boundary scan path to take control of the I/O signals in order to apply a prescanned test control pattern from the outputs of the test cells 240 and 242 and TCRs 232 and 236 .
  • the boundary scan path Prior to performing this test instruction, the boundary scan path will have been scanned to install the test control output pattern to be applied by the instruction.
  • the scan bypass register is coupled to the SDI and SDO pins in order to form a single bit scan path through the test device during data register scan operations.
  • the benefit of this instruction is to allow the test device to output a particular pattern while testing is being performed on other devices connected to the test device output, such as the combinational logic 224 . Also, the abbreviated data scan path through the scan bypass flip-flop during instruction allows the internal scan path length to be reduce to a single bit.
  • the input and output TCRs 232 and 236 may be instructed to operate synchronously with the external applied SCK input to provide additional testing capabilities.
  • the benefit of these test operations is that no scanning is required during the test operation, thus reducing the test time significantly.
  • the PSA operation is discussed in detail in connection with FIG. 7.
  • the input TCR 232 may perform the PSA operation either by itself or in conjunction with the output TCR 236 .
  • a circuit showing the input and output TCRs 232 and 236 used in conjunction to provide a 16-bit wide signature (assuming 8-bit TCRs) is illustrated in FIG. 14. Data appearing at the data input is summed with the present state of the input TCR 232 and is clocked into the input TCR 232 by the PSA/PRPG test clock signal output from the AND gate 253 .
  • the input TCR 232 is placed in the load mode and the output TCR 236 is placed in a shift mode and acts as an 8-bit shift register extension to the input TCR 232 .
  • a 16-bit wide signature of the 8-bit data input bus is available.
  • the number of input data patterns that can be compressed into the input TCR 232 is increased from 255 to 65,535.
  • the data output (Q 0 - 7 ) from the output TCR 236 is fixed to a predetermined pattern, so that the rippling data during PSA is not propagated out to the combinational logic 224 .
  • the clocking for PSA comes from a gating circuit shown in FIG. 14.
  • the gating signals are adjusted to allow the AND gate 253 to pass the SCK input to the TCRs 232 and 236 .
  • the instruction register 246 outputs a test clock enable signal when the instruction is installed.
  • the test port 252 outputs a sync signal when it enters a non-scanning idle state.
  • both enable signals are set high, the external SCK is gated through the AND gate 252 to produce the PSA/PRPG test clock.
  • the external control (SCK and MODE) will cause the test port 252 to inhibit the PSA/PRPG test clock and a new instruction will be scanned into the instruction register 246 .
  • the signature stored in the TCRs 232 and 236 can be scanned out for inspection via a boundary scan read instruction, explained hereinbelow.
  • a PRPG instruction may be installed in the instruction register 246 to provide output pattern generation.
  • the TCRs 232 and 236 may be combined to provide a 16-bit wide pattern generation capable extending the number of 8-bit output patterns.
  • the 16-bit configuration is similar to that shown in FIG. 14.
  • both TCRs are placed in a shift mode.
  • the pattern generation is output from the output TCR 236 .
  • Clocking for PRPG is identical to that described in the PSA instruction.
  • a new instruction will be scanned into the instruction register at the end of a PRPG operation to reset the test clock enable bit and re-configure the boundary scan path to its normal routing path.
  • PSA and PRPG may be run simultaneously.
  • the input and output TCRs 232 and 236 are not combined, but rather fed back into themselves.
  • Local multiplexers 254 and 256 provide the required feedback connections to the TCRs 232 and 236 respectively. Since the TCRs cannot be linked together in this configuration, the PSA and PRPG operations are limited to 8-bits. The clocking for the PSA and PRPG operations is identical to that described in connection with the PSA instruction.
  • a simultaneous PSA and binary count up pattern output instruction may also be performed.
  • the input TCR 232 performs PSA and the output TCR 236 outputs a binary count up pattern.
  • the clocking for the PSA and binary count up pattern operations is identical to that described in connection with the PSA instruction.
  • the binary count up pattern is useful in providing binary address patterns during memory testing.
  • a memory device's address may be stimulated by the count up pattern from a TCR 236 of one test register while its data output is compressed by a TCR 232 of another test register.
  • a similar test application would be performed by a PSA and PRPG instruction.
  • the test cells 12 of TCR 236 are shown attached to a Count. Enable Logic section 258 to allow a binary count up pattern to be output from TCR 236 .
  • the count enable logic 258 comprises a plurality of AND gates 260 .
  • Each AND gate 260 receives the output of the previous AND gate as one input and the DOUT signal from an associated test cell 12 as the other input.
  • the first AND gate 260 receives the DOUT signal from the first two test cells 12 .
  • the output of each AND gate 260 is connected to one A select part of the next test cell 12 .
  • test cell 12 will toggle when a PSA/PRPG test clock is applied if all trailing test cells are set to a high logic level.
  • a test cell 12 will remain in its present state (Idle) when a PSA/PRPG test clock is applied if any trailing test cell is set to a low logic level.
  • the testing device may be made to perform a toggle operation wherein data installed in the output TCR 236 during a prior scan operation can be made to toggle between the true output pattern and its compliment output pattern during each PSA/PRPG test clock cycle.
  • the toggle capability is useful during the testing of the device's output buffers and at the board level as a simple test pattern generator.
  • the clocking for the toggle operation is identical to that described in the PSA instruction.
  • the boundary scan path can also be read to determine the contents thereof.
  • the testing device remains in a normal operating mode during this operation.
  • This instruction differs from the boundary scan and boundary data sample instructions in that the capture operation is not performed.
  • the boundary read instruction may be used to extract the results of a PSA operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

A test cell (12) provides boundary scan testing in an integrated circuit (10). The test cell (12) comprises two memories, a flip-flop (24) and a latch (26), for storing test data. A first multiplexer (22) selectively connects one of a plurality of inputs to the flip-flop (24). The input-of the latch (26) is connected to output of the-flip-flop (24). The output of the latch (26) is connected to one input of a multiplexer (28), the second input to the multiplexer (28) being a data input (DIN) signal. A control bus (17) is provided for controlling the multiplexers (22, 28), flip-flop (24) and latch (26). The test cell allows input data to be observed and output data to be controlled simultaneously.

Description

    RELATED APPLICATIONS
  • This Application is related to co-pending application for U.S. Letters Patent Ser. No. ______, filed ______, entitled “Testing Buffer/Register”, incorporated herein by reference. [0001]
  • This Application is related to co-pending application for U.S. Letters Patent Ser. No. ______, filed ______, entitled “Enhanced Test Circuit”, incorporated herein by reference.[0002]
  • TECHNICAL FIELD OF THE INVENTION
  • This invention relates in general to integrated circuits, and more particularly to a test cell used in an integrated circuit for providing a boundary scan test structure. [0003]
  • BACKGROUND OF THE INVENTION
  • Due to advances in the fields of board interconnect technology, surface mount packaging and IC density, board level testability is becoming increasingly complex. The combination of advanced board interconnect technology, such as buried wire interconnects and double-sided boards, along with. surface mount packaging creates problems for in-circuit testing of the boards. In-circuit testing, the most common board level testing method, depends upon the ability to physically probe the nodes of a circuit board. As board density (the number of ICs on a board) increases, the process of probing the board using traditional techniques becomes more difficult, due to the lack of physical access. [0004]
  • As the IC density (amount of logic on a chip) increases, the number of test patterns required for proper testing likewise increases. In-circuit testing relies on back-driving techniques to force input conditions to test a particular IC in a circuit. When such test is being applied to one IC on a board, neighboring ICs, whose output buffers are tied to the same nodes, may be damaged. The chance of damaging a neighboring IC increases with the length of time it takes to perform a test, which is directly related to the number of test patterns applied, and therefore, related to the IC density. [0005]
  • Therefore, a need has arisen in the industry to provide a test structure which provides access to particular ICs on a board, and allows testing of particular ICs without risk of damage to neighboring ICs. [0006]
  • SUMMARY OF THE INVENTION
  • In accordance with the present invention, a boundary scan test system is provided which substantially eliminates the disadvantages and problems associated with prior testing systems. [0007]
  • The boundary scan test system of the present invention comprises a first multiplexer connecting a plurality of inputs to a first memory, responsive to control signals provided by a control bus. The output of the first memory is connected to a second memory. The output of the second memory is connected to an input to a second multiplexer along with one or more other inputs. The second multiplexer is controlled by another control signal on the control bus. The output or the first memory and the output of second memory are connected to the first multiplexer as inputs. [0008]
  • The present invention provides a variety of functions for testing purposes. The test cell is operable to both reserve data inputs and control data outputs to and from the cell. The test cell may operate in two modes: “normal” mode and “testing” mode. In normal mode, the test cell provides a data path through which inputs and outputs may propagate freely through the test cell. While in the normal mode, the test cell can also load and shift test data, remain in an idle state, or toggle test data without disturbing the normal operation of the integrated circuit. Further, while in normal mode, a predetermined test data bit may be inserted into the data stream. Also, the test cell may perform a self-test while in the normal mode to insure correct operation of the test cell. [0009]
  • In the test mode, the test cell inhibits the normal flow of data through the test cell. Normally, the test cells in the integrated circuit will have been prepared to output an initial test pattern. While in the test mode, the test cell may perform Idle, Load, Shift, and Toggle operations. [0010]
  • The present invention provides significant advantages over the prior art. First, the test cell of the present invention may be used to perform internal and external boundary testing simultaneously, in order to reduce overall test time. Second, the test cells are capable of sampling or inserting data at the boundary during normal operation of the host integrated circuit. Third, the test cell is synchronous in operation with a free running test clock. Fourth, the present invention provides a method of toggling an IC's output buffers, independent of the IC's application logic, in order to achieve parametric measures and to facilitate boundary test. Fifth, the test cell provides self-testing capabilities. [0011]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: [0012]
  • FIG. 1 illustrates circuit diagram of an integrated circuit having test cells disposed at the boundary of the internal application logic; [0013]
  • FIG. 2 illustrates a circuit diagram of a preferred embodiment of the test cell of the FIG. 1; [0014]
  • FIG. 3 illustrates a circuit diagram interconnections between test cells on an integrated circuit; [0015]
  • FIG. 4[0016] a illustrates a circuit diagram of a preferred embodiment of a bidirectional test cell;
  • FIG. 4[0017] b illustrates a diagram of the bidirectional test cell of FIG. 4a as disposed within an integrated circuit; and
  • FIG. 5 illustrates an implementation of the test cell of the present invention. [0018]
  • FIG. 6 illustrates a test circuit comprising a base test cell with compare logic circuitry; [0019]
  • FIG. 7 illustrates a test circuit comprising a base test cell with PRPG/PSA logic circuitry; [0020]
  • FIG. 8 illustrates a test circuit comprising a base test cell with PRPG/PSA logic circuitry and programmable polynomial tap logic circuitry; [0021]
  • FIGS. 9[0022] a-b illustrate interconnections between test circuits having programmable polynomial tap logic circuitry;
  • FIG. 10 illustrates a bidirection test cell having PRPG/PSA test circuitry; [0023]
  • FIG. 11 illustrates a bidirectional test cell having PRPG/PSA test circuitry and programmable polynomial tap circuitry; [0024]
  • FIG. 12 illustrates a circuit using test devices to observe inputs and control outputs to and from standard combinational logic; [0025]
  • FIG. 13 illustrates a circuit diagram of a preferred embodiment of a test device of FIG. 12; [0026]
  • FIG. 14 illustrates a circuit diagram of a test device performing PSA operations; and [0027]
  • FIG. 15 illustrates a circuit diagram of a test device performing simultaneous PSA and PRPG operations. [0028]
  • DETAILED DESCRIPTION OF THE INVENTION
  • The preferred embodiment of the present invention is best understood by referring to FIGS. [0029] 1-5 of the drawings, like numerals being used for like and corresponding parts of the various drawings.
  • FIG. 1 illustrates a block diagram of an integrated circuit (IC) [0030] 10 having test cells 12 a-h disposed about its boundary to control and observe data flow through the application logic 14 of the IC 10. The integrated circuit 10 comprises a plurality of pins 16 which provide an electrical connection between the integrated circuit 10 and other integrated circuits. For purposes of illustration, the integrated circuit 10 is shown with four pins receiving input signals, IN1, IN2, IN3 and IN4, and four pins providing output signals, OUT1, OUT2, OUT3 and OUT4. Other signals to the chip include a serial data input (SDI), a control bus 17, and a serial data output (SDO). The input signals IN1-IN4 are connected to input buffers 18 which output to respective test cells 12 a-d. Each test cell 12 a-h has its own serial data input and serial data output, enumerated SDI 1-8 and SDO 1-8. In the illustrated configuration, the SDI input to the IC 10 is connected to SDI1 of test cell 12 a; the SDI inputs of subsequent cells 12 b-h receive the SDO of the previous cell. Hence, SDO1 is connected to SDI2, SDO2 is connected to SDI3, and so on. SDO8 is connected to the SDO pin of the IC 10. The control bus 17 is connected in parallel to each of the test cells 12 a-f.
  • Each test cell includes a data input (DIN) and a data output (DOUT). For the [0031] input test cells 12 a-d, DIN is connected to the output of respective buffers 18 and DOUT is connected to the inputs of the application logic 14. The inputs of the application logic 14 are enumerated IN1′-IN4′, corresponding to the inputs IN1-IN4. IN1′-IN4′ would be the inputs to the chip were not the test structure provided.
  • The output from the [0032] application logic 14 are referenced as OUT1′, OUT2′, OUT3′ and OUT4′. The outputs of the application logic OUT1′-OUT4′ are connected to the data inputs (DINs) of the output test cells 12 e-h. The data outputs (DOUTs) of the output test cells 12 e-h are connected to output buffers 20 corresponding to OUT signals OUT1-OUT4.
  • The [0033] test cells 12 a-h provide the basis for a great deal of test functionality within the integrated circuit 10. The SDI enters the IC 10 through test cell 12 a and may propagate to each subsequent cell 12 b-h, eventually being output from test cell 12 h through SDO8. The serial data path is used to shift data into and out of each of the test cells 12 a-h.
  • The control bus provides signals for operating each of the [0034] test cells 12 a-h during testing, and is described in more detail in connection with FIGS. 2-3. When placed in a test mode, the test cells 12 a-h inhibit the normal flow of data into and out of the IC 10. In the test mode, each test cell 12 a-h controls the logic node attached to its output and observes the logic node attached to its input. For example, in FIG. 1, the test cells 12 a-d attached to the four inputs IN1-IN4, can observe the logic levels on the IN1-IN4 inputs and control the logic levels on the IN1′-IN4′ outputs. Similarly, the test cells 12 e-h, connected to the four outputs can observe the logic levels on the OUT1′-OUT4′ inputs and control the logic levels on the OUT1-OUT4 outputs.
  • In FIG. 2, a detailed block diagram of an [0035] individual test cell 12 is provided. The test cell 12 has three data inputs: data in (DIN), observability data in (ODI), and serial data in (SDI). Two data outputs are provided: data out (DOUT) and serial data out (SDO). The control bus 17 comprises five signals, data input multiplexer selects, A and B, a register clock signal (CLK), a latch, enable (HOLD), and a data output multiplexer select (DMX).
  • A [0036] first multiplexer 22 receives the ODI and SDI signals, along with the output of a D-type flip-flop 24 and the inverted output of a D-type latch 26. The output of the multiplexer 22 is connected to the input of the flip-flop 24. The CLK signal is connected to the flip-flop clock input. The output of the flip-flop 24 is connected to the input of the latch 26 and also provides the SDO signal. The output of the latch 26 is connected to the input of a second multiplexer 28 along with the DIN signal. The HOLD signal is connected to the latch enable. The output of the multiplexer 28 provides the DOUT signal. The multiplexer 28 is enabled by the DMX signal.
  • In operation, the 4:1 [0037] multiplexer 22 allows the input to the flip-flop 24 to be selected from one of four possible sources: ODI, SDI, the output of the flip-flop 24 or the inverted output of the latch 26. The latch 26 can be controlled to propagate the output of the flip-flop 24 or to hold its present state, depending upon the logic level applied by the HOLD input. The 2:1 multiplexer 28 allows the DOUT output to be driven by either the DIN input or the output of the latch 26, depending upon the logic level applied by the DMX input. The combination of the 4:1 multiplexer 22, flip-flop 24, latch 26 and 2:1 multiplexer allows the test cell 12 to operate in four synchronous modes: load, shift, toggle and idle.
  • In load mode, the [0038] test cell 12 clocks the logic state of the ODI input into the D flip-flop 24 through the multiplexer 22. The ODI input is coupled to a signal that is to be observed during tests and, in most cases, the ODI input will be attached to the same boundary signal that is connected to the test cell's DIN input. However, the ODI can be connected to other signals as well. To cause a load operation to occur, the A and B inputs are set to predetermined levels, allowing the ODI input to be connected to the flip-flop 24 via the. 4:1 multiplexer 22. Normally, the HOLD input to the latch 26 is low, forcing the latch output to remain in its present state during a load operation.
  • In shift mode, the test cell clocks the logic state of the SDI input into the flip-[0039] flop 24 and outputs this logic state via the SDO output. The shift mode allows the test cells 12 in the boundary scan path to be interconnected together so that serial data can be shifted into and out of the boundary scan path. In a boundary scan configuration, the SDI input of the. test cell is coupled to a preceding test cell's SDO output, as shown in FIG. 1. To cause the shift operation to occur, the A and B inputs are set to predetermined levels, allowing the SDI input to be connected to the flip-flop 24 via the 4:1 multiplexer. Normally, the HOLD input to the latch 26 is kept low, forcing the latch output to remain in its present state during the shift operation.
  • In toggle mode, the output of the flip-[0040] flop 24 toggles between two logic states at the rate of the CLK input, regardless of the condition of the SDI or ODI inputs. In this configuration, the HOLD input is set to a high logic level to enable the latch 26 and the A and B inputs are set such that the inverted output of the latch 26 is propagated to the flip-flop 24. With the control input set in this manner, a feedback path is formed from the output of the flip-flop 24 to the input of the latch 26 and from the inverted output of latch 26 to the input of the flip-flop 24. Because of the data inversion at the inverted output of the latch 26, the opposite logic state is clocked into the flip-flop 24 on each CLK input, creating the toggle effect.
  • In idle mode, the test cell remains in present state while the CLK is active, regardless of the condition of the SDI or ODI inputs. In this configuration, the output of the flip-[0041] flop 24 is passed through the 4:1 multiplexer 22; hence, the input of the flip-flop 24 is connected to its output, allowing the present state of the flip-flop 24 to be refreshed on every clock input.
  • The [0042] test cell 12 can be in either “normal” mode or “testing” mode. In normal mode, the test cell 12 provides the data path through which the inputs (IN1-IN4) and output (OUT1-OUT4) propagate freely. The normal mode is achieved by setting the DMX signal such that the DIN signal passes through the multiplexer 28 to DOUT. While in the normal mode, the test cell 12 can operate in any of the four synchronous modes (load, shift, idle or toggle) without disturbing the normal operation of the IC 10.
  • A control signal can be issued via the A and B inputs to cause the [0043] test cell 12 to execute a load operation. The load operation causes the test cell 12 to capture the logic level present on the ODI input. Once the data has been captured, it can be shifted out of the test cell 12 by performing a shift operation. The load operation occurs synchronous with the CLK input. Following the shift operation, the test cell 12 typically returns to the idle mode. This capability allows the test cell 12 to sample an IC's input and/or output boundary signals and shift the sample data out for inspection during normal operation of the IC. The ability to sample boundary data during normal operations allows the test cell 12 to verify the functional interactions of multiple ICs on a circuit board without having to use expensive test equipment and external test probes.
  • Also while in normal mode, control can be issued via the DMX input to cause the [0044] test cell 12 to insert a predetermined test data bit into the normal input/output boundary path of the IC. The test data bit to be inserted is shifted into the flip-flop 24 via a shift operation. The HOLD input to the latch 26 is set high to allow the test data in the flip-flop to pass through the latch and input to the 2:1 multiplexer 28. To insert the test data, the DMX input is set to a level causing the multiplexer to propagate the test data from the output of the latch 26 to the DOUT output. After the test data has been inserted, the DMX input is switched to cause the 2:1 multiplexer 28 to propagate normal data from DIN to DOUT.
  • The ability to insert test data during normal operations allows the test cells to modify the normal behavior of one or more ICs in a circuit. One particular usage of the insert capability is to propagate a fault into the input and/or output boundary of one or more ICs of a circuit board to see if the fault can be detected and corrected. In order to perform the sample and insert test functions during normal operation, the [0045] test cell 12 must receive control via the control bus 17 at a qualified point in time.
  • The [0046] test cell 12 can also perform a self-test while in the normal mode without disturbing the normal operation of the IC 10. A shift operation may be performed to initialize the flip-flop 24 to a known state. Following the shift operation, control is issued to cause the test cell 12 to enter the toggle mode for one CLK transition. During this transition, the flip-flop is loaded with the inverse of its state. Following this inversion of data, another shift operation is performed to retrieve the contents of the flip-flop 24 and verify the inversion operation. This test verifies the combined operation of each of the test cell's flip-flop 24, 4:1 multiplexer 22, and latch 26, along with the integrity of the overall boundary scan path.
  • In the test mode, the [0047] test cell 12 inhibits the normal flow of data from the DIN input to the DOUT output. The test mode is entered by setting the DMX input to a level such that the output of the latch 26 is connected to the DOUT output. Normally, prior to entering the test mode, the test cell 12 will have been prepared to output an initial test pattern, via a shift pattern. Also, the test cell 12 will usually be in an idle state and the HOLD input to the D latch will be set low, such that its present output is maintained.
  • While in the test mode, a load operation may be executed, causing the [0048] test cell 12 to capture the logic level present on the ODI input. The load operation occurs synchronous with the CLK input. During a load operation, the HOLD input is set low, such that the D latch remains in its present state. Likewise, the DOUT output remains in its present state, since it is driven by the latch output.
  • Following the load operation, a shift operation is performed, causing the [0049] test cell 12 to shift data through the flip-flop 24 from the SDI input to the SDO output. The shift operation allows the test cell to shift out the data captured during a previous load operation and shift in the next output test data to apply to the DOUT output. The shift operation occurs synchronous with the CLK input. During a shift operation, the HOLD input is held low, such that the output of the latch 26 remains in its present state. Likewise, the DOUT output remains in its present state, since it is driven by the latch output.
  • Following the load. and shift operation sequence, the [0050] test cell 12 returns to the idle mode and the HOLD input will be set high, such that the latch 26 is updated with the new output test data residing in the flip-flop 24. When the latch 26 is updated, the new output test data is applied to the DOUT output. Following the update operation, the HOLD input is set low such that the latch 26 remains in its present state during subsequent load and shift operations.
  • The HOLD, load, shift, and update/apply sequence is repeated during boundary scan testing of the internal and external logic elements attached to the ICs test circuitry. By providing separate memory elements for output test control (i.e., latch [0051] 26) and input test observation and shifting (i.e., flip-flop 24), the test cell 12 can test the internal logic of an IC 10 and the external logic and/or wiring interconnects attached to the IC's boundary simultaneously. This feature reduces test time significantly.
  • While in the test mode, the [0052] test cell 12 can perform a toggle operation. Since the output of the latch 26 is coupled to the DOUT output during test mode, the DOUT output can be made to toggle at the rate of the CLK input when the toggle operation is performed. The advantage of using a D latch instead of a second D flip-flop is that the D latch can be made to propagate the Q output of the D flip-flop by setting the HOLD input high. The toggle mode can be used as a simple test pattern generator or for measuring parameters of the output buffers 20 of the IC 10.
  • FIG. 3 illustrates a simplified view of an IC design having one input (IN), one output (OUT), an [0053] application logic section 14, and a boundary scan path consisting of two test cells 12 i and 12 j. The input to the application logic 14 is connected to the output of the 2:1 multiplexer 28 of test cell 12 i, and is denoted as IN′. The output of the application logic is denoted as OUT′ and is connected to the DIN and ODI signals of the test cell 12 j.
  • The IN input enters the DIN input of the [0054] input test cell 12 i, passes through the 2:1 multiplexer 28, and is output to the application logic 14 from the input test cells DOUT output, via IN′. Likewise, the application logic output, OUT′, enters the DIN input of the output test cell 12 j, passes through its 2:1 multiplexer 28, and is output from the IC from the output test cell DOUT output, via OUT. The ODI input of the input test cell 12 i is attached to the ICs input (IN) and the ODI input of the output test cell 12 j is attached to the application logic output (OUT′). The SDI input of the IC is coupled to the input test cell's SDI input and the IC serial data output (SDO) is coupled to the output test cell SDO output. A serial data path exists between the SDO of the input test cell 12 i output and the SDI input of the output test cell 12 j, creating an internal connection between the test cells for shifting data. The control bus signals (A, B, CLK, HOLD, and DMX) are connected to both test cells 12 i and 12 j, allowing both to operate together in a synchronous manner.
  • In the normal mode, data flows into the [0055] application logic 14 from the IN to the IN′ via the input test cell 12 i, and flows from the application logic from OUT′ to OUT via the output test cell 12 j. The following examples describe the sequence of control signals issued via the control bus 17 to cause the test cells 12 i and 12 j to perform a sample and an insert test operation at the boundary of the IC in FIG. 3 during normal operation.
  • SAMPLE OPERATIONS SEQUENCE
  • 1) Initially both test cells are in Normal Mode and Idle Mode [0056]
  • Control Bus: DMX=0, BA=11, HOLD=0, CLK=Active [0057]
  • (where BA equals the select control signals issued to the 4:1 multiplexor [0058] 22)
  • Application Logic's IN′ input is driven by the IC's IN input [0059]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0060]
  • Both test cells' D latches remain, in their present state [0061]
  • Both test cells' D flip-flops remain in their present state [0062]
  • 2) Enter Load Mode for one CLK to capture input and output boundary data [0063]
  • Control Bus: DMX=0, BA=01, HOLD=0, CLK=Active [0064]
  • Application Logic's IN′ input is driven by the IC's IN input [0065]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0066]
  • Both test cells' D latches remains in their present state [0067]
  • Both test cells' D flip-flops clock in the logic level on their ODI input [0068]
  • 3) Enter Shift Mode for two CLKs to shift out captured data [0069]
  • Control Bus: DMX=0, BA=00, HOLD=0, CLK=Active [0070]
  • Application Logic's IN′ input is driven by the IC's IN input [0071]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0072]
  • Both test cells' D latches remains in their present. state [0073]
  • Both test cells' D flip-flops clock in the logic level on their SDI input [0074]
  • 4) Enter Idle mode, test complete [0075]
  • Control Bus: DMX=0, BA=11, HOLD=0, CLK=Active [0076]
  • Application Logic's IN′ input is driven by the IC's IN input [0077]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0078]
  • Both test cells' D latches remains in their present state [0079]
  • Both test cells' D flip-flops remain in their present state [0080]
  • TEST DATA INSERT OPERATION SEQUENCE
  • 1) Initially both test cells are in Normal Mode and Idle Mode [0081]
  • Control Bus: DMX=0, BA=11, HOLD=0, CLK=Active [0082]
  • Application Logic's IN′ input is driven by the IC's IN input [0083]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0084]
  • Both test cells' D latches remain in their present state [0085]
  • Both test cells' D flip-flops remain in their present state [0086]
  • 2) Enter Shift Mode for two CLKs to load test data to insert [0087]
  • Control Bus: DMX=0, BA=00, HOLD=0, CLK=Active [0088]
  • Application Logic's IN′ input is driven by the IC's IN input [0089]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0090]
  • Both test cells' D latches remains in their present state [0091]
  • Both test cells′ D flip-flops clock in the logic level on their SDI input [0092]
  • 3) Enter Idle Mode and update both test cells' D latches with test data to insert [0093]
  • Control Bus: DMX=0, BA=11, HOLD=“0, 1,0”, CLK=Active [0094]
  • Application Logic's IN′ input is driven by the IC's IN input [0095]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0096]
  • Both test cells' D latches update to the logic level in the D flip-flops [0097]
  • Both test cells' D flip-flops remain in their present state [0098]
  • 4) Remain in Idle Mode, set DMX high to insert test data [0099]
  • Control Bus: DMX=1, BA=11, HOLD=0, CLK=Active [0100]
  • Application Logic's IN′ input is driven by input test cells' D latch [0101]
  • IC's OUT output is driven by output test cells' D latch [0102]
  • Both test cells' D latches remain in their present state [0103]
  • Both test cells' D flip-flops remain in their present state [0104]
  • 5) Remain in Idle Mode, set DMX low to remove test data, test complete [0105]
  • Control Bus: DMX=0, BA=11, HOLD=0, CLK=Active [0106]
  • Application Logic's IN′ input is driven by the IC's IN input [0107]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0108]
  • Both test cells' D latches remain in their present state [0109]
  • Both. test cells' D flip-flops remain in their present state [0110]
  • During test mode, the normal flow of input and output data through the [0111] test cells 12 i and 12 j is inhibited. In the test mode, the input test cell 12 i controls the IN′ input to the application logic and observes the IN input to the IC. Likewise, the output test cell 12 j controls the OUT output from the IC 10 and observes the OUT′ output from the application logic. The following examples describe the sequence of control issued via the control bus to cause the test cells 12 i and 12 j to perform a boundary scan test and output buffer toggle operation.
  • BOUNDARY SCAN TEST OPERATION SEQUENCE
  • 1) Initially both test cells are in Normal Mode and Idle Mode [0112]
  • Control Bus: DMX=0, BA=11, HOLD=0, CLK=Active [0113]
  • Application Logic's IN′ input is driven by the IC's IN input [0114]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0115]
  • Both test cells' D latches remain in their present state [0116]
  • Both test cells' D flip-flops remain in their present state [0117]
  • 2) Enter Shift Mode for two CLKs to shift in the first output test pattern [0118]
  • Control Bus: DMX=0, BA=00, HOLD=0, CLK=Active [0119]
  • Application Logic's IN′ input is driven by the IC's IN input [0120]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0121]
  • Both test cells' D latches remains in their present state [0122]
  • Both test cells' D flip-flops clock in the logic level on their SDI input [0123]
  • 3) Enter Idle Mode, update D latches with first output test pattern [0124]
  • Control Bus: DMX=0, BA=11, HOLD=“0,1,0”, CLK=Active [0125]
  • Application Logic's IN′ input is driven by the IC's IN input [0126]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0127]
  • Both test cells' D latches update to the logic level in the D flip-flops [0128]
  • Both test cells' D flip-flops remain in their present state [0129]
  • 4) Remain in Idle Mode, enter Test Mode, apply first output test pattern [0130]
  • Control Bus: DMX=1, BA=11, HOLD=0, CLK=Active [0131]
  • Application Logic's IN′ input is driven by input test cells' D latch [0132]
  • IC's OUT output is driven by output test cells' D latch [0133]
  • Both test cells' D latches remains in their present state [0134]
  • Both test cells' D flip-flops remain in their present state [0135]
  • 5) Enter Load Mode for one CLIK to capture input and output boundary data [0136]
  • Control Bus: DMX=1, BA=01, HOLD=0, CLK=Active [0137]
  • Application Logic's IN′ input is driven beg input test cells' D latch [0138]
  • IC's OUT output is driven by output test cells' D latch [0139]
  • Both test cells' D latches remains in their present state [0140]
  • Both test cells' D flip-flops clock in the logic level on their ODI input [0141]
  • 6) Enter Shift Mode for two CLKs to shift out captured data and shift in next output test pattern [0142]
  • Control Bus: DMX=1, BA=00, HOLD=0, CLK=Active [0143]
  • Application Logic's IN′ input is driven by input test cells' D latch [0144]
  • IC's OUT output is driven by output test cells' D latch [0145]
  • Both test cells' D latches remains in its present state [0146]
  • Both test cells' D flip-flops clock in the logic level on their SDI input [0147]
  • 7) Enter Idle Mode, update D latches to apply next output test pattern [0148]
  • Control Bus: DMX=1, BA=11, HOLD=“0,1,0”, CLK=Active [0149]
  • Application Logic's IN′ input is driven by input test cells' D latch [0150]
  • IC's OUT output is driven by output test cells' D latch [0151]
  • Both test cells' D latches update to logic level to the D flip-flops [0152]
  • Both test cells' D flip-flops remain in their present state [0153]
  • 8) Repeat steps 5 through 7 until boundary test is complete, then issue control to return to Normal mode and Idle mode (Step 1) [0154]
  • OUTPUT BUFFER TOGGLE OPERATION SEQUENCE
  • 1) Initially both test cells are in Normal Mode and Idle Mode [0155]
  • Control Bus: DMX=0, BA=11, HOLD=0, CLK=Active [0156]
  • Application Logic's IN′ input is driven by the IC's IN input [0157]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0158]
  • Both test cells' D latches remain in their present state [0159]
  • Both test cells' D flip-flops remain in their present state [0160]
  • 2) Enter Shift Mode for two CLKs to shift in the output buffer toggle pattern [0161]
  • Control Bus: DMX=0, BA=00, HOLD=0, CLK=Active [0162]
  • Application Logic's IN′ input is driven by the IC's IN indut [0163]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0164]
  • Both test cells' D latches remains in their present state [0165]
  • Both test cells' D flip-flops clock in the logic level on their SDI input [0166]
  • 3) Enter Idle Mode, update D latches with output test pattern [0167]
  • Control Bus: DMX=0, BA=11, HOLD=“0,1,0”, CLK=Active [0168]
  • Application Logic's IN′ input is driven by the IC's IN input [0169]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0170]
  • Both test cells' D latches update to the logic level in the D flip-flops [0171]
  • Both test cells' D flip-flops remain in their present state [0172]
  • 4) Remain in Idle Mode, enter Test Mode, apply output test pattern [0173]
  • Control Bus: DMX=1, BA=11, HOLD=0, CLK=Active [0174]
  • Application Logic's IN′ input is driven by input test cells' D latch [0175]
  • IC's OUT output is driven by output test cells' D latch [0176]
  • Both test cells' D latches remains in their present state [0177]
  • Both test cells' D flip-flops remain in their present state [0178]
  • 5) Enter Toggle Mode, Set HOLD input high, Toggle test begins (for “N” clock inputs) [0179]
  • Control Bus: DMX=1, BA=10, HOLD=1, CLK=Active [0180]
  • Application Logic's IN′ input is driven by input test cells' D latch [0181]
  • IC's OUT output is driven by output test cells' D latch [0182]
  • Both test cells' D latches pass data from D flip-flop to DOUT output [0183]
  • Both test cells' D flip-flops clock in the Q-D latch output [0184]
  • 6) Enter Idle Mode, Set HOLD and DMX input low, Toggle test complete [0185]
  • Control Bus: DMX=0, BA=11, HOLD=0, CLK=Active [0186]
  • Application Logic's. IN′ input is driven by the IC's IN input [0187]
  • IC's OUT output is driven by the Application Logic's OUT′ output [0188]
  • Both test cells' D latches remain in their present state [0189]
  • Both test cells' D flip-flops remain in their present state [0190]
  • NOTE: In FIG. 3, if it is desired not to toggle the input test cell during the Toggle test, a separate HOLD input can be used to force the output of the input test cell to be static while the output test cell toggles. Likewise separate control (A and B) can cause the input test cell into an Idle mode while the output test cell is toggling. [0191]
  • Referring now to FIG. 4[0192] a, a block diagram of a preferred implementation of a bidirectional test cell 30 is illustrated. The bidirectional test cell 30 may be used in connection with an input/output pin, through which signals may flow in both directions. The bidirectional cell 30 uses the test cell 12 illustrated in FIG. 2 as a base cell, adding additional circuitry to provide bidirectional operation. Specifically, the bidirectional cell 30 provides three additional multiplexers 32, 34 and 36. The first multiplexer 32 has two inputs SYSG (the system tristate enable) and TSTG (the test tristate enable). The multiplexer is controlled by a SELG (select enable) signal, which selects one of the two inputs. The output of the first multiplexer 32 is the OBG (output buffer tristate enable). The OBG signal controls the output state of the IC's tristate output buffer.
  • The [0193] second multiplexer 34 receives two inputs, a DINA signal and a DINB signal. The multiplexer 34 is controlled by the output of the multiplexer 32, the OBG signal. The DINA input is an output from the IC's application logic 14 and the DINB input is the external input from the I/O buffer. The OBG signal output from the multiplexer 32 is used to select between inputs of the multiplexer 34.
  • The [0194] third multiplexer 36 has two inputs, DINA and the non-inverted output (LQ) from the latch 26 of the base test cell 12. This third multiplexer 36 is controlled by the DMX signal.
  • The output of the [0195] second multiplexer 34 is connected to the ODI input of the base test cell 12. The output of the third multiplexer 36 is denoted as DOUTA and the DOUT signal from the base test cell 12 is denoted as DOUTB.
  • In operation, the OBG output is driven by the SYSG input (normal mode tristate control input) when the SELG input is low. When the SELG input is high, the OBG. output of the [0196] first multiplexer 32 is driven by the TSTG input (test mode tristate control input). In FIG. 4a, it is assumed that a low output on the OBG signal will cause an output buffer to be active and high output on the OBG signal will cause an output buffer to be tristate.
  • The [0197] second multiplexer 34 is controlled by the OBG output from the first multiplexer 32. The purpose of the second multiplexer is to couple one of the two data inputs, DINA or DINB, to the ODI input of the base test cell, to allow the appropriate signal to be sampled during a load operation. The DINA input to the second multiplexer 34 is an output from the application logic. When the second multiplexer's select input OBG is set low, indicating an output operation from the application logic, the DINA signal is coupled to the ODI input of the base test cell 12 and can be sampled during a load operation. When the second multiplexer's select input OBG is set high, indicating an input operation to the application logic, the DINIB signal is coupled to the ODI input of the test cell 12 and can be sampled during a load operation. The third multiplexer 36 is controlled by the DMX signal, also sent to the test cell 12. The LQ output of the test cell 12 is the output of the D latch 26 inside the test cell 12. The LQ output allows holding the DOUTA output signal constant in test mode during load and shift operations. When the DMX input to the test cell 12 and third multiplexer 36 is set low, the bidirectional cell 30 is in normal mode. In the normal mode, the DINA output passes through the third multiplexer 36 and is output from the cell via the DOUTA output, establishing the normal data output path from the application logic 14 to the output buffer section of an I/O buffer. Likewise, in the normal mode, the DINB input passes through the 2:1 multiplexer 28 within the test cell 12 and is output from the cell via the DOUTB output, establishing the normal data input path from the input buffer section of an I/O buffer to the application logic 14.
  • When the DMX input to the [0198] test cell 12 and third multiplexer 36 is set high, the bidirectional test cell 30 is placed in the test mode. In the test mode, the test cell LQ test data output passes through the third multiplexer 36 is output from the scope cell via the DOUTA output, establishing the test data output path from the test cell 12 to the output buffer section of an I/O buffer. Likewise, in the test mode, the internal test cells LQ test data output passes through the test cell's internal 2:1 multiplexer 28 and is output from the test cell 12 via the DOUTB output, establishing the test data output path from the test cell to the application logic 14.
  • In FIG. 4[0199] b, a block representation of bidirectional test cell 30 is shown connected between a bidirectional buffer and application logic 14. When a data output operation is performed, the output buffer 38 is enabled by OBG. In the normal mode, the data from the application logic 14 enters the bidirectional test cell 30 via the DINA input, passes through the bidirectional test cell 30 and is coupled to the output buffer 38 via the DOUTA output. The DOUTA output passes through. the output buffer 38 and is applied to the I/O pin 40. In test mode, the test data stored in the bidirectional test cell 30 is supplied to the output buffer via the DOUTA output, passes through the output buffer 38 and is applied to I/O pin 40.
  • When a data input operation is performed, the output buffer is placed in a high impedance state by the OBG signal. In normal mode, the data from the I/[0200] O pin 40 enters the bidirectional test cell 30 via the input buffer 41 and the DINB input, passes through the test cell 30, and is applied to the application logic via the DOUTB output. In test mode, the test data stored in the test cell 30 is applied to the application logic by the DOUTB output.
  • Referring now to FIG. 5, there is shown a schematic diagram representing a particular implementation of the [0201] test cell 12. The implementation comprises multiplexers 22 and 28, D flip-flop 24 and latch 26.
  • The [0202] first multiplexer 22 has six independent input signals. The SDI signal is input to two cascaded inverters 108 and 110. The resulting output from inverter 110 is then input to a transmission gate 112. A transmission gate is formed by tying both the sources and drains of a P channel transistor to an N channel transistor. The output of transmission gate 112 is tied to the output of transmission gate 114 and to the input to transmission gate 116. The output of transmission gate 116 is likewise. tied to the output of transmission gate 122 and to the input to a pair of cascaded inverters 118 and 120. This output at inverter 120 represents the final output from multiplexer 22.
  • The ODI input to [0203] multiplexer 22 is connected to transmission gate 114. The output of transmission gate 114 is tied to the output of transmission gate 112 and to the input to transmission gate 116.
  • A third input to [0204] multiplexer 22 is the inverted output of latch 26. This signal is input into transmission gate 124. The output of transmission gate 124 is tied to the output of transmission gate 126 and to the input to transmission gate 122.
  • A fourth input to [0205] multiplexer 22 is the output of the D flip-flop 24. This signal is input to transmission gate 126. The output of transmission gate 126 is then tied to the output of transmission gate 124 and to the input to transmission gate 122. The resultant output from transmission gate 122 is then tied to the output transmission gate 116.
  • The two remaining inputs of [0206] multiplexer 22 act as select signals for the various transmission gates within the multiplexer 22. Input signal A is first connected to inverter 128. The output of inverter 128 is then connected to the input of inverter 130. Additionally, the output of inverter 128 is further connected to the P channel gate of transmission gates 114 and 126. The same output is connected to the N channel gate of transmission gates 112 and 124. The output of inverter 130 is connected to the P channel gate of transmission gates 112 and 124 and the N channel gate of transmission gates 114 and 126.
  • The B input to [0207] multiplexer 22 is also used as a select signal. The B input is connected to inverter 132. The output of inverter 132 is connected to inverter 134. Additionally, the output of inverter 132 is connected to the P channel gate of transmission gate 122. and the N channel gate of transmission gate 116. The output of inverter 134 is connected to the N channel gate of transmission gate 122 and the P channel gate of transmission gate 116.
  • The D flip-[0208] flop 24 is connected to both a clock input CLK and the output of multiplexer 22. Within the D flip-flop 24, the clock signal is input to inverter 140, whose output is used to control the gate of N channel transistor 142. The clock signal is also used to control the gate of N channel transistor 144. The D input of D flip-flop 24 is connected to the first source/drain of N channel transistor 142. The second source/drain of transistor 142 is connected to the input of inverter 146. The output of inverter 146 is connected to the first source/drain of N channel transistor 144 and also to the input of inverter 148. The output of inverter 148 is connected to the input of inverter 146. The second source/drain of transistor 144 is connected to the input. of inverter 150. The output of inverter 150 is connected both to the input of inverter 152 and the input of inverter 154. The output of inverter 154 is connected to the input of inverter 150. The output of inverter 150 is also connected to the input of the transmission gate 126. The output of inverter 152 is the inverted output of the D flip-flop 24. The inverted output of D flip-flop 24 is then input to inverter 156. The output of inverter 156 is the SDO output of the test cell.
  • The output of D flip-flop [0209] 24 (output of inverter 150) is connected to the D input of latch 26. This input is connected to the first source/drain of N channel transistor 160. The second source/drain of N channel transistor 160 is connected to the input of inverter 162. Within latch 26, the output of inverter 162 is connected to the input of inverter 166 and inverter 164. The output of inverter 166 is connected to the input of inverter 162. The output of inverter 162 also represents the inverted output of latch 26. As mentioned above, this inverted output is connected to multiplexer 22 through transmission gate 124. The output of inverter 164 represents the non-inverted output of the latch 26, which is connected to multiplexer 28. The latch 26 is also controlled by a hold voltage input to the base of N channel transistor 160.
  • The [0210] second multiplexer 28 within the test cell has three separate inputs, DIN, the output of inverter 164, and DMX. The DIN signal is connected to the one gates of P channel transistor 170 and N channel transistor 172. The output of inverter 164 is connected to the gate of P channel transistor 182 and N channel transistor 184. The DMX input is connected to the gates of N channel transistor 174, 176 and 178, and also to the gate of P channel transistor 180. The first source/drain of N channel transistor 178 is connected to Vcc while the second source/drain is connected to node 196. Similarly, the first source/drain of N channel transistor 176 is connected to ground while the second source/drain is connected to node 196. Node 196 is further connected to the gate of P channel transistor 188 and the gate of N channel transistor 186. The first source/drain of P channel transistors 188 and 180 are tied and connected to Vcc. The second source/drain of P channel transistors 188 and 180 are connected to the first source/drain of P channel transistors 182 and 170, respectively. The second source/drain of P channel transistors 182 and 170 are tied and connected to node 194. The first-source/drain of N channel transistors 184 and 172 are tied and are further connected to node 194. The second source/drain of N channel transistors 184 and 172 are connected to the first source/drain of N channel transistors 174 and 186, respectively. The second source/drain of N channel transistors 174 and 186 are connected to ground. Node 196 is also connected to the gates of N channel transistors 192 and 190. The first source/drain of N channel transistor 192 is connected to Vcc. The second source/drain of N channel transistor 192 is connected to the first source/drain of N channel transistor 190 and this combined signal represents the DOUT signal of the test cell. The second source/drain of N channel transistor 190 is connected to ground.
  • The present invention retains high speed performance on the observability data input (ODI), maintains a zero hold time on the shift data input (SDI), increases the setup time on SDI and increases the propagation delay from the clock transition to the SDO output. A zero hold time on SDI eliminates any abnormal data propagation problem in a cascaded configuration. A large setup time on SDI and a slight increase on the clock-to-Q delay enhances the clock skew margin to eliminate propagation errors due to skew between the various components of the test cell. [0211]
  • Two [0212] weak inverters 108 and 110 are used in the first multiplexer 22 in order to slow the serial data input and therefore increase the setup time. Since these inverters apply only to the SDI input, no performance degradation to the ODI input is introduced by this method. Another two inverters 150 and 152 are inserted in the output path of SDO to slightly increase the clock-to-Q propagation delay. A SPICE characterization shows that the invention has min/max SDI setup of {fraction (2/14)} nanoseconds, a zero SDI hold time and min/max clock-to-Q delay of 0.96/5.96 nanoseconds. This data leads to a min/max clock skew margin of 2.96/19.96 nanoseconds.
  • The test cells of the present invention provide significant advantages over the prior art. First, the test cell of the present invention may be used to perform internal and external boundary testing simultaneously in order to reduce overall test time. Second, the test cells are capable of sampling or inserting data at the boundary during normal operation of the host integrated circuit. Third, the test cell is synchronous in operation with a free running test clock. Fourth, the present invention provides a method of toggling an IC's output buffers, independent of the IC's application logic, in order to achieve parametric measures and to facilitate boundary tests. Fifth, the test cell provides. self-testing capability. [0213]
  • The functionality of the [0214] test cell 12 of the present invention may be enhanced through the use of cell libraries, in which additional circuitry may be provided on one or more of the test cells 12 used in IC 10 to provide an enhanced test circuit. A library of such circuits may be provided to enable a circuit designer to customize a particular IC 10.
  • Referring to FIG. 6, a maskable [0215] comparator logic section 200 is shown in connection with the test cell 12 of the present invention. The maskable comparator logic section 200 adds comparability test features for effectuating a test in response to a condition.
  • The maskable [0216] comparator logic section 200 comprises XOR gate 202 and a NAND 204. The XOR gate 202 has two inputs: a first input connected to the DIN and ODI inputs to the test cell 12 and a second input connected to an expected data (EXPD) signal. The NAND 204 also has two inputs: one input connected to the output of the XOR gate 202 and a second input connected to a compare mask (CMPMSK) signal. The output of the NAND gate 204 provides a compare output (CMPOUT) signal.
  • The [0217] maskable comparator logic 200 provides a means to compare logic level appearing at the DIN input of the test cell 12 against a predetermined logic level appearing at the EXPD input. If the logic level on the DIN input and the EXPD input match, the output of the exclusive OR gate will driven low. If the logic level on the DIN input and the EXPD input do not match, the output of the exclusive OR gate will be driven high. A low level output (match condition) from the exclusive OR gate will cause the NAND gate to output a high level via the CMPOUT output. The high level output (no match) from the exclusive OR gate 202 will cause the NAND gate 204 to output a low logic level via the CMPOUT output, unless the CMPMSK input to the NAND gate 204 is at a low level.
  • A high logic level on the CMPOUT output of the [0218] comparator logic section 200 indicates that the input or output boundary signal passing through this particular test cell is equal to an expected condition. By having similar test cells at every input and output signal of an integrated circuit, along with logic to detect the condition where all the CMPOUT signals from the various test cells are high, it is possible to detect the occurrence of an expected boundary condition over the entire range of an integrated circuit's inputs and outputs.
  • In some boundary compare applications, the condition of one or more of the integrated circuits inputs and/or outputs may be irrelevant. In these circumstances, the [0219] comparator logic 200 may be forced to mask off the compare operation and output a high level on the CMPOUT output regardless of the result of the compare operation. This capability allows for “Don't Care” comparison conditions to be set around the boundary of an integrated circuit design. The Don't Care condition is achieved by setting the CMPMSK of a particular test cell to a low logic level. All test cells having a low level applied to their CMPMSK input will output a high logic level from their CMPOUT output. By forcing the CMPOUT output high, the test cells with Don't Care conditions do not influence the overall result of a comparison taking place in other test cells at the boundary of an integrated circuit.
  • In some applications, the test cells may be required to provide Pseudo-Random Pattern Generation (PRPG) and/or Parallel Signature Analysis (PSA) capabilities a. the boundary of an integrated circuit to facilitate testing. In the PRPG mode, a series of serially interconnected test cells can be made to generate a pseudo-random output pattern sequence from the DOUT outputs. In the PSA mode, a series of serially interconnected test cells can be made to compress the data appearing at the DIN input into a “signature” for testing purposes. [0220]
  • A preferred implementation of a library cell capable of implementing PSA test logic is shown in FIG. 7. The inputs and output of the [0221] base test cell 12 comprises the signals described in connection with FIG. 2. Additionally, the PSA logic section 206 receives two input signals, Data Mask (DATMSK) and PSA Enable (PSAENA). The DATMSK and PSAENA inputs are extensions of the control bus.
  • The [0222] PSA logic section 206 comprises an Exclusive OR gate 208 and two NAND gates, 210 and 212. The NAND 210 is connected to the DATMSK signal and the DIN input signal. The NAND gate 212 is connected to the PSAENA signal and the SDI signal. The outputs of the NAND gate 210 and 212 are connected to the inputs of the Exclusive OR gate 208. The output the Exclusive OR gate is connected to the ODI input of the base test cell 12.
  • When the [0223] PSA logic section 206 is attached to the base cell 12, the normal connection of the ODI input to the DIN input is modified such that it is no longer a direct interconnect. However, the base function of capturing test data during a load operation via the ODI input is still valid, but addition rules set forth below and signal routing is required to accommodate the load operation via the PSA test logic. All other functions (idle, shift and toggle) and their required cell to cell interconnects remain the same.
  • To achieve the basic load operation, the DATMSK and PSAENA inputs to the [0224] logic section 206 are set to a high and low logic level, respectively. In this condition, the PSA logic section provides a routing path from the DIN input, through the NAND gate 210 and the Exclusive OR gate 208 to the ODI input of the base test cell 12. When the load operation is issued, the test cell 12 captures the logic level on the DIN input via the routing channel through the PSA logic section 206.
  • When a PSA operation is to be performed by the test cell, the MSKDAT and PSAENA inputs are both set to a high logic level and control is issued to the [0225] base test cell 12 to perform a load operation. With the MSKDAT and PSAENA inputs set in this manner, the PSA logic section 206 performs an Exclusive OR operation on the logic levels present on the DIN and SDI inputs, and outputs the result to the ODI input of the test cell 12. During the load operation, the test cell 12 samples the ODI input, storing the result of the Exclusive OR operation. The local Exclusive OR and load operation performed in each test cell 12, in combination with the required cell to cell interconnect for serial shifting (i.e., the SDI of one cell connected to the SDO of another) and polynomial feedback, forms the basis from which a boundary scan signature analysis structure can be implemented.
  • During a PSA operation, the [0226] PSA logic section 206 provides a means to mask off the effect of the DIN input on the Exclusive OR operation. The masking is achieved by setting the MSKDAT input low while leaving the PSAENA input high. When the MSKDAT input is set low, the PSA logic section 206 couples the SDI input to the ODI input of the test cell 12 and only the value of a preceding cell's SDO output is sampled and stored in the test cell 12. This capability allows masking out the signal attached to the DIN input of one or more of the test cells during a PSA operation at the boundary of an integrated circuit.
  • When a PRPG operation is to be performed by the test cell, control is issued to cause the [0227] test cell 12 to perform a shift operation from the SDI input to the SDO output.
  • During PRPG, data is shifted through a series of [0228] test cells 12 to produce a. pseudo random output pattern. The resulting pseudo random pattern generation output is determined by the length of the scan path and the polynomial feedback connections of the test cells 12 in the scan path. Also, the hold and DMX inputs to the test cell will be set high, allowing the generated test signal to be driven out of the test cell's DOUT output.
  • In applications using test cells with PRPG and/or PSA test features, it is beneficial to provide a Programmable Polynomial Tap to allow the adjusting the polynomial feedback connection between the [0229] test cells 12 to suite a particular group or range of test cells at the boundary of an integrated circuit. The advantages of including this feature are: (1) simplification of the implementation of test cells in an integrated circuit design, (2) elimination of the need to add external polynomial tap capability, and (3) improvement of the placement and signal routing of test cells in an integrated circuit layout, since all the required logic is resident within each test cell 12.
  • The preferred implementation of a test circuit comprising a [0230] base test cell 12, PSA logic section 206 and a Programmable Polynomial Tap 214 is shown in FIG. 8. The inputs and outputs to the test cell 12 and the PSA logic section are the same as shown in FIG. 7. The Programmable Polynomial Tap logic section 214 requires two additional input signals, Polynomial Tap Enable (PTENA) and Feedback Input (FBI), and one additional output signal, Feedback Output (FBO). The PTENA signal is an extension of the control bus. The FBI and FBO signals provide the interconnect between test circuits for implementing the polynomial feedback network, required for the PRPG and/or PSA test operations. The Programmable Polynomial Tap logic section comprises an Exclusive NOR gate 216 and a NAND gate 218. The NAND gate receives the SDO output of the associated test cell 12 and the PTENA signal as input. The Exclusive NOR gate 216 receives the output of the NAND gate 218 and the FBI signal. The output the Exclusive NOR gate 216 is the FBO signal.
  • A key capability required to perform PRPG or PSA is to provide a feedback network which is based on the Exclusive OR of the logic state in all or a selected group of test circuits in scan path. The result of this feedback network is input to the first test circuit in the scan path to close the feedback loop. In FIG. 8, the combination of the [0231] NAND 218 and Exclusive NOR gate 216 provide the capability to include or exclude the logic state of the particular test circuit in the feedback network.
  • Test circuits having similar Programmable Polynomial Tap logic sections may be interconnected together as shown in FIG. 9[0232] a. Four test circuits 220 a-d having PRPG/PSA logic sections and Programmable Polynomial Tap logic sections are interconnected in the scan path from the primary serial data input (PSDI) to the Primary Serial Data Output (PSDO) signal. The Programmable Polynomial Tap logic of each test cell 220 a-d is interconnected in such a way that a trailing test circuit's FBO output signal supplies the input for a leading test circuit's FBI input. For example, the FBO of test circuit 220 c is connected to the FBI of test cell 220 b. The PTENA input for each test circuit 220 a-d is applied via the PTENA bus. A feedback select (FBSEL) input (an extension of the control bus 17) controls a multiplexer 222 at the input of the first test circuit 220 a which feeds the SDI input of the test circuit 220 a. The FBI input of the last test circuit 220 d is wired to a low logic level so that it have no effect on the Programmable polynomial Tap logic of the last test circuit 220 d.
  • During normal shift operations, serial data enters PSDI and flows through the test cells and out PSDO. When placed in the PRPG or PSA mode, the [0233] multiplexer 222 at the input of first test circuit 220 a selects the feedback result (FBR) signal to be connected to the SDI input of the first test circuit 220 a. The Programmable Polynomial Tap logic in the test circuits 220 a-d, in combination with the FBI and FBO wiring interconnects, forms the Exclusive OR feedback network required for PRPG and PSA operations. If the PTENA input of a test circuit is high, the logic state of test cell 12 of that test circuit 220 is included in the feedback network. If the PTENIA input to a test circuit is low, the logic state of the test cell 12 of that test circuit is not included in the feedback network.
  • In some application it may be necessary to partition a primary scan path, consisting of a series of [0234] test cells 12, each having PRPG/PSA and Programmable Polynomial logic, into sections. Each section of the primary scan path may be configured as shown in FIG. 9b to provide multiple localized PRPG/PSA test functions within the primary scan path. Each section of the scan path has a feedback connection as shown in FIG. 9a to allow selecting the appropriate test cells 12 in the scan path section to be included in the local feedback network. The Feedback Result (FBR) of each local feedback network is coupled up to the first test cell 12 in a scan path section, via a multiplexer.
  • The PSA test logic may also be included in the bidirectional test cell of FIG. 4. The inclusion of the PSA test logic provides the same benefits to bidirectional test cells as described in the unidirectional case. [0235]
  • A preferred implementation of a test circuit comprising a [0236] base test cell 12, bidirectional multiplexer logic and a PSA logic section 206 is shown in FIG. 10. The input and output signals required for this test circuit are the same as those used in connection with FIGS. 4 and 7. The only change required to create the bidirectional test circuit with PSA logic is to insert the PSA logic and make the following wiring connections: (1) connect the SELODI output of the second multiplexer 34 up to the input of PRPG/PSA NAND gate 210 shown connected to DIN in FIG. 7, (2) connect the SDI input attached to the test cell up to the input of PRPG/PSA NAND gate 212 as shown in FIG. 7, and (3) connect the output of PRPG/PSA exclusive OR gate 208 up to the ODI input of the test cell 12.
  • FIG. 11 illustrates a bidirectional test circuit having both a PRPG/[0237] PSA logic section 206 and a Polynomial Tap logic section 214. The circuit of FIG. 11 is identical to the circuit of FIG. 10 with the additional Polynomial Tap logic section 214 connected to test cell 12 as illustrated in connection with FIG. 8. Similarly, other combinations of library cells are available for the bidirectional test circuit, such as a bidirection test circuit including maskable compare logic or a bidirectional test circuit including maskable compare logic, PRPG/PSA logic and polynomial tap logic.
  • While the cell library of the present invention has been discussed in connection with the [0238] base test cell 12 of FIG. 2, the concept could be used with a base test cell 12 having another architecture. The library cells provide a integrated circuit designer with a range of bit slice testability cells that can be used to construct a variety of different integrated circuit test structures. The advantages of providing test solutions in the form of library cells are: (1) simplification of the implementation of test architectures in integrated circuit designs, (2) providing structured test methodologies that can be automated, (3) elimination of the need to construct ad-hoc test approaches for every new integrated circuit design, (4) improvement of placement and signal routing of test architectures, since all required test logic is resident within the test circuits and, (5) providing the customer with a basis from which desired testability features may be selected.
  • To facilitate-testing at the IC through system level, standard off-the-shelf components, such as registers, latches, buffers or transceivers, may be designed to include a test interface and a boundary scan path comprised of [0239] test cells 12. Implementing test circuitry into standard components for the purpose of simplifying test at higher levels of assembly provides a method of reducing the cost to test and maintain hardware systems.
  • Today, the testing of circuit boards and systems requires the use of expensive test equipment and mechanical probing techniques. In order to test a board residing in a system, it must be removed so that test access to test equipment is available. [0240]
  • Standard components with embedded test circuitry that is accessible via a serial test interface, simplifies testing. A board design which uses such parts can be tested while it remains in the system, via the serial test bus. Also such devices allow testing to be performed with simpler, less expensive test equipment. In addition, with state of the art board designs, it may not be physically possible to probe a circuit because of the component density. In this case testing may only be performed via the test circuitry embedded in the components. [0241]
  • FIG. 12 illustrates a situation where [0242] combinational logic 224 is being observed and controlled by test partitioning devices 226 and 228. The test partitioning devices 226 and 228 could be based on a number of well-known devices such as buffers, latches, registers or transceivers. For purposes of illustration, it is assumed that the partitioning devices 226 and 228 are 8-bit registers. The combinational logic may comprise any number of circuits without in-circuit testing ability.
  • The [0243] input test register 226 may observe the data which would otherwise be sent to the combinational logic, and may output data to control the combinational logic 224. The output test register 228 may observe the data output from the combinational logic 224 and may control the output to devices which would otherwise be connected to the output of the combinational logic 224. Serial data is received by the input test register 226 which outputs serial data to the output test register 228. By observing inputs and controlling outputs, the test register 226 and 228 may test the combinational logic 224 in much the same way as previously described in connection with FIG. 1.
  • FIG. 13 illustrates an embodiment of a [0244] test device 226. Data inputs D0-7 are input to the test device 226 through input buffer 230. The output of input buffer 230 is connected the an input test circuit register (input TCR) 232. The output of the test circuit register 232 is connected to a register 234. The output of the register 234 is connected to an output test circuit register (output TCR) 236. The output of the output TCR 236 is connected to an output buffer 238, which provides the output data signals Q0-7. Test cells 240 and 242 receive control signals from outside the device. In this case, test cell 242 receives a clock input (CLK) and test cell 240 receives a control input (OC). The output of test cell 240 is connected to the output buffer 238 for tri-state operation. The output of test cell 242 is connected to the clock input of register 234. The SDI signal from outside the test device 236 is received by the test cell 24.0, a scan bypass register 244 and an instruction register 246. A scan data path exists through the test cell 240, test cell 242, the input TCR 232 and the output TCR 236. Serial data output of the output TCR 236 is connected to a multiplexer 248 along with the output of the scan bypass 244. The multiplexer 248 receives a scan path select signal from the instruction register 246. The output of the multiplexer 248 is connected to a multiplexer 250 along with an output from the instruction register 246. The multiplexer 250 also receives a select signal from a test port 252. The test port receives MODE and clock (CLK) signals from outside the test device 226 and outputs scan and test control signals. The instruction register 246 also outputs test, control signals to the test cells 240 and 242 and TCRs 232 and 236.
  • It should be noted that the control signals (CLK and OC) input to the test register are exemplary, and other signals may be used for a specific application. For example, a clear signal or an enable signal could be connected through a test cell to a suitably designed register. Also, the register could be replaced by appropriate circuitry to implement a latch, buffer, transceiver or other device. Also, the number of control and data I/O signals may change depending on the implementation of the device. [0245]
  • The scan structure of the [0246] test device 226 comprises a boundary scan path (through the test cells 240 and 242 and TCRs 232 and 236), a scan bypass path and an instruction scan path. A scan access protocol issued via the MODE and SCK inputs allows serial data to be scanned into either the boundary or bypass scan path, or the instruction register. The selection between the boundary or bypass scan path is determined by the current instruction residing in the instruction register, via the scan path select output to multiplexer 248.
  • The [0247] TCRs 232 and 236 comprise a plurality of test circuits based on the test cell 12, as discussed previously. Typically, the TCRs 232 and 236 will be formed from a plurality of test circuits with PRPG/PSA and/or programmable polynomial tap logic sections. The test cells 240 and 242 are typically base test cells 12 without additional circuitry. The control circuitry to the test cells 240 and 242 and TCRs 232 and 236 is not shown; however, a control bus would be connected to each cell for serial data shifting and test circuit control.
  • Test instructions may be scanned into the [0248] instruction register 246 to cause the boundary scan logic to perform a test operation. If a test is not being performed, a normal operation instruction is scanned into the instruction register 246. During a normal operation instruction, the boundary scan logic allows normal I/O and control signals to flow freely through the boundary scan logic.
  • A “boundary scan instruction” may be installed in the instruction register to allow the boundary scan path (through the [0249] TCRs 232 and 236 and the test cells 240 and 242) to take control of the internal I/O signals. This control is accomplished by setting the DMX input of the boundary scan cells to a high logic level. In this mode, external control can be issued by the MODE and SCK input to cause the boundary scan path to capture the logic level on the DIN inputs of the test cells 240 and 242 and TCRs 232 and 236. During the capture operation, the test cells 240 and 242 and input TCR 232 capture the state of the external data outputs (D0-7) and control inputs. Also during the capture operation, the output TCR 236 captures the state of the internal logic 234. After the data has been captured, additional external control is input via MODE and SCK inputs to cause the boundary scan path to shift out the captured data for inspection via the SDO pin.
  • While the captured data is shifted out, a test control pattern is shifted into the boundary scan path via the SDI input. During the capture and shift operation, the DOUTs will remain in their present state because the HOLD input thereto will be set low. If not held constant, the ripple effect at the output could upset external logic attached to the outputs of the device. [0250]
  • When the shifting in and out of the boundary scan path is complete, additional external control is input via the MODE and SCK inputs to cause the previously installed control pattern to be applied from the [0251] latches 26 of the various test cells and TCRs 240, 242, 232 and 236. The process of capturing the boundary scan path inputs, followed by shifting out. the captured data for inspection while shifting in the next test control pattern to be applied from the boundary scan path outputs is repeated until the desired level of testing is complete. In this way, the interior logic and external wiring interconnects and/or a neighboring ICs may be simultaneously tested.
  • A “boundary data sample instruction” may be installed in the [0252] instruction register 242. The boundary data sample instruction allows data and control to pass freely through the boundary scan path while the SCK and MODE inputs cause the boundary scan path to capture the logic state existing at their inputs. Once the boundary data has been captured, additional external control is issued via the SCK and MODE inputs to cause the boundary scan path to shift out the captured data for inspection via the SDO pin.
  • A “control outputs to high impedance state instruction” allows the output buffers (Q[0253] 0-7) to be placed in a high impedance state. Although the outputs are in a high impedance state, the inputs remain functional and data and control inputs still affect the internal logic 234. During this instruction, the scan bypass register (a single flip-flop) is coupled to the SDI and SDO pins, to form a single bit scan path through the test device during data register scan operations.
  • The benefit of this instruction is to place the outputs in a tristate condition, which allows an external test probe to be applied to control the outputs to a [0254] logic 1 or 0. Also, the abbreviated data scan path through the scan bypass flip-flop allows reducing the internal scan path length to a single bit.
  • A “control boundary outputs to a [0255] logic 1 or 0 instruction” allows the boundary scan path to take control of the I/O signals in order to apply a prescanned test control pattern from the outputs of the test cells 240 and 242 and TCRs 232 and 236. Prior to performing this test instruction, the boundary scan path will have been scanned to install the test control output pattern to be applied by the instruction. During this instruction, the scan bypass register is coupled to the SDI and SDO pins in order to form a single bit scan path through the test device during data register scan operations.
  • The benefit of this instruction is to allow the test device to output a particular pattern while testing is being performed on other devices connected to the test device output, such as the [0256] combinational logic 224. Also, the abbreviated data scan path through the scan bypass flip-flop during instruction allows the internal scan path length to be reduce to a single bit.
  • The input and [0257] output TCRs 232 and 236 may be instructed to operate synchronously with the external applied SCK input to provide additional testing capabilities. The benefit of these test operations is that no scanning is required during the test operation, thus reducing the test time significantly.
  • The PSA operation is discussed in detail in connection with FIG. 7. The [0258] input TCR 232 may perform the PSA operation either by itself or in conjunction with the output TCR 236. A circuit showing the input and output TCRs 232 and 236 used in conjunction to provide a 16-bit wide signature (assuming 8-bit TCRs) is illustrated in FIG. 14. Data appearing at the data input is summed with the present state of the input TCR 232 and is clocked into the input TCR 232 by the PSA/PRPG test clock signal output from the AND gate 253. During a PSA operation, the input TCR 232 is placed in the load mode and the output TCR 236 is placed in a shift mode and acts as an 8-bit shift register extension to the input TCR 232. By combining the input TCR 232 with the output TCR 236, a 16-bit wide signature of the 8-bit data input bus is available. Using a 16-bit PSA circuit, the number of input data patterns that can be compressed into the input TCR 232 is increased from 255 to 65,535. During PSA operations, the data output (Q0-7) from the output TCR 236 is fixed to a predetermined pattern, so that the rippling data during PSA is not propagated out to the combinational logic 224.
  • The clocking for PSA comes from a gating circuit shown in FIG. 14. When the PSA instruction is installed and the external control has placed the [0259] test port 252 in an idle state, the gating signals are adjusted to allow the AND gate 253 to pass the SCK input to the TCRs 232 and 236. The instruction register 246 outputs a test clock enable signal when the instruction is installed. The test port 252 outputs a sync signal when it enters a non-scanning idle state. When both enable signals are set high, the external SCK is gated through the AND gate 252 to produce the PSA/PRPG test clock.
  • At the end of a PSA instruction, the external control (SCK and MODE) will cause the [0260] test port 252 to inhibit the PSA/PRPG test clock and a new instruction will be scanned into the instruction register 246. After the scan path is set back to its normal configuration, the signature stored in the TCRs 232 and 236 can be scanned out for inspection via a boundary scan read instruction, explained hereinbelow.
  • Similarly, a PRPG instruction may be installed in the [0261] instruction register 246 to provide output pattern generation. Once again, the TCRs 232 and 236 may be combined to provide a 16-bit wide pattern generation capable extending the number of 8-bit output patterns. The 16-bit configuration is similar to that shown in FIG. 14. During a PRPG operation, both TCRs are placed in a shift mode. The pattern generation is output from the output TCR 236. Clocking for PRPG is identical to that described in the PSA instruction. Similarly, a new instruction will be scanned into the instruction register at the end of a PRPG operation to reset the test clock enable bit and re-configure the boundary scan path to its normal routing path.
  • As shown in connection with FIG. 15, PSA and PRPG may be run simultaneously. In this configuration, the input and [0262] output TCRs 232 and 236 are not combined, but rather fed back into themselves. Local multiplexers 254 and 256 provide the required feedback connections to the TCRs 232 and 236 respectively. Since the TCRs cannot be linked together in this configuration, the PSA and PRPG operations are limited to 8-bits. The clocking for the PSA and PRPG operations is identical to that described in connection with the PSA instruction.
  • Similar in configuration to the simultaneous PSA and PRPG instruction in FIG. 15, a simultaneous PSA and binary count up pattern output instruction may also be performed. During this instruction, the [0263] input TCR 232 performs PSA and the output TCR 236 outputs a binary count up pattern. The clocking for the PSA and binary count up pattern operations is identical to that described in connection with the PSA instruction. The binary count up pattern is useful in providing binary address patterns during memory testing. During this instruction a memory device's address may be stimulated by the count up pattern from a TCR 236 of one test register while its data output is compressed by a TCR 232 of another test register. A similar test application would be performed by a PSA and PRPG instruction.
  • In FIG. 16 the [0264] test cells 12 of TCR 236 are shown attached to a Count. Enable Logic section 258 to allow a binary count up pattern to be output from TCR 236. The count enable logic 258 comprises a plurality of AND gates 260. Each AND gate 260 receives the output of the previous AND gate as one input and the DOUT signal from an associated test cell 12 as the other input. The first AND gate 260 receives the DOUT signal from the first two test cells 12. The output of each AND gate 260 is connected to one A select part of the next test cell 12. In this arrangement, the least significant test cell 12 in TCR 236 is set to Toggle Mode (AB=01) and leading test cells 12 are set to. operate either in Toggle Mode or Idle Mode (AB=11), depending on the logic level output from the Count Enable Logic to the A inputs of each test cell 12. A test cell 12 will toggle when a PSA/PRPG test clock is applied if all trailing test cells are set to a high logic level. A test cell 12 will remain in its present state (Idle) when a PSA/PRPG test clock is applied if any trailing test cell is set to a low logic level.
  • Other functions previously described in connection with the [0265] test cell 12 may be performed by the testing device. The testing device may be made to perform a toggle operation wherein data installed in the output TCR 236 during a prior scan operation can be made to toggle between the true output pattern and its compliment output pattern during each PSA/PRPG test clock cycle. The toggle capability is useful during the testing of the device's output buffers and at the board level as a simple test pattern generator. The clocking for the toggle operation is identical to that described in the PSA instruction.
  • The boundary scan path can also be read to determine the contents thereof. The testing device remains in a normal operating mode during this operation. This instruction differs from the boundary scan and boundary data sample instructions in that the capture operation is not performed. The boundary read instruction may be used to extract the results of a PSA operation. [0266]
  • Although the present invention has been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. [0267]

Claims (44)

What is claimed is:
1. A boundary scan test cell for use in conjunction with an integrated circuit containing application logic circuitry comprising:
a first memory for storing serial data and transmitting said serial data to other test cells; and
a second memory connected to said first memory for storing output data.
2. The test cell of claim 1 and further comprising circuitry connecting said second memory to the application logic.
3. The test cell of claim 1 and further comprising circuitry to connect the output of said second memory to the input of the first memory.
4. The test cell of claim 1 and further comprising hold circuitry to maintain the output of said second memory at a given state.
5. The test cell of claim 1 and further comprising toggle circuitry to alternate the output of said second memory between first and second logic levels.
6. The test cell of claim 1 wherein the output of said first memory is connected to the input of said second memory such that said second memory can be loaded with a predetermined logic value.
7. The test cell of claim 1 and further comprising circuitry to connect said first memory to an input of the integrated circuit.
8. The test cell of claim 1 and further comprising circuitry to connect said second memory to an output of the integrated circuit.
9. A boundary scan test cell comprising:
a first memory;
a first multiplexer for connecting one of a plurality of inputs to said first memory responsive to a first control signal;
a second memory connected to the output of said first memory; and
a second multiplexer for selecting an output from one of a set of inputs to the second multiplexer including the output of said second memory responsive to a second control signal.
10. The test cell of claim 9 wherein said first memory comprises a D-type flip-flop.
11. The test cell of claim 10 and further comprising clock circuitry for producing a clock signal connected to said D-type flip-flop, such that the output of said first multiplexer is stored in said first memory at each clock pulse.
12. The test cell of claim 9 wherein said second memory comprises a D-type latch.
13. The test cell of claim 12 and further comprising control circuitry connected to said latch for producing a hold signal responsive to which said latch stores data output from said first memory.
14. The test cell of claim 9 wherein said second memory includes inverted and non-inverted outputs, said inverted output connected as one of said inputs to said first multiplexer, such that a toggled output may be produced by the test cell.
15. The test cell of claim 9 wherein the output of said first memory is connected as one of said inputs to first multiplexer.
16. An integrated circuit having boundary scan testing, comprising:
application logic circuitry having one or more inputs and one or more outputs;
one or more data inputs for receiving data into the integrated circuit;
one or more data outputs for outputing data from the integrated circuit;
a test data input for receiving test data into the integrated circuit;
one or more input test cells connected between respective data inputs and said application logic circuitry, said input test cells comprising:
a first memory for storing serial data; and
a second memory connected to said first memory for storing output data.
17. The integrated circuit of claim 16 and further comprising:
one or more output test cells connected between said application logic and respective data outputs, said output test cells comprising:
a third memory for storing information;
a fourth memory for storing information output from said third memory;
a third multiplexer selectively connecting one of a plurality of inputs thereto to said third memory, one of said plurality of inputs being connected to said test data input; and
a fourth multiplexer for selectively connecting one of a plurality inputs thereto to said respective data output, the respective output from said application logic and the output of said fourth memory being input to said second multiplexer.
18. The integrated circuit of claim 16 and further comprising one or more output test cells connected between respective data outputs and said application logic circuit, said output test cells comprising:
a first memory for storing serial data; and
a second memory for storing output data.
19. The integrated circuit of claim 16 wherein said integrated circuit includes a plurality of input test cells and further comprising circuitry for serially connecting ones of said first memories of input cells.
20. The integrated circuit of claim 17 wherein said integrated circuit includes a plurality of output test cells and further comprising circuitry for serially connecting ones of said first memories of said output test cells.
21. The integrated circuit of claim 17 and further comprising circuitry for connecting the output of said first memory of one of said input test cells to the input of said first memory of one of said output cells.
22. The integrated circuit of claim 16 and further comprising circuitry for producing a binary counting function at the output of said second memories of ones of said input test cells.
23. The integrated circuit of claim 17 and further comprising circuitry for producing a binary counting function at the output of said second memories of ones of said output test cells.
24. A bidirectional test cell for use in an integrated circuit having an input/output pin for transferring data to and from application logic circuitry, comprising:
a memory for storing data; and
circuitry to selectively connect the input/output pin to the input of output of said memory responsive to a control signal indicating the desired input or output function.
25. The bidirectional test cell of claim 24 and further comprising circuitry connecting the output of said memory to the application logic in response to said control signal indicating an input function.
26. The bidirectional test cell of claim 24 and further comprising circuitry connecting the input of said memory to the application logic in response to said control signal indicating an output function.
27. The bidirectional test cell of claim 24 wherein said memory comprises a first memory, and further comprises a second memory connected to said first memory.
28. The bidirectional test cell of claim 24 wherein said circuitry to selectively connect comprises a tristate device connected between the output of said memory and said input/output pin.
29. The bidirectional test cell of claim 28 and further comprising a first multiplexer having an output connected to said buffer for selecting between said output of said memory and an input to said test cell.
30. The bidirectional test cell of claim 29 and further comprising a second multiplexer having an output connectable to said memory for selecting between said input to said test cell and an input from said input/output pill.
31. A method of observing and controlling information input to an output from an integrated circuit containing application logic circuitry comprising the steps of:
providing a plurality of test cells having first and second memories, one or more of said test cells connected between the input to the integrated circuit and the application logic and one or more of said test cells connected between the output of said integrated circuit and said application logic;
storing serial data in said first memory;
transmitting serial data between the first memories of the test cells; and
storing output data in said second memory.
32. The method of claim 31 and further comprising the step of transferring data from said first memories of the respective cells to the second. memories of said respective cells.
33. The method of claim 31 and further comprising the step of transferring data stored in said second memories to the respective test cells to the first memories of said respective test cells.
34. The method of claim 31 and further comprising the step of maintaining the output of said second memory at a given state responsive to a control signal.
35. The method of claim 31 and further comprising the step of toggling the output of said second memory between first and second logic levels.
36. The method of claim 31 and further comprising the step of loading said second memories of the test cells with predetermined logic values.
37. A method of observing data input to a test cell and controlling data output from the test cell comprising the steps of:
selectively connecting one of a plurality of inputs to a first memory responsive to a first control signal;
transferring data from said first memory to said second memory; and
selectively outputting the data stored in said second memory.
38. A method of testing a logic section on an integrated circuit comprising the steps of:
observing inputs to the logic section; and
simultaneously controlling the output to the logic section.
39. The method of claim 38 wherein said step of observing inputs comprises the step of selectively storing one of a plurality of inputs in a first memory.
40. The method of claim 39 wherein said step of simultaneously controlling the output comprises the step of selectively outputting an input to the logic section of the output of a second memory.
41. The method of claim 40 and further comprising the step of transferring data from said first memory to said second memory.
42. The method of claim 38 wherein said step of simultaneously controlling the output comprises the step of outputting a stream of alternating logic values to the logic section.
43. The method of claim 38 wherein said step of simultaneously controlling the output comprises outputting a predetermined value to the logic section.
44. The method of claim 38 wherein said step of simultaneously controlling the output comprises the step of outputting a counting sequence to the logic section.
US10/331,494 1988-09-07 2002-12-30 IC test cell with memory output connected to input multiplexer Abandoned US20030101397A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/331,494 US20030101397A1 (en) 1988-09-07 2002-12-30 IC test cell with memory output connected to input multiplexer

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US24152088A 1988-09-07 1988-09-07
US60912490A 1990-11-01 1990-11-01
US87669492A 1992-04-28 1992-04-28
US97052992A 1992-11-02 1992-11-02
US8702093A 1993-07-06 1993-07-06
US18648694A 1994-01-25 1994-01-25
US27138494A 1994-07-06 1994-07-06
US08/476,003 US5631911A (en) 1988-09-07 1995-06-07 Integrated test circuit
US08/826,310 US6081916A (en) 1988-09-07 1997-03-25 IC with test cells having separate data and test paths
US09/521,320 US6304987B1 (en) 1995-06-07 2000-03-09 Integrated test circuit
US09/898,249 US6611934B2 (en) 1988-09-07 2001-07-03 Boundary scan test cell circuit
US10/331,494 US20030101397A1 (en) 1988-09-07 2002-12-30 IC test cell with memory output connected to input multiplexer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/898,249 Division US6611934B2 (en) 1988-09-07 2001-07-03 Boundary scan test cell circuit

Publications (1)

Publication Number Publication Date
US20030101397A1 true US20030101397A1 (en) 2003-05-29

Family

ID=27045027

Family Applications (8)

Application Number Title Priority Date Filing Date
US09/521,320 Expired - Fee Related US6304987B1 (en) 1988-09-07 2000-03-09 Integrated test circuit
US09/898,249 Expired - Fee Related US6611934B2 (en) 1988-09-07 2001-07-03 Boundary scan test cell circuit
US10/280,980 Expired - Fee Related US6813738B2 (en) 1988-09-07 2002-10-25 IC test cell with memory output connected to input multiplexer
US10/331,494 Abandoned US20030101397A1 (en) 1988-09-07 2002-12-30 IC test cell with memory output connected to input multiplexer
US10/819,364 Expired - Fee Related US6898544B2 (en) 1988-09-07 2004-04-06 Instruction register and access port gated clock for scan cells
US10/819,336 Abandoned US20040193983A1 (en) 1988-09-07 2004-04-06 IC scan means changing output signals synchronous with clock signal
US10/818,566 Abandoned US20040199839A1 (en) 1988-09-07 2004-04-06 Changing scan cell output signal states with a clock signal
US11/103,780 Abandoned US20050278133A1 (en) 1988-09-07 2005-04-11 Integrated test circuit

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US09/521,320 Expired - Fee Related US6304987B1 (en) 1988-09-07 2000-03-09 Integrated test circuit
US09/898,249 Expired - Fee Related US6611934B2 (en) 1988-09-07 2001-07-03 Boundary scan test cell circuit
US10/280,980 Expired - Fee Related US6813738B2 (en) 1988-09-07 2002-10-25 IC test cell with memory output connected to input multiplexer

Family Applications After (4)

Application Number Title Priority Date Filing Date
US10/819,364 Expired - Fee Related US6898544B2 (en) 1988-09-07 2004-04-06 Instruction register and access port gated clock for scan cells
US10/819,336 Abandoned US20040193983A1 (en) 1988-09-07 2004-04-06 IC scan means changing output signals synchronous with clock signal
US10/818,566 Abandoned US20040199839A1 (en) 1988-09-07 2004-04-06 Changing scan cell output signal states with a clock signal
US11/103,780 Abandoned US20050278133A1 (en) 1988-09-07 2005-04-11 Integrated test circuit

Country Status (1)

Country Link
US (8) US6304987B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080143339A1 (en) * 2006-12-19 2008-06-19 Canon Kabushiki Kaisha Electronic apparatus and control method thereof
US20080255780A1 (en) * 2005-10-24 2008-10-16 Nxp B.V. Ic Testing Methods and Apparatus
US20080265906A1 (en) * 2005-10-24 2008-10-30 Nxp B.V. Ic Testing Methods and Apparatus
US20080288842A1 (en) * 2005-11-02 2008-11-20 Nxp B.V. Ic Testing Methods and Apparatus
US20100100780A1 (en) * 2002-06-10 2010-04-22 Texas Instruments Incorporated High speed interconnect circuit test method and apparatus
US7870449B2 (en) * 2005-10-24 2011-01-11 Nxp B.V. IC testing methods and apparatus
US20110053296A1 (en) * 2009-08-25 2011-03-03 Samsung Mobile Display Co., Ltd. Thin film deposition apparatus and method of manufacturing organic light-emitting display device by using the same

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308629B2 (en) * 2004-12-07 2007-12-11 Texas Instruments Incorporated Addressable tap domain selection circuit with TDI/TDO external terminal
JP2001255356A (en) * 2000-03-08 2001-09-21 Matsushita Electric Ind Co Ltd Test-pattern generation method and test method for semiconductor integrated circuit
US6717429B2 (en) * 2000-06-30 2004-04-06 Texas Instruments Incorporated IC having comparator inputs connected to core circuitry and output pad
JP4748337B2 (en) * 2000-09-26 2011-08-17 大日本印刷株式会社 Design circuit pattern for semiconductor circuit test
US6694463B2 (en) * 2001-01-16 2004-02-17 Atmel Corporation Input/output continuity test mode circuit
US20020194565A1 (en) * 2001-06-18 2002-12-19 Karim Arabi Simultaneous built-in self-testing of multiple identical blocks of integrated circuitry
DE10132159B4 (en) * 2001-07-03 2004-03-11 Infineon Technologies Ag Method and device for testing a plurality of integrated circuits simultaneously
JP3955196B2 (en) * 2001-09-05 2007-08-08 富士通株式会社 Test circuit and semiconductor integrated circuit device
JP3863400B2 (en) 2001-09-28 2006-12-27 株式会社東芝 Semiconductor integrated circuit
US6880118B2 (en) * 2001-10-25 2005-04-12 Sun Microsystems, Inc. System and method for testing operational transmissions of an integrated circuit
TW581872B (en) * 2002-01-17 2004-04-01 Via Tech Inc Scan cell circuit and scan chain consisting of same for test purpose
US20030217320A1 (en) * 2002-05-20 2003-11-20 Gorshe Steven Scott Cyclic redundancy check circuit for use with self-synchronous scramblers
US7219281B2 (en) * 2002-07-29 2007-05-15 Stmicroelectronics Pvt. Ltd. Boundary scan of integrated circuits
TWI223096B (en) * 2002-10-08 2004-11-01 Leadtek Research Inc Test board for testing semiconductor device
US7424417B2 (en) * 2002-11-19 2008-09-09 Broadcom Corporation System and method for clock domain grouping using data path relationships
US7149942B2 (en) * 2002-12-16 2006-12-12 Renesas Technology Corp. Semiconductor integrated circuit with test circuit
JP2004301661A (en) * 2003-03-31 2004-10-28 Hitachi Ltd Semiconductor integrated circuit
US7251377B2 (en) * 2003-04-29 2007-07-31 Synopsys, Inc. Cell library that can automatically avoid forbidden pitches
DE10321467A1 (en) * 2003-05-13 2004-12-09 Infineon Technologies Ag Test method for characterization of the output circuits of high-speed memory module in which the inputs to the output circuit are temporarily disconnected from their memory cells and instead connected to a test data source
KR100536603B1 (en) 2003-07-10 2005-12-14 삼성전자주식회사 Charge pump circuit having select mode
US6979996B2 (en) * 2003-09-15 2005-12-27 International Business Machines Corporation Apparatus and method for automatic elimination of round-trip delay errors induced by automatic test equipment calibration
EP1718981B1 (en) 2004-02-19 2008-10-08 Nxp B.V. An electronic stream processing circuit with test access
US7500165B2 (en) 2004-10-06 2009-03-03 Broadcom Corporation Systems and methods for controlling clock signals during scan testing integrated circuits
US7353470B2 (en) * 2005-02-14 2008-04-01 On-Chip Technologies, Inc. Variable clocked scan test improvements
US7324363B2 (en) * 2005-12-12 2008-01-29 Synopsys, Inc. SPICE optimized for arrays
US7861128B1 (en) * 2006-12-14 2010-12-28 Xilinx, Inc. Scan element with self scan-mode toggle
US7685484B2 (en) * 2007-11-14 2010-03-23 International Business Machines Corporation Methods for the support of JTAG for source synchronous interfaces
US8073996B2 (en) * 2008-01-09 2011-12-06 Synopsys, Inc. Programmable modular circuit for testing and controlling a system-on-a-chip integrated circuit, and applications thereof
JP4977045B2 (en) * 2008-01-16 2012-07-18 株式会社東芝 Semiconductor integrated circuit and semiconductor device
US7908535B2 (en) * 2009-06-30 2011-03-15 Texas Instruments Incorporated Scan testable register file
JP2011149775A (en) * 2010-01-20 2011-08-04 Renesas Electronics Corp Semiconductor integrated circuit and core test circuit
US20120137187A1 (en) * 2010-11-28 2012-05-31 Freescale Semiconductor, Inc System and method for scan testing integrated circuits
US8471592B1 (en) * 2011-12-13 2013-06-25 Texas Instruments Incorporated Recursive code logic
US9520880B2 (en) * 2014-01-31 2016-12-13 Texas Instruments Deutschland Gmbh Configurable analog front ends for circuits with substantially gate enclosed inner electrode MOSFET switch
US9599673B2 (en) 2014-10-15 2017-03-21 Freescale Semiconductor, Inc. Structural testing of integrated circuits
TWI588503B (en) * 2016-12-23 2017-06-21 英業達股份有限公司 Testing circuit board with self-detection function and self-detection method thereof
US11073553B2 (en) * 2017-12-29 2021-07-27 Texas Instruments Incorporated Dynamic generation of ATPG mode signals for testing multipath memory circuit
US11749368B2 (en) * 2019-12-27 2023-09-05 Intel Corporation Quick configurable universal register for a configurable integrated circuit die
KR20210123768A (en) 2020-04-06 2021-10-14 에스케이하이닉스 주식회사 Memory apparatus having a structure coupling a pad and a circuit
IT202100008840A1 (en) * 2021-04-08 2022-10-08 St Microelectronics Srl ELECTRONIC DEVICE INCLUDING A MEMORY ACCESSIBLE THROUGH A JTAG INTERFACE, AND CORRESPONDING PROCEDURE FOR ACCESSING A MEMORY
US20220415728A1 (en) * 2021-06-25 2022-12-29 Ic Analytica, Llc Apparatus and method for probing multiple test circuits in wafer scribe lines

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4404663A (en) * 1980-03-06 1983-09-13 Tokyo Shibaura Denki Kabushiki Kaisha Integrated circuit
US5306967A (en) * 1992-05-29 1994-04-26 Integrated Device Technology, Inc. Apparatus for improving signal transmission along parallel lines
US5362996A (en) * 1992-06-10 1994-11-08 Intel Corporation Staggered output circuit for noise reduction
US5994946A (en) * 1996-10-31 1999-11-30 Metaflow Technologies, Inc. Alternating inverters for capacitive coupling reduction in transmission lines
US6008705A (en) * 1998-02-26 1999-12-28 International Business Machines Corporation Crosstalk suppression in wide, high-speed buses
US20010046205A1 (en) * 1994-09-30 2001-11-29 Easton Kenneth D. Multipath search processor for a spread spectrum multiple access communication system
US6414542B2 (en) * 1999-03-17 2002-07-02 Koninklijke Philips Electronics N.V. Integrated circuit with relative sense inversion of signals along adjacent parallel signal paths
US6570931B1 (en) * 1999-12-31 2003-05-27 Intel Corporation Switched voltage adaptive slew rate control and spectrum shaping transmitter for high speed digital transmission
US20030108109A1 (en) * 2001-12-10 2003-06-12 Khieu Cong Q. Routing miller factor cancelling technique
US20050094709A1 (en) * 2001-12-06 2005-05-05 Ismail Lakkis Ultra-wideband communication apparatus and methods

Family Cites Families (169)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1951861A1 (en) * 1968-10-17 1970-08-06 Gen Electric Information Syste Method and arrangement for automatic checking of cards with printed circuits
US3633100A (en) * 1970-05-12 1972-01-04 Ibm Testing of nonlinear circuits by comparison with a reference simulation with means to eliminate errors caused by critical race conditions
US3651315A (en) * 1970-05-14 1972-03-21 Collins Radio Co Digital products inspection system
US3824678A (en) 1970-08-31 1974-07-23 North American Rockwell Process for laser scribing beam lead semiconductor wafers
US3838264A (en) 1970-11-25 1974-09-24 P Maker Apparatus for, and method of, checking the contents of a computer store
US3739193A (en) 1971-01-11 1973-06-12 Rca Corp Logic circuit
US3723868A (en) * 1972-01-21 1973-03-27 Gen Dynamics Corp System for testing electronic apparatus
US3789359A (en) 1972-10-04 1974-01-29 Harris Intertype Corp Synchronism indicator for a convolutional decoder
US3831149A (en) 1973-02-14 1974-08-20 Burroughs Corp Data monitoring apparatus including a plurality of presettable control elements for monitoring preselected signal combinations and other conditions
US3826909A (en) * 1973-03-29 1974-07-30 Ncr Dynamic comparison tester for go-no-go testing of digital circuit packages in normal environment
US3873818A (en) 1973-10-29 1975-03-25 Ibm Electronic tester for testing devices having a high circuit density
US3976940A (en) 1975-02-25 1976-08-24 Fairchild Camera And Instrument Corporation Testing circuit
US4023142A (en) 1975-04-14 1977-05-10 International Business Machines Corporation Common diagnostic bus for computer systems to enable testing concurrently with normal system operation
US4086375A (en) 1975-11-07 1978-04-25 Rockwell International Corporation Batch process providing beam leads for microelectronic devices having metallized contact pads
US4092733A (en) 1976-05-07 1978-05-30 Mcdonnell Douglas Corporation Electrically alterable interconnection
US4066882A (en) 1976-08-16 1978-01-03 Grumman Aerospace Corporation Digital stimulus generating and response measuring means
USRE31056E (en) 1977-03-23 1982-10-12 Fairchild Camera & Instrument Corp. Computer controlled high-speed circuit for testing electronic devices
US4108359A (en) 1977-03-30 1978-08-22 The United States Of America As Represented By The Secretary Of The Army Apparatus for verifying the execution of a sequence of coded instructions
US4161276A (en) 1978-03-01 1979-07-17 Ncr Corporation Complex logical fault detection apparatus and method
US4146835A (en) 1978-03-08 1979-03-27 Western Electric Co., Inc. Testing the differential response times of a plurality of circuits
US4286173A (en) 1978-03-27 1981-08-25 Hitachi, Ltd. Logical circuit having bypass circuit
US4216539A (en) 1978-05-05 1980-08-05 Zehntel, Inc. In-circuit digital tester
US4242751A (en) 1978-08-28 1980-12-30 Genrad, Inc. Automatic fault-probing method and apparatus for checking electrical circuits and the like
JPS5534817A (en) 1978-08-31 1980-03-11 Tokyo Electric Power Co Converter
US4268902A (en) * 1978-10-23 1981-05-19 International Business Machines Corporation Maintenance interface for a service processor-central processing unit computer system
DE2905271A1 (en) 1979-02-12 1980-08-21 Philips Patentverwaltung INTEGRATED CIRCUIT ARRANGEMENT IN MOS TECHNOLOGY WITH FIELD EFFECT TRANSISTORS
US4264807A (en) 1979-04-09 1981-04-28 International Business Machines Corporation Counter including two 2 bit counter segments connected in cascade each counting in Gray code
US4308616A (en) 1979-05-29 1981-12-29 Timoc Constantin C Structure for physical fault simulation of digital logic
JPS5618766A (en) 1979-07-26 1981-02-21 Fujitsu Ltd Testing apparatus for logic circuit
US4312066A (en) * 1979-12-28 1982-01-19 International Business Machines Corporation Diagnostic/debug machine architecture
JPS5698051A (en) 1980-01-07 1981-08-07 Hitachi Ltd Signal transmitting device of lsi component
GB2070300B (en) 1980-02-27 1984-01-25 Racal Automation Ltd Electrical testing apparatus and methods
US4390969A (en) 1980-04-21 1983-06-28 Burroughs Corporation Asynchronous data transmission system with state variable memory and handshaking protocol circuits
US4426697A (en) 1980-06-26 1984-01-17 Diehl Gmbh & Co. Bus system with address and status conductors
CA1163721A (en) 1980-08-18 1984-03-13 Milan Slamka Apparatus for the dynamic in-circuit testing of electronic digital circuit elements
US4357703A (en) 1980-10-09 1982-11-02 Control Data Corporation Test system for LSI circuits resident on LSI chips
JPS5794857A (en) 1980-12-05 1982-06-12 Nec Corp Logic device
US4439858A (en) 1981-05-28 1984-03-27 Zehntel, Inc. Digital in-circuit tester
US4504784A (en) 1981-07-02 1985-03-12 International Business Machines Corporation Method of electrically testing a packaging structure having N interconnected integrated circuit chips
US4494066A (en) 1981-07-02 1985-01-15 International Business Machines Corporation Method of electrically testing a packaging structure having n interconnected integrated circuit chips
US4441075A (en) * 1981-07-02 1984-04-03 International Business Machines Corporation Circuit arrangement which permits the testing of each individual chip and interchip connection in a high density packaging structure having a plurality of interconnected chips, without any physical disconnection
US4433413A (en) * 1981-10-22 1984-02-21 Siemens Corporation Built-in apparatus and method for testing a microprocessor system
US4442457A (en) * 1981-12-17 1984-04-10 Hughes Aircraft Company Charge coupled device focal zoom
US4483002A (en) 1982-04-19 1984-11-13 International Business Machines Corporation Digital device testing apparatus and method
JPS58191021A (en) 1982-04-30 1983-11-08 Fujitsu Ltd Fault detecting system of interface
US4498172A (en) 1982-07-26 1985-02-05 General Electric Company System for polynomial division self-testing of digital networks
US4514845A (en) 1982-08-23 1985-04-30 At&T Bell Laboratories Method and apparatus for bus fault location
US4493077A (en) 1982-09-09 1985-01-08 At&T Laboratories Scan testable integrated circuit
US4503536A (en) 1982-09-13 1985-03-05 General Dynamics Digital circuit unit testing system utilizing signature analysis
EP0104293B1 (en) 1982-09-28 1986-12-30 International Business Machines Corporation Device for loading and reading different chains of bistable circuits in a data processing system
US4519078A (en) 1982-09-29 1985-05-21 Storage Technology Corporation LSI self-test method
US4488259A (en) 1982-10-29 1984-12-11 Ibm Corporation On chip monitor
US4513418A (en) 1982-11-08 1985-04-23 International Business Machines Corporation Simultaneous self-testing system
US4513373A (en) 1982-12-28 1985-04-23 Electronic Data Systems Corporation Local area network
US4642561B1 (en) * 1983-06-13 1993-09-07 Hewlett-Packard Company Circuit tester having on-the-fly comparison of actual and expected signals on test pins and improved homing capability
US4587609A (en) 1983-07-01 1986-05-06 Honeywell Information Systems Inc. Lockout operation among asynchronous accessers of a shared computer system resource
US4575674A (en) 1983-07-01 1986-03-11 Motorola, Inc. Macrocell array having real time diagnostics
US4646299A (en) * 1983-08-01 1987-02-24 Fairchild Semiconductor Corporation Method and apparatus for applying and monitoring programmed test signals during automated testing of electronic circuits
US4627018A (en) 1983-09-08 1986-12-02 Sperry Corporation Priority requestor accelerator
US4618956A (en) 1983-09-29 1986-10-21 Tandem Computers Incorporated Method of operating enhanced alu test hardware
US4612499A (en) 1983-11-07 1986-09-16 Texas Instruments Incorporated Test input demultiplexing circuit
US4594711A (en) 1983-11-10 1986-06-10 Texas Instruments Incorporated Universal testing circuit and method
US4577318A (en) * 1983-11-14 1986-03-18 Burroughs Corporation Self testing detection system for comparing digital signal transition times
US4597080A (en) * 1983-11-14 1986-06-24 Texas Instruments Incorporated Architecture and method for testing VLSI processors
US4534028A (en) 1983-12-01 1985-08-06 Siemens Corporate Research & Support, Inc. Random testing using scan path technique
DE3373729D1 (en) 1983-12-08 1987-10-22 Ibm Deutschland Testing and diagnostic device for a digital calculator
DE3373730D1 (en) 1983-12-15 1987-10-22 Ibm Series-parallel/parallel-series device for variable bit length configuration
JPS60140834A (en) 1983-12-28 1985-07-25 Nec Corp Test circuit built-in type semiconductor integrated circuit
EP0146661B1 (en) * 1983-12-28 1988-03-02 International Business Machines Corporation Electrical-diagnosis method for a defect cell in a chain of cells of a shift register
US4680539A (en) 1983-12-30 1987-07-14 International Business Machines Corp. General linear shift register
US4598401A (en) 1984-05-03 1986-07-01 Siemens Corporate Research & Support, Inc. Circuit testing apparatus employing signature analysis
US4896262A (en) * 1984-02-24 1990-01-23 Kabushiki Kaisha Meidensha Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory
US4601034A (en) * 1984-03-30 1986-07-15 Texas Instruments Incorporated Method and apparatus for testing very large scale integrated memory circuits
US4878168A (en) 1984-03-30 1989-10-31 International Business Machines Corporation Bidirectional serial test bus device adapted for control processing unit using parallel information transfer bus
US4646298A (en) 1984-05-01 1987-02-24 Texas Instruments Incorporated Self testing data processing system with system test master arbitration
JPH0743413B2 (en) 1984-05-09 1995-05-15 三菱電機株式会社 Semiconductor test equipment
US4635193A (en) * 1984-06-27 1987-01-06 Motorola, Inc. Data processor having selective breakpoint capability with minimal overhead
JPS6164138A (en) 1984-09-06 1986-04-02 Nec Corp Monolithic integrated circuit
US4628511A (en) 1984-09-06 1986-12-09 Shell Oil Company Apparatus for analysis of computer channel failures
US4694293A (en) 1984-09-18 1987-09-15 Nippon Gakki Seizo Kabushiki Kaisha Data transmission system
US4638313A (en) 1984-11-08 1987-01-20 Spacelabs, Inc. Addressing for a multipoint communication system for patient monitoring
US4615029A (en) 1984-12-03 1986-09-30 Texas Instruments Incorporated Ring transmission network for interfacing control functions between master and slave devices
GB8432533D0 (en) 1984-12-21 1985-02-06 Plessey Co Plc Integrated circuits
US4669061A (en) 1984-12-21 1987-05-26 Digital Equipment Corporation Scannable flip-flop
US4602210A (en) 1984-12-28 1986-07-22 General Electric Company Multiplexed-access scan testable integrated circuit
GB8501143D0 (en) * 1985-01-17 1985-02-20 Plessey Co Plc Integrated circuits
NL8500462A (en) 1985-02-19 1986-09-16 Philips Nv DEVICE FOR TRANSFER OF DIGITAL DATA.
EP0196171B1 (en) 1985-03-23 1991-11-06 International Computers Limited Digital integrated circuits
EP0197363B1 (en) * 1985-03-26 1990-05-30 Siemens Aktiengesellschaft Process for operating a semiconductor memory with integrated parallel test capability and evaluation circuit for carrying out the process
US4674089A (en) * 1985-04-16 1987-06-16 Intel Corporation In-circuit emulator
JPS61265829A (en) 1985-05-20 1986-11-25 Fujitsu Ltd Semiconductor integrated circuit
US4745355A (en) 1985-06-24 1988-05-17 International Business Machines Corporation Weighted random pattern testing apparatus and method
US4687988A (en) 1985-06-24 1987-08-18 International Business Machines Corporation Weighted random pattern testing apparatus and method
US4801870A (en) 1985-06-24 1989-01-31 International Business Machines Corporation Weighted random pattern testing apparatus and method
US4635261A (en) 1985-06-26 1987-01-06 Motorola, Inc. On chip test system for configurable gate arrays
DE3526485A1 (en) 1985-07-24 1987-02-05 Heinz Krug CIRCUIT ARRANGEMENT FOR TESTING INTEGRATED CIRCUIT UNITS
JPS6231447A (en) 1985-08-01 1987-02-10 Meidensha Electric Mfg Co Ltd Bus analyzer
NL8502476A (en) 1985-09-11 1987-04-01 Philips Nv METHOD FOR TESTING CARRIERS WITH MULTIPLE DIGITAL-ACTING INTEGRATED CIRCUITS, CARRYING WITH SUCH CIRCUITS, INTEGRATED CIRCUIT SUITABLE FOR APPLICATION TO SUCH CARRIER, AND TESTING DEVICE FOR TESTING SUCH.
US4683569A (en) * 1985-10-21 1987-07-28 The Singer Company Diagnostic circuit utilizing bidirectional test data comparisons
US4698588A (en) 1985-10-23 1987-10-06 Texas Instruments Incorporated Transparent shift register latch for isolating peripheral ports during scan testing of a logic circuit
US4710931A (en) 1985-10-23 1987-12-01 Texas Instruments Incorporated Partitioned scan-testing system
US4701921A (en) 1985-10-23 1987-10-20 Texas Instruments Incorporated Modularized scan path for serially tested logic circuit
US4710933A (en) 1985-10-23 1987-12-01 Texas Instruments Incorporated Parallel/serial scan system for testing logic circuits
US4931722A (en) 1985-11-07 1990-06-05 Control Data Corporation Flexible imbedded test system for VLSI circuits
US4701920A (en) 1985-11-08 1987-10-20 Eta Systems, Inc. Built-in self-test system for VLSI circuit chips
JPH0743733B2 (en) 1985-12-11 1995-05-15 株式会社日立製作所 Logical simulation method
US4931723A (en) * 1985-12-18 1990-06-05 Schlumberger Technologies, Inc. Automatic test system having a "true tester-per-pin" architecture
US4672307A (en) 1985-12-20 1987-06-09 University Of Southern California Simplified delay testing for LSI circuit faults
JPH0760400B2 (en) 1986-01-07 1995-06-28 株式会社日立製作所 Diagnostic method of logic circuit
US4799052A (en) 1986-01-13 1989-01-17 General Electric Company Method for communicating data on a communication network by token passing
US4710932A (en) 1986-01-15 1987-12-01 Kashiwagi Hiroshi Method of and apparatus for fault detection in digital circuits by comparison of test signals applied to a test circuit and a faultless reference circuit
US5128664A (en) 1986-03-05 1992-07-07 Ampex Corporation Search technique for identifying slave devices connected to a serial bus
US5133062A (en) 1986-03-06 1992-07-21 Advanced Micro Devices, Inc. RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory
JPH0746120B2 (en) 1986-03-10 1995-05-17 株式会社東芝 Test facilitation circuit and test method
JPS62220879A (en) 1986-03-22 1987-09-29 Hitachi Ltd Semiconductor device
JP2605687B2 (en) 1986-04-17 1997-04-30 三菱電機株式会社 Semiconductor device
JPS62250593A (en) 1986-04-23 1987-10-31 Hitachi Ltd Dynamic ram
US4777616A (en) 1986-05-12 1988-10-11 Outlook Technology, Inc. Increased resolution logic analyzer using asynchronous sampling
US4759019A (en) 1986-07-10 1988-07-19 International Business Machines Corporation Programmable fault injection tool
JPS6337270A (en) 1986-07-31 1988-02-17 Fujitsu Ltd Semiconductor device
US5014186A (en) 1986-08-01 1991-05-07 International Business Machines Corporation Data-processing system having a packet transfer type input/output system
KR900002770B1 (en) 1986-08-04 1990-04-30 미쓰비시 뎅끼 가부시끼가이샤 Semiconductor integrated circuit
KR910002236B1 (en) 1986-08-04 1991-04-08 미쓰비시 뎅기 가부시끼가이샤 Semiconductor ic circuit apparature
JPH06105285B2 (en) 1986-08-22 1994-12-21 三菱電機株式会社 Semiconductor integrated circuit device
US4763066A (en) 1986-09-23 1988-08-09 Huntron Instruments, Inc. Automatic test equipment for integrated circuits
US4866508A (en) 1986-09-26 1989-09-12 General Electric Company Integrated circuit packaging configuration for rapid customized design and unique test capability
US4821269A (en) 1986-10-23 1989-04-11 The Grass Valley Group, Inc. Diagnostic system for a digital signal processor
US4734921A (en) * 1986-11-25 1988-03-29 Grumman Aerospace Corporation Fully programmable linear feedback shift register
JP2628154B2 (en) * 1986-12-17 1997-07-09 富士通株式会社 Semiconductor integrated circuit
JP2556017B2 (en) 1987-01-17 1996-11-20 日本電気株式会社 Logic integrated circuit
JPS63182585A (en) 1987-01-26 1988-07-27 Toshiba Corp Logic circuit equipped with test facilitating function
JPS63188783A (en) 1987-01-31 1988-08-04 Nec Corp Logic analyzer
JPH0711787B2 (en) 1987-03-02 1995-02-08 日本電気株式会社 Data processing device
US4969121A (en) 1987-03-02 1990-11-06 Altera Corporation Programmable integrated circuit logic array device having improved microprocessor connectability
US4872169A (en) 1987-03-06 1989-10-03 Texas Instruments Incorporated Hierarchical scan selection
NL8700736A (en) 1987-03-30 1988-10-17 Philips Nv ONE-CHANNEL BUS SYSTEM FOR MASTER MASTER USE, WITH BIT CELL SYNCHRONIZATION, AND MASTER STATION FITTED WITH A BIT CELL SYNCHRONIZATION ELEMENT.
US5276807A (en) 1987-04-13 1994-01-04 Emulex Corporation Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking
US4819234A (en) * 1987-05-01 1989-04-04 Prime Computer, Inc. Operating system debugger
JPS63291134A (en) 1987-05-22 1988-11-29 Toshiba Corp Logically integrated circuit
US5329471A (en) 1987-06-02 1994-07-12 Texas Instruments Incorporated Emulation devices, systems and methods utilizing state machines
US4860290A (en) 1987-06-02 1989-08-22 Texas Instruments Incorporated Logic circuit having individually testable logic modules
DE3719497A1 (en) 1987-06-11 1988-12-29 Bosch Gmbh Robert SYSTEM FOR TESTING DIGITAL CIRCUITS
US4817093A (en) 1987-06-18 1989-03-28 International Business Machines Corporation Method of partitioning, testing and diagnosing a VLSI multichip package and associated structure
JPS647400A (en) 1987-06-29 1989-01-11 Hitachi Ltd Ic tester
US4974192A (en) 1987-07-23 1990-11-27 Face Technologies, Inc. Communication processor for personal computer
US4833676A (en) * 1987-07-30 1989-05-23 Hughes Aircraft Company Interleaved method and circuitry for testing for stuck open faults
GB2210171B (en) 1987-09-28 1991-06-26 Plessey Co Plc Test circuit
US5155432A (en) 1987-10-07 1992-10-13 Xilinx, Inc. System for scan testing of logic circuit networks
US4860288A (en) 1987-10-23 1989-08-22 Control Data Corporation Clock monitor for use with VLSI chips
US4912709A (en) 1987-10-23 1990-03-27 Control Data Corporation Flexible VLSI on-chip maintenance and test system with unit I/O cell design
US5084814A (en) 1987-10-30 1992-01-28 Motorola, Inc. Data processor with development support features
US4897842A (en) * 1987-11-05 1990-01-30 Ampex Corporation Integrated circuit signature analyzer for testing digital circuitry
US4857835A (en) 1987-11-05 1989-08-15 Texas Instruments Incorporated Global event qualification system
US5303148A (en) 1987-11-27 1994-04-12 Picker International, Inc. Voice actuated volume image controller and display controller
NL8800374A (en) * 1988-02-16 1989-09-18 Philips Nv INTEGRATED MONOLITHIC CIRCUIT WITH A TEST BUS.
US4947357A (en) * 1988-02-24 1990-08-07 Stellar Computer, Inc. Scan testing a digital system using scan chains in integrated circuits
US4907230A (en) * 1988-02-29 1990-03-06 Rik Heller Apparatus and method for testing printed circuit boards and their components
US5023872A (en) 1988-03-25 1991-06-11 Advanced Micro Devices, Inc. FDDI bit error rate tester
US4947106A (en) 1988-03-31 1990-08-07 Hewlett-Packard Company Programmatically generated in-circuit test of analog to digital converters
US4943966A (en) 1988-04-08 1990-07-24 Wang Laboratories, Inc. Memory diagnostic apparatus and method
US4903266A (en) 1988-04-29 1990-02-20 International Business Machines Corporation Memory self-test
US4929889A (en) 1988-06-13 1990-05-29 Digital Equipment Corporation Data path chip test architecture
US5218702A (en) 1988-07-06 1993-06-08 Motorola, Inc. System for selecting request for a resource before decoding of requested resource address and validating selection thereafter
US5214760A (en) 1988-08-26 1993-05-25 Tektronix, Inc. Adaptable multiple port data buffer
DE68928837T2 (en) * 1988-09-07 1999-05-12 Texas Instruments Inc., Dallas, Tex. Check buffer / register
US5241265A (en) * 1992-03-26 1993-08-31 Northern Telecom Limited Logic function circuit with an array of data stores and their circuit testing
US5490151A (en) * 1993-07-26 1996-02-06 At&T Corp. Boundary scan cell
US5550843A (en) * 1994-04-01 1996-08-27 Xilinx, Inc. Programmable scan chain testing structure and method
GB9417590D0 (en) * 1994-09-01 1994-10-19 Inmos Ltd Scan latch

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4404663A (en) * 1980-03-06 1983-09-13 Tokyo Shibaura Denki Kabushiki Kaisha Integrated circuit
US5306967A (en) * 1992-05-29 1994-04-26 Integrated Device Technology, Inc. Apparatus for improving signal transmission along parallel lines
US5362996A (en) * 1992-06-10 1994-11-08 Intel Corporation Staggered output circuit for noise reduction
US20010046205A1 (en) * 1994-09-30 2001-11-29 Easton Kenneth D. Multipath search processor for a spread spectrum multiple access communication system
US5994946A (en) * 1996-10-31 1999-11-30 Metaflow Technologies, Inc. Alternating inverters for capacitive coupling reduction in transmission lines
US6008705A (en) * 1998-02-26 1999-12-28 International Business Machines Corporation Crosstalk suppression in wide, high-speed buses
US6414542B2 (en) * 1999-03-17 2002-07-02 Koninklijke Philips Electronics N.V. Integrated circuit with relative sense inversion of signals along adjacent parallel signal paths
US6570931B1 (en) * 1999-12-31 2003-05-27 Intel Corporation Switched voltage adaptive slew rate control and spectrum shaping transmitter for high speed digital transmission
US20050094709A1 (en) * 2001-12-06 2005-05-05 Ismail Lakkis Ultra-wideband communication apparatus and methods
US20030108109A1 (en) * 2001-12-10 2003-06-12 Khieu Cong Q. Routing miller factor cancelling technique

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7958420B2 (en) * 2002-06-10 2011-06-07 Texas Instruments Incorporated Clock delay circuits and multiplexer connected to boundary scan circuitry
US9684032B2 (en) 2002-06-10 2017-06-20 Texas Instruments Incorporated High speed interconnect circuit test method and apparatus
US20100100780A1 (en) * 2002-06-10 2010-04-22 Texas Instruments Incorporated High speed interconnect circuit test method and apparatus
US9535125B2 (en) 2002-06-10 2017-01-03 Texas Instruments Incorporated Tap decay test circuitry having capture test strobe enable input
US20080255780A1 (en) * 2005-10-24 2008-10-16 Nxp B.V. Ic Testing Methods and Apparatus
US20080265906A1 (en) * 2005-10-24 2008-10-30 Nxp B.V. Ic Testing Methods and Apparatus
US7870449B2 (en) * 2005-10-24 2011-01-11 Nxp B.V. IC testing methods and apparatus
US7941719B2 (en) * 2005-10-24 2011-05-10 Nxp B.V. IC testing methods and apparatus
US7941717B2 (en) * 2005-10-24 2011-05-10 Nxp B.V. IC testing methods and apparatus
US7945834B2 (en) * 2005-11-02 2011-05-17 Nxp B.V. IC testing methods and apparatus
US20080288842A1 (en) * 2005-11-02 2008-11-20 Nxp B.V. Ic Testing Methods and Apparatus
US20080143339A1 (en) * 2006-12-19 2008-06-19 Canon Kabushiki Kaisha Electronic apparatus and control method thereof
US8228070B2 (en) * 2006-12-19 2012-07-24 Canon Kabushiki Kaisha Electronic apparatus and control method thereof
US20110053296A1 (en) * 2009-08-25 2011-03-03 Samsung Mobile Display Co., Ltd. Thin film deposition apparatus and method of manufacturing organic light-emitting display device by using the same

Also Published As

Publication number Publication date
US20050278133A1 (en) 2005-12-15
US20040193983A1 (en) 2004-09-30
US20030056165A1 (en) 2003-03-20
US6898544B2 (en) 2005-05-24
US6304987B1 (en) 2001-10-16
US20040204893A1 (en) 2004-10-14
US6813738B2 (en) 2004-11-02
US20010047499A1 (en) 2001-11-29
US20040199839A1 (en) 2004-10-07
US6611934B2 (en) 2003-08-26

Similar Documents

Publication Publication Date Title
US6304987B1 (en) Integrated test circuit
US6081916A (en) IC with test cells having separate data and test paths
US5084874A (en) Enhanced test circuit
US5495487A (en) Testing buffer/register
US5056094A (en) Delay fault testing method and apparatus
US4833676A (en) Interleaved method and circuitry for testing for stuck open faults
US5570375A (en) IEEE Std. 1149.1 boundary scan circuit capable of built-in self-testing
US4669081A (en) LSI fault insertion
KR960005606B1 (en) Built-in test circuit providing simple and accurate ac test of digital microcircuits with low bandwidth test equipment and probe stations
US6536008B1 (en) Fault insertion method, boundary scan cells, and integrated circuit for use therewith
US4742293A (en) Pseudo-memory circuit for testing for stuck open faults
JPH0772872B2 (en) A device for built-in self-testing of sequential digital logic circuits.
EP0358371B1 (en) Enhanced test circuit
US5130989A (en) Serial and parallel scan technique for improved testing of systolic arrays
US7028238B2 (en) Input/output characterization chain for an integrated circuit
US20020078411A1 (en) Scan flip flop apparatus for performing speed test
Welles et al. A testing methodology for large scale hybrid VLSI

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONMENT FOR FAILURE TO CORRECT DRAWINGS/OATH/NONPUB REQUEST