GB2436482A - A programable logic device and associated configuration apparatus - Google Patents

A programable logic device and associated configuration apparatus Download PDF

Info

Publication number
GB2436482A
GB2436482A GB0711548A GB0711548A GB2436482A GB 2436482 A GB2436482 A GB 2436482A GB 0711548 A GB0711548 A GB 0711548A GB 0711548 A GB0711548 A GB 0711548A GB 2436482 A GB2436482 A GB 2436482A
Authority
GB
United Kingdom
Prior art keywords
configuration information
logic
configuration
storing unit
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB0711548A
Other versions
GB0711548D0 (en
GB2436482B (en
Inventor
Shin-Ichi Marui
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2004203955A external-priority patent/JP4414297B2/en
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to GB0711548A priority Critical patent/GB2436482B/en
Publication of GB0711548D0 publication Critical patent/GB0711548D0/en
Publication of GB2436482A publication Critical patent/GB2436482A/en
Application granted granted Critical
Publication of GB2436482B publication Critical patent/GB2436482B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17752Structural details of configuration resources for hot reconfiguration
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17756Structural details of configuration resources for partial configuration or partial reconfiguration

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)

Abstract

Programmable logic device which has one or more logic elements which include a first storage unit for storing first configuration information, a second storage unit to store second configurations information, an internal circuit which performs a function that is based on the first configuration information or the second configurations information, a selector unit to allow selection of which door unit stores the configuration information that you define the function of the internal circuit and I read right units to read right the configuration information stored in which of the storing units that is not selected. An associated configuration apparatus is also described.

Description

<p>TITLE OF TE INVENTION</p>
<p>PFOGRANABLE LOGIC DEVICE, CONFIGURATION APPARATUS, AND</p>
<p>CONFIGURATION METHOD</p>
<p>BACKGOtTND OF TH.E INVENTION</p>
<p>(1) Field of the Invention</p>
<p>The present invention relates to a programmable logic device, and a configuration apparatus and a configuration method for the programmable logic device. In particular, the present invention relates to a technique to change only the function of the intended logic element without interfering with other logic elements in operation among logic elements of the programmible logic device.</p>
<p>(2) Description of the Related Art</p>
<p>In recent years, programmable logic devices, such as FPGA (Field programmable Gate Array), are widely spread. A programmable logic device is an integrated circuit that includes logic elements, The user can make the programmable logic device perform a desired function by changing the function of each logic element or changing the connection condition among the logic elements. The following describes how to change the function of the programmable logic device, by taking a conventional programmable logic device for instance.</p>
<p>26 FIG.1 shows the structure of a conventional programmable logic device. In this example, a programmable logic device 401 includes sixteen logic elements. Each logic element stores a piece of configuration information, which defines the function</p>
<p>I</p>
<p>of the logic element, in a storing unit 41 of each logic element.</p>
<p>Each logic element realizes the function according to the stored piece of the configuration information. The user can change the function of each element by rewriting the configuration information.</p>
<p>Each piece of the configuration information is sequentially input from a configuration apparatus 402, and shifted by each storing unit 41 so that the piece of the configuration information is transferred to a targeted logic element (e.g. U.S. Patent NO.5394031).</p>
<p>Meanwhile, in recent years, equipment in which the programmable logic device is incorporated has been downsized.</p>
<p>Accordingly, there is a demand for an efficient use of the programmable logic device such that the programmable logic device contributes to the downsizing ot the equipment.</p>
<p>To use the programmable logic device as efficiently as possible, it is necessary to map as many processes as possible to each logic element (to improve the spatial efficiency), and to constantly use the logic elements, which is the resources of the programmable logic device (to improve the temporal efficiency). For instance, it is possible to improve the spatial efficiency by allocating a plurality of processes, which are to be performed in parallel, to one programmable logic device.</p>
<p>It is also possible to improvc the temporal efficiency by allocating a subsequent process to the programmable logic device right after the programmable logic device finishes one of the processes.</p>
<p>To realize such improvement, it is required to provide a programmable logic device in which the function of only an intended logic element can be changed without interfering with other logic elements in operation.</p>
<p>J1owever, in the conventional programmable logic device, alithelogicelements havetorewrite andshifttheconfiguration information stored therein to transfer a desired piece of the configuration information to a targeted logic element.</p>
<p>Therefore, the functions of all the logic elements are inevitably changed even if the user tries to change the function of only one of the logic elements.</p>
<p>SUMMARY O THE INVENTION</p>
<p>The object of the present invention is therefore to provide programmable logic device in which function of only an intended 113 logic element can be changed without interfering with other logic elements in operation, and a configuration apparatus and a configuration method for the programmable logic device.</p>
<p>The programmable logic device according to the present invention is a programmable logic device having one or more logic elements, each logic element comprising: a configuration storing unit operable to store therein configuration information; an internal circuit operable to perform a function that is based on the configuration information stored in the configuration storing unit; a rewrite prohibiting unit operable, if having received a rewrite prohibit iustruct.ion, to prohibit replacing of configuration information that has been previously stored in the configuration storing unit with configuration information that is newly input to the logic e].ement; and an output unit operable, if having received a rewrite prohibit instruction, to output the newly input configuration information without chanqe, nc3 opx-able, if having received a rewrite permit instruction, to output configuration information currently 6 stored in the configuration storing unit.</p>
<p>With the stated structure, after the configuration information is input, the configuration information stored in the configuration storing unit can not be replaced if the rewriting is not permitted.</p>
<p>If the rewriting of the configuration information stored in the logic element which should he rewritten to change the function of the internal circuit is permitted, and the rewriting of the configuration information stored in the logic element.</p>
<p>in operation is not permitted, the function of the logic element can be changed by the rewriting, while the function of the logic element in operation can not be changed.</p>
<p>Accordingly, it becomes possible to change the function of only the intended logic element even if some of the other logic elements are in operation.</p>
<p>Furthermore, if the rewriting is not permitted, the logic element outputs the input configuration information, and if the rewriting is permitted, the logic element outputs the configuration information stored in the configuration storing unit thereof. In any case, either of the configuration 26 information is output. Therefore, the configuration information is transferred among the plurality of the -logic elements. This is applicable regardless of the connection condition among the logic elements e.g. a cascade connection, a connection with a tree structure, a connection with a network structure, and so On) Here, the output unit may include a multiplexer having a first input terminal, a second input terminal, a control terminal and ab output terminal, The first input terminal may receive the configuration information currently stored in the configuration storing unit. The second input terminal may receive the newly input configuration information, The control terminal may receive rewrite information that represents either the rewrite prohibit instruction or the rewrite permit instruction. The output terminal may output the configuration information input to the first input tcrminal if the rewrite information represents the rewrite permit instruction, and output the configuration information input to the second input terminal if the rewrite information represents the rewrite prohibit instruction.</p>
<p>With the stated structure, each logic element has a bypass circuit that bypasses the configuration storing unit of cach logic element. The multiplexer outputs the configuration information via the bypass circuit if the rewrite information represents the rewrite prohibit instruction. Accordingly, each logic element can output the input configuration information as it is.</p>
<p>Here, the programmable logic device may have a plurality of the loyic elements, and all or some of the plurality of the logic elements may be connected together by a cascade connection for distributing the configuration information.</p>
<p>With the stated structure, the cost of wiring can be reduced compared with the structure in which each logic element is individually connected to an external configuration apparatus.</p>
<p>This effect can be gained if at least some of the logic elements are connected by the cascade connection. The maximum effect canbegainedinthecasethat.11 theiogicelementsareeonnected by the cascade connection, Here, the programmable logic device may further comprise an output terminal, wherein the output unit of a logic element at a last stace of the cascade connection, which is included in the plurality of the logic elements, may output the configuration informati.on to outside the programmable logic device via the output terminal.</p>
<p>With the stated structure, the programmable logic device can output the predetermined bit pattern that is input prior to the configuration information. Accordingly, the configuration can be performed using a configuration apparatus that stops the input of the configuration information based on that the predetermined bit pattern is output. As described later, such a configuration apparatus has an advantage that the processing load is light. There ore, the processing load of the whole system can be reduced by the combination of the programmable logic device with the ahove-decrihp.d t1-ucture and the configuration apparatus.</p>
<p>Here, the programmable logic device may further comprise a rewriLe information storing unit operable to store therein rewrite information that represents either the rewrite prohibit instruction or the rewrite permit instruction, wherein each of the rewrit.e prohihitirig unit and the Output unit receives the rewrite information.</p>
<p>With the stated structure, the rewrite information is stored in the logic element. Therefore, once an external configuration apparatus input the configuration information, the confi gurati on apparatus is not required to continuously input the configuration information.</p>
<p>Here, all or some of the plurality of the logic elements may be connected together by a cascade connection for distributing the configuration information.</p>
<p>With the stated structure, the cost of wiring can be reduced compared with the structure in which each logic element is individually connectcd to an cxtcrnal configuration apparatus.</p>
<p>This effect can be gained if at least some of the logic elements are connected by the cascade connection, and the maximum effect can be gained in the case that all the logic elements are connected by the cascade connection.</p>
<p>Here, the rewrite prohibiting unit may prohibit, even if having rcccivcd the rewrite permit instruction, rewriting of the configuration information that has been previously stored in the configuration storing unit while the rewrite information is being distributed.</p>
<p>With the stated structure, the configuration information stored in the configuration storing unit is not rewritten while the rewrite information is being transferred. This prevents Lhe configuration information from being unexpectedly rewritten while the rewrite information is being transferred.</p>
<p>The programmable logic device according to the present invention 1 s A programmable logic device having one or more logic elements, each logic clement comprising: a first storing unit operable to store therein first configuration information; a second storing unit operable to store therein second configuration information; an internal circuit operable to perform a function that is based on the first configuration inforuation stored in the first storing unit or the second configuration information stored in the second configuration unit; a selecting unit operable to select whichever of the first storing unit and the second storing unit stores configuration information that should define the function of the internal circuit; and a rewriting unit operable to rewrite the configuration information stored in whichever of the first storing unit and the second storing unit is not selected by the selecting unit.</p>
<p>With the stated structure, each logic element can select the first configuration information as the configuration information that defines the function of the internal circuit, and the second configuration can be rewritten while the first configuration information is being selected, If the first and the second configuration storing units store the same configuration information, the configuration information given to the internal circuit before and after the selection becomes the same. The function of such a logic element will not be changed. Meanwhile, if the configuration information before and after the selection is deferent, it means that the function of the logic element is changed. As described above, with the stated structure, the function of only an intended logi c element can he changed without interfering with other logic elements in operation.</p>
<p>Here, the programmable logic device niay have a plurality of logic elements. All or some of the first storing units of the respective logic elements may be connected together by a cascade connection for distributing the first configuration information, All or some of the second storing units of the respective logic elements may be connected together by a cascade connection for distributing the second configuration information.</p>
<p>With the stated structure, the cost of wiring can be reduced compared with the connection condition in which the first storing unit and the second storing unit are individually connected to an external configuration apparatus, This effect can be gained if at least some of the logic elements are connected by the cascade connection. The maximum effect can be gained in the case that all the logic elements are connected by the cascade connection The programmable logic device according to the present invention is a programmable logic device having one or more logic elements, each logic element comprising: a main storing unit operable to store therein first configuration information; an internal circuit operable to perform a function that is based on the F i,,gt. configuration information stored in the main storing unit; a preparatory storing unit operable to store therein second configuration information that is to be transferred to and stored in the main storing unit; a main rewriting unit operable, if having received a rewrite permit instruction, to replace the first configuration information stored in the main storing unit wttli the second configuration information stored in the preparatory configuration information; and a preparatory rewriting unit operable, if having received a rewrite prohibit instruction, to rewrite the second configuration information stored in the preparatory storing unit.</p>
<p>With the stated structure, the conf I gurtion information stored in the main storing unit in each logic element is rewritten when the logic element receives the rewrite permit instruction, Here, if the main storing unit and the preparatory storing unit store the same configuration information, the function of the logic element will not be changed, and if the main storing unit and the preparatory storing unit st.ore different configuration information, the function of the logic element will be changed.</p>
<p>If the function of the internal circuit should be changed, different configuration information is to be stored in the preparatory storing unit and the main storing unit of the logic device, and the same configuration information is to be stored in the preparatory storing unit and the main storing unit in the logic element in operation. Accordingly, regarding the logic element including the internal circuit whose function should be changed, the configuration information stored in the logic element will be rewritten. .Meanwhile, the configuratj information stored in the logic element in operation will not be changed after the rewriting.</p>
<p>Accordingly, the function of only an intended logic element can be changed without. int.erfiing with other logic elements in operation.</p>
<p>Here, the programmable logic device may have a plurality of the logic elements, and the preparat.ory st.orinq units of the respective logic clemcnts may bc connected together by a cascade connection for distributing the configuration information.</p>
<p>With the stated structure, the cost of wiring can be reduced compared with the structure in which each preparatory storing unit is tndividulJ.y connected to an external configuration apparatus. This effect can be gained if at least some of the logic elements are connected by the cascade connection. The maximumeffectcanbegainedinthecasethatallthelogicelements are connected by the cascade connection.</p>
<p>The configuration apparatus according to the present invention is a configuration apparatus that configures a programmable logic dcvicc having a plurality of logic elements, each logic element having a same structure including a configuration storing unit, and the configuration apparatus comprising: a providing unit operable to provide each logic element with a piece of rewrite information which represents either a rewrite permit instruction for permitting rewriting of conf gu-ration information or a rewrite prohibit instruction for prohibiting the rewriting; and a configuration infornia Lion input unit operable to input, to the programmable logic device, a piece of configuration information in correspondence with a logic element included in the p1ur1ity of the logi. c elements to which the piece of the rewrite information that represents the rewrite permit instruction is provided by the providing unit.</p>
<p>With the stated structure, the configuration apparatus inputs the configuration information after instructing each logic element whether to rewrite the configuration information.</p>
<p>If the rewri.t.e prohibit instruction is given to each logic element in operation, thc function of only an intended logic device can be changed without interfering with other logic element in operation among the logic elements.</p>
<p>Here, the plurality of the logic elements may be connected together by a cascade connection for distributing the configuration information, and the configuration information input unit may arrange pieces of the configuration information in accordance with an order of the logic elements, and sequentially input the pieces of the configuration information to a logic element at a first stage of the cascade connection, which is included in the plurality of the logic elements.</p>
<p>With the stated structure, the cost of wiring can be reduced compared with the structure in which each configuration storing unit is individually connected to the configuration apparatus.</p>
<p>This effect can be gained if at least some of the configuration storing units are connected by the cascade connection, and the maximum effect can be gained in the case that all the configuration storing units are connected by the cascade connection.</p>
<p>Here, a logic element at a last stage of the cascade 2(1 connection, which is included in the plurality of the logic elements, may output the configuration information to outside the programmable logi c device, and the configuration apparatus may further comprise: a predetermined pattern input unit operable to input a predetermined bit pattern to the logic element at the first stage of the cascade connection before the configuration information input unit inputs the configuration information; and a stop unit operable to stop the configuration information input unit after the predetermined bit pattern is output from the logic element at the last stage of the cascade connection.</p>
<p>With the stated structure, to stop the input, the configuration apparatus needs to detect only the predetermined bit pattern. Such a specification can reduce the processing load compared with other specifications, such as the case where the number of the pieces of the configuration information is counted, and the input is stopped when the number reaches a predetermined value.</p>
<p>The configuration apparatus according to the present invention is a configuration apparat.us that configures a programmable logic device having a plurality of logic elements, each logic element having a same structure including a first storing unit and a second storing unit, and the configuration apparatus comprising: a first input unit operable to input pieces of first configuration information in one-to-one correspondence with the logic elements to the first storing units of the respective logic elements; a second input unit operable to input pieces of second configuration information in one-to-one correspondence with the logic elements irto the second storing units of the respective logic elements; and a providing unit operable to provide each logic element with a control signal that indicates which between the first configuration information and the second configuration information should be selected.</p>
<p>2I WILh the stdLecl SLrUCLLLrC, each logic elenient selects the first configuration information as the configuration information that defines the function of the internal circuit, and the configuration apparatus can rewrite thR second configuration information while the first information is being selected. After that, the configuration apparatus can rewrite the first configuration information while the second configurati6n information is being selected by the logic element.</p>
<p>1'ccording)y, thefunction of onlyan intendedlogicelement can be changed without interfering with other logic elements in operation.</p>
<p>Here, the plurality of the logic elements may be connected together by a cascade connection for distributing the first configuration information and the second configuration information. The first. input unit. may arrange pieces of the first configuration information in accordance with an order of the logic elements, and sequentially inputs the pieces of the first configuration information to a logic element at a first stage of the cascade connection, which is included in the plurality of the logic elements. The second input unit may arrange pieces of the second configuration information in accordance with an order of the logic elements, and sequentially inputs the pieces of the second configuration information to the logic element at the first stage of the cascade connection.</p>
<p>With the stated structure, the cost of wiring can be reduced compared with the structure in which the configuration apparatus is connected to each first storing unit and each second storing unit individually.</p>
<p>The confiquratiun apparatus according to the present invention is a configuration apparatus that configures a programmable logic device having a plurality of logic elements, each logic element having a same structure including a preparatory storing unit and a main storing unit, and the configuration apparatus comprising: an input unit operable to input pieces of first configuration information that are in one-to-one correspondence with the logic elements and are to be transferred to and stored in the main storing nnits of the respective logic elements; and a providing unit operable to provide each logic element with a control signal indicating that the first configuration information stored in the main storing unit should be replaced by second configuration information stored in the preparatory storing unit, With the stated structure, the configuration information stored in the main storing unit in each logic clomont is rewritten when the logic element receives an instruction to rewrite from the configuration apparatus. Here, if the main storing unit and the preparatory storing unit store the same configuration information, the function of the logicelementwill not be changed, and if the main storing unit and the preparatory storing unit store different configuration information, the function of the logic element will be changed.</p>
<p>Accordingly, thefunctionof on.Lyan intendedlogicelement can be changed without interfering with other logic elements in operation.</p>
<p>Tere, the plurality of the logic elements may be connected together by a cascade connection for distributing the configuration information, and Lhe input unit may arrange the pieces of the configuration information in accordance with an order of the logic elements, and sequentially input the pieces of the configuration information to a logic element at a first</p>
<p>H I</p>
<p>stage of the cascade connection, which is included in the plurality of the logic elements.</p>
<p>Withthestated structure, thecostof wiring can berecluceci compared with the structure in which the configuration apparatus is connected to each preparatory storing unit individually.</p>
<p>The configuration method according to the present invention is a configuration method for configuring a programmable logic device having a plurality of logic elements, each logic element having a same structure including a configuration storing unit, and the configuration method comprising a providing step of providing each logic element with a rewrite permit instruction for permitting rewriting of configuration information or a rewrite prohibit instruction for prohibiting the rewriting; and an input step of inputting, to the programmable logic device, a piece of the configuration information in correspondence with a logic element included in the plurality of the logic elements to which the rewrite permit instruction is provided by the providing step.</p>
<p>With the stated structure, the same effect as the above-described configuration apparatus can be gained.</p>
<p>The configuration method according to the present invention is a configuration method for configuring a programmable logic device having a plurality of logic elements, each logic element having a same structure including a first storing unit and a second stoxing unit, and the configuration method comprising: a first input step of inputting pieces of first configuration information in one-to-one correspondence with the logic elements into the first storing units of the respective logic elements; a providing step of providing each logic element with a control signal indicating that tile first configuration information stored in the first storing unit of each logic element should be selected; and a second input step of inputting pieces of second configuration information in Qne-to-onecorrespondencewiththelogicelementsintothesecond storing units of the respective logic elements while the first configuration information is being selected in accordance with the providing step.</p>
<p>With the stated structure, the same effect as the above-described configuration apparatus can be gained.</p>
<p>The configuration method according to the present invention is a configuration method for configuring a programmable logic device having a plurality of logic elements, each logic element having a same structure including a preparatory storing unit and a main storing unit, and the configuration method comprising: an input step of inputting pieces of first configuration information that are in one-to-one correspondence with the logic elements and are o be transferred to and stored in the main storing units of the respective logic elements; and a providing step of providing each logic element with a control signal indicating that the first configuration information stored in the main storing unit should be replaced bythe secondconfiguration information storedinthepreparatory storing unit.</p>
<p>With the stated structure, the same effect as the above-described configuration apparatus can be gained.</p>
<p>BRIEF DESCRIPTION OF THE DRAWINGS</p>
<p>These and the other objects, advantages and features of the invention will become apparent from the following description thereof taken [n conj unction with the accompanying drawings which 6 illustrate a specific embodiment of the invention.</p>
<p>In the drawings: FIG.1 shows a structure of a conventional programmable logic device; FIG.2 shows a structure of a programmable logic device according to the first embodiment; FIG. 3 shows structures of logic elements according to the first embodiment; flG.4 shows an exampleoperation of a logic element; FIG.5 shows a structure of a configuration apparatus according to the first embodiment; FIG.6 shows a situation where all logic elements store rewrite information; FIG.7 shows a situation in which a predetermined bit pattern is input bo a progranmiable logic device prior to configuration information; FIG.8 shows a status of a programmable logic device after one clock interval FIG.9 shows a status of a programmable logic device after two clock intervals; FIG. 10 shows a status of a programmable logic device after three clock intervals; -FIG. 11 shows a status of a programmable logic device after six clock intervals; FIG.12 shows a status of a programmable logic device after seven clock intervals; FIG,13 shows a status of a programmable logic device after eight clock intervals; FIG.14 shows a structure of a programmable]ogi.c device according to the second embodiment; IG.l5 shows a structure of a logic element according to the second embodiment; FIG.16 shows a structure of a configuration apparatus according to the second embodiment; FTG.17 shows a structure of a programmable logic device according to the third embodiment; FIG.18 shows a structure of a logic element according to the third embodiment; and FIG.19 shows a structure of a configuration apparatus according to the third embodiment.</p>
<p>DESCRIPTION OF THE PREFERRED EMBODIMENTS</p>
<p>The First Einbodimrit <Structure> fl:G.2 shows a structure of a programmable logic device according to the first embodiment A programmable logic device 101 includes sixteen logic elements (LEO -LE15). Each logic element includes a unit cell 2.5 17 dnd a unit cell 18. Each unit cell 17 includes a confi9uration storing unit 1!, and each unit cell 18 includes a rewrite information storing unit 14. The configuration storing unit 11 stores piece of configuration information that defines a function of the logic element. The rewrite information storing unit 14 stores a piece of rewrite information that indicates whether the piece of the configuration information stored in the configuration storing unit 11 should be rewritten or not.</p>
<p>Theconfiguration storingunits areconnectedtoeachother by a cascade connection and structure a shift register. The rewrite information storing units are also connected to each other by a cascade connection and structure a shift register.</p>
<p>The first embodiment is characterized by that when the piece of the rewrite information, which is given to each logic element, represents a rewrite permit instruction, the configuration information stored in the configuration unit 11 is to be rewritten, and when the piece of the rewrite information represents a rewrite prohibit instruction, the configuration information is not to be rewritten.</p>
<p>In this embodiment, the piece of rewrite information that represents the rewrite permit instruction is given to each logic element whose function should be changed, and the piece of rewrite information that represents the rewrite prohibit instruction is given to each logic element in operation, Accordingly, the user can change the function of each logic element whose function should be changed by rewriting the configuration information given to the logic element. Meanwhile, the function of each logic element in operation will not be change, because the piece of the confiquration information given to the logic element in operation will not be changed.</p>
<p>Here, it does not matter which of the rewrite prohibit instruction and the rewrite permit instruction is given to a logic element that is neither the logic clement whose function should be changed nor the logic element in operation. However, it is preferable that the rewrite prohibit instruction is given to such a logic element, because this saves time performing unnecessary rewriting of the configuration information and realizes a high-speed configuration.</p>
<p>The user can change the functions of only intended logic elements without interfering with other logic elements in operation.</p>
<p>Here, the piece of the rewrite information that is to be given to each logic element is sequentially input from a terminal t23, and distributed to the rewrite information storing unit 14 of each logic element.</p>
<p>In addition, control signals S2 and 3, and a clock signal CLK are given to the programmable logic device respectively via terminals t22, t24, and t26. The logic element at the last stage (LE1S) outputs the configuration information via a terminal t25.</p>
<p>FIG.3 shows the structure of the logic element according to the first embodiment.</p>
<p>In FIG.3, only three logic elements (LE1, LE2 and LE3) out of the sixteen logic elements are illustrated. Each logic element has the same strnotnre. Therefore, only the logic element LE2 is described next.</p>
<p>The logic element LE2 includes a configuration storing unit llb, a multiplexer 12b, an AN!) element l3b, a rewrite informationstoring unit l4b, anANDelement 15b, abypass circuit 16b, and an internal circuit.</p>
<p>The configuration storing unit llb and the rewrite I.) information storing unit 14b are respectively structured by D flip-flops. Here, assume that each piece of the configuration information is 2-bit information, and each piece of the rewrite information is 1-bit information.</p>
<p>An output terminal Q of the configuration storing unit llb is connected to the internal circuit and the multiplexer 12b.</p>
<p>The internal circuit realizes a function based on a piece of the configuration information given to the internal circuit from the output terminal 0, For instance, if the piece of the configuration information represents a value "01", the internal circuit operates as an adder, and if the piece of the configuration information represents a value "10", it operates as a multiplier.</p>
<p>The multiplexer 12b incluUes a first input terminal, a second input terminal, an output terminal, and a control terminal.</p>
<p>The first input terminal is connected to the output terminal o of the configuration storing unit lib, and the second input terminal is connected to the bypass circuit l6b. The output terminal is connected to the input terminal Dot the configuration storing unit llc included in the logic element LE3, which is next to the logic element LE2. The rewrite information S4b is input from the contro] terminal. The rewiring information 94h is a signal indicating whether the configuration information should be rewritten, If the rewrite information S4b represents a value "1", which means that the configuration information should be rewritten, the output terminal outputs the configuration information input from the first input terminal. If the rewrite information 54b represents a value "0", which means that the configuration information should not be rewritten, the output terminal outputs the configuration information input from the second input terminal.</p>
<p>The AND element 13b performs a logical multiplication on the control signal $2, the clock signal CLK and the rewrite information 4b, and outputs the result of the logical multiplication to the clock terminal of the configuration storing unit lib.</p>
<p>The output terminal Q of the rewrite information storing unit 14h is connected to the control terminal of the multiplexer 12b and the input terminal of the AND element 13b, and also connected to the input terminal D of the rewrite information storing unit 14c included in the logic element LE3, which is next to the logic element LE2.</p>
<p>The AND element 15b performs a logical multiplication on the control signal S3 and the clock signal CLK, and outputs the result of the logical multiplication to the clock terminal of the rewriLe information storing unit i.4b, FIG.4 shows an example operation of the logic element, Assume that the rewrite information storing units 14a 14b and 14c pretore pieces of rewrite information representing values "0", "0" and "1" respectively. The control signal $2 represents a value "1".</p>
<p>Firstly, the operation performed by th loqiC element LE1 is described next. Since the rewrite information S4a represents a value "0", the AND element 13a always outputs a value "0", and rever outputs the clock signal CLK, even if the control signai 92 represents a value "1". In other words, the AND element 13a prohibits the configuration storing unit ha to rewrite the contents thereof. Therefore, the piece of the configuration information stored in the configuration storing unit ha is never to be rewritten.</p>
<p>The multiplexer 12a selects the second input terminal, because the rewrite information S4a represents a value "0".</p>
<p>Pccording1y, the configuration information input to the logic element LE1 passes through the bypass circuit 16a, and is output to the logic element LE2, which is next to the logic element LE1.</p>
<p>Secondly, regarding the operation performed by the logic element LE2, the logic element LE2 performs in the same manner as the logic element LE1, because the rewrite information 54b represents a value "0".</p>
<p>Finally, the operation performed by the logic element LE3 is described next. Since the rewrite information S4c represents a value "1" and the control signal 52 represents a value "1", the AND element 13c outputs the clock signal CLI<. In other words, the AND element 13c causes the configuration storing unit lie to rewrite the configuration information.</p>
<p>The multiplexer 12c selects the first input termi.n)., because the rewrite information 94c represents a value "1".</p>
<p>Accordingly, the configuration information input to the logic 2G elemeuL LE3.Ls firstly stored in the configuration storing unit hic, and output to the logic element LE4, which is next to the logic element LE3.</p>
<p>The rewrite information storing units 14a, 14b and 14c prestore pieces of rewrite information representing values "0", "0" and "1" respectively. How to set these values is described next.</p>
<p>For setting the rewrite information, a value "1" is set to the control signal 33, and a value "0" is set to the control signal S2.</p>
<p>If the control signal 33 represents a value "1", each of the AND elements iSa, 15b and lSc outputs the clock signal CLK.</p>
<p>Therefore, each of the rewrite information storing units 14a, 14b and l4c works as a shift register. The pieces of the rewrite information to be stored by the respective logic elements are sequentially input according to the order of the logic elements LE15 to LEO. As a result, each piece of the rewrite information is sequentially transferred to the next logic element at each clock interval, and distributed to all the logic elements after sixteen clock intervals. At this point of time, a value "0" is set tc the control signal S3. Then, the shifting operation stops. This is the way in which the rewrite information is set.</p>
<p>FIG.5 shows the structure of a configuration apparatus.</p>
<p>A configuration apparatus 102 is used for configuring the programmable logic device 101. The configuration apparatus 102 includes a rewrite information storage control unit ill, a configuration storage control unit 112 / a predetermined pattern input unit 113, a stop unit 114, and a clock unit 117.</p>
<p>The rewrite information storage control unit 113. causes the rewrite information storing unit 14 of each logic element included in the programmable logic device 101 to store the corresponding piece of the rewrite information. More specifically, after changing the value of the control signal 53 from "0" to"1", the rewrite information storage oonLrol unit 111 sequentially inputs, at every clock interval, pieces of the rewrite information respectively corresponding to the logic elements from T 5 to LEO to the programmable logic device 101.</p>
<p>Then, after sixteen clock intervals, the rewrite information storage control unit 111 changes the value of the control signal S 3 1 rom "1" to 0".</p>
<p>The configuration storage control unit 112 causes the logic element that stores the rewrite information representing a value "1" to store the configuration information. I4ore specifically, after the rewrite information storage control unit 112. finishes the input of the rewrite information, the configuration storage control unit 13.2 ch.anges the value of the control signal from "0" to "1", and sequentially outputs, at every clock interval, pieces of the configuration information to the programmable logic evice. 101. The pieces of the configuration information respecti-vely correspond to the logic elements that store the rewrite information representing a value "1". After that, the configuration storage control unit 112 stops the input of the configuration information in accordance with a stop signal output from the stop unit 114.</p>
<p>The predetermined pattern input unit 113 inputs a predetermined 2-bit pattern prior to the configuration storage control unit 112 inputting the configuration information.</p>
<p>The stop unit 114 monitors the configuration information output by the logic element LE15, and outputs the stop signal to the configuration storage control unit 112 when the stop unit monitors the predetermined bit pattern. For realizing such a function, the stop unit 114 includes a predetermined pattern holding unit 115 that holds the predetermined bit pattern, and a comparing unit 116 that compares the predetermined bit pattern and the output by the logical element LE15 and outputs the stop signal if they arc idontical.</p>
<p>The clock unit 117 provides the programmable logic device 101 and each functional unit of the configuration apparatus 102 with the clock signal CLK.</p>
<p><Example Operations></p>
<p>The following describes example operations of the programmable logic device 101 according to the first enthodiment hi Lhe case where the function of a intended logic element is changed while some of the other logic elements are in operation.</p>
<p>Ftc. 6 shows the case where every logic element stores the rewrite information.</p>
<p>In FIG. 6, assume that the logic elements LE14, LE13, LE12, LE11 and LE1O re in operation, and the functions of the logic elements L9, LEB, LE6, L:E5, LE4, LE3 and LE2 are desired to be changed.</p>
<p>Note that the pieces of the configuration information are represented by the signs "A", "B" and "N", which respectively mean a function 1, a function 2, and an NOP (No Operation), The predetermined bit pattern is represented by "X" Firstly, the configuration apparatus 102 sequentially outputs the pieces of the rewrite information, which are to be respectively stored in the logic elements LE1S to LE 0, in accordance with the order of the logic elements. Here, a value 2'? "1" is set to each piece of the rewrite inforrnat ion for the logic elements whose functions should be changed, and a value "0" is set to each piece of the rewrite information for the other logic elements. The programmable logic device 101 sequentially ≈transfers and distributes the pieces of the rewrite information to the logic elements.</p>
<p>Accordingly, as FIC.6 shows, a picoc of the rewrite inforniation representing. value "1" is stored in each logic element whose function should be changed, and a piece of the rewrite information representing "0" is stored in each of the other logic elements.</p>
<p>FIC.7 shows a situation in which the predetermined bit pattern is input prior to the configuration information.</p>
<p>FIG.7 shows that the precleLermined bit pattern "X" has l passed through the logic elements LE0 and LE1, and has reached the input terminal D of the configuration storing unit 11 included in the logic element LE2.</p>
<p>FIC.8 shows the status of the programmable logic device 101 after one clock interval.</p>
<p>After one clock interval, the configuration storing unit 11 included in the logic element LE2 replaces the contents stored therein with the predetermined bit pattern "X" input from the input terminal D. At the same time, the configuration information "A", which should be stored in tho logic clement LE9, is input to the programmable logic device 101. At this point of time, the configuration information "A" has passed through the logic elements LEO and LE1, and has reached the input terminal D of the configuration storing unit 11 included in the logic element LE2.</p>
<p>FIG.9 shows the status of the programmable logic device 101 after two clock intervals.</p>
<p>After two clock intervals, the logLc element LE3 stores the predetermined bit pattern "X", and at the same time, the logic element LE2 stores the configuration information "A!'.</p>
<p>FIG.10 shows the status of the programmable logic devioc 101 after three clock intervals.</p>
<p>After three clock intervals, the logic element LE4 stores the predetermined bit pattern "X", the logic element LE3 stores the configuration information "A", and the logic element LE2 stores the configuration "A".</p>
<p>After that, the pieces of the configuration information are input sequentially.</p>
<p>FIC,l1 shows the status of the programmable logic device 101 after six clock intervals.</p>
<p>After six clock intervals, the predetermined bit pattern "X" is stored in the logic element LEB.</p>
<p>FIG,12 shows the status of the programmable logic device 101 after seven clock intervals After seven clock intervals, the predetermined bit pattern "X" is stored in the logic element LE9. After the logic element LE9 stores the predetermined bit pattern "X", the configuration information bypasses the other logic elements. Accordingly, the logic 1eieat LE15 outputs the predetermined bit pattern "X" at this point of time.</p>
<p>After the predetermined bit pattern "X" is output, the comparing unit 116 outputs the stop signal.</p>
<p>FIG,13 shows the status of the programmable logic device 101 after eight clock intervals.</p>
<p>After eight clock intervals, the configuration information is distributed to every logic element whose function is desired to be changed. The configuration storage control unit 112 stops the input of the configuration information based on the stop signal output by the comparing unit 116 after eight clock intervals.</p>
<p>After that, the configuration apparatus makes all the logic elements store the rewrite information representing a value "0".</p>
<p>The Second Embodiment <Structures> FIG.l4 shows the structure of a progranunable logic device coording to the second embodiment.</p>
<p>A programmable logic device 201 includes sixteen logic elements (LE). Each logic element includes a unit cell 26 and a tin it ce] 1 27. Each unit cell 26 includes a first storing unit 21, and each un-it cell 27 includes a second storing unit 23.</p>
<p>Each of the first storing unit 21 and the second storing unit 23 stores a piece of configuration information that defines a function of the logic element.</p>
<p>The first storing units respectively included in the logic elements are connected to each other by a cascade connection and structure a shift register. Being independent of this shift register, the second storing units respectively included in the logic elements are also connected to each other by a cascade connection and structure another shift register.</p>
<p>The second enthodiment is characterized by that the function</p>
<p>I</p>
<p>of the logic element is defined in advance by a piece of the configuration information stored in one of the first storing unit 21 and the second storing unit 23, and while a piece of the configuration information in one of the storing units 21 and 23 is in use, a piece of the configuration information stored in the other storing unit may be rewritten.</p>
<p>In this embodiment, each of the first storing unit 23. and the second storing unit 23 of the logic element whose function should be changed stores a different piece of the configuration information, and each of the first storing unit 21 and the second storing unit 23 of the logi c element in operation stores the same piece of the configuration information, Accordingly, the function of the logic element can be changed when the source of the configuration information is switched to the other one of the first storing unit 21 and the second storing unit 23.</p>
<p>Therefore, the user can change the functions of only intended logic elements without interfering with other logic elements in operation.</p>
<p>A control signals S4, S5 and S6, and the clock signal CLK are input into the programmable logic device 201 via terminals t42, t44, t45 and t46 respectively.</p>
<p>FIG.15 shows the structure of the logic element according to the second embodiment.</p>
<p>In FIG.l5, only three logic elements (LE1, LE2 and LE3) out of Lhe. sixteen logic elements are illustrated. Each logic element has the same structure. Therefore, only the logic element LE2 is described next, The logic element TF.2 incindes a first storing unit 21b, an AND element 22b, a second storing unit 23b, an AND element 24b, a multiplexer 25b, and an internal circuit.</p>
<p>The first storing unit 21b and the second storing unit 23b are respectively structured by D flip-flops, Here, assume that each piece of the configuration information is 2-bit irformation.</p>
<p>The output terminal Q of the first storing unit 21b is connected to the input terminal D of the first storing unit 21c, which is next to the storing unit 21b, and also connected to the first input terminal of the multiplexer 25b.</p>
<p>The AND element 22b performs a logical multiplication on the control signal S4 and the clock signal CLK, and outputs the result of the logical multiplication to the clock terminal of the first storing unit 21b.</p>
<p>The output terminal Q of the second storing unit 23b is connected to the input terminal D of the second storing unit 23c, which is next to the second storing unit 23b, and also connected to the second input terminal of the multiplexer 25b.</p>
<p>The AND element 24b performs a logical multiplication on the control signal S5 and the clock signal CLK, and outputs the result of the logical multiplication to the clock terminal of the second storing unit 23b.</p>
<p>The multiplexer 25b includes a first input terminal, a second input terminal, an output terminal, and a control terminal.</p>
<p>26 The first input teratirial is connected to the output terminal Q of the first storing unit 21b, and the second input terminal is connected to the output terminal 0 of the second storing unit 23b. The output terminal is connected to the internal circirit.</p>
<p>L ---</p>
<p>A control signal 56 is input to the control terminal. The control signal 56 indicates which configuration information should be output by the multiplexer 25b between the configuration information input to the first input terminal and the 6 configuration information input to the second input terminal.</p>
<p>The internal circuit realizes a function based on a piece of the configuration information given to the internal circuit from the multiplexer 25b.</p>
<p>The following is an example operation of the logic element.</p>
<p>Here, assume that a value "0" is initially set tothe control signal 55. Accordingly, the functions of the interna) circuits of the logic elements LE1, LE2 and LEB are respectively defined by the pieces of the configuration information stored in the first storing units 2la, 21b and 2lc.</p>
<p>The contents of the second storing units 23a, 23b and 23c are rewritten while the first storing units 21a, 2lb and 21c are in operation.</p>
<p>If the control signal 55 represents a value "1", each of the AND elements 24a, 24b and 24c outputs the clock signal CLK.</p>
<p>Here, each of the second storing unit 23a, 23b and 23c works as a shift register.</p>
<p>The pieces of the configuration information to be stored by respective logic elements are sequentially input according to thc order of the logic elements LE1S to LEO, As a result, each piece of the configuration information is sequentially transferred to the next logic element at each clock interval, and distributed to every logic element after sixteen clock intervals. At this point of time, a value "0" is set to the control signalS5. Thon, the shifting operation stops. Inthis way, the pieces of the configuration information are rewritten.</p>
<p>After the rewriting of the contents of the second storing units 23a, 23b and 23c is finished, a value "1" is set to the control signal S6. Accordingly, the functions of the logic elements LE1, L52 and LE3 are respectively defined by the pieces of the configuration information stored in the second storing unit 23a, 23b and 23c.</p>
<p>Here, if the piece of the configuration information stored in the second storing unit 23 is identical with the piece of the configuration information stored in the first storing unit 21, the function of the logic element is not changed as defined by the piece of the configuration information stored in the second storing unit 23. If the piece of the configuration information stored in the second storing unit 23 is different from the piece of the configuration information stored in the first storing unit 21, the function of the logic element is changed as defined by the piece of the configuration information stored-in the second storing unit 23.</p>
<p>FIG. 16 shows the structure of the configuration apparatus according to the second embodiment.</p>
<p>A configuration apparatus 202 includes a configuration storage control unit 211, a definition control unit 212, and a clock unit 213.</p>
<p>The configuration storage control unit 211 causes the first storing unit 21 and the second storing unit 23 of each logic element included in the programmable logic device 201 to store the corresponding piece of the configuration information.</p>
<p>More specifically, for rewriting the contents of the first storing unit 21, the configuration storage control unit 211 changes the control signal S4 from "0" to "1", and sequentially outputs, at every clock interval, pieces of the configuration information to the programmable logic device 201. The pieces of the configuration information respectively correspond to the logic elements LE15 to LEO. Then, after sixteen clock intervals, the configuration storage control unit 211 changeS the control signal S4 from "1" to "0", For rewriting the contents of the second storing unit 23, the configuration storage control unit 211 changes the control signal 95 from 0" to "1", and sequentially outputs, at every clock interval, pieces of the configuration information to the programmable logic dev.Lce 201. The pieces of the configuration information respectively correspond to the logic elements LE15 to LEO. Then, after sixteen clock intervals, the configuration storage control unit 211 changes the control signal 95 from "1" to 0".</p>
<p>The definition control unit 212 sets "0" to the control signal 96 in the case where the function of each logic element should be defined by the contents of the first storage unit 21, and sets "1, tothe control signal 96 in the case where the function of each iogi.c element should be defined by the contents of the second storage unit 23, The clock unit 213 provides the programmable logic device 201 with the clock signal CLK, and also provides each functional unit included in the configuration apparatus 202 with the clock signal CLJK.</p>
<p>The Third Embodiment <Structure> FTG.17 shows the structure of a programmable logic device according to the third embodiment.</p>
<p>The programmable logic device 301 includes sixteen logic elements (LE). Each logic element includes a unit cell 35 and a unit cell 36. Each unit cell 35 includes a preparatory storing unit 32, and each unit cell 36 includes a main storing unit 33.</p>
<p>Each of the preparatory storing unit 31 and the main storing unit 33 stores a piece of configuration information that defines a function of the logic element.</p> <p>The preparatory storing units rospectively included in the logic
elements are connected to each other by a cascade connection an structure a shift register.</p>
<p>Each main storing unit 33 stores a piece of the configuration information stored in the preparatory storing unit 31 in accordance with a rewrite instruction.</p>
<p>The third embodiment is characterized by that the main storing unit 33 intervenes between the preparatory storing unit 31 that t. ransmitS the configuration information, and the internal circuit of each logic element. Therefore, even if the piece of the configuration information stored in the preparatory storing unit 31 is rewritten, the function of the logic element will not be changed until the rewrite information represents the rewrite permit instruction.</p>
<p>In this embodiment, each of the preparatory storing unit 3landthemainStOriflg unit 33 of the logicelementwhose function should be changed stores a different piece of the configuration</p>
<p>SC</p>
<p>information, and each of the prepziritory storing unit 31 and the main storing unit 33 of the logic element in opera Lion stoies the same piece of the configuration information, Accordingly, the user can change the function of each logic element by rewriting the piece of the configuration information. Meanwhile, the function of each logic element in operation will not be changed even if the configuration information is changed.</p>
<p>Therefore, the user can change the functions of only intended logic elements without interfering with other logic elements in operation.</p>
<p>A control signals S7 and SB, and the clock signal CLK are input into the programmable logic device 301 via terminals t62, t63 and t64 respectively.</p>
<p>FIG.18 shows the structure of a logic element according to the third embodiment, In FIG.18, only three logic elements (LE1, LE2 and LE3) out of sixteen logic elements are illustrated. Each logic eloment ha.s the same structure. Therefore, only the logic element LE2 is described next.</p>
<p>The logic element LE2 includes a preparatory storing unit 31b, an AND element 32b, a main storing unit 33b, an AND element 34b, and an internal The preparatory storing unit 311D and the main storing unit 33b are respectively structured by D flip-flops. Here, assume 2.5 Lhat each piece of the configuration information is 2-bit information.</p>
<p>The output terminal Q of the preparatory storing unit 31b is conne.cte.d to the input terminal D of the preparatory storing unit 3lc which is next to the preparatory storing unit Sib, and also connected to the input terminal D of the main storing unit 33b.</p>
<p>Tile AND element 32b performs a logical multiplication on the control signal S7 and the clock signal CLK, and outputs the result of the logical multiplication to the clock terminal of the preparatory storing unit Sib.</p>
<p>The output terminal Q of the main storing unit 33b is connected to the internal circuit.</p>
<p>The internal circuit realizes a function based on the piece of the configuration information given to the internal circuit from the main storing unit 33b.</p>
<p>The AND element 34b performs a logical multiplication on the control signal SB and the clock signal CLK, and outputs the result of the logical multiplication to the clock terminal of the main storing unit 33b.</p>
<p>The following is an example operation of the logic element.</p>
<p>The functions of the logic elements LE1, LE2 and LE3 are defined by pieces of configuration information respectively stored in the main storing units 33a, 33b and 33c. In the case that the configuration information should not be rewritten, a value "0" is set to the control signal 58.</p>
<p>The contents of the preparatory storing units 31a, Sib 31c are rewritten while the main storing units 33a, 3Th and 33o are in operation.</p>
<p>If the control signal S7 represents a value "1", each of the AND elements 32a, 32b and 32c outputs the clock signal CLJK.</p>
<p>Here, each of the preparatory storing unit 31a, 31b and 31c works as a shift register.</p>
<p>The pieces of configuration information to be stored in respective preparatory storing units are sequentially input according to the order of the logic element LE15 to LEO, As a result, each piece of t.he configuration information is sequentially transferred to the next preparatory storing unit at each clock interval, and distributed to every preparatory storing unit after sixteen clock intervals. At this point of time, a value "0" is set to the control signal S7. Then, the shifting operation stops. The pieces of the configuration information are rewritten in this way.</p>
<p>After the rewriting of the contents of the preparatory storing units 31a, 31b and 31c is finished, a value "1" is set as the control signal S8. Accordingly, the pieces of information stored in the main storing units 33a, 33b and 33c are respectively replaced by the pieces of the configuration information stored in the preparatory storing units 31a, 31b and 31c. As a result, the functions of thc logic elements LE1, LE2 and LE3 are changed.</p>
<p>After that, a value "0" is set to the control signal S8.</p>
<p>Here, if the piece of the configuration information stored in the preparatory storing unit 33. is the same as the piece of the configuration information stored in the main storing unit 33, the function of the logic element is not changed by the main storing unit 33 storing the piece of the configuration information stored in the preparatory storing unit 31. if the piece of the configuration information stored in the preparatory storing unit 31. is different from the piece of the configuration information st.ored in the main storing unit 33, the function of the logic element is changed as the main storing unit 33 stores the piece of the coririguration information stored in the preparatory storing unit 31.</p>
<p>FIG.19 shows the structure of a configuration apparatus 6 accorcing to the third embodiment.</p>
<p> configuration apparatus 302 includes a preparatory storage control unit 311, a main storage control unit 312 and a clock unit 313.</p>
<p>The preparatory storage control unit 311 causes the preparatory storing unit 31 of each logic element included in the programmable logic device 301 to store the corresponding piece of the configuration information.</p>
<p>More specifically the preparatory storage control unit 311 changes the control signal s7 from "0" to "1", and also sequentially outputs, at every clock interval, pieces of the configuration information to the programmable logic device 301.</p>
<p>The pieces of the configuration information respectively correspondto the 1ogice1emefltsLE15toLO. Then, after sixteen clockirjtervalS thepreparatorystorage controlunit 311 changes the control signal S7 from 1" to "0".</p>
<p>In the case where the piece of the configuration information stored in the preparatory storing unit 31 should be rewritten, the main storage control unit 312 sets a value "1" tothe control signal S8. IntheothercaseS, themain storage control unit 312 sets a value "0" to the control signal S8.</p>
<p>The clock unit 313 provides the programmable logic device 301 with the clock signal CLK, and also provides each functional unit included in the configuration apparatus 302 with the clock signal CLK.</p>
<p>The programmable logic device according to the present invention, heconfiguratiOOapParatUS and the configuration method used for the programmable logic device are described above based on the embodiments. However, the present iflvcfltiofl is not limited to the embodiments. The following are examples of possible modifications.</p>
<p>(1) In each embodiment, the programmable logic element includes sixteen logic elements. However, the number of the logic elements is not limited to sixteen.</p>
<p>(2) In each embodiment, the configuration information is assumed as two-bit inrormation -However, the present invention is not limited to this. ?ny number is possible as long as the bits can specify the function realized by the logic element.</p>
<p>(3) In the first embodiment, the configuration information is input after the changing of the rewrite information has finished. However, the present invention is not limited to this.</p>
<p>The configuration information may be input at any time as long as the changing of the rewrite information has been finished before the first piece of the configuration information ("X" in the embodiment) reaches at the configuration storing unit whose configuration information should be rewritten.</p>
<p>(4) In the first embodiment, the configuration information of the logic element that is not to he used after the configuration is prohibited to be rewritten. However, the present invention is not limited to this. The configuration information for such a logic element may be rewritten. Further, the NOP may be 4).</p>
<p>allocated to such a logic element.</p>
<p>(5) In the first embodiment, the rewrite information storing units correspond to the configuration information storing units on a one-to-one basis. However, the present invention is not limited to this. For instance, a single rewrite information storing unit may give pieces of rewrite information to a plurality of configuration information storing units.</p>
<p>(6) In the first embodiment, the stop unit is installed in the configuration apparatus. However, the present invention is not limited to this. The stop unit may be installed in the programmable logic device.</p>
<p>(7) In tho first embodiment, regarding the deliver and the receipt of the configuration information, the logic elements are connected to each other by a cascade connection. However, the present invention is not limited to this. For instance, the logic elements maybe connected in a tree structure, a network structure, and so on.</p>
<p>Although the present invention has been fully described by way of examples with reference to the accompanying drawings, it is to be noted that various changes and modifications will be apparent to those skilled in the art, Therefore, unless such changes and modifications depart from the scope of the present invention, they should be construed as being included therein.</p>

Claims (1)

  1. <p>CLAIMS: 1. A programmable logic device having one or more logic
    elements, each logic element comprising: a first storing unit operable to store therein first configuration information; a second storing unit operable to store therein second configuration information; an internal circuit operable to perform a function that is based on the first configuration information stored in the first storing unit or the second configuration information stored in the second configuration unit; a selecting unit operable to select whichever of the first storing unit and the second storing unit stores configuration information that should define the function of the internal circuit; and a rewriting unit operable to rewrite the configuration information stored in whichever of the first storing unit and the second storing unit is not selected by the selecting unit.</p>
    <p>2. The programmable logic device of claim 1, wherein the programmable logic device has a plurality of logic elements, all or some of the first storing units of the respective logic elements are connected together by a cascade connection for distributing the first configuration information, and all or some of the second storing units of the respective logic elements are connected together by a cascade connection for distributing the second configuration information.</p>
    <p>3. A configuration apparatus that configures a programmable logic device having a plurality of logic elements, each logic element having a same structure including a first storing unit and a second storing unit, and the configuration apparatus comprising: a first input unit operable to input pieces of first configuration information in one-to-one correspondence with the logic elements to the first storing units of the respective logic elements; a second input unit operable to input pieces of second configuration information in one-to-one correspondence with the logic elements into the second storing units of the respective logic elements; and a providing unit operable to provide each logic element with a control signal that indicates which between the first configuration information and the second configuration information should be selected.</p>
    <p>4. The configuration apparatus of claim 3, wherein the plurality of the logic elements are connected together by a cascade connection for distributing the first configuration information and the second configuration information, the first input unit arranges pieces of the first configuration information in accordance with an order of the logic elements, and sequentially inputs the pieces of the first configuration information to a logic element at a first stage of the cascade connection, which is included in the plurality of the logic elements, and the second input unit arranges pieces of the second configuration information in accordance with an order of the logic elements, and sequentially inputs the pieces of the second configuration information to the logic element at the first stage of the cascade connection.</p>
    <p>5. A configuration method for configuring a programmable logic device having a plurality of logic elements, each logic element having a same structure including a first storing unit and a second storing unit, and the configuration method comprising: a first input step of inputting pieces of first configuration information in one-to-one correspondence with the logic elements into the first storing units of the respective logic elements; providing step of providing each logic element with a control signal indicating that the first configuration information stored in the first storing unit of each logic element should be selected; and a second input step of inputting pieces of second configuration information in one-to-one correspondence with the logic elements into the second storing units of the respective logic elements while the first configuration information is being selected in accordance with the providing step.</p>
GB0711548A 2004-07-09 2005-07-08 Programable logic device, configuration apparatus,and configuration method Expired - Fee Related GB2436482B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0711548A GB2436482B (en) 2004-07-09 2005-07-08 Programable logic device, configuration apparatus,and configuration method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004203955A JP4414297B2 (en) 2004-07-09 2004-07-09 Programmable logic device, configuration apparatus, and configuration method
GB0514016A GB2416059B (en) 2004-07-09 2005-07-08 Programable logic device, configuration apparatus, and configuration method
GB0711548A GB2436482B (en) 2004-07-09 2005-07-08 Programable logic device, configuration apparatus,and configuration method

Publications (3)

Publication Number Publication Date
GB0711548D0 GB0711548D0 (en) 2007-07-25
GB2436482A true GB2436482A (en) 2007-09-26
GB2436482B GB2436482B (en) 2008-02-13

Family

ID=38969803

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0711548A Expired - Fee Related GB2436482B (en) 2004-07-09 2005-07-08 Programable logic device, configuration apparatus,and configuration method

Country Status (1)

Country Link
GB (1) GB2436482B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411124B2 (en) * 2000-04-28 2002-06-25 Altera Corporation Programmable logic device logic modules with shift register capabilities

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411124B2 (en) * 2000-04-28 2002-06-25 Altera Corporation Programmable logic device logic modules with shift register capabilities

Also Published As

Publication number Publication date
GB0711548D0 (en) 2007-07-25
GB2436482B (en) 2008-02-13

Similar Documents

Publication Publication Date Title
US7348798B2 (en) Programmable logic device, configuration apparatus, and configuration method
EP0569136B1 (en) Methods and apparatus for programming cellular programmable logic integrated circuits
US7843215B2 (en) Reconfigurable array to compute digital algorithms
EP2722989B1 (en) Methods and apparatus for building bus interconnection networks using programmable interconnection resources
US5773993A (en) Configurable electronic device which is compatible with a configuration bitstream of a prior generation configurable electronic device
US5394031A (en) Apparatus and method to improve programming speed of field programmable gate arrays
EP0047440B1 (en) Shift circuit
US7533249B2 (en) Reconfigurable integrated circuit, circuit reconfiguration method and circuit reconfiguration apparatus
US20020143505A1 (en) Implementing a finite state machine using concurrent finite state machines with delayed communications and no shared control signals
US8581624B2 (en) Integrated circuits with multi-stage logic regions
US6766505B1 (en) Parallel programming of programmable logic using register chains
US7483420B1 (en) DSP circuitry for supporting multi-channel applications by selectively shifting data through registers
US5909453A (en) Lookahead structure for fast scan testing
US5555214A (en) Apparatus for serial reading and writing of random access memory arrays
US20080048718A1 (en) Programmable gate array apparatus and method for switching circuits
GB2436482A (en) A programable logic device and associated configuration apparatus
US20080195839A1 (en) Reconfigurable, Modular and Hierarchical Parallel Processor System
US5465222A (en) Barrel shifter or multiply/divide IC structure
EP1330033A2 (en) Utilization of unused IO block for core logic functions
US8694711B2 (en) Crosspoint switch for use in video and other applications
GB2436481A (en) A programable logic device and associated configuration device
US5987488A (en) Matrix processor
JPS6330934A (en) Element device and branch method for integrated circuit programmable sequence
US7733124B1 (en) Method and apparatus for PLD having shared storage elements
US5917337A (en) Programmable I/O cell with data conversion capability

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20120708