Electrical computers and digital data processing systems: input/ – Input/output data processing – Input/output data buffering
Reexamination Certificate
2000-07-24
2001-10-23
Lee, Thomas (Department: 2182)
Electrical computers and digital data processing systems: input/
Input/output data processing
Input/output data buffering
C710S070000, C710S065000, C326S063000, C712S036000
Reexamination Certificate
active
06308229
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates to the field of electronics, and in particular to asynchronous, First-In-First-Out(FIFO) buffer circuits.
BACKGROUND
Typical electronic logic systems today use clocked Boolean binary logic circuits. Such binary circuits express two values as separate voltages on a single signal line, such as numeric values ZERO and ONE, or logical TRUE and FALSE. Most often, a ground voltage potential represents numeric ZERO or logic FALSE, and a second voltage (e.g., +5 volts) represents numeric ONE or logic TRUE. The most commonly used logic systems perform Boolean logic operations on binary signals, such as AND, OR, and NOT operations. A signal format that uses a single signal line to represent binary values for use with Boolean logic will be referred to here as “Boolean binary” format.
Clocked Boolean logic (CBL) circuits are Boolean logic circuits that use clock signals to regulate the timing of signal processing. For example, a clocked Boolean logic circuit might present input signals to a circuit on the rising edge of a clock, and latch the output of the circuit on the falling edge of the clock. Such use of a clock allows the input signals time to propagate through the circuit, and (if properly designed) ensures that the circuit outputs have settled to final values before sampling the result. Clocks tend be highly regulated to have a fixed frequency (and thus a fixed period), by deriving their periods from a crystal or other oscillator. If the clock period is shorter than signal propagation delay through the circuit, the output might not be valid at the sampling time, and potentially invalid data will be latched.
A First-In-First-Out(FIFO) buffer is a memory circuit characterized by the order in which data may be stored and recovered. Data may be read from a FIFO buffer only in the same order in which it was stored. For example, the first data read from a FIFO buffer is always the first data that was stored (hence the name “first-in-first-out”). A FIFO buffer can also be characterized by two size properties. The width (or “word size”) of a FIFO buffer describes the amount of data that can be stored or read at one time. The depth describes the total amount of information that can be stored (often quoted as a number of words).
In clocked FIFO buffers, one or more clock signals regulate the timing of read and write operations, as well as internal operations. When a single clock is used, the input and output rates are identical, and data propagates through the buffer with a fixed delay. Internally, the clock signal regulates movement of data through a series of storage locations so that the contents of all storage locations advance simultaneously. If the clock rate exceeds the maximum operating speed of the internal circuits, an internal storage location might latch a value before receiving new data from a prior location. Furthermore, the circuit associated with a storage location could oscillate or become metastable.
Typically, internal circuitry is designed to operate at conservative clock speeds that allow some margin between the clock period and the worst case delays in the internal circuitry. Such margin avoids certain timing problems, but guarantees that many or all parts of the circuit operate at less than the maximum possible speed.
In other clocked FIFO buffers, separate read and write clocks regulate the writing and reading processes. The read and write clocks determine the read and write data rates, respectively, which may be different. Overflow may occur when an external circuit attempts to write data to a full buffer. Underflow may occur when an external circuit attempts to read data from an empty buffer.
It is relatively simple to build synchronous FIFO buffers for use between two external circuits if both external circuits use the same clock or synchronized clocks. However, FIFO buffers have proven relatively harder to design and control reliably for systems operating in two different and non-synchronous clock domains. Such a FIFO must accommodate (1) irregularities in the availability of data, and (2) differences in the basic clocking systems. Thus, in two-clock FIFO buffer design, the form of clock used within a FIFO and its control logic is an important factor that absorbs substantial design resources and time.
It is desirable to have a complete family of FIFO designs that are readily available, easily scaleable, and do not suffer from timing problems or metastability. It would be possible to maintain a large library of commonly-used and tested FIFO designs for a wide variety of purpose. However, it would be nearly impossible to predict and account for all such uses. Therefore, a new (or modified) design would have to be produced for each application then rigorously tested.
SUMMARY OF THE INVENTION
The invention relates to asynchronous FIFO buffers in which data signals propagate inside the FIFO without regard to system clocks. The FIFO buffer operates at the maximum speed of the physical devices, yet can be easily modified.
The preferred FIFO buffer is particularly useful for interfacing two clocked systems whose clocks are not synchronous with one another. It may be particularly useful for use in an “application specific integrated circuit,” (ASIC) chip design, where pre-designed “coreware” subsystems must be integrated in timely and cost effective design cycles. In such applications, design cycle times, technology, lack of readily available design tools (particularly for the newest available technologies), and expense prohibit exhaustive testing and redesign of complex designs.
The disclosed FIFO buffer and interface circuits allow the designer to concentrate on other more important issues of design. The disclosed FIFO system may simplify the base process of complex system design by allowing designers greater flexibility to partition designs into more manageable subsections.
The invention is disclosed in the context of a system having: (1) a first interface circuit that converts clocked binary signals from a first clock domain into asynchronous circuits in a “dual rail” signal format with NULL signals; (2) a series of asynchronous storage registers; and (3) a second interface circuit that converts signals from the dual rail format with NULL into clocked binary signals in a second clock domain. The asynchronous storage registers operate asynchronous from either clock domain.
REFERENCES:
patent: 5121003 (1992-06-01), Williams
patent: 5212686 (1993-05-01), Joy et al.
patent: 5287305 (1994-02-01), Yoshida
patent: 5305463 (1994-04-01), Fant et al.
patent: 5475680 (1995-12-01), Turner
patent: 5550780 (1996-08-01), Chu
patent: 5640105 (1997-06-01), Sobelman et al.
patent: 5652902 (1997-07-01), Fant
patent: 5656948 (1997-08-01), Sobelman et al.
patent: 5764081 (1998-06-01), Fant et al.
patent: 5920899 (1999-07-01), Chu
patent: 5991304 (1999-11-01), Abramson
patent: 6069514 (2000-05-01), Fairbanks
patent: 6070203 (2000-05-01), Hawkins et al.
patent: 6092167 (2000-07-01), Cheung et al.
patent: 6125438 (2000-09-01), Okamoto et al.
Mariani, R.; Roncella, R.; Saletti, R.; Terreni, P., “A useful application of CMOS ternary logic to the realisation of asynchronous circuits,” IEEE Int'l Symp. on Multiple-Valued Logic, 1997, pp. 203-208.*
Nagata, Y.; Mukaidono, M., “Design of an asynchronous digital system with B-ternary logic,” IEEE Int'l Symp. on Multiple-Valued Logic, 1997, pp. 265-271.*
Hanyu, T.; Saito, T.; Kameyama, M., “Asynchronous multiple-valued VLSI system based on dual-rail current-mode differential logic,” IEEE Int'l Symp. on Multiple-Valued Logic, 1998, pp. 134-139.*
Brunvand, E., The NSR Processor, 1993, pp. 428-435, 0-8186-1060-3425/93, 1993 IEEE.
Williams, Ted, “Latency and Throughput Tradeoffs in Self-Timed Speed-Independent Pipelines and Rings”, Aug. 1990, pp. i-26, Stanford University Technical Report No. CSL-TR-90-431, Stanford University, Stanford, CA, USA.
Sparso et al., “Delay-insensitive multi-ring structures”, 1993, pp. 313-340, Integration, the VLSI journal 15 (1993), Elsevier Science
Elamin Abdelmoniem
Lee Thomas
Steptoe & Johnson LLP
Theseus Logic Inc.
LandOfFree
System for facilitating interfacing between multiple... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System for facilitating interfacing between multiple..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for facilitating interfacing between multiple... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2568510