Computer-implemented conversion of combination-logic module...

Computer-aided design and analysis of circuits and semiconductor – Nanotechnology related integrated circuit design

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C716S030000, C716S030000, C326S041000

Reexamination Certificate

active

06543030

ABSTRACT:

BACKGROUND OF THE INVENTION
The present invention relates to computers and, more particularly, to integrated-circuit design. A major objective of the present invention is to provide a method for improving the timing characteristics of an integrated-circuit design including a combination-logic module.
Much of modern progress is associated with the proliferation of computers, which has been made possible by advances in integrated-circuit manufacturing technology. These advances have provided integrated circuits with ever increasing densities of circuit elements—providing, in turn, higher speeds and more functionality per integrated circuit.
Most integrated circuits comprise identifiable functional blocks. Many such functional blocks implement combination logic; in other words, the block has an output that has a present value that is a predetermined function of the present values of plural inputs to the block under steady-state conditions. “Under steady-state conditions” means that the inputs have been held at constant values long enough that the output will not change except in response to a future change at the inputs. (An example of a non-combination-logic block is a counter, since its present output is dependent both on present and prior input values.)
In general, the time the effects of changes in input signals are evident in the output signals varies from input to input. There are three basic causes for this variance. The first source of variance is differing times of arrival of signal transitions at the inputs. Even in a synchronous system where all input changes are to occur within the same clock cycle, the transitions can occur at different phases within the clock cycle.
A second source of variance is “fan-out”. A large fan-out signal is one that drives many devices at once, and thus tends to make transitions more slowly than do small-fanout signals, which drive fewer devices. Thus, even if two transitions begin at the same time, the transition driving more devices takes longer to complete its transition. Accordingly, the effect of the slower transition appears later in the output.
The third source of variance is differences in latencies between respective inputs and the output. For example, different signals may have to traverse different numbers of gates; each gate can impose a delay that contributes to the latency.
The variance is a concern since it places a lower bound on the length of a clock cycle. A transition in the signal that is reflected most slowly must be reflected in the output before a subsequent transition in the signal that is reflected most quickly in the next cycle is reflected in the output. Therefore, successive changes in the block inputs must be separated in time by more than the variance in time inputs are reflected in the outputs. Therefore, the clock rate must be correspondingly limited and overall circuit performance limited.
Reducing the variance can thus improve performance. It is sometimes possible to design a block so that inputs associated with late-arriving signals (LAS) also have the shorter latencies so that the effects on output timing offset each other. In this case, the effects in the output of changes in the various inputs appear at nearer in time, facilitating fast, reliable reads.
To shorten design cycles, complex integrated circuits are typically designed by assembling modules selected from functional libraries of modules. Thus, a combination-logic function can be implemented by simply selecting an appropriate module rather than by designing a block from the transistor level. Since the modules in a library are to apply in a variety of contexts, they are typically designed without any advanced knowledge of any difference in the arrival times of input signals. Accordingly, the tendency is to design modules in which the latencies are relatively uniform across the inputs.
Once a module is incorporated into an actual integrated-circuit design, it may be found that the effects on the output of input transitions various from input-to-input to an unsatisfactory or undesirable degree. It is sometimes possible to find a more suitable module for the same function in the module library. Otherwise, it may be necessary to make ad hoc changes to the design or to redesign the functional block from scratch to meet requirements or otherwise optimize the design.
Certain types of modifications to modules have been taught for very specific design situations. For examples, some module libraries contain specific instructions for modifying a module to accommodate certain timing situations, for example, see
HDL Synthesis: Synthesis Application Note
, Synopsys, Inc., August, 1996, Chapter 2, pp. 11-27. However, the scope of such modifications is very narrow.
What is needed is a computer-implemented method for redesigning combination-logic modules to accommodate different signal arrival times at different inputs and thus to improve the timing characteristics of the incorporating integrated circuit. Such a method would improve the competitiveness of modularly designed integrated circuits, on the one hand, and reduce the effort required to achieve high-performance integrated circuits on the other.
SUMMARY OF THE INVENTION
The present invention provides a computer-implemented method for potentially improving the timing characteristics of an integrated circuit design including a combination-logic module. A last signal, e.g., the signal most belatedly reflected in the out put of the original combination-logic module, is identified. The original module is converted to a second module that has two logic submodules and an output multiplexer. One submodule provides the same result as the original module when the last signal is high, while the other provides the same result as the original module when the last signal is low. The last signal is not input to the submodules, but serves as the control signal for the multiplexer so that the revised module implements the same logic function as the original module.
The timing of the last signal is, in general, advanced by moving it from its position as a logic input in the original module to its position as an output multiplexer control signal in the second module. If the timing of the last signal is still not adequate, it is unlikely that the timing specification can be met. However, if the timing of the last signal is adequate, other signals with problematic timing can be addressed by iterating the method.
The combination-logic submodules are readily derived from the original module by applying constant signals to the inputs that formerly received the last input signal. In one submodule, all inputs formerly associated with the last input are held high; in the other submodule the corresponding inputs are held low. In many cases, further improvements in the submodule designs can be effected using more sophisticated design algorithms and/or taking advantage of operator intervention.
Because the last input is not a factor within the submodules, their latencies can be less than the latency for the original module. However, the additional latency due to the multiplexer might cause some latencies across the module to increase. Accordingly, it is generally desirable to test the redesigned module to determine whether a specification has been met or whether an improvement has actually been effected.
The invention provides for a two-pronged testing of revised modules. The first issue is whether the revised module meets predetermined timing specifications. If it does, the method provides for implementing the revised module. Alternatively, the method can be iterated to determine if further improvements to timing might be available.
If the specifications are not met, the second issue arises: is the failure due to the timing of the last signal or another signal. If it is due to the last signal, further iterations of the method are not likely to result in improvements; accordingly, the method can be terminated. If the failure is not due to the last input, further improvements may be achieved by additional iterations of the method.
The

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

Computer-implemented conversion of combination-logic module... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Computer-implemented conversion of combination-logic module..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Computer-implemented conversion of combination-logic module... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3094293

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