WO1996023355A1 - 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 Download PDFInfo
- Publication number
- WO1996023355A1 WO1996023355A1 PCT/US1996/000676 US9600676W WO9623355A1 WO 1996023355 A1 WO1996023355 A1 WO 1996023355A1 US 9600676 W US9600676 W US 9600676W WO 9623355 A1 WO9623355 A1 WO 9623355A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- terminal
- inverter
- transmission gate
- coupled
- output
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators 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/037—Bistable 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.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP96903546A EP0752174A1 (en) | 1995-01-25 | 1996-01-22 | A high-speed latch circuit including multiple transmission gates and a pipelined microprocessor employing the same |
KR1019960705308A KR970702619A (en) | 1995-01-25 | 1996-01-22 | A HIGH-SPEED LATCH CIRCUIT INCLUDING MULTIPLE TRANSMISSION GATES AND A PIPELINED MICROPROCESSOR EMPLOYING THE SAME |
JP8522928A JPH09511117A (en) | 1995-01-25 | 1996-01-22 | High speed latch circuit having a plurality of transmission gates and pipelined microprocessor using the same |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37786495A | 1995-01-25 | 1995-01-25 | |
US37817595A | 1995-01-25 | 1995-01-25 | |
US08/378,175 | 1995-01-25 | ||
US08/377,864 | 1995-01-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1996023355A1 true WO1996023355A1 (en) | 1996-08-01 |
Family
ID=27007995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0752174A1 (en) |
JP (1) | JPH09511117A (en) |
CN (1) | CN1147882A (en) |
WO (1) | WO1996023355A1 (en) |
Families Citing this family (4)
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 |
KR20060017876A (en) | 2003-06-16 | 2006-02-27 | 코닌클리즈케 필립스 일렉트로닉스 엔.브이. | Data processing circuit with multiplexed memory |
FR3053485A1 (en) * | 2016-06-29 | 2018-01-05 | STMicroelectronics (Alps) SAS | METHOD AND CIRCUIT FOR DYNAMIC CONTROL OF ENERGY CONSUMPTION |
CN107332552B (en) * | 2017-07-04 | 2020-09-08 | 合肥工业大学 | Tolerant double-point flip latch based on double-input phase inverter |
Citations (3)
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 |
EP0573326A1 (en) * | 1992-06-05 | 1993-12-08 | STMicroelectronics S.A. | Bistable latch with reinitialisation control |
DE4320681A1 (en) * | 1992-06-23 | 1994-01-13 | Mitsubishi Electric Corp | Solid state shift register latch circuit - has master-slave latch circuit which receive signals from control signal generator consisting of four series inverters producing alternate positive and negative logic phases of input clock |
-
1996
- 1996-01-22 JP JP8522928A patent/JPH09511117A/en active Pending
- 1996-01-22 EP EP96903546A patent/EP0752174A1/en not_active Withdrawn
- 1996-01-22 CN CN 96190129 patent/CN1147882A/en active Pending
- 1996-01-22 WO PCT/US1996/000676 patent/WO1996023355A1/en not_active Application Discontinuation
Patent Citations (3)
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 |
EP0573326A1 (en) * | 1992-06-05 | 1993-12-08 | STMicroelectronics S.A. | Bistable latch with reinitialisation control |
DE4320681A1 (en) * | 1992-06-23 | 1994-01-13 | Mitsubishi Electric Corp | Solid state shift register latch circuit - has master-slave latch circuit which receive signals from control signal generator consisting of four series inverters producing alternate positive and negative logic phases of input clock |
Non-Patent Citations (3)
Title |
---|
F. GONZALEZ: "Spare Inverters Form aTransparent D Latch", EDN ELECTRICAL DESIGN NEWS, vol. 33, no. 9, April 1988 (1988-04-01), NEWTON, MASSACHUSETTS US, pages 238, XP002004985 * |
MALEY ET AL.: "NAND Latch for Gate Arrays", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 25, no. 9, February 1983 (1983-02-01), NEW YORK US, pages 4853 - 4854, XP002004983 * |
R. R. PUCKETT: "Standard Schottky TTL ICs Emulate MOS Logic Designs", ELECTRONIC DESIGN, vol. 31, no. 6, March 1983 (1983-03-01), HASBROUCK HEIGHTS, NEW JERSEY US, pages 163 - 168, XP002004984 * |
Also Published As
Publication number | Publication date |
---|---|
JPH09511117A (en) | 1997-11-04 |
CN1147882A (en) | 1997-04-16 |
EP0752174A1 (en) | 1997-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6496038B1 (en) | Pulsed circuit topology including a pulsed, domino flip-flop | |
JP4245413B2 (en) | Complementary buffer circuit and control method thereof | |
US6201415B1 (en) | Latched time borrowing domino circuit | |
US5831462A (en) | Conditional latching mechanism and pipelined microprocessor employing the same | |
US6563356B2 (en) | Flip-flop with transmission gate in master latch | |
US7737749B1 (en) | Elastic pipeline latch with a safe mode | |
JP3800255B2 (en) | Wave Propagation Logic | |
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 | |
WO1996023355A1 (en) | A high-speed latch circuit including multiple transmission gates and a pipelined microprocessor employing the same | |
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 | |
JP2002357636A (en) | Flip-flop circuit for scan test, logic macro, scan test circuit and layout method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 96190129.2 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA CN JP KR |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1996903546 Country of ref document: EP |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWP | Wipo information: published in national office |
Ref document number: 1996903546 Country of ref document: EP |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1996903546 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: CA |