Background of the Invention
1. Field of the Invention
This invention relates in general to macrocell arrays and, more particularly, to a multi-gate bipolar macrocell array having real time diagnostics.
2. Background Art
To satisfy the demand for large scale digital integrated circuits, the semiconductor industry has developed three basic approaches. These include standard, off the shelf circuits; custom circuits; and gate arrays. The standard, off the shelf circuit provides the lowest cost option due to the quantities manufactured, but are limited in providing the flexibility for the circuit desired. The custom circuit is cost limiting unless the number of circuits desired is large. The gate array involves a standard array of a large number of gate circuits diffused into a chip. The metallization pattern converting these gate circuits into functional custom circuits is processed according to the customer's requirement.
A macrocell array is an extension of the gate array concept. A macrocell is an array subsection performing a higher level logic function than a basic gate. A macrocell array is an array circuit in which macro functions used to define logic simulations are directly implemented within the basic cell structure rather than formed by interconnecting logic gates. Each cell in a macrocell array contains a number of unconnected transistors and resistors. A metallization interconnecting pattern transforms the interconnected transistors and resistors within each cell into Small Scale Integrated (SSI) logic functions, called macros. The macros take the form of standard logic elements such as dual type "D" flip-flops, dual full adders, quad latches, and many other predefined functions. The macros are also interconnected by the metallization to form the desired Large Scale Integrated (LSI) design. The high density packing of a macrocell array chip offers up to a fifty to one reduction in system component count, with a power dissipation improvement of as much as five to one. However, the previously known macrocell arrays have drawbacks that have presented problems for both the designer and the end user.
A typical macrocell array has input cells for receiving an input and for logic functions, output cells for providing an output and for logic functions, major cells for receiving an input and for logic functions, bias generator cells providing bias voltages, and clock generator cells for providing clock pulses. Only the bias generator cells would not be connected to an input/output pad.
Previously known macrocell arrays have included diagnostic circuits comprising a first NAND gate responsive to a data signal and a data enable signal, and a second NAND gate responsive to a shift-data-in signal and a shift enable signal. The outputs of the first and second NAND gates are coupled to an OR gate. The output of the OR gate drives a flip-flop or latch. An output of the flip-flop would serve as the shift-data-in signal to a number of serially connected diagnostic circuits. However, these previously known diagnostic circuits did not provide the capability of performing real time diagnostics. The state of serially connected flip-flops or latch could only be tested by shifting test data through the system with the system clock stopped.
Thus, what is needed is a macrocell array having real time diagnostics.
Summary of the Invention
Accordingly, it is an object of the present invention to provide an improved macrocell array.
Another object of the present invention is to provide a macrocell array having real time diagnostics.
In carrying out the above and other objects of the invention in one form, there is provided a macrocell array having a plurality of cells, each of said cells having a plurality of semiconductor devices. The semiconductor devices are interconnected within each cell to provide logic functions. A plurality of horizontal routing channels within one or more metallization layers are connected to input/output points of the logic functions within and between each cell. A plurality of vertical routing channels within the metallization layers are coupled between the horizontal routing channels and input/output pads.
A diagnostic circuit is provided for diagnosing a plurality of serially connected flip-flops in real time. A first logic gate has inputs adapted to receive a data signal and a data enable signal for inputting data into the flip-flops. A second logic gate has inputs adapted to receive a shift data in signal and a shift enable signal for shifting the data through the flip-flops. A third logic gate has inputs adapted to receive a hold signal and an output of a first of the plurality of serially connected flip-flops for capturing the states in each of the flip-flops at a given time. A fourth logic gate has inputs adapted to receive a complement enable signal and an output of the first flip-flop for allowing desired test data to simultaneously appear at all the flip-flops under test. A fifth logic gate is coupled between the first flip-flop and each of the first through the fourth logic gates and is responsive to the output of the first through the fourth logic gates.
The above and other objects, features, and advantages of the present invention will be better understood from the following detailed description taken in conjunction with the accompanying drawings.
Brief Description of the Drawings
FIG. 1 is a diagram of the layout of a macrocell array.
FIG. 2 illustrates a preferred embodiment of the present invention.
Detailed Description of the Invention
FIG. 1 shows a macrocell array comprising a silicon semiconductor substrate 1 having input/output pads 2, output cells 3, bias generator cells 4, clock generator cell 5, and major cells 6. Routing channels within metallization layers (not shown) interconnect any of the cells to one another and to input/output pads 2 in a manner determined by the logic desired. Cells 3, 4, 5, 6 are in horizontal proximity; however, no actual electrical contact is established between cells until metallization. Each cell contains a plurality of semiconductor devices which may be connected by the metallization layer in a way to provide certain functions. Each cell may be further divided into two or more logic units 7.
Three metallization layers (not shown) are utilized wherein the first two layers interconnect macros and the third layer interconnects power bussing in a manner known to those skilled in the art. Horizontal routing channels 8 within the metallization layers connect any of the cells to one another and to input/output pads 2, if required, in a manner determined by the logic desired. Although only one horizontal routing channel 8 is shown, as many as thirty may cross each horizontal row of cells.
Vertical routing channels 9 within the metallization layers weave between and across horizontal routing channels 8 connecting therewith for providing a desired logic. Vertical routing channels 9 do not pass over the cells but are located between each vertical column of cells. Although only one verticle routing channel 9 is shown, the actual number will be larger and will vary depending on each chip's requirements.
FIG. 2 shows the diagnostic circuit 10 that may be included in any one of the major cells 6. AND gate 11 has two inverted inputs responsive to a shift-data-in signal and shift enable signal. AND gate 12 has two inverted inputs responsive to a data signal and data enable signal. AND gate 13 has an inverted input responsive to a hold signal. AND gate 14 has an inverted input responsive to a complement enable signal. Outputs from AND gates 11, 12, 13, 14 are connected as inputs to OR gate 15. OR gate 16 has two inputs responsive to a first clock signal and a second clock signal. The output of OR gate 15 is connected to input D of flip-flop 17. The output of OR gate 16 is connected to input C of flip-flop 17. Outputs from flip-flop 17, for example, include master output MQ and MQ, slave outputs SQ.sub.1, SQ.sub.2, SQ.sub.3, SQ.sub.1, SQ.sub.2. Outputs SQ.sub.1, SQ.sub.2 and SQ.sub.3 are the same signal, but are shown separately for simplicity and outputs SQ.sub.1 and SQ.sub.2 are the same signal, but are shown separately for simplicity. Outputs MQ, MQ, SQ, SQ.sub.1 are connected to additional logic circuitry 18. Logic circuitry 18 is illustrated in block diagram form since the function thereof is not pertinent to the invention described herein. Additional, or fewer, outputs from flip-flop 17 may be required, depending on the function of additional logic circuitry 18. Slave output SQ.sub.2 is inverted and connected to an inverted input to gate 13. Output SQ.sub.3 is connected as an inverted input to gate 14.
Output SQ.sub.2 is connected to diagnostic circuit 10A as the shift-data-in input. Each diagnostic circuit 10A, 10B, 10C and flip-flops 17A, 17B, 17C are similar and have inputs and outputs similar to diagnostic circuit 10 and flip-flop 17. Outputs MQ, MQ, SQ.sub.1, SQ.sub.1, of flip-flops 17A, 17B, 17C are each connected to additional logic circuitry 18A, 18B, 18C respectively. Output SQ.sub.2 of flip-flop 17A, 17B are each connected to diagnostic circuit 10B, 10C, respectively, as shift-data-in inputs. Output SQ.sub.2 of flip-flop 17C may be connected to a fourth diagnostic circuit (not shown) and so on. The number of diagnostic circuits 10 and flip flops 17 serially connected in this manner depends upon the logic function implemented. Although the inputs to each of diagnostic circuits 10, 10A, 10B, 10C are illustrated as unique inputs, the shift enable inputs of each may be interconnected. Likewise, the data enable, hold, and complement enable inputs may each be interconnected. Clock 1 and clock 2 inputs to OR gate 16 may likewise be interconnected. The shift-data-in and data inputs would be unique to each diagnostic circuit 10, 10A, 10B, 10C.
The hold signal input allows the capture of the states of the flip-flops at any given time, and operates independently of the system clock. The complement enable input facilitates AC testing of the chip, as it makes it possible for desired test data to simultaneously appear at all flip-flops under test. The flip-flop 17 is understood to be a latch and is not to be limited as a flip-flop in the typical sense.
In operation, when the data enable input allows, data may be entered in each diagnostic circuit 10 as desired. In the absense of the shift enable, data enable, and complement enable inputs, a hold input will capture the state of the flip-flop 17 since the SQ.sub.2 output is NANDed with the hold input in NAND gate 13.
Then, when the shift enable input allows and with a shift-data in input, the data in each flip-flop 17 may be shifted through each of the serially connected flip-flops 17, 17A, 17B, 17C to an output pin (not shown), thereby giving a serial readout of the data in each of the flip-flops 17 at the time of the hold input. The complement enable input is NANDed with the SQ.sub.3 output in NAND gate 14 and inverts the state of the flip-flop 17.
The clock 1 and clock 2 inputs clock the flip-flop 17 in the typical manner known to those skilled in the art.
By now it should be appreciated that there has been provided a macrocell array having real time diagnostics capable of diagnosing a plurality of serially connected latches which form a portion of the operating circuit of the macrocell array.