Abstract:
A &#34;slow&#34; signal is not sent across chip to be combined with combinatorial logic, but rather, the logic with which it would be combined is partitioned such that there are two outputs, one if the &#34;slow&#34; signal would be true and a second if the &#34;slow&#34; signal would be false. Both of these outputs are then provided to a multiplexer. The original &#34;slow&#34; signal selects the correct signal, thus saving the interconnect time delay. The concepts also apply to combinations of multiple &#34;slow&#34; signals.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to semiconductor integrated circuit configurations and, in particular, to methods and circuitry for reducing interconnect time delays. 
     2. Discussion of the Related Art 
     Integrated circuits often include logic signals that must cross the chip or are used as inputs to a number of logic blocks physically located in different areas of the chip. Some of these signals are much slower than others. There are numerous cases in which a &#34;slow&#34; signal crosses a portion of the chip, is logically combined with other signals and then the result, i.e. the output of the combinatorial logic, is returned to the original logic block or sent to logic in a distant part of the chip. With this approach, the interconnect delay can be substantial. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, a &#34;slow&#34; signal is not sent across the chip to be logically combined. Rather, the logic with which it would be combined is partitioned such that there are two outputs, one based on the &#34;slow&#34; signal being true and a second based on the &#34;slow&#34; signal being false. These two outputs are then provided to a multiplexing function. The original &#34;slow&#34; signal selects the correct output signal, thus saving the round trip time delay. The concepts of the invention are also applicable to combinations of multiple &#34;slow&#34; signals. 
     Other features and advantages of the present invention will become apparent and be appreciated by reference to the following detailed description which should be considered in conjunction with the accompanying drawings. 
    
    
     DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram illustrating a conventional integrated circuit that includes a first logic block that provides a &#34;slow&#34; output signal as an input to a second combinatorial logic block. 
     FIG. 2 is a block diagram illustrating circuitry that replaces the FIG. 1 &#34;target&#34; circuit and speeds up the operation of the FIG. 1 circuit, in accordance with the concepts of the present invention. 
     FIG. 3 is a logic diagram illustrating one possible embodiment of the FIG. 1 &#34;target&#34; circuit. 
     FIG. 4 is a logic diagram illustrating one possible embodiment of circuitry that replaces the FIG. 3 &#34;target&#34; circuit, in accordance with the concepts of the present invention. 
     FIG. 5 is a block diagram illustrating a &#34;target&#34; integrated circuit that includes a first logic block that provides two &#34;slow&#34; output signals as inputs to a second combinatorial logic block. 
     FIG. 6 is a block diagram illustrating circuitry that replaces the FIG. 5 &#34;target&#34; circuit and speeds up operation of the FIG. 5 circuit, in accordance with the concepts of the present invention. 
     FIG. 7 provides a table illustrating application of the FIG. 6 concepts as applied to the &#34;target&#34; logic shown in FIG. 3. 
     FIG. 8 shows 4:1 multiplexer circuitry as utilized to implement the FIG. 6 concepts as applied to the FIG. 3 &#34;target&#34; logic. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Referring to FIGS. 1 and 2, the concepts of the present invention will first be discussed in the context of the simplest example, i.e. the case in which a single slow signal A is provided to combinatorial logic that receives only one additional signal B as an input. 
     FIG. 1 shows portions of an integrated circuit that includes a first logic block 10 that generates an output signal A. The FIG. 1 circuit also includes a combinatorial logic block 12 that receives the output signal A from the first logic block and an additional signal B as inputs. The combinatorial logic block 12 is configured to generate as its output signal OUT a first combinatorial logic output signal C1 if signal A is in a &#34;true&#34; logic state and a second combinatorial logic output signal C2 if signal A is in a &#34;false&#34; logic state. 
     As discussed above, it is not uncommon for signal A to be relatively slow in traversing the circuit interconnects, particularly if the combinatorial logic block 12 is located in a part of the integrated circuit chip that is remote from the first logic block 10. Thus, the interconnect delay of signal A can adversely affect the speed of operation of the FIG. 1 circuit. 
     FIG. 2 shows speed-up circuitry that can be used to replace the FIG. 1 &#34;target&#34; circuitry, in accordance with the present invention. The FIG. 2 block diagram is representative of the fact that the combinatorial logic block 12 of the FIG. 1 circuit can be reduced to two logic blocks, one based on the assumption that signal A is true and one based on the assumption that signal A is false. That is, if one assumes that signal A is true, then it is a simple matter for one skilled in the art to create a logic circuit that generates signal C1 as an output based upon only signal B as an input. Similarly, if one assumes that signal A is false, then one skilled in the art can create a logic circuit that generates signal C2 as an output based upon only signal B as an input. 
     The FIG. 2 circuitry includes a first logic block 20, similar to the first logic block 10 of the FIG. 1 circuit, that generates output signal A. However, in the FIG. 2 circuit, the combinatorial logic block 12 of the FIG. 1 circuit is partitioned into a true logic block 22 and a false logic block 24. The true logic block 22 responds to the signal B by generating the first combinatorial logic output signal C1 that would result from operation of the FIG. 1 circuit if signal A were true. Similarly, the false logic block 24 responds to the signal B by generating the second combinatorial logic output signal C2 that would result from operation of the FIG. 1 circuit if signal A were false. 
     As further shown in FIG. 2, multiplexer circuitry 26 is connected to receive the first and second combinatorial logic output signals C1 and C2 respectively generated by the true and false logic circuitry 22 and 24. The output signal A generated by the first logic block 20 serves as the select signal for the multiplexer circuitry 26 such that the multiplexer circuitry 26 provides the first combinatorial logic output signal C1 as the multiplexer output signal MUX --  OUT when signal A is in the true logic state (&#34;1&#34; in the FIG. 2 embodiment) and provides the second combinatorial logic output signal C2 as the multiplexer output signal when signal A is in the false logic state (&#34;0&#34; in the FIG. 2 embodiment). 
     In the FIG. 2 embodiment of the invention, the output MUX --  OUT of the multiplexer circuitry 26 is provided as a further input signal to the first logic block 20. However, those skilled in the art will appreciate that this signal can be utilized anywhere on the chip or provided as a chip output. 
     Those skilled in the art will further appreciate that the multiplexer circuitry 26 can be implemented utilizing any of a number of well known logic configurations. In some cases, the utilization of AND/OR multiplexing logic will further enhance the speed of operation. 
     FIGS. 3 and 4 provide a specific example of the implementation of the present invention. 
     FIG. 3 shows a simple logic configuration that corresponds to the FIG. 1 circuit. Specifically, the first logic block 10 provides the output signal A to a NAND gate 30 of combinatorial logic block 12. The NAND gate 30 also receives a signal D as an input. The output of the NAND gate 30 serves as a first input to a NOR gate 32. A signal C serves as a second input to the NOR gate 32. The output of the NOR gate 32 serves as a first input to an OR gate 34. Signal B serves as the second input to the OR gate 34. The OR gate 34 provides a first signal C1 as its output if signal A is true (&#34;1&#34;) and provides a second signal C2 as its output if signal A is false (&#34;0&#34;). Analysis of the FIG. 3 circuit will show that when signal A is false (i.e. =0), then the output of OR gate 34 will be signal B. 
     As discussed above, if the propagation delay of signal A is great, then the speed of the overall integrated circuit that includes the FIG. 3 circuit is seriously compromised. 
     However, this problem is addressed by the FIG. 4 circuitry, in accordance with the concepts of the present invention. As discussed above with respect to the FIG. 2 circuit, the FIG. 3 &#34;target&#34; circuit is replaced by &#34;true/false&#34; logic for the true/false logic states of signal A. 
     As shown in FIG. 4, signal B is provided directly to the multiplexer circuitry 26 as signal C2, representing the case where signal A is false (i.e. =0). In addition, signal B serves as one input to an OR gate 42, an additional input to the OR gate 42 being provided by the output of a NOR gate 44. As further shown in FIG. 4, the inputs to the NOR gate 44 include signal C and the output of an inverter 46. A comparison of FIGS. 3 and 4 shows that the logic combination is the same except that the NAND gate 34 of the FIG. 3 circuit is replaced by the inverter 46 of the FIG. 4 circuit. 
     The output C1 of OR gate 42 is provided as an input to the multiplexer circuitry 26, a second input to the multiplexer circuitry 26 being provided directly by signal B. Signal A serves as the select signal for the multiplexer 26, passing signal C1 to the multiplexer output MUX --  OUT if signal A is in a true logic state and passing signal C2 (i.e. signal B) to the multiplexer output MUX --  OUT if signal A is in a false logic state. 
     Thus, the FIG. 4 circuit replaces the function of the FIG. 3 &#34;target&#34; circuit without the need to suffer the interconnect delays associated with providing signal A to the across-chip combinatorial logic. 
     FIG. 5 shows a &#34;target&#34; circuit wherein two &#34;slow&#34; signals, signal A and signal B, which in the illustrated embodiment are generated by a first logic block 50, are provided as inputs to a second combinatorial logic block 52. The combinatorial logic block 52 also receives additional signals as inputs. The output signal OUT of the combinatorial logic block 52 is provided as an input to the first logic block 50. 
     Those skilled in the art will appreciate that, based on variations the digital true/false state of the two inputs A and B, combinatorial logic block 52 will generate four possible outputs: signals C1, C2, C3, and C4. 
     Referring to FIG. 6, in accordance with the concepts of the present invention, the FIG. 5 &#34;target&#34; circuit is replaced by four logic blocks 62, 64, 66, 68, each one based on the assumption that the A/B signal combination generated by the first logic block 60 is one of the four possible values (A=0, B=0; A=1, B=0, A=0, B=1 and A=1, B=1) that generates a corresponding output C1, C2, C3, C4 in the operation of the FIG. 5 circuit. Specifically, logic block 62 is created, assuming that A=0 and B=0, to generate output signal C1 based upon only the additional input signals. Logic block 64 is created, assuming that A=1 and B=0, to generate output signal C2 based upon only the additional input signals. Similarly, logic block 66 is created to generate output signal C3, assuming that A=0 and B=1, and logic block 68 is created to generate output signal C4, assuming that A=1 and B=1. 
     As further shown in FIG. 6, the four signals C1, C2, C3 and C4 are provided as inputs to 4:1 multiplexer circuitry 69. The four A/B signal combinations provide the select signal for the multiplexer 69. The multiplexer output signal MUX-OUT is provided to the first logic block 60. 
     Applying the FIG. 6 concepts to the &#34;target&#34; logic shown in FIG. 3, signals A and B in FIG. 3 may be considered the &#34;slow&#34; signals while signals C and D may be considered the additional signals. 
     As shown in FIG. 7, when A=0 and B=0, the FIG. 3 logic generates signal C1=0. When A=1 and B=0, the FIG. 3 logic may be replaced by the logic shown in FIG. 7 to generate signal C2. When A=0 and B=1, the FIG. 3 logic generates signal C3=1. When A=1 and B=1, the FIG. 3 logic generates signal C4=1. 
     As shown in FIG. 8, in this example, the 4:1 mux 69 selects the correct version of the FIG. 3 output. 
     Those skilled in the art will appreciate that if three &#34;slow&#34; signals are used, then 8=2 3  replacement logic circuits and an 8:1 multiplexer circuitry are required to replace the &#34;target&#34; circuit. In general, for N &#34;slow&#34; signals, 2 N  replacements logic circuits and 2 N  :1 multiplexer circuitry are required. 
     It should be understood that various alternatives to the embodiments of the invention described herein may be employed in practicing the invention. It is intended that the following claims define the scope of the invention and that methods and circuits within the scope of these claims and their equivalents be covered thereby.