Semiconductor logic circuit

Abstract: 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: The present invention relates to a semiconductor logic circuit for performing bit expansion on a n-bit input data word to a m-bit output data word. Such a semiconductor logic circuit is particularly employed for achieving a logic function of expanding a 4-bit, 8-bit or 16-bit input data word to a 32-bit output data word. Such data are used in LSIs, for example in microprocessors. 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. 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⊘ to D31 and control signals EX4, EX8 and EX16 corresponding to the bit length of the input data, and outputs 32-bit data Z⊘ to Z31. 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 Z⊘ 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⊘ to Z31 will be "111.....11011" (twenty-eight 1s plus "1011"). 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 "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 Z⊘ 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. 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. 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. The object of the present invention is to provide a semiconductor logic circuit that achieves an expansion logic function with a remarkably reduced number of logic elements. This object is accomplished by a semiconductor logic circuit for performing bit expansion on a n-bit input data word to a m-bit output data word comprising the features a) to j) of claim 1. The semiconductor logic circuit can be used along side with a plurality of fifth semiconductor switching elements which are arranged between corresponding ones of said third input lines and said third output lines at respective bit positions and a plurality of sixth semiconductor switching elements connected to said first semiconductor switching elements and connected to a plurality of third output lines according to claim 15 in a semiconductor. These fifth and sixth semiconductor switching elements are controlled by a fourth control signal. Such a use of the semiconductor logic circuit along side with said fifth and sixth semiconductor switching elements allows for forming an extended cascaded circuit arrangement and the number of input/output lines is increased, in particular when 16-bit-expansion is desired. Further advantageous embodiments may be taken from the dependent claims. The semiconductor logic circuit of the present invention comprises CMOS-transfer gates. Each of said 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. 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. 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. 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 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 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. 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. 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 AND gates, 61 and 62 OR gates, and I1 to I6 normal inverters. 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 A⊘ 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. 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. 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. 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=1 and the remaining control signals will each be 0. If 8-bit input data of "10010101" is given to an input SE⊘, 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 to SE⊘23 are neglected, and inputs SE⊘28 to SE⊘31 appear as they are on outputs EP⊘28 to EP⊘31. Ðince 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⊘27 given to its input terminal A⊘ so that the output EP⊘27 will be the input SE⊘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⊘24 to EP⊘26 will be the inputs SE⊘24 to SE⊘26, respectively. Namely, the lower eight output bits EP⊘24 to EP⊘31 are the 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 "1" so that an input terminal A1 of the multiplexer 11 may be selected to output the input SE⊘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⊘24 is transferred to the output EP⊘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 to SE⊘22 may not be transferred to the outputs EP⊘0 to EP⊘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⊘24 to each of nodes T0 to T22. As a result, the outputs EP⊘0 to EP⊘23 are each the same as the input SE⊘24=1. Therefore, the outputs EP⊘0 to EP⊘31 will be twenty-four 1s and "10010101". In this way, 8-bit data is expanded to 32-bit data. 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 EP⊘0 to EP⊘31 will be twenty-four 0s and "10010101", thus achieving the zero 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 expansion is done, the control signals are set to EP=0, EX4=0, EX8=0 and EX16=0 so that the inputs SE⊘0 to SE⊘31 are given as they are to the outputs EP⊘0 to EP⊘31, 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 that is about 61% of 472 elements needed by the conventional selector circuit to achieve the same expansion. 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. In addition, the present invention employs clocked 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.

Claims: A semiconductor circuit for performing bit expansion on a n-bit input data word to a m-bit output data word, comprising: a) a plurality of first input lines (SE028-31); b) a plurality of first output lines (EP028-31) connected respectively with said first input lines (SE028-31) in order to correspondingly output bit signals of said first input lines (SE028-31); c) a plurality of second input lines (SE024-27) corresponding to bit positions more significant than those of first input lines (SE028-31); d) a plurality of second output lines (EP024-27) corresponding to said second input lines (SE024-27) in bit positions; e) a plurality of third input lines (SE00-23) corresponding to bit positions more significant than those of second input lines (SE024-27); f) a plurality of third output lines (EP00-23) corresponding to said third input lines (SE00-23) in bit positions; g) a plurality of first semiconductor switching elements (400-426,10) arranged between corresponding ones of said second and third input lines (SE024-27;SE00-23) and said second and third output lines (EP024-27;EP00-23) at respective bit positions, said first semiconductor switching elements (400-426,10) being controlled by a first common control signal (EX4) in order that the input signals present on said second and third input lines (SE024-27;(SE00-23) are selectively transferred respectively to the corresponding second and third output lines (EP024-27;EP00-23) if no bit expansion is performed; h) a plurality of second semiconductor switching elements (500-520, 600-604, 10), connected to the first input line (SE028) corresponding to the most significant bit of said first input lines (SE028-31) and connected to said second and third output lines (EP024-27;EP00-23), said second semiconductor switching elements (500-520, 600-604,10) being controlled by said first common control signal (EX4) in order to transfer a bit signal on the most significant first input line (SE028) to said second and third output lines (EP024-27;EP00-23) when said first semiconductor switching elements (400-426,10) disconnect said second and third input lines (SE024-27;SE00-23) from said second and third output lines (EP024-27;EP00-23) if bit expansion is performed; i) a plurality of third semiconductor switching elements (300-322, 11) arranged in series with said plurality of first semiconductor switching elements between corresponding ones of said third input lines (SE00-23) and said third output lines (EP00-23) at respective bit positions, said third semiconductor switching elements (300-322, 11) being controlled by a second common control signal (EX8) in order that the input signals present on said third input lines (SE00-23) are selectively transferred respectively to the corresponding third output lines (EP00-23) if no bit expansion is performed; and j) a plurality of fourth semiconductor switching elements (700-717, 800-804, 11) connected to the second input line (SE024) corresponding to the most significant bit of said second input lines (SE024-27) and connected to said third output lines (EP00-23), said fourth semiconductor switching elements (700-717, 800-804, 11) being controlled by said second common control signal (EX8) in order to transfer a bit signal on the most significant second input line (SE024) to said third output lines (EP00-23) when said third semiconductor switching elements (300-322, 11) disconnect said third input lines (SE00-23) from said third output lines (EP00-23) if bit expansion is performed. A semiconductor logic circuit according to claim 1, wherein one (10) of the said first switching elements (400-426,10) connected to the lowest significant second input line (SE027) and the one of said second switching elements (500-520, 600-604, 10) connected to said most significant first input line (SE028) are implemented by a first multiplexer (10) connected, at its input terminals, with said most significant first input line (SE028) and said lowest significant second input line (SE027) and, at its output terminal, with the one of said second output line (EP027) corresponding to said lowest significant second input line (SE027) and controlled by said second control signal (EX8) and a third control signal (SGNX) in order to output selectively a bit signal of said most significant first input line (SE028), a bit signal on said lowest significant second input line (SE027) or a "0". A semiconductor logic circuit according to claim 2, wherein one (11) of said third switching elements (300-322, 11) connected to the lowest significant third input line (SE023) and one (11) of said fourth switching elements (700-717, 800-804, 11) connected with said most significant second input line (SE024) are implemented by a second multiplexer (11) connected, at its input terminals, with the most significant second input line (SE024) and said lowest significant third input line (SE023) and, at its output terminal, with the one of said third output lines (EP023) corresponding to said lowest significant third input line (SE023) and controlled by a fourth control signal (EX16) and said third control signal (SGNX) in order to output selectively a bit signal on said most significant second input line (SE024), a bit signal on said lowest significant third input line (SE023) or a "0". A semiconductor logic circuit according to claim 3, characterized in that said first switching elements (400-426, 10) comprise CMOS transfer gates (400-426), multiplexers (10-12) and logic gates (51,62) and an inverter (I3). A semiconductor logic circuit according to claim 3, characterized in that said second switching elements (500-520, 600-604, 10) comprise CMOS transfer gates (500-520), clocked inverters (600-604) and an inverter (I7). A semiconductor logic circuit according to claim 4 or 5, characterized in that said CMOS transfer gates comprise a P-channel transistor and a N-channel transistor, sources of these transistors being connected to each other and drains of said transistors being connected to each other. A semiconductor logic circuit according to claim 2, characterized in that said first and second common control line (EX4,EX8) are connected to inverters (I2,I1), and respectively supply a non-inverted and inverted first and second control signal (EX4,EX4N,EX8,EX8N) to said first and second switching elements (400-426, 10;500-520, 600-604, 10) and to said first multiplexer (10), and to said third and fourth switching elements (300-322, 11;700-717, 800-804, 11), respectively. A semiconductor logic circuit according to claim 7, characterized in that said clocked inverters (600-604) of said second switching elements (500-520, 600-604, 10) receive said common control signals as a clock signal to perform switching operation in cooperation with said transfer gates (500-520). A semiconductor logic circuit according to claim 1, characterized in that said first common control signal (EX4) is to control bit expansion for a 4-bit input data word. A semiconductor logic circuit according to claim 1, characterized in that said second common control signal (EX8) is to control bit-expansion for a 8-bit input data word. A semiconductor logic circuit according to claim 3, characterized in that said fourth common control signal (EX16) is to control bit-expansion for a 16-bit input data word. A semiconductor logic circuit according to claim 1, characterized in that said n-bit input data word comprises n-bits and said m-bit output data word comprises m-bits, with m being greater than n. A semiconductor logic circuit according to claim 1, characterized in that bit expansion is effected in parallel. A semiconductor logic circuit according to claim 2, characterized in that said third control line (SGNX), determines whether 1-bit expansion or zero-bit expansion is performed. A semiconductor logic circuit according to claim 3, characterized by a) a plurality of fifth semiconductor switching elements (200-214, 12) arranged between corresponding ones of the most significant input lines of said third input lines (SE00-014) and most significant output lines if said third output lines (EP00-23) at respective bit positions, said fifth switching elements (200-214, 12) being controlled by said fourth control signal (EX16) in order that input signals present on said third input lines (SE00-23) are selectively transferred respectively to the corresponding third output lines (EP00-014) if no bit expansion is performed b) a plurality of sixth semiconductor switching elements (900-911;1000,1002) connected to said first semiconductor switching elements (400-415) and connected to a plurality of third output lines, said sixth semiconductor switching elements being controlled by said fourth control signal (EX16) in order to transfer a bit signal on a specific third input line (SE016) to said third output lines (EP00-EP015), when said third and first semiconductors switching elements (300-315,400-415) disconnect said third input lines (SE00-SE14) from said third output lines (EP00-EP015) if bit expansion is performed, for forming an extended cascaded circuit arrangement for providing bit expansion by cascading connection and interconnection elements when the number of input lines/output lines is increased. A semiconductor logic circuit according to claim 15, wherein one (12) of said fifth switching elements (200-214, 12) connected to a specific third input line (SE015) and said specific third input line (SE016) is implemented by a third multiplexer (12) connected at its input terminals with said two specific third input lines (SE015;SE016) and at its output terminal with one (315) of said third switching elements (300-315) and controlled by said third control signal (SNGX).

Inventors: USAMI KIMIYOSHI, USAMI, KIMIYOSHI
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1989
Main classification: H03M7
IPC codes: G06F7, H01L21, H01L27, G06F13, H03M7, G06F5