(19)
(11) EP 0 354 534 A2

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
14.02.1990 Bulletin 1990/07

(21) Application number: 89114654.0

(22) Date of filing: 08.08.1989
(51) International Patent Classification (IPC)5H03M 7/30, H03K 19/094
(84) Designated Contracting States:
DE FR GB

(30) Priority: 09.08.1988 JP 197171/88

(71) Applicant: KABUSHIKI KAISHA TOSHIBA
Kawasaki-shi, Kanagawa-ken 210 (JP)

(72) Inventor:
  • Usami, Kimiyoshi
    Kanagawa-ku Yokohama-shi Kanagawa-ken (JP)

(74) Representative: Hansen, Bernd, Dr.rer.nat. et al
Hoffmann, Eitle & Partner Patentanwälte Postfach 81 04 20
81904 München
81904 München (DE)


(56) References cited: : 
   
       


    (54) Semiconductor logic circuit


    (57) A semiconductor logic circuit for realizing bit expansion comprises a series of CMOS transfer gates (200-214, 300-322, 400-426, 500-520, 700-717, 900-911) that transfer, for example, a fourth bit of input data to all bit positions more significant than the fourth bit. The transfer of the fourth bit is done through clocked inverters (600-604, 800-804, 1000-1002). Each of the clocked inverters gives the fourth bit to, for instance, four of the more significant bit positions in parallel.







    Description

    BACKGROUND OF THE INVENTION


    1. Field of the Invention



    [0001] The present invention relates to a semiconductor logic circuit, and particularly to a semiconductor logic circuit for achieving a logic function of expanding 4-bis, 8-bit or 16-bit data to 32-bit data. These data are used in LSIs such as microprocessors.

    2. Description of the Prior Art



    [0002] It is frequently required to expand data of particular bit length to data of another bit length and process the expanded data. Figure 1 shows a conventional logic circuit that achieves such bit expansion.

    [0003] 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 D0̸ to D31 and control signals EX4, EX8 and EX16 corresponding to the bit length of the input data, and outputs 32-bit data Z0̸ to Z31.

    [0004] It is supposed that the logic circuit of Fig. 1 receives 4-bit input data of "1011 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 a most significant bit, i.e., the input D28 out of the 4-bit input data. Therefore, the outputs Z0̸ 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 Z0̸ to Z31 will be "111.....11011" (twenty-eight 1s plus "1011"). In this way, 4-bit data is expanded to 32-bit data.

    [0005] Similarly, 8-bit input data can be expanded to 32-bit data. For example, data of "10010101" 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 a most significant bit "1" of the outputs Z0̸ to Z23. As a result, twenty-four 1s and the eight-bit data of "100010101" 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.

    [0006] 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.

    [0007] Figures 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. Supposing 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) fourteen elements, and the 2-input selector of Fig. 2(c) ten elements. As a result, the logic circuit will be very large hardware.

    SUMMARY OF THE INVENTION



    [0008] An object of the present invention is to provide a semiconductor logic circuit that achieves an expansion logic function with remarkably reduced number of elements.

    [0009] 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 P-channel transistor and 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 which the expansion is aimed at. A plurality of clocked inverters are arranged such that output terminals of the clocked inverters are connected to source or drain electrodes of the transfer gates disposed in specific one of the stages. Input terminals of the clocked inverters are connected to each other.

    [0010] In expanding bit data for example, 8-bit data to 32-bit data with the arrangement mentioned in the 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 high speed.

    [0011] According to the invention, the number of elements that are needed purely for performing bit expansion and zero expansion is about 60% that needed by the conventional bit expansion technique.

    [0012] These and other objects, features and advantages of the present invention will be more apparent from the following detail description of preferred embodiments in conjunction with the accompanying drawings.

    BRIEF DESCRIPTION OF THE DRAWINGS



    [0013] 

    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



    [0014] Figures 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.

    [0015] 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) which the expansion is aimed at.

    [0016] 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.

    [0017] Numerals 2000 to 2031 are output drivers, 50 to 53 AND gates, 61 and 62 OR gates, and I1 to I6 normal inverters.

    [0018] Figure 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 A0̸ 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.

    [0019] Figures 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 ø is inputted into the gate electrode of a transistor P2, while a clock input ø is inputted into the gate electrode of a transistor N2. A common node of the transistors P2 and PN provides an output Z.

    [0020] 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 "1" if code expansion is to be carried out, while the signal SGNX will be "0" if zero expansion is to be carried out. A control signal EP will be "1" if expansion operation is to be carried out, while the signal EP will be "0" if no expansion operation is to be carried out. A control signal EX16 will be "1" if 16-bit input data is to be expanded to 32-bit data, while the signal EX16 will be "0" when no such operation is to be done. Similarly, a control signal EX8 will be "1" to expand 8-bit input data to 32-bit data, and a control signal EX4 will be "1" to expand 4-bit input data to 32-bit data. These control signals will be "0" when no corresponding expansion operation is to be done.

    [0021] When 8-bit input data is subjected to the code expansion to 32-bit data, the control signals will be SGNX=1, EP=1, EX8=8 and the remaining control signals will each be 0.

    [0022] If 8-bit input data of "10010101" is given 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.

    [0023] Inputs SE0̸0 to SE0̸23 are neglected, and inputs SE0̸28 to SE0̸31 appear as they are on outputs EP0̸28 to EP0̸31. 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 SE0̸27 given to its input terminal A0̸ so that the output EP0̸27 will be the input SE0̸27.

    [0024] 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 EP0̸24 to EP0̸26 will be the inputs SE0̸24 to SE0̸26, respectively. Namely, the lower eight output bits EP0̸24 to EP0̸31 are the corresponding inputs as they are.

    [0025] 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 "1" so that an input terminal A1 of the multiplexer 11 may be selected to output the input SE0̸24 to a node N23.

    [0026] 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 SE0̸24 is transferred to the output EP0̸23 via an output driver 23. The control signal EX8 of 1 turns OFF the transfer gates 300 to 322 so that the inputs SE0̸0 to SE0̸22 may not be transferred to the outputs EP0̸0 to EP0̸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 T213, i.e., the input SE0̸24 to each of nodes T0 to T22. As a result, the outputs EP0̸0 to EP0̸23 are each the same as the input SE0̸24=1. Therefore, the outputs EP0̸0 to EP0̸31 will be twenty-four 1s and "10010101". In this way, 8-bit data is expanded to 32-bit data.

    [0027] To perform the zero 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 EP0̸0 to EP0̸31 will be twenty-four 0s and "10010101", thus achieving the zero expansion.

    [0028] 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.

    [0029] If no expansion is done, the control signals are set to EP=0, EX4=0, EX8=0 and EX16=0 so that the inputs SE0̸0 to SE0̸31 are given as they are to the outputs EP0̸0 to EP0̸31, respectively.

    [0030] The number of elements needed for executing only the bit expansion or zero expansion in the semiconductor logic circuit of the invention is 286 that is about 61% of 472 elements needed by the conventional selector circuit to achieve the same expansion.

    [0031] If including the AND gates 50 to 51 and output drivers 2000 to 2031 for selecting the bit expansion or zero expansion, the present invention requires 414 elements that is 88% that needed by the prior art.

    [0032] 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 the bit expansion or zero bit expansion at high speed.

    [0033] Various modifications will become possible for those skilled in the art after receiving the teachings of the present disclosure without departing from the scope thereof.


    Claims

    1. A semiconductor logic circuit comprising:
    a plurality of output lines arranged in order;
    a plurality of semiconductor switching elements for connecting adjacent ones of said output lines to each other;
    a common control line for providing a control signal to said switching elements; and
    a buffer circuit for connecting one of said output lines to others of said output lines that are distant from the one output line.
     
    2. The semiconductor logic circuit as claimed in claim 1, wherein said buffer circuit comprises inverters and clocked inverters connected in series.
     
    3. The semiconductor logic circuit as claimed in claim 2, wherein the clocked inverters receive the control signal as a clock signal to achieve switching operating in cooperation with said semiconductor switching elements.
     
    4. The semiconductor logic circuit as claimed in claim 1, wherein each of said semiconductor switching elements is CMOS transfer gate comprising a P-channel transistor and an N-channel transistor, sources of the transistors being connected to each other and drains of the transistors being connected to each other.
     
    5. A semiconductor logic circuit comprising:
    a plurality of bit input lines arranged in order, said input lines being classified into a lowermost input line, a specific input line that is different from the lowermost input line, and upper input lines that are located at bit positions upper than a bit position of the specific input line;
    a plurality of first semiconductor switching elements connected to the upper input lines, respectively;
    a first common control line for providing a control signal to said first semiconductor switching elements;
    a plurality of second semiconductor switching elements for connecting the specific input line to output lines of said first semiconductor switching elements; and
    a second common control line for providing a control signal to said switching elements,
    when said first semiconductor switching elements are turned OFF and said second semiconductor switching elements turned ON, a signal level of the specific input line being selected as a signal level of each of output lines that are positioned upper than the specific input line to carry out bit expansion operation.
     
    6. The semiconductor logic circuit as claimed in claim 5, wherein some of output lines of said first semiconductor switching elements are connected to the specific input line via said second semiconductor switching elements.
     
    7. The semiconductor logic circuit as claimed in claim 5, wherein the specific input line is connected to said first semiconductor switching elements that are connected to ones of said input lines distant from the specific input line.
     
    8. The semiconductor logic circuit as claimed in claim 5, wherein the specific input line is connected to said first semiconductor switching elements that are connected to ones of said input lines distant from the specific input line via a buffer circuit.
     
    9. The semiconductor logic circuit as claimed in claim 8, wherein the connection via the buffer circuit is achieved on every predetermined ones of said input lines starting from the specific input line.
     
    10. The semiconductor logic circuit as claimed in claim 8, wherein the buffer circuit comprises inverters and clocked inverters connected in series.
     
    11. The semiconductor logic circuit as claimed in claim 10, wherein each of the clocked inverters receives the second control signal as a clock signal to perform switching operation in cooperation with said second semiconductor switching elements.
     
    12. The semiconductor logic circuit as claimed in claim 8, wherein each of said first and second semiconductor switching elements is a CMOS transfer gate comprising a P-channel transistor and an N-channel transistor, sources of the transistors being connected to each other and drains of the transistors being connected to each other.
     




    Drawing