A PROGRAMMABLE LOGIC DEVICE

Abstract: A condensed single block PAL plus PLA architecture utilizing a rectangular shape is shown. By interleaving the ORterms of the PLA array with the Pterms of the PAL array, is significant amount of die space is saved when incorporating the circuit with silicon. The decode routing required is now simplified and the propagation delay skews through the array are also reduced.

Description: A programmable logic device The basic building blocks of a programmable logic device (PLD) are the Product-term and the OR-term. Within each of these "terms" exist several programmable logic blocks (cells). When the outputs of several such cells are "ANDed" the term is called a "Product-term", and when the outputs are "ORed" the term is called an "OR-term. " A basic PLD can have the architecture of a PAL (a trademark of Monolithic Memories Inc. which stands for "Programmable Array Logic"). The construction of a PAL is made by stacking several product-terms and "ORing" sequential clusters of their outputs into a fixed width OR gate. A basic PLD can also have the architecture of a PLA (Programmable Logic Array), which is similar to that of the PAL, except that the output of each product term functions as an input to an array of OR-terms, instead of to a fixed width OR-gate. In a PLA the stacked product terms form an array, in which respective product-terms form respective rows. An array of OR-terms is conventionally placed alongside the stack of product-terms, that is, in the area obtained by extending the rows. The PAL contains an array of product terms similar to the first array of the PLA. In the PAL the fixed width OR gates are similarly placed as the OR-terms in the PLA, but these OR gates generally occupy less space than the OR-terms in a PLA of comparable size. When a PAL and a PLA are combined in a single PLD, in such a way that input lines are fed to both the product-terms in the PAL and the PLA, the arrays of product terms of both the PAL and the PLA are stacked, such that the array of product terms in the PAL is in the area extending peφendicularly to the rows of the array of product terms in the PLA. Because the fixed width OR gates in the PAL occupy less space than the OR- terms in the PAL, the combined PAL and PLA will thus have an L-shape when they are placed on silicon. This prevents efficient placement of multiple blocks of PLA-PAL combinations in complex Programmable Logic Devices. Under these circumstances, not only is silicon die space wasted, but decode routing is more complicated and propagation delay through the PLA become more skewed. Amongst others, it is an object of the invention to provide a programmable logic device having a PLA plus PAL architecture in which the required die size is more compact. It is another object of the invention to provide a programmable logic device having a PLA plus PAL architecture that utilizes simplified interconnect routing between the PAL, the PLA and the OR-terms. It is yet another object of the invention to provide a programmable logic device with a PLA plus PAL architecture that has reduced propagation delay skews. The invention provides for a programmable logic device comprising a first array with first rows of first programmable logic blocks; first means for forming a respective logic AND from outputs of the first programmable logic blocks in each respective first row; a second array with second rows of second programmable logic blocks, the second rows running in parallel with the first rows; second means for forming a respective logic AND from outputs of the second programmable logic blocks in each respective second row; third rows of third programmable logic blocks, the third rows being located in the second array among the second rows, each third programmable logic block receiving a respective output of the first means; third means for forming a respective logic OR from outputs of the third programmable logic blocks in each respective third row; logic means for forming respective logic combinations of outputs of the second and third means. In this way, the OR-terms of a PLA can be interleaved between the Product-terms of a PAL array. That is, rather than routing the outputs of the Product-terms of the PLA array into the area obtained by extending the rows of the first array, these outputs are routed in a transversal direction through both the first and second array. In this way valuable die space is conserved and decode routing to the programmable logic blocks is simplified. BRIEF DESCRIPTION OF THE DRAWINGS Other objects and features of the present invention will become apparent from the following detailed description considered in connection with the accompanying drawings which disclose an embodiment of the present invention. It should be understood, however, that the drawings are designed for the purpose of illustration only and not as a definition of the limits of the invention. In the drawings, wherein similar reference characters denote similar elements throughout the several views: FIG. 1 is a block diagram of a PAL plus PLA architecture according to the prior art; FIG. 2a is a block diagram of product-term programmable logic elements according to the invention; FIG. 2b is a block diagram of ORterm programmable logic elements according to the invention; FIG. 3 is block diagram of the psquare or condensed PAL plus PLA architecture according to the invention. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS FIG. 1 shows a block diagram of a PAL plus PLA architecture according to the prior art. The PAL array 30 is situated above PLA array 20 in an L-shaped configuration. The PLA array 20 consists of Pterm elements 22a, 22b and 22c, arranged immediately under the Pterm elements 32a, 32b and 32c of PAL array 30. The outputs of Pterms 22a - 22c are ANDed via gates 24a, 24b, and 24c, respectively, and fed into ORterms 26a, 26b, and 26c. With the ORterms 26a-26c being arranged in this L-shaped configuration, the same basic shape results when situated on silicon, thus the efficient placement of multiple blocks of these arrays is not possible. In addition to the wasting of silicon die space, the decode routing required between the ORterms, the PLA array, and the PAL array is more complicated, and the propagation delays through the PLA path become more skewed. FIGS. 2a and 2b show block diagrams of the Product-term (Pterm) and ORterm logic elements 32 and 26, respectively. Pterm elements 32 also correspond to Pterm elements 22 in FIGS. 1 and 3. Within each of these terms exists several programmable logic blocks. For example, Pterm 32 consists of several programmable logic blocks 36, and ORterm 26 consists of several programmable logic blocks 28. Pterms 36 each have two data inputs and two control inputs. The control inputs can also consist of memory element states. ORterms 28 each have one data input and one control input. FIG. 3 shows the condensed single block PAL plus PLA (PSQUARE) architecture according to the invention. In this embodiment, the ORterms 26a, 26b and 26c are evenly distributed among the Pterms of the PAL array, thereby forming the PAL array + PLA OR group. With this configuration, the AND gates 24a-24c are relocated to within the PLA array. The outputs of AND gates 24a - 24c, of the Pterms 22a-22c, respectively, are fed vertically through both arrays into each of ORterms 26a-26c. Thus, the placement of the ORterms 26a-26c to the right of the PLA array is eliminated, and a significant amount of space is saved. This translates into a smaller die size needed to embody the circuit on silicon, and reduces the propagation delay skews associated with the interconnection of these elements. The outputs of ORterms 26a-26c are fed into OR gates 38a-38c, respectively, and the outputs of the Pterms 32a-32c are fed into AND gates 34a-34c. The outputs of AND gate 34a and OR gate 38a are fed into OR gate 40a. The output of OR gate 40a feeds the macro cell being driven by this circuit. This same configuration applies for the remaining interleaved ORterms and Pterms. By interleaving the PLA ORterms within the PAL Pterms, the outputs of the PLA array Pterms are connected vertically through both arrays to feed the rotated PLA ORterm inputs. This configuration simplifies the decode routing needed for this application. Since the PSQUARE architecture is a rectangular array, the advent of advanced integrated circuit techniques including multiple layers of metal, all programming decode routing and inter-array interconnection issues are solved without sacrificing valuable chip area. In an alternative embodiment of the invention (not shown), the PLA product terms can be interleaved within the PAL product terms. This accommodates even spacing of the macro cells along the entire length of PAL plus PLA array. While only a single embodiment of the present invention has been shown and described, it is to be understood that many changes and modifications may be made thereunto without departing from the spirit and scope of the invention as defined in the appended claims. In summary, the invention provides for a condensed single block PLA plus PAL architecture. The architecture comprises at least one PLA array having a plurality of Pterm elements each having an input and an output, and a plurality of AND gates each having and output, and an input coupled to one of said plurality of outputs of said Pterm elements The architecture furthermore comprises at least one PAL array coupled to said at least one PLA array, said at least one PAL array having a plurality of Pterm elements each having an input and an output, and a plurality of AND gates each having an output, and an input coupled to one of said plurality of outputs of said Pterm elements of said PAL array. A plurality of PLA ORterms is disposed within said Pterm elements of said PAL array, each of said PLA ORterms having an output, and inputs coupled to said outputs of said AND gates ot said PLA array, and a plurality of OR gates each having an output, and an input coupled to the output of said PLA ORterms. A plurality of OR gates is provided, each having an output, and two inputs, one of said inputs for receiving one of the outputs of said AND gates of the PAL array, and the other of said inputs receiving the output of said OR gates of said PLA ORterms, the output of said OR gate feeds a macro cell circuit connected to the condensed single block PLA plus PAL circuit. In an embodiment of the condensed single block PLA plus PAL architecture the outputs of said AND gates connected to the Pterm elements of the PLA array are coupled to the PLA ORterms disposed among said PAL array Pterms through said PLA array and PAL array, said coupling enabling the condensed single block PAL plus PLA circuit to be embodied in a smaller die area. In a further embodiment of the condensed single block PLA plus PAL architecture the coupling of the PLA Pterms, via said AND gates, with the PLA ORterms within the PAL array reduces propagation delay skews of the PAL and PLA array.

Claims: CLAIMS: 1. A programmable logic device comprising a first array with first rows of first programmable logic blocks; first means for forming a respective logic AND from outputs of the first programmable logic blocks in each respective first row; a second array with second rows of second programmable logic blocks, the second rows running in parallel with the first rows; second means for forming a respective logic AND from outputs of the second programmable logic blocks in each respective second row; third rows of third programmable logic blocks, the third rows being located in the second array among the second rows, each third programmable logic block receiving a respective output of the first means; third means for forming a respective logic OR from outputs of the third programmable logic blocks in each respective third row; logic means for forming respective logic combinations of outputs of the second and third means. 2. A programmable logic device according to Claim 1 , wherein said first and second array are arranged in a rectangular area on a semiconductor die, both along a first edge of said rectangular area, the first, second and third rows running peφendicular to the first edge. 3. A programmable logic device according to Claim 1 or 2 having a plurality of input lines, each coupled to a respective programmable logic block in each of the rows. 4. A programmable logic device according to Claim 1 , 2 or 3 comprising coupling lines between said first means and said third rows, the coupling lines running in parallel among said input lines. 5. A programmable logic device according to Claim 1 , 2, 3 or 4 wherein the " second rows are organized in respective subsets, the respective logic combinations each being a logic OR of a respective output of the third means and a respective one of the subsets.

Inventors: DAVIES THOMAS J, SHIMANEK SCHUYLER E, DAVIES, THOMAS, J., SHIMANEK, SCHUYLER, E.
Applicants: PHILIPS ELECTRONICS NV, PHILIPS NORDEN AB, PHILIPS ELECTRONICS N.V.
Application year: 1997
Main classification: H03K19
IPC codes: H03K19