A digital bus is driven to the logic state of a data input signal upon activating a data enable signal. A bus keeper enable signal activates a buffer having its input and output connected to the digital bus. The data is thus buffered and driven back onto the digital bus during the active state of the bus keeper enable signal in order to retain the logic state after the data enable signal deactivates. The bus keeper enable signal remains active until a subsequent data enable signal becomes active thereby retaining the data on the bus potentially indefinitely.

Patent
   5511170
Priority
Aug 02 1993
Filed
Aug 02 1993
Issued
Apr 23 1996
Expiry
Aug 02 2013
Assg.orig
Entity
Large
20
6
all paid
1. A digital bus, comprising:
a plurality of data drivers each having an input coupled for receiving a data signal, an enable input coupled for receiving an enable signal, and an output coupled to the digital bus;
a buffer having an input, an output, and an enable input, said input being coupled to the digital bus, said output being coupled to the digital bus for retaining the data signal on the digital bus; and
a control circuit providing a second enable signal to said enable input of said buffer where said second enable signal is activated during an activate state of one of said enable signals of said plurality of data drivers, said control circuit including,
(a) an OR gate having inputs coupled for receiving said enable signals for said plurality of data drivers, and
(b) a nand gate having first and second inputs and an output, said first input being coupled to an output of said OR gate, said second input receiving a system clock signal, said output being coupled to said enable input of said buffer.
4. A digital bus within an integrated microprocessor, comprising:
a plurality of data drivers each having an input coupled for receiving a data signal, an enable input coupled for receiving an enable signal, and an output coupled to the digital bus;
a buffer having an input, an output, and an enable input, said input being coupled to the digital bus, said output being coupled to the digital bus for retaining the data signal on the digital bus; and
a control circuit providing a second enable signal to said enable input of said buffer where said second enable signal is activated during an activate state of one of said enable signals of said plurality of data drivers, said control circuit maintaining said second enable signal until a subsequent one of said enable signals of said plurality of data drivers, said control circuit including,
(a) an OR gate having inputs coupled for receiving said enable signals for said plurality of data drivers, and
(b) a nand gate having first and second inputs and an output, said first input being coupled to an output of said OR gate, said second input receiving a system clock signal, said output being coupled to said enable input of said buffer.
2. The digital bus of claim 1 further including an AND gate having first and second inputs and an output, said first input receiving said first enable signal, said second input receiving a system clock signal, said output being coupled to said enable input of said data driver.
3. The digital bus of claim 2 further including a latching circuit having a data input coupled to the digital bus, an enable input receiving a third enable signal, and an output for providing a data output signal.
5. The digital bus of claim 4 further including an AND gate having first and second inputs and an output, said first input receiving said first enable signal, said second input receiving a system clock signal, said output being coupled to said enable input of said data driver.
6. The digital bus of claim 5 further including a latching circuit having a data input coupled to the digital bus, an enable input receiving a third enable signal, and an output for providing a data output signal.

The present invention relates in general to digital bus architectures and, more particularly, to a digital bus data retention scheme.

Most if not all computer systems use a digital bus architecture to transfer address and data signals between the central processing unit, memory and various peripherals. Typically, data is placed on the bus by a data driver. A latching circuit then latches the data at its output for use by the appropriate end device. It is important for the data to remain valid on the bus between the time the data driver charges the bus and the time the latching circuit reads the data.

A conventional digital bus may use a pre-charge transistor to initialize the bus to say logic one. The data driver then sets the proper logic level on the bus according to a data input signal. Such a scheme relies on bus capacitance to hold the data on the bus until the latch can read it. The data retention time is thus limited by the capacitive discharge time on the bus. Another known technique is to connect the input and output of a bus keeper buffer to the data bus. The buffer is typically two series inverters with a drive capacity much less than the data drivers. Thus, the data driver simply overpowers the buffer to change logic state on the bus. Unfortunately, conventional bus keeper buffers are sensitive to noise because of their small size and may change state inadvertently from noise due to adjacent bus switching.

Hence, a need exists for a data retention scheme to maintain valid data on the data bus indefinitely while remaining robust to noise.

Briefly stated, the invention comprises a digital bus comprising a data driver having an input receiving a data input signal, an enable input receiving a first enable signal, and an output coupled to the digital bus. A buffer includes an input coupled to the digital bus, and an output coupled to the digital bus. A control circuit provides a second enable signal to an enable input of the buffer which is activated during an activate state of the first enable signal.

In another aspect, the present invention is a method of retaining data on a digital bus comprising the steps of driving the digital bus to a first logic state of a data input signal upon activating a first enable signal, buffering the first logic state on the digital bus upon activating a second enable signal during an activate state of the first enable signal, and driving the first logic state back onto the digital bus during the second enable signal to retain the first logic state on the digital bus.

FIG. 1 is a schematic diagram illustrating a digital bus architecture with data retention scheme;

FIG. 2 is a schematic diagram illustrating the control circuit of FIG. 1; and

FIG. 3 is a waveform timing diagram useful in explaining the present invention.

A dynamic digital bus 10 is shown in FIG. 1 suitable for manufacturing within an integrated circuit such as the Motorola 68020 and 68030 series microprocessors using conventional MOS integrated circuit processes. Digital bus 10 may represent one bit of a multi-bit data bus or address bus. Data driver 12 receives a data input signal and drives digital bus 10 upon receiving a data enable signal "anded" with a signal that is logic one during system clock T1 and T2 phases via AND gate 14. Latching circuit 16 receives data from digital bus 10 and latches data at its Q-output upon receiving a latch enable signal. Additional data drivers like 12 and latching circuit like 16 (not shown) with corresponding enable signals are typically coupled to digital bus 10. To provide data retention, a bus keeper buffer 18 has an input and output coupled to digital bus 10. Control circuit 20 provides a bus keeper enable signal to an enable input of buffer 18. Bus keeper buffer 18 may comprise two serially coupled transistor inverters (not shown) with an enable/disable feature where each drive transistor has a similar width to length ratio as the drive transistors of data driver 12. In other words, buffer 18 has substantially the same drive capacity as data driver 12. The large size of buffer 18 decreases its susceptibility to system noise. Thus, bus keeper buffer 18 acts as a data source to digital bus 10 and provides data retention after the data enable signal deactivates data driver 12.

Further detail of control circuit 20 is shown in FIG. 2 with OR gate 22 receiving the data enable signal for driver 12 and other data enable signals for drivers like 12. The output of OR gate 22 is coupled to a first input of NAND gate 24. The second input of NAND gate 24 receives the system clock T1 phase while its output provides the bus keeper enable signal to buffer 18.

The operation of digital bus may best be understood with the timing diagram in FIG. 3. The system clock is logically divided in four phases T1-T4 over two periods. At time t1, the data enable goes active high during the rising edge of the system clock to enable data driver 12 via AND gate 14. Digital bus 10 is brought to the logic level of the data input signal. The bus keeper enable signal remains low during the time NAND gate 24 receives logic ones from OR gate 22 and the system clock T1 phase. When the system clock enters its logic zero T2 phase at time t2, the bus keeper enable signal becomes active and enables buffer 18. The data enable signal remains active through time t2. Bus keeper buffer 18 latches the present logic state on digital bus 10 because its input was driven to that state at time t1. Thus, there is no bus contention between data driver 12 and bus keeper buffer 18. The data enable signal is removed at or before the end of the system clock T2 phase. A similar operation is shown between times t3 and t4 with the data enable signal keyed off the system clock T3 and T4 phases, i.e. AND gate 14 receives a logic one signal during the system clock T3 and T4 phases.

A key feature of the present invention is that data driver 12 holds the proper logic state on bus 10 during the system clock T1 and T2 phases while bus keeper buffer 18 holds the same logic state after time t2. Buffer 18 buffers the present logic state on the digital bus and drives that logic state back onto the digital bus during the bus keeper enable signal to retain the logic state on the digital bus. The overlap between data driver 12 and buffer 18 during the system clock T2 phase provides immunity from system noise and assures that bus 10 is always driven by at least one source in order to prevent glitches. The data enable signal may deactivate after time t2 to minimize its time on bus 10 and provide set-up time for the next data enable signal. The bus keeper enable signal remains at logic one until the next activation of a data enable signal thereby maintaining data retention potentially indefinitely. The latch enable signal may latch the data at the Q-output of latching circuit 16 any time after time t1.

Digital bus 10 may be extended to systems using multiple bus segments separated by bi-directional buffers such as utilized by Motorola 68020 and 68030 microprocessors. Each bus segment will have its own bus keeper buffer 18 and control circuit 20.

While specific embodiments of the present invention have been shown and described, further modifications and improvements will occur to those skilled in the art. It is understood that the invention is not limited to the particular forms shown and it is intended for the appended claims to cover all modifications which do not depart from the spirit and scope of this invention.

Abdoo, David G.

Patent Priority Assignee Title
10762027, Apr 13 2018 Hamilton Sundstrand Corporation Method and system for output latch based data bus failure mitigation
5668482, Mar 15 1996 Texas Instruments Incorporated Bus maintenance circuit
5793363, Nov 02 1994 Texas Instruments Incorporated Flat panel display driver
5954825, Apr 11 1997 GOOGLE LLC Method for isolating faults on a clocked synchronous bus
6172519, Dec 18 1997 XILINX, Inc.; Xilinx, Inc Bus-hold circuit having a defined state during set-up of an in-system programmable device
6301160, Feb 09 1999 Kabushiki Kaisha Toshiba Bus driving circuit and memory device having same
6351489, Sep 30 1996 Rosemount Inc.; Rosemount Inc Data bus communication technique for field instrument
6433600, Mar 19 1998 Intel Corporation Method and apparatus for glitch protection for input buffers in a source-synchronous environment
6449196, Feb 09 1999 Kabushiki Kaisha Toshiba Bus driving circuit and memory device having same
6484267, Dec 29 1999 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Clock gated bus keeper
6486709, Sep 29 2000 Oracle America, Inc Distributing data to multiple destinations within an asynchronous circuit
6570792, Feb 09 1999 Kabushiki Kaisha Toshiba Bus driving circuit and memory device having same
6700825, Sep 29 2000 Oracle America, Inc Implementation of a multi-dimensional, low latency, first-in first-out (FIFO) buffer
6725305, Dec 29 1999 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED Method and apparatus for using a bus as a data storage node
7698586, Jan 31 2005 Samsung Electronics Co., Ltd. System and apparatus for allowing data of a module in power saving mode to remain accessible
7804334, Jul 29 2008 Qualcomm Incorporated High signal level compliant input/output circuits
8106699, Jul 29 2008 Qualcomm Incorporated High signal level compliant input/output circuits
8138814, Jul 29 2008 Qualcomm Incorporated High signal level compliant input/output circuits
8593203, Jul 29 2008 Qualcomm Incorporated High signal level compliant input/output circuits
8717064, Feb 18 2010 Renesas Electronics Corporation Semiconductor integrated circuit
Patent Priority Assignee Title
4298982, Jun 03 1980 Lockheed Martin Corporation Fault-tolerant interface circuit for parallel digital bus
4320452, Jun 29 1978 Standard Oil Company (Indiana) Digital bus and control circuitry for data routing and transmission
4774422, May 01 1987 Digital Equipment Corporation High speed low pin count bus interface
4801813, Apr 17 1986 TechSearch, LLC Event distribution and combination system
5007012, Sep 09 1988 GLOBALFOUNDRIES Inc Fly-by data transfer system
5230067, May 11 1988 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto
///////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Jul 26 1993ABDOO, DAVID G Motorola, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0066490299 pdf
Aug 02 1993Motorola, Inc.(assignment on the face of the patent)
Apr 04 2004Motorola, IncFreescale Semiconductor, IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0156980657 pdf
Dec 01 2006Freescale Semiconductor, IncCITIBANK, N A AS COLLATERAL AGENTSECURITY AGREEMENT0188550129 pdf
Dec 01 2006FREESCALE ACQUISITION CORPORATIONCITIBANK, N A AS COLLATERAL AGENTSECURITY AGREEMENT0188550129 pdf
Dec 01 2006FREESCALE ACQUISITION HOLDINGS CORP CITIBANK, N A AS COLLATERAL AGENTSECURITY AGREEMENT0188550129 pdf
Dec 01 2006FREESCALE HOLDINGS BERMUDA III, LTD CITIBANK, N A AS COLLATERAL AGENTSECURITY AGREEMENT0188550129 pdf
Apr 13 2010Freescale Semiconductor, IncCITIBANK, N A , AS COLLATERAL AGENTSECURITY AGREEMENT0243970001 pdf
Aug 14 2012Freescale Semiconductor, IncZOZO MANAGEMENT, LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0340340236 pdf
Dec 19 2014ZOZO MANAGEMENT, LLCApple IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0347320019 pdf
Dec 07 2015CITIBANK, N A , AS COLLATERAL AGENTFreescale Semiconductor, IncPATENT RELEASE0373540225 pdf
Date Maintenance Fee Events
Nov 16 1999REM: Maintenance Fee Reminder Mailed.
Mar 20 2000M183: Payment of Maintenance Fee, 4th Year, Large Entity.
Mar 20 2000M186: Surcharge for Late Payment, Large Entity.
Sep 26 2003M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Sep 14 2007M1553: Payment of Maintenance Fee, 12th Year, Large Entity.


Date Maintenance Schedule
Apr 23 19994 years fee payment window open
Oct 23 19996 months grace period start (w surcharge)
Apr 23 2000patent expiry (for year 4)
Apr 23 20022 years to revive unintentionally abandoned end. (for year 4)
Apr 23 20038 years fee payment window open
Oct 23 20036 months grace period start (w surcharge)
Apr 23 2004patent expiry (for year 8)
Apr 23 20062 years to revive unintentionally abandoned end. (for year 8)
Apr 23 200712 years fee payment window open
Oct 23 20076 months grace period start (w surcharge)
Apr 23 2008patent expiry (for year 12)
Apr 23 20102 years to revive unintentionally abandoned end. (for year 12)