Timing generator

Abstract: A timing generator for generating arbitrarily delayed pulses, in which, upon each readout of period data from a period data memory (21), a computing section (25) subtracts its accumulated value from delay data read out of a delay data memory (22) and upon inversion of the sign of the subtracted value, the immediately preceding subtracted value is provided to a delayed pulse generator (26), which generates a pulse at the timing corresponding to the subtracted value applied thereto.

Description: The present invention relates to a device for generating strobe pulses at desired timing, which can be used in an IC tester, for example. The IC tester comprises, as shown in Fig. 1, a timing generator 11, a pattern generator 12 which generates test pattern signals in response to timing signals P₁, P₂, P₃, ... from the timing generator 11, a formatter 13 which converts the test pattern signals from the test pattern generator 12 into a real waveform for input into a device under test (hereinafter referred to simply as DUT) 14, a data latch circuit 15 which latches a response output signal from the DUT 14, and a logic comparator 16 which compares the response output signal latched in the data latch circuit 15 and an expected value pattern from the pattern generator 12 to determine whether the DUT 14 is good or not. In the timing generator 11 there are preset period data A₁, A₂, A₃, ... for defining the time intervals at which the test pattern signals are generated and delay data K₁, K₂, K₃, ... which correspond to the period data A₁, A₂, A₃, ..., respectively. When supplied with a start pulse Ps from the outside, the timing generator 11 outputs the timing signals P₁, P₂, P₃, ... at the time intervals defined by the period data A₁, A₂, A₃, ..., and the pattern generator 12 yields the test pattern signals in response to the timing signals P₁, P₂, P₃, ... The delay data K₁, K₂, K₃, ... are timed to the generation of response output signals which are provided from the DUT 14 supplied with test patterns in accordance with the timing signals P₁, P₂, P₃, ... At the timing set by the timing generator 11 in dependence on the delay data K₁, K₂, K₃, ... strobe pulses S₁, S₂, S₃, ... are generated and applied to the latch circuit 15. The timing for generating the strobe pulses S₁, S₂, S₃, ... is usually set so that they are delayed behind the generation of the timing pulses P₁, P₂, P₃, ... for periods K₁, K₂, K₃, ..., respectively, which are shorter than the corresponding periods of the time intervals A₁, A₂, A₃, ... at which the test patterns are produced, as shown in Figs. 2A and 2B. However, there are times, for example, as depicted in Figs. 3A and 3B, when the strobe pulse S₁ is to be generated in the next period as a result of setting the period data A₁ to a shorter period of time. In such an instance, it is customary in the prior art to employ a method in which a flag "NEXT" is set for the delay data K₁, a calculation K₁ - A₁ = M₁ is performed to obtain delay data, and the strobe pulse S₁ is generated the time M₁ behind the beginning of the next period. According to the prior art in the case of generating each of the strobe pulses S₁, S₂, S₃, ... at the timing beyond the limits of the corresponding period, the flag "NEXT" is set and the delay time M₁ is defined relative to the beginning of the next period, and consequently, the allowable delay time is limited only to the range of the next period. It is therefore impossible, with this prior art, to test a device which outputs a response signal after as much delay as several cycles of the timing pulse, such as a central processor. The document US-A-4,553,100 discloses a strobe pulse generator for generating strobe pulses in response to timing pulses. In this prior art an address counter is preset by each timing pulse and counts clock pulses until the next timing pulse. A mark memory in which marks representative of a delay time are stored, is addressed by the address from the address counter. If a mark is stored at the address designated by the counter, a strobe pulse will be generated. In this case, the delay time between a timing pulse and a subsequent strobe pulse is an integer multiple of the clock period and less than the period of the timing pulses since the address counter is reset by each timing pulse. According to this prior art, for obtaining a strobe pulse delayed beyond the next timing pulse, the timing pulses are divided into two or more groups and a corresponding number of units each including a clock generator, an address counter, a mark memory and gate circuits has to be provided. Thus, the higher the number of periods of the timing pulses by which a strobe pulse is desired to be delayed, the larger the circuit becomes. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a timing generator which permits the generation of strobe pulses to be delayed for a desired number of cycles of the timing signal. This object is achieved with a device as claimed in claim 1. Specific embodiments of the invention are subject-matter of dependent claims. According to the present invention, the period data is cumulatively subtracted from the delay data, and upon detecting the inversion of the sign of the computed value, the cycle of the timing signal in which to produce a delayed pulse is defined. In the cycle thus defined by the result of computation, the immediately preceding cycle is utilized as delay data so that a pulse is produced which is delayed by the value of the delay data relative to the beginning of the next pattern generation cycle. Accordingly, even if the delay data is set to a value containing a plurality of pattern generating cycles, delayed pulses can be produced at preset timing. Consequently, strobe pulses can be generated for testing a device which yields a response signal several cycles after the beginning of the pattern generating cycle. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing the general arrangement of a conventional IC tester; Figs. 2A and 2B are timing charts showing the relationship between timing pulses and strobe pulses delayed for a time shorter than one cycle thereof; Figs. 3A and 3B are timing charts showing the relationship between timing pulses and strobe pulse delayed for a time longer than one cycle thereof; Fig. 4 is a block diagram illustrating an embodiment of the timing generator of the present invention; Fig. 5 is a timing chart for explaining the operation of the embodiment depicted in Fig. 4; Fig. 6 is a block diagram illustrating a second embodiment of the present invention; Fig. 7 is a timing chart for explaining various control signals in the embodiment depicted in Fig. 6; and Fig. 8 is a block diagram illustrating an example of a controller 23 used in the embodiment shown in Fig. 6. DESCRIPTION OF THE PREFERRED EMBODIMENTS Fig. 4 illustrates in block form an embodiment of the timing generator of the present invention. This embodiment includes: a period data memory 21 in which there are prestored period data A₁, A₂, A₃, ... for test pattern signals which are provided to a DUT; a delay data memory 22 in which there are prestored delay data K₁, K₂, K₃, ... corresponding to the period data; a pulse generator 24 which generates timing pulses P₁, P₂, P₃, ... for determining the timing for the application of test patterns to the DUT on the basis of the period data read out of the memory 21; a computing section 25 which computes the timing for the generation of delayed strobe pulses S₁, S₂, S₃, ... on the basis of the period data A₁, A₂, A₃, ... and the delay data K₁, K₂, K₃, ... read out of the memories 21 and 22, respectively; a controller 23 which generates read addresses for the memories 21 and 22 and control signals for the calculator 25; and a delayed pulse generator 26 which outputs the strobe pulses S₁, S₂, S₃, ... delayed in accordance with delay data computed by the computing section 25. The controller 23 includes an address counter 23A which counts the timing pulses P₁, P₂, P₃, ... provided from the pulse generator 24 and applies the count value as a readout address to each of the memories 21 and 22, a delay element 23B which delays each of the timing pulses P₁, P₂, P₃, ... for a fixed time and outputs it as a control signal G, a D-type flip-flop 23C and a gate 23D for generating a control signal F corresponding to the timing pulse to be delayed, and an oscillator (not shown) for generating clock pulses CLK of a fixed period. The computing section 25 includes a subtractor 25A which subtracts the period data A₁, A₂, A₃, ... input to its one input D₂, from a value input to the other input D₁, and provides the difference value and its sign (indicated by "H" when it is minus) to output terminals X and B, respectively, a multiplexer 25B which selectively outputs either one of the delay data K₁, K₂, K₃, ... from the memory 22 and the difference value from the subtractor 25A in accordance with the control signal F from the controller 23, a latch circuit 25C which holds the output of the multiplexer 25B and applies it to the input D₁ of the subtractor 25A and the delayed pulse generator 26, and a gate 25E and a delay element 25G for providing the control signal F or G from the controller 23, as a latch signal H, to the delayed pulse generator 26. The delayed pulse generator 26 responds to the latch signal H to latch in a latch circuit 26A timing data supplied from the computing section 25, compares the contents of the latch circuit 26A and a counter 26B by a comparator 26C and, upon each detection of coincidence between them, yields the strobe pulses S₁, S₂, S₃, ... The counter 26B counts upward high-frequency clock pulses CLK of a fixed period which are always provided from the controller 23 to a clock terminal CK of the counter 26B, and its count value is reset to zero by the latch signal H. The pulse generator 24 may be of the same construction as that of the delayed pulse generator 26 but may also be of an arrangement which employs a down-counter instead of using a comparator, counts clock pulses down when delay data is preset in the down-counter, and generates a pulse when the counter has reached a zero count. Turning next to the timing chart of Fig. 5, the operation of the timing generator shown in Fig. 4 will be described. At the time point shown in Fig. 5A a start pulse Ps is applied to the controller 23 and the pulse generator 24 to initialize them. The pulse generator 24 responds to the start pulse Ps to generate a first timing pulse P₁ shown in Fig. 5B and thereafter, upon each application thereto of the period data A₁, A₂, A₃, ... read out of the memory 21, generates the timing pulses P₂, P₃, ... in succession at time intervals specified by these data. On the other hand, the flip-flop 23C is set by the start pulse Ps and its Q output goes high "H" as depicted in Fig. 5Q, enabling the gate 23D and P₁ is provided as the control signal F. The timing pulse P₁ is also delayed by the delay element 23B and then is applied to a clock terminal CK of the flip-flop 23C, which loads therein a low "L" level of the signal E, causing its Q output to go low "L" and hence disable the gate 23D. The address counter 23A is stepped one stage after responding to the first timing pulse P₁ to provide its contents as a first address, for example, "0000", to each of the memories 21 and 22, from which the period data A₁ and the corresponding delay data K₁ are read out, respectively. At this time the control signal F is being applied to a selective control terminal SEL of the multiplexer 25B and its output terminal Y is connected to its input D₁. Consequently, the delay data K₁ read out of the memory 22 is provided via the multiplexer 25B to an input terminal D of the latch circuit 25C, wherein the data K₁ is latched by a latch signal provided thereto via a gate 25F. The data K₁ thus latched is provided to the one input terminal D₁ of the subtractor 25A and a difference K₁ - A₁ between it and the period data A₁ supplied to the other input terminal D₂ is provided to an output terminal X. In the example described above with respect to Fig. 5 the value of the delay data K₁ selected greater than three cycles of the timing pulse but smaller than four cycles, that is, intermediate between the pulses P₄ and P₅ in Fig. 5B. Accordingly, K₁ - A₁ > 0 and the sign output B of the subtractor 25A is "L", so that a gate 25D is held enabled but the gate 25E is held disabled. When the control signal F falls, the multiplexer 25B immediately connects its input terminal D₂ to the output Y, and consequently, the difference value K₁ - A₁ is applied to and latched in the latch circuit 25C by the delayed control signal G provided thereto via the gates 25D and 25E. In this instance, since the gate 25E remains disabled, the control signal G is not applied to the latch circuit 26A and the value K₁ - A₁ latched in the latch circuit 25C is not provided to the latch circuit 26A. On the other hand, the pulse generator 24 yields, as shown in Fig. 5B, the timing pulse P₂ a time A₁ after the generation of the timing pulse P₁ in accordance with the period data A₁. The controller 23 responds to the pulse P₂ to provide the next addresses to the memories 21 and 22 to read out therefrom the data K₂ and A₂, respectively. In consequence, the subtractor 25A subtracts A₂ from the output K₁ - A₁ of the latch circuit 25C and outputs the difference. At this time, since the multiplexer 25B is not being supplied with the control signal F, its input terminal D₂ connected to the output terminal Y and the subtracted output (K₁ - A₁) - A₂ of the subtractor 25A is provided via the multiplexer 25B to the latch circuit 25C. Since (K₁ - A₁) - A₂ > 0 , the "L" output is provided to the sign output terminal B, and consequently, the gate 25D is open. The control signal G provided from the controller 23 in response to the pulse P₂ is applied via the gates 25D and 25F to the clock terminal CK of the latch circuit 25C to latch therein the value (K₁ - A₁) - A₂ . Also in response to the timing pulse P₃ the timing generator performs the same operations as those described above in connection with the timing pulse P₂, latching a cumulatively subtracted value (K₁ - A₁ - A₂) - A₃ in the latch circuit 25C. When the pulse generator 24 yields the timing pulse P₄, the period data A₄ is read out of the memory 21 in accordance with the address which is provided from the controller 23 in response to the timing pulse P₄ and the subtractor 25A performs a computation (K₁ - A₁ - A₂ - A₃) - A₄ . Since the cumulatively subtracted output is minus in sign, an "H" signal is provided to the sign output terminal B, disabling the gate 25D and enabling the gate 25E. Consequently, the control signal G is not applied to the latch circuit 25C, in which the previous value ( K₁ - A₁ - A₂ - A₃ ) is held intact. On the other hand, since the control signal G is provided via the gate 25E to the latch circuit 26A of the delayed pulse generator 26, the value ( K₁ - A₁ - A₂ - A₃ ) is latched in the latch circuit 26A, and at the same time, the counter 26B is reset to count the clock pulses CLK from zero upward. The comparator 26C compares the output of the latch circuit 26A and the output of the counter 26B and, upon detection of coincidence therebetween, yields a pulse. Accordingly, the delayed pulse generator 26 outputs, as a strobe pulse, a pulse delayed substantially for the time ( K₁ - A₁ - A₂ - A₃ ) relative to the timing pulse P₄. Next, when supplied with the timing pulse P₅ from the pulse generator 24, the controller 23 yields the control signal F to read out data K₅ and A₅ from the memories 21 and 22, respectively. If K₅ - A₅ > 0 , then the output signal E at the sign output terminal B of the subtractor 25A goes low "L" as depicted in Fig. 5E, enabling the gate 25D and disabling the gate 25E. Thus the same operations as those mentioned above in connection with the data K₁ are conducted. If K₅ - A₅ < 0 , then the sign output signal E of the subtractor 25A remains high "H" during the period of the data A₅ and the control signal G provided in response to the timing pulse P₅ is applied as the latch signal H (not shown in Fig. 5H) to the delayed pulse generator 26 via the gate 25E and the delay element 25G. AS a result of this, the delay data K₅ latched in the latch circuit 25C by the control signal F provided in response to the timing pulse P₅ is input into the latch circuit 26A and the delayed pulse generator 26 generates a delayed strobe pulse (not shown in Fig. 5C) about the time K₅ after the generation of the timing pulse P₅. As will be appreciated from the above, in the embodiment shown in Fig. 4, for example, when the strobe pulse S₁ produced which is delayed for a time longer than one cycle relative to the generated timing pulse P₁, no strobe pulses will be produced corresponding to the timing pulses P₂, P₃ and P₄ which have been provided until the generation of the strobe pulse S₁, and after the generation of the timing pulse P₅, corresponding strobe pulses can be produced. Fig. 6 illustrates another embodiment of the timing generator of the present invention which is capable of generating strobe pulses delayed as desired corresponding to all timing pulses produced. In this embodiment there are provided pairs of computing sections 25 and delayed pulse generators 26 of the same number as a predicted maximum number of delay cycles, five in this case. The computing sections 25a to 25e each include a latch circuit 25I, through which the delay data K₁, K₂, K₃, ... read out of the memory 22 are provided to the input terminal D₁ of the multiplexer 25B. The computing sections 25a to 25e are almost identical in construction with the computing section 25 in Fig. 4 except the above. The delay data read out of the memory 22 are provided to the latch circuits 25 of the computing section 25a through 25e in commen to them, and latch signals Ja through Je for loading the data into the latch circuits 25I are provided from the controller 23 respectively corresponding to the timing pulses P₁, P₂, P₃, ... from the pulse generator 24 as depicted in Figs. 7Ja to 7Je. By these latch signals Ja to Je the delay data are latched in the latch circuits 25 of the computing sections 25a to 25e in a cyclic order. On the other hand, the period data A₁, A₂, A₃, ... read out of the memory 21 are provided to the computing sections 25a through 25e in common to them. The computing section 25a is supplied with control signals Ga produced in response to the first and subsequent timing pulses P₁, P₂, P₃, ... after the generation of the start pulse Ps as shown in Fig. 7Ga, by which the outputs of the multiplexer 25B are sequentially latched in the latch circuit 25C. The computing section 25b is supplied with control signals Gb corresponding to the second and subsequent timing pulses P₂, P₃, P₄, ... as shown in Fig. 7Gb, by which the outputs of the multiplexer 25B corresponding to the second and subsequent timing pulses P₂, P₃, ... are latched in the latch circuit 25C. Similarly, the computing section 25c is supplied with control signals Gc corresponding to the timing pulses P₃, P₄, P₅, ... as shown in Fig. 5Gc, by which the outputs of the multiplexer 25B corresponding to such timing pulses are latched in the latch circuit 25C. This applies to the computing sections 25d and 25e. The contents of the latch circuits 25C of the computing sections 25a to 25e are provided to the latch circuits 26A of the corresponding delayed pulse generators 26a to 26e and strobe pulses are produced on the basis of the values sequentially latched therein by the latch signals H in the same manner as in the embodiment depicted in Fig. 4. The controller 23 includes, as shown in Fig. 8, an address counter 23A which counts timing pulses and generates an address, a quinary counter 23E for counting the timing pulses, a decoder 23F which decodes the count value of the quinary counter 23E and provides pulses to five output terminals in a sequential order, flip-flops 23G which respond to the outputs of the decoder 23F to cause their Q outputs to go high "H" in a cyclic order, gates 23H which are enabled by the Q outputs to pass therethrough the timing pulses, and an oscillator 23K which produces clock pulses CLK of a fixed period. The start pulse Ps is applied to reset terminals of the address counter 23A, the quinary counter 23E and the flip-flops 23G to reset them to their initial state. The quinary counter 23E is a counter which is reset to zero upon each counting of five timing pulses and its count value is decoded by the decoder 23F, from which the control signals Ja to Je are provided one by one to five output terminals in a cyclic order as shown in Figs. 7Ja to 7Je. These control signals are also used as control signals Fa to Fe, but in this case, since the timing for latching of the latch circuit 25 needs to precede the timing for latching of the latch circuit 25C at all times, the circuit pattern is designed so that the control signals Fa to Fe are slightly delayed behind the control signals Ja to Je. The outputs of the decoder 23F are also applied to the flip-flops 23G to make their Q outputs high "H" in a sequential order, enabling the gates 23H one after another. The timing pulses P₁, P₂, P₃, ... are output, via the gates 23H, as the control signals Ga through Ge shown in Figs. 76a to 7Ge. With the arrangement depicted in Fig. 6, the computing sections 25a to 25e can provide a delay of up to four cycles with respect to the timing pulse corresponding to the applied delay data. The operations of the computing sections 25a to 25e and the corresponding delayed pulse generators 26a to 26e are substantially the same as those described previously in connection with the embodiment shown in Fig. 4, and hence no description will be given of their operations. The outputs of the delayed pulse generators 26a to 26e are output as the strobe pulses S₁, S₂, S₃, ... via an OR circuit 27. As described above, the timing generator of the present invention employs an arrangement in which the delay data is cumulatively subtracted using the period data, it is determined, by the detection of inversion of the sign of the computed value, that the cycle in which to generate a delayed pulse has been reached, and the delayed pulse is generated at the time point elapsed after the beginning of the cycle by the value of the delay data obtained as the above-said cumulatively subtracted value, and consequently, it is possible to accurately produce delayed pulses even if the delay time is as long as several cycles of the period data. Accordingly, the timing generator of the present invention permits testing of a device which outputs a response signal several cycles after the application of a test pattern, such as a central processor. In addition, the timing generator does not utilize, for creating delayed pulses, a microcomputer which operates under program control, and hence it is capable of generating timing pulses of high throughput.

Claims: A device for generating strobe pulses at desired timing including: timing pulse generating means (24) which starts generation of timing pulses (P₁, P₂, P₃) in response to a start pulse (P s ) applied thereto; address generating means (23) which responds to each of said timing pulses from said timing pulse generating means to generate an address (AD); a period data memory (21) for reading out therefrom period data (A₁-A₄) upon each reception of an address from said address generating means, each said period data defining the timing for generation of the next timing pulse, said timing pulse generating means generating the timing pulses at intervals indicated by the period data supplied thereto from said period data memory; a delay data memory (22) for reading out therefrom delay data (K₁-K₄) upon reception of the address from said address generating means, each of said delay data defining a delay length relative to a corresponding one of the timing pulses; computing means (25) which receives the period data from said period data memory and the delay data from said delay data memory, and upon each reception of the period data, cumulatively subtracts the period data from one of the delay data until the sign of the subtraction result changes; and strobe pulse generating means (26) which receives the subtraction result from said computing means and, upon change in the sign of the subtraction result to negative, loads thereinto the immediately preceding subtraction result indicating a delay value and generates a strobe pulse delayed by the loaded delay value behind the timing pulse which has caused the change in the sign of the subtraction result. The device according to claim 1, wherein said computing means (25) includes: subtracting means (25A) supplied at one of the two inputs thereof with the period data from said period data memory (21), for subtracting the period data from data supplied to the other input and outputting a subtracted value (D) and its sign (E); multiplexer means (25B) which is supplied with said subtracted value from said subtracting means and said delay data read out of said delay data memory (22) and selectively outputs one of these inputs; latch means (25C) for latching the output from said multiplexer means, the output of said latch means being supplied to said other input of said subtracting means and supplied, as the computed value from said computing means, to said strobe pulse generating means (26); wherein said device further comprises control means (23B, 23C, 23D) supplied with the timing pulses for providing a selection signal (F) to said multiplexer means (25B) to select the delay data from said delay data memory in response to the timing pulse immediately following said start pulse and each timing pulse immediately following a timing pulse which has rendered the subtraction results to a negative value and, otherwise, to select the subtracted value from said subtracting means. The device of claim 1, wherein said computing means (25) and said strobe pulse generating means (26) include a plurality of computing sections (25a-25e) and a plurality of strobe pulse generators (26a-26e), respectively. The device according to claim 3, wherein said device further comprises control means (23E, 23F) which responds to each of said timing pulse to generate a control signal (Ja-Je) for respectively loading said delay data read out of said delay data memory (22) into said computing sections (25a-25e) in a sequential, cyclic order. The device according to claim 4, wherein each of said computing sections (25a-25e) includes: first latch means (25I) which responds to said loading control signal (Ja-Je) to latch said delay data from said delay data memory; subtracting means (25A) supplied at one of the two inputs thereof with the period data from said period data memory (21) for subtracting the period data from data supplied to the other input and outputting a subtracted value and its sign; multiplexer means (25B) which is supplied with said subtracted value from said subtracting means and the output of said first latch means and outputs either one of them in accordance with a selection control signal (Fa-Fe); and second latch means (25C) for latching the output value from said multiplexer means, the output of said second latch means being supplied to the other input of said subtracting means and, as the computed value, to said strobe generating means (26a-26e); wherein said control means further comprises selection control signal generating means (23E, 23F) supplied with the timing pulses for providing said selection control signal (Fa-Fe) to said multiplexer means (25B) to select the delay data from said delay data memory in response to the timing pulse immediately following said start pulse and each timing pulse immediately following a timing pulse which has rendered the subtraction result to a negative value and, otherwise, to select the subtracted value from said subtracting means.

Inventors: WATANABE NAOYOSHI C O ADVANTES, WATANABE, NAOYOSHI C/O ADVANTEST CORPORATION
Applicants: ADVANTEST CORP, ADVANTEST CORPORATION
Application year: 1989
Main classification: H03K5
IPC codes: H03K3, H03K5, G01R31