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.
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.