Pulse generation

Abstract: A pulse generator for use in generating pulses at different locations within a circuit has a first circuit 501 for a time dependent operation after receipt of a first input pulse and a second circuit 502 for carrying out a time dependent operation after receipt of a second input pulse after the first input pulse. A third circuit 503 is responsive to each of the first and second circuits 501,502 reaching respective predetermined conditions so that an output pulse is produced by the third circuit 503 at a time dependent on the average durations of operation of the first and second circuits 501 and 502.

Description: The present invention relates to apparatus for pulse generation and more particularly but not exclusively to apparatus for clock pulse generation. Modern circuit techniques frequently require the provision of clock pulses at a number of different locations within a circuit. Where a circuit is relatively large there may occur substantial propagation delays between the different locations with the effect that a rising edge of a clock pulse of concern may arrive at one location at a significantly different time to the arrival of the edge at another location. This phenomenon is known as "clock skew". A number of measures are commonly used in the art to reduce clock skew. For example, where the circuit has the form of a system of circuit boards the transmission line delay between and within the boards is minimised. Where the circuit is an integrated circuit, for example in VLSI circuits, engineers minimise the inherent delay of the RC interconnect line. In either situation it is desirable to route clock signals along tree-like interconnect structures having substantially the same pathlength of interconnect between the clock source and every point at which the clock is required. Finally it is desirable to locate the clock source as close as possible to the physical centre of the design so that the clock routing is as short as possible. Each of these measures introduces additional design constraints into a circuit and these constraints may not be compatible with other requirements for the circuit. For example using the tree like interconnect structure is often difficult to implement and may occupy excessive area. Using low delay interconnect on integrated circuits usually means provision of wider tracks which occupy excessive area and, furthermore, which increase the power required to drive such tracks. Locating the clock source at the physical centre of a design may unduly constrain the designer; moreover in the case of integrated circuits the added complexity engendered by a physically central clock source may be highly undesirable. JP-A-05012223 discloses a pulse generator which receives forward and reflected pulses on a transmission line and provides an output signal at a time determined by evaluating the time spacing between first and second pulses. US-A-4173962 discloses a pulse generating circuit having a capacitor charged by a first current source in response to one pulse. First and second discharge stages are provided, each stage comprising a current source. A delayed pulse provided by a timing circuit controls the second discharge stage. The capacitor can initially discharge through both discharge stages. The second discharge stage is disconnected upon termination of the delayed pulse. From that time on, discharge can occur only at a slower rate, as controlled by the first discharge stage only. The voltage across the capacitor is applied to a threshold stage for generating the output pulse. The present invention provides embodiments which may be used in reducing clock skew without imposing the above-mentioned constraints. According to one aspect of the present invention there is provided a pulse generator comprising first and second inputs for receiving time-spaced first and second pulses, said second pulse occurring later than said first pulse; first circuitry operable by the first pulse; second circuitry operable by the second pulse; and third circuitry responsive to respective durations of operation of the first and second circuitry to produce an output pulse at a time dependent on the average durations of operation of the first and second circuitry, wherein the first circuitry has a first current source for producing a predetermined first current; the second circuitry has a second current source for producing a predetermined second current; the first and second current sources being operable in response to first edges of the first and second pulses respectively; the third circuitry has a first capacitor receiving said first and second currents to be discharged thereby, first switch circuitry charging said first capacitor from a supply voltage prior to operation of said first and second current sources and a first comparison means responsive to a voltage across the first capacitor attaining a predetermined level to produce said output pulse; and further comprising a third current source for producing a predetermined third current and a fourth current source for producing a predetermined fourth current, the third and fourth current sources being made operable in response to second edges of the first and second pulses respectively, a second capacitor receiving the third and fourth currents to be discharged thereby, second switch circuitry charging said second capacitor from a supply voltage prior to operation of said third and fourth current sources and second comparison means responsive to a voltage across the second capacitor attaining a predetermined level to terminate said output pulse. According to a second aspect of the present invention there is provided apparatus for generating output pulses at a plurality of points along a delay-inducing path, said apparatus having circuitry defining said path, said circuitry having an input for receiving a pulse whereby said pulse may be propagated from said input in a first direction along said path to an extremity thereof, and then propagated in a second direction along said path, said second direction being opposite to said first direction; and plural pulse generators, each according to the first aspect of the invention, a respective pulse generator being located at each point and connected at said point to said circuitry, each pulse generator having a first input for receiving a said pulse on said circuitry while said path propagates in said first direction, a second input for receiving said pulse on said circuitry while said pulse propagates in said second direction and an output for providing an output pulse at a desired time. Some embodiments of the invention will now be described by way of example and with reference to the accompanying drawings in which:- Figure 1 shows a partial circuit diagram of a clock pulse distribution arrangement of the prior art. Figure 2 shows voltage waveforms occurring at various locations on Figure 1. Figure 3 shows a block diagram of an apparatus generating output pulses for use with the invention. Figure 4 shows the waveforms at one location on Figure 3. Figure 5 shows a first embodiment of a pulse generator for use in Figure 3 in accordance with the invention. Figure 6 shows waveforms occurring on the circuit of Figure 5. Figure 7 shows the voltage waveforms of pulse generators of Figure 5 at the different stations used in Figure 3. Figure 8 shows a modification of the apparatus of Figure 3. Figure 9 is a modification of the Figure 3 arrangement for an integrated circuit, using buffered lines, and Figure 10 is a further modification of the Figure 3 arrangement. In the Figures like reference numerals will be used for like parts. Referring to Figure 1, an integrated circuit 1 has a path 2 for distribution therealong of clock pulses from an input buffer 3 to various stations A, B, C. The input buffer 3 is supplied from a clock source 4 external to the circuit board 1. The buffer 3 is used to meet any required impedance constraints. At each of the stations A, B, C a clock pulse is input from path 2 and due to different pathlengths between the respective stations and the input buffer the clock pulses arriving at stations A, B, C are time-displaced. This effect is illustrated in Figure 2, where the rising edge of the clock pulse at the buffer occurs at t O , that at station A occurs at t 1 , that at station B at t 2 and the pulse at station C, at time t 3 . The waveforms ⊘, ⊘A, ⊘B and ⊘C represent the voltage waveforms at the buffer 3 and stations A, B and C respectively. Referring to Figure 3, an integrated circuit 31 has a clock pulse path 32 fed from an input buffer 3. The path 32 has a first forward portion 33 along which pulses from buffer 3 propagate in a first forward direction and a second reverse portion 34, along which pulses propagate in a second direction, the second direction being opposite to the first direction. As seen in Figure 3 the reverse path portion 34 is an extension of the forward path portion 33, the two meeting at a path extremity point 35. Although the reverse path portion 34 is shown as parallel to the forward path portion 33, this is for the purposes of illustration only and any convenient arrangement may be chosen. However, the most convenient form requires that the pathlength between any two stations along the forward path portion is the same as the pathlength along the reverse path portion between those two stations. It is also envisaged that path portions 33 and 34 could be provided by a single transmission line, pulses being input at one end of the line and being reflected back from the other end of the line. The integrated circuit 31 of Figure 3 has three stations P, Q, R at which clock pulses are required. For this purpose each station P, Q, R has a respective pulse generator 36, 37, 38. Each of the pulse generators has a first input connected to the forward path portion 33 and a second input connected to the reverse path portion 34. For ease of reference the forward pulse received by pulse generator 36 is referenced as ⊘ FP and the reverse pulse at pulse generator 36 is referenced as ⊘ RP . Assuming that the line is symmetrical i.e. the pathlength between any two points is the same for the forward and reverse paths, as described above, - the mid-point between the forward pulse and the reverse pulse at any pulse generator corresponds to the instant at which the pulse travelling along the path 32 reaches the path extremity point 35. Thus if each pulse generator 36-38 responds to the detection of the respective forward pulse for that pulse generator, to the respective reverse pulse for that pulse generator and produces a respective output pulse ⊘ at the same period after the mid-point between the two pulses, the output pulses will occur globally at the same instant for each pulse generator. Where the path is not symmetrical - i.e. the pathlength between two points differs between the forward and the reverse direction, it will not be the mid-point between the forward and reverse pulses which determines the instant of arrival of the forward pulse at the path extremity, but some other second point between the two pulses. In this event the pulse generators 36-38 produce their output pulses at a desired time corresponding to a predetermined duration after this second point to produce simultaneous clock pulses. Referring now to Figure 4, the pulse relationship will now be explained. The input pulse train  FP to pulse generator 36 has a first rising edge at a time point t 1 and the reverse pulse  RP has a first rising edge occurring at a time point t 2 . In the preferred arrangment, with symmetrical forward and reverse paths, the output pulse 0 is generated to have a rising edge occurring at a time t 3 which occurs a predetermined time c after the mid-point t 4 between times t 1 and t 2 . Normally it is desired to generate clock pulses at the same instant throughout the circuit, in which case for the symmetrical path situation, the time c is the same for all pulse generators 36-38. However if for some reason it were desired to produce pulses at a predetermined separation or skew relative to one another, the time period c could be arranged to differ from pulse generator to pulse generator as desired. An embodiment of the pulse generator 36-38 will now be described with reference to Figures 5 and 6. Referring first to Figure 5 the pulse generator for use in Figure 3 consists of two similar circuits 501, 502. One circuit 501 reacts to the rising edge of applied clock pulses, and in response thereto sets an R-S flip flop 503, and circuit 502 responses to the falling edge of applied clock pulses and resets the flip flop 503. Each pulse generator has two inputs 39 and 40 connected respectively to the forward and return paths. Each input includes circuitry for generating true and complement values of the voltage values on the forward and return paths. Circuit 501 consists of a first AND gate 510, to whose inputs are applied a first input A, representing the complement of the forward clock pulse FP and a second input B representing the complement of the reverse clock pulse  RP . The output of gate 510 is coupled firstly to an inverter 511, whose output provides a first input to a second AND gate 512, and secondly to control a switch 513. Switch 513 is connected between a supply voltage VS and a circuit node 514 for connecting or disconnecting the circuit node to the supply voltage. The circuit node 514 constitutes the inverting input of a comparator 515 and also forms the junction of one pole of a capacitor 516 and one pole of two parallel constant current sources 517, 518. Constant current sources 517 and 518 are connected via respective controllable switches 519 and 520 to a reference node 521, to which is also connected the second pole of the capacitor 516. Thus when switch 519 is conductive the first current source 517 is connected parallel to capacitor 516 and when switch 520 is made conductive current source 518 is connected parallel with capacitor 516. The switch 519 is controlled by a signal B', which corresponds to the true reverse clock pulse, whereas switch 520 is controlled by a signal A' which corresponds to the true value of the forward clock pulse ⊘ FP . A reference voltage V ref is applied to the non-inverting input of comparator 515. Referring now to Figure 6, the operation of the circuit shown in Figure 5 will now be explained. At the time T O both of the input pulses A and B are at logical 1. Accordingly the output of AND gate 510 is also at logical 1, thus rendering switch 513 conductive and connecting node 514 to the supply voltage VS. At the same time, the complement of A is at logical O, as is the complement of B, and thus both switches 519 and 520 are non-conductive. Hence capacitor 516 becomes charged to the supply voltage VS and the output of comparator 515 is low. Thus, at the input to gate 512 there is applied logical O from comparator 515 and logical O from inverter 511. The output of AND gate 512 is consequentially at logical O. At time T 1 input A falls to logical O, and hence A' changes state to logical 1. The output of AND gate 510 goes low, causing switch 513 to become non-conductive, and switch 520 becomes conductive, thus applying current source 518 to discharge capacitor 516. The input to comparator 515 at node 514 remains above the level V ref , and the output of the comparator 515 remains low. Inverter 511 now has a logical O at its input, and as a result produces logical 1 at its output. AND gate 512 has one input at logical 1 and one input at logical O so continuing to produce a logical O output. At time instant T 2 input B changes state to logical O and input B' to logical 1. As a result AND gate 510 continues to have a logical O output, causing switch 513 to remain non-conductive and inverter 511 to continue to have a logical 1 output. Switch 520 remains in the conductive state but switch 519 changes to the conductive state so that both current source 517 and current source 518 are now discharging capacitor 516. Initially node 514 remains above the potential V ref and hence comparator 515 retains its logical O output. However, at time T 3 the combined effect of the two current sources 517 and 518 has discharged the capacitor 516 until node 514 has the same potential as the non-inverting terminal of comparator 515, at which point the comparator output changes state to logical 1. Consequently the two inputs to AND gate 512 are now at logical 1, which causes the output to change state to logical 1, producing the rising edge of pulse t r . This pulse t r is applied to the set input of flip flop 503 to produce a positive going edge at the O output thereof. Some time later at time T 4 input signal A and its complement A' change state to logical 1 and logical O respectively. As a result switch 520 becomes non-conductive. At a yet later time, T 5 , the other input signal B, and its complement B' change state to logical 1 and logical O respectively, whereupon the AND gate 510 once again has two logical 1 inputs, which causes the output to change to logical 1, thus closing switch 513 to become conductive, and terminating output pulse t r due to the logical O from inverter 511 being applied to one input of AND gate 512. The capacitor 516 then starts to recharge towards the supply voltage VS and the cycle may start again. The second circuit 512 of the pulse generator is similarly constructed to the first circuit. It consists of a third AND gate 530 feeding inverter 531 whose output provides one input to a fourth AND gate 532. The output of third AND gate 530 is connected to a switch 533 which couples the supply voltage VS to a circuit node 534 which forms the inverting input of a comparator 535. A second capacitor 536 is coupled between node 534 and a reference potential 541. Parallel with the capacitor are two series circuits each comprising a current source 537, 538 with a serial switch 539,540. The second circuit 502 responds to the falling edge of the respective input pulses, and the input signals which are coupled to the respective points are the complements of those which are applied to the corresponding points in the first circuit 501. Thus the AND gate 530 receives input signals A' and B' and the switches 539 and 540 receive signals B and A respectively. The output of the second AND gate 532 is connected to the reset input of R-S flip flop 503. The operation of the second circuit 502 is generally the same as that of the operation of 501 already described. The operation of the clock distribution arrangement shown in Figure 3 will now be described with respect to Figure 7. For the sake of simplicity, it will be assumed that the path delay in both the forward and reverse directions between stations P, Q and R on path 32 are each equal to two units of time, that the path delay between the output of buffer 3 and the forward path terminal of station P is two units of time and that the delay between the forward and reverse path points of station R is one unit of time. Figure 7 illustrates the preferred arrangement for the circuit of Figure 6, where current sources 517, 518, 537 and 538 all produce identical currents, the values of capacitors 516 and 536 are substantially identical and the same reference voltage is applied to the non-inverting inputs of comparators 515 and 535. At time O, the "rising edge" capacitor 516 in each of the pulse generators is charged to the supply voltage VS. At this instant of time a clock pulse issues from the buffer 3. After two time units, the pulse arrives at station P and is applied to the "forward terminal" of that station, thus opening switch 513 in pulse generator 36 and connecting current source 518 to discharge capacitor 516 at a first rate i. After a further two units of time the clock pulse reaches the second station 37 at the corresponding forward terminal. The capacitor 516 in pulse generator 37 likewise begins to discharge at a current of i. Finally after a further two units of time the clock pulse reaches station 38 and the capacitor 516 of that station accordingly begins to discharge. However, after the clock pulse has traversed the end section of the path 32 it reaches the reverse terminal of pulse generator 38 one unit of time later, at which time the second current source 517 of that generator is made operative. At time point 7 the capacitor 516 of pulse generator 38 now begins to discharge at a rate of 2i. After a further delay of two time units the clock pulse reaches the reverse terminal of pulse generator 37 and the capacitor 516 of that pulse generator likewise begins to discharge at a rate 2i. Finally at two further time units later the reverse terminal of station 36 receives the clock pulse and the capacitor 516 of that generator also begins to discharge at a rate of 2i. It will be seen from Figure 7 that the voltages on each capacitor 516 follow the same characteristic from this point forward. Thus if the same reference voltage, for example V ref1 , is applied to each comparator 515, the pulse generators 36, 37 and 38 will produce a rising edge at the same instant of time, this instant being determined by the level of reference voltage selected. Referring once again to Figure 7 it will be seen that the rising edge is produced at 12.5 units of time for a value of V ref1 and at 14 units of time for a value of V ref2 . Careful inspection of Figure 7 shows that the intersection of the final capacitor discharge characteristic and the line of the supply voltage is effectively the point at which the pulse passing along path 32 reaches the extremity 35. Furthermore the time of occurrence of the leading edge of the output pulse of each pulse generator for any given value of reference voltage V ref depends upon the instant at which the clock pulse was at the extremity 35. Clearly in selecting the value of reference voltage V ref , care must be taken to ensure that this voltage is below the lowest value of capacitor voltage which would be achieved for the longest possible discharge time, based upon a supply voltage of VS. In other words for the example shown, the value of V ref must be lower than the voltage at which the capacitor 516 of pulse generator 36 begins to decay at a rate of 2i. Referring now to Figure 8 there is shown a second embodiment of a clock distribution arrangement. This arrangement is substantially similar to that shown in Figure 3 and likewise has a desired number of stations P, Q, R with however an additional station S located at the extremity 35 of the path 32. The pulse generator 81 for the station S only needs to have a single input. It can be arranged to produce an output clock pulse at a predetermined delay after receiving the pulse from path 32. This predetermined delay is selected to be the same as the interval C (see Figure 4) whereby pulses are produced by each pulse generator substantially simultaneously. Referring now to Figure 9 , there will be described a modification of the arrangement described with respect to Figure 3 for use with lossy lines and especially for lines where RC delays tend to dominate. This is of special significance to integrated circuits, since in integrated circuits transmission line delays are usually relatively small. Consequentially, since RC delays are not linearly proportional to line length, it may be necessary to introduce buffers. The arrangement shown in Figure 11 has a transmission path 121 which has a forward path portion 122 and a reverse path portion 123. Stations D, E, F and G are arranged along the path 121 and each station has an associated pulse generator 124 for producing a clock pulse at a predetermined time in relation to the application of a forward and a reverse pulse at the station of concern. To provide a correction for losses along the path, a first buffer 125 is inserted into the forward path portion 122 at station D. Since the buffer will itself tend to introduce some delay into the system a similar buffer 125 is inserted into the reverse path portion 123 at station E. Again to cope with losses a buffer 126 is inserted into the forward path portion at station E, with a corresponding reverse path portion buffer 126 at station F. Finally, a forward path portion buffer 127 is inserted at station F with a reverse path portion twin at station G. Referring now to Figure 10, an integrated circuit 130 has a clock pulse transmission path 131 which includes a first forward path portion 132 and a first reverse path portion 133 and a second forward path portion 134 with a second reverse path portion 135. As will be seen from the drawing, the clock path runs substantially around the perimeter of the integrated circuit 130 which may for example be a large VLSI chip. Associated with the clock path 131 are pulse generators 136 which provide simultaneous clock pulses at their respective outputs. There are number of advantages to providing simultaneous clocks around the parameter or pad ring of a large VLSI chip, two of which are that the input/output pads can be clocked, which allows fast synchronous communication with other devices, and that the clock buffers which normally require substantial power connections, are located next to the pad ring of the chip, which is a location where good power connections already exist. Although the particular description relates to clock pulse generation and distribution, it will be appreciated that the invention is equally applicable to generation or distribution of other pulses. The invention has now been described with respect to various embodiments thereof. It will of course be appreciated that many modifications are possible within the scope of the appended claims. The embodiments therefore are not to be taken as limitative.

Claims: A pulse generator comprising first and second inputs for receiving time-spaced first and second pulses, said second pulse occurring later than said first pulse; first circuitry operable by the first pulse; second circuitry operable by the second pulse; and third circuitry responsive to respective durations of operation of the first and second circuitry to produce an output pulse at a time dependent on the average durations of operation of the first and second circuitry, wherein the first circuitry has a first current source (517) for producing a predetermined first current; the second circuitry has a second current source (518) for producing a predetermined second current; the first and second current sources being operable (519, 520) in response to first edges (A/B) of the first and second pulses respectively; the third circuitry has a first capacitor (516) receiving said first and second currents to be discharged thereby, first switch circuitry (510,513) charging said first capacitor (516) from a supply voltage prior to operation of said first and second current sources (517,518) and a first comparison means (515) responsive to a voltage across the first capacitor attaining a predetermined level to produce said output pulse; and further comprising a third current source (537) for producing a predetermined third current and a fourth current source (538) for producing a predetermined fourth current, the third and fourth current sources being made operable (539,540) in response to second edges (A',B') of the first and second pulses respectively, a second capacitor (536) receiving the third and fourth currents to be discharged thereby, second switch circuitry (530,533) charging said second capacitor (536) from a supply voltage prior to operation of said third and fourth current sources (537,538) and second comparison means responsive to a voltage across the second capacitor (536) attaining a predetermined level to terminate said output pulse. A pulse generator according to claim 1 wherein the first and second capacitors (516,536) have substantially the same value, each current produced by the respective current sources has the same value and the predetermined levels are the same. Apparatus for generating output pulses at a plurality of points along a delay-inducing path, said apparatus having circuitry (33,34) defining said path, said circuitry having an input for receiving a pulse whereby said pulse may be propagated from said input in a first direction along said path to an extremity thereof, and then propagated in a second direction along said path, said second direction being opposite to said first direction; and plural pulse generators, (31,36,37,38) each according to claim 1, a respective pulse generator being located at each point and connected at said point to said circuitry, each pulse generator having a first input for receiving a said pulse on said circuitry while said path propagates in said first direction, a second input for receiving said pulse on said circuitry while said pulse propagates in said second direction and an output for providing an output pulse at a desired time.

Inventors: FELIX STEPHEN, FRANCIS RUSSELL EDWIN, FELIX, STEPHEN, FRANCIS, RUSSELL EDWIN
Applicants: SGS THOMSON MICROELECTRONICS, STMICROELECTRONICS LIMITED
Application year: 1995
Main classification: H03K19
IPC codes: H03K19, G06F1, H03K5