GB2436481A - A programable logic device and associated configuration device - Google Patents

A programable logic device and associated configuration device Download PDF

Info

Publication number
GB2436481A
GB2436481A GB0711543A GB0711543A GB2436481A GB 2436481 A GB2436481 A GB 2436481A GB 0711543 A GB0711543 A GB 0711543A GB 0711543 A GB0711543 A GB 0711543A GB 2436481 A GB2436481 A GB 2436481A
Authority
GB
United Kingdom
Prior art keywords
configuration information
storing unit
logic
configuration
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
GB0711543A
Other versions
GB2436481B (en
GB0711543D0 (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 GB0711543A priority Critical patent/GB2436481B/en
Publication of GB0711543D0 publication Critical patent/GB0711543D0/en
Publication of GB2436481A publication Critical patent/GB2436481A/en
Application granted granted Critical
Publication of GB2436481B publication Critical patent/GB2436481B/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

A programmable logic device that is capable of changing the function of only an intended logic element without interfering with other logic elements in operation. The logic elements include a main storing unit operable to store therein first configuration information, a preparatory storing unit operable to store therein second configurations information that is to be transferred to and stored in the main storing unit in dependence on a rewrite permit construction. Each logic element, which the configuration information should not be rewritten, does not rewrite the configuration information. Accordingly, the function of the intended logic element can be changed by rewriting the configuration information in the intended logic element. The function of other logic elements can remain unchanged by not rewriting the configuration information in the logic element. An associated configuration apparatus is also provided.

Description

<p>TITLE OF TE INVENTION</p>
<p>PROGRAMABLE LOGIC DEVICE, CONFIGURATION APPARATUS, AND</p>
<p>CONFIGURATION METHOD</p>
<p>BACKGROUND OF THE INVENTION</p>
<p>Li) Field of the Invention</p>
<p>The present invention relates to a programmable logic device, tnd configuration apparatus and a configuration method for the programmable logic device. In particular, the present IC) invention relates to a technique to change oniy the function of the intended logic element without interfering with other logic elements in operation among logic elements of the programmable logic device.</p>
<p>(2) Description of the Related Art</p>
<p>In recent years, programmab.e 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 tunctjon of the programmable logic device, by taking a conventional programmable logic device for instance.</p>
<p>26 FXG.l 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 configuratjon information, which defines the functi on of the logic element, ma storing unit 41 of each logic element.</p>
<p>Each logic element realizes the function according to the stored piece of Lhe configuration information. The user can change the function of each element by rewriting the configu.ration 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>eanwhi1e, 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 of 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 he performed in parallel, to one programmable logic device.</p>
<p>It is also possible to improve 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>However, in the conventional programmable logic device, all the logic elements have to rewrite and shift the configuration 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 OF THE INVENTION</p>
<p>The object of the present invention is therefore to provide programmable logic device in which function of only an intended logic element can be changed without interfering with other logic elements in operation, and a configuration apparatus and a configuration method for the programltLahle logic device.</p>
<p>The programmable logic device according to the present invention is a programmable logic device having one or more logic elements, eachiogicelement 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 instruction, to prohibit replacing of configuration information that has been previously stored in the conf iguration storing unit with conf iguration information that is newly input to the logic e].Ament; And an output unit operable, if having received a rewrite prohibit instruction, to output the newly input configuration information without chanqe, and operable, 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 st.oring 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 be rewritten to change the function of the internal circuit is permitted, and the rewriting of the configuration information stored in the logic element in operation is not permitted, the I unotion 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 inform2tlon stored in the configuration storing unit thereof. In any case, either of the configuration information is output. Therefore, the configuration information is transferred among the plurality of the logic elements. This is applicable regardless of the connection conditi.on among the logic elements (e.g. a cascade connectjon, a connection with a tree structure, a connection with a network structure, and so On).</p>
<p>Here, the output unit may include a multiplexer having a first input terminal, a second input terminal, a control terminal and ab output termina]., 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 t.erminal may output the configuration information input to the first input terminal 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 each logic element. The multiplexer outputs the cor.Lfiguration information via the bypass circuit if the rewrite information represents therewrite 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 st.ructure, 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>his effect can be gained if at least some of the logic elements are connected by the cascade connection, The maximum effect canbegainedinthecaset.hatall thelogiceleme.ntsareeonnect 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 stage of the cascade connection, which is included in the plurality of the logic elements, may output the configuration information 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. s described later, such a configuration apparatus has an advantage that the processing load is light. Therefore, the processing load of the whole system can be reduced by the combination of the programmable logic device with the ahove-decrihecj strncl-j]re and the configuration apparatus.</p>
<p>Here, the programmable logic device may further comprise a rewrite inCormation storing unit operable to store therein rewrite information that represents either the rewrite prohibit instruction or the rewrite permit instruction, wherein each of the rewrite prohih:it.irig unit and the output unit receives the rewrite information.</p>
<p>With the stated structure, the rewrite information is stored in the logic element. Itherefore, once an external configuration apparatus input the configuration information, the configurti on apparatus is not reuirec1 to continuously input the configuration information.</p>
<p>ilere, 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 ccrnipred with the structure in which each logic element is individually conriectcd 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, and the maximum effect canbegainedin thecase thatallthe logicelements are connected by the cascade connection.</p>
<p>Here, the rewrite prohibiting unit may prohibit, even if having received the rewrite permit inStruction, rewriting of the configuration information that has beeii previously stored in the configuration storing unit while the rewrite information is being distributed.</p>
<p>With the stated structure, the conf:i.guration 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 is A programmable logic device having one or more logic elements, each logic clemcnt comprising: afirststoringunit 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 thc 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 seond 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. Neanwhile, 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 logic element can he changed without interfering with other logic elements in operation.</p>
<p>Here, the programmable logic device may have a plurality of logic elements. Pill or some of the first storing units of the respective logic elements may be connected together by a csoade connection for distributing the first configuration information, 711 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, Withthe stated structure, the cost of wiring can be reduced compared with the connection condition in which the first storing unit and th second storing unit are individu.ally 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.</p>
<p>The programmable logic device according to the present invention is a programmable logic device hoving 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 first configuration information stored in the main storing unit; a preparatory storing unit operable to store therein second configuration information that is tobe 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 wit.h 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>S With the stated structure, the configuration information stored in the main storing unit in each logic element is rewritten when the logic element receives the rewrite permit instruction.</p>
<p>Bre, 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, store different configuration information, the function of the logic clomont will be changed.</p>
<p>If the function of the internal circuit should be changed, cIJ.rrezent 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 configuration information stored in the logic element in operation will not he changed after the rewriting.</p>
<p>Accordingly, the function of only an intended logic element can be changed without interfzirig with other logic elements in operation.</p>
<p>Here, the programmable logic device may have a plurality of the logic elements, and the preparatory storing units of the respective logic clcments may bc connected together by a cascade connection fcii 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 individual].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 maximum effect can be gained in the casethat all the logic elements 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 dcvlcc having a plurality of logic elements, each logic element having a same structure including a configuration storing unit, and the configuration apparatus 1 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 configuration information or a rewrite prohibit instruction for prohibiting the rewriting; and a configuration informs Lion input unit operable to input, to the programmable logic device, a piece of configuration information in correspondence with a logic element included:in t.he p1ur1ity of the. Jogic 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 in ormation after instructing each logic element whether to rewrite the configuration information.</p>
<p>Iftherewriteprohihit instruction is giventoeach],ogicele</p>
<p>S</p>
<p>in operation, thc function of only un intended logic device can be changed without interfering with other logic elrnent in operation among the logic elements, 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 inaximumeffectcari be gained in the case that all the conf iguration storing units are connected by the cascade connection.</p>
<p>Here, a logic element at a last stage of the cascade connection, which is included in the plurality of the logic elements, may output the configuration information to outside the programmable logic 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 specifications1 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 apparatus that. configures a programmable logic device having a plurality of logic elements, each logic element having a same structure including a first storing u.riit 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 configui-ation 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, 2(j Wi'Lh Llie stdLecl sLrucLure, each logic element selects Lhe first configuration information as the configuration information that defines the function of the internal circuit, and the configuration apparatus an rewrite the second configuration information while the first information is being selected. After that, the configuration apparatus can rewrite the first configuration information while the second configuration information is being selectedby the logic element ccording]y, the functi on of only an intended logic element can be changed without terfering 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 seguentially 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 configurdtiun dppardtus 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 units 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 clcmcnt 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 logic element will 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>?ccording1y, the function of only an intended logic element 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 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)ogic element at a first stage of the Cascade connection, which is included in the plurality of the logic elements.</p>
<p>Withthestated structure, thecost of wiring can bereduceci 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 instructioo 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 Lhe abovedescrjbed 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 sLoiing 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 int.o the first storing units of the respective logic elements; a providing step of providing each logic element with a control signal indicating that the fiist 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>
<p>With the stated structure, the same effect a the above-described confi.guratiorj 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 arid 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 ho 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 configuratjon information stored in the main storing unit should be replaced by the second configuration information stored in the preparatory 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 takenin COnjunctionwiththeaccompanyjrgdz.awjflg$wj 6 illustrate a specific embodiment of the invention.</p>
<p>In the drawings: FIG.l 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 embodimcnt; FIG.4 shows an example operation of a loqic element; FIG.5 shows a structure of a configurationapparatus 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 to a programmable logic device prior to configuration information; FIG.8 shows a status of a programmable logic device after one cloak intrva.1; FIG.9 shows a status of a programmable logic device after two clock intervals; FIG.lO shows a status of a programmable logic device after three clock intervals; FIG.11 shows a status of a programmable logic device after six clook intervals; FIG. 12 shows a status of a programmable logic device after seven clock intervals; FIG. 13 shows a status of a progranunable logic device after eight clock intervals; FIG.14 shows a structure of a programmable Jogic device according to the second embodiment; PIG.15 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 TB tREFERRED EMBODIMENTS</p>
<p>The First Embodimer.it <Structure> PIC.2 shows a structure of a programmable logic device according to the first embodiment.</p>
<p>A programmable logic device 101 includes sixteen logic elements (LEO -LE15). Each logic element includes a unit cell l7nda unit celllB. Eachunitcelll7 includes aconfiguration storing unit 11, and each unit cell 18 includes a rewrite information storing unit 14. The configuration storing unit 11 stores a 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 1]. should be rewritten or not.</p>
<p>Theconfigurationstorjngjnjse connectedtoeac.hother 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 confgurtion informt.jon given to the logic element. Meanwhile, the function of each logic element in operation will not be change, because the piece of the confiyuration 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 S3, and a clock signal CLK are given to the programmable logic device respectively via terminals t22, t24, and t26. The logic element at the 1at stage (LEJ.5) 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 structnre. Therefore, oniy the log:i.c element LE2 is described next.</p>
<p>The logic element LE2 includes a configuration storing uii.Lt lib, a multiplexer 12b, an ND element 13b, a rewrite informati.onstoring unit 14b, anANDelement 15b, abypass circuit 16b, and an internal circuit.</p>
<p>The configuration storing unit lib and the rewrite 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 lib 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 Q. For instance, if the piece of the configuration information represents a value "01", the internal.</p>
<p>circuitoperates as an adder, and itthepieceoftheconfiguration information represents a value "10", it operates as a multiplier.</p>
<p>The multiplexer i2b includes 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 1Gb. The output terminal is connected to the input terminal Dot the configuration storing unit lic 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 54b is a signal indicating whether the configuration information should be rewritten.</p>
<p>215 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 rewritten1 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 S4b, 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 14b 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 14o included to 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 rewrite information storing unit 14b.</p>
<p>FIG.4 shows an example operation of the logic element, Assume that the rewrite information storing units 14a 14b and 14c prestore pieces of rewrite information representing values "0", "0" and "1" respectively. The control signal $2 represents a value l".</p>
<p>Firstly, the operation performed by the loyic element L1 is described next. Since the rewrite information 54a represents a value "0", the AND element 13a always outputs a value "0", and never outputs the clock signal CLK, even i.f the control signal S2 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>Accordingly, the configuration information input to the logic element LE1 passes through the bypass circuit 16a, and is output to the logic element L2, which is next to the logic element LE1.</p>
<p>Secondly, regarding thc 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 $4b 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 hic to rewrite the configuration information, The multiplexer 12c selects the first input terminal, because the rewrite information S4c represents a value "1".</p>
<p>Accordingly, the configuration information input to the logic element. LE3 is 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 rewritc 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 3, and a value "0" is set t.o the control signal S2.</p>
<p>If the control signal S3 represents a value "1", each of the AND elements 15a, J.5b and 15c outputs the clock signal CLK.</p>
<p>Therefore, each of the rewrite information storing units 14a, 14b and 14c 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 ordcr 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 clocic interval, and distributed to all the logic elements after sixteen clock intervals, At this point of time, a value "0" is set to the control signal S3. Then, the shifting operation stops. This is the way in which the rewrite information is set.</p>
<p>FI.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 111, 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 111 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</p>
<p>I</p>
<p>specifically, after changing the value of the control signal S3 from "0" to "1", the rewrite information storage control unit 111 sequentially inputs, at every clock interval, pieces of the rewrite information respectively corresponding to the logic elements from T 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 S3 from "1" to "0".</p>
<p>The configuration storage control unit 112 causes the logic element that stores the rewrite information representing a value "1" tostoretheconfiguration information. Morespecifically, after the rewrite information storage control unit 111 finishes the input of the rewrite information, the configuration storage control unit 112 changes 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 device 101. The pieces of the configuration information respecti-vely correspond to the logic elements that store the rewrite information represeuting 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 confi guration storage control unit 112 when the stop unit monitors the predetermined bit pattern. 1or 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 LE1S and outputs the stop signal if they arc identical.</p>
<p>The cloc3c 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 embodiment in Lb case where the function of a intended logic element is changed while some of the other logic elements are in Operation.</p>
<p>FIG. 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 are in operation, and the functions of the logic elements Lf19, LEB, LEG, LE5, 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".</p>
<p>Firstly, the configuration apparatus 102 sequentially outputs the pieces of the rewrite information, which are to be respectively stored in the logic elements LE15 to LE 0, in accordance with the order of the logic elements. Here, a value a "1" is set to each piece of the rewrite information 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 piece of the rewrite information representing a 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>FIG.7 shows a situation in which the predetermined bit pattern is input prior to the configuration information.</p>
<p>FIG.7 shows that the edeLe.rmined bit pattern "X" has 1(3 passed through the logic elements LEO and LEI, and has reached the input terminal D of the configuration storing unit 11 included in the logic element LE2.</p>
<p>FIG.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 termina] 1). At. the same time, the configuration information "A", which should be stored in the logic clement 2 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 logic 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 device 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>FIG,ll 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 LE8.</p>
<p>FIG.12 shows the status of the programmable logic device 101 after seven clock intervals, After seven clock intervals, the predeterminedbit pattern ")C" is stored in the logic element LE9. 1fter the logic element LE9 stores the predetermined bit pattern "X", the configuration information bypasses the other logic elements. Accordingly, 1he logic eleiitent. LE1S outputs the predetermined bit pattern "c" 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>F]:G.13 shows the status of the programmable logic device 10]. 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 programmable logic device coordinq to the second embodiment.</p>
<p>3 programmable logic device 201 includes sixteen logic elements (LE). Each logic element includes a unit cell 26 and a unit celJ. 27. Each unit cell 26 includes a first storing unit 21, and each un-it ce-li 27 includes a second stor-ing un-it 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 embodiment is characterized by that the function 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 21 and the second storing unit 23 of the logic element whose function should be changed stores a ditferent piece of the configuration information, and each of the first storing unit 23. and the second storing unit 23 of the log.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 tile 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>PI.l5 shows the structure of the logic element according to the second embodiment.</p>
<p>In FIG.15, only three logic elements (LE1, LE2 and LE3) 2!$ 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 TE2 i no] udes a first storing unit 21b, an A1D 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 information.</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 sigDal S5 and the clock signal CLK, arid 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 sccond input terminal, an output terminal, and a control terminal.</p>
<p>26 The first input terniirial 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.i.nternal ci rctiit. a2</p>
<p>kcoritro1 signal S6 is input to the control terminal. The control signal S6 indicates which configuration information should be output by the multiplexer 25b between the configuration information input to the first input terminal and the ö configuration information input to the second input terminal.</p>
<p>The internal circuit realizes a function based on a piece of the configuration informat.ion given to the internal circuit from the multiplexer 25b.</p>
<p>The following is an example operation of the logic element.</p>
<p>Here, assuinethatavalue "0" is initiallysettothe control signal S6. Accordingly, the functi.ons of the internal circuits of the logic elements LE1, LE2 and LE3 are respectively defined by the pieces of the configuration information stored in the first storing units 21a, 21b and 21c.</p>
<p>The contents of the second storing units 23a, 23b and 23c are rewritten while the first storing units 21a, 21b and 21c are i.n operation.</p>
<p>If the control signal S5 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 secguentially input according to tho order of the logic elements LE15 to LEO. As a result, each piece of the cortfiguratiori inrornLation is sequentially transferred to the next logic element at each clock interval, and distributed to every logic element after sixteen clock intervals. t this point of time, a value "0" i.s set to the control signal s5. Then1 the shifting operation stops. In this way, the pieces of the configuration infoimation are rewritten.</p>
<p>After the rewriting of the contents of the second storing units 23a, 23b and 23c is finished, a value "]." is set to the control signal S6. Accordingly, the functions of the logic elements IJE1, L52 and L53 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 stori.ng 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 uniL 23.</p>
<p>FIG. 16 shows the structure of the configuration apparatus according to the second embodiment.</p>
<p> 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 21.1.</p>
<p>c'hnges the control signal S4 from "0" to "1", and sequentially outputs, at every clock interval, pieces of the configuration information to the programniable 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".</p>
<p>For rewriting the contents of the second storing unit 23, the configuration storage control unit 21]. changes the control signal SS from "0" to "1", and sequentially outputs, at every clock intcrval, 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 S5 from "1" to "0".</p>
<p>The definition control unit 212 sets "0" to the control signal S6 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 S6 in the case where the function of each logic 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 CLE.</p>
<p>The Third Embodiment <Structure> F)G. 17 shows the structure of a programmable logic device according to the third embodiment.</p>
<p>The programmable logic devi ce 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 31, 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 respectively included in the logic
elements are connected to each other by a cascade connection and 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 transmits 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 31 and the main storing unit 33 of the logic element whose funtion should be changed stores a di fferent piece of the configuration information, and each of the prepzirotory storing unit 31 and the main storing unit 33 of the logic element In opera Lion stores 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 e'ven 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 S8, 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 element has 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 intrna1 circuit.</p>
<p>The preparatory storing unit 31b and the main storing unit 33b are respectively structured by D flip-flops. Here, assume that each piece of the configuration information is 2-bit information.</p>
<p>The output terminal Q of the preparatory storing unit 31b is connected to the input terminal D of the preparatory storing :37 unit 31c which is next to the preparatory storing unit 31b, and also connected to the input terminal ID of the main storing unit 33b.</p>
<p>The 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 31b.</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 58 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. -The functions of the logic elements LE1, LE2 and LE3 are defined by pieces of configuration information respectively stored in the ma.in 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 S8.</p>
<p>The contents of the preparatory storing units 31a, 31b 3lc are rewritten while the main storing units 33a, 33b and 33c 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 the 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 31 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 informat.ion stored 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 configuration information stored in the preparatory storing unit 31.</p>
<p>FIG.19 shows the structure of a configuration apparatus ö according to the. third embodiment.</p>
<p>A 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 30]. to store the corresponding piece of the configuration information.</p>
<p>More specifically, the preparatory storage control unit 311 changes the control signal 57 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 correspond to the logic elements LE1St0LEO. -Then, after sixteen clock intervals, thepreparatorystorage control unit 31i. 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" to the control signal S8. In the other cases, the main storage control unit 312 sets a value "0" to the control signal SB.</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 prcgrauunable logic device according to the present invention, arid the configuration apparatus and the configuration method used for the programmable logic device are described above based on the embodimcnts. However, the present invention 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 information. However, the present invention is not limited to this. Any 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, (4) In the first embodiment, the configuration information of the logic element that is not tobe 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 allocated to such a logic element.</p>
<p>(5) Iii the first embodittient, 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. Par 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 thc 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 may be connected in a tree structure, a network structure, arid 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 modifi.ctions depart from the scope of the present invention, they should be construed as being included therein.</p>

Claims (1)

  1. <p>I</p>
    <p>CLAIMS: 1. 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 first 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 with 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>2. The programmable logic device of claim 1, wherein the programmable logic device has a plurality of the logic elements, and the preparatory storing units of the respective logic elements are connected together by a cascade connection for distributing the 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 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 units of the respective logic elements; and -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.</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 configuration information, and the input unit arranges the pieces of the configuration information in accordance with an order of the logic elements, and sequentially inputs 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>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 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 to 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 eh first configuration infonnation stored in the main storing unit should be replaced by the second configuration information stored in the preparatory storing unit.</p>
GB0711543A 2004-07-09 2005-07-08 Programmable logic device configuration apparatus, and configuration method Expired - Fee Related GB2436481B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0711543A GB2436481B (en) 2004-07-09 2005-07-08 Programmable 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
GB0711543A GB2436481B (en) 2004-07-09 2005-07-08 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

Publications (3)

Publication Number Publication Date
GB0711543D0 GB0711543D0 (en) 2007-07-25
GB2436481A true GB2436481A (en) 2007-09-26
GB2436481B GB2436481B (en) 2008-07-02

Family

ID=38477369

Family Applications (1)

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

Country Status (1)

Country Link
GB (1) GB2436481B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2300505A (en) * 1995-05-02 1996-11-06 Xilinx Inc Programmable logic with parallel and serial user interfaces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2300505A (en) * 1995-05-02 1996-11-06 Xilinx Inc Programmable logic with parallel and serial user interfaces

Also Published As

Publication number Publication date
GB2436481B (en) 2008-07-02
GB0711543D0 (en) 2007-07-25

Similar Documents

Publication Publication Date Title
US7348798B2 (en) Programmable logic device, configuration apparatus, and configuration method
US5670904A (en) Programmable digital delay unit
US6618698B1 (en) Clustered processors in an emulation engine
US5329179A (en) Arrangement for parallel programming of in-system programmable IC logical devices
CN114553215A (en) System and method for testing and configuration of an FPGA
US9218862B1 (en) Method and apparatus for operating finite-state machines in configurable storage circuits
US20020143505A1 (en) Implementing a finite state machine using concurrent finite state machines with delayed communications and no shared control signals
US9208109B2 (en) Memory controllers with dynamic port priority assignment capabilities
US6766505B1 (en) Parallel programming of programmable logic using register chains
EP2645574A2 (en) Integrated circuits with multi-stage logic regions
EP2722989A2 (en) Methods and apparatus for building bus interconnection networks using programmable interconnection resources
US5608844A (en) Neural processor comprising distributed synaptic cells
JP2008526110A (en) Nonvolatile memory configuration scheme for volatile memory based programmable circuits in FPGA
US6260175B1 (en) Method for designing an integrated circuit using predefined and preverified core modules having prebalanced clock trees
US6867614B1 (en) Multiconfiguration module for hardware platforms
US7490233B1 (en) Techniques for actively configuring programmable circuits using external memory
US5555214A (en) Apparatus for serial reading and writing of random access memory arrays
US6941540B2 (en) Design method for gate array integrated circuit
CN101312346B (en) Programmable logic device having logic modules with improved register capabilities
GB2436481A (en) A programable logic device and associated configuration device
US6747479B1 (en) Interface scheme for connecting a fixed circuitry block to a programmable logic core
AU714833B2 (en) Apparatus for managing relationships between objects
US6714044B1 (en) Hi-speed parallel configuration of programmable logic
US20070296457A1 (en) Programmable Logic Circuit Control Apparatus, Programmable Logic Circuit Control Method and Program
GB2436482A (en) A programable logic device and associated configuration apparatus

Legal Events

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

Effective date: 20120708