Method for determining static flip-flop setup and hold times

Data processing: structural design – modeling – simulation – and em – Simulating electronic device or electrical system – Timing

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C703S014000, C716S030000, C716S030000

Reexamination Certificate

active

06311148

ABSTRACT:

FIELD OF THE INVENTION
This invention relates to the field of integrated circuits, and more specifically to flip-flops that are utilized as memory devices in integrated circuits.
BACKGROUND OF THE INVENTION
An integrated circuit (IC) typically includes a silicon semiconductor crystal, called a “chip”, that is mounted in a ceramic or plastic package. The chip contains numerous electronic components forming digital gates and other necessary elements. The various electronic components are interconnected inside the chip to form a digital circuit. Bonding pads on the chip are welded to external pins or other external connection structures on the ceramic or plastic package. These external connection structures are used to connect the digital circuit of the IC to a printed circuit board (PCB) or other host system structure so that the IC can receive and transmit binary signals within the host system.
A “sequential” IC includes a digital circuit whose operating “state” at an instant in time is determined at least in part by binary information that is stored in the digital circuit. Specifically, sequential ICs typically include both “combinational” circuitry (e.g., arrays of digital gates) and memory elements. Combinational circuitry outputs binary information signals at any instant in time that are entirely dependent upon the input signals presented to the combinational circuitry at that instant. The memory elements store the binary information so that it is available, for example, for use by the combinational circuitry. In operation, a sequential IC receives binary input signals from a host system. These binary input signals, together with the binary information stored by the memory elements, determine the binary output signals transmitted from the sequential IC to the host system. The binary input signals and stored binary information also determine the conditions required for changing the binary information stored in the memory elements. Therefore, a time sequence of input signals, output signals and internal memory states determines the operating “state” of the sequential IC.
“Synchronous” sequential ICs utilize clock signals such that all changes to the binary information stored in the memory elements takes place just after each clock signal pulse. A common memory element used in synchronous sequential ICs is referred to as a “flip-flop”. A static flip-flop is a circuit that can maintain a binary state indefinitely (as long as power is applied to the IC) until directed by an input signal to switch states. The flip-flop switches states in response to, for example, a rising edge of a clock signal (i.e., when the clock signal changes from “0” (low) to “1” (high)). There are several types of known flip-flops, including D, RS, JK and T type flip-flops.
FIG. 1
is a block diagram showing a portion of a flip-flop
100
that includes a data signal generation circuit
110
, a clock signal generation circuit
120
, a register
130
, and a data signal output circuit
140
. Data signal generation circuit
110
receives one or more data input signals I
1
, I
2
, I
3
, and generates a data signal DATA that is transmitted to a data input terminal IN of register
130
. Similarly, clock signal generation circuit
120
receives one or more signals C
1
, C
2
. . . , and generates a clock signal CLOCK that is transmitted to a clock input terminal (>) of register
130
. Register
130
also includes an output terminal OUT from which a stored data signal is transmitted to data signal output circuit
140
. Data signal output circuit
140
transmits a flip-flop output signal OUTPUT in response to the flip-flop output signal.
The particular circuit structures associated with the various components of a flip-flop vary depending upon the requirements of the circuit in which the flip-flop is used. For example, a single data input signal may transmitted to the input terminal of data register
130
through a data signal generation circuit
110
that is made up of an unimpeded conductive path. Conversely, multiple data input signals may be transmitted to a data signal generation circuit
110
that includes multiple logic gates that generate data signal DATA. Likewise, clock signal generation circuit may be a single conductive path transmitting a single clock input signal to the clock terminal of register
130
, or may include a series of logic gates that generates the clock signal CLOCK in response to several clock input signals. Moreover, data signal output circuit
140
may include a simple conductive path, or may include one or more logic gates.
Register
130
typically stores the data signal DATA received at data input terminal IN during the rising edge of the clock signal (CLOCK) received at the clock input terminal, thereby determining the “set” or “reset” state of flip-flop
100
. For example, if the data signal applied to input terminal IN is “1” when clock signal CLOCK transitions from “0” to “1”, then flip-flop
100
is placed in a set state (i.e., the data signal “1” is stored in register
130
and generated at output terminal OUT). If the data signal at input terminal IN is “0” during the rising clock edge, then flip-flop
100
is placed in a reset state (i.e., the signal generated at output terminal OUT is “0”).
FIG. 2
is a timing diagram showing data signals (DATA) generated by data signal generation circuit
110
(see
FIG. 1
) and clock signals (CLOCK) generated by clock signal generation circuit
120
. These signals are transmitted to register
130
during operation of flip-flop
100
. As mentioned above, data signal generation circuit
110
and clock signal generation circuit
120
often include combinatorial circuitry and/or buffers that introduce delays in the signal transmission of the data and clock signals to the input terminals of register
130
. Because flip-flop
100
is placed in a set or reset state based on the data signal DATA applied to the data input terminal IN of register
130
when the clock signal CLOCK received at the clock input terminal (>) transitions from “0” to “1”, it is important for the data signal DATA to be stabilized at the data input terminal for a time period, referred to as a setup time t
s
, before the clock signal transition is received at the clock input terminal. For similar reasons, it is important for the data signal DATA to be stabilized at the data input terminal for a further time period, referred to as a hold time t
h
, after the clock signal transition is received. As shown in
FIG. 2
, setup time t
s
and hold time t
h
of flip-flop
110
define a time period during which the data signal DATA must be stabilized at “0” (low) or “1” (high). Specifically, after a time period t
1
during which the data signal DATA may change between “0” and “1”, setup time t
s
and hold time t
h
define a time period t
2
during which the data signal DATA must be stable (either “1” or “0”). When the hold time t
h
ends (i.e., during time period t
3
), the data signal can again change between “0” (low) and “1” (high), as indicated in FIG.
2
.
During the design and development of a synchronous sequential IC, it is important to know the setup and hold times of all flip-flops in order to maximize the operating speed. That is, the setup and hold times of each flip-flop
100
(see
FIG. 1
) differ depending upon the delays introduced by data signal generation circuit
110
and clock signal generation circuit
120
. Because these circuits are typically different for each flip-flop of an IC, the delay associated with each flip-flop is typically different. By determining the setup and hold times for each flip-flop, the sequential IC can be optimized to minimize signal transmission delays, thereby maximizing operating speed.
FIG. 3
shows a conventional method for determining the setup time t
s
for a flip-flop that is utilized during the design and development of an asynchronous sequential IC. The conventional method utilizes an iterative approach to identify an optimal setup time t
s
. In Step
310
, an initial setup time t
s
is selected for a flip-flop that is at a

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method for determining static flip-flop setup and hold times does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method for determining static flip-flop setup and hold times, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method for determining static flip-flop setup and hold times will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2615360

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.