Abstract:
A logic operation device operable at a high speed with a high reliability is disclosed. The logic operation device comprises a first, arithmetic and logic unit composed of a dynamic circuit of a precharge type, and a second, arithmetic and logic unit composed to a static circuit and having the same operational function as the first unit. When common data is supplied from an input register to the first and second units, the first unit generates a logic operation output earlier than the second unit does. The succeeding operation is therefore performed on the basis of this logic operation output from the first unit. As soon as the second unit generates an operation output, this is compared with that of the first unit. If the comparison results shows that both outputs are not the same, the subsequent operation on the basis of the logic operation output from the first unit is stopped.

Description:
BACKGROUND OF THE INVENTION 
     This invention relates to a logic operation device implemented by a large scale integrated circuit. The present invention is also directed to a logic operation process using the above logic operation device. 
     It is desired that a logic operation device perform the operation both at a high speed and with a high reliability. As a method for enhancing the reliability there is known a method in which two sets of the same ALU units are used. A logic operation device adopting such a dual system is provided with two ALU units to each of which common data is supplied. The operation results obtained from these ALU units are continuously compared for checking. While such a dual system can enhance the reliability, the amount of hardware is unavoidably increased because of the necessity for using two sets of the same ALU units. 
     In order to increase the operation speed, it is necessary to use a logic operation device including a logic circuit utilizing circuit elements capable of operating at a high speed. Furthermore, the logic operation device is required to be implemented by a large scale integrated circuit in order to shorten wires connecting the parts of the device. As a logic circuit which meets with the above requirements, there is known a dynamic circuit using, for example, a CMOS process. For example, Japanese Laid-Open Patent Application No. 58-111,436 (corresponding to U.S. patent application No. 308,072 filed Dec. 17, 1981) discloses a CMOS multistage dynamic logic circuit of a precharge type. Such a logic circuit of a precharge type operates on the basis of whether or not an n-MOS transistor draws out a charge which has been precharged by a p-MOS transistor and whose operation speed depends on the operation of the n-MOS transistor having a higher drive power than the p-MOS transistor. 
     With the dynamic circuit realized in the large scale integrated circuit, however, a software error is liable to occur because the charges in the precharged state tend to be inverted by charges induced by α-rays radiated from uranium contained in the package. This software error causes the misoperation of the logic circuit of the dynamic circuit. It is, therefore, necessary to take a measure against such a misoperation since otherwise a serious damage such as a breakdown of a database would possibly occur. Accordingly, when a dynamic circuit is utilized for the construction of a logic circuit operable at a high speed, it is important that a counter measure should be taken against such a software error. 
     On the contrary, a logic static circuit is free of such a software error. The static circuit (CMOS logic circuit) operates by the complementary switching operation of a p-MOS transistor or n-MOS transistor at a speed determined by the p-MOS transistor having a lower drive power than n-MOS transistor. Accordingly, the logic operation device of a static circuit type cannot operate at such a high speed as attained in the dynamic circuit. However, the static circuit type operation device is free of the above-mentioned software error caused due to the inversion of the charges and can operate with a high reliability. 
     Thus, whilst a logic circuit of a dynamic type operates at a higher speed than a logic circuit of a static type, the reliability of the former circuit is lower than the latter circuit because of the possible occurrence of misoperation as described above. 
     SUMMARY OF THE INVENTION 
     It is, therefore, an object of the present invention to provide a logic operation device operable both at a high speed and with a high reliability. 
     In accomplishing the above object, the present invention provides a logic operation device comprising: 
     a first, arithmetic and logic unit including a dynamic circuit of a precharge type; and 
     a second, arithmetic and logic unit including a static circuit and having the same operational function as said first unit. 
     In the logic operation device of the present invention, the timing controller performs the timing control for the data input and output of both the first unit having a dynamic circuit of a precharge type and capable of operating at a high speed and the second unit having a static circuit and capable of operating with a high reliability. Thus, the timing controller is operable to provide the first and second units with data to be operated. Namely, after the precharge of the first unit, the timing controller performs the timing control for the data input and output so that the data is commonly supplied to the first and second units. The first unit which is composed of the dynamic circuit generates an operation output earlier than the second unit does. By using this operation output obtained from the first unit, the subsequent operations such as a parity bit operation are performed. When the second unit generates an operation output later, this is compared with that of the first unit. When the comparison shows that the operation outputs from the first and second units are the same with each other, the subsequent operation or operations are continued on the basis of the operation output from the first unit. On the other hand, when the comparison shows that the operation outputs from the first and second units are different from each other, a controller invalidates the subsequent operation results obtained on the basis of the operation output from the first unit, stops the writing of the operation results and stops the operation. 
     Thus, in the logic operation device according to the present invention, the operation data output obtained at a high speed from a dynamic circuit type ALU is compared with the highly reliable operation data output obtained from a static circuit type ALU to ensure both high speed and high reliability logic operations. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Other objects, features and advantages of the present invention will become apparent from the detailed description of the preferred embodiment which follows, when considered with reference to the accompanying drawings, in which: 
     FIG. 1 is a block diagram schematically illustrating the essential part of logic operation device of one embodiment according to the present invention; 
     FIG. 2 is a timing charge explanatory of the timing of logic operation; and 
     FIG. 3 is a plan view schematically illustrating the layout of a large scale integrated circuit embodying the logic operation device of the present invention. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring first to FIG. 1 showing a preferred embodiment according to the present invention, the reference numeral 1 denotes an A-register used as a first input register and 2 denotes a B-register used as a second input register. The A-register 1 stores a group of input data (first operand data) for the logic operations and B-register 2 stores another group of input data (second operand data) for the logic operations. Indicated as 3 is a first ALU (hereinafter referred to as ALUD) composed of a dynamic circuit of a precharge type and as 4 a second ALU (hereinafter referred to as ALUS) composed of a static circuit and having the same operational function as that of the ALUD 3. To the ALUD 3 and ALUS 4 are supplied common input data to be operated from the A-register 1 and B-register 2. The reference numeral 5 designates a precharge controller adapted to generate a precharge clock to be fed to the ALUD 3. The precharging of the ALUD 3 of the dynamic circuit type is performed prior to the initiation of the logic operations. Designated as 7 is a parity bit generator arranged to add a parity bit (check bit) to the operation output data from the ALUD 3. Designated as 8 is a comparator for comparing the operation output data from the ALUD 3 and that from the ALUS 4. The operation output data from the ALUD 3 which is added with the parity bit in the parity bit generator 7 is stored in an output register 10. The reference numeral 11 indicates a local storage which includes a memory element having a plurality of addressable areas and is used as a group of general purpose registers or register file. A write control signal 12 is supplied to the local storage 11. Designated as 13 is a local storage controller adapted to generate the write control signal 12. The reference numerals 14 and 15 designate an AND gate and an inverter, respectively. The reference numeral 16 designates a discordance flag register adapted to hold a discordance flag when the comparison result in the comparator 8 shows the discordance. The reference numeral 17 designates a timing controller arranged to generate various timing signals for controlling the logic operations. The reference numeral 18 designates a utility unit, such as a memory unit, which utilizes the operation output data and 19 designates a host processing unit, such as a service processer, which monitors the logic operations. 
     The operation of the logic operation device having the above structure will be described below with reference to FIG. 2 which shows a timing charge explanatory of the timing of the operations. 
     One operation cycle in the logic operation device according to the present invention is a series of operations including reading out the data to be operated upon from the local storage 11, storing the read-out data in the A-register 1 and B-register 2, executing logic operations in the ALUD 3, adding a parity bit to the operation result data from the ALUD 3, and writing the operation output data added with the parity bit in the local storage 11. One operation cycle requires a time T. The operations of one cycle are controlled in accordance with timing signals T 0 , T 1 , T 2 , T 3  and T 4  generated from the timing controller 17. 
     The operation of the logic operation device involving no misoperation due to a software error or the like trouble will be first described. In this case, the operation proceeds as illustrated by Operation Cycle (1) in FIG. 2. 
     Upon generation of the timing signal t 0  instructing to take the data for the logic operations in the input registers, the A-register 1 and B-register 2 store the data for the logic operations to establish the values of the input data to be processed. The data stored in the A-register 1 and B-register 2 are commonly supplied to both the ALUD 3 and ALUS 4. Since the ALUD 3 composed of a dynamic circuit operates at a higher speed than the ALUS 4 composed of a static circuit, the operation result in the ALUD 3 is established earlier than that in the ALUS 4, i.e. at the time of generating the timing signal t 1 . The operation result of ALUD 3 is fed as the operation output data to the parity bit generator 7 and the comparator 8. The output of the parity bit generator 7 is established at the time of generating the timing signal t 3 . The output register 10 receives and holds the established data upon receipt of the timing signal t 3 . 
     The operation result in the ALUS 4, on the other hand, is established later than that in the ALUD 3, i.e. at the time of generating the timing signal t 2 . The operation result of the ALUS 4 is fed as the operation output data to the comparator 8 where the operation output data from the ALUD 3 and from the ALUS 4 are commenced to be compared as soon as the timing signal t 2  is generated. The result of the comparison is established at the time the timing signal t 4  is generated. In the operation according to Cycle (1), the comparison result shows that the operation output data of the ALUD 3 and ALUS 4 are the same. Therefore, discordance flag is not generated. Rather, a signal representing logic &#34;0&#34; is taken in the discordance flag register 16 from the comparator 8 when the timing signal t 4  is generated. Consequently, the inverter 15 outputs logic &#34;1&#34; to turn the AND gate ON, so that the write control signal 12 is supplied through the AND gate from the local storage controller 13 to the local storage. As a result, the operation output data of the output register 10 is written in the local storage 11. 
     Upon receipt of the timing signal t 4  in this operation cycle and up to the timing signal t 0  in the next operation cycle, the precharge controller 5 generates a precharge clock. During the generation period of the precharge clock, the ALUD 3 composed of the dynamic circuit of the precharge type is precharged. 
     Operation Cycle (2) of FIG. 2 shows the case where the ALUD 3 encounters a misoperation caused by a software error so that the comparison result shows that the operation output data of the ALUD 3 and ALUS 4 are not the same. Operation Cycle (2) in accordance with the timing signals proceeds as follows. 
     From the time of generating the timing signal t 0  to the time of generating the timing signal t 3 , the logic operation device of the present invention for Operation Cycle (2) in the same manner as in Operation Cycle (1). Also, the comparison result in the comparator 8 is taken by and established in the discordance flag register 16 in the same manner as in Operation Cycle (1) when the timing signal t 4  is generated. In this case, however, since the comparison result shows that the operation output data of the ALUD 3 and ALUS 4 are not the same, the discordance flag is as logic &#34;1&#34; is supplied to and held by the discordance flag register 16. As a consequence, the inverter 15 outputs logic &#34;0&#34; to disable the AND gate 14, so that the write control signal 12 from the local storage controller 13 is prevented from being fed to the local storage 11. Therefore, the operation output data of the output register 10 are not written in the local storage 11. 
     When the discordance flag register 16 outputs the discordance flag as logic &#34;1&#34;, the host processing unit 19 detects the generation of the discordance flag, i.e. the occurrence of the misoperation of the logic operation device. Then, the host processing unit 19 stops the next cycle from proceeding and instructs another device to cause the logic operation device to initiate a retrying operation. At the same time the host processing unit 19 provides the timing controller 17 and the discordance flag register 16 with a reset signal, the logic operation device commences the retrying operation. 
     Thus, even when the logic operation device misoperates, erroneous operation output data are not written in the local storage 11. Therefore, the data stored in the local storage 11 are not destroyed, so that the logic operation device can continue the logic operations without troubles when it enters in the retrying of the logic operations upon reset of the discordance flag register to logic &#34;0&#34;. When the discordance flag is not detected in the retrying operation, the logic operation device executes the logic operation of the next cycle to proceed with further operations. 
     The logic operation device according to the present invention discontinues its operation when an error occurs in the ALU composed of the dynamic circuit of the precharge type and, therefore, it enhances its reliability remarkably. Furthermore, since one operation cycle in the logic operation device according to the present invention is shorter by the difference between the time of generation the timing signal t 2  and the time of generating the timing signal t 1  as compared with a case wherein the logic operation device is composed only of the static circuit, the operation can be executed at a high speed. 
     FIG. 3 is a plane view showing the layout of the large scale integrated circuit embodying the logic operation device of the preferred embodiment of this invention. The logic operation device is implemented in the large scale integrated circuit so as to increase the operation speed by shortening the length of wires for connecting the parts of the device. The logic operation device implemented in the large scale integrated circuit is designed by using a standard cell method such that an internal logic cell, and I/O buffer cell, a RAM macrocell, an ALU macrocell etc. which have been developed as a cell family are used for the respective parts of the logic operation device to form the large scale integrated circuit according to a CMOS process. As a result, in the semiconductor chip on which the logic operation device is realized by the large scale integrated circuit, a first ALUD 33 composed of a dynamic circuit implemented by the ALU macrocell is arranged in the right portion of the chip and second ALUS 34 composed of a static circuit implemented by the internal logic cell is arranged in juxtaposition to the first ALUD 33, as shown in FIG. 3. A timing controller 47 is arranged at the center of the chip so that the wire lengths are uniformized to reduce clock skews since multiphase clocks are used in various portions in the integrated circuit having a large chip area. 
     In general, when a conventional logic operation device is implemented by one-chip large scale integrated circuit, a plurality of signal wires must be arranged for drawing out the data in the ALU in order to check the operation. According to the logic operation unit device of the present invention, since there are arranged two ALUs and the comparator for comparing the data of there two units, only one signal wire is arranged for drawing out the comparison data from the integrated circuit by utilizing the discordance flag data supplied from the comparator as the data for checking the operation, thereby reducing the number of signal output pins for checking the operation. 
     While this invention has been described in its preferred embodiment, it is to be understood that various changes and modifications may be made in this invention without departing from the spirit and scope thereof. 
     As described above, this invention enables high speed operation by using the ALU composed of the dynamic circuit of a precharge type. Furthermore, since the logic operation device of this invention checks its operation by using the double ALU system in which the reliable ALU composed of the static circuit is additionally employed and by comparing the data between these two units, an accident such as breakdown of the database can be prevented even when the dynamic circuit misoperates, the present invention provides a logic operation device of a high reliability.