Pre-charge triggering to increase throughput by initiating register output at beginning of precharge phase

Abstract: A pre-charge triggering technique used in connection with a synchronous pipeline stage (FIGURE 1b) that includes an input register (11) that feeds a function section (12) with both non-pre-charged front-end logic (12a) and pre-charged function logic (12b). An output section (13) includes pre-charge control logic that activates a PRECHARGE line (21) to provide a PRECHARGE signal at the beginning of the pre-charge phase, i.e., at the end of the active phase. The input register is triggered (21) when the PRECHARGE line is switched active, before the next rising clock edge, so that the next active phase begins prior to the beginning of the next clock cycle, and prior to the end of the pre-charge phase of the current clock cycle (FIGURE 1d). Throughput increase is obtained by initiating the next active phase at the beginning of the current pre-charge phase, passing input data to the non-pre-charged front-end logic while the pre-charged logic is still in the pre-charge phase, so that at least a portion of the pre-charge phase can be hidden in the propagation delay through the front-end.

Description: TECHNICAL FIELD OF THE INVENTION The invention relates generally to pre-charged digital devices, and more particularly relates to a pre-charge triggering apparatus and method for achieving an increase in throughput by triggering register output at the beginning of the pre-charge phase of a clock cycle (rather than the beginning of the next clock cycle). In even greater particularity, a pre-charge triggered register is responsive to a PRECHARGE signal (indicating the end of the active phase and the beginning of the pre-charge phase) to transfer the data in the master latch to the output of the register, initiating data input to the following function stage prior to the beginning of the next clock cycle. BACKGROUND OF THE INVENTION Microprocessors and other digital systems commonly use synchronous pipelining techniques to increase throughput. These systems are functionally divided into synchronous pipeline stages that generally include an input register followed by a function section with an output section. Each pipeline stage receives its input from an upstream pipeline stage, and after completing its task, makes its output available to a downstream pipeline stage. Synchronous pipeline systems commonly pre-charge lines activated by n-channel transistors HI and lines activated by p-channel transistors LO, thereby taking into account the respective speeds at which these transistor-types propagate HI/LO data values. In such pre-charged systems, each clock cycle can be divided into active (or evaluation) and pre-charge phases. The specific problem to which the invention can be applied is increasing register throughput in pre-charged synchronous pipeline systems. A more general problem is reducing the effect of the required pre-charge phase on the throughput of a given pipeline stage. For each pipeline stage, valid data must be available at its input register for at least the minimum set up time prior to the start of a clock cycle, allowing the master section of the input register to latch the valid data and initiate an active phase. Execution time -- including active phase and pre-charge phase -- varies, and the system clock is adjusted to accommodate the slowest stage. Some pipeline stages include a combination of pre-charged and non-pre-charged logic. For example, a random access memory will generally include: (a) input address/data registers, (b) a memory section that includes a decoder front-end and a memory cell array defined by wordlines and bitlines, and (c) an output section that includes sense amps and drivers. While pre-charge operations are performed in connection with the memory array (wordlines and bitlines) and the sense amp, implementing pre-charge for the decoder front-end is generally impractical. In normal operation of the memory stage, a valid address/data from an upstream stage may be available at the input address/data registers significantly prior to the beginning of a new clock cycle, i.e., while the memory stage is still in the pre-charge phase of the current clock cycle. This address/data is held at the input registers until the beginning of the new clock cycle and the completion of the pre-charge phase, at which time it is latched by the master latch in the input register and propagates through the slave latch to the decoder front end and from there to the pre-charged memory array. In other words, the memory stage awaits the completion of the pre-charge phase even though the valid address/data is available at the input registers. Accordingly, a need exists for increasing throughput through pre-charged digital systems in general and, in particular, for reducing the effect of pre-charge on throughput. IBM 'I'echnical Disclosure Bulletin Vol. 29 No. 10 (March 1987) pages 447 - 448 discloses a memory device wherein an address buffer and a column decoder, which are CMOS devices that are not pre-charged, are actuated during the pre-charge period. The invention provides a pre-charge triggering method for use in a pre-charged stage which is so controllable by a system clock as to complete its processing in a system clock cycle, the pre-charged stage including: input logic capable of holding input data at its input and capable of passing the data at its input to its output on being triggered, pre-charged function logic connected to receive data from the output of the input logic, the pre-charged function logic being capable of generating a pre-charge signal synchronised to the system clock cycle and means so connecting the pre-charged function logic to the input logic as to allow triggering of the input logic by the pre-charge signal, the pre-charge triggering method including the steps of: presenting input data to the input logic in preparation for the input logic being triggered, using the pre-charged function logic to generate a pre-charge signal beginning before and extending at least to the clock edge marking the beginning of the system clock cycle, so applying the pre-charge signal to the input logic as to trigger the input logic and to pass the data at its input to its output, under the control of the pre-charge signal, prior to the beginning of the system clock cycle and receiving the data from the input logic and processing the data in the pre-charged function logic. The invention also provides a pre-charged stage which is so controllable by a system clock as to complete its processing during a system clock cycle including: input logic capable of holding data at its input and capable of passing the data at its input to its output on being triggered, pre-charged function logic connected to receive data from the output of the input logic, the pre-charged function logic being capable of generating a pre-charge signal synchronised to the system clock cycle, beginning before and extending at least to the clock edge marking the beginning of the system clock cycle and means capable of so applying the pre-charge signal to the input logic as to allow triggering of the input logic and passing of the data at the input to the output of the input logic, under the control of the pre-charge signal, prior to the beginning of the system clock cyclc, the input logic, in operation, receiving input data in preparation for being triggered and the pre-charged function logic, in operation, receiving the data from the input logic and processing the data. Preferably, the input logic includes a master latch followed by a slave latch and is capable of passing data from the master latch to the slave latch when triggered. Preferably, the input logic includes a slave pass gate responsive to the system clock for passing input data from the master latch to the slave latch and a pre-charge pass gate responsive to the pre-charge signal for passing input data from the master latch to the slave latch independently of the slave pass gate. Preferably, the-charged stage is a memory and, preferably, includes an input address/data register connected to front-end decoder logic which is connected to a memory array, the memory array being connected to sense amplifier logic which is connected to output driver logic, the output driver being capable of providing a pre-charge signal and being connected to the input address/data register for triggering the input address/data register. Advantageously, a synchronous pipeline system includes a plurality of the pre-charged stages. The pre-charge triggering technique involves (a) presenting input data to the input register in preparation for the next active phase; (b) prior to the beginning of the next clock cycle, triggering the input register using the PRECHARGE signal; and (c) in response to pre-charge triggering, transferring the input data from the input register to the front-end logic to initiate a new active phase prior to end of the pre-charge phase for the pre-charged logic. This pre-charge triggering technique provides an additional design parameter for improving throughput of a functional stage. That is, throughput improvements may be achieved even for functional stages in which all logic sections can be pre-charged by designing the function section to include non-pre-charged front-end logic such that the pre-charge time for the remaining pre-charge is hidden in the propagation delay through the non-pre-charged front end. In an exemplary embodiment of the invention, the pre-charge triggering technique is used with a synchronous pipeline memory stage that includes input address/data registers, non-pre-charged front-end decoder logic, a pre-charged memory array, and pre-charged output logic. Each input address/data register is a conventional master/slave register to which is added a pre-charge pass gate in parallel with the slave latch pass gate -- when turned on by the PRECHARGE signal, the pre-charge pass gate passes data latched in the master latch through the slave latch to the register output. An upstream pipeline stage presents valid address/data to the input address/data registers prior to the end of the current active phase for the memory stage. The input address/data registers are responsive to the PRECHARGE signal to transfer the valid address/data to the front-end decoder logic, thereby beginning the next active phase prior to the end of the current pre-charge phase. The technical advantages of the invention include the following. The pre-charge triggering technique permits a new active phase to-begin prior to the end of the current pre-charge phase by triggering the start of an active phase using a PRECHARGE signal. In the case of an input register, the PRECHARGE signal causes data latched in the master latch to be passed through the slave latch to the register output prior to the slave pass gate being triggered at the beginning of the next clock cycle. In the case of a functional stage, such as a synchronous pipeline stage, the PRECHARGE signal can be used to cause valid data at the input register to be passed directly to non-pre-charged front-end logic, initiating a new active phase prior to completing pre-charge of the pre-charged logic, thereby permitting at least a portion of the pre-charge phase to be hidden in the propagation delay through the non-pre-charged front-end logic. Thus, pre-charge triggering provides design flexibility in achieving optimum throughput for functional stages through the inclusion of non-pre-charged front-end logic. Even if a functional stage is entirely pre-charged (i.e., it does not include any non-pre-charged front end logic), a minimum throughput improvement corresponding to the propagation delay through the slave pass gate and latch of the input register can be achieved by pre-charge triggering the input register so that data transfer to the following function section begins immediately at the beginning of the next clock cycle (i.e., at the beginning of the next active phase). BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the invention, and for further features and advantages, reference is now made to the following Detailed Description of an exemplary embodiment of the invention, taken in conjunction with the accompanying Drawings, in which: FIGURE 1a schematically illustrates a synchronous pipeline system in which various pipeline stages use pre-charge triggering; FIGURE 1b illustrates the pre-charge triggering technique for a given pipeline stage; FIGURES 1c and 1d illustrate waveforms comparing clock cycle and active/pre-charge cycle respectively for a pipeline stage that does not use pre-charge triggering, and a pipeline stage that does; FIGURE 2 functionally illustrates an exemplary pre-charge triggered register, such as would form an input register for a pipeline stage; FIGURE 3a functionally illustrates an exemplary pre-charge triggered memory stage in a synchronous pipelined system; and FIGURE 3b illustrates timing diagrams for the pre-charge triggering technique in connection with the memory stage. DETAILED DESCRIPTION OF THE INVENTION The Detailed Description of an exemplary embodiment of the pre-charge triggering technique is organized as follows: 1. Pre-Charge Triggering Technique 2. Exemplary Implementations 2.1. Pre-Charge Triggered Register 2.2. Pre-Charge Triggered Memory Stage 3. Conclusion The exemplary pre-charge triggering technique is used in connection with a synchronous pipeline system in which a given pipeline stage, such as a memory stage, includes nonpre-charged front-end logic, which allows pre-charge triggering to initiate a new active phase while the remaining pre-charged logic is still in the pre-charge phase. However, the invention has general applicability for use in pre-charged digital devices and systems. 1. Pre-Charge Triggering . The exemplary pre-charge triggering technique used in connection with a pipeline stage in a synchronous pipeline system that includes an input register that feeds a function section with both nonpre-charged front-end logic and pre-charged function logic. FIGURE 1a illustrates a portion of a synchronous pipeline system with pipeline stages 10. Each pipeline stage 10 includes an input register 11, followed by a function section 12 and an output section 13. For each pipeline stage, the output section includes pre-charge control logic that activates a PRECHARGE line to provide a PRECHARGE signal at the beginning of the pre-charge phase, i.e., at the end of the active phase. Some pipeline stages in a pipeline system may not use pre-charging, and therefore, would not include any pre-charge control logic. FIGURE 1b illustrates in more detail one of the pipeline stages. The function section 12 includes non-pre charged front-end logic 12a and pre-charged logic 12b. The output section, which may be pre-charged, includes the pre-charge control logic necessary to control the PRECHARGE line. The pre-charge triggering technique requires that the upstream stage complete its active phase so that valid data is available at the input register when it is triggered. The input register is triggered (21) when the PRECHARGE line is switched active, before the next rising clock edge, so that the next active phase begins prior to the beginning of the next clock cycle (and prior to the end of the pre-charge phase of the current clock cycle). Input data present at the input register is then transferred (22) to the front-end logic 12a. Because the front-end logic does not have to wait for the pre-charge phase to complete, it immediately begins processing the input data. After a front-end propagation delay, the output of the front-end logic 12a is available for the pre-charged logic 12b -- front-end logic output is disabled until the pre-charge control logic indicates that the pre-charge phase is complete. At the beginning of the next clock cycle, the pre-charge control logic switches the PRECHARGE line inactive, indicating the end of the pre-charge phase, and the output of the front-end logic is passed (23) to the pre-charged logic. When the pre-charged logic has completed its processing and valid output data is available from the output logic section 13, the pre-charge control logic in the output logic section switches the PRECHARGE line (21) active, initiating both the next pre-charge phase and the next active phase. That is, the PRECHARGE signal (a) switches active, initiating the next active phase, when the current active phase is complete and valid data is available from the output logic section 13, and (b) switches inactive, indicating the end of the pre-charge phase, in synchronism with the rising edge of the system clock. Throughput increase is obtained by initiating the next active phase at the beginning of the current pre-charge phase, passing input data to the non-pre-charged front-end logic while the pre-charged logic is still in the pre-charge phase, so that at least a portion of the pre-charge phase can be hidden in the propagation delay through the front-end. The amount of the pre-charge delay that can be hidden depends upon the relative duration of the front-end propagation delay and the pre-charge phase. FIGURES 1c and 1d illustrate the difference between a pipeline stage that do not use pre-charge triggering, and pipeline stages that do. The increase in throughput obtained by pre-charge triggering will be seen to be the duration of the pre-charge phase (assuming that the entire pre-charge phase can be hidden in the propagation delay through non-pre-charged front-end logic). Referring to FIGURE 1c, for a pipeline stage that does not use pre-charge triggering, the period of the clock cycle coincides with the period of the active/pre-charge cycle. Thus, at time TO, a new clock cycle (rising clock edge) begins a new active phase. At some time during the clock cycle, the active phase ends and the pre-charge phase begins. At the end of the clock cycle, the pre-charge phase ends, and a new active phase begins at T1 (with the beginning of the next clock cycle). Referring to FIGURE 1d, for a pipeline stage that uses pre-charge triggering, the beginning of each clock cycle corresponds to the end of the pre-charge phase, while the beginning of an active phase corresponds to the beginning of the pre-charge phase. Thus, an active phase begins at time TO and ends at time T1, corresponding to the beginning of the pre-charge phase -- at the same time, T1, the next active phase begins (i.e., during the current pre-charge phase). At the beginning of the next clock cycle, the current pre-charge phase ends. Similarly, subsequent active phases are initiated at times T2 and T3 corresponding to the beginning of the associated pre-charge phase. The overlap between the current pre-charge phase and the next active phase (which began at the beginning of the current pre-charge phase) is assumed to be hidden in non-pre-charged front-end logic -- at the end of a pre-charge phase, the output of the non-pre-charged front-end logic is input to the pre-charged logic to complete the active phase. Thus, this overlap, i.e., the duration of the pre-charge phase, represents the increase in throughput obtainable by using the pre-charge triggering technique (again, assuming that the entire pre-charge phase can be hidden the propagation delay through the non-pre-charged front-end logic). For example, for a nominal 25 ns cycle time (without pre-charge triggering) and an assumed active/pre-charge ratio of 4/1, a new active/pre-charge cycle will begin about 20 ns after the initiation of the active phase. Thus, pre-charge triggering would allow an active/pre-charge cycle time of 20 ns. As a matter of system design, without pre-charge triggering, the system cycle time will generally be determined by the longest active phase and the longest pre-charge phase (which typically, but not necessarily, occur in the same stage). By adding pre-charge triggering, certain portions of the pre-charge phases for at least some of the pipeline stages can be hidden in the initial part of the active phase, i.e., the propagation delay through the non-pre-charged front end logic. The throughput gains available from pre-charge triggering are thus factored in to derive a final- system clock cycle time, and the PRECHARGE signal is synchronized to that clock. 2. Exemplary Implementations . FIGURE 2 and 3a illustrate exemplary implementations of the pre-charge triggering technique described in Section 1: FIGURE 2 illustrates a pre-charge triggered register; FIGURE 3a illustrates a pre-charge triggered memory stage of a synchronous pipelined system. 2.1. Pre-Charge Triggered Register . Referring to FIGURE 2, the exemplary pre-charge triggered register is implemented from a conventional master/slave register modified to provide pre-charge triggering. The normal register configuration comprises a master pass gate PGM and a master latch M, followed by a slave pass gate PGS and a slave latch S. The clock is applied directly to the slave pass gate and through an invertor to the master pass gate. A rising clock edge closes the master pass gate PGM, latching the input data into the master latch, and opens the slave pass gate, passing the latched data on to the register output (with a propagation delay of one pass gate and one invertor). Pre-charge triggering is implemented by incorporating a pre-charge pass gate PGP in parallel with the slave pass gate PGS. Now, the register output can be triggered by a PRECHARGE signal opening the pre-charge pass gate PGP, passing data in the master latch through the slave latch to the register output even in the absence of a rising clock edge at PGM and PGS. For pre-charge triggering, valid data must be in the master latch prior to the receipt of the PRECHARGE signal, and must remain valid at least until the next rising clock edge closes the master pass gate to isolate the register output from logic level changes on the register input. 2.2. Pre-Charge Triggered Memory Stage . Referring to FIGURE 3a, the exemplary pre-charge triggered memory stage of a pipeline system is implemented using a conventional memory stage, which is modified to include a pre-charge triggered input address/data register ADR configured for pre-charge triggering as described in Section 2.1. The pre-charged memory includes an input address register AR that passes addresses from the input to the following memory section, which includes non-pre-charged front-end decoder logic DEC, a memory array MEM, sense amp logic SA, and output driver logic OD. The output driver logic includes pre-charge control logic that controls a PRECHARGE line coupled to the address register AR. FIGURE 3b provides waveforms for the various logic sections that illustrate the operation of the pre-charge triggered memory stage, including pre-charge triggering. The system clock CLK and the PRECHARGE waveform (indicating active and pre-charge phases) are also shown. A valid input address (from an upstream stage) is assumed to be available at the input address register AR (waveform IN) for a time longer than the set up time for the master latch (waveform M), and at a time prior to the PRECHARGE line being driven HI to indicate the start of the pre-charge phase (and the end of the active phase). This input address is held in the input address register because the slave pass gate is closed (waveform S). Prior to the beginning of the next clock cycle, a PRECHARGE signal triggers the input address register AR (i. e., opens the pre-charge pass gate), and the input address is passed to the front-end decoder logic (waveform DEC), beginning the next active phase. At this time, the memory array MEM, the sense amp SA and output driver OD are still in the current pre-charge phase (waveforms MEM, SA, and OD). When decoder execution is completed, the decoded address is ready for input to the memory array MEM. If the propagation delay for the front-end decoder logic is less than the pre-charge delay, then the decoded address is held at the output of the decoder logic until the end of the pre-charge phase (i.e., the PRECHARGE signal is also used to enable decoder output to the memory array). At the beginning of the next clock cycle, the pre-charge control logic pulls the PRECHARGE line LO, signalling the end of the current pre-charge phase. Since the next active phase began with the PRECHARGE signal (PRECHARGE line HI), the decoded address is already available to be applied to the memory array (assuming that the propagation delay through the decoder logic is no longer than the pre-charge phase). The input address activates the appropriate wordlines and bitlines to retrieve the addressed data, which is sensed by the sense amp logic SA and output by the output driver logic OD (waveforms MEM, SA, and OD). When valid addressed data is output from the output driver logic OD, the pre-charge control logic drives the PRECHARGE line HI, indicating the end of the active phase, and the beginning of the next pre-charge phase for the memory array, sense amp logic, and output driver logic. This operation, in turn, begins the next active phase by passing the next input address from the input address register to the front-end decoder logic. Thus, the pre-charge triggering technique provides an additional design parameter for increasing throughput of a pre-charged pipeline system. For pre-charged pipeline stages with non-pre-charged front-end logic, initiating the next active phase at the beginning of the current pre-charge phase enables at least a portion of the pre-charge delay to be hidden in the front-end propagation delay. Even for pipeline stages that ordinarily pre-charge all constituent logic sections, designing the stage to include a non-pre-charged front-end may yield a throughput dividend that offsets any penalty from not pre-charging the front-end. For those pipeline stages that do not include any nonpre-charged front end, a throughput increase of at least one slave pass gate plus one slave invertor is obtainable by pre-charge triggering the input register so that input data is already available at the register output at the end of the pre-charge phase (i.e., at the beginning of the clock cycle). 3. Conclusion . Although the Detailed Description of the invention has been directed to certain exemplary embodiments, various modifications of these exemplary embodiments, as well as alternative embodiments, will be suggested to those skilled in the art. For example, other pre-charged systems that could take advantage of the pre-charge triggering technique include programmable logic arrays (because of long bitlines in the AND- and OR-planes) and read only memories. It is to be understood that the invention encompass any modifications or alternative embodiments that fall within the scope of the appended Claims.

Claims: A pre-charge triggering method for use in a pre-charged stage which is so controllable by a system clock as to complete its processing in a system clock cycle, the pre-charged stage including: input logic (11) capable of holding input data at its input and capable of passing the data at its input to its output on being triggered, pre-charged function logic (12,13) connected to receive data from the output of the input logic (11), the pre-charged function logic (12,13) being capable of generating a pre-charge signal synchronised to the system clock cycle and means so connecting the pre-charged function logic (12,13) to the input logic (11) as to allow triggering of the input logic (11) by the pre-charge signal, the pre-charge triggering method including the steps of: presenting input data to the input logic (11) in preparation for the input logic (11) being triggered, using the pre-charged function logic (12,13) to generate a pre-charge signal beginning before and extending at least to the clock edge marking the beginning of the system clock cycle, so applying the pre-charge signal to the input logic (11) as to trigger the input logic (11) and to pass the data at its input to its output, under the control of the pre-charge signal, prior to the beginning of the system clock cycle and receiving the data from the input logic (11) and processing the data in the pre-charged function logic (12,13). A pre-charged stage which is so controllable by a system clock as to complete its processing during a system clock cycle including: input logic (11) capable of holding data at its input and capable of passing the data at its input to its output on being triggered, pre-charged function logic (12,13) connected to receive data from the output of the input logic (11), the pre-charged function logic (12,13) being capable of generating a pre-charge signal synchronised to the system clock cycle, beginning before and extending at least to the clock edge marking the beginning of the system clock cycle and means capable of so applying the pre-charge signal to the input logic (11) as to allow triggering of the input logic (11) and passing of the data at the input to the output of the input logic (11), under the control of the pre-charge signal, prior to the beginning of the system clock cycle, the input logic (11), in operation, receiving input data in preparation for being triggered and the pre-charged function logic (12,13), in operation, receiving the data from the input logic (11) and processing the data. A pre-charged stage as claimed in claim 2, wherein the input logic (11) includes a master latch (M) followed by a slave latch (S) and is capable of passing data from the master latch (M) to the slave latch (S) when triggered. A pre-charged stage as claimed in claim 3, wherein the input logic (11) includes a slave pass gate (PGS) responsive to the system clock for passing input data from the master latch (M) to the slave latch (S) and a pre-charge pass gate (PGP) responsive to the pre-charge signal for passing input data from the master latch (M) to the slave latch (S) independently of the slave pass gate (PGS). A pre-charged stage as claimed in any one of claims 2 to 4 which is a memory. A pre-charged stage as claimed in claim 5, which includes an input address/data register (AR) connected to front-end decoder logic (DEC) which is connected to a memory array (MEM), the memory array (M) being connected to sense amplifier logic (SA) which is connected to output driver logic (OD), the output driver (OD) being capable of providing a pre-charge signal and being connected to the input address/data register (AR) for triggering the input address/data register (AR). A synchronous pipeline system including a plurality of pre-charged stages as claimed in any one of claims 2 to 6.

Inventors: MEHTA ASWIN N, MEHTA, ASWIN N.
Applicants: TEXAS INSTRUMENTS INC, TEXAS INSTRUMENTS INCORPORATED
Application year: 1992
Main classification: G11C7
IPC codes: G06F15, G11C7