Programmable logic device

The programmable logic circuit addresses the density limitations of eFPGAs by mapping netlist nodes to sequential lanes, reducing configuration memories and multiplexers, thereby improving packaging density and logic implementation.

JP2026015212AActive Publication Date: 2026-01-29NAT UNIV CORP KUMAMOTO UNIV
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2025099933
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-06-16
Publication Date
2026-01-29
Estimated Expiration
2044-07-19

AI Technical Summary

Technical Problem

Conventional eFPGAs face challenges in improving logic density due to the use of Flip-Flops (FFs) requiring significant area and the full crossbar connection structure that necessitates numerous multiplexers and configuration memories, limiting implementation density.

Method used

A programmable logic circuit with a novel wiring architecture that maps nodes of a netlist to logic cells in sequential lanes, reducing the need for full crossbar connections and minimizing the number of configuration memories and multiplexers by prioritizing signal flow from input to output.

Benefits of technology

This architecture achieves a 20-43% reduction in the number of configuration memories and multiplexers, enhancing packaging density and logic implementation efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026015212000001_ABST
    Figure 2026015212000001_ABST
Patent Text Reader

Abstract

To provide a programmable logic circuit having a new structure capable of solving the problem that a conventional eFPGA has a problem of improvement in mounting logic density.SOLUTION: There is provided a programmable logic circuit including a plurality of lanes sequentially connected in a direction in which an input signal of the programmable logic circuit flows, in which each of the plurality of lanes includes one or more logic cells, the input signal to the lane is input to each logic cell through a programmable input-side selector circuit, and an output signal from each logic cell is output as an input signal to a next sequential lane connected to the lane or / and as an output signal of the programmable logic circuit.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a programmable logic circuit device suitable for incorporation into an application specific integrated circuit (ASIC) such as an SoC. [Background technology]

[0002] There are IC products called ASICs (Application Specific Integrated Circuits) that are custom designed, manufactured, and provided for specific applications. ASICs are semiconductor integrated circuits that are designed and manufactured to combine the necessary logic functions for a specific device or application, but the logic functions installed cannot be changed after manufacturing.

[0003] However, in recent years, as ASICs have become larger and more expensive, there have been an increasing number of cases where logic needs to be modified due to defects discovered after manufacturing, or new functions need to be added. Therefore, a method has been adopted in which programmable logic circuit blocks such as FPGA (Field Programmable Gate Array) devices are installed in ASICs, making it possible to fix defects and add functions. Here, the FPGA portion installed in ASICs is called "embedded FPGA (eFPGA)."

[0004] The logic cells of eFPGAs use LUTs (Look-Up Tables), which are a direct representation of truth tables. While standard FPGAs not designed for ASICs use SRAM as the memory used for the LUTs, it is not easy to design an ASIC to use large amounts of small SRAM memory. For this reason, eFPGAs within ASICs use FFs (Flip-Flops). However, FFs generally require several times (e.g., 6 to 10 times) the area of ​​SRAM, so in eFPGAs the area of ​​a logic cell capable of implementing the same amount of logic is several times larger than in standard FPGAs. This poses certain problems in terms of implementation logic density.

[0005] In addition, the wiring and connection structure of eFPGAs, known as the island style, consists of programmable logic blocks (LBs) arranged in a grid, with the grid-like logic blocks connected by connection boxes (CBs) and switch boxes (SBs). Each logic block contains multiple logic cells, which are interconnected by local connection blocks (LCBs). While logic cells within a logic block typically have M-output, N-input look-up tables (LUTs), most LCB connections use a "full crossbar" connection, connecting the outputs of all logic cells to the inputs of all logic cells. This requires a large number of multiplexers and configuration memories for wiring switching. This is another reason why the logic density of eFPGAs cannot be increased. Summary of the Invention [Problem to be solved by the invention]

[0006] As explained above, conventional eFPGAs face the challenge of improving the implementation logic density, and there is a demand for programmable logic circuits with new structures that can solve this problem.

[0007] The present invention has been made in view of the above circumstances, and has as its object to provide a programmable logic circuit with a novel structure that can solve the above problems. [Means for solving the problem]

[0008] In order to solve the above problems, the inventor of the present invention came up with the idea that by focusing on the structure of a netlist, which is a representation format of the logic circuit to be implemented, it would be possible to provide a wiring architecture that is different from conventional ones, and completed the present invention.

[0009] According to the present invention, the following inventions are provided.

[0010] (1) A programmable logic circuit, The programmable logic circuit has a plurality of lanes connected sequentially in a direction in which an input signal of the programmable logic circuit flows, Each of the plurality of lanes has one or more logic cells, and an input signal to the lane is input to each logic cell through a programmable input selector circuit, and an output signal from each logic cell is output as an input signal to the next sequential lane connected to the lane and / or as an output signal of the programmable logic circuit. 1. A programmable logic circuit comprising:

[0011] (2) In the programmable logic circuit of (1), The input signals of each lane include the input signals of this programmable logic circuit. 1. A programmable logic circuit comprising:

[0012] (3) In the programmable logic circuit of (2), At least one of the lanes receives an input signal of the programmable logic circuit from the preceding sequential lane to which it is connected. 1. A programmable logic circuit comprising:

[0013] (4) In the programmable logic circuit of (1), At least one of the lanes has a wiring that feeds back an output signal from the logic cell as an input signal to the preceding sequential lane to which the lane is connected. 1. A programmable logic circuit comprising:

[0014] (5) In the programmable logic circuit of (1), At least one of the lanes has wiring that feeds forward an output signal from the logic cell as an input signal to a subsequent lane after the lane to which it is connected. 1. A programmable logic circuit comprising: (6) In the programmable logic circuit of (1), At least one of the lanes has a wiring that skips and outputs an output signal from a logic cell as an input signal to another programmable logic circuit. 1. A programmable logic circuit comprising:

[0015] (7) In the programmable logic circuit of (1), Each lane is The nodes constituting the netlist at the logic cell level are mapped to each logic cell provided in each lane according to the hierarchy along the direction from the input side to the output side on the netlist. 1. A programmable logic circuit comprising:

[0016] (8) In the programmable logic circuit of (7), The node mapping is performed on each logic cell provided in each lane according to the sequential number of connections of the lane in the programmable logic circuit. 1. A programmable logic circuit comprising:

[0017] (9) In the programmable logic circuit of (1), A flip-flop (FF) is provided on the output side of the logic cell provided in each lane. 1. A programmable logic circuit comprising:

[0018] (10) In the programmable logic circuit of (1), An output selector circuit is provided on the output side of the logic cell previously provided in each lane. 1. A programmable logic circuit comprising:

[0019] (11) In the programmable logic circuit of (1), The logic cell includes a look-up table (LUT). 1. A programmable logic circuit comprising:

[0020] (12) In the programmable logic circuit of (1), The logic cell comprises: having basic logic cells that constitute nodes of a gate-level netlist; This basic logic cell is a programmable circuit configured by adding a programmable NOT circuit to a basic logic operation element, The input / output of the basic logic cell is programmable to be switched depending on the connection relationship of the nodes in the netlist. 1. A programmable logic circuit comprising:

[0021] (13) In the programmable logic circuit of (12), a combinational logic cell formed by combining a plurality of the basic logic cells; This combinational logic cell has a plurality of basic logic cells that cover a plurality of nodes that make up the graph of the netlist. 1. A programmable logic circuit comprising:

[0022] (14) In the programmable logic circuit of (13), When the number of basic logic cells to be combined is n, an integer of 2 or more, and the number of inputs of each basic logic cell is m, an integer of 2 or more, The combinational logic cell comprises: It is an (m-1) x n+1 input n output logic cell in which n basic logic cells are connected by switching input signals in order to express two or more patterns of node connection. 1. A programmable logic circuit comprising:

[0023] With this configuration, nodes on the netlist (nodes that configure the netlist according to the number of levels along the flow direction from the input side to the output side) can be mapped to each logic cell provided in multiple lanes according to the number of levels of the lane. This eliminates the need for a "full crossbar connection" that connects the outputs of all logic cells provided in the programmable logic circuit to the inputs of all logic cells, thereby reducing the amount of setting memory required for the program.

[0024] Other aspects of the present invention and other configurations will be described in the following embodiments and shown in the drawings. [Brief explanation of the drawings]

[0025] [Figure 1] Figure 1 is a schematic diagram showing the routing architecture of an island-style FPGA.

[0026] [Figure 2] FIG. 2 is a schematic diagram showing a logic cell having a fully crossbar-connected LCB.

[0027] [Figure 3] FIG. 3 is a schematic diagram showing a netlist of a logic cell.

[0028] [Figure 4] FIG. 4 is a schematic diagram showing a logic cell according to one embodiment of the present invention.

[0029] [Figure 5] FIG. 5 is an explanatory diagram showing the mapping of logic cells.

[0030] [Figure 6] FIG. 6 is a schematic diagram showing lanes in a logic cell according to a first modification of the embodiment.

[0031] [Figure 7] FIG. 7 is a schematic diagram showing a logic cell according to the first modification.

[0032] [Figure 8] FIG. 8 is a schematic diagram showing a logic cell according to the first modification.

[0033] [Figure 9] FIG. 9 is a schematic diagram showing a logic cell according to a second modification of the embodiment.

[0034] [Figure 10] FIG. 10 is a schematic diagram showing the configuration of a PAE.

[0035] [Figure 11] Figure 11 is a schematic diagram that also explains the technology mapping of PAE.

[0036] [Figure 12] Figure 12 is a schematic diagram that also explains the technology mapping of PAE.

[0037] [Figure 13] FIG. 13 is a schematic diagram showing a modified example of the wiring of the logic cell.

[0038] [Figure 14] FIG. 14 is a schematic diagram showing a modified example of the wiring of the logic cell.

[0039] [Figure 15] FIG. 15 is a schematic diagram showing a modified example of the wiring of the logic cell. DETAILED DESCRIPTION OF THE INVENTION

[0040] Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

[0041] First, the basic concept of the present invention will be explained while comparing it with a conventional configuration.

[0042] (Basic concept) As mentioned above, the full crossbar connection of logic cells within a conventional LCB was primarily intended for LUTs with interchangeable inputs, and while it provided a high degree of freedom in wiring, it required an extra number of wires and configuration memories to switch between them, which limited the reduction in packaging density.

[0043] In response to this, the inventors came up with the idea that by considering the flow of signals from input to output in the netlist, it is possible to significantly reduce the number of wires and configuration memories compared to the conventional full crossbar connection, and thus completed this invention.

[0044] (Island-style FPGA routing architecture) FIG. 1 is a schematic diagram showing a conventional island-style FPGA 1, and FIG. 2 is a conceptual diagram showing the wiring architecture within a logic block 2 arranged in this FPGA 1.

[0045] In this island-style FPGA 1, as shown in Figure 1, logic blocks (LB) 2 are arranged in a two-dimensional matrix, and these logic blocks 2 are connected via programmable wiring such as switch blocks (SB) 3 and connection blocks (CB) 4. As shown in Figure 2, each logic block 2 has multiple 4-input LUTs (look-up tables) 5 as logic cells, and these multiple LUTs 5 are locally interconnected through a crossbar connection using local connection blocks (LCB) 6. This crossbar connection adopts a wiring architecture that connects all outputs of any LUT 5 to all inputs of any logic cell, taking into account flexibility in logic circuit design. For this reason, it is called a "full crossbar connection."

[0046] In the case of this full crossbar connection, the number of configuration memories required for wiring within logic block 2 is calculated as follows: For example, if the LUT (logic cell) 5 implemented in this logic block is a 4-input, 3-output LUT, and four of these 4-input, 3-output LUTs are fully crossbar connected in parallel, the number of outputs of LCB 6 providing this full crossbar connection will be 16 (= 4 inputs x 4), a total for the four logic cells, since each logic cell has four inputs. On the other hand, the number of inputs will be 22, consisting of 10 inputs from outside and 12 feedback lines (= 3 x 4) from each logic cell.

[0047] Therefore, in the case of LCB6, the number of configuration memories required to switch the internal wiring of logic block 2 is calculated using the following formula, which is 80 bits.

[0048] 4×4×ceil(log2(22))=16×5=80bit Also, in the case of a 22-input, 16-output LCB6, there are 16 22-input, 1-output multiplexers (MUX), which means that 16 sets of 21 2-input, 1-output (2-to-1) multiplexers are required. Therefore, this LCB6 requires a total of 336 (=21 x 16) 2-input, 1-output multiplexers.

[0049] (The wiring architecture of the present invention) In contrast to the conventional wiring architecture using LCB6 as described above, the present invention focuses on netlists and provides a new wiring architecture that takes into account the signal flow from input to output that is generally considered in netlists.

[0050] In Figure 3, the reference numeral 8 denotes a netlist in which a gate-level netlist is replaced with a 4-input, 3-output logic cell during logic synthesis. In such a netlist 8, signals resulting from calculations generally flow from inputs (i0 to i8) to outputs (P0[0] to P0[2]). Therefore, when designing a wiring architecture based on such a netlist 8, it is not necessary to connect all outputs of any logic cell to all inputs of any logic cell, as in a full crossbar connection.

[0051] Based on this finding, the logic block of this invention does not connect all logic cells in a full crossbar configuration, but rather uses a group of multiple logic cells (lane) as the basic unit, arranges multiple lanes in order, and provides a wiring architecture that prioritizes connecting the outputs and inputs between adjacent lanes.

[0052] 4 shows a logic block 10 according to a first embodiment of the present invention. This logic block 10 has first lanes 11 (order level 1) connected sequentially from the input side to the output side of the logic block 10, and second lanes 12 (order level 2) arranged on the output side. In this logic block 10, four logic cells 13 are implemented, two in each of the first lanes 11 and two in each of the second lanes 12.

[0053] Ten external input signals 14 are provided to this logic block 10, and four of the ten external input signals are selected by an input selector circuit (MUX: multiplexer) 16 and input to each logic cell 13 provided in the first lane 11. In addition to the ten external input signals, a total of six internal input signals output from each logic cell 13 in the first lane 11 are selected by an input selector circuit (MUX) 17 and four input signals are input to each logic cell 13 provided in the second lane 12.

[0054] The output signals 15 of this logic block 10 are output via output selector circuits 18, 19 provided on the output side of each logic cell 13, and the number of signals is 12 in total: 6 signals from the first lane 11 and 6 signals from the second lane 12.

[0055] Although not shown in this figure, additional wiring can be provided. For example, wiring (skip wiring) that skip connects specific wiring of the first lane 11 to other wiring blocks may be provided through optional flip-flops (FFs) as needed. Also, the output of the logic cell 13 in the lane can be routed through FFs 21 and 22 as shown in this example. In this case, output selector circuits (MUX) 18 and 19 can be added to suppress output signals that would increase the amount of wiring.

[0056] Furthermore, although not shown in this figure, it is also possible to eliminate unnecessary wiring. For example, each input selector circuit 17 of each logic cell 13 in the second lane 12 can eliminate some of the 10 external input signals and some of the 6 signals from the first lane 11, allowing selection from fewer wiring.

[0057] In the case of this logic block 10, the required number of configuration memories is calculated as follows:

[0058] That is, of the four 4-input 3-output logic cells 13 implemented in this logic block 10, two logic cells 13 are arranged in the first lane 11 and two logic cells 13 are arranged in the second lane 12. In this case, the number of configuration memories for selecting the input signals of each logic cell 13 in the first lane 11 is calculated by the following formula and is 32 bits.

[0059] 4×2×ceil(log2(10))=8×4=32 Next, the number of configuration memories for selecting the input signals of each logic cell 13 in the second lane 12 is 32 bits, as calculated by the following formula since the number of inputs is 16.

[0060] 4×2×ceil(log2(16))=8×4=32 Therefore, the total number of configuration memories required to switch the internal wiring of this logic block is 64 bits (= 32 + 32), which is a 20 percent reduction in the number of configuration memories compared to 80 bits for a full crossbar connection.

[0061] In this connection architecture, each of the two logic cells 13 in the first lane has four 10-input input multiplexers, for a total of eight. When this is converted into two-input, one-output (2-to-1) multiplexers, the number is 10-1=9, so the total number of two-input, one-output multiplexers in the first lane is 2x4x9=72.

[0062] Next, if we calculate similarly for the second lane, we find that there are eight 16-input multiplexers, which are equivalent to 15 two-input, one-output multiplexers, so the number of two-input, one-output multiplexers in the second lane is 8 x 15 = 120.

[0063] This means that a total of 192 (=72+120) multiplexers are required in this logic block.

[0064] Therefore, the size of the multiplexers can be reduced by at least 43% compared to the conventional 336 multiplexers.

[0065] (Netlist-based clustering) Next, a method for clustering a netlist using the logic block (considered as one cluster) of this invention will be explained using as an example a netlist 8 using a 4-input, 3-output logic cell shown in Fig. 3. In the following, the first lane 11 and the second lane 12 may be referred to as degree level 1, degree level 2, and degree level N, respectively, depending on the hierarchy (depth) of the netlist.

[0066] First, the logic block 10 of this first embodiment is described under the following conditions for the purpose of clustering.

[0067] Number of logical cells in a cluster = 4 Number of lanes in the cluster (lane order) = 2 Maximum number of input signals: 10 Maximum number of logic cells in the first lane (level 1) = 2 Maximum number of logic cells in the second lane (level 2) = 2 In the clustering, among the nodes constituting the netlist (black circles in the netlist in FIG. 3), nodes that satisfy the above conditions, that is, logic cells 13, are identified as candidates for clustering.

[0068] First, in step 1, the degree of the lanes in the logic block 10 is determined. In this embodiment, the degree is "2" because it consists of degree level 1 and degree level 2. If the degree is "2", this logic block 10 can be mapped to cover two specific hierarchical levels of the netlist. Note that mapping within one hierarchical level is also possible.

[0069] Next, in step 2, starting from the hierarchy located closest to the input side of the netlist, a combination of logic cells (nodes) that satisfy the above level conditions is selected.The selected candidates are then added to the selection candidate list in order as candidate logic cells.

[0070] Furthermore, in step 3, clustering is performed by finally selecting a logical cell that satisfies all other conditions from the combination of logical cells added to the selection candidates, and finally, in step 4, the selected (clustered) logical cell is deleted from the candidates.

[0071] Then, repeat steps 2 to 4 above to fill each cluster with the maximum number of logical cells according to the above conditions. When the process can no longer proceed, start clustering again from step 1 for the unmapped nodes.

[0072] In the case of the above example netlist, it can be clustered into two logical clusters as shown by C1 and C2 in Fig. 5. These clusters C1 and C2 each correspond to the above logical block 10.

[0073] As a result, when a specific netlist can be mapped using the logic block 10 of this embodiment, the area of ​​the selector circuit used for the internal wiring of the logic block 10 can be reduced by at least 43%, and the number of memory components of the selector circuit used for the internal wiring can be reduced by at least 20%, compared to when the same number of logic cells are mapped using a logic block 2 having a conventional full crossbar-connected LCB 6.

[0074] (Variation 1) The logic block 10 in the first embodiment described above has two lanes 11 and 12 and a total of four logic cells 13, two of which are distributed in each lane, but this is not limited to this. It is possible to customize the lane order, the number of logic cells 13 in a lane, the number of inputs and input signals of the selector circuits 16 and 17, depending on the target netlist.

[0075] In other words, in the present invention, the total number of inputs and outputs, the number of logic cells 13, the number of inputs and connection methods of the input selector circuits 16 and 17, the number of output selector circuits 18 and 19, the number of inputs and connection methods of the output selector circuits 18 and 19, the lanes to which they are connected, and whether or not output flip-flops (FFs) 21 and 22 are included are not limited to those in the above embodiment.

[0076] 6, four logic cells are arranged in one lane 23. Also, in this example, one output selector circuit 18' is shared between two output terminals of the logic cell 13. Furthermore, in this example, wiring and a signal selector 25 (multiplexer) are provided to extract a signal to be skipped (a signal going to a lane other than the next lane).

[0077] The two signal selectors 25 shown in this diagram connect the output of the logic cell 13 in this lane 23 to the input selector circuits of lanes other than the next lane. For example, it can be connected to the input selector circuit X of the logic cell of the lane before the nth degree level (including itself (n=0)) (feedback wiring), or it can be connected to the input selector circuit of the lane after the mth degree level (feedforward wiring). Also, although this diagram shows two skip signal selectors 25, the number and how the inputs are connected can be freely set. Also, in this figure, a portion of all outputs of the logic cells in the lane (total 3x4=12) are thinned out and connected to the output selector 25, but the method of thinning out is not limited to this, and it is also possible to connect all outputs.

[0078] Also, Figure 7 is an example of a logic block having two lanes 23 as shown in Figure 6, and Figure 8 is a diagram showing three lanes 23 in one logic block 10' and wiring between different logic blocks 10'.

[0079] (Variation 2) Furthermore, in the first embodiment, it is assumed that a conventionally used LUT is mainly used as a logic cell. However, by using a "PAE circuit (combinational logic cell)" which can reduce the number of constituent memories of the logic cell itself compared to a conventional LUT, it is possible to reduce the number of constituent memories required for the above wiring and further improve the packaging density.

[0080] FIG. 9 shows an example of a logic block 10″ having three levels of lanes, each lane having three 4-input, 3-output PAE circuits 25 arranged as logic cells. This PAE circuit 25 has three PA circuits (programmable AND circuits: basic logic cells) 26 switchably connected, as shown in FIGS. 10(a) and 10(b). Each PA circuit 26 is a programmable circuit configured by adding a programmable NOT circuit to a basic logic operation element, and is programmable to switch the input / output of the basic logic cell according to the connection relationship of the nodes in the netlist.

[0081] The number of configuration memories used by this PAE circuit 25 is 16 bits in the case of a conventional 4-input LUT (4LUT) logic cell, whereas the 4-input PAE circuit 25 of this embodiment uses 8 bits, half the number.

[0082] In one embodiment, the effect of reducing the number of memory components can be achieved simply by replacing the normal 4-input 3-output LUT as the logic cell in the first embodiment with a 4-input 3-output PAE, but if technology mapping using the PAE is performed as follows, it is possible to further improve the actual packaging density.

[0083] That is, in this case, the gate level netlist (AIG) shown in FIG. 11 is used.

[0084] (1) Matching with one of the node graphs (a), (b), and (c) in Figure 12 (node ​​graphs showing PAE circuits) from the AIG. (2) Mapping to logical cells, (3) Return to (1) until all nodes are covered. (4) Once all nodes have been mapped, the process is complete.

[0085] When the netlist shown in FIG. 11 is mapped using a 4-input, 3-output PAE, it can be covered as shown by the lasso in the figure. When mapping to the PAE circuit of this embodiment, outputs from nodes within the covered range can be used, so there is no overlapping coverage of target nodes. As a result, in this example, eight 4-input, 3-output combinational logic cells (configuration memory count: 8 bits) can be mapped, and the configuration memory capacity is 8 bits x 8, or 64 bits. This is less than one-third of the capacity when using a 4-LUT.

[0086] Furthermore, the average coverage rate of the netlist in this embodiment is 2.52 nodes, exceeding the 2.43 nodes of the LUT. As a result, in an evaluation using 29 types of benchmark circuits in this embodiment, the average configuration memory reduction rate reached 51.6%, halving the configuration memory. Furthermore, the maximum configuration memory reduction rate was 66.5%, and the minimum configuration memory reduction rate was 23.0%, achieving a reduction in memory compared to conventional LUTs.

[0087] According to the above-described variant 2, a programmable logic circuit (PAE and combinations thereof) is provided, which is a logic cell for an embedded FPGA mounted on an ASIC, and has a basic logic cell (PX circuit) that constitutes a node of a gate-level netlist, and this basic logic cell is a programmable circuit configured by adding a programmable NOT circuit to a basic logic operation element, and is programmable to switch the input / output of the basic logic cell depending on the connection relationship of the nodes in the netlist.

[0088] The present invention is not limited to the above-described embodiment, and various modifications are possible within the scope of the present invention.

[0089] For example, in the above embodiment (FIG. 4), each input selector circuit 17 of each logic cell 13 of the second lane 12 selects from 10 external input signals to the second lane 12 and 6 from the first lane 11, but this is not limited to this, and it is possible to remove some wiring.

[0090] For example, the left logic cell 13 of the second lane 12 selects the four left outputs of the six outputs from the two logic cells 13 of the first lane 11, and similarly, the right logic cell of the second lane 12 selects the four right outputs of the six outputs from the two logic cells 13 of the first lane 11. Furthermore, the second lane 12 selects four different signals from each of the ten external input signals. With this configuration, each input selector circuit 17 of the second lane 12 can select from eight wires.

[0091] As another example, the logic cell 13 of the second lane 12 may be configured so that only the leftmost input signal of the four input signals is selected from 16 signals, while the other three input signals are each selected from the six output signals of the first lane 11 and two different signals from the external input signals. This allows the logic cell 13 of the second lane 12 to select from 16 wires for only the leftmost input, and to select from eight wires for the other three inputs.

[0092] As yet another example, the second lane may be wired as shown in FIGS.

[0093] In the example of FIG. 13, the input selector 18 of the logic cell 13 has four inputs. In contrast, in another example of FIG. 14, the input selector 18 of the logic cell 13 has two inputs. The input wiring of the input selector 18 of FIG. 13 can be selected from the line of the external input signal, the wiring from the first lane, or the wiring to be skip-connected. On the other hand, the input selector 18 of the logic cell 13 of FIG. 14 reduces the number of inputs to half. In this case, it is preferable to shift the selected wiring as shown in FIG. 14. In this example, the shift amount is 1, but the shift method is not limited to this, and the shift amount may be n, or any two wirings may be selected.

[0094] In this example, the number of inputs to the input selector is reduced from four to two, but the original number of inputs may be reduced. For example, if the original number of inputs is 20 (external input, first lane, skip wiring), this may be reduced to eight inputs. In this case, the 20 inputs may be arranged in an appropriate order, and eight input wirings may be selected from the 20 by shifting them by one.

[0095] Also, as shown in FIG. 15, the logic cell 13 of FIG. 13 and the logic cell 13 of FIG. 14 may be arranged side by side in one lane and connected by wiring.

[0096] Furthermore, in the above embodiment, the logic cells are assumed to be LUTs and PAEs, but they may be used in combination. For example, a single lane may contain a combination of LUTs and PAEs as logic cells, or each lane may contain an LUT and a PAE. Also, a single FPGA may contain a combination of programmable logic circuits that use only LUTs as logic cells and programmable logic circuits that use only PAEs.

[0097] Furthermore, in the above embodiment, the first lane and the second lane use the same number of logic cells, but the number of logic cells used may be different between the lanes. [Explanation of symbols]

[0098] 1...FPGA 2...Logical block 3...Switch Block 4...Connection block 5...LUT 6...Local connection block 8...Netlist 10...Logical block 11...First lane 12...Second lane 13...Logic cell 16, 17...Input selector circuit 18, 19...Output selector circuit 21, 22...Output Flip-Flop 23...Lane 25...Signal selector 26...PAE circuit 27...PA circuit

Claims

1. 1. A programmable logic circuit comprising: The programmable logic circuit has a plurality of lanes connected sequentially in a direction in which an input signal of the programmable logic circuit flows, Each of the plurality of lanes has one or more logic cells, and an input signal to the lane is input to each logic cell through a programmable input selector circuit, and an output signal from each logic cell is output as an input signal to the next sequential lane connected to the lane and / or as an output signal of the programmable logic circuit.

1. A programmable logic circuit comprising:

2. 2. The programmable logic circuit of claim 1, The input signals of each lane include the input signals of this programmable logic circuit.

1. A programmable logic circuit comprising:

3. 3. The programmable logic circuit of claim 2, At least one of the lanes receives an input signal of the programmable logic circuit from the preceding sequential lane to which it is connected.

1. A programmable logic circuit comprising:

4. 2. The programmable logic circuit of claim 1, At least one of the lanes has a wiring that feeds back an output signal from the logic cell to the preceding sequential lane to which the lane is connected or as an input signal to the lane.

1. A programmable logic circuit comprising:

5. 2. The programmable logic circuit of claim 1, At least one of the lanes has wiring that feeds forward an output signal from the logic cell as an input signal to a subsequent lane after the lane to which it is connected.

1. A programmable logic circuit comprising:

6. 2. The programmable logic circuit of claim 1, At least one of the lanes has a wiring that skips and outputs an output signal from a logic cell as an input signal to another programmable logic circuit.

1. A programmable logic circuit comprising:

7. 2. The programmable logic circuit of claim 1, Each lane is The nodes constituting the netlist at the logic cell level are mapped to each logic cell provided in each lane according to the hierarchy along the direction from the input side to the output side on the netlist.

1. A programmable logic circuit comprising:

8. 8. The programmable logic circuit of claim 7, The node mapping is performed on each logic cell provided in each lane according to the sequential number of connections of the lane in the programmable logic circuit.

1. A programmable logic circuit comprising:

9. 2. The programmable logic circuit of claim 1, A flip-flop (FF) is provided on the output side of the logic cell provided in each lane.

1. A programmable logic circuit comprising:

10. 2. The programmable logic circuit of claim 1, An output selector circuit is provided on the output side of the logic cell previously provided in each lane.

1. A programmable logic circuit comprising:

11. 2. The programmable logic circuit of claim 1, The logic cell includes a look-up table (LUT).

1. A programmable logic circuit comprising:

12. 2. The programmable logic circuit of claim 1, The logic cell comprises: having basic logic cells that constitute nodes of a gate-level netlist; This basic logic cell is a programmable circuit configured by adding a programmable NOT circuit to a basic logic operation element, The input / output of the basic logic cell is programmable to be switched depending on the connection relationship of the nodes in the netlist.

1. A programmable logic circuit comprising:

13. 13. The programmable logic circuit of claim 12, a combinational logic cell formed by combining a plurality of the basic logic cells; This combinational logic cell has a plurality of basic logic cells that cover a plurality of nodes that make up the graph of the netlist.

1. A programmable logic circuit comprising:

14. 14. The programmable logic circuit of claim 13, When the number of basic logic cells to be combined is n, an integer of 2 or more, and the number of inputs of each basic logic cell is m, an integer of 2 or more, The combinational logic cell comprises: It is an (m-1) x n+1 input n output logic cell in which n basic logic cells are connected by combining input signals in a switchable manner to express two or more patterns of node connection.

1. A programmable logic circuit comprising:

Citation Information

Patent Citations

  • Path transistor logic design method

    JP1997097281A

  • Combination device and method for logic circuit

    JP1999306214A

  • Programmable logic circuit device and circuit deciding method of the same

    JP2012044618A

  • Reconfigurable logic block, programmable logic circuit device using the same, and technology mapping method

    JP2012142662A

  • Non-LUT field-programmable gate arrays

    US20130162292A1