throbber

`(19) Japan Patent Office
`(JP)
`
`(12) Public patent bulletin (B2) (11) Patent number
`
`JP 3580785 B22004.10.27
`
`(45) Issued date October 27, 2004 (10.27.2004)
`
`(24) Publication date
`
` July 30, 2004 (7.30.2004)
`
`Patent No. 3580785
`
`(P3580785)
`
`
`
`(51) Int. Cl.7
`HO3K
`HO1L
`
`19/177
`21/82
`
`F1
`HO3K
`HO1L
`
`19/177
`21/82
`
`
`
`
`
`
`
`
`A
`
`
`
`Number of claims 6
`
` (16 pages
`in total)
`
`
`
`
`
`
`(21) Application
`Number
`(22) Application
`Filing Date
`(65)
`Japanese
`Unexamined Patent
`Application
`Publication No.
`(43)
`Publication
`date
`
`Request
`examination
`
`
`
`
`
`
`
`
`
`Japanese Patent Application 2001-
`199644 (P2001-199644)
`
`(73) Applicant
`
`396023993
`
`June 29, 2001 (6.29.2001)
`
`Patent
`Unexamined
`Japanese
`Application Publication No. 2003-
`18000 (P2003-18000A)
`
`January 17, 2003 (1.17.2003.)
`
`
`
`
`
`
`
`Semiconductor Technology Academic
`Research Center
`6th floor, Yusen Shin-Yokohama Building,
`
`3-17-2 Shin-Yokohama, Kohoku-
`ku, Yokohama City, Kanagawa Prefecture
`
`for
`
`June 29, 2001 (6.29.2001)
`
`(74) Agent
`
`100077517
`
`
`
`
`
`
`
`
`
`
`
`(74) Agent
`
`(74) Agent
`
`(74) Agent
`
`
`
`Patent Attorney
`
`Patent
`
`Takashi Ishida,
`100092624
`Junichi Tsuruta, Patent Attorney
`100100871
`Shigeru Tsuchiya, Patent Attorney
`100082898
`Masaya Nishiyama,
`Attorney
`100081330
`Sotoji Higuchi,
`
`
`(74) Agent
`
`
`
`
`
`
`
`
`Continued on the last page
`
`
`
`(54) (Title of the Invention) LOOK UP TABLE, PROGRAMMABLE LOGIC CIRCUIT DEVICE HAVING LOOK
`
`Patent Attorney
`
`UP TABLE, AND THE LOOK UP TABLE CONFIGURATOIN METHOD
`
`
`
`(57) (Scope of Patent Claims)
`
`(Claim 1)
`
`A lookup table with M inputs and N outputs, characterized in that the table is equipped with a plurality of LUT
`
`units, and an internal configuration control means for controlling the internal configuration of the plurality of
`
`LUT units; the internal configuration control means comprises a plurality of selectors for selecting input/output
`
`signals of the plurality of LUT units and a selector control means for controlling each selector to define a
`
`configuration of the plurality of LUT units; the selector control means comprises a memory, and controls the
`
`plurality of selectors according to data stored in the memory; the selector is equipped with an input signal
`
`selection selector provided at the input of at least one LUT unit for selecting an input signal, and an output signal
`
`selection selector that is provided at the output of the LUT unit for selecting an output signal, wherein the input
`
`signal selection selector and the output signal selection selector are controlled according to the data stored in the
`
`memory and the input signal.
`
`(Claim 2)
`
`The lookup table according to claim 1, characterized in that the M-input N-output lookup table is a 6-input 3-
`
`output lookup table.
`
`
`
`
`
`
`
`10
`
`20
`
`Intel Exhibit 1040
`Intel v. Iida
`
`

`

`(Claim 3)
`
`The lookup table of claim 2, characterized in that the 6-input 3-output lookup table comprises eight 3-input 1-
`
`(2)
`
`JP 3580785 B22004.10.27
`
`output LUT units.
`
`(Claim 4)
`
`The lookup table of claim 2, characterized in that the 6-input 3-output lookup table comprises four 3-input 2-
`
`output LUT units.
`
`(Claim 5)
`
`A programmable logic circuit device, comprising a plurality of logic blocks; a plurality of wirings connected to
`
`each logic block; a plurality of switch means provided at intersections of the wirings; a connection block provided
`
`10
`
`between the input/output line of each logic block and each wiring; and I/O block for external input/output,
`
`characterized in that: the logic block comprises the lookup table according to any one of claims 1-4.
`
`(Claim 6)
`
`A method of constructing a look-up table, an M-input N-output lookup table, characterized in that, multiple LUT
`
`units are prepared, the input/output signals of the plurality of LUT units are selectively controlled to set a
`
`predetermined internal configuration mode, and the signal input to at least one of the LUT units and the signal
`
`output by the LUT unit are each selectively controlled by a predetermined function of the data stored in the
`
`lookup table and the input signal.
`
`(Detailed Description of the Invention)
`
`(0001)
`
`(Technical field to which the invention belongs)
`
`The present invention relates to a technology for configuring a lookup table with which the mounting area can
`
`be reduced.
`
`In recent years, programmable logic circuit devices have attracted attention as devices capable of realizing logic
`
`circuits that meet various user needs by electrically programming internal circuits. This programmable logic
`
`circuit device, known as a Programmable Logic Device (PLD ) or Field Programmable Gate Array Hardware
`
`(FPGA ), beyond its use for hardware prototyping, has recently come to be used for constructing large-scale
`
`circuits (e.g., microprocessors, etc.) that themselves have various functions. Such a programmable logic circuit
`
`device has a lookup table (LUT) as a main component, and there is a strong demand for a reduction in the circuit
`
`area of this LUT.
`
`(0002)
`
`(Conventional technology)
`
`20
`
`30
`
`A look-up table (LUT), which is a major element of programmable logic circuit devices (PLDs and FPGAs),
`
`consists of memory and can implement any logic circuit. A basic configuration of such an FPGA has been
`
`proposed in the past, for example, in US Patent Nos. 4,706,216 and 4,870,302. In addition, multi-context and
`
`clustering of multiple LUTs in FPGA have been proposed, for example, in US Pat. Nos. 5,778,439 and 5,905,385.
`
`Furthermore, the research results regarding the evaluation of the LUT used for FPGA (for example, evaluation
`
`and performance evaluation regarding functionality and area, evaluation of clustering, etc.) are presented in, for
`
`example, J. Rose et al., “Architecture of Field-Programmable Gate Arrays: The Effect of Logic Block
`Functionality on Area Efficiency”, IEEE J. Solid-State Circuits, vol. 25, no. 5, pp. 1217-1225,Oct. 1990, J.
`Rose et al., “The Effect of Logic Block Architecture on FPGA Performance”, IEEE J. Solid-State Circuits, vol.
`27,no. 3,pp. 281-287, Mar. 1992, and E. Ahmed et al. ,”The Effect of Logic LUT and Cluster Size on
`
`40
`
`Deep-Submicron FPGA Performance and Density”, FPGA 2000, Monterey, CA USA, 2000.
`
`
`
`
`50
`
`

`

`(3)
`
`JP 3580785 B22004.10.27
`
`(0003)
`
`In a programmable logic circuit device, the number of bits M of the input signal of the logic circuit that can be
`
`implemented corresponds to the number of bits of the address of the memory forming the LUT, and the number
`
`of bits N of the output signal corresponds to the number of output bits of the memory. Therefore, a logic circuit
`
`that can be implemented in one LUT is an arbitrary M-input N-output logic circuit. Such a LUT is referred to
`
`herein as an M-input N-output LUT.
`
`(0004)
`
`(Problem to Be Solved by the Invention)
`
`10
`
`Conventionally, for example, in an FPGA, both the number of inputs M and the number of outputs N of LUTs
`
`are fixed values, and an arbitrary logic circuit is divided into M input N output circuit units and implemented
`
`using multiple LUTs.
`
`Therefore, in conventional FPGAs, if a circuit with less than M bits of inputs is created by dividing the circuit,
`
`one LUT must be assigned to the circuit with less than M bits of inputs, causing an increase in the mounting area.
`
`(0005)
`
`In view of the above-described problems of the conventional programmable logic circuit device, the main object
`
`of the present invention is to reduce the circuit area of a lookup table (LUT), that is, a programmable logic circuit
`
`20
`
`device. Another object of the present invention is to reduce the power consumption of the programmable logic
`
`circuit device.
`
`(0006)
`
`(Means for Solving the Problem)
`
`The first aspect of the present invention is to provide a lookup table with M inputs and N outputs, characterized
`
`in that the table is equipped with a plurality of LUT units, and an internal configuration control means for
`
`controlling the internal configuration of the plurality of LUT units; the internal configuration control means
`
`comprises a plurality of selectors for selecting input/output signals of the plurality of LUT units and a selector
`
`control means for controlling each selector to define a configuration of the plurality of LUT units; the selector
`
`control means comprises a memory, and controls the plurality of selectors according to data stored in the memory;
`
`30
`
`the selector is equipped with an input signal selection selector provided at the input of at least one LUT unit for
`
`selecting an input signal, and an output signal selection selector that is provided at the output of the LUT unit
`
`and selects an output signal, wherein the input signal selection selector and the output signal selection selector
`
`are controlled according to the data stored in the memory and the input signal.
`
`(0007)
`
`The second aspect of the present invention is to provide a programmable logic circuit device, comprising a
`
`plurality of logic blocks; a plurality of wirings connected to each logic block; a plurality of switch means provided
`
`at intersections of the wirings; a connection block provided between the input/output line of each logic block and
`
`40
`
`each wiring; and I/O block for external input/output, where the lookup table comprises M inputs and N outputs,
`
`characterized in that the table is equipped with a plurality of LUT units, and an internal configuration control
`
`means for controlling the internal configuration of the plurality of LUT units; the internal configuration control
`
`means comprises a plurality of selectors for selecting input/output signals of the plurality of LUT units and a
`
`selector control means for controlling each selector to define a configuration of the plurality of LUT units; the
`
`selector control means comprises a memory, and controls the plurality of selectors according to data stored in the
`
`memory; the selector is equipped with an input signal selection selector provided at the input of at least one LUT
`
`unit for selecting an input signal, and an output signal selection selector that is provided at the output of the LUT
`
`50
`
`

`

`(4)
`
`JP 3580785 B22004.10.27
`
`unit for selecting an output signal, wherein the input signal selection selector and the output signal selection
`
`selector are controlled according to the data stored in the memory and the input signal.
`
`(0008)
`
`The third aspect of the present invention provides a method for configuring an M-input N-output lookup table,
`
`comprising: preparing a plurality of LUT units; selectively controlling the input/output signals of the plurality of
`
`LUT units to set a predetermined internal configuration mode, and selectively controlling each of the signal input
`
`to at least one of the LUT units and the signal output by the LUT unit by a predetermined function of the data
`
`stored in the lookup table and the input signal.
`
`According to the present invention, by providing a mode change memory in the LUT, unlike the LUT used in
`
`conventional FPGAs, it is possible to realize an LUT having a plurality of inputs and outputs. As a result, it is
`
`possible to configure LUTs suitable for the number of input signals required by the divided circuits, thereby
`
`preventing an increase in mounting area. In addition, by stacking circuits that do not operate at the same time in
`
`the same LUT and operating them while switching between them, it is possible to greatly reduce not only the
`
`mounting area but also the power consumption.
`
`(0009)
`
`(Embodiments of the invention)
`
`A lookup table, a programmable logic circuit device having the lookup table, and a method of configuring the
`
`lookup table according to the present invention will be described in detail below with reference to the
`
`accompanying drawings.
`
`FIG. 1 is a block diagram showing an example of FPGA to which the present invention is applied. In FIG. 1,
`
`reference numeral 100 is an FPGA as an example of a programmable logic circuit device, 101 is an I/O block,
`
`102 is a logic block (CLB: Configurable Logic Block), 103 is a connection block (C), and 104 is a switch matrix
`
`(S), and 105 indicates wiring.
`
`(0010)
`
`As shown in FIG. 1, an FPGA 100 is configured with logic blocks (CLBs) 102 arranged in an array, wiring
`
`(circuit area) 105 surrounding these CLBs 102, and I/O blocks 101 for inputting/outputting with the outside. A
`
`switch matrix (S) 104 is arranged at the intersection of each wiring 105 for connecting them, and a connection
`
`block (C) 103 is arranged between each input/output line of each CLB 102 and the wiring 105. Each CLB 102 is
`
`configured with a lookup table (LUT) 121, a latch 122, and a selector 123. The present invention is primarily
`
`related to the configuration of the LUT 121.
`
`(0011)
`
`FIG. 2 is a block diagram showing a 6-input 3-output LUT as an example of the LUT in FPGA, and shows an
`
`example of the LUT 121 in FIG. 1. That is, the LUT shown in FIG. 2 corresponds to a configuration in which
`
`M=6 and N=3 in the M-input N-output LUT. Regarding the values of M and N, M=6 and N=3 are merely
`
`examples, and there are other various values, and there are also cases where M=N or M<N.
`
`(0012)
`
`FIG. 3 is a block diagram showing the internal configuration modes of the 6-input 3-output LUT shown in FIG.
`
`2. By changing the values (X, Y, Z) of the mode change memory (71), as described later in detail, 6-input 3-
`
`output LUT can be set to internal configurations as shown in FIGS. 3(a) to 3(f).
`
`Specifically, FIG. 3(a) shows a case where a 6-input, 3-output LUT is mode-set as three 2-input, 1-output LUTs.
`
`For example, in a conventional FPGA (conventionally, a 4-input 1-output LUT is used as a unit), 3 LUTs (4-
`
`input 1-output LUT) are required to assign three 2-input 1-output circuits to the LUT. However, in the
`
`configuration shown in FIG. 3(a), only one 6-input 3-output LUT is sufficient.
`
`
`
`
`10
`
`20
`
`30
`
`40
`
`50
`
`

`

`(5)
`
`JP 3580785 B22004.10.27
`
`(0013)
`
`By the way, the area ratio of the 4-input 1-output LUT and the 6-input 3-output LUT, including the wiring area,
`
`is about 1:1.5. Therefore, in the configuration shown in FIG. 3(a), for example, compared to the conventional
`
`example using three 4-input 1-output LUTs, the circuit mounting area ratio is (1 x 3): 1.5, that is, about 1:0.5.
`
`can be reduced, decreasing the area by up to about 50%.
`
`(0014)
`
`Also, FIG. 3(b) shows a case where the mode was set as two 3-input 1-output LUTs. In this case, for example,
`
`compared to the conventional example using two 4-input 1-output LUTs, the circuit mounting area ratio is (1 x
`
`2): 1.5, that is, about 1:0.75 can be reduced, decreasing the area by up to about 25%.
`
`10
`
`Furthermore, FIG. 3(c) shows a case where the mode was set as a 6-input 1-output LUT instead of a 6-input 3-
`
`output LUT.
`
`(0015)
`
`FIG. 3(d) shows the mode setting as 3-input 1-output LUT x 8 planes. FIG. 3(e) shows the case where the mode
`
`was set as 4-input 1-output LUT×4 planes, and FIG. 3(f) shows the case where the mode was set as 5-input 1-
`
`output LUT×2 planes. FIG. 4 is a diagram for explaining an example of the circuit mapping method in the lookup
`
`table, and shows the reason why the mode settings of FIGS. 3(d) to 3(f) are possible.
`
`(0016)
`
`As shown in FIG. 4, for example, in mapping methods using control structures such as if~, else, and case in
`
`20
`
`Register Transfer Level (RTL) description in Hardware Description Language (HDL), since conditional branches
`
`are explicitly guaranteed not to operate concurrently, the processing within each condition is mapped to each
`
`context. Switching between contexts is performed, for example, by a signal from a control circuit implemented
`
`in another LUT (lookup table).
`
`(0017)
`
`In such a case, as shown in FIGS. 3(d) to 3(f), a plurality of LUTs can be composed of one LUT. Specifically, in
`
`the case of FIG. 3(d), eight 3-input 1-output LUTs can be configured with one LUT (one 6-input 3-output LUT
`
`in the case of FIG. 3(d)). In addition, in the case of FIG. 3(e), four 4-input 1-output LUTs can be configured with
`
`one LUT, and in the case of FIG. 3(f), two 5-input 1-output LUTs can be configured with one LUT.
`
`(0018)
`
`Specifically, the configuration shown in FIG. 3(e) can realize a maximum area reduction of up to about 62%, for
`
`example, by making the circuit mounting area ratio of (1 x 4): 1.5, that is, it can be reduced to about 1:0.375,
`
`with respect to the conventional 40 examples using four 4-input 1-output LUTs. In other words, the LUT of the
`
`embodiment shown in FIG. 3(e) (LUT composed of one 6-input 3-output LUT) can be configured with a
`
`conventional LUT having about 32% of the mounting area (LUT configured with four 4-input 1-output LUTs),
`
`further significantly reducing power consumption.
`
`(0019)
`
`Further, for example, the circuit mounting area of the ALU circuit of 8 operations can be reduced to about 75%,
`
`improving the mounting efficiency, comparing of mounting with a conventional 4-input 1-output LUT, and using
`
`a 6-input 3-output LUT as shown in Fig. 3(e) as a 4-input 1-output LUT x 4 planes.
`
`FIG. 5 is a block diagram showing a 6-input 3-output LUT 7 as an example of LUT in an FPGA according to the
`
`present invention together with input and output signals, equivalent to that in which six input signals A, B, C, D,
`
`E, F and three output signals Q, V, W are added to the 6-input, 3-output LUT121 shown in FIG. 2.
`
`
`
`
`30
`
`40
`
`50
`
`

`

`(6)
`
`JP 3580785 B22004.10.27
`
`(0020)
`
`FIG. 6 is a block diagram showing an example of the internal configuration of the 6-input 3-output LUT shown
`
`in FIG. 5.
`
`As shown in FIG. 6, the 6-input 3-output LUT 7 (121) includes a mode change memory 71, selectors 721-726,
`
`and 3-input 1-output LUT units (memory arrays) 731-738. The mode change memory 71 stores 3-bit data X, Y,
`
`Z designated by the user. The relationship between the 6-bit inputs A to F and the 3-bit outputs Q, V, and W is
`
`set according to user’s requests.
`
`(0021)
`
`Each selector (selector for input signal selection) 721 to 725 selects the input signals according to the data X, Y,
`
`and Z stored in the mode change memory 71, respectively, after inputting a predetermined signal in the 6-bit
`
`input signal. That is, the signals A and C are input to the selector 721, signals B and D are input to the selector
`
`722, and one signal selected from selection signal F0 (X, Y, Z) defined by data X, Y, Z, respectively, is output.
`
`The signals A and D are similarly input to the selector 723, signals B and E are input to the selector 724, signals
`
`C and F are further input to the selector 725, and one signal selected from selection signal F1 (X, Y, Z) defined
`
`by data X, Y, Z, respectively, is output.
`
`(0022)
`
`Each of the 3-input 1-output LUT units 731-738 includes an address decoder, a memory, and a selector, and
`
`outputs a 1-bit signal in response to a 3-bit input signal, as will be described later. That is, signals A, B, and C
`
`are input to the LUT units 731, 732, 734 to 736, and 738, respectively, also, either signal A or C and either signal
`
`B or D selected by the selection signal F0, and the signal C are input to the LUT unit 733. Further, either signal
`
`A or D, either signal B or E, and either signal C or F selected by selection signal F1 are input to LUT unit 737.
`
`The output signals of the LUT units 731 to 738 are input to a selector (selector for output signal selection) 726,
`
`and one signal from a selection signal F2 (D, E, F, X, Y, Z) defined by signals D, E, F and data X, Y, Z is selected
`
`and output as signal V. Signal Q is output from LUT unit 731, and signal W is output from LUT unit 737.
`
`(0023)
`
`10
`
`20
`
`FIG. 7 is a block diagram showing an example of a 3-input 1-output LUT unit 731 in the 6-input 3-output LUT
`
`7 of FIG. 6. The 3-input 1-output LUT units 731 to 738 all have the same configuration.
`
`The LUT unit 731 shown in FIG. 7 includes an address decoder 7311, a selector 7312, and memory unit groups
`
`30
`
`M11 to M14 and M21 to M24 each composed of two sets of 4 bits. The address decoder 7311 decodes the 2-bit
`
`input signals A and B, to designate one each of the memory unit groups M11 to M14 and M21 to M24, and
`
`furthermore, according to the input signal C, choose one set of either memory unit groups M11-M14 or M21-
`
`M24 to output data.
`
`(0024)
`
`FIG. 8 is a block diagram showing another example of a 3-input 1-output LUT unit 731 in the 6-input 3-output
`
`LUT 7 of FIG. 6.
`
`The LUT unit 731 shown in FIG. 8 includes an address decoder 7313 and an 8-bit memory unit group M31-M38.
`
`The address decoder 7313 decodes the 3-bit input signals A, B, and C, and designates one of the memory unit
`
`40
`
`groups M31 to M38 to output its data (Q).
`
`
`
`
`50
`
`

`

`(7)
`
`JP 3580785 B22004.10.27
`
`(0025)
`
`The relationship between 3-bit data X, Y, Z specified in the mode change memory 71 in the 6-input 3-output
`
`LUT shown in FIG.6 and the corresponding internal configuration (setting mode) will be described with reference
`
`to FIGS. 3(a) to 3(f).
`
`First, as shown in FIG. 3(a), when the 6-input, 3-output LUT 7 (121) is set to the mode of three 2-input, 1-output
`
`LUTs, the selection signals F0 and F1 select input “1” in selectors 721, 722 and 723-725, and selection signal F2
`
`selects input “2” in selector 726.
`
`(0026)
`
`That is, the user designates the 3-bit data X, Y, Z to be stored in the mode change memory 71, so that the selection
`
`signals F0 (X, Y, Z) and F1 (X, Y, Z) select input “1” in each selector 721, 722 and 723-725, and so that the
`
`selection signal F2 (D, E, F, X, Y, Z) selects the input “2” in the selector 726.
`
`(0027)
`
`Then, it is possible to configure as three 2-input 1-output LUTs shown in Fig. 3(a), by using LUT unit 731 that
`
`outputs signal Q after signals A, B, and C are input; LUT unit 733 input with signals C, D via selectors 721 and
`
`722 and direct signal C and that outputs signal V via selector 726; and LUT unit 737 input with the signals D, E,
`
`and F via the selectors 723 to 725 and outputs the signal W. Note that either input signal C in the LUT unit 731
`
`or input signal C in LUT unit 733, and input signal D via the selector 723 in the LUT unit 737 are extra input
`
`signals in each LUT unit, but these do not pose a problem.
`
`(0028)
`
`Then, as shown in FIG. 3(b), when mode setting a 6-input 3-output LUT 7 as two 3-input 1-output LUTs, the
`
`selection signal F1 designates 3-bit data X, Y, Z to be stored in the mode change memory 71 so as to select input
`
`“1” in the selectors 723-725. Then, it is possible to configure as two 3-input 1-output LUTs shown in Fig. 3(b),
`
`by using LUT unit 731 that outputs signal Q after signals A, B, and C are input; and LUT unit 737 input with the
`
`signals D, E, and F via the selectors 723 to 725 and outputs the signal W.
`
`(0029)
`
`As shown in Fig. 3(c), when setting the mode of a 6-input 3-output LUT as a 6-input 1-output LUT, the selection
`
`signals F0 and F1 select the input “0” in each selector, and the selection signal F2 determines the value of selector
`
`726 by input signals D, E, and F and outputs signal V. That is, a 1-bit signal V is output from 6-bit inputs of
`
`signals A, B, and C and signals D, E, and F.
`
`(0030)
`
`As shown in Fig. 3(d), when setting the mode of a 6-input 3-output LUT as a 3-input 1-output LUT x 8 planes,
`
`the selection signals F0 and F1 select the input “0” in each selector, and the selection signal F2 determines the
`
`value of selector 726 by signals D, E, and F and outputs signal V. In this case, signals D, E, and F use plane
`
`switching signals.
`
`(0031)
`
`As shown in Fig. 3(e), when setting the mode of a 6-input 3-output LUT as a 4-input 1-output LUT x 4 planes,
`
`too, the selection signals F0 and F1 select the input “0” in each selector, and the selection signal F2 determines
`
`the value of selector 726 by signals D, E, and F and outputs signal V. In this case, signal D is one of the 4-bit
`
`input signals along with signals A, B, and C, and signals E and F use plane switching signals.
`
`(0032)
`
`As shown in Fig. 3(f), when setting the mode of a 6-input 3-output LUT as a 5-input 1-output LUT x 2 planes,
`
`the selection signals F0 and F1 select the input “0” in each selector, and the selection signal F2 determines the
`
`value of selector 726 by signals D, E, and F and outputs signal V. In this case, signals D and E are two of the 5-
`
`bit input signals along with signals A, B, and C, and signal F uses a plane switching signal.
`
`
`
`
`10
`
`20
`
`30
`
`40
`
`50
`
`

`

`(8)
`
`JP 3580785 B22004.10.27
`
`(0033)
`
`As described above, according to this embodiment, for example, a 6-input 3-output LUT can be used as various
`
`internal configuration modes by changing the values X, Y, and Z of the mode change memory 71.
`
`FIG. 9 is a block diagram showing another example of the internal configuration of the 6-input 3-output LUT
`
`shown in FIG. 5, and shows an example of the internal configuration of the 6-input 3-output LUT different from
`
`that shown in FIG. 6.
`
`(0034)
`
`As shown in FIG. 9, the 6-input 3-output LUT 8 (121) has a mode change memory 81, selectors 821-826, and 3-
`
`input 2-output LUT units 831-834. The mode change memory 81 stores 3-bit data X, Y, Z designated by the user.
`
`The relationship between the 6-bit inputs A to F and the 3-bit outputs Q, V, W is set according to the user’s
`
`request.
`
`(0035)
`
`That is, while the 6-input 3-output LUT 7 shown in FIG. 6 described above has eight 3-input 1-output LUT units
`
`731 to 738, the present 6-input 3-output LUT 8 shown in FIG. 9, except for being equipped with four 3-input 2-
`
`output LUT units 831-834, has substantially the same configuration.
`
`3-bit data X, Y, Z designated to the mode change memory 81 in the LUT 8 shown in FIG. 9, selection signals F0
`
`(X,Y,Z), F1 (X,Y,Z) and F2 (D, E, F, X, Y, Z) accordingly, and the operations of the selectors 821 to 826
`
`(corresponding to the selectors 721 to 726) controlled by these selection signals F0, F1 and F2 are similar to that
`
`described with reference to FIGS. 6 and 3(a)-3(f), so the description thereof is omitted here.
`
`(0036)
`
`FIG. 10 is a block diagram showing an example of a 3-input 2-output LUT unit in the 6-input 3-output LUT of
`
`FIG. 9. All of the 3-input 2-output LUT units 831 to 834 have the same configuration.
`
`The LUT unit 831 shown in FIG. 10 includes an address decoder 8311, selectors 8312 and 8313, and memory
`
`unit groups M41-M44, M51-M54, M61-M64, and M71-M74, each of which consists of four sets of 4 bits. The
`
`address decoder 8311 decodes the 2-bit input signals A and B to designate each one of four memory unit groups
`
`M41-M44, M51-M54, M61-M64 and M71-M74, and further selects and outputs, according to the input signal C,
`
`one set of data of the memory unit groups M41 to M44 or M51 to M54 (output signal Q: signal supplied to the
`
`input “0” of the selector 826), and one set of data of memory unit groups M61-M64 or M71-M74 (signal supplied
`
`to input “1” of selector 826).
`
`(0037)
`
`FIG. 11 is a block diagram showing another example of a 3-input 2-output LUT unit in the 6-input 3-output LUT
`
`of FIG. 9.
`
`The LUT unit 831 shown in FIG. 11 comprises an address decoder 8314 and two sets of 8-bit memory unit groups
`
`M81-M88 and M91-M98. The address decoder 8314 decodes the 3-bit input signals A, B, C to designate one of
`
`the two groups of memory units M81-M88 and M91-M98, and outputs data (output signal Q: the signal supplied
`
`to the input “0” of the selector 826 and the signal supplied to the input “1” of the selector 826).
`
`(0038)
`
`
`
`
`10
`
`20
`
`30
`
`40
`
`50
`
`

`

`(9)
`
`JP 3580785 B22004.10.27
`
`FIG. 12 is a block diagram showing still another example of a 3-input 2-output LUT unit in the 6-input 3-output
`
`LUT of FIG. 9.
`
`The LUT unit 831 shown in FIG. 12 includes an address decoder 8315, selectors 8316 and 8317, and eight sets
`
`of 2-bit memory unit groups M111, M121; M112, M122, …M118, M128. The address decoder 8315 decodes
`
`the 1-bit input signal A to designate each one of the eight memory unit groups M111, M121 to M118, M128, and
`
`with 2-bit input signals B and C, further selects and outputs one set of data in the memory unit groups M111,
`
`M121 to M114 and M124 (output signal Q: signal supplied to input “0” of selector 826) and one set of data in
`
`the memory unit groups M115, M125 to M118 and M128 (signal supplied to input “1” of selector 826).
`
`(0039)
`
`FIG. 13 is a block diagram showing a configuration example of an 8-operation ALU circuit (ALU16) 90. In FIG.
`
`13, reference characters G and H denote 16-bit data, I denotes a command signal that determines the operation,
`
`and J denotes an output signal. As shown in FIG. 13, the ALU circuit 90 includes eight arithmetic circuits of an
`
`OR circuit 91 to which 16-bit data G and H are input, respectively; an AND circuit 92; an XOR circuit 93; a not
`
`circuit 94; + (addition) circuit 95; NE (Not Equal) circuit 96; GT (Greater Than) circuit 97; and SHIFT (shift)
`
`circuit 98, as well as a selector 99 that selects the outputs of these eight arithmetic circuits 91 to 98 by a command
`
`signal I; where output signal J corresponding to the command signal I is output.
`
`(0040)
`
`10
`
`FIG. 14 and FIG. 15 below showed a comparison between the case of implementing from a 3-input 1-output
`
`LUT used in conventional FPGAs to a 7-input 1-output LUT (horizontal axis: 3 LUT to 7 LUT) for the ALU
`
`20
`
`circuit (ALU 16) 90 shown in FIG. 13 and the case of implementing 6-input 3-output LUT as shown in FIG. 6 (a
`
`configuration comprising eight 3-input 1-output LUTs 731 to 738, mode change memory 71 and selectors 721 to
`
`726: 3 LUT*8), and a 6-input 3-output LUT as shown in FIG. 9 (a configuration comprising four 3-input 2-output
`
`LUTs 831 to 834, mode change memory 81 and selectors 821 to 826: 4 LUT*4) used in the FPGA according to
`
`the present invention. The ALU 16 includes, for example, a data selector (a circuit that does not need to use an
`
`LUT) for switching wiring, a random logic (a circuit configured with an LUT), and a flip-flop (a circuit that is a
`
`fixed portion of a logic block). It goes without saying that the comparison between FIGS. 14 and 15 is made
`
`under substantially the same conditions other than the configuration of the LUT.
`
`(0041)
`
`FIG. 14 shows the difference in area ratio when the ALU 16 shown in FIG. 13 is mounted on the LUTs (3 LUT
`
`to 7 LUT and 6-input 3-output LUT (3 LUT*8 and 4 LUT*4)) used in the conventional and inventive FPGAs,
`
`and FIG. 15 is a diagram showing the difference in the number of configuration data bits when the ALU 16
`
`shown in FIG. 13 is implemented in LUTs used in the conventional and the inventive FPGAs. The vertical axis
`
`in FIG. 14 shows the area ratio when configured using various LUTs, assuming that the area is 1 when configured
`
`using a commonly used 4-input 1-output LUT (4 LUTs), and the vertical axis in FIG. 15 indicates the number of
`
`bits of configuration data when configured using various LUTs.
`
`(0042)
`
`As is clear from FIG. 14, for example, the area ratio when the ALU 16 as shown in FIG. 13 is mounted on the
`
`6-input 3-output LUT (3 LUT*8 and 4 LUT*4) used in the FPGA according to the present invention is
`
`significantly smaller than when the same ALU 16 is mounted on the LUTs (3 LUTs to 7 LUTs) used in the
`
`conventional FPGA. Specifically, for example, 3 LUT*8, where a 6-input 3-output LUT is implemented as a 3-
`
`input 1-output × 8 planes gives an area about 75% when implemented using a 4-input 1-output LUT (4 LUTs),
`
`which has the smallest area among conventional LUTs.
`
`
`
`
`30
`
`40
`
`50
`
`

`

`(10)
`
`JP 3580785 B22004.10.27
`
`(0043)
`
`Furthermore, as is clear from FIG. 15, the number of configuration data bits, when the ALU 16 is implemented
`
`with the 6-input 3-output LUT (3 LUT*8 and 4 LUT*4) used in the FPGA according to the present invention is
`
`equivalent to that of 4 LUTs, which is the smallest among conventional LUTs. That is, the reason the 6-input 3-
`
`output LUT of the present invention can have a comparable number of configuration data bits, despite requiring
`
`four times as many configuration data for 4-input 1- output, for example, is that while the conventional LUT
`
`constructs the selectors in output stage with LUTs, in the present invention, the number of LUTs used can be
`
`reduced by switching the wiring.
`
`(0044)
`
`In the above description, the 6-input 3-output LUT used in the FPGA according to the present invention is merely
`
`an example, and the present invention can be applied to an M-input N-output (for example, 8-input 4-output)
`
`LUT

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket