EP0752174A1 - A high-speed latch circuit including multiple transmission gates and a pipelined microprocessor employing the same - Google Patents

A high-speed latch circuit including multiple transmission gates and a pipelined microprocessor employing the same

Info

Publication number
EP0752174A1
EP0752174A1 EP96903546A EP96903546A EP0752174A1 EP 0752174 A1 EP0752174 A1 EP 0752174A1 EP 96903546 A EP96903546 A EP 96903546A EP 96903546 A EP96903546 A EP 96903546A EP 0752174 A1 EP0752174 A1 EP 0752174A1
Authority
EP
European Patent Office
Prior art keywords
terminal
inverter
transmission gate
coupled
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP96903546A
Other languages
German (de)
English (en)
French (fr)
Inventor
Marty L. Pflum
David B. Witt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of EP0752174A1 publication Critical patent/EP0752174A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits

Definitions

  • This invention relates to latch circuits and more particularly to latch circuits employed within pipelined microprocessors.
  • Pipelining involves partitioning a process with "n” steps into “n” hardware stages separated by memory elements called registers which hold intermediate results. There is one pipeline stage for each step in the process, and these stages are connected in the same order that the steps are performed. By allowing each of the "n” stages to operate concurrently, the pipelined process can potentially operate at "n” times the rate of the non-pipelined process.
  • Pipelining is desirable when the propagation delay times of the stages are large relative to the propagation delay times of the registers. If the propagation delay times associated with the registers are significant compared to the propagation delay times of the stages, the performance benefits of pipelining are diminished.
  • the propagation delay times of the registers continue to be barriers to achieving the theoretical "n"-fold increase in throughput. As a result, particularly close attention is paid to the designs of registers between pipeline stages in microprocessors. Every effort is made to minimize the propagation delay times of these registers.
  • FIG. 1 is a schematic diagram of a typical single latch employed between pipeline stages wherein a clock signal CLK and its complement are provided to control a transmission gate 104. When the CLK signal is logic high, transmission gate 104 is enabled, thereby electrically coupling 3355 PCJ7US96/00676
  • Inverter 106 drives output terminal OUT with the complement of the logical value at node A.
  • Inverter 108 is a "trickle" feedback inverter provided to retain the logical value at node A after transmission gate 104 is disabled. Such a trickle inverter is characterized as a “weak” inverter whereby its output may be overpowered by the input signal IN when transmission gate 104 is enabled.
  • output signal OUT is the logical complement of the input signal IN as long as clock signal CLK is logic high, and remains the logical complement of the last value of IN when CLK transition to logic low.
  • This "transparency" property of latches may cause timing problems if the same clock signal is used to control the latch circuits associated with two successive pipeline stages. That is, if the latches of two successive pipeline stages are enabled simultaneously for a period of time longer than the propagation delay time of the first pipeline stage, a timing problem typically referred to as a race condition is created.
  • clock skew occurs when two clock signals travel along different paths with different delay times, arriving at different latches at different times. If this clock skew is severe enough, one clock signal may overlap the other, thus creating the possibility of race conditions as discussed previously. Relatively slow rise and fall times of the clock signals may further increase the effective overlapping.
  • a latch circuit wherein a first transmission gate is electrically coupled in series with a second transmission gate between an input line and an output line.
  • the latch circuit is controlled by a single clock signal wherein a delay element is employed to simultaneously enable both transmission gates upon an edge of the clock signal.
  • the length of time during which both transmission gates are enabled is determined by an electrical delay associated with the delay element.
  • the delay element is implemented with a set of serially coupled inverters, and the length of the time delay controls the time window during which both transmission gates are enabled.
  • the latch circuit When the latch circuit is employed between stages in a pipelined microprocessor, the latch circuit advantageously allows operation with a single clock signal with relatively low transition count. High frequencies of operation of the pipelined microprocessor are accommodated since the propagation time associated with the latch circuit is relatively low. Accordingly, the percent of delay cycle time utilized by the pipeline latch is relatively low. Race conditions may further be eliminated and capacitive loading of the clock driver may be reduced. In addition, by modifying the delay characteristics of the delay element, the latch circuit may be adjusted to operate optimally even if a new process technology is employed in fabrication to replace the one it was originally manufactured in. Finally, in one embodiment an inverter receiving the clock signal is configured with a relatively high trip point to ensure that ground noise does not falsely triggering the latch circuit.
  • the invention contemplates a latch circuit comprising a data input node for receiving an input signal, a first transmission gate having a first terminal coupled to the data input node and a second transmission gate.
  • a first terminal of the second transmission gate is coupled to a second terminal of the first transmission gate, and a control terminal of the second transmission gate is coupled to receive a clock signal.
  • a keeper circuit is also coupled to the second terminal of the second transmission gate, wherein the keeper circuit is capable of mamtaining a logic value at the second terminal of the second transmission gate.
  • a delay element is finally coupled to a control terminal of the first transmission gate, wherein the delay element is capable of delaying the clock signal to thereby provide a delayed clock signal to the control terminal of the first transmission gate.
  • Figure 1 is a schematic diagram of a typical static latch.
  • Figure 2 is a schematic diagram of a high-speed latch for single-clock systems which is enabled on the rising edge of the clock signal.
  • Figure 3 is a timing diagram associated with the operation of the high-speed latch for single-clock systems.
  • FIG. 4 is a block diagram of a pipelined microprocessor employing latches controlled by a single system clock in accordance with the present invention.
  • Figure 5 is a schematic diagram of a high-speed latch for single-clock systems which is enabled on the falling edge of the clock signal.
  • Latch circuit 200 includes a first transmission gate 202, a second transmission gate 204, and an inverter 206 coupled serially between an input line 208 and an output line 210.
  • the latch circuit 200 further comprises a pair of inverters 212 and 214 providing outputs to transmission gate 204.
  • the input of inverter 212 is coupled to a clock input line 216.
  • a delay element 218 is further coupled to the output of inverter 214.
  • delay element 218 includes inverters 220, 222 and 224.
  • An inverter 226 is coupled between the output of delay element 218 and a control terminal of transmission gate 202, and a keeper circuit 228 is shown coupled to the input of inverter 206.
  • Keeper circuit 228 is illustrated with an inverter 230 coupled to a trickle inverter 232.
  • keeper circuit 228 is employed to ensure that the logical value at node B is maintained even after an input signal IN is electrically decoupled from node B (i.e., by disabling transmission gate 202).
  • Inverter 230 has as its input the logical value at node B and its output drives the logical complement of the logical value at node B.
  • Inverter 232 is a weak "trickle" inverter which has as its input the logical complement of the logical value at node B, and its output drives node B with the same logic value present at node B.
  • trickle inverter 232 enables the keeper circuit to maintain the logic value at node B, and yet allow the logical value at node B to be overpowered (and thus changed) changed by input signal IN.
  • latch 200 will next be described in conjunction with the timing diagram of Figure 3.
  • the output of inverter 212 is logic high, and the output of inverter 214 is logic low.
  • Transmission gate 204 is thus disabled.
  • the output of delay element 218 is logic high, and the output of inverter 226 is logic low.
  • Transmission gate 202 is thus enabled, electrically coupling input line 208 to node A. It is noted that while transmission gate 204 is disabled, input line 208 is decoupled from output line 210. This decoupling prevents input signals from passing though the latch during region A, thus preventing race conditions.
  • inverter 212 is configured with a relatively high trip point, thereby preventing noise on clock input line 216 from inadvertently triggering latch circuit 200.
  • region B when clock signal CLK exceeds the trip point of inverter 212, the output of inverter 212 transitions to logic low, and the output of inverter 214 transitions to logic high one gate delay later.
  • Transmission gate 204 is thus enabled. It is noted that the control inputs of transmission gate 202 do not change until after signal CLK has propagated through delay element 218. Thus transmission gate 202 remains enabled during region B as determined by the delay time of delay element 218, and node B attains the logic value of input signal IN at input line 208. It will be appreciated that in doing so, input signal IN must overcome any charge sharing from node B to node A as well as overpower the drive current of "trickle" inverter 226 in keeper circuit 222.
  • Transmission gate 202 is thus disabled, electrically decoupling node A from input line 208. This marks the end of region B of Figure 3.
  • Transmission gate 204 thus remains enabled, electrically coupling node A to node B. At this time, the output of delay element 218 is logic low, and the output of inverter 226 is logic high. Thus transmission gate 202 is disabled.
  • Output inverter 206 drives output line 210 with the logical complement of the logic value at node B. Keeper circuit 228 ensures the logic value at node B is retained even after the input signal IN is electrically decoupled from node B.
  • FIG. 4 a block diagram of generalized portion of a pipelined microprocessor 400 which employs a plurality of latch circuits 200A-200D each embodied in accordance with the schematic diagram of Figure 2 is shown. Each latch circuit 200 is controlled by a single system clock CLK at line 406. A combinational logic circuit 402 which forms a first pipeline stage "n" is coupled to latches 200 A and 200B.
  • a second combinational logic circuit 404 which forms a pipeline stage "n+1" has its inputs coupled to latches 200A and 200B and its outputs coupled to latched 200C and 200D.
  • Latches 200A-200D receive a common clock input CLK through clock line 406. It will be appreciated that additional latch circuits may be similarly coupled between the pipeline stages of microprocessor 400.
  • Microprocessor 400 is configured such that while operating, valid output signals of combinational logic circuit 402 (pipeline stage “n") are assumed to reach the IN terminals of latches 200 A and 200B by the end of region B of Figure 3. Likewise, valid output signals of combinational logic circuit 404 (pipeline stage “n+1") are assumed to reach the IN terminals of latches 200C and 200D by the end of region B of Figure 3. During region B of Figure 3, the outputs of combinational logic circuit 402 are stored in latches 200A and 200B, and the outputs of combinational logic circuit 404 are stored in latches 200C and 200D.
  • the logical complements of the output signals from combinational logic circuit 402 as stored by latches 200A and 200B are thus provided to the input lines of combinational logic circuit 404 (pipeline stage "n+1") during regions C, D, and region A of the next cycle of system clock CLK.
  • the logical complements of the output signals from combinational logic circuit 404 as stored by latches 200C and 200D may be provided to the input lines of a subsequent pipeline stage (not shown) during regions C, D, and region A of the next cycle of system clock CLK.
  • a latch circuit configured in accordance with the present invention may be advantageously employed between stages in a pipelined microprocessor clocked by a single-phase clock signal.
  • the structures of latches 200 and 500 allow implementation with relatively few transistors and result in low propagation delays in comparison to other latch structures. Since the input signal is electrically coupled through enabled transmission gates to the latch's output line for only a short duration over the clock period, race conditions may be eliminated.
  • the capacitive loading on the clock driver of a system employing latch 200 may further be reduced by virtue of driving only a single inverter per latch.
  • the inverter coupled to the clock signal may be configured with a relatively high trip point to ensure that ground noise does not allow false triggering of the latch circuit. Adverse affects due to charge sharing from node A to node B are further prevented as a result of the switching arrangement of transmission gates 202 and 204.
  • latch circuit 500 an alternate embodiment of a latch circuit 500 is shown wherein the latch 500 is enabled upon the falling edge of the clock signal CLK rather than the rising edge. It will be appreciated that in latch 500, inverter 214 may be configured with a relatively high trip point, thereby preventing noise on clock input line 216 from inadvertently triggering latch circuit 500.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Logic Circuits (AREA)
  • Advance Control (AREA)
EP96903546A 1995-01-25 1996-01-22 A high-speed latch circuit including multiple transmission gates and a pipelined microprocessor employing the same Withdrawn EP0752174A1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US37786495A 1995-01-25 1995-01-25
US37817595A 1995-01-25 1995-01-25
US377864 1995-01-25
US378175 1995-01-25
PCT/US1996/000676 WO1996023355A1 (en) 1995-01-25 1996-01-22 A high-speed latch circuit including multiple transmission gates and a pipelined microprocessor employing the same

Publications (1)

Publication Number Publication Date
EP0752174A1 true EP0752174A1 (en) 1997-01-08

Family

ID=27007995

Family Applications (1)

Application Number Title Priority Date Filing Date
EP96903546A Withdrawn EP0752174A1 (en) 1995-01-25 1996-01-22 A high-speed latch circuit including multiple transmission gates and a pipelined microprocessor employing the same

Country Status (4)

Country Link
EP (1) EP0752174A1 (zh)
JP (1) JPH09511117A (zh)
CN (1) CN1147882A (zh)
WO (1) WO1996023355A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7173456B2 (en) * 2002-12-10 2007-02-06 Ip-First, Llc Dynamic logic return-to-zero latching mechanism
CN100483374C (zh) 2003-06-16 2009-04-29 Nxp股份有限公司 包括存储器的数据处理电路及相关方法
FR3053485A1 (fr) * 2016-06-29 2018-01-05 STMicroelectronics (Alps) SAS Procede et circuit de controle dynamique de consommation d'energie
CN107332552B (zh) * 2017-07-04 2020-09-08 合肥工业大学 一种基于双输入反相器的容忍双点翻转锁存器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5124572A (en) * 1990-11-27 1992-06-23 Hewlett-Packard Co. VLSI clocking system using both overlapping and non-overlapping clocks
FR2692072A1 (fr) * 1992-06-05 1993-12-10 Sgs Thomson Microelectronics Bascule bistable à commande de réinitialisation.
JPH065091A (ja) * 1992-06-23 1994-01-14 Mitsubishi Electric Corp 半導体装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO9623355A1 *

Also Published As

Publication number Publication date
WO1996023355A1 (en) 1996-08-01
JPH09511117A (ja) 1997-11-04
CN1147882A (zh) 1997-04-16

Similar Documents

Publication Publication Date Title
US6496038B1 (en) Pulsed circuit topology including a pulsed, domino flip-flop
JP4245413B2 (ja) 相補型バッファ回路及びその制御方法
US6201415B1 (en) Latched time borrowing domino circuit
US6563356B2 (en) Flip-flop with transmission gate in master latch
US5831462A (en) Conditional latching mechanism and pipelined microprocessor employing the same
US7737749B1 (en) Elastic pipeline latch with a safe mode
JP3800255B2 (ja) ウエーブ・プロパゲーシヨン・ロジック
US7647535B2 (en) Using a delay clock to optimize the timing margin of sequential logic
US6853212B2 (en) Gated scan output flip-flop
US6646487B2 (en) Method and system for reducing hazards in a flip-flop
US5821775A (en) Method and apparatus to interface monotonic and non-monotonic domino logic
US5684422A (en) Pipelined microprocessor including a high speed single-clock latch circuit
US6795520B2 (en) High speed digital counters
US5983013A (en) Method for generating non-blocking delayed clocking signals for domino logic
US5892373A (en) Distributed gated clock driver
US8026754B2 (en) Low latency flop circuit
EP0752174A1 (en) A high-speed latch circuit including multiple transmission gates and a pipelined microprocessor employing the same
US6078196A (en) Data enabled logic circuits
US6018254A (en) Non-blocking delayed clocking system for domino logic
US6690221B1 (en) Method and apparatus to delay signal latching
EP0847140B1 (en) A circuit and method for generating clock signals
US6677783B2 (en) High-speed, state-preserving, race-reducing, wide-pulsed-clock domino design style
US6542006B1 (en) Reset first latching mechanism for pulsed circuit topologies
US7400178B2 (en) Data output clock selection circuit for quad-data rate interface
US7173456B2 (en) Dynamic logic return-to-zero latching mechanism

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19961023

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB IT

17Q First examination report despatched

Effective date: 19970219

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 19970702