Abstract:
A semiconductor logic circuit for realizing bit expansion comprises a series of CMOS transfer gates that transfer, for example, a fourth bit of input data to all bit positions upper than the fourth bit. The transfer of the fourth bit is done through clocked inverters. Each of the clocked inverters gives the fourth bit to, for instance, four of the upper bit positions in parallel.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a semiconductor logic circuit, and particularly to a semiconductor logic circuit for achieving logic function of expanding 4-bit, 8-bit or 16-bit data to 32-bit data. Such data are used in large scale integrated circuits (LS1) such as microprocessors. 
     2. Description of the Prior Art 
     It is frequently required to expand data of a particular bit length to data of another bit length and to process the expanded data. FIG. 1 shows a conventional logic circuit that achieves such bit expansion. 
     The logic circuit of FIG. 1 expands 4-bit, 8-bit or 16-bit data to 32-bit data. This logic circuit receives input data D.0. to D31 and control signals EX4, EX8 and EX16 corresponding to the bit length of the input data, and outputs 32-bit data Z.0. to Z31. 
     It is assumed that the logic circuit of FIG. 1 receives 4-bit input data of &#34;1011&#34; as D28=1, D29=0, D30=1 and D31=1. Since the 4-bit data is expanded to 32-bit data, the control signal EX4 will be 1 and the remaining control signals EX8 and EX16 will each be 0. Due to the control signal EX4 of 1, 4-input selectors 100 to 115, 3-input selectors 116 to 123 and 2-input selectors 124 to 127 select the most significant bit, i.e., the input D28 out of the 4-bit input data. Therefore, the outputs Z.0. to Z27 will each be the input D28, i.e., 1 while the outputs Z28 to Z31 will be the inputs D28 to D31, respectively. Namely, the outputs Z.0. to Z31 will be &#34;111 . . . 11011&#34; (twenty-eight 1s plus &#34;1011&#34;). In this way, 4-bit data is expanded to 32-bit data. 
     Similarly, 8-bit input data can be expanded to 32-bit data. For example, data of &#34;10010101&#34; may be given to the inputs D24 to D31, and only the control signal EX8 is set to 1. Then, the 2-input selectors 124 to 127 select the input data D24 to D27, which are outputted as they are from the outputs Z24 to Z27. On the other hand, the 4-input selectors 100 to 115 and 3-input selectors 116 to 123 select the most significant bit &#34;1&#34; of the outputs Z.0. to Z23. As a result, twenty-four 1s and the eight-bit data of &#34;10010101&#34; are outputted, thereby completing the expansion from 8-bit data to 32-bit data. Expansion from 16-bit input data to 32-bit data will be performed similarly. 
     As described in the above, the conventional logic circuit for achieving the bit expansion employs 4-input selectors, 3-input selectors and 2-input selectors. Therefore, hardware size of the logic circuit is large to inevitably increase the area of a chip. 
     FIGS. 2(a), 2(b) and 2(c) show examples of the 4-input selector, 3-input selector and 2-input selector employed in the logic circuit of FIG. 1, respectively. Assuming the selectors are formed of CMOS transistor circuits, the 4-input selector shown in FIG. 2(a) requires twenty elements, the 3-input selector of FIG. 2(b) requires fourteen elements, and the 2-input selector of FIG. 2(c) requires ten elements. As a result, the logic circuit will require a great amount of hardware. 
     SUMMARY OF THE INVENTION 
     An object of the present invention is to provide a semiconductor logic circuit that achieves an expansion logic function with a remarkably reduced number of elements. 
     In order to accomplish the object, the present invention provides a semiconductor logic circuit comprising CMOS transfer gates. Each of the CMOS transfer gates comprises a pair of MOS transistors including a P-channel transistor and an N-channel transistor where sources of the transistors are connected to each other and drains of the transistors are also connected to each other. The CMOS transfer gates are connected in series and arranged in respective stages, depending on the number of bits to which expansion is sought. A plurality of clocked inverters are arranged such that the output terminals of the clocked inverters are connected to source or drain electrodes of the transfer gates disposed in a specific one of the stages. Input terminals of the clocked inverters are connected to each other. 
     In expanding bit data, for example 8-bit data to 32-bit data, with the arrangement mentioned above, each of the clocked inverters is used to transfer an expansion bit to three higher bit positions in parallel at one time. As a result, the bit expansion operation is achieved at a high speed. 
     According to the invention, the number of elements that are needed purely for performing bit expansion and zero expansion is about 60% of that needed by the conventional bit expansion technique. 
     These and other objects, features and advantages of the present invention will be more apparent from the following detailed description of preferred embodiments in conjunction with the accompanying drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a schematic diagram showing a logic circuit of prior art; 
     FIG. 2(a) is a view showing the details of a 4-input selector shown in FIG. 1; 
     FIG. 2(b) is a view showing the details of a 3-input selector shown in FIG. 1; 
     FIG. 2(c) is a view showing the details of a 2-input selector shown in FIG. 1; 
     FIGS. 3(a) and 3(b) are views showing a semiconductor logic circuit according to an embodiment of the invention; 
     FIG. 4 is a schematic view showing a transfer CMOS; 
     FIG. 5(a) is a view showing the details of a multiplexer shown in FIGS. 3(a) and 3(b); and 
     FIG. 5(b) is a view showing the details of a clocked inverter shown in FIGS. 3(a) and 3(b). 
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     FIGS. 3(a) and 3(b) show a logic circuit for bit expansion according to the present invention. Terminals of the logic circuit on the left-hand side of FIG. 3(a) are connected to terminals on the right-hand side of FIG. 3(b), respectively. In the figures, numerals 10, 11 and 12 represent multiplexers, and 200 to 214, 300 to 322, 400 to 426, 500 to 520, 700 to 717 and 900 to 911 represent CMOS transfer gates. As shown in FIG. 4, each of the transfer gates comprises a pair of P-channel transistor and N-channel transistor. Source electrodes of the transistors are connected to each other, and drain electrodes thereof are also connected to each other. 
     The CMOS transfer gates are connected in series to form respective stages. The stages of the CMOS transfer gates are arranged to correspond to the number of bits (thirty-two in this embodiment) to which expansion is sought. 
     Numerals 600 to 604, 800 to 804 and 1000 to 1002 are clocked inverters. Input terminals of the clocked inverters in the same stage are connected to each other. The clocked inverters 600 to 604 are turned ON with a control signal EX4 of 1, the clocked inverters 800 to 804 turned ON with a control signal EX8 of 1, and the clocked inverters 1000 to 1002 turned ON with a control signal EX16 of 1. 
     Numerals 2000 to 2031 are output drivers, 50 to 53 are AND gates, 61 and 62 OR gates, and I1 to I8 are normal inverters. 
     FIG. 5(a) shows the details of one of the multiplexers 10 to 12. An input S of the multiplexer is connected to the gate electrodes of P-channel transistors P1 and P2 and N-channel transistors N1 and N2. A selection input A.0. of the multiplexer is connected to transistors P3 and N3. A selection input A1 of the multiplexer is connected to transistors P4 and N4. Outputs from drain electrodes of the transistors P1 and N1 are connected to gate electrodes of transistors P5 and N5. Outputs from drain electrodes of the transistors P2, N5, N2 and P5 are connected to gate electrodes of transistors P6 and N6. Drain electrodes of the transistors P6 and N6 provide a final output Z. 
     FIGS. 5(b) shows the details of one of the clocked inverters 600 to 604. An input terminal A of the clocked inverter is connected to the gate electrodes of P-channel transistor P1 and N-channel transistor N1. A clock input .0. is inputted into the gate electrode of a transistor P2, while a clock input .0. is inputted into the gate electrode of a transistor N2. A common node of the transistors P2 and PN provides an output Z. 
     Operation of the logic circuit of the invention will be explained with reference to FIGS. 3(a), 3(b) and 5(a). A control signal SGNX will be &#34;1&#34; if data expansion is to be carried out, while the signal SGNX will be &#34;0&#34; if no data expansion is to be carried out. A control signal EP will be &#34;1&#34; if an expansion operation is to be carried out, while the signal EP will be &#34;0&#34; if no expansion operation is to be carried out. A control signal EX16 will be &#34;1&#34; if 16-bit input data is to be expanded to 32-bit data, while the signal EX16 will be &#34;0&#34; when no such operation is to be done. Similarly, a control signal EX8 will be &#34;1&#34; to expand 8-bit input data to 32-bit data, and a control signal EX4 will be &#34;1&#34; to expand 4-bit input data to 32-bit data. These control signals will be &#34;0&#34; when no corresponding expansion operation is to be done. 
     When 8-bit input data is subjected to data expansion to 32-bit data, the control signals will be SGNX=1, EP=1, EX8=1, and the remaining control signals will each be 0. 
     If 8-bit input data of &#34;10010101&#34; is provided to an input SE0, states of the circuit shown in FIGS. 3(a) and 3(b) will be those indicated with 1s, 0s, ONs and OFFs shown in the same figures. 
     Inputs SE.0.0 to SE.0.23 are neglected, and inputs SE.0.28 to SE.0.31 appear as they are on outputs EP028 to EP031. Since the control signal EX8 is 1, a node N270 is at low level (level 0) so that an input S of the multiplexer 10 may be 0. Therefore, the multiplexer 10 selects the input SE.0.27 given to its input terminal A.0. so that the output EP.0.27 will be the input SE.0.27. 
     The control signal EX4 of 0 turns ON the CMOS transfer gates 424 to 426 and OFF the CMOS transfer gates 518 to 520 so that the outputs EP.0.24 to EP.0.26 will be connected to the inputs SE.0.24 to SE.0.26, respectively. Namely, the lower eight output bits EP.0.24 to EP.0.31 are corresponding inputs as they are. 
     On the other hand, a node N230 is at high level (level 1) because the control signals are EX16=0 and EP=1. Therefore, an input terminal S of the multiplexer 11 receives &#34;1&#34; so that an input terminal A1 of the multiplexer 11 may be selected to output the input SE.0.24 to a node N23. 
     Since the control signal EX4 is 0 at this time, the transfer gate 423 is turned ON while the transfer gate 517 is turned OFF, and the clocked inverter 604 provides an output of high impedance. Therefore, the signal at the node N23 appears at a node T23. Accordingly, the input SE.0.24 is transferred to the output EP.0.23 via an output driver 23. The control signal EX8 of 1 turns OFF the transfer gates 300 to 322 so that the inputs SE.0.0 to SE.0.22 may not be transferred to the outputs EP.0.0 to EP.0.22. However, the transfer gates 700 to 717 are turned ON so that the clocked inverters 800 to 804 and inverter I4 may operate to transfer the signal at the node T23, i.e., the input SE.0.24 to each of nodes T0 to T22. As a result, the outputs EP.0.0 to EP.0.23 are each the same as the input SE.0.24=1. Therefore, the outputs EP.0.0 to EP.0.31 will be twenty-four 1s and &#34;10010101&#34;. In this way, 8-bit data is expanded to 32-bit data. 
     To perform no data expansion of 8-bit data, the control signal SGNX is set to 0 so that the input terminal A1 of the multiplexer 11 may be fixed to 0. Since the input S of the multiplexer 11 is 1, the multiplexer 11 selects its input terminal A1. As a result, the node N23 will be 0, which will be transferred to the node T23. Since the signal at the node T23 is transferred to the nodes T0 to T22, the outputs EP.0.0 to EP.0.31 will be twenty-four 0s and &#34;10010101&#34;, thus achieving no data expansion. 
     Similarly, 4-bit data or 16-bit data may be expanded to 32-bit data. Explanations of these cases are omitted because they are quite similar to the one explained in the above. 
     If no data expansion is done, the control signals are set to EP=0, EX4=0, EX8=0 and EX16=0 so that the inputs SE00 to SE031 are given as they are to the outputs EP00 to EP031, respectively. 
     The number of elements needed for executing only the bit expansion or zero expansion in the semiconductor logic circuit of the invention is 286 which is about 61% of the 472 elements needed by the conventional selector circuit to achieve the same expansion. 
     If the AND gates 50 to 51 and output drivers 2000 to 2031 are included for selecting a bit expansion or no expansion, the present invention requires 414 elements which is 88% that needed by the prior art. 
     In addition, the present invention employs clock inverters each of which transfers an expansion bit to four higher bit positions in parallel at one time to achieve bit expansion or no bit expansion at high speed. 
     Various modifications will become possible for those skilled in the art after reviewing the teachings of the present disclosure without departing from the scope thereof.