Modular organized storage tester

Abstract: A tester of circuit devices is disclosed which uses commercially available component parts but is capable of high performance testing of hierarchical memory cards requiring data pulses of variable pulse widths at high repetition rates. The tester includes two memories connected to respective shift registers which in turn, feed a multiplexer. The memories handle test timing patterns for respective halves of the basic clock test cycle and are interleaved in operation along with the shift registers. Two opposite-phased outputs of the multiplexer are applied through respective programmable delay networks and pulse generators to the set and reset inputs of a trigger circuit. The trigger circuit provides test data to a dedicated input pin of the device under test.

Description: The present invention generally relates to high performance testers for memory hierarchy cards and, more particularly, to such testers capable of running at speeds of the order of 100 MH Z using only off-the-shelf commercially available component parts. Current high performance computer system memories are being architected in increasingly sophisticated manners. Logic is being included for fault alignment exclusion and for sparing techniques designed to make the memories more fault tolerant. Additionally, there is hierarchical circuit structure within the memory subsystem itself. Thus, the memory system includes substantial logic as well as memory on a card that must be tested together, thus necessitating a high speed digitized pulse generator providing large pulse widths for the slower portions of the hierarchical memory along with much narrower pulse widths for the faster memory portion. More particularly, there are effectively three memories in a typical card-mounted multi-level memory, i.e., a high speed static write memory, a high speed static read memory and a dynamic array memory which is about an order of magnitude slower than the other two memories. On a Write command, the entire contents of the write memory is written broadside into the address specified in the array memory. On a Read command, the contents of the array memory at the address specified is read out broadside into the read memory. During the fast memory cycles, the write memory is loaded and the read memory is read out at memory cycle speeds of the order of 100 MH Z . The relative speed difference of an order of magnitude between the slow and fast memory cycles, the unrestricted overlap of the Read and Write cycles of the static fast arrays and the somewhat restricted overlap with the slower array memory cause testing problems. Presently available test equipment is not fast enough and is architecturally incompatible with hierarchical memory testing in that the relationship is interlocked among generated cycle, timing edges and data which impedes the generation of simultaneously and overlapped control pulses and data for the faster and slower memories. Attempts have been made to modify existing slow testers by adding a high performance adapter to interface with the memory to be tested. A typical approach is to run the slower tester at a submultiple of the faster static arrays and to design the adapter to fill in the time gaps. Such a technique suffers the following penalties : (1) It is costly and development time is long. (2) The modified tester is tailored to a specific application and is seldom reusable elsewhere. (3) Compromises are resorted to in the desired testing function. (4) Any changes in the memory interface during the development cycle of the product to be tested could cause a major change in the adapter design. (5) The development cost of the adapter approaches the cost of the tester as the performance gap between the tester and the memory cards continues to widen. In order to reduce the time required to exchange information between the tester and the accessing nodes of the device under test, a single local memory has been proposed for each data channel in the tester. This enhances the speed with which a device may be tested in that the various data channels can be operated simultaneously rather than sequentially by virtue of their local memory, as discussed in U.S. patent 4,433,414, issued February 21, 1984 to M. E. Carey. U.S. patent 4,287,594, issued September 1, 1981 shows the use of two local memories in a single data channel tester for testing an integrated circuit. The two memories are read out simultaneously into associ-ated temporary storage shift registers. The storage registers are accessed in alternation by a multiplexer which receives data in parallel from each shift register and converts it into serial form. Due to the simultaneous data entry into the temporary storage registers, it is necessary to wait for the settling of transients in each data entry cycle before the stored data is accessed by the multiplexer which causes wasteful delay in each operating cycle. U.S. patent 4,451,918, issued May 29, 1984 to G. C. Gillette, further shows the use of two local memories in a single data channel tester in which the local memories are loaded with data in an interleaved fashion, i.e., one memory provides test data to the device under test while the other memory is loaded with new data from a selected one of back-up memories. In this way, continuous delivery at high rates of long sequences of test signals is provided to the device under test without requiring pauses to reload the local memories. However, the single data channel is multiplexed among the device pins and no provision is made for providing output data pulses of variable pulse widths at high repetition rates. US-A-4,586,181, issued 29 April 1986 to M. Shimizu describes a test pattern generating apparatus comprising an address generator for generating a series of desired addresses in synchronism with a clock signal. Several pattern data memories store pattern data for generating the test pattern, and have the same pattern data stored in the same respective addresses. Several registers respectively access in succession different ones of the pattern data memories by the addresses from the address generator. A selector selectively takes out the pattern data from the accessed pattern data memories. A device provides an ad dress clock alternately to the registers, in a respective succession corresponding to the accessing of the memories, after the pattern data is to be read out from the memories. The device also provides an address clock of the same timing commonly to registers when the pattern data is to be read out from the memories. The device also provides an address clock of the same timing commonly to registers when the pattern data is to be written into the pattern data memories. There is no question therein of providing output data pulses of variable pulse width at high repetition rates to adapt to the integrated circuit under test (DUTs) having different memory access times up to one order of magnitude. Summary of the Invention A tester of circuit devices such as, for example, memory hierarchy cards, comprising two register stacks or memories connected to respective shift registers which run at one half the test system clock rate feed a multiplexer which runs at full clock rate. The operations of the register stacks are interleaved, with each stack handling test timing patterns for respective halves of the basic clock test cycle. Variable width timing channel pulses at up to very high repetition rates are generated by means of programmable delays and pulse generators at the output of the multiplexer, for testing the different levels of the memory hierarchy. One timing channel is provided for each tester output pin, the timing channels being synchronized with each other by a single basic clock so that sufficient timing channels and test patterns are made available in parallel to the memory device under test. Brief Description of the Drawings Fig. 1 is a block diagram of the components comprising the tester of the present invention, and Fig. 2 is a series of idealized waveforms appearing at various locations of the block diagram of Fig. 1. Best Mode for Carrying Out the Invention The tester of the present invention is implemented in a hierarchical pipelined processing architecture, i.e., the overall testing procedure is divided into many parts which are parcelled out to separate groups of channels, one channel of which is shown in Fig. 1. The individual channels of a group are maintained in synchronization with each other by control processor 1 which provides address data on line 2 and command data on line 3 to each channel of the group. Each synchronized channel produces output pulses of desired pulse width on output line 4, in a manner to be described, for application to a respective input pin of the device under test (not shown). The actual response of the device under test to each set of pulses on the tester output lines (such as line 4) is compared with the expected response stored in control processor 1 to determine proper functioning of the device under test. Such comparison of actual and expected responses, per se, is a well-understood testing technique and, for that reason, will not be further described here. The address data on line 2 is applied to local memory A and, via latch 5, to local memory B. The command data on line 3 is applied to shift register A and, via latch 6, to shift register B. Memories A & B are pre-programmed to store data at respective addresses for generating test timing patterns to be applied to the device under test (connected to output line 4) during respective halves of the basic clock test cycle. The basic clocks comprise signals A, not A( A ) and C, the latter being a delayed A clock. As a result of the A clock being applied to register A, the A clock being applied to register B and the triggering of the latches and shift registers on the positive-going clock pulse edges, memory and shift register A are interleaved in operation with memory and shift register B. Furthermore, the commands and addresses to shift register B and memory B are latched to be 180° out of phase with the commands and addresses to shift register A and memory A. The outputs A′ and B′ from shift registers A and B are applied to C clock-driven multiplexer 7. The in-phase output  from multiplexer 7 is directed through programmable delay and pulse generator 9 to set trigger 10. The out-of-phase output  correspondingly is applied via programmable delay 11 and pulse generator 12 to reset trigger 10. Multiplexer 10 receives serial outputs A′ and B′ from registers A and B and selects each of A′ and B′ in alternation after a delay determined by the fixed delay between clocks A & C. The fixed delay is sufficient to allow for the settling of transients following each parallel loading of the shift registers from their respective memories A and B. Since the registers are loaded 180° out of phase with respect to each other, multiplexer 7 selects from A′ during the transient settlement time of B′ and vice-versa, so that multiplexer 7 can run at the full clock rate without suffering any waiting time loss due to transients. Clock C activates multiplexer 7 to take one-half a clock cycle portion from output A and one-half a clock cycle portion from output B. With the proper delay setting of clock C, any propagation variation in the system up to and including the shift registers can be absorbed and compensated for up to a total of one-half a clock cycle. Adding or subtracting a memory bit varies the pulse width at the output of multiplexer 7 by one-half of the clock cycle. In order to facilitate freedom of choice of starting and stopping the output pulse at any point within a clock cycle, the programmable delays 8 and 11 may be set in increments less than half a clock cycle. It should be noted that only multiplexer 7 runs at full clock speed. The commands and addresses from processor 1 normally run at one-fourth clock speed. The operation of the tester channel discussed inwith Fig. 1 may be better understood by reference to the idealized waveforms of Fig. 2 which occur with the relative time relationships shown and appear at the indicated places on the block diagram of Fig. 1.

Claims: Apparatus of the type comprising: first and second memory means (memory A, memory B) for addressably storing and supplying stored test data signals; first and second shift registers (shift reg. A, shift reg. B) connected to receive said stored test data signals from said first and second memory means, respectively; said registers serially shifting said received stored data signals onto first (A') and second (B') output lines in response to first (A) and second ( A ) clock pulses, respectively; the data signals on the second output line being delayed with respect to the data signals on the first output line; means for applying address signals to said first and second memory means and for applying command signals to said first and second shift registers; a multiplexer (7) connected to receive said stored data supplied signals on said first and second output lines and operative to provide groups of interleaved data signals, each group comprising a serial succession of data signals from said first register interleaved with data signals from said second register in response to a third clock (C) pulse; the rising and falling edges of said third clock pulses respectively occuring between the rising and the falling edges of said first and second clock pulses; said multiplexer having two output lines (O, O ) carrying signals being in phase opposition with respect to each other; and, a pair of pulse generators (8, 11) and a pair of programmable delay means (9, 12), each programmable delay means coupling one of said two multiplexer output lines to the input of a respective one of said pulse generators. The apparatus defined in claim 1 further including a set-reset trigger circuit (10) whose output is connected to the device under test, the output of a pulse generator being connected to actuate the set input of said trigger circuit and the output of the other pulse generator being connected to actuate the reset input of said trigger circuit.

Inventors: BOGHOLTZ RICHARD JR, BOSCH LOUIS JOSEPH, BOGHOLTZ, RICHARD, JR., BOSCH, LOUIS JOSEPH
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1987
Main classification: G11C29
IPC codes: G01R31, G11C29