WO2000059113A1 - Pulse clock/signal delay apparatus and method - Google Patents

Pulse clock/signal delay apparatus and method Download PDF

Info

Publication number
WO2000059113A1
WO2000059113A1 PCT/GB2000/001169 GB0001169W WO0059113A1 WO 2000059113 A1 WO2000059113 A1 WO 2000059113A1 GB 0001169 W GB0001169 W GB 0001169W WO 0059113 A1 WO0059113 A1 WO 0059113A1
Authority
WO
WIPO (PCT)
Prior art keywords
delay
signal
clock
input
network
Prior art date
Application number
PCT/GB2000/001169
Other languages
French (fr)
Other versions
WO2000059113A9 (en
Inventor
Evangelos Arkas
Nicholas Arkas
Original Assignee
Evangelos Arkas
Nicholas Arkas
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
Application filed by Evangelos Arkas, Nicholas Arkas filed Critical Evangelos Arkas
Priority to CA002365105A priority Critical patent/CA2365105A1/en
Priority to DE60000981T priority patent/DE60000981T2/en
Priority to US09/936,963 priority patent/US6696875B1/en
Priority to EP00912835A priority patent/EP1166445B1/en
Priority to AU34475/00A priority patent/AU3447500A/en
Publication of WO2000059113A1 publication Critical patent/WO2000059113A1/en
Publication of WO2000059113A9 publication Critical patent/WO2000059113A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/131Digitally controlled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/133Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals using a chain of active delay devices

Definitions

  • An electrical network consists of signal nodes connected by electrically active elements.
  • the electrically active elements include conductors, linear passive elements and linear and non-linear active elements.
  • a given network is partially described by the kinds of elements involved and the network geometry, i.e., the manner in which the various elements are grouped and interconnected at their terminals.
  • Passive elements such as conductors, resistors, capacitors and inductors may be interspersed with active elements such as transistors, gates, integrated circuits and the like.
  • All of these elements may be considered branches of the network.
  • the geometry of a network is described in schematic form by the nodes to which two or more terminals of the elements are connected.
  • the electrical conductors of the network are themselves elements or branches of the network.
  • One portrayal of a network shows the geometrical interconnection of elements only, and takes the form of a graph; i.e. each element of the network is represented as a line having two small circles at either end denoting the terminals of the elements connected at a node.
  • active elements may have terminals that are bidirectional (sometimes operating as an input and sometimes as an output) but are generally unilateral, i.e., signal transmission for related terminal pairs proceeds in one direction only, e.g. from an input terminal to an output terminal. Even bi-directional terminals exhibit unilateral behaviour for certain time periods, e.g., during a portion of a system clock cycle or cycles when they are designated as input or output.
  • Complex elements such as logic arrays, microprocessors and memory components are generally represented as rectangular boxes with multiple lines extending to small circles denoting terminals. The lines are annotated to represent input and output logic variable names.
  • nl, n2 indicate signal node nl and signal node n2, 1(1,2) indicates a signal link or path between nodes 1 and 2.
  • the links 1(1,2) may be composed of any combination of passive and active elements connected in series-parallel combinations. That is, signal nodes nl and n2 are connected by signal paths 1(1,2) that may represent a simple conductor or may represent a complex bi-bilateral element such as a combined microprocessor/logic array or a series-parallel combination of many different kinds of each.
  • S[r] represent all signal paths of interest for the network of Figure 1.
  • Networks may be built from any one of a number of particular logic families, e.g., TTL (transistor-transistor logic), RTL (resistor-transistor logic), ECL (emitter-coupled logic), CMOS complementary-insulated gate and the like.
  • Basic active elements viz. logic functions, such as NAND.NOR, AND, INVERT gates, pass transistors are generally interconnected to form the complex elements described above which in turn are interconnected to form still more complex elements.
  • Complex logic elements may be characterised to a first order by a plurality of input and output terminals, each having a respective logic threshold.
  • the logic thresholds at input and output (the voltage level or current level at an input or output terminal which defines the transition between a logic one and zero) may be the same or different.
  • a logic function of a complex element i.e., the logical response at an output from a logic transition at one or more activating inputs, typically can also be characterised as having a time interval or propagation delay through the active element or function between a logic transition of an activating signal at an input and a logic transition of a responsive signal (if any) at an output.
  • the propagation delay is the time interval between the logic transition of the input signal at an input terminal and a corresponding logic transition of a respective responsive signal at a corresponding output terminal.
  • the propagation delay of a branch or element is the interval or span of time between an input signal transition (for digital circuits, a logic transition) originating at one terminal of an element or branch until the occupancy of a corresponding output signal transition (or edge) at another terminal (the output terminal) of the element or branch by the propagation of the effect of the input signal through the element or branch.
  • a multiple terminal active element may have a multiplicity of signal edge delay time delay intervals between a particular pair of terminals associated with different functions or state transitions. Typically the design of electrical network systems will take into account a worst- case delay interval for such terminal pairs.
  • topology of the physical network Another important feature of high-speed digital networks is the topology of the physical network. There is generally little correspondence between the topology of the schematic or network graph and the topology of the actual physical layout of the circuit elements and interconnections.
  • PCB printed circuit board
  • the physical length (and consequently the electrical length or delay time) of the conductor traces between different nodes (terminals) of logic elements impacts the performance of the system so significantly, that the layout must be redesigned.
  • Redesigning the layout adds significant cost and schedule delays in the process of introducing a new product to the marketplace. There is no assurance that a re-layout will not introduce another critical delay limitation in the same or some other path.
  • propagation delays between input signal transitions and output signal transitions of logic elements and of the interconnect (branches) between nodes (terminals) is one very significant feature of high speed networks
  • a series connection of two or more branches forms a signal path having an associated cumulative signal propagation delay
  • the cumulative propagation delay, id, of a signal path composed of a series of branches, l ⁇ k ⁇ K, is sometimes approximated by computing
  • the delay time delay interval of the interconnect can have a significant impact on the maximum speed of the network
  • the operational cycle time of computer chips and boards increases to 300-400 and 500 MHz the length of half a clock period is decreased from 15 to 12 5 to 10 ns
  • the speed of an electrical signal on a PCB can be about 1 5 ns per foot, for an 18 inch PCB the time delay of a signal propagating along an interconnect line can amount to 10 to 15 % or more of the time allocated to the to the computing circuits. This is an unacceptable penalty for performance.
  • a critical signal may be delayed sufficiently in one part of the physical layout that the network will not operate at the desired clock frequency. In such a situation it may be necessary to add an extra clock cycle or wait state to the system operation, to allow the lagging signal to be used in the next system cycle.
  • the critical delays may be associated with clock signals or data signals or both.
  • a motherboard designed to accept components from many different suppliers might force the design engineer to make undesirable worst-case assumptions about partitioning the clock and the allowable skew.
  • interconnect is just another component in the clock-signal chain.
  • Impedance matching and Schottky-diode clamping can improve rise-time and overshoot problems but do not contribute to a solution to the variability of signal/clock delay interval through the logic element-interconnect chain.
  • Some techniques for addressing the delay variability problem include careful layout of power and ground planes of a PCB; isolating all high-frequency components (processor, clock generator, chipset, etc.) by placing them over an isolated ground plane. Alternatively, a common ground plane can be used for the entire board, with two or three internal ground layers inside the PCB. Other techniques include high-speed differential drivers, specialised clock-distribution topologies (Star, point-to-point-routing, distributed low-frequency clock generators driving local PLL multipliers for local high-frequency clocks).
  • FIG. 3 there is shown a schematic representation of a clock line 10 in an electrical network, e g , a PC motherboard
  • the clock line 10 has a node nO connected to a clock generator CLK that produces a clock signal edge 102 at node nO that occurs at time instance tO
  • the clock signal edge 102 propagates from node nO at one end of the clock line 10 to an intermediate node 202
  • the clock line 10 splits into two branches 214 and 215 with proximal ends joined at node 202 to distribute the clock signal 102 to different parts of the circuit, e g , spaced apart node 212 at a distal end of clock conductor segment 214 and node 216 at distal end of clock conductor segment 215
  • impedance matching is assumed but not shown
  • the conductor 214 is of length LI from node 202 to node 212
  • the conductor 215 is of length L2 between node 202 and node 216 L2 is electrically shorter than LI
  • edge 102b over that of 102a, i e , t2 -t3 (clock timing skew) can cause logic function errors in circuits connected to clock signals at nodes 212 and 216 If logic circuits (e g microprocessor, memory chips, not shown) connected to the two nodes 212, 216 are connected to input logic signal lines (not shown) that have logic levels changing near the edge time tO, they can latch incorrect output logic levels because of this timing skew
  • Circuit elements having extra time delays may be inserted into the shorter electrical path L2 to bring the signal edge 102a into synchronism with edge 102b
  • a series chain of inverter pairs each having a small propagation delay, &t can be inserted into line L2 to add extra delay to a delayed edge of 102a
  • a circuit element having a controllable delay time can be inserted Examples of these are active hybrid delay lines and Silicon Timed Circuits (STCs) by Dallas Semiconductor, Dallas, TX
  • STCs Silicon Timed Circuits
  • the STCs are offered in the two basic architectural types of delay lines a single input with multiple outputs (taps) with delay elements between each, and single input/single output delays, usually with multiple independent delays in a single package
  • Both of these derive time delays from voltage ramps obtained from charging selectable members of a capacitor array with a constant current and detecting the time when the voltage ramp crosses some threshold Different time delays may be selected by choosing one or more of the parameters, threshold voltage, ramp current and capacitor value
  • any output column m is connected to any input row n by a crosspoint switch element.
  • Each column and row comprise two differential lines Oj 1, Oj2 and III, Ii2.
  • the crosspoint switch element comprises the two drains of a differential amplifier Ml, M2.
  • Ml and M2 are differentially driven by separate drains of another differential pair M3, M4 whose gates are driven by the differential row inputs of row n.
  • Two selection lines Sij and Sij* (the complement of Sij) enable the differential pair M3, M4.
  • the matrices of '262 and '483 both have the common disadvantage that selection lines (e.g., Sij and Sij*) that enable the connection of a row to a column must run across the full width and breadth of the matrix.
  • selection lines e.g., Sij and Sij*
  • the disadvantage arises from two factors: first, the size of the array must accommodate space for the signal rows and signal columns in addition to the space for the selection lines. For practical arrays, this means there must be space for twice the number of lines crossing the array in both X and Y directions.
  • Row select lines 104,n and column select lines 106,m provide the logic levels to the respective switch row and column select inputs and also run the full width and height of the array respectively.
  • the programming lines for selected rows rsel,n and for selected columns csel,m take up more array space, i.e., a larger array for a given number of interconnections to be made, and also are subject to noise coupling between closely adjacent programming lines and I/O signal lines. It would be advantageous to combine a selectable delay circuit element with an interconnection element that could provide selectable propagation delay to selected circuit paths while minimising increased circuit area and minimising noise coupling between I/o signal lines and programming lines
  • PULSE CLOCK DISTRIBUTION (PCD) SYSTEM AND METHOD The present invention provides a method and system for correction of unwanted delay mis- matches that exist or are introduced between respective clock signal and/or data signal edges in corresponding clock and/or signal paths
  • the method and apparatus of the present invention provides for introduction of a series connection of a selected number of elemental signal edge transition delay units in series relationship with an electrical path propagating a selected clock signal or data signal of an electrical signal network
  • An edge transition equalisation system incorporating a signal transition edge delay controller that may be connected to a multiplicity of such signal edge delay units in selected branches of a pulsed signal network
  • the present invention provides an apparatus and method for distributing clock/signal pulses with selected signal transition edge instances delayed by a selectable propagation delay from an initiating clock/signal pulse edge transition Insertion of an embodiment of the programmable delay line of the present invention into one signal path (branch) of a multi-branch clock/signal line causes a first clock/signal edge at one node of the one branch to occur at an edge time instance (the edge time) simultaneously with the edge time instance of a second clock/signal edge from the same initiating clock/signal pulse edge but propagating on an electrically longer bifurcated branch portion of the same clock/signal line.
  • One feature of some embodiments of the present invention is a novel diagonal cross point (DCP) matrix used to connect the selected number of propagation delay line elements into the desired signal or clock line.
  • the DCP provides isolation between the row/column select lines and the row/column signal lines in two ways. First, the row select and column select lines for any selection switch of a linear array of select switches are disposed on one side of the linear array and the row signal lines and column signal lines are disposed on the opposite side of the array. Secondly, each selection switch of the array provides isolation between the proximal end of the select lines and the proximal end of the signal lines.
  • FIGURE 1 is an illustration of electrical network nodes and branches.
  • FIGURE 2 shows typical prior art cross point switch architecture.
  • FIGURE 3 depicts a schematic representation of a clock line 10 in an electrical network with different electrical length (delay) clock branches between two network nodes.
  • FIGURE 4 shows a modification in the clock line circuitry of Figure 3 incorporating an embodiment 208 of the PCD of the present invention.
  • FIGURE 5 depicts a simplified schematic representation of Figure 3.
  • FIGURE 6 illustrates a block diagram of a larger network with a portion of the clock line 10 of Figure 4 modified to include an embodiment of the PCD system 208 of the present invention shown as.
  • FIGURE 7 indicates the relative timing of a delayed clock edges at different nodes on clock line
  • FIGURE 8 exhibits an alternate embodiment of the output select logic for the PCD 208 shown in Figure 6.
  • FIGURE 9 presents a more detailed schematic representation of a novel embodiment 400 of the cross point select matrix 250.
  • FIGURE 10 shows an ECL embodiment of the delay block 260.
  • FIGURE 11 illustrates an alternative ECL delay block including level shifters.
  • FIGURE 12 depicts a CMOS embodiment of the delay block 260.
  • FIGURE 13 illustrates a PCB with timing mismatches of the layout 700 modified by the addition of PCD devices in accordance with this invention.
  • FIGURE 14 depicts one option for inserting the PCDs of Figure 13 into the PCB layout 700.
  • Pulse Clock Distribution apparatus of this invention will be described in conjunction with several embodiments. Other embodiments will be apparent to those skilled in the art in view of the following description. The following descriptions are meant to be illustrative only and not limiting.
  • an embodiment 208 of the present invention modifies the structure of the clock line 10 in Figure 3 to that of the clock line 100 of Figure 4.
  • the clock line 100 is modified by PCD 208 to equalise the edge delay at separated circuit nodes receiving a pulse edge from a common source.
  • the shorter conductor 215 of Figure 3 is divided at an intermediate node nl into two electrically isolated conductors 215a and 215b.
  • the conductors 215a and 215b are separated at node nl just enough to define immediately adjacent, electrically isolated nodes nla and nib.
  • Nodes nla and nib are respectively connected to input and output nodes Xin and Xout of an embodiment of PCD device 208 of the present invention. Node nla and nib only need to be separated sufficiently to electrically isolate conductors 215a and 215b without significantly changing the length L2.
  • the PCD device 208 is an electrically programmable delay generator comprised of a plurality, Nd, of delay elements 209[j] each having a respective input and output with a respective increment of propagation delay, ⁇ there between.
  • the plurality of delay elements 209[j] are connected in series between Xin and Xout.
  • a first one of the delay elements 209[1] has its input connected to Xin, and a last one of the elements 209[Nd] has its output connected to Xout.
  • Each element 209[j] except the first and last has its respective input and output connected to the corresponding preceding and following element 209Q-1] and 209[j+l].
  • the clock signal 102 propagates from node nO to node nla along clock line 100 and segment 215a and appears on Xin as a delayed input signal edge 102' at time txin.
  • the signal edge 102' is received by the input 262 of the first element 209[1].
  • Each delay element 209[j] adds an increment of propagation delay, t, to the delayed input clock signal 102' propagating from the first element 209[1] in series to the last element 209[Nd].
  • the last element 209[Nd] outputs a further delayed clock signal 102" at Xout that is delayed by the sum of the t's of the Nd elements 209[j].
  • the selection and connection of the Nd delay elements 209[j] is carried out by co-operating switch connection control circuits (not shown) in the PCD 208.
  • the switch connection control circuits in 208 may be of the conventional selector and multiplexor types known in the art or may be as described by the '262 and '483 patents, e.g., variations of the cross point matrix shown therein.
  • a cross point switch may be used to connect the output of the Ndth element of a series of Nmax elements to the output Xout, where Nmax > Nd.
  • a preferred embodiment of the present invention includes a controller 205 with a control program 207 combined to provide control signals 203 to control input 201 of the PCD 208 that selects and connects at least Nd out of Nmax delay elements 209Q] to produce the desired delay
  • the signals 201 on time delay control input 203 in combination with the switch connection control circuits causes the PCD 208 to insert a desired propagation delay, tdel, between the instance, txin, of the delayed clock pulse 102 received at Xin and a corresponding instance, txout, of a further delayed output pulse clock edge 102" at Xout at the node nib
  • tdel a desired propagation delay
  • Embodiments of the PCD 208 invention of Figure 4 are preferably implemented by tapping from a selected one of an intermediate stage of a long series chain of incremental delay elements as described
  • prior art programmable delay devices such as hybrid delay lines known in the art or programmable delay devices such as the SCTs by Dallas Semiconductor may be used as the delay elements 209[j]
  • the connection of a Ndth output of a series of Nmax elements may be implemented by conventional selector/multiplexor circuits, with a prior art cross point switch as shown in the '262 patent or the '483 reissue, or with a novel diagonal cross point (DCP), described below, that is a feature of embodiments of the present invention.
  • DCP novel diagonal cross point
  • FIG. 6 there is shown a more detailed block diagram of an embodiment of the PCD 208 included in a portion of the clock line 100 for a digital controller network 200
  • the clock line 100 is driven at the first clock node 202 by a clock source 204 (CLK).
  • CLK clock source 204
  • the first clock line (branch) 215a, 215b of length L2 connects the clock node 202 to a nearby first portion of the network 200, e g , a counter register input clock node 216
  • the (electrically) longer second clock line (branch) 214 of length LI also connects clock node 202 to another more remote portion of the network 200, e.g , a spaced apart address register input clock node 212 LI is considerably longer (electrically) than L2
  • Figure 7 shows the relative timing of the fast rising clock edge 102 at input node 202 originating at time instance tO
  • the clock edge 102 divides at node 202 and propagates along the bifurcated clock line branches 215a, 215b and 214 and arrives as a first delayed clock edge 102a and second delayed edge 102b at nodes 216 and 212 respectively
  • the first delayed clock edge 102a arrives at delay instance tl from edge 102
  • the second delayed clock edge 102b arrives at second delay instance t2 from edge 102 due to the longer branch length LI.
  • the clock branch 215 of Figure 3 is electrically separated at node nl into two electrically separate nodes, nla and nib connected respectively to an input node Xin and a delayed output node Xout, leaving the line lengths Ll and L2 essentially the same as before.
  • Node Xin and node Xout are connected to the PCD 208
  • the PCD 208 receives the clock edge 102' at the input node Xin and outputs a delayed clock signal edge 102" at the delayed output node Xout
  • the PCD 208 adds additional propagation delay tdel to the clock edge 102a
  • Propagation delay tdel consists of two portions the selectable delay ⁇ t and excess delay, txs, contributed by supporting circuitry within the PCD 208
  • Txs represents fixed propagation delays (the sum of parasitic delays) within the PCD 208 caused by the physical structure of any particular embodiment of PCD 208, not contributed by the selectable delay elements 209[j].
  • Txs allows the delay characteristics of the PCD 208 to be represented as an assembly of ideal, i e , zero delay components in series with the selectable delay ⁇ t and the hypothetical excess delay, Txs.
  • PCD 208 generates delay tdel between Xin and Xout to produce an intermediate delayed clock edge 102" at Xout
  • the intermediate delayed clock edge 102" is arranged to cause the further delayed clock edge 102a' (edge 102' delayed by tdel) to arrive at the register node 216 coincident with the arrival of the clock edge 102b at register node 212
  • the selection and connection structure and method of adjustment of the delay interval tdel, for the embodiment 208 of the present invention is described in detail below
  • the PCD 208 includes a series delay unit block 260, row access select/column access select (RAS/CAS) decode block 226, a timing control block 220, a RAS/CAS address decode block 226, an output address decode block 228. a diagonal cross point select matrix 250, and an output select logic block 252
  • the series delay block 260 has a delay block input 262 connected to the node Xin that receives the delayed clock edge 102'
  • the series delay block 260 includes a series string of Nmax spaced apart delay units 209 [j], where j is an integer, 1 - j - Nmax
  • a first delay unit 209[1] has a first delay unit input 211[1] connected to the input 262 and a first delay output 213[1]
  • Each successive delay unit 209[j], 2 - j ⁇ Nmax has a corresponding delay input 211[j] and delay output 213 [j]
  • Each delay unit, 209 [j] is characterised by an incremental delay ⁇ t between an input logic transition XinQ] at its input 21 l[j] and an output logic transition Xout[j] at its output 2130]
  • E acn delay unit 209[j] has its output 213[j] connected to the input 21 l[j+l] of the next delay unit 209[j
  • the delay units 209[j] may be selected from standard hybrid delay lines, commercial delay devices such as a family of STC delay devices of Dallas Semiconductor, or specific delay units described further below Timing Delay Control Block
  • the timing delay control block 220 has a timing control input 201.
  • Input 201 receives timing control input signals 203 from a system control function 205 (e.g., a hard wired logic circuit, micro programmed controller or microprocessor operating a predefined control program 207 stored on ROM, RAM, disk or similar storage device) for controlling the relative timing of the clock edges 102b and 102a' at nodes 216 and 212.
  • system control function 205 e.g., a hard wired logic circuit, micro programmed controller or microprocessor operating a predefined control program 207 stored on ROM, RAM, disk or similar storage device
  • Control block 220 is a conventional combinatorial conversion logic block that converts timing control commands 203 from the system control function 205 and outputs suitable timing delay address signals 222 on address bus 224.
  • the logic for converting control commands 203 to address signals 222 will typically be specified by a manufacturer of an embodiment of a PCD device 208 or by a user of a programmable embodiment of the PCD device to provide a user with a limited set of commands 203 to be used to generated the stored program 207.
  • the specification and design of timing delay control block conversion logic is within the capability of an ordinary practitioner of logic and circuit design and is not part of the present invention.
  • Control function 205 interprets stored program commands (not shown) from the program store 207 according to the specific network requirements and provides necessary control signals 203 to input 201 of the timing control block 220.
  • the design of suitable conversion logic structures for the control logic block 205 depends partially on the requirements of a particular digital system implementation, which incorporates the PCD 208 of the present invention. The specification and design of such logic conversion structures depends on the specific requirements for a particular network 200. Such specification and design is within the capabilities of a knowledgeable practitioner of system and digital logic design and is not part of the present invention.
  • Function 205 typically will be supplied by a system designer who wishes to implement specific corrective and/or system compensation delay functions by using the PCD of the present invention as part of the network 200.
  • RAS/CAS decode block 226 decodes the address signals 222[r,c] (l ⁇ r ⁇ R and l ⁇ c ⁇ C) and drives decoded matrix select lines 240.
  • Matrix select lines 240 include RAS delay select signals xr[m], l ⁇ rn - M, and CAS delay select signals yc[n], 1 ⁇ n ⁇ N.
  • output address block 228 decodes the output address signals 222[o] 1- o - O and produces decoded output select signals 242.
  • the decoded output select signals 242 connect to output select logic block 252.
  • the RAS/CAS decode block 226 is typically a conventional combinatorial logic function for selecting specific xr[m] and yc[n] lines from the address signals 222 [r,c] in order to enable a specific switch sx[j]. Again, the specification and design of such conventional logic is not part of this invention and can be done by a person having ordinary skill in the art.
  • the cross point select matrix 250 includes Nmax independently selectable switches, sx[j]. l ⁇ j ⁇ Nmax. Each switch, sx[j], separately receives a corresponding one of delayed matrix outputs signals 211 [j] from the delay block 260. Each one of the plurality of delayed output signals 2110] re individually connected to a corresponding input xin ] of the respective switch sxQ]. Each switch sx[]] has a switch output xoutQ] connected separately to the output select logic block 252.
  • Each of the logically selectable switches, sxQ], connects (on when selected) or disconnects (off when deselected) the corresponding output xoutQ] to the respective input xinO] allowing the selected delayed clock/signal 21 l[j] (i.e., the edge 102' delayed by +j* ⁇ t) to pass there through.
  • the Ndth one of the logically selectable switches sxQ] is selected (on) by the corresponding one unique combination of logic true levels on the RAS/CAS select lines.
  • a particular switch sxQ] is selected by a logic one (1) on the particular corresponding one of the RAS delay select lines, xr[m], l ⁇ m ⁇ M, and a logic one (1) on the particular corresponding one of CAS select line, yc[n]. l ⁇ n ⁇ N, where M and N are integers.
  • the mapping from n,m to j is fixed for the single edge delay embodiment PCD 208.
  • Each selected (on) switch xoutQ] therefore separately connects the corresponding delayed signal (edge) 211 [j] (i.e., Xin delayed by the corresponding delay j* ⁇ t) to the output select block 252.
  • a unique one of the switch outputs xoutQ] is selected by appropriate address pair xr[m], yc[n] from the address bus 240 from the RAS/CAS address decode 226.
  • the system controller 205 is programmed to output the necessary address pair xr[m], yc[n] to select the correct switch xoutQ] according to the control program 207 and the desired value of tdel.
  • m n
  • the decode 226 is arranged to select only one row (xr[m]) line and one column (yc[n]) at a time.
  • a delayed clock/signal output line 254 from output select logic block 252 connects the selected signal to the output Xout through the fixed (hypothetical) delay txs.
  • time delay from the input Xin to the first input 211[1] and the time delay from the output 213[Nd] to Xout will be assumed to be small compared with the delay intervals of interest. It can be shown that small excess time delays caused by finite conductor lengths and parasitic reactive loads (inductive and capacitive loading) between physically separated nodes of the delay block 260, the select matrix 250, the output select logic 252, the input nodes Xin, node 262 and output nodes 254, Xout can be compensated by selection of a suitable number of delay units 209Q].
  • Figure 6 has shown a specific embodiment of a single edge delay control and compensation system.
  • a large body of alternative embodiments of PCDs in accordance with the present invention will be apparent to a person having ordinary skill in the digital system design art.
  • multiple sets of PCDs may be placed on one network to compensate more than one pair of discrepant signal path delays SI and S2.
  • Other alternatives in accordance with the present invention include PCDs capable of selecting and connecting more than one single delayed edge derived from one originating edge 102 as shown with regard to Figure 6.
  • more than one output switch sx ⁇ ] with a single address 222[r,c] may be selected by changing the mapping of the signals 222[r,c] to the select lines xr[m] and yc[n] such that the address decode 226 enables more than a single switch sxjj] for each address 222[r,c].
  • a subset of switches E sx[j] may then be selected by a single address 222[r,c] to connect a corresponding subset of delayed signals E xoutQ] to the output select logic 252 and the output address decode 228 logic may be easily arranged to connect each of the subset E xout ] to the Xout line.
  • the output select logic block 252 receives the subset of selected signal (edges) E211 ⁇ ] through the selected set of switch outputs Exoutjj]. For a single time-delay-generator embodiment 208 of the present invention, two possibilities exist:
  • appropriate logic functions for the select logic block 252, the output address decode block 228, the control logic 220 and the system function 205 may be chosen by a knowledgeable logic design practitioner so that the system function 205 will cause the output select logic to select a single required switch, xout[j], for connecting the desired single one of the delayed outputs 211J to be routed to the delayed output 262 by choosing to appropriately drive only the corresponding one of the switches sx[j] to which it is connected from among the whole set of delayed outputs, Nmax.
  • One knowledgeable in the art may select any one of a number of known logic functions.
  • an alternate embodiment of the single time delay generation may be implemented by replacing the output select logic block 252 with a wired AND connection 252" of the outputs xout.
  • the RAS/CAS addresses are limited to those which only select a single one of the outputs xout at a time. This can be implemented in the control program 207 of the digital system incorporating the PCD 208.
  • Diagonal Cross Point Select Matrix With reference to Figure 9, there is shown a more detailed schematic representation of a novel diagonal cross point (DCP) matrix 400 performing the function of the cross point select matrix
  • the cross point 400 includes; a) M parallel and spaced apart row select input lines 402[m] each connected separately at an outer peripheral end to a corresponding one of the RAS select lines xr[m] of the matrix select bus 240; b) N parallel and spaced apart column select input lines 404[n] each connected separately at an outer peripheral end to a corresponding one of the N CAS select lines yc[n] of the matrix select bus 240.
  • the M row lines 402[m] are not parallel to the N column lines 404 [n] and are directed proximally away from the respective outer peripheral ends toward one side of a diagonal 500 disposed from opposite corners Cl, C3 of the DCP 400.
  • the column lines 406Q] are not parallel to the row switch output lines 409Q] and are both directed proximally from the respective outer peripheral ends toward the opposite side of the diagonal 500.
  • the row select input lines 402Q] and row switch outputs 409Q] may be aligned or be offset from each other.
  • the column input signal 4060] and column select input lines 404Q] may also be aligned or be offset from each other.
  • An array of the switches sx ], 1 - j - Nmax, is disposed generally along the diagonal 500 across the DCP 400.
  • Each switch sxQ] includes a two input AND gate 410[j]. One input of each AND gate 410Q] is connected to the corresponding row select line 4020] and the other input is connected to the corresponding column select line 4040].
  • AND gate 410[j] drives a base input 412[j] of an adjacent NPN transistor switch 4140] that has its collector 416[j] connected to an opposite proximal end of the corresponding column delay signal input line 4060] and its emitter 418[j] connected to the corresponding opposite proximal end of the row switch output 4090].
  • the CAS column address select signals 404[n] (from yc[n]) and RAS row address select signals 402[m] (from xr[m]) are spatially well separated from the delayed input clock signals 4060] (from xoutQ]) and switched delayed output signals xoutQ] except for their end-to-end proximity near the AND inputs 406Q] and 4090] along the diagonal 500.
  • This spatial separation tends to minimise coupling between the switch logic selection signals and the critical delayed signal edges thereby tending to improve isolation between control and signal data.
  • NPN transistor 414 j The selection of the NPN transistor 414 j] is applicable to one embodiment of the invention.
  • An N-channel FET could also be used Alternatively a PNP transistor or P-channel FET could be used with inverted logic levels.
  • a programmable fixed connection such as an EEPROM programmable FET can replace the active transistor 4140].
  • Other programmable matrix selection methods are also applicable, such as arrays of metal fuses or anti-fuses as are known in the art. ECL Implementation of The Series Delay Block.
  • FIG. 10 there is shown a schematic of one preferred embodiment of a Emitter Coupled logic implementation 550 for the series delay block 260 in the PCD 208 of Figure 6
  • the block 260 is composed of a series connection of ECL cells 551fj] 1 ⁇ j ⁇ Nmax
  • Each cell 551 ⁇ j] includes two NPN transistors 554 and 556 with collectors 558, 560 joined to a +VCC bus
  • Separate emitters 562 and 564 form the outputs of each cell 551[j]
  • Emitter 562 is connected to a -VEE bus through a resistors of value Rl to provide the proper bias to the transistor 554
  • Emitter 564 is also connected to the -VEE bus by a resistor of value Rl
  • Independent bases 566 and 568 of transistors 554 and 556 are respective inputs of each cell 5510]
  • a first stage, 551 [ 1 ] has base connection 568 of transistor 556 driven by an output of an inverter 570
  • the transistor 554 of 551[1] has base connection 566 driven by an output of a buffer 572
  • Both inverter 570 and buffer 572 are driven by the delay block input 262 of Figure 6
  • the emitter outputs 562 and 564 are therefore logically complementary.
  • the emitter outputs 562 and 564 are separately connected to respective base inputs 566 and 568 of a second delay stage 551 [2] replicating the cell 551 [ 1 ] Successive series replicates 551 ] of the cell 551[1] connect output emitters 562, 564 of cell 551[j] to input bases 566, 568 of cell 5510+1] and are chained together to form the delay block of length Nmax
  • Each stage, 5510], of the delay block 550 has one of the transistor emitters 562 of each stage connected to the cross point select matrix 250 of Figure 6 as the corresponding delayed clock signal 2130]
  • E acn stage, 5510] adds its own characteristic time delay, ⁇ t, to the delay of the input signal to that stage, 2130-1]
  • the total delay from the input 262 to output 213[Nd] of the Nd-th cell again is Nd* ⁇ t (not including excess delay if any, through the buffer 572 and inverter 570)
  • the complementary emitter output 564 of each stage, j may be connected to external circuitry (not shown) as a complementary delayed output having essentially the same delay j* ⁇ t as the output 213Q]
  • the inverter 570 and complementary buffer 572 in combination with the dual transistor cells 551Q] provide a balanced power supply current drain behaviour for the network to which the delay line of Figure 10 is connected When one transistor e.g., 556, of the cell 5510] > s conducting heavily, the other transistor, 554, of the cell is conducting less, thereby balancing the total current drain on the VEE and VCC power buses
  • One half of the cell 5510] (e g , transistor 556 and associated resistor Rl) may be omitted in cases where current balance is unimportant
  • the cells 5510] may be formed by conventional photolithographic processes on a single integrated circuit, or may be individual devices wired together on a printed circuit board
  • FIG. 11 there is shown an example 580 of the ECL delay line of Figure 10 in which the length of the delay line (i e , the number of delay cells, Nmax) is extended by including level shifting circuitry
  • the ECL delay line 580 is comprised of a first delay line stage
  • the first delay line comprises series cells 5510 ' ] w ' tn a fi rst ce ⁇ driven by the buffer 572 and complementing inverter 570.
  • Each cell 5510] has its output 213'[j] driving an input of an ECL level converter circuit 582.
  • Each circuit 582 has its output 23 l[j] providing the signal at 213'Q] with the ECL level restored ECL level restoring circuits are found for example in U S patents 4,435,654 by
  • the last cell 551 [j] of delay line stage 550 also has its restored level output 2130 ' ] driving the input of the next stage 553 ECL delay lines for the PCD of any desired number of delay cell 5510] can be built by concatenating the stages 553
  • CMOS implementation of the senes delay block 260 of Figure 6 in which the cells 551 [j] are implemented with CMOS inverters in place of the transistor-resistor combination of Figure 10 and the inverters 570, 572 are omitted It is apparent that the delay element type in the delay line block 250 may be of a different technology than the element type in the other blocks, e.g., the address decode blocks 226, 228 and select matrix 250 or output select logic block 252.
  • the delay line block 250 may be a high-speed technology such as ECL, and the other blocks be CMOS for example.
  • the element type of the network to which the PCD may be connected may also be of a different type.
  • the network that connects to nodes 216, 212 may be a PC motherboard or other printed circuit board.
  • the network may be an integrated circuit or hybrid circuit with the PCD 208 connected thereto.
  • delay elements 209Q] made from the highest speed (i.e., shortest ⁇ t) technology available; for example, in ECL technology or in High Electron Mobility transistor (HEMT) technology.
  • a faster delay element 209Q] consequently requires Nmax be proportionately increased to cover all possible divisions (multiplications) of the base clock pulse width (frequency).
  • the network 700 includes a plurality of associated pairs of digital pulse signal paths Sl[p] and S2[p] of different electrical lengths (delay) ⁇ tl[p] and ⁇ t2[p] where ⁇ t2[p] > t l [p] from one common end connected to associated digital pulse signal sources 704[p] to respective distal ends.
  • Other signal paths S[r] not having critical timing relationships are not shown.
  • the shorter signal paths S2[p] are provided with a respective PCD 702[p] connected in series at insertion nodes 705 [p] therein as indicated by the dashed lines.
  • insertion nodes 705 [p] include two electrically isolated adjacent lands 710[p] and 711 [p] joined by a removable conductive link 712[p].
  • the removable link 712[p] may be removed by physically cutting after a PC board is fabricated and measured, or may be part of the photolithography-etching process during manufacture
  • the delays ⁇ t2[p] > ⁇ tl[p] may be measured on an actual circuit board 700, and individual PCD circuits having delays ⁇ tp[p] determined and programmed externally may be installed in pre-assigned lands 10[p]
  • the CLDT 750 e.g., a CAD system, includes a computing resource 752, (such as a SUNTM computer workstation, a high end PentiumTM PC or a mainframe computer), an on-line disc storage system 754, an integrated circuit design program and tool set 756, and a display 757 presenting a graphical user interface GUI 758 co-ordinating the computing resource 752, the storage system 754 and the design program 756 with circuit design and verification data base I/O 759 (e.g., document entry from magnetic tape and/or keyboard and manual net list) by means of internal bus 755
  • a computing resource 752 such as a SUNTM computer workstation, a high end PentiumTM PC or a mainframe computer
  • an on-line disc storage system 754 such as a SUNTM computer workstation, a high end PentiumTM PC or a mainframe computer
  • an on-line disc storage system 754 such as a SUNTM computer workstation, a high end PentiumTM PC or a main
  • CAD programs of this type are available in the marketplace and more will be developed in the future.
  • the PCD network design process 751 of the present invention is represented as a two headed arrow to indicate the iterative relationship between the circuit design data base 759, the PCD cells 702[p] and the PCD network layout 700
  • a particular implementation of the PCD network design process 750 is represented by the process symbol 75 la signifying the portion of the CAD program 756 which controls the configuration of the PCD cells 702[p].
  • the CDLT 750 is used by a knowledgeable person, i.e., a trained IC design engineer, or trained technician to layout printed circuit boards (PCBs) or integrated circuits (ICs) from a circuit design input source 760 (e.g., a net list or the like).
  • a knowledgeable person i.e., a trained IC design engineer, or trained technician to layout printed circuit boards (PCBs) or integrated circuits (ICs) from a circuit design input source 760 (e.g., a net list or the like).
  • the CDLT is provided with a plurality of PCD cells 702[p] that are placed in the circuit layout (network) 700, each PCD having a predetermined maximum number of delay elements, Nmax[p].
  • a design process 751 in accordance with the present invention is indicated by the accompanying table 1.
  • Process 751 may proceed with the design tool operator using the design tool 750 to lay out the physical topology 700 of a plurality of circuit paths Si[p], typically from a net list 760.
  • the circuit paths Si[p] typically include path circuit elements (not shown) such as combinatorial logic, chip memory elements, micro controllers and the like with known or specified delays between respective inputs and outputs.
  • the design tool 750 is programmed (by currently known means) to compute the cumulative delays ⁇ tl [p], ⁇ t2[p] for each path S 1 [p], S2[p] from known characteristics of the signal path circuit elements. The design tool 750 then computes the associated path delays Sl[p] according to the timing analysis portion of the design program 756
  • a plurality of PCDs 702[p] and PCD insertion points 705[p] are placed according to a suitable a priori decision rule (R[P]) which may be developed by knowledgeable design persons according to the needs of a particular technology
  • R[P] a priori decision rule
  • a simple decision rule is to place PCDs on a grid disposed across the area of a proposed PCB 700 with a fraction, say 5%, of the PCB area allocated to potential PCDs and insertion points 705 [p]
  • the advantage of this design process 751 is primarily in that the layout of the circuit netlist S[r] is only done once and any signal path delay discrepancies for signal paths Sl[p], S2[p] can be corrected by simply inserting the selected PCD circuits in the PCB layout 700. Thus a single corrective step provided by the design process 751 can reduce layout iterations.
  • Programmable PCD components 702[p] having the structure of the PCD 208 in Figure 6 may be programmed with an external control 205 to provide a compensating delay Nd* ⁇ t for a signal path Sl[p] of a completed PCB 700
  • the programmed PCD 702[p] can then be inserted in the discrepant path Sl[p] by known means for breaking a signal path on a PCB and inserting a component therein
  • the entire PCD 208 may be fabricated as a single component for insertion into a printed circuit board, by packaging the PCD 208 in a conventional IC package and presenting the two nodes Xin and Xout and connection 203 as device pins for soldering or socketing to receiving holes or lands provided on such a board.
  • a propagation delay difference, tdel, between the two nodes 212 and 216 may then be eliminated by programming the PCD 208 with a sufficient number of delay stages, Nd, to off set tdel, e.g., selecting Nd to be a number large enough to make
  • Embodiments of the PCD 208 may be programmed by an external programming device (not shown) in the manner described with regard to Figure 13.
  • External programming devices are well known in the art and are generally easily programmed by persons knowledgeable in that art.
  • Embodiments of the PCD in accordance with this invention include the PCD 208 and incorporate the controller 205 and control program 207 therein.
  • the addition of a timing delay self test capability to a PCD give rise to another class of PCD devices that are auto- compensating after measuring the discrepant tdel between two Sl[p], S2[p] nodes.
  • the desired tdel may be selected by measuring the undesired delay, tdel, between two Sl[p] and S2[p] nodes such as 212 and 216.

Abstract

A Pulse Clock Delay (PCD) apparatus (208) includes a selectable plurality (Nd) of series-connected pulse transition delay units (209) from a total plurality (Nmax) of such units. Each unit provides an incremental transition delay interval Δt. The PCD may be connected to a first intermediate proximal node (nla) and an adjacent electrically isolated second intermediate node (nlb) where the first and second intermediate nodes are in a shorter (215a, 215b) of two signal paths having respective proximal and spaced apart distal ends (212, 216) in an electrical network. Control means (205), responsive to the difference in electrical length between the two signal paths (214, 215), configures the switchable selection means to select a particular number of delay segments such that the propagation of a first edge transition (102) through the series combination of the shorter first path (215a, 215b) and the delay segment (208) is delayed sufficiently to arrive at the second path distal end (216) within +/-Δt of the time of arrival of the first edge transition propagating through the second path. Multiple PCDs may be distributed on a PCB to compensate delay differences for multiple pairs of unequal length bifurcated clock/signal lines.

Description

PULSE CLOCK/SIGNAL DELAY APPARATUS AND METHOD
BACKGROUND OF THE INVENTION
ELECTRICAL NETWORKS
An electrical network consists of signal nodes connected by electrically active elements. The electrically active elements include conductors, linear passive elements and linear and non-linear active elements. A given network is partially described by the kinds of elements involved and the network geometry, i.e., the manner in which the various elements are grouped and interconnected at their terminals. Passive elements such as conductors, resistors, capacitors and inductors may be interspersed with active elements such as transistors, gates, integrated circuits and the like.
All of these elements may be considered branches of the network. The geometry of a network is described in schematic form by the nodes to which two or more terminals of the elements are connected. The electrical conductors of the network are themselves elements or branches of the network.
One portrayal of a network shows the geometrical interconnection of elements only, and takes the form of a graph; i.e. each element of the network is represented as a line having two small circles at either end denoting the terminals of the elements connected at a node.
In digital logic networks (circuits), active elements (devices) may have terminals that are bidirectional (sometimes operating as an input and sometimes as an output) but are generally unilateral, i.e., signal transmission for related terminal pairs proceeds in one direction only, e.g. from an input terminal to an output terminal. Even bi-directional terminals exhibit unilateral behaviour for certain time periods, e.g., during a portion of a system clock cycle or cycles when they are designated as input or output. COMPLEX ELEMENTS IN NETWORKS
Complex elements, such as logic arrays, microprocessors and memory components are generally represented as rectangular boxes with multiple lines extending to small circles denoting terminals. The lines are annotated to represent input and output logic variable names.
For example, in Figure 1, nl, n2 indicate signal node nl and signal node n2, 1(1,2) indicates a signal link or path between nodes 1 and 2. The links 1(1,2) may be composed of any combination of passive and active elements connected in series-parallel combinations. That is, signal nodes nl and n2 are connected by signal paths 1(1,2) that may represent a simple conductor or may represent a complex bi-bilateral element such as a combined microprocessor/logic array or a series-parallel combination of many different kinds of each. Let S[r] represent all signal paths of interest for the network of Figure 1.
Networks may be built from any one of a number of particular logic families, e.g., TTL (transistor-transistor logic), RTL (resistor-transistor logic), ECL (emitter-coupled logic), CMOS complementary-insulated gate and the like. Basic active elements, viz. logic functions, such as NAND.NOR, AND, INVERT gates, pass transistors are generally interconnected to form the complex elements described above which in turn are interconnected to form still more complex elements.
NETWORK ELEMENT DELAY
Complex logic elements may be characterised to a first order by a plurality of input and output terminals, each having a respective logic threshold. The logic thresholds at input and output (the voltage level or current level at an input or output terminal which defines the transition between a logic one and zero) may be the same or different. A logic function of a complex element, i.e., the logical response at an output from a logic transition at one or more activating inputs, typically can also be characterised as having a time interval or propagation delay through the active element or function between a logic transition of an activating signal at an input and a logic transition of a responsive signal (if any) at an output. The propagation delay is the time interval between the logic transition of the input signal at an input terminal and a corresponding logic transition of a respective responsive signal at a corresponding output terminal. The propagation delay of a branch or element is the interval or span of time between an input signal transition (for digital circuits, a logic transition) originating at one terminal of an element or branch until the occupancy of a corresponding output signal transition (or edge) at another terminal (the output terminal) of the element or branch by the propagation of the effect of the input signal through the element or branch.
A multiple terminal active element may have a multiplicity of signal edge delay time delay intervals between a particular pair of terminals associated with different functions or state transitions. Typically the design of electrical network systems will take into account a worst- case delay interval for such terminal pairs.
Another important feature of high-speed digital networks is the topology of the physical network. There is generally little correspondence between the topology of the schematic or network graph and the topology of the actual physical layout of the circuit elements and interconnections. Frequently, in translating a complex circuit design from schematic to printed circuit board (PCB) layout, the physical length (and consequently the electrical length or delay time) of the conductor traces between different nodes (terminals) of logic elements (due to the excessive signal edge delays caused by the interconnect) impacts the performance of the system so significantly, that the layout must be redesigned. Redesigning the layout adds significant cost and schedule delays in the process of introducing a new product to the marketplace. There is no assurance that a re-layout will not introduce another critical delay limitation in the same or some other path.
The propagation delays of circuit elements themselves can also be problematic. Components made by different component manufacturers may have inherent propagation delay times between input and output terminals that have different probability distributions. Worst case design to cover different ranges of propagation delay tend to decrease performance for lower cost devices, or increase cost for higher performance (i.e., faster or tighter distribution) devices. Some physical layout design tools are available from Computer Aided Design Tool services and manufacturers that are typically used to analyse the performance and timing of topological layouts for instances of limitations caused by the delay issues discussed above Once a problem is identified, components may be relocated and a timing analysis run again This layout-analysis step often can become a loop procedure repeated several times until the performance is satisfactory
The propagation delays between input signal transitions and output signal transitions of logic elements and of the interconnect (branches) between nodes (terminals) is one very significant feature of high speed networks A series connection of two or more branches forms a signal path having an associated cumulative signal propagation delay
The cumulative propagation delay, id, of a signal path composed of a series of branches, l≤ k < K, is sometimes approximated by computing
td = _ _tk , the simple arithmetic sum of the propagation delays of the series branches, tu.
Another useful approximation is the geometric sum of the individual branch propagation delays
=^ΣJ
Generally, the total branch delay intervals lie between these two approximations
PRACTICAL CONSIDERATIONS TO SIGNAL DELAYS
For complex, high performance networks, such as computer motherboards and microprocessor chips the delay time delay interval of the interconnect (i e , wires and PCB traces) can have a significant impact on the maximum speed of the network Particularly as the operational cycle time of computer chips and boards increases to 300-400 and 500 MHz the length of half a clock period is decreased from 15 to 12 5 to 10 ns Since the speed of an electrical signal on a PCB can be about 1 5 ns per foot, for an 18 inch PCB the time delay of a signal propagating along an interconnect line can amount to 10 to 15 % or more of the time allocated to the to the computing circuits. This is an unacceptable penalty for performance. In some cases, a critical signal may be delayed sufficiently in one part of the physical layout that the network will not operate at the desired clock frequency. In such a situation it may be necessary to add an extra clock cycle or wait state to the system operation, to allow the lagging signal to be used in the next system cycle. The critical delays may be associated with clock signals or data signals or both.
A good discussion of the challenges presented for designing and building high speed digital systems is found in the March, 1998 issue of Computer Design magazine from pages 27 through 35 Clock and signal skew can be effected by a host of factors: manufacturing and component tolerances vary statistically around some mean value. Output loading of drivers and input loading of receiver can vary as well. Cross sectional tolerances of fine-pitch PCB can vary as well up to 5 to 10 % or worse. Dielectric constant variation in the surface layer of a PCB or differences between layers can result in substantial differences in equal length signal lines routed on different layers
A motherboard designed to accept components from many different suppliers might force the design engineer to make undesirable worst-case assumptions about partitioning the clock and the allowable skew. At today's high clock (and signal) speeds, interconnect is just another component in the clock-signal chain.
Impedance matching and Schottky-diode clamping can improve rise-time and overshoot problems but do not contribute to a solution to the variability of signal/clock delay interval through the logic element-interconnect chain.
Some techniques for addressing the delay variability problem include careful layout of power and ground planes of a PCB; isolating all high-frequency components (processor, clock generator, chipset, etc.) by placing them over an isolated ground plane. Alternatively, a common ground plane can be used for the entire board, with two or three internal ground layers inside the PCB. Other techniques include high-speed differential drivers, specialised clock-distribution topologies (Star, point-to-point-routing, distributed low-frequency clock generators driving local PLL multipliers for local high-frequency clocks). Hand routing of clock traces before any other signals are placed is another good design practice Other design practices limit the placement of clock generators, crossing of clock traces, and eliminate the use of sockets for clock generators Almost all of these techniques require additional board space, increase component cost, and increase manpower required for design and verification of the layout
SIGNAL DELAY MISMATCH AND PRIOR ART SOLUTIONS
With regard to Figure 3, there is shown a schematic representation of a clock line 10 in an electrical network, e g , a PC motherboard The clock line 10 has a node nO connected to a clock generator CLK that produces a clock signal edge 102 at node nO that occurs at time instance tO The clock signal edge 102 propagates from node nO at one end of the clock line 10 to an intermediate node 202 The clock line 10 splits into two branches 214 and 215 with proximal ends joined at node 202 to distribute the clock signal 102 to different parts of the circuit, e g , spaced apart node 212 at a distal end of clock conductor segment 214 and node 216 at distal end of clock conductor segment 215 For the present discussion impedance matching is assumed but not shown The conductor 214 is of length LI from node 202 to node 212 The conductor 215 is of length L2 between node 202 and node 216 L2 is electrically shorter than LI The clock signal edge 102 propagates from proximal node 202 to distal nodes 212 and 216 After travelling the length of LI and L2, edge 102 arrives at node 212 at time t2 as edge 102b and arrives at node 216 at time t3 as edge 102a Since L2 is electrically shorter than LI t3-t0 is less than t2 -tO
The extra delay of edge 102b over that of 102a, i e , t2 -t3 (clock timing skew) can cause logic function errors in circuits connected to clock signals at nodes 212 and 216 If logic circuits (e g microprocessor, memory chips, not shown) connected to the two nodes 212, 216 are connected to input logic signal lines (not shown) that have logic levels changing near the edge time tO, they can latch incorrect output logic levels because of this timing skew
SELECTABLE TIME DELAY (STD) CIRCUIT ELEMENTS INVERTER CHAINS, REFERENCE EXAMPLES
Circuit elements having extra time delays may be inserted into the shorter electrical path L2 to bring the signal edge 102a into synchronism with edge 102b For example, a series chain of inverter pairs each having a small propagation delay, &t, can be inserted into line L2 to add extra delay to a delayed edge of 102a Alternatively, a circuit element having a controllable delay time can be inserted Examples of these are active hybrid delay lines and Silicon Timed Circuits (STCs) by Dallas Semiconductor, Dallas, TX The STCs are offered in the two basic architectural types of delay lines a single input with multiple outputs (taps) with delay elements between each, and single input/single output delays, usually with multiple independent delays in a single package
Both of these derive time delays from voltage ramps obtained from charging selectable members of a capacitor array with a constant current and detecting the time when the voltage ramp crosses some threshold Different time delays may be selected by choosing one or more of the parameters, threshold voltage, ramp current and capacitor value
CONNECTION OF THE TIME DELAYS INTO SELECTED SIGNAL PATHS CROSSPOINT SWITCHES
Once a signal path needing additional signal delay is identified the path must be opened and the STD having the desired additional delay inserted Methods of inserting additional circuits into other circuit paths are known US patent 5,400,262 by Mohsen, describes a "interconnect matrix array" (the '262 matrix) that allows any one of a set of input/output pads (or conductive lead end terminals) arranged in an area matrix to be connected to any other one of the set of pads (end terminals) Mohsen's array or crosspoint switch is comprised of a first set of conductive leads formed in a first direction, a second set of conductive leads formed in a second direction, the second direction being not parallel to the first, and programmable element structure for electrically interconnecting selected ones of the conductive leads in the first set to one or more of the conductive leads of the second set at respective crossing points Selected ones of the conductive leads are segmented Associated with each row and column of input/output pads/leads is a channel having one or more parallel conductive tracks each capable of being broken into segments The '262 matrix provides great flexibility in interconnecting external circuit connections However the '262 matrix has the disadvantage that for practical circuits, an equal number of multiple tracks are required for each desired input pad and output pad interconnection (i e , terminal ends) This causes a rapid increase in the circuit area of the switch and the introduction of possible undesired signal noise coupling between different signals on closely adjacent tracks.
Other cross point matrix configurations are known, such as Reissue patent RE35, 483 ('483) by Harrand. In Figure 3 of Harrand any output column m is connected to any input row n by a crosspoint switch element. Each column and row comprise two differential lines Oj 1, Oj2 and III, Ii2. The crosspoint switch element comprises the two drains of a differential amplifier Ml, M2. Ml and M2 are differentially driven by separate drains of another differential pair M3, M4 whose gates are driven by the differential row inputs of row n. Two selection lines Sij and Sij* (the complement of Sij) enable the differential pair M3, M4.
The matrices of '262 and '483 both have the common disadvantage that selection lines (e.g., Sij and Sij*) that enable the connection of a row to a column must run across the full width and breadth of the matrix. The disadvantage arises from two factors: first, the size of the array must accommodate space for the signal rows and signal columns in addition to the space for the selection lines. For practical arrays, this means there must be space for twice the number of lines crossing the array in both X and Y directions.
Second, for very high-speed signals in such cross point switch matrices, there will be coupling between selection lines and signal lines when they are closely spaced. This can be seen with reference to the matrix shown in Figure 2, that depicts a simplified schematic of a typical crosspoint matrix such as that of the '262 and '483 patents. Like many other prior art cross point switch matrices, matrix has crossing (e.g., X and Y axis) input and output signal lines running the full width and breadth of the array. Programmable elements al02(ln,m) connect the signal row lines Ri/o,[n] to signal columns lines Ci/0,[m] when enabled by suitable logic levels on the respective row select input 104,n,m and column select input 106,n,m.
Row select lines 104,n and column select lines 106,m provide the logic levels to the respective switch row and column select inputs and also run the full width and height of the array respectively. Again, the programming lines for selected rows rsel,n and for selected columns csel,m take up more array space, i.e., a larger array for a given number of interconnections to be made, and also are subject to noise coupling between closely adjacent programming lines and I/O signal lines. It would be advantageous to combine a selectable delay circuit element with an interconnection element that could provide selectable propagation delay to selected circuit paths while minimising increased circuit area and minimising noise coupling between I/o signal lines and programming lines
C SUMMARY
PULSE CLOCK DISTRIBUTION (PCD) SYSTEM AND METHOD The present invention provides a method and system for correction of unwanted delay mis- matches that exist or are introduced between respective clock signal and/or data signal edges in corresponding clock and/or signal paths
SIGNAL PATH TRANSITION EDGE DELAY EQUALIZATION
The method and apparatus of the present invention provides for introduction of a series connection of a selected number of elemental signal edge transition delay units in series relationship with an electrical path propagating a selected clock signal or data signal of an electrical signal network An edge transition equalisation system incorporating a signal transition edge delay controller that may be connected to a multiplicity of such signal edge delay units in selected branches of a pulsed signal network
An embodiment of the present invention may be used as an apparatus for a novel method for inserting or interposing additional signal edge transition delays in one or more of selected signal branches
CLOCK/SIGNAL PULSE EDGE DISTRIBUTION AND CONTROL
The present invention provides an apparatus and method for distributing clock/signal pulses with selected signal transition edge instances delayed by a selectable propagation delay from an initiating clock/signal pulse edge transition Insertion of an embodiment of the programmable delay line of the present invention into one signal path (branch) of a multi-branch clock/signal line causes a first clock/signal edge at one node of the one branch to occur at an edge time instance (the edge time) simultaneously with the edge time instance of a second clock/signal edge from the same initiating clock/signal pulse edge but propagating on an electrically longer bifurcated branch portion of the same clock/signal line.
One feature of some embodiments of the present invention is a novel diagonal cross point (DCP) matrix used to connect the selected number of propagation delay line elements into the desired signal or clock line. The DCP provides isolation between the row/column select lines and the row/column signal lines in two ways. First, the row select and column select lines for any selection switch of a linear array of select switches are disposed on one side of the linear array and the row signal lines and column signal lines are disposed on the opposite side of the array. Secondly, each selection switch of the array provides isolation between the proximal end of the select lines and the proximal end of the signal lines.
DESCRIPTION OF DRAWINGS
FIGURE 1 is an illustration of electrical network nodes and branches.
FIGURE 2 shows typical prior art cross point switch architecture.
FIGURE 3, depicts a schematic representation of a clock line 10 in an electrical network with different electrical length (delay) clock branches between two network nodes.
FIGURE 4, shows a modification in the clock line circuitry of Figure 3 incorporating an embodiment 208 of the PCD of the present invention.
FIGURE 5 depicts a simplified schematic representation of Figure 3.
FIGURE 6 illustrates a block diagram of a larger network with a portion of the clock line 10 of Figure 4 modified to include an embodiment of the PCD system 208 of the present invention shown as.
FIGURE 7 indicates the relative timing of a delayed clock edges at different nodes on clock line FIGURE 8 exhibits an alternate embodiment of the output select logic for the PCD 208 shown in Figure 6.
FIGURE 9 presents a more detailed schematic representation of a novel embodiment 400 of the cross point select matrix 250.
FIGURE 10 shows an ECL embodiment of the delay block 260.
FIGURE 11 illustrates an alternative ECL delay block including level shifters.
FIGURE 12 depicts a CMOS embodiment of the delay block 260.
FIGURE 13 illustrates a PCB with timing mismatches of the layout 700 modified by the addition of PCD devices in accordance with this invention.
FIGURE 14 depicts one option for inserting the PCDs of Figure 13 into the PCB layout 700.
DETAILED DESCRIPTION OF THE INVENTION
The Pulse Clock Distribution apparatus of this invention will be described in conjunction with several embodiments. Other embodiments will be apparent to those skilled in the art in view of the following description. The following descriptions are meant to be illustrative only and not limiting.
A Single Edge Delay Generation Embodiment of the PCD. With reference to Figure 3 and Figure 4 an embodiment 208 of the present invention modifies the structure of the clock line 10 in Figure 3 to that of the clock line 100 of Figure 4. The clock line 100 is modified by PCD 208 to equalise the edge delay at separated circuit nodes receiving a pulse edge from a common source. The shorter conductor 215 of Figure 3 is divided at an intermediate node nl into two electrically isolated conductors 215a and 215b. The conductors 215a and 215b are separated at node nl just enough to define immediately adjacent, electrically isolated nodes nla and nib. Nodes nla and nib are respectively connected to input and output nodes Xin and Xout of an embodiment of PCD device 208 of the present invention. Node nla and nib only need to be separated sufficiently to electrically isolate conductors 215a and 215b without significantly changing the length L2.
The PCD device 208 is an electrically programmable delay generator comprised of a plurality, Nd, of delay elements 209[j] each having a respective input and output with a respective increment of propagation delay, Δ there between. The plurality of delay elements 209[j] are connected in series between Xin and Xout. A first one of the delay elements 209[1] has its input connected to Xin, and a last one of the elements 209[Nd] has its output connected to Xout. Each element 209[j] except the first and last has its respective input and output connected to the corresponding preceding and following element 209Q-1] and 209[j+l].
The clock signal 102 propagates from node nO to node nla along clock line 100 and segment 215a and appears on Xin as a delayed input signal edge 102' at time txin. The signal edge 102' is received by the input 262 of the first element 209[1]. Each delay element 209[j] adds an increment of propagation delay, t, to the delayed input clock signal 102' propagating from the first element 209[1] in series to the last element 209[Nd]. The last element 209[Nd] outputs a further delayed clock signal 102" at Xout that is delayed by the sum of the t's of the Nd elements 209[j]. The number Nd of elements 209[j] is arranged so that sum of the Δt's, ∑Δt, for the Nd elements 209[j] adds to the delay of the signal 102' to produce a final delayed clock signal 102a' which appears at node 216 in synchronism with the clock edge 102b at node 212 within one t; i.e., ∑Δt = t2 - 13 +/- Δt.
The selection and connection of the Nd delay elements 209[j] is carried out by co-operating switch connection control circuits (not shown) in the PCD 208. The switch connection control circuits in 208 may be of the conventional selector and multiplexor types known in the art or may be as described by the '262 and '483 patents, e.g., variations of the cross point matrix shown therein. For example, a cross point switch may be used to connect the output of the Ndth element of a series of Nmax elements to the output Xout, where Nmax > Nd. A preferred embodiment of the present invention includes a controller 205 with a control program 207 combined to provide control signals 203 to control input 201 of the PCD 208 that selects and connects at least Nd out of Nmax delay elements 209Q] to produce the desired delay
Referring to the timing diagram of Figure 4, the signals 201 on time delay control input 203 in combination with the switch connection control circuits (not shown) causes the PCD 208 to insert a desired propagation delay, tdel, between the instance, txin, of the delayed clock pulse 102 received at Xin and a corresponding instance, txout, of a further delayed output pulse clock edge 102" at Xout at the node nib One method of the generation of control signal 201 and the method of selecting tdel is described generally below The value of tdel is selected so that the instance t3' of the delayed clock signal edge 102a at node 216 is delayed equally (within one Δt) with that of signal edge 102b at node 212; therefore t3 + tdel = t3' = t2.+/- Δt.
Embodiments of the PCD 208 invention of Figure 4 are preferably implemented by tapping from a selected one of an intermediate stage of a long series chain of incremental delay elements as described Alternatively, prior art programmable delay devices such as hybrid delay lines known in the art or programmable delay devices such as the SCTs by Dallas Semiconductor may be used as the delay elements 209[j] The connection of a Ndth output of a series of Nmax elements may be implemented by conventional selector/multiplexor circuits, with a prior art cross point switch as shown in the '262 patent or the '483 reissue, or with a novel diagonal cross point (DCP), described below, that is a feature of embodiments of the present invention.
Detailed Functional Block Diagram of one Single Edge Delay Embodiment of the PCD Referring to Figures 4, 6 and Figure 7, the clock line 10 of the digital network in Figure 3 is modified to clock line 100 of Figure 4 Clock line 100 includes an embodiment of the PCD system 208 of the present invention shown in a more detailed block diagram
Referring to Figure 6, and the timing diagram of Figure 4, there is shown a more detailed block diagram of an embodiment of the PCD 208 included in a portion of the clock line 100 for a digital controller network 200 The clock line 100 is driven at the first clock node 202 by a clock source 204 (CLK). The first clock line (branch) 215a, 215b of length L2 connects the clock node 202 to a nearby first portion of the network 200, e g , a counter register input clock node 216 The (electrically) longer second clock line (branch) 214 of length LI also connects clock node 202 to another more remote portion of the network 200, e.g , a spaced apart address register input clock node 212 LI is considerably longer (electrically) than L2
Figure 7 shows the relative timing of the fast rising clock edge 102 at input node 202 originating at time instance tO The clock edge 102 divides at node 202 and propagates along the bifurcated clock line branches 215a, 215b and 214 and arrives as a first delayed clock edge 102a and second delayed edge 102b at nodes 216 and 212 respectively The first delayed clock edge 102a arrives at delay instance tl from edge 102, and the second delayed clock edge 102b arrives at second delay instance t2 from edge 102 due to the longer branch length LI.
The clock branch 215 of Figure 3 is electrically separated at node nl into two electrically separate nodes, nla and nib connected respectively to an input node Xin and a delayed output node Xout, leaving the line lengths Ll and L2 essentially the same as before. Node Xin and node Xout are connected to the PCD 208 The PCD 208 receives the clock edge 102' at the input node Xin and outputs a delayed clock signal edge 102" at the delayed output node Xout With regard to Figures 6 and 7, the PCD 208 adds additional propagation delay tdel to the clock edge 102a
Propagation delay tdel consists of two portions the selectable delay ∑Δt and excess delay, txs, contributed by supporting circuitry within the PCD 208 Txs represents fixed propagation delays (the sum of parasitic delays) within the PCD 208 caused by the physical structure of any particular embodiment of PCD 208, not contributed by the selectable delay elements 209[j]. As such, Txs allows the delay characteristics of the PCD 208 to be represented as an assembly of ideal, i e , zero delay components in series with the selectable delay ∑Δt and the hypothetical excess delay, Txs. PCD 208 generates delay tdel between Xin and Xout to produce an intermediate delayed clock edge 102" at Xout The intermediate delayed clock edge 102" is arranged to cause the further delayed clock edge 102a' (edge 102' delayed by tdel) to arrive at the register node 216 coincident with the arrival of the clock edge 102b at register node 212 The selection and connection structure and method of adjustment of the delay interval tdel, for the embodiment 208 of the present invention is described in detail below
PCD Functional Blocks
The PCD 208 includes a series delay unit block 260, row access select/column access select (RAS/CAS) decode block 226, a timing control block 220, a RAS/CAS address decode block 226, an output address decode block 228. a diagonal cross point select matrix 250, and an output select logic block 252
Series Delay Block The series delay block 260 has a delay block input 262 connected to the node Xin that receives the delayed clock edge 102' The series delay block 260 includes a series string of Nmax spaced apart delay units 209 [j], where j is an integer, 1 - j - Nmax A first delay unit 209[1], has a first delay unit input 211[1] connected to the input 262 and a first delay output 213[1] Each successive delay unit 209[j], 2 - j < Nmax has a corresponding delay input 211[j] and delay output 213 [j] Each delay unit, 209 [j], is characterised by an incremental delay Δt between an input logic transition XinQ] at its input 21 l[j] and an output logic transition Xout[j] at its output 2130] Eacn delay unit 209[j] has its output 213[j] connected to the input 21 l[j+l] of the next delay unit 209[j+l] The time delay between a logic transition Xin[l] at the first input 21 1 [i] and an output transition Xout[j] at the jth output 213[j] is j*Δt A delayed clock edge XoutQ] therefore appears at each output 213[j] with a delay of j*Δt from the initiating clock edge 102' at node Xin Adjacent delay units 209[j] are spaced closely enough so any time delay between an output 213 [j] and a following input 211[j+l] is negligible compared to Δt
The delay units 209[j] may be selected from standard hybrid delay lines, commercial delay devices such as a family of STC delay devices of Dallas Semiconductor, or specific delay units described further below Timing Delay Control Block
The timing delay control block 220 has a timing control input 201. Input 201 receives timing control input signals 203 from a system control function 205 (e.g., a hard wired logic circuit, micro programmed controller or microprocessor operating a predefined control program 207 stored on ROM, RAM, disk or similar storage device) for controlling the relative timing of the clock edges 102b and 102a' at nodes 216 and 212.
Control block 220 is a conventional combinatorial conversion logic block that converts timing control commands 203 from the system control function 205 and outputs suitable timing delay address signals 222 on address bus 224. The logic for converting control commands 203 to address signals 222 will typically be specified by a manufacturer of an embodiment of a PCD device 208 or by a user of a programmable embodiment of the PCD device to provide a user with a limited set of commands 203 to be used to generated the stored program 207. The specification and design of timing delay control block conversion logic is within the capability of an ordinary practitioner of logic and circuit design and is not part of the present invention.
Control Function 205
Control function 205 interprets stored program commands (not shown) from the program store 207 according to the specific network requirements and provides necessary control signals 203 to input 201 of the timing control block 220. The design of suitable conversion logic structures for the control logic block 205 depends partially on the requirements of a particular digital system implementation, which incorporates the PCD 208 of the present invention. The specification and design of such logic conversion structures depends on the specific requirements for a particular network 200. Such specification and design is within the capabilities of a knowledgeable practitioner of system and digital logic design and is not part of the present invention. Function 205 typically will be supplied by a system designer who wishes to implement specific corrective and/or system compensation delay functions by using the PCD of the present invention as part of the network 200.
RAS/CAS Decode and Output Address Decode
RAS/CAS decode block 226 decodes the address signals 222[r,c] (l≤r R and l≤c ≤C) and drives decoded matrix select lines 240. Matrix select lines 240 include RAS delay select signals xr[m], l≤ rn - M, and CAS delay select signals yc[n], 1 ≤ n≤ N. In the single output delay embodiment of Figure 6, the RAS/CAS address signals 222[r,c] are mapped so that M = N and each one of the [r,c] bit combinations produce a single logic one on a specific one of the RAS select signals xr[m] and a specific one of the CAS select signals yc[n]. Similarly, output address block 228 decodes the output address signals 222[o] 1- o - O and produces decoded output select signals 242. The decoded output select signals 242 connect to output select logic block 252.
The RAS/CAS decode block 226 is typically a conventional combinatorial logic function for selecting specific xr[m] and yc[n] lines from the address signals 222 [r,c] in order to enable a specific switch sx[j]. Again, the specification and design of such conventional logic is not part of this invention and can be done by a person having ordinary skill in the art.
Cross Point Select Matrix Switch
The cross point select matrix 250 includes Nmax independently selectable switches, sx[j]. l≤j≤Nmax. Each switch, sx[j], separately receives a corresponding one of delayed matrix outputs signals 211 [j] from the delay block 260. Each one of the plurality of delayed output signals 2110] re individually connected to a corresponding input xin ] of the respective switch sxQ]. Each switch sx[]] has a switch output xoutQ] connected separately to the output select logic block 252. Each of the logically selectable switches, sxQ], connects (on when selected) or disconnects (off when deselected) the corresponding output xoutQ] to the respective input xinO] allowing the selected delayed clock/signal 21 l[j] (i.e., the edge 102' delayed by +j*Δt) to pass there through.
To select a particular delay, Nd*Δt, the Ndth one of the logically selectable switches sxQ] is selected (on) by the corresponding one unique combination of logic true levels on the RAS/CAS select lines. A particular switch sxQ] is selected by a logic one (1) on the particular corresponding one of the RAS delay select lines, xr[m], l<m<M, and a logic one (1) on the particular corresponding one of CAS select line, yc[n]. l<n<N, where M and N are integers. The mapping from n,m to j is fixed for the single edge delay embodiment PCD 208. Each selected (on) switch xoutQ] therefore separately connects the corresponding delayed signal (edge) 211 [j] (i.e., Xin delayed by the corresponding delay j*Δt) to the output select block 252. A unique one of the switch outputs xoutQ] is selected by appropriate address pair xr[m], yc[n] from the address bus 240 from the RAS/CAS address decode 226. The system controller 205 is programmed to output the necessary address pair xr[m], yc[n] to select the correct switch xoutQ] according to the control program 207 and the desired value of tdel.
In the embodiment 208 of a single time delay selection, m = n, and M = N = Nmax, and the decode 226 is arranged to select only one row (xr[m]) line and one column (yc[n]) at a time. A delayed clock/signal output line 254 from output select logic block 252 connects the selected signal to the output Xout through the fixed (hypothetical) delay txs.
For the purpose of this discussion, the time delay from the input Xin to the first input 211[1] and the time delay from the output 213[Nd] to Xout will be assumed to be small compared with the delay intervals of interest. It can be shown that small excess time delays caused by finite conductor lengths and parasitic reactive loads (inductive and capacitive loading) between physically separated nodes of the delay block 260, the select matrix 250, the output select logic 252, the input nodes Xin, node 262 and output nodes 254, Xout can be compensated by selection of a suitable number of delay units 209Q].
In addition, any excess time delays caused by the non-ideal physical traces and parasitic reactive loads in the PCD 208 are accounted for by lumping the excess delays into the effective fixed delay, txs in series with the selectable delay ∑Δt = Nd*Δt.
More General Embodiments of the PCD of the Present Invention
Figure 6 has shown a specific embodiment of a single edge delay control and compensation system. A large body of alternative embodiments of PCDs in accordance with the present invention will be apparent to a person having ordinary skill in the digital system design art. For example, multiple sets of PCDs may be placed on one network to compensate more than one pair of discrepant signal path delays SI and S2. Other alternatives in accordance with the present invention include PCDs capable of selecting and connecting more than one single delayed edge derived from one originating edge 102 as shown with regard to Figure 6. Multiple delayed edges 102(time0+n*Δt) that occur at different delays n*Δt from an originating edge 102 at timeO can be combined and inserted onto the signal path 215a, 215b by merely changing the control program 207 and the address logic of blocks 220, 226 and 228 into a signal path.
For an example of a more general case, more than one output switch sxβ] with a single address 222[r,c] may be selected by changing the mapping of the signals 222[r,c] to the select lines xr[m] and yc[n] such that the address decode 226 enables more than a single switch sxjj] for each address 222[r,c]. A subset of switches E sx[j] may then be selected by a single address 222[r,c] to connect a corresponding subset of delayed signals E xoutQ] to the output select logic 252 and the output address decode 228 logic may be easily arranged to connect each of the subset E xout ] to the Xout line.
Output Address Decode and Selection The output select logic block 252 receives the subset of selected signal (edges) E211β] through the selected set of switch outputs Exoutjj]. For a single time-delay-generator embodiment 208 of the present invention, two possibilities exist:
A) First, appropriate logic functions (not shown) for the select logic block 252, the output address decode block 228, the control logic 220 and the system function 205 may be chosen by a knowledgeable logic design practitioner so that the system function 205 will cause the output select logic to select a single required switch, xout[j], for connecting the desired single one of the delayed outputs 211J to be routed to the delayed output 262 by choosing to appropriately drive only the corresponding one of the switches sx[j] to which it is connected from among the whole set of delayed outputs, Nmax. One knowledgeable in the art may select any one of a number of known logic functions.
B) With reference to Figure 8, an alternate embodiment of the single time delay generation may be implemented by replacing the output select logic block 252 with a wired AND connection 252" of the outputs xout. In this case the RAS/CAS addresses are limited to those which only select a single one of the outputs xout at a time. This can be implemented in the control program 207 of the digital system incorporating the PCD 208.
Diagonal Cross Point Select Matrix With reference to Figure 9, there is shown a more detailed schematic representation of a novel diagonal cross point (DCP) matrix 400 performing the function of the cross point select matrix
250.
The cross point 400 includes; a) M parallel and spaced apart row select input lines 402[m] each connected separately at an outer peripheral end to a corresponding one of the RAS select lines xr[m] of the matrix select bus 240; b) N parallel and spaced apart column select input lines 404[n] each connected separately at an outer peripheral end to a corresponding one of the N CAS select lines yc[n] of the matrix select bus 240. The M row lines 402[m] are not parallel to the N column lines 404 [n] and are directed proximally away from the respective outer peripheral ends toward one side of a diagonal 500 disposed from opposite corners Cl, C3 of the DCP 400.
The DCP 400 also includes; c) Nmax parallel and spaced apart column delay signal input lines 4060], each separately connected at a respective outer peripheral end to a corresponding one of the delayed signal outputs 2130] from the series delay block 260; and d) Nmax parallel and spaced apart row switch outputs lines 409Q] are each separately connected at a respective outer peripheral end to the corresponding matrix output xoutQ] of the cross point select matrix 250; and e) where M = N = Nmax. The column lines 406Q] are not parallel to the row switch output lines 409Q] and are both directed proximally from the respective outer peripheral ends toward the opposite side of the diagonal 500.
The row select input lines 402Q] and row switch outputs 409Q] may be aligned or be offset from each other. The column input signal 4060] and column select input lines 404Q] may also be aligned or be offset from each other.
An array of the switches sx ], 1 - j - Nmax, is disposed generally along the diagonal 500 across the DCP 400. Each switch sxQ] is disposed at each intersection of row select lines 402[m=j] and column select lines 404[n=j]; i.e., only at the intersections where j = m = n. Each switch sxQ] includes a two input AND gate 410[j]. One input of each AND gate 410Q] is connected to the corresponding row select line 4020] and the other input is connected to the corresponding column select line 4040]. AND gate 410[j] drives a base input 412[j] of an adjacent NPN transistor switch 4140] that has its collector 416[j] connected to an opposite proximal end of the corresponding column delay signal input line 4060] and its emitter 418[j] connected to the corresponding opposite proximal end of the row switch output 4090].
A logic "V is required in both the AND gate row select inputs 4O20=Nd] and the AND gate column select inputs 4O40=Nd] to form an electrical connection between a column input signal line 4O60=Nd] and row output signal line 4O90=Nd] whereby the particular delayed clock/data signal 102' + Nd*Δt may pass therethrough. It is apparent that the CAS column address select signals 404[n] (from yc[n]) and RAS row address select signals 402[m] (from xr[m]) are spatially well separated from the delayed input clock signals 4060] (from xoutQ]) and switched delayed output signals xoutQ] except for their end-to-end proximity near the AND inputs 406Q] and 4090] along the diagonal 500.
This spatial separation tends to minimise coupling between the switch logic selection signals and the critical delayed signal edges thereby tending to improve isolation between control and signal data.
The selection of the NPN transistor 414 j] is applicable to one embodiment of the invention. An N-channel FET could also be used Alternatively a PNP transistor or P-channel FET could be used with inverted logic levels.
In an alternative embodiment of the invention, a programmable fixed connection such as an EEPROM programmable FET can replace the active transistor 4140]. Once a desired delay j*tdel is selected, the matrix 400 could have a selected transistor location m,n =j burned in to establish a fixed delay. Other programmable matrix selection methods are also applicable, such as arrays of metal fuses or anti-fuses as are known in the art. ECL Implementation of The Series Delay Block.
Referring now to Figure 10 there is shown a schematic of one preferred embodiment of a Emitter Coupled logic implementation 550 for the series delay block 260 in the PCD 208 of Figure 6 The block 260 is composed of a series connection of ECL cells 551fj] 1 ≤ j ≤ Nmax Each cell 551{j] includes two NPN transistors 554 and 556 with collectors 558, 560 joined to a +VCC bus Separate emitters 562 and 564 form the outputs of each cell 551[j] Emitter 562 is connected to a -VEE bus through a resistors of value Rl to provide the proper bias to the transistor 554 Emitter 564 is also connected to the -VEE bus by a resistor of value Rl Independent bases 566 and 568 of transistors 554 and 556 are respective inputs of each cell 5510]
A first stage, 551 [ 1 ], has base connection 568 of transistor 556 driven by an output of an inverter 570 The transistor 554 of 551[1] has base connection 566 driven by an output of a buffer 572 Both inverter 570 and buffer 572 are driven by the delay block input 262 of Figure 6 The emitter outputs 562 and 564 are therefore logically complementary. The emitter outputs 562 and 564 are separately connected to respective base inputs 566 and 568 of a second delay stage 551 [2] replicating the cell 551 [ 1 ] Successive series replicates 551 ] of the cell 551[1] connect output emitters 562, 564 of cell 551[j] to input bases 566, 568 of cell 5510+1] and are chained together to form the delay block of length Nmax
Each stage, 5510], of the delay block 550 has one of the transistor emitters 562 of each stage connected to the cross point select matrix 250 of Figure 6 as the corresponding delayed clock signal 2130] Eacn stage, 5510], adds its own characteristic time delay, Δt, to the delay of the input signal to that stage, 2130-1] The total delay from the input 262 to output 213[Nd] of the Nd-th cell again is Nd*Δt (not including excess delay if any, through the buffer 572 and inverter 570)
In other embodiments of the present invention, the complementary emitter output 564 of each stage, j, may be connected to external circuitry (not shown) as a complementary delayed output having essentially the same delay j*Δt as the output 213Q] The inverter 570 and complementary buffer 572 in combination with the dual transistor cells 551Q] provide a balanced power supply current drain behaviour for the network to which the delay line of Figure 10 is connected When one transistor e.g., 556, of the cell 5510] >s conducting heavily, the other transistor, 554, of the cell is conducting less, thereby balancing the total current drain on the VEE and VCC power buses
One half of the cell 5510] (e g , transistor 556 and associated resistor Rl) may be omitted in cases where current balance is unimportant The cells 5510] may be formed by conventional photolithographic processes on a single integrated circuit, or may be individual devices wired together on a printed circuit board
ECL Delay Stage Coupling by Level Shifting
Referring to Figure 11 there is shown an example 580 of the ECL delay line of Figure 10 in which the length of the delay line (i e , the number of delay cells, Nmax) is extended by including level shifting circuitry The ECL delay line 580 is comprised of a first delay line stage
550 as shown in Figure 10 and a second delay line stage 553 The first delay line comprises series cells 5510'] w'tn a first ce^ driven by the buffer 572 and complementing inverter 570.
Each cell 5510] has its output 213'[j] driving an input of an ECL level converter circuit 582.
Each circuit 582 has its output 23 l[j] providing the signal at 213'Q] with the ECL level restored ECL level restoring circuits are found for example in U S patents 4,435,654 by
Koide, 4,978,871 by Jordan and 5,237,220 by Kurashima
The last cell 551 [j] of delay line stage 550 also has its restored level output 2130'] driving the input of the next stage 553 ECL delay lines for the PCD of any desired number of delay cell 5510] can be built by concatenating the stages 553
CMOS Implementation of Series Delay Block
Referring to Figure 12, there is shown a CMOS implementation of the senes delay block 260 of Figure 6 in which the cells 551 [j] are implemented with CMOS inverters in place of the transistor-resistor combination of Figure 10 and the inverters 570, 572 are omitted It is apparent that the delay element type in the delay line block 250 may be of a different technology than the element type in the other blocks, e.g., the address decode blocks 226, 228 and select matrix 250 or output select logic block 252.
It is contemplated that the delay line block 250 may be a high-speed technology such as ECL, and the other blocks be CMOS for example. In addition, the element type of the network to which the PCD may be connected may also be of a different type. For example, the network that connects to nodes 216, 212 may be a PC motherboard or other printed circuit board. Alternatively, the network may be an integrated circuit or hybrid circuit with the PCD 208 connected thereto.
In order to obtain high resolution in adjusting time delays, it is an advantage to have delay elements 209Q] made from the highest speed (i.e., shortest Δt) technology available; for example, in ECL technology or in High Electron Mobility transistor (HEMT) technology. For a fixed base clock pulse width, a faster delay element 209Q] consequently requires Nmax be proportionately increased to cover all possible divisions (multiplications) of the base clock pulse width (frequency).
Networks with multiple PCDs. With regard to Figure 13, there is shown a network 700 . The network 700 includes a plurality of associated pairs of digital pulse signal paths Sl[p] and S2[p] of different electrical lengths (delay) Δtl[p] and Δt2[p] where Δt2[p] > t l [p] from one common end connected to associated digital pulse signal sources 704[p] to respective distal ends. Other signal paths S[r] not having critical timing relationships are not shown.
Where it is desired that the electrically shorter path S2[p] have the same or nearly the same delay as Sl[p] from the common ends of Sl[p] and S2[p] to the respective distal ends, the shorter signal paths S2[p] are provided with a respective PCD 702[p] connected in series at insertion nodes 705 [p] therein as indicated by the dashed lines. Referring to Figure 14, insertion nodes 705 [p] include two electrically isolated adjacent lands 710[p] and 711 [p] joined by a removable conductive link 712[p]. Each PCD 702[p] is connected to a central control bus 706 Central control bus 706 is connected to programming means 714 Programming means 714 communicates to all the PCDs to set up delays Δtp[p] determined for each PCD[p] that cause the combination of the path Sl[p] and PCD 702[p] to match delays Δt2[ρ] of associated signal paths S2[p] within the precision of the PCD delay element Δt, i e , Δtp[p] + Δtl[p] = Δt2[p] +/- Δt The removable link 712[p] may be removed by physically cutting after a PC board is fabricated and measured, or may be part of the photolithography-etching process during manufacture
Alternatively, the delays Δt2[p] > Δtl[p] may be measured on an actual circuit board 700, and individual PCD circuits having delays Δtp[p] determined and programmed externally may be installed in pre-assigned lands 10[p]
PCD Design Tool Embodiment
A PCD circuit layout and timing design tool (CLDT) and PCD network design process in accordance with an embodiment of the present invention, are indicated by the numerals 750 and 751 respectively The CLDT 750 , e.g., a CAD system, includes a computing resource 752, (such as a SUN™ computer workstation, a high end Pentium™ PC or a mainframe computer), an on-line disc storage system 754, an integrated circuit design program and tool set 756, and a display 757 presenting a graphical user interface GUI 758 co-ordinating the computing resource 752, the storage system 754 and the design program 756 with circuit design and verification data base I/O 759 ( e.g., document entry from magnetic tape and/or keyboard and manual net list) by means of internal bus 755
Referring again to Figures 4, 5, 6 and Figure 13, the CAD program 756 must include the following prior art capability 1) convert a predefined net list (circuit element and terminal name lists, terminal-to-terminal connection list) and predefined physical layout of circuit element terminals into an interconnected physical PCB layout for the technology of interest. 2) perform timing analysis of all signal paths, S[r], on the PCB 700 with a verification portion (not shown) of design database 759 3) identify all critical pairs Sl[p] and S2[p] of signal paths S[r] that have a common pulse source (204) and a critical timing difference tdel = t2 -t3 as do paths 214 and 215. CAD programs of this type are available in the marketplace and more will be developed in the future.
The PCD network design process 751 of the present invention is represented as a two headed arrow to indicate the iterative relationship between the circuit design data base 759, the PCD cells 702[p] and the PCD network layout 700 A particular implementation of the PCD network design process 750 is represented by the process symbol 75 la signifying the portion of the CAD program 756 which controls the configuration of the PCD cells 702[p].
Referring to Table 1, there are shown the pertinent steps of a PCD network layout process. 751a in accordance with the present invention after the preparation of the circuit design database 759 (not a part of this invention) Represent the circuit design database 759 prior to physical layout as the set of all pertinent signal paths S[r]. S[r] by itself has inadequate indicators for signal path electrical length (i.e., delay time from a proximal circuit node or terminal to a distal circuit node or terminal) since a physical signal path length L[r] is not determined until layout is completed.
Therefore a timing analysis of the circuit S[r] would be useless for computing possible delay time compensation since paths Sl[p] and S2[p] which have critical timing relationships are not created until the layout is complete No compensation for the influence of physical and thus electrical path length delt[L[r]] and circuit element delays can be performed until at least one circuit layout pass is complete and the relative timing of signals computed by the timing analysis routine of the CAD program 756 It is only after at least one physical layout 700 is complete that the CAD program timing analysis will include signal paths Sl[p], S2[p] that will be found to have critical timing relationships
Figure imgf000029_0001
The CDLT 750 is used by a knowledgeable person, i.e., a trained IC design engineer, or trained technician to layout printed circuit boards (PCBs) or integrated circuits (ICs) from a circuit design input source 760 (e.g., a net list or the like).
The CDLT is provided with a plurality of PCD cells 702[p] that are placed in the circuit layout (network) 700, each PCD having a predetermined maximum number of delay elements, Nmax[p]. The delay values Δtl[p] for each PCD[p] may be set to zero initially, e.g., Nd[p] = 0.
A design process 751 in accordance with the present invention is indicated by the accompanying table 1. Process 751 may proceed with the design tool operator using the design tool 750 to lay out the physical topology 700 of a plurality of circuit paths Si[p], typically from a net list 760. The circuit paths Si[p] typically include path circuit elements (not shown) such as combinatorial logic, chip memory elements, micro controllers and the like with known or specified delays between respective inputs and outputs.
The design tool 750 is programmed (by currently known means) to compute the cumulative delays Δtl [p], Δt2[p] for each path S 1 [p], S2[p] from known characteristics of the signal path circuit elements. The design tool 750 then computes the associated path delays Sl[p] according to the timing analysis portion of the design program 756
A plurality of PCDs 702[p] and PCD insertion points 705[p] are placed according to a suitable a priori decision rule (R[P]) which may be developed by knowledgeable design persons according to the needs of a particular technology For example, a simple decision rule is to place PCDs on a grid disposed across the area of a proposed PCB 700 with a fraction, say 5%, of the PCB area allocated to potential PCDs and insertion points 705 [p]
The advantage of this design process 751 is primarily in that the layout of the circuit netlist S[r] is only done once and any signal path delay discrepancies for signal paths Sl[p], S2[p] can be corrected by simply inserting the selected PCD circuits in the PCB layout 700. Thus a single corrective step provided by the design process 751 can reduce layout iterations.
Another alternative of the process 751 applies to PCBs already completed in final form, with discrepancies in signal path delays for pairs of paths Sl[p], S2[p]. Programmable PCD components 702[p] having the structure of the PCD 208 in Figure 6 may be programmed with an external control 205 to provide a compensating delay Nd*Δt for a signal path Sl[p] of a completed PCB 700 The programmed PCD 702[p] can then be inserted in the discrepant path Sl[p] by known means for breaking a signal path on a PCB and inserting a component therein
PCD Architecture Partition Options. Single Package. The entire PCD 208 may be fabricated as a single component for insertion into a printed circuit board, by packaging the PCD 208 in a conventional IC package and presenting the two nodes Xin and Xout and connection 203 as device pins for soldering or socketing to receiving holes or lands provided on such a board. A propagation delay difference, tdel, between the two nodes 212 and 216 may then be eliminated by programming the PCD 208 with a sufficient number of delay stages, Nd, to off set tdel, e.g., selecting Nd to be a number large enough to make |Nd*Δt -tdelj smaller than Δt.
Programming the PCD.
Embodiments of the PCD 208 may be programmed by an external programming device (not shown) in the manner described with regard to Figure 13. External programming devices are well known in the art and are generally easily programmed by persons knowledgeable in that art.
Embodiments of the PCD in accordance with this invention include the PCD 208 and incorporate the controller 205 and control program 207 therein. The addition of a timing delay self test capability to a PCD give rise to another class of PCD devices that are auto- compensating after measuring the discrepant tdel between two Sl[p], S2[p] nodes. Alternatively, the desired tdel, may be selected by measuring the undesired delay, tdel, between two Sl[p] and S2[p] nodes such as 212 and 216.
It is apparent that a plurality of pairs of clock/signal line-node pairs having associated pairs of clock or signal edges with undesired delay differences there between may exist in any one network. It is also apparent that duplicates of the apparatus and method of the present invention may be used in the manner described herein for compensation of such a plurality of delay differences.

Claims

1 An electrical signal network having a first plurality of signal nodes (n0, 212,216) interconnected by a second plurality of signal branches (214,215), in which each signal branch of the second plurality of branches comprise electrical elements selected from the group of active circuit elements, passive circuit elements and signal conduction paths, the signal branches having a beginning node (n0) with a corresponding beginning node signal transition (102) and an ending node with a corresponding ending node signal transition (102a, 102b), the ending node signal transition being delayed in time from the beginning node signal transition by a corresponding branch signal transition propagation delay associated therewith, comprising, a) a subset (215) of the signal branches each having a respective portion of the branch signal transition propagation delay contributed by a respective selected plurality of series connected signal delay units (208); b) each respective signal delay unit comprising a series connection of a respective plurality of signal delay elements (209) each having a respective elemental signal delay timed interval; c) selection means (205) for selecting the respective number of signal delay elements in one or more of the respective signal delay units
2 A network as set forth in claim 1 , having a respective number of signal delay elements selected to cause the difference between total delays of selected pairs of the plurality of branches to be essentially equal to one of a set of pre-selected differences
3 A network as set forth in claim 2, in which at least one of the pre-selected differences is essentially zero
4 A network as set forth in any of the preceding claims, in which the respective series signal transition delays are controlled by a propagation delay control network A network as set forth in any of the preceding claims, in which the network includes a computer motherboard
A network as set forth in any of claims 1 to 4, in which the network is a monolithic integrated circuit
A network as set forth in any of claims 1 to 4, in which the network is a hybrid integrated circuit
A network as set forth in any of the preceding claims, in which the signal delay elements have a first characteristic intrinsic propagation delay value, and the active circuit elements are comprised of electrical components having characteristic intrinsic propagation delay values significantly greater than the first characteristic intrinsic propagation delay value
A method in an electrical network having a first and a second signal branch
(214,215) of different electrical length between corresponding beginning (n0)and ending nodes (212,216) and a corresponding signal transition propagation delay difference between the first and second branches (difference, delt), from the respective beginning to ending nodes, for inserting in the branch (215)with shorter delay, a delay time delay interval, tdel, to reduce the magnitude of the signal transition propagation delay difference between the first and second branches to a fixed difference, {tdel - delt| < t comprising, measuring the signal transition propagation delay difference between the first and second branches, delt, and forming a series delay line (208) from a plurality of series connected signal transition delay units (209) each having a characteristic signal transition delay, t A pulse clock/signal delay apparatus used in a network (200) having a first signal path, (S l [p]) and a second signal path (S2[p]) where the first signal path and second signal path have a common end for receiving an originating pulse edge transition (102), and the second signal path (S2[p]) is electrically longer than first signal path (S 1 [p]) by a time delay tdel, such that the pulse edge ( 102) propagates through the second path (S2[p]) to its distal end to arrive at a second time instance t2, and the pulse edge (102) propagates through the first path (S l [p]) to its distal end to arrive at first time instance tl, the difference between t2 and tl being tdel, said pulse clock/signal delay (PCD) comprising, a series-connected chain of N pulse delay stages, 1 - N - Nmax, each stage having an input and respective output with a pulse delay of Δt therebetween, the stages connected output to following input from the first stage (N=l) to the next-to-last stage (N=Nmax -1), means for inserting the PCD between an intermediate node (nla) and an adjacent intermediate node (nib) formed in the first path (Sl[p]) by separating the first path (S 1 [p]) at a node (nl) between the common end and the distal end of (S l[pJ) into a first path segment (Sla[p]) from the common end to the intermediate node (nla) and a second path segment (S lb[p]) between the adjacent intermediate node (nib) and the distal end of the first path (S I [p]), means for connecting the input of the first stage (N = 1) to the node (nla), means for connecting the output of an Nd-th stage (N = Nd - Nmax) such that |tdel -Nd*Δt| ≤ Δt, whereby the pulse edge (102) propagates through the series connection of path segment S la[p], the Nd pulse delay stages, and path segment (Slb[p]) to arrive at a time instance tl', where |t2 - tl'| - t
A pulse clock/signal delay apparatus (260) as set forth in claim 10 wherein. the means for connecting the output of the Nd-th stage to the intermediate node (nib), comprises a Diagonal Cross Point matrix (400), comprising, M parallel and spaced apart row select input lines (402[m]) each connected separately at an outer peripheral end to a corresponding one of row access select (RAS) select lines (xr[m]) of a matrix select bus (240), N parallel and spaced apart column select input lines (404[n]), each connected separately at an outer peripheral end to a corresponding one of
N CAS select lines (yc[n]) of matrix select bus (240) in which the M row lines (402[m]) are not parallel to the N column lines (404[n]) and are directed proximally away from the respective outer peripheral ends toward one side of a diagonal (500) disposed from opposite corners (Cl, C3) of the diagonal cross point (DCP) (400),
Nmax parallel and spaced apart column delay signal input lines (4060]), each separately connected at a respective outer peripheral end to a corresponding one of delayed signal outputs (213 ]) f"rorn a series delay block (260), Nmax parallel and spaced apart row switch outputs lines (4090']) eacn separately connected at a respective outer peripheral end to corresponding matrix outputs xoutO], where M = N = Nmax and the column lines (4060]) are not parallel to the row switch output lines (4090']) and are both directed proximally from respective outer peripheral ends toward the opposite side of the diagonal (500),
12 The pulse clock/signal delay of claim 1 1 wherein, the row select input lines (4020]) and row switch outputs (4090]) of the diagonal cross point matrix may be aligned or be offset from each other.
13 The pulse clock/signal delay of claims 1 1 or 12 wherein, the column input signal lines (4060]) and column select input lines (4040]) of the diagonal cross point matrix may be aligned or be offset from each other
14 The pulse clock/signal delay of claims 1 1 to 13 wherein in the diagonal cross point matrix. an array of switches (sx ]) is disposed generally along the diagonal 500 across the DCP 400 with a switch (sxO]) at each intersection of row (402[m=j]) and column (404[n=j]); each switch (sxOJ) has a respective row input (4060]) and column input (4090]) of a two input AND gate (410[j]) disposed essentially at the intersection of row m and column n only where m=n=j; AND gate (410[j]) drives a base input (412[j]) of an adjacent NPN transistor switch (4140]) that has its collector (4160]) connected to an opposite proximal end of the corresponding column delay signal input line (4060]) and its emitter (5180]) connected to the corresponding opposite proximal end of the row switch output (409{j]).
15. The pulse clock signal delay of any of claims 11 to 14 wherein in the diagonal cross point matrix, a logic " V is required in both of the AND row gate inputs (406[j]) and column gate inputs (409[j]) to form an electrical connection between a column (4060]) and row (402[j]).
16. The pulse clock/signal delay of any of claims 1 1 to 15 wherein the diagonal cross point matrix further comprises; the column address select (CAS) signals (404[n]) (from yc[n]) and row address select (RAS) signals (402[m]) (from xr[m]) are spatially well separated from the delayed clock signals (4060]) (from xoutO]) and switched output signals (xoutO]) except for their end-to-end proximity near the AND inputs (4060] and 4090]) at the diagonal (500).
17. The pulse clock/signal delay of any of claims 1 1 to 16 wherein in the diagonal cross point matrix; the spatial separation tends to minimise coupling between the switch logic selection signals and the critical delayed signal edges thereby tending to improve isolation between control and signal data.
8. The pulse clock signal delay of any of claims 1 1 to 17 wherein in the diagonal cross point matrix; the NPN transistor (4140]) 's replaced by a device selected from the group of an N-channel FET, and a PNP transistor with inverted logic levels and a P-channel FET with inverted logic levels.
19. The pulse clock/signal delay of any of claims 1 1 to 18 wherein in the diagonal cross point matrix; the NPN transistor (4140']) is replaced by a programmable fixed connection device selected from the group of an EEPROM programmable FET, a programmable metal fuse and a programmable anti-fuse.
PCT/GB2000/001169 1999-03-27 2000-03-27 Pulse clock/signal delay apparatus and method WO2000059113A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002365105A CA2365105A1 (en) 1999-03-27 2000-03-27 Pulse clock/signal delay apparatus and method
DE60000981T DE60000981T2 (en) 1999-03-27 2000-03-27 DEVICE AND METHOD FOR DELAYING PULSE SIGNALS AND PULSE CLOCK SIGNALS
US09/936,963 US6696875B1 (en) 1999-03-27 2000-03-27 Pulse clock/signal delay apparatus and method
EP00912835A EP1166445B1 (en) 1999-03-27 2000-03-27 Pulse clock/signal delay apparatus and method
AU34475/00A AU3447500A (en) 1999-03-27 2000-03-27 Pulse clock/signal delay apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9907038.5 1999-03-27
GB9907038A GB2348753B (en) 1999-03-27 1999-03-27 Pulse clock/signal delay apparatus & method

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US09/936,963 A-371-Of-International US6696875B1 (en) 1999-03-27 2000-03-27 Pulse clock/signal delay apparatus and method
US10/743,955 Continuation US20040135613A1 (en) 1999-03-27 2003-12-23 Pulse clock/signal delay apparatus and method

Publications (2)

Publication Number Publication Date
WO2000059113A1 true WO2000059113A1 (en) 2000-10-05
WO2000059113A9 WO2000059113A9 (en) 2001-11-15

Family

ID=10850453

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2000/001169 WO2000059113A1 (en) 1999-03-27 2000-03-27 Pulse clock/signal delay apparatus and method

Country Status (7)

Country Link
US (2) US6696875B1 (en)
EP (1) EP1166445B1 (en)
AU (1) AU3447500A (en)
CA (1) CA2365105A1 (en)
DE (1) DE60000981T2 (en)
GB (1) GB2348753B (en)
WO (1) WO2000059113A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6877033B1 (en) * 2000-11-06 2005-04-05 National Semiconductor Corporation Network-based integrated device identification and ordering system
US7135903B2 (en) * 2002-09-03 2006-11-14 Rambus Inc. Phase jumping locked loop circuit
US6759881B2 (en) * 2002-03-22 2004-07-06 Rambus Inc. System with phase jumping locked loop circuit
TW200540611A (en) * 2004-06-04 2005-12-16 Hon Hai Prec Ind Co Ltd System and method for verifying delay of a motherboard layout
US7378831B1 (en) * 2007-01-18 2008-05-27 International Business Machines Corporation System and method for determining a delay time interval of components
FR2979506B1 (en) 2011-08-30 2013-08-30 Bull Sas METHOD FOR SYNCHRONIZING A CLUSTER OF SERVERS AND CLUSTER OF SERVERS USING THE METHOD
US10013521B2 (en) * 2015-11-13 2018-07-03 International Business Machines Corporation Layouting of interconnect lines in integrated circuits

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4714924A (en) * 1985-12-30 1987-12-22 Eta Systems, Inc. Electronic clock tuning system
US5095233A (en) * 1991-02-14 1992-03-10 Motorola, Inc. Digital delay line with inverter tap resolution
US5204559A (en) * 1991-01-23 1993-04-20 Vitesse Semiconductor Corporation Method and apparatus for controlling clock skew
US5400262A (en) * 1989-09-20 1995-03-21 Aptix Corporation Universal interconnect matrix array
US5430397A (en) * 1993-01-27 1995-07-04 Hitachi, Ltd. Intra-LSI clock distribution circuit
USRE35483E (en) * 1989-07-27 1997-03-25 Sgs-Thomson Microelectronics, S.A. Switching matrix crosspoint

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US35483A (en) * 1862-06-03 Improvement in cooking-stoves
JPS60129039A (en) * 1983-12-16 1985-07-10 横河メディカルシステム株式会社 Ultrasonic diagnostic apparatus
US4691302A (en) * 1985-09-04 1987-09-01 Siemens Aktiengesellschaft Circuit arrangement comprising a matrix-shaped memory arrangement for variably adjustable delay of digital signals
DE3742514A1 (en) * 1986-12-24 1988-07-07 Mitsubishi Electric Corp VARIABLE DELAY CIRCUIT
US4868522A (en) * 1988-12-13 1989-09-19 Gazelle Microcircuits, Inc. Clock signal distribution device
JP2612618B2 (en) * 1989-10-13 1997-05-21 富士通株式会社 Semiconductor integrated circuit device
US5293626A (en) * 1990-06-08 1994-03-08 Cray Research, Inc. Clock distribution apparatus and processes particularly useful in multiprocessor systems
US5615358A (en) * 1992-05-28 1997-03-25 Texas Instruments Incorporated Time skewing arrangement for operating memory in synchronism with a data processor
US5570045A (en) * 1995-06-07 1996-10-29 Lsi Logic Corporation Hierarchical clock distribution system and method
US5742798A (en) * 1996-08-09 1998-04-21 International Business Machines Corporation Compensation of chip to chip clock skew
US5881271A (en) * 1996-12-31 1999-03-09 Opti Inc. System and method for clock management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4714924A (en) * 1985-12-30 1987-12-22 Eta Systems, Inc. Electronic clock tuning system
USRE35483E (en) * 1989-07-27 1997-03-25 Sgs-Thomson Microelectronics, S.A. Switching matrix crosspoint
US5400262A (en) * 1989-09-20 1995-03-21 Aptix Corporation Universal interconnect matrix array
US5204559A (en) * 1991-01-23 1993-04-20 Vitesse Semiconductor Corporation Method and apparatus for controlling clock skew
US5095233A (en) * 1991-02-14 1992-03-10 Motorola, Inc. Digital delay line with inverter tap resolution
US5430397A (en) * 1993-01-27 1995-07-04 Hitachi, Ltd. Intra-LSI clock distribution circuit

Also Published As

Publication number Publication date
GB2348753A (en) 2000-10-11
EP1166445A1 (en) 2002-01-02
CA2365105A1 (en) 2000-10-05
GB9907038D0 (en) 1999-05-19
GB2348753B (en) 2003-07-23
AU3447500A (en) 2000-10-16
US6696875B1 (en) 2004-02-24
DE60000981T2 (en) 2003-09-04
DE60000981D1 (en) 2003-01-23
WO2000059113A9 (en) 2001-11-15
EP1166445B1 (en) 2002-12-11
US20040135613A1 (en) 2004-07-15

Similar Documents

Publication Publication Date Title
US5555540A (en) ASIC bus structure
US5497263A (en) Variable delay circuit and clock signal supply unit using the same
US5140184A (en) Clock feeding circuit and clock wiring system
US6204713B1 (en) Method and apparatus for routing low-skew clock networks
US8253463B1 (en) Pulse width control circuitry
EP1219031B1 (en) Integrated circuit including dedicated and programmable logic
CN101151803B (en) Coupled ring oscillator and method for laying out the same
US5414638A (en) Programmable interconnect architecture
US20030212971A1 (en) Method and apparatus for minimizing clock skew in a balanced tree when interfacing to an unblalanced load
US20050046458A1 (en) Digital delay elements constructed in a programmable logic device
US7346873B2 (en) Clocktree tuning shims and shim tuning method
EP1166445B1 (en) Pulse clock/signal delay apparatus and method
US6260175B1 (en) Method for designing an integrated circuit using predefined and preverified core modules having prebalanced clock trees
US6009259A (en) Emulation System
EP1449302B1 (en) Asynchronous sequencer circuit with flexibly ordered output signal edges
US7038490B1 (en) Delay-matched ASIC conversion of a programmable logic device
US8928387B2 (en) Tunable clock distribution system
US6441665B1 (en) Semiconductor integrated circuit
Lee et al. Test generation for crosstalk effects in VLSI circuits
US20070210846A1 (en) Inverter gate delay line with delay adjustment circuit
JPH06282350A (en) Intra-lsi clock distributing circuit
EP0266874A2 (en) Programmable logic array
US6275068B1 (en) Programmable clock delay
Carrig et al. A new direction in ASIC high-performance clock methodology
CA1326887C (en) Standard cell output driver connection system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2000912835

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2365105

Country of ref document: CA

Ref country code: CA

Ref document number: 2365105

Kind code of ref document: A

Format of ref document f/p: F

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: AMENDED CLAIMS ADDED (4 PAGES)

WWP Wipo information: published in national office

Ref document number: 2000912835

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09936963

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 2000912835

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP