Look-up table architecture

10110235 ยท 2018-10-23

Assignee

Inventors

Cpc classification

International classification

Abstract

The present invention relates to a look-up table architecture and to an FPGA comprising the same. The look-up table architecture comprises a registers group comprising a plurality of registers configured to issue register signals, and a programmable logic comprising a plurality of pass gates configured to be controlled at least by the register signals, the registers group and the programmable logic forming a look-up table, wherein the pass gates are placed in a single direction.

Claims

1. A semiconductor circuit having a look-up table architecture comprising: a registers group comprising a plurality of registers configured to issue register signals; and a programmable logic comprising a plurality of pass gates configured to be controlled at least by the register signals, the registers group and the programmable logic forming a modular look-up table, wherein: all of the pass gates of the plurality of pass gates are arranged in three or more regions, wherein the three or more regions are co-linear along a first shared line; the number of pass gates in each of the three or more regions being the same among all the three or more regions; and all of the pass gates of each region of the three or more regions are co-linear along a second shared line, and wherein the first shared line and the second shared line intersect.

2. The semiconductor circuit according to claim 1, wherein each pass gate of the plurality of pass gates is placed on a position substantially aligned with a respective register of the plurality of registers issuing a respective register signal controlling the pass gate.

3. The semiconductor circuit according to claim 2, wherein the registers of the plurality of registers are placed in a staggered manner on two sides of the programmable logic.

4. The semiconductor circuit according to claim 2, further comprising a plurality of register groups and a plurality of programmable logics forming a plurality of look-up tables, wherein the plurality of look-up tables are located next to each other such that any programmable logic is separated from neighboring programmable logic by at least one register group.

5. The semiconductor circuit according to claim 4, further comprising at least one standard cell block comprising a plurality of standard cells, wherein the standard cell block is located along at least one look-up table and/or at least one register group.

6. The semiconductor circuit according to claim 1, wherein the registers of the plurality of registers are placed on one side of the programmable logic.

7. The semiconductor circuit according to claim 1, wherein the registers of the plurality of registers are placed in a staggered manner on two sides of the programmable logic.

8. The semiconductor circuit according to claim 1, further comprising a plurality of register groups and a plurality of programmable logics forming a plurality of look-up tables, wherein the plurality of look-up tables are located next to each other such that any programmable logic is separated from neighboring programmable logic by at least one register group.

9. The semiconductor circuit according to claim 1, further comprising at least one standard cell block comprising a plurality of standard cells, wherein the standard cell block is located along at least one look-up table and/or at least one register group.

10. The semiconductor circuit according to claim 1, further comprising: a decoder unit configured to select one or more of the plurality of registers; and a data unit configured to set a value within registers of the plurality selected by the decoder unit.

11. The semiconductor circuit according to claim 1, further comprising: a first metal level configured to realize connections to internal nodes of the programmable logic and/or decode connections for the registers group and/or power connections for the registers group, and a second metal level configured to realize data connections for the registers group.

12. The semiconductor circuit according to claim 1, wherein at least one of the plurality of pass gates comprises a double gate transistor having a first gate and a second gate.

13. The semiconductor circuit according to claim 12, wherein: the double gate transistor is an SOI transistor having a top gate and a bottom gate; and the first gate is the top gate, and the second gate is the bottom gate.

14. The semiconductor circuit according to claim 12, wherein the double gate transistor is a FINFET having at least two independent gates.

15. The semiconductor circuit according to claim 1, wherein the semiconductor circuit comprises an FPGA.

16. The semiconductor circuit according to claim 1, wherein the registers of the plurality of registers are placed on one side of the programmable logic.

17. The semiconductor circuit according to claim 1, wherein the look-up table architecture further comprises an output node, a high-voltage power supply node, and a low voltage power supply node, and wherein the output node is driven by the high voltage power supply node or the low voltage power supply node and not by a register of the plurality of registers.

18. The semiconductor circuit according to claim 17, wherein each register of the plurality of registers is only connected to a capacitive load.

19. The semiconductor circuit of claim 1, wherein all of the three or more regions are arranged in a rectangular layout.

20. A semiconductor circuit having a look-up table architecture comprising: a registers group comprising a plurality of registers configured to issue register signals; and a programmable logic comprising a plurality of pass gates configured to be controlled at least by the register signals, the registers group and the programmable logic forming a modular look-up table, wherein: all of the pass gates of the plurality of pass gates are arranged in co-linear regions; the number of pass gates in each of the co-linear regions being the same; and all of the pass gates of each of the regions are co-linear along a shared line.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) Equal elements illustrated in the drawings are provided with equal reference signs. Parts of the description relating to equal elements illustrated in the different drawings may be left out. In the drawings:

(2) FIG. 1 illustrates a schematic view of a look-up table in accordance with an embodiment of the present invention;

(3) FIG. 2 illustrates a schematic view of the behavior of the look-up table of FIG. 1;

(4) FIG. 3 illustrates a schematic layout of the look-up table of FIG. 1, in accordance with an embodiment of the present invention;

(5) FIG. 4 schematically illustrates a further embodiment of a look-up table, in accordance with the present invention;

(6) FIG. 5 schematically illustrates a layout, representing a possible implementation of look-up table of FIG. 4, in accordance with an embodiment of the present invention;

(7) FIG. 6 schematically illustrates a look-up table in accordance with a further embodiment of the present invention;

(8) FIG. 7 schematically illustrates a circuit comprising a plurality of look-up tables in accordance with a further embodiment of the present invention;

(9) FIG. 8 schematically illustrates a circuit comprising a plurality of look-up tables 6000 in accordance with a further embodiment of the present invention;

(10) FIG. 9 illustrates an exemplary look-up table;

(11) FIG. 10A illustrates a possible layout of the look-up table of FIG. 9; and

(12) FIG. 10B illustrates an enlarged portion of FIG. 10A.

DETAILED DESCRIPTION

(13) As can be seen in FIG. 1, illustrating a schematic view of a look-up table 1000 in accordance with an embodiment of the present invention, look-up table 1000 receives two input signals A and B and their respectively negated versions A and B, as well as a plurality of register signals r0-r3. Based on the values assigned to the plurality of register signals r0-r3, the look-up table 1000 allows the realization of any Boolean function of the input signals A and B, as will be described below.

(14) Although not illustrated in the figure, it will be clear to those skilled in the art that input signals A, A, B and B could be inputted, or that any of input signals A and B could be inputted and its negated version obtained by means of an inverter.

(15) Additionally, although not illustrated in the figure, register signals may be provided by a plurality of registers that may be comprised within the look-up table 9000.

(16) Additionally, look-up table 1000 provides an output signal Y. The value of the output signal Y depends on the Boolean function realized by the look-up table 1000, which is based on the values of the register signals r0-r3, and on the values of the input signals A and B, as it will be described below.

(17) Look-up table 1000 comprises several pass gates. In particular, look-up table 1000 is modular and comprises four regions 1100-1400, each region comprising four pass gates 1111-1114. In the following, a description will be provided of region 1100. The remaining regions 1200-1400 are constructed in a substantially similar manner, except for their connections to the input signals and register signals, as indicated in FIG. 1.

(18) Region 1100 comprises four pass gates 1111-1114. Pass gates 1111 and 1112 are connected between a high-voltage power supply 1021, and the output node Y. Pass gates 1113 and 1114 are connected between a low-voltage power supply 1022 and the output node Y.

(19) The high voltage power supply 1021 could be, for instance, the power supply of the FPGA circuit, while the low voltage power supply 1022 could be, for instance, the ground node of the FPGA circuit. However, this is one example only and the present invention is not limited thereto. More generally, for the purpose of the embodiment illustrated in FIG. 1, it is sufficient that node 1021 has a higher voltage value than node 1022.

(20) Each of the pass gates 1111-1114 is controlled by two signals.

(21) In particular, in the present embodiment, each of the pass gates 1111-1114 is realized by one double gate transistor having a first gate 1111A and a second gate 1111B. However, the present invention is not limited thereto and any structure that realizes the functionality of the pass gates 1111-1114 as described below, can be used instead of a double gate transistor.

(22) FIG. 1 represents a specific embodiment in which the double gate transistors acting as pass gates 1111-1114 are realized in SOI technology. However, the present invention is not limited thereto and the double gate transistors can be realized with any technology providing a transistor having a plurality of independent gates, such as FINFETs.

(23) As can be seen in FIG. 1, the first gate 1111A of each of double gate transistors realizing pass gates 1111-1114 is connected to one input signal among input signals A, B, and their negated versions A and B. On the other hand, all of the second gates 1111B of region 1100 are connected to register signal r3.

(24) Even more specifically, the first gate 1111A of double gate PMOS transistor, acting as pass gate 1111, is connected to the input signal A, while the second gate 1111B is connected to the register signal r3. The first gate 1111A of double gate PMOS transistor, acting as pass gate 1112, is connected to the input signal B, while the second gate 1111B is connected to the register signal r3. The first gate 1111A of double gate NMOS transistor, acting as pass gate 1113, is connected to the input signal A, while the second gate 1111B is connected to the register signal r3. Finally, the first gate 1111A of double gate NMOS transistor, acting as pass gate 1114, is connected to the input signal B, while the second gate 1111B is connected to the register signal r3.

(25) The connections of the pass gates 1111-1114 of the regions 1200-1400 differ from those of region 1100, due to the signals being inputted to each of the pass gates, as illustrated. Generally, in all regions, the output node Y is connected between pass gates 1112 and 1113. Still generally, the low voltage node 1022 is common to all regions, as well as the high voltage node 1021. Additionally, the second gate of double gate transistors, acting as pass gates 1111-1114, is connected to a single register signal r2-r0 for, respectively, regions 1200-1400.

(26) The behavior of each of the pass gates 1111-1114 will now be described with reference to a PMOS double gate transistor, such as for the one acting as pass gates 1111 and 1112. It will be clear to those skilled in the art that a pass gate implemented by a double gate NMOS transistor, such as the one acting as pass gates 1113 and 1114, has a complementary behavior.

(27) Double gate PMOS transistors realizing pass gates 1111 and 1112 are such that their behavior is primarily dictated by their second gate 1111B, connected to register signal r3, and secondarily by their first gate 1111A, connected, respectively, to input signals A and B.

(28) More specifically, when the second gate 1111B of PMOS double gate transistors acting as pass gate 1111 or 1112 is connected to a high logic signal having a logic value of 1, the PMOS transistor will be open, i.e., not conducting, independently of the value applied on its first gate 1111A. On the other hand, when the second gate 1111B is set at a low logic value having a logic value of 0, the transistor will be closed, i.e., conducting, if the first gate 1111A is set at a low logic value of 0, while it will be open, i.e., not conducting, if the first gate 1111A is set at a high logic value of 1.

(29) In other words, when the second gate 1111B is set at a high logic value of 1, the transistor is always open, while the transistor behaves as a standard single-gate PMOS transistor when the signal on the second gate 1111B is set at a low logic value of 0. That is, the second gate 1111B has priority over the first gate 1111A on the operation of the pass gate.

(30) It will be appreciated by those skilled in the art that, although the embodiment of FIG. 1 illustrates the front gate and the back gate of the double gate transistors 1111-1114 as being, respectively, the first gate 1111A and the back gate 1111B, the present invention is not limited thereto. Alternatively, the top gate and the back gate could, respectively, be the second gate 1111B and the first gate 1111A.

(31) Moreover, although the pass gates 1111-1114 have been described as each being realized by a double-gate transistor, in particular, an SOI double gate transistor or a FINFET, the present invention is not limited thereto and could be realized with any technology allowing the above-described behavior. This could be achieved, for instance, by any transistor having at least two independent gates. Even more generally, such behavior could be achieved by an electronic component or an electronic circuit with at least two inputs, acting as a pass gate 1111 and/or 1112 being: open when a first of the two inputs is at a logic value of 1, independently of the value of the second input, open when the first of the two inputs is at a low logic value of 0, if the second input is at a high logic value of 1, and closed when the first of the two inputs is at a low logic value of 0, if the second input is at a low logic value of 0.

(32) It will be appreciated by those skilled in the art that such a behavior can be realized in several manners, the double-gate SOI transistor illustrated in FIG. 1 being only a mere example of such behavior.

(33) It will also be appreciated that, for the complementary pass gate 1113 and/or 1114, a complementary behavior can be realized such that the pass gate is: open when a first of the two inputs is at a logic value of 0, independently of the value of the second input, open when the first of the two inputs is at a high logic value of 1, if the second input is at a low logic value of 0, and closed when the first of the two inputs is at a high logic value of 1, if the second input is at a high logic value of 1.

(34) FIG. 2 illustrates a schematic view of the behavior of the look-up table 1000 of FIG. 1.

(35) In particular, values in columns C1-C2 and rows R1-R4 illustrate all four possible combinations of input signals A and B. The values of the respectively negated signals are not illustrated, for ease of representation. Rows R6-R9 and columns C3-C18 illustrate all possible combinations of the register signals r0-r3. Row R5 illustrates, for each of columns C3-C18, the Boolean function realized by setting the register signals r0-r3 at the values in the corresponding column. The values in rows R1-R4 and columns C3-C18 illustrate the output value on node Y resulting from the respective combination of register signals r0-r3 for the same column, and input signals A and B for the same row.

(36) As an example, by setting the register signals r0-r3 at, respectively, 1, 1, 1 and 0, as in column C7, the output signal on node Y of the look-up table 1000 will be Y=0, for A=0 and B=0, Y=0, for A=0 and B=1, Y=0, for A=1 and B=0, and Y=1, for A=1 and B=1. This corresponds to an AND function between input signals A and B, as illustrated in Row R5, column C7. This particular case will now be described.

(37) By setting signals r0-r3 at, respectively, 1, 1, 1, and 0, as indicated in column C7, PMOS transistors acting as pass gates 1111 and 1112 of regions 1200, 1300 and 1400 will be open, independent of the value of input signals A and B. That is because the second gate 1111B is dominant over the first gate 1111A, as described above. Similarly, NMOS transistors acting as pass gates 1113 and 1114 of region 1100 will be open, independent of the value of input signals A and B.

(38) Only if both signals A and B are set at 1, the pass gates 1111 and 1112 of region 1100 will be conducting. At the same time, for this combination, at least of one of pass gates 1113 and 1114 will be open, i.e., non-conducting. In particular, in region 1110, they will be both open due to the setting of signal r3 at 0. In the remaining regions, at least one of the two pass gates is connected to input signal A=0 and/or B=0 and is, therefore, open. Accordingly, the output node Y is set at a high logic value resulting from the connection of output node Y to the high voltage power supply 1021.

(39) Schematically, for the remaining combinations: A=0, B=0; pass gates 1113 and 1114 in region 1400 will be both conducting; A=0, B=1; pass gates 1113 and 1114 in region 1300 will be both conducting; and A=1, B=0; pass gates 1113 and 1114 in region 1200 will be both conducting.

(40) This implies that, in these cases, the output node Y will be set at a low logic value, resulting from the connection of output node Y to the low voltage power supply 1020.

(41) A look-up table in accordance with the present embodiment provides several advantages.

(42) As illustrated in FIG. 2, the look-up table 1000 provides all Boolean function of the input signals A and B, depending on the values set on register signals r0-r3.

(43) Additionally, the look-up table 1000 allows the output node Y to be driven by the high-voltage power supply node 1021 or the low voltage power supply node 1022. This allows the signal Y to be driven quickly and with the appropriate current capabilities.

(44) This is further particularly advantageous, since the signal on the output Y is not driven by a register signal r0-r3. On the other hand, each of the register signals r0-r3 is only connected to a capacitive load, consisting of the second gate 1111B of double gate transistors acting as pass gates 1111-1114. Accordingly, smaller registers can be used to generate the signals r0-r3, in particular, small DRAM/SRAM registers and/or flash registers. This is also the case when the pass gates 1111-1114 are realized by an equivalent circuit, since the input of a digital circuit is usually a capacitive load.

(45) Still additionally, the timing of the look-up table 1000 is simply managed, since any of input signals A and B and their respective negated versions A and B has the same load. The same is also valid for each of register signals r0-r3. This is in contrast to the case of FIG. 9, in which signal A has a larger load than signal B, thereby rendering the timing of the circuit more complex to manage.

(46) FIG. 3 illustrates a schematic layout 3000 of the look-up table 1000 of FIG. 1, in accordance with an embodiment of the present invention.

(47) The layout 3000 is divided into regions 3100-3400, functionally corresponding to regions 1100-1400 of look-up table 1000 of FIG. 1, respectively. In the following, a detailed description will be given of region 3100. It will be appreciated by those skilled in the art that regions 3200-3400 are functionally similar.

(48) Region 3100 comprises two PMOS transistors having on their first gate 1111A signals A and B, respectively, from left to right. Those correspond to pass gates 1111 and 1112 of FIG. 1. Similarly, region 3100 comprises two NMOS transistors having on their first gate 1111A signals A and B, respectively, from left to right, corresponding to pass gates 1113 and 1114 of FIG. 1.

(49) Although not illustrated, for ease of understanding, first gates 1111A are physically connected to connection lines providing the respective signal. In the figure, for ease of understanding, only the signal is indicated next to the respective gate.

(50) Moreover, region 3100 has a high voltage connection 3121, corresponding to high voltage node power supply 1021, shared with remaining regions 3200-3400 of layout 3000. Similarly, region 3100 has a low voltage connection 3122, corresponding to low voltage power supply node 1022, shared with remaining regions 3200-3400 of layout 3000.

(51) Although not illustrated, connections 3121 and 3122 may be further connected to other nodes outside of layout 3000.

(52) Region 3100 further comprises a second gate 3115, functionally corresponding to second gate 1111B of transistors acting as pass gates 1111-1114 of region 1100 of FIG. 1. Although in FIG. 3 the second gate 3115 is illustrated as a single geometric element, the present invention is not limited thereto. Alternatively, or in addition, the shape of the second gate 3115 could be changed as needed, as long as an effective control over double gate transistors acting as pass gates 1111-1114 is achieved.

(53) Corresponding second gates 3215-3415 in regions 3200-3400 are all illustrated as extending toward the upper part of regions 3100-3400. This may be beneficial, in certain cases, as it allows the placement of the connections to the registers and/or the registers themselves providing register signals to the second gates 3215-3415, in a straight-line arrangement. However, the present invention is not limited thereto and the registers could be connected to the second gates 3115-3415 on the bottom and/or on the top of regions 3100-3400. In this respect, an alternative staggered approach is illustrated in FIG. 5.

(54) Layout 3000 further comprises a connection Y, corresponding to output node Y of FIG. 1.

(55) As can be seen in FIG. 3, by advantageously placing the transistors of regions 3100-3400, it is possible to connect connection Y to the output of all four regions 3100-3400, by having a physical connection in only two points: point P1 shared between regions 3100, 3200, and point P2 shared between regions 3300, 3400.

(56) Although in the present embodiment connection Y requires a layer different from low voltage connection 3122 due to their overlap, the present invention is not limited thereto. Alternatively, or in addition, the connection Y could be realized in between the first gates 1111A of the transistors of regions 3200 and 3300, as illustrated, for instance, in FIG. 5.

(57) Additionally, by advantageously placing the transistors, it is possible to connect both high voltage connection 3121 and low voltage connection 3122 to all four regions by using a physical connection in only three points: point P3 in region 3100, point P5 in region 3400 and point P4 shared among regions 3200 and 3300.

(58) Moreover, the layout 3000 is advantageous since all transistors can be placed in a single row, achieving a compact and dense design. Furthermore, the structure is highly regular, providing advantages in terms of manufacturing and managing of timings.

(59) FIG. 4 schematically illustrates a further embodiment of a look-up table 4000, in accordance with the present invention.

(60) In particular, the look-up table 4000 of FIG. 4 is based on the look-up table 1000 of FIG. 1, but is expanded in order to work on three input signals A, B, C and their respectively negated versions A, B, and C.

(61) Similar to look-up table 1000, look-up table 4000 is comprised of a plurality of substantially similar regions 4100-4800. Each of the regions 4100-4800 comprises a plurality of pass gates 4111-4116, each of the pass gates 4111-4116 having a connection to a different one among input signals A, B, C and their respectively negated versions A, B, and C on their first gate 1111A. At the same time, each of the pass gates 4111-4116 shares a common connection to a single register signal r7.

(62) As can be seen in FIGS. 1 and 4, it is possible to realize a look-up table in accordance with an embodiment of the present invention having as many input signals as needed. In particular, given N input signals, the corresponding look-up table will have 2.sup.n register signals r.sub.0-r.sub.n-1 and will have 2N pass gates in each of the 2.sup.n regions.

(63) Such structure is advantageous since the output Y is always driven by the high voltage power supply 1021 and low voltage power supply 1022, thereby ensuring proper driving of the output node, independent of the number of input signals.

(64) Additionally, even with a high number of input signals, the register signals are still only connected to a capacitive load, which allows using registers having small current capabilities, as detailed above, even for a large number of input signals.

(65) FIG. 5 schematically illustrates a layout 5000, representing a possible implementation of lookup table 4000 of FIG. 4, in accordance with an embodiment of the present invention.

(66) Layout 5000 comprises eight regions 5100-5800 similar to each other. Similar to layout 3000 of FIG. 3, layout 5000 comprises a high voltage connection 3121 and a low voltage connection 3122 common to all regions 5100-5800. Moreover, a single connection Y acting as output node Y of FIG. 4 is present.

(67) Additionally, layout 5000 comprises eight second gates 5115-5815 connected to register signals r7-r0, respectively. As an alternative to FIG. 3, the second gates 5115-5815 are organized in a staggered placement. This may be useful, for instance, if the width of the register is such that they have a pitch larger than that of regions 5100-5800.

(68) Although in the above embodiments all pass gates 1111-1114 and 4111-4116 have been described as having two inputs, the present invention is not limited thereto.

(69) As an example, with reference to FIG. 1, pass gates 1111 and 1113 could be realized with a single input connected to the input signal only. For instance, at least one of pass gates 1111 and 1113 of region 1100 could be a single-gate transistor having a first gate 1111A connected to input signal A and A, respectively. This may be advantageous in providing a smaller load to the register signals, as well as simplifying the layout in certain cases. In general, the invention can be implemented if at least one of the pass gates in series between each power supply node and the output node, for each region, has the previously described behavior.

(70) Moreover, an alternative to three-input signal look-up table 4000 could be realized by using a two-input look-up table 1000 of FIG. 1 twice. In particular, this provides the advantage that the number of pass gates of the combination of two two-input look-up tables 1000 is 32, while the number of pass gates of the three-input look-up table 4000 is 48.

(71) In both cases, the extreme regularity of the layout compensates for the additional number of transistors required compared to the solution of FIG. 10A. For instance, in FIG. 10A, there are distances between blocks 10100 and 10200 and 10300, which are not present in the embodiments of FIGS. 1-8. Moreover, in both cases, since the look-up table is powered by the high voltage power supply and the low voltage power supply, the transistors of the embodiments of FIGS. 1-8 operate in a better regime than the transfer gate cases of FIG. 9 so they can be reasonably smaller. Moreover, the register signals do not provide the power to the output of the look-up table. The logic that generates the signal for the register signals can be considerably reduced in area in the case of flip-flops. In the case of the Flashes register, there is no need for the sense amplifier to transform the stored value into a powered signal, which provides a considerable gain in terms of silicon area.

(72) FIG. 6 schematically illustrates a look-up table architecture 6000 in accordance with a further embodiment of the present invention.

(73) Look-up table architecture 6000 comprises a programmable logic part 6100 and registers groups 6200 and 6300. In particular, the programmable logic part 6100 is realized in accordance with any of the embodiments described with reference to look-up tables 1000, 3000, 4000 and 5000 of FIGS. 1, 3, 4 and 5. Similarly, the registers groups 6200 and/or 6300 correspond to a group of registers, not illustrated, providing the register signals such as r0-r3 in FIGS. 1 and 3 and r0-r7 in FIGS. 4 and 5.

(74) As illustrated in FIGS. 1, and 3-5, it is possible to place pass gates 1111-1114, 4111-4116 in a single direction, in particular, next to each other, although they may be separated by the introduction of additional transistors and/or other electronic elements such as ESD protection circuits. In particular, with reference to FIGS. 1 and 3, PMOS pass gates are placed in a single row in the order: 1111, 1112, from region 1100; 1112, 1111 from region 1200; 1111, 1112 from region 1300; and 1112, 1111 from region 1400. The respective complementary NMOS transistors are also placed in order in a single row: 1113, 1114, from region 1100; 1114, 1113 from region 1200; 1113, 1114 from region 1300; and 1114, 1113 from region 1400.

(75) When the pass gates are realized with an NMOS technology only, or a PMOS technology only, all pass gates can be realized in a single direction, on a single row.

(76) When a CMOS architecture is used, the presence of two rows of transistors can be functionally interpreted as a single row of complementary pass gates. In other words, a single row placement is effectively realized for the pass gates when each couple of CMOS pass gates is considered as a single functional unit. For instance, pass gates 1111 and 1113, having a complementary behavior, can be considered as a single functional pass gate.

(77) As a result of the placement of all pass gates in a single direction, it is possible to efficiently combine the programmable logic part 6100 and the registers groups 6200 and 6300 in a dense manner. In fact, such placement of the pass gates allow the register to be placed near the pass gates, thereby avoiding complex routing and empty silicon areas.

(78) In the following, the placement of, and the connection between, the programmable logic part 6100 and the registers groups 6200 and 6300 will be described.

(79) Metal 1 connection lines, such as connection line 6411, provide connections 6501 to the internal nodes of the programmable logic 6100, such as power supplies, i.e., high voltage power supply node 1021 and/or low voltage power supply node 1022, and/or internal interconnections to the input signals, and/or connection to the output node Y, etc.

(80) For ease of illustration, only connection 6501 has been referenced. It will be clear to those skilled in the art that other exemplary connections are similarly indicated with circular dots in FIG. 6. Additionally, the number and placement of connection lines, such as line 6411, is indicated as exemplary only and will depend, among others, on the position and number of physical nodes to which connection is required, and/or on the size of the programmable logic 6100 and registers groups 6200, 6300.

(81) Alternatively, or in addition, metal 1 connection lines, such as connection line 6412, provide decode connections for registers groups 6200 and/or 6300. For instance, connection line 6412 can be used in order to decode, i.e., select, one or more registers from registers group 6200. By selecting the register, it is possible, for instance, to store one value within the register, so as to configure the look-up table architecture 6000.

(82) Alternatively, or in addition, metal 1 connection lines provide power connections for registers groups 6200 and/or 6300.

(83) The placement of the programmable logic 6100 along the registers groups 6200 and/or 6300, therefore, advantageously allows a single metal level, in this case, metal 1, to be used both for realizing connections within the programmable logic 6100 and within the registers groups 6200 and/or 6300.

(84) Additionally, such a placement allows the connections 6600 from the registers groups 6200 and 6300 to the programmable logic 6100 to propagate the register signals with a simple routing. That is, register signals r0-r3, r0-r7, outputted by registers within registers groups 6200, 6300, can be connected to nodes r0-r3, r0-r7, of FIGS. 1, 3-5. Connections 6600 can be realized in the metal level 1 or 2, or in a polysilicon level, or an equivalent connection level below the metal levels.

(85) In particular, it is possible to place the registers in a manner substantially aligned with the respective pass gates. For instance, with reference to FIG. 5, it is possible to place the register issuing register signal r7 substantially above second gate 5115; register issuing register signal r6 substantially above second gate 5215; register issuing register signal r5 substantially above second gate 5315, etc. This provides a simple routing for the register signals and a scalable design.

(86) In FIG. 5, the second gates 5115-5815 are routed such that the registers would be placed in a staggered manner, thereby realizing registers group 6200 including registers issuing register signals r7, r5, r3 and r1, and registers group 6300 including registers issuing register signals r6, r4, r2 and r0. However, the present invention is not limited thereto and the registers can all be placed in a single registers group, such as registers group 6200, when using the routing for second gates 3115-3415 illustrated in FIG. 3.

(87) Additionally, the staggered approach is not limited to one register above the programmable logic 6100 and one register below, etc. Any combination could be used, for instance, two registers above and two registers below; one register above and two below, etc. In particular, if the registers are designed so that they can be effectively grouped in groups of two, it may be advantageous to place them two above the programmable logic, two below, two above, and so on.

(88) A further metal level, metal 2, is used for connection lines, such as connection line 6421, to provide data connections for registers groups 6200 and/or 6300. For instance, connection line 6421 can be used once one or more registers from registers group 6200, 6300 have been selected in order to set a given data value to the register so as to configure the look-up table architecture 6000.

(89) Resulting from the above-described two levels of metal, the operation of the look-up table architecture is achieved. More specifically, by using only two metal levels, it is possible to program the registers so as to program the behavior of the look-up table architecture 6000, and to provide power to the look-up table.

(90) Connection line 6431 and/or 6441 can, therefore, be used to interconnect internal nodes of programmable logic 6100 to other nodes in the nearby circuit. For instance, it can be used to connect input signals A, B, C, A, B, C of the look-up table 4000 acting as programmable logic 6100 to inputs of the circuit including look-up table architecture 6000. Alternatively, or in addition, it can be used to connect the output of the look-up table 4000 acting as programmable logic 6100 to the output of the circuit including look-up table architecture 6000. Still alternatively, or in addition, it can be used to connect to other nodes, such as nodes of another look-up table architecture 6000.

(91) Connection line 6431 can be realized on metal 1, or any metal other than metal 2, due to the crossing with connection line 6421 in metal 2. Symmetrically, connection line 6431 can be realized on metal 2, or any metal other than metal 1, due to the crossing with connection line 6411 in metal 1.

(92) Such an arrangement for look-up table architecture 6000 is advantageous as it is regular, thereby simplifying routing, timings, parasitic capacitances management, manufacturing, error detections, and scalability.

(93) Although the present embodiment has been illustrated as including two registers groups 6200 and 6300, the present invention is not limited thereto. In particular, the invention can also be realized with a single group of registers, such as registers group 6200 only, as described above. Alternatively, or in addition, one or more further registers groups, placed above registers group 6200 and/or below registers group 6300, could be implemented. For instance, the registers could be provided in a staggered manner, but all on one side of the programmable logic 6100, resulting in registers groups 6200 and 6300 being one above the other.

(94) Furthermore, although the embodiment has been illustrated with reference to horizontal placement for odd metal lines and vertical placement for even metal lines, this is an example only. Alternatively or in addition, the directions of the metal lines could be opposite, that is, horizontal placement for even metal lines and vertical placement for odd metal lines. Still alternatively or in addition, all metal lines could be either horizontal or vertical. In general, any metal line can have any directivity, such as horizontal, vertical, 45 degrees, etc.

(95) Additionally, although metal levels have been described as metal 1, metal 2, etc., this is not limiting the present invention. More specifically, any metal level could be swapped with any other, as it will clearly appear to those skilled in the art.

(96) FIG. 7 schematically illustrates a circuit 7000 comprising a plurality of look-up tables 6000 in accordance with a further embodiment of the present invention.

(97) More specifically, circuit 7000 comprises a plurality of programmable logic 6100, interleaved by registers groups 6200 and/or 6300. Additionally, circuit 7000 comprises a decoder unit 7100 and a data unit 7200.

(98) The decoder unit 7100 is connected to the plurality of registers groups 6200, 6300 via a plurality of connections 7110. Those connections, similar to connection line 6412, provide decode connections for registers groups 6200, 6300.

(99) The data unit 7200 is connected to the plurality of registers groups 6200, 6300 via a plurality of connections 7210. Those connections, similar to connection line 6421, provide data connections for registers groups 6200, 6300.

(100) As a result of such approach, it is possible to arrange a large number of look-up tables 6000 in a compact form, and potentially with the usage of only two metal levels. This allows the remaining metal levels to be used for interconnecting the plurality of programmable logic 6100 between each other. In this manner, more complicated Boolean functions can be realized than with a single look-up table architecture 6000.

(101) Additionally, routing and timing management is simply maintained, owing to the regular structure realized.

(102) Although the present embodiment has been illustrated as a sequence of one programmable logic 6100 interleaved by two registers groups 6200 and 6300, the present invention is not limited thereto. Alternatively, or in addition, the circuit 7000 could comprise a plurality of programmable logic 6100 interleaved by only one registers group 6200, 6300.

(103) Still alternatively, or in addition, the sequence of programmable logics and registers group could comprise a first register group issuing register signals for a first programmable logic, and the first programmable logic, a second programmable logic and a second register group issuing register signals for the second programmable logic. In particular, this could be advantageous if, for instance, the first and second programmable logics were placed in a horizontally symmetrical manner so as to share a common connection to low voltage power supply 1022. A similar placement could be realized for registers groups 6200 and 6300, so as to share a common power supply connection.

(104) FIG. 8 schematically illustrates a circuit 8000 comprising a plurality of look-up tables 6000 in accordance with a further embodiment of the present invention.

(105) More specifically, circuit 8000 differs from circuit 7000 of FIG. 7 due to the presence of a standard cell block 8100. Standard cell block 8100 is placed between two look-up tables 6000 and can be connected to any look-up table of circuit 8000 via any metal level. Advantageously, since metal levels 1 and 2 can be used for the routing of the look-up tables, the same metal level layers can be reserved for the internal routing of the standard cell block 8100, while the remaining metal levels can be used to interconnect the standard block cell 8100 with any of the look-up tables 6000, or with any other node in circuit 8000.

(106) In particular, standard cell block 8100 can be realized by using the teaching disclosed in Patent Document European Patent Application EP 2 333 833 A1. This is advantageous since the standard cells disclosed in the document can be regularly arranged in the form of rows. Such a regular placement for standard cell block 8100, in addition to the regular placement for the look-up tables 6000, provides a compact, yet dense layout.

(107) Furthermore, a regular arrangement as described above allows a regular placement of power supply nodes, which results in a simplified management of voltage drop over the layout's surface.

(108) Additionally, since standard cell block 8100 can be interleaved with look-up tables 6000, it is possible to realize the logic functions close to the relevant programmable logic of the look-up table, resulting in an increased speed of operation and reduced power consumption, due to the reduced routing.

(109) Although in the present embodiment only one standard cell block 8100 has been illustrated, the present invention is not limited thereto. In particular, any number of standard cell blocks 8100 can be arranged with any number of look-up tables 6000.

(110) Although several embodiments have been described, they are not to be considered independently. In particular, features from different embodiments can be combined within the scope of the invention as defined by the claims.