WO2015033422A1 - Programmable apparatus power supply voltage management method and programmable apparatus - Google Patents

Programmable apparatus power supply voltage management method and programmable apparatus Download PDF

Info

Publication number
WO2015033422A1
WO2015033422A1 PCT/JP2013/073948 JP2013073948W WO2015033422A1 WO 2015033422 A1 WO2015033422 A1 WO 2015033422A1 JP 2013073948 W JP2013073948 W JP 2013073948W WO 2015033422 A1 WO2015033422 A1 WO 2015033422A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
power supply
supply voltage
programmable
monitor
Prior art date
Application number
PCT/JP2013/073948
Other languages
French (fr)
Japanese (ja)
Inventor
豪一 小野
雄介 菅野
長崎 文彦
則貴 小杉
長田 健一
Original Assignee
株式会社日立製作所
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
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2013/073948 priority Critical patent/WO2015033422A1/en
Publication of WO2015033422A1 publication Critical patent/WO2015033422A1/en

Links

Images

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
    • H03K19/17772Structural details of configuration resources for powering on or off

Definitions

  • the present invention relates to a power supply voltage management method for a programmable device and a programmable device, for example, a power supply voltage management method for a programmable device including an FPGA (Field Programmable Gate Array).
  • FPGA Field Programmable Gate Array
  • Patent Document 1 discloses a method of monitoring the delay of an LSI critical path and controlling the power supply voltage based on the monitoring result.
  • Patent Document 2 a ring oscillator for generating a monitoring clock signal and a frequency comparison circuit are provided in the LSI, and the frequency of the monitoring clock signal is compared with the frequency of a reference clock signal input from the outside. A system for controlling the power supply voltage according to the comparison result is shown.
  • Patent Document 1 and Patent Document 2 are effective from the viewpoint of compensating for the characteristic variation of the LSI.
  • the monitor circuit for detecting the characteristic variation is mounted on the same LSI in addition to the user circuit for realizing the original function of the LSI, the overhead of the area due to the monitor circuit becomes a problem.
  • monitor circuits are less integrated than ASIC (Application Specific Integrated Circuit) and the structure of logic basic cells is determined.
  • ASIC Application Specific Integrated Circuit
  • the present invention has been made to solve such a problem, and one of the purposes is to compensate for characteristic variation while suppressing area overhead of a monitor circuit for detecting characteristic variation. To provide a programmable device and a power supply voltage management method thereof.
  • the programmable device includes a programmable circuit that mounts an arbitrary circuit on itself according to circuit data, and a power supply circuit that supplies a power supply voltage to the programmable circuit.
  • the power supply voltage management method for the programmable device includes first to fourth steps.
  • the first step is a step of configuring first circuit data including a first monitor circuit for detecting a characteristic parameter having power supply voltage dependency into a programmable circuit.
  • the second step is a step of detecting the characteristic parameter using the first monitor circuit mounted on the programmable circuit in a state where the first power supply voltage is supplied by the power supply circuit.
  • the third step is a step of configuring the second circuit data including the user circuit that performs a predetermined process into a programmable circuit instead of or in addition to the first circuit data.
  • the fourth step is a step of performing a predetermined process using a user circuit mounted on the programmable circuit in a state where the second power supply voltage is supplied by the power supply circuit. At this time, the second power supply voltage is determined based on the characteristic parameter detected by the first monitor circuit in the second step.
  • the characteristic variation is compensated while suppressing the area overhead of the monitor circuit that detects the characteristic variation. Is possible.
  • FIG. 1 shows the structural example of the principal part. It is the schematic which shows the structural example of the monitor circuit mounted in the programmable circuit (FPGA) of FIG.
  • FIG. 3 is a schematic diagram illustrating a configuration example of a variation detection circuit in the monitor circuit of FIG. 2. It is the schematic which shows the structural example of the ring oscillator circuit in FIG. It is the schematic which shows the structural example of the user circuit part mounted in the programmable circuit (FPGA) of FIG.
  • FIG. 2 is a flowchart showing an example of a power supply voltage management method in the programmable device of FIG. 1.
  • FIG. 2 is a schematic diagram illustrating a configuration example of a memory circuit unit in FIG. 1.
  • FIG. 8 is a schematic diagram illustrating a configuration example different from that of FIG. 7 of the memory circuit unit in FIG. 1.
  • 7 and 8 are explanatory diagrams showing an example of variation information stored in the memory circuit unit.
  • the programmable device of Embodiment 2 by this invention it is the schematic which shows the structural example of the user circuit part mounted in the programmable circuit. It is the schematic which shows the structural example of the aged deterioration monitor circuit in FIG.
  • the programmable device of Embodiment 3 by this invention it is the schematic which shows the structural example of the principal part. It is a flowchart which shows an example of the processing content which the microcomputer performs in the programmable device of FIG. It is the schematic which shows the structural example of the information system which applied it in the programmable device by Embodiment 3 of this invention.
  • the constituent elements are not necessarily indispensable unless otherwise specified and apparently essential in principle. Needless to say.
  • the shapes, positional relationships, etc. of the components, etc. when referring to the shapes, positional relationships, etc. of the components, etc., the shapes are substantially the same unless otherwise specified, or otherwise apparent in principle. And the like are included. The same applies to the above numerical values and ranges.
  • FIG. 1 is a schematic diagram showing a configuration example of a main part of a programmable device according to Embodiment 1 of the present invention.
  • a programmable device 104 illustrated in FIG. 1 includes a programmable circuit 101 represented by an FPGA, a variable power supply circuit (PWR) 102, and a memory circuit unit (MEM) 103.
  • the variable power supply circuit 102 generates a power supply voltage to be supplied to the programmable circuit (FPGA) 101.
  • the value of the power supply voltage is adjusted by a control signal output from the programmable circuit (FPGA) 101.
  • the memory circuit unit (MEM) 103 includes, for example, a non-volatile memory such as a flash memory, and has a configuration capable of writing and reading from the programmable circuit (FPGA) 101. As will be described in detail later, the memory circuit unit (MEM) 103 has storage areas for storing first circuit data including a monitor circuit and second circuit data including a user circuit unit (and a user circuit), respectively. And a storage area for storing information from the monitor circuit. The monitor circuit detects a characteristic parameter having power supply voltage dependency, and the user circuit performs a predetermined process determined by the user.
  • the programmable circuit (FPGA) 101, the variable power supply circuit 102, and the memory circuit unit (MEM) 103 can be realized in various forms. For example, three circuits each composed of three devices, three circuits integrated into one device, or two circuits integrated into one device, The form which comprised the remaining circuit with one device is mentioned. Each device is mounted on the same wiring board, for example.
  • the programmable circuit 101 is not necessarily limited to the FPGA, and may be any reconfigurable circuit that can mount an arbitrary circuit on itself according to circuit data.
  • the power supply voltage of the programmable device of FIG. 1 is generally managed as follows. First, first circuit data including a monitor circuit (first monitor circuit) is configured in the programmable circuit (FPGA) 101, and the monitor circuit detects the above-described characteristic parameter. After that, the second circuit data including the user circuit unit (and the user circuit) is configured in the programmable circuit (FPGA) 101 instead of the first circuit data, and the user circuit performs a predetermined process. When the user circuit performs a predetermined process, the variable power supply circuit 102 supplies a power supply voltage determined based on the characteristic parameter detected by the monitor circuit to the programmable circuit (FPGA) 101. This power supply voltage is determined by the programmable circuit (FPGA) 101 in the example of FIG. ⁇ Programmable circuit configuration>
  • FIG. 2 is a schematic diagram showing a configuration example of a monitor circuit mounted on the programmable circuit (FPGA) of FIG.
  • the monitor circuit (first monitor circuit) 201 in FIG. 2 is obtained by configuring the first circuit data stored in the memory circuit unit (MEM) 103 in FIG. 1 into a programmable circuit (FPGA). Circuit.
  • the monitor circuit 201 includes a variation detection circuit 202 and a memory controller 203.
  • the variation detection circuit 202 detects a characteristic parameter having power supply voltage dependency.
  • the characteristic parameter is a delay time of a signal transmitted in the programmable circuit (FPGA) 101, and the variation detection circuit 202 detects variation in the delay time.
  • the characteristic parameter having power supply voltage dependency may be, for example, a power supply current value.
  • the variation detection circuit 202 detects the variation in the delay time of the signal and sends the detection result to the memory controller 203.
  • the memory controller 203 writes variation information 205 as a detection result of the variation detection circuit 202 in the memory circuit unit 103 while controlling access to the memory circuit unit 103 by the memory control signal 204.
  • the memory control signal 204 can select which storage area in the memory circuit unit 103 is to be accessed.
  • FIG. 5 is a schematic diagram showing a configuration example of a user circuit unit mounted on the programmable circuit (FPGA) of FIG.
  • the user circuit unit 510 in FIG. 5 is a circuit obtained by configuring the second circuit data stored in the memory circuit unit (MEM) 103 in FIG. 1 into a programmable circuit (FPGA).
  • the user circuit unit 510 includes a user circuit 501 that performs processing arbitrarily determined by the user, a memory controller 502, and a variable power supply controller 503.
  • a reset signal 512 is input to the user circuit 501.
  • the memory controller 502 reads the variation information 509 stored in the memory circuit unit 103 while controlling access to the memory circuit unit 103 by the memory control signal 508.
  • the memory control signal 508 can select which storage area in the memory circuit unit 103 is to be accessed.
  • the variable power supply controller 503 includes a voltage determination unit 504 and a power supply interface unit 505.
  • the voltage determination unit 504 determines the value of the power supply voltage based on the variation information 509 acquired via the memory controller 502.
  • the power supply interface unit 505 instructs the power supply voltage determined by the voltage determination unit 504 to the variable power supply circuit (PWR) 102 in FIG. 1 via the voltage control signal 507.
  • the voltage setting completion signal 511 is a signal for notifying the outside that the power supply voltage has been changed. ⁇ Power supply voltage management method for programmable devices >>
  • FIG. 6 is a flowchart showing an example of the power supply voltage management method in the programmable device of FIG.
  • a series of processing contents executed from the start of the programmable circuit (FPGA) 101 until the power supply voltage is controlled to operate the user circuit is shown.
  • the power supply voltage management process in FIG. 6 is performed at an arbitrary timing that requires compensation for characteristic variation of the programmable circuit (FPGA) 101 after the manufacture of the programmable device 104 in FIG. 1, for example.
  • the variable power supply circuit 102 supplies the programmable circuit (FPGA) with a predetermined standard power supply voltage (first power supply voltage) to the programmable circuit (FPGA) 101 and the memory circuit unit 103. 101 is activated (step S101).
  • the programmable circuit (FPGA) 101 is activated, the first circuit data including the monitor circuit 201 stored in the memory circuit unit 103 is written to the configuration memory in the programmable circuit (FPGA) 101.
  • the monitor circuit 201 of FIG. 2 is mounted on the programmable circuit (FPGA) 101.
  • the monitor circuit 201 is supplied with the standard value power supply voltage (first power supply voltage) as described above with reference to a predetermined characteristic parameter (here, the programmable circuit (FPGA) 101) (see here). A variation in delay time is detected (step S103). Then, the monitor circuit 201 writes the variation information 205 as the detection result in the memory circuit unit 103 (step S104).
  • first power supply voltage first power supply voltage
  • FPGA programmable circuit
  • Step S105 the second circuit data including the user circuit unit 510 stored in the memory circuit unit 103 is written into the configuration memory in the programmable circuit (FPGA) 101.
  • the user circuit unit 510 (and user circuit 501) of FIG. 5 is mounted on the programmable circuit (FPGA) 101, and the monitor circuit 201 is completely erased.
  • variable power controller 503 in the user circuit unit 510 reads the variation information stored in step S104 from the memory circuit unit 103 via the memory controller 502.
  • the voltage determination unit 504 in the variable power supply controller 503 determines the value of the power supply voltage (second power supply voltage) based on the variation information (step S106).
  • the power supply interface unit 505 in the variable power supply controller 503 instructs the determined power supply voltage (second power supply voltage) to the variable power supply circuit 102 via the voltage control signal 507 (step S107).
  • the variable power supply circuit 102 generates the power supply voltage (second power supply voltage).
  • the variable power supply controller 503 notifies the outside that the power supply voltage has been changed via the voltage setting completion signal 511.
  • the reset signal 512 input to the user circuit 501 in the user circuit unit 510 is canceled.
  • the user circuit 501 starts the operation in a state where the power supply voltage (second power supply voltage) set in step S107 is supplied (step S108).
  • the characteristic variation of the programmable circuit (FPGA) 101 can be adjusted by adjusting the power supply voltage without causing the monitor circuit 201 and the user circuit 501 to reside in the programmable circuit (FPGA) 101 at the same time. It becomes possible to compensate. That is, the area overhead of the monitor circuit 201 with respect to the user circuit 501 that can occur in the case of the above-described Patent Document 1 and Patent Document 2 can be eliminated. As a result, the circuit scale that can be used in the user circuit 501 can be relatively increased, and a situation in which power is consumed in the monitor circuit 201 when the user circuit 501 operates can be prevented.
  • the optimum power supply voltage (second power supply voltage) is determined and instructed by the variable power supply controller 503 in FIG. 5, but the present invention is not necessarily limited thereto.
  • a circuit unit having a function similar to that of the variable power supply controller 503 may be provided outside the programmable circuit (FPGA) 101. A detailed example thereof will be described later with reference to FIG. 12, and the external circuit unit determines a power supply voltage (second power supply voltage) according to variation information, and then the programmable circuit (FPGA) 101 has a user. Based on the premise that the circuit 501 is mounted, the determined power supply voltage is instructed to the variable power supply circuit 102.
  • a circuit unit having the same function as the voltage determination unit 504 in the variable power supply controller 503 may be inserted between the variation detection circuit 202 and the memory controller 203 in FIG.
  • the memory controller 203 in FIG. 2 stores the power supply voltage (second power supply voltage) determined by the circuit unit in the memory circuit unit 103 instead of or in addition to the variation information 205.
  • the power interface 505 in the variable power controller 503 of FIG. 5 simply reads the power voltage stored in the memory circuit unit 103 via the memory controller 502 and sets the power voltage for the variable power circuit 102. .
  • variable power supply circuit 102 can supply a power supply voltage (second power supply voltage) determined based on the detection result of the monitor circuit 201 in FIG. Any method may be used. ⁇ Configuration of variation detection circuit>
  • FIG. 3 is a schematic diagram showing a configuration example of the variation detection circuit in the monitor circuit of FIG.
  • the variation detection circuit 202 in FIG. 3 is a circuit that detects variations in signal delay time, as described in FIG.
  • the variation detection circuit 202 includes a ring oscillator block 301, a selector 302, a statistical processing unit 303, a data memory 304, and a control unit 305.
  • Ring oscillator block 301 includes a plurality of ring oscillator circuits RO [1] to RO [n].
  • the control unit 305 controls operations of the ring oscillator block 301, the selector 302, the statistical processing unit 303, and the data memory 304.
  • the selector 302 selects one of the output signals (that is, clock signals) of the plurality of ring oscillator circuits RO [1] to RO [n], and outputs the selected output signal to the statistical processing unit 303.
  • the statistical processing unit 303 detects the frequency (in other words, the signal delay time) by counting the clock signal output from the selector 302 for a certain period.
  • the selector 302 sequentially selects the output signals of the plurality of ring oscillator circuits RO [1] to RO [n], and in response to this, the statistical processing unit 303 selects each ring oscillator circuit RO [1] to RO [n]. Are sequentially detected (signal delay time).
  • the statistical processing unit 303 obtains average values and standard deviations of the frequencies detected from all the ring oscillator circuits RO [1] to RO [n], and outputs both values to the data memory 304.
  • the data memory 304 stores the average value and standard deviation of the frequency and outputs the information as variation information.
  • the average value of the frequency represents the characteristic variation between chips, and the standard deviation of the frequency represents the characteristic variation in the chip.
  • a plurality of ring oscillator circuits are provided in the variation detection circuit 202.
  • the power supply is based on one detection result (frequency (delay time)). It is possible to determine the voltage.
  • frequency delay time
  • the degree of variation in delay time that regularly occurs depending on the arrangement in the chip and the degree of variation in delay time that occurs randomly regardless of the arrangement in the chip can be detected by the standard deviation.
  • the operation of sequentially detecting the frequencies of the plurality of ring oscillator circuits RO [1] to RO [n] is fixed. It is also beneficial to calculate the average value and the standard deviation for all the detection results by repeating a plurality of times at intervals.
  • the variation detection circuit 202 that can provide a useful detection result on the programmable circuit (FPGA) 101, it is necessary to secure a large mounting area.
  • the variation detection circuit 202 as shown in FIG. 3 can be mounted without any problem.
  • a plurality of ring oscillator circuits RO [1] to RO [n] are distributed substantially uniformly in the chip. It is also possible.
  • the voltage determination unit 504 in FIG. 5 generates a power supply voltage (frequency average value and standard deviation) according to variation information (frequency average value and standard deviation) obtained from the variation detection circuit 202 in FIG. 3 based on a predetermined table or relational expression.
  • Second power supply voltage is determined.
  • the table or relational expression is not particularly limited, but the relationship between the average value of the frequency and the power supply voltage required accordingly (referred to as the first relationship), the standard deviation of the frequency, and the response The relationship between the required power supply voltage and the minimum voltage margin (referred to as the second relationship) is shown.
  • the voltage determination unit 504 receives the average value of the frequencies included in the variation information, determines the power supply voltage based on the first relationship, and further receives the standard deviation of the frequencies included in the variation information, Based on the relationship of 2, the final power supply voltage (second power supply voltage) is determined by adding a predetermined voltage margin to the determined power supply voltage.
  • FIG. 4 is a schematic diagram showing a configuration example of the ring oscillator circuit in FIG.
  • a ring oscillator circuit with an FPGA
  • LUTs lookup tables
  • logic basic cells are used as many as the number of chain connections, so that each ring oscillator circuit RO [1] to RO [n] (ring oscillator block 301)
  • the method of this embodiment there is no particular problem even if the area of the ring oscillator block 301 is increased as described above.
  • the scale of the FPGA is very small, one ring oscillator circuit is used. A smaller area is desirable. For example, if the area of one ring oscillator circuit can be reduced, the number of ring oscillator circuits can be increased correspondingly, and more useful detection results can be obtained.
  • the ring oscillator circuit RO shown in FIG. 4 includes a lookup table (LUT) 401 and a wiring 402.
  • a lookup table (LUT) 401 for example, a 2-input NAND function is realized, and one of the two inputs of the 2-input NAND function is an enable that controls activation / inactivation of the operation of the ring oscillator circuit RO.
  • a signal EN is input.
  • the output of the lookup table (LUT) 401 is fed back to the other of the two inputs after passing through the wiring 402.
  • the wiring 402 is realized by wiring inside the FPGA, but actually includes not only the wiring but also a transistor such as a buffer for driving a wiring load or a wiring changeover switch.
  • a short-distance wiring near the lookup table (LUT) 401 or a long-distance wiring for connecting to a LUT far from the lookup table (LUT) 401 is used.
  • the function as a ring oscillator circuit can be realized even with one lookup table (LUT) 401.
  • FIG. 7 is a schematic diagram showing a configuration example of the memory circuit unit in FIG.
  • a memory circuit unit 103 illustrated in FIG. 7 includes a microcomputer 702 and a nonvolatile memory 703 such as a flash memory.
  • the nonvolatile memory 703 includes a first storage area AR [1] for storing the first circuit data including the monitor circuit 201 and a second storage area AR for storing the second circuit data including the user circuit unit 510. [2] and a third storage area AR [3] for storing variation information.
  • the microcomputer 702 communicates with the programmable circuit (FPGA) 701 using each signal (CFG_CLK, CFG_DATA, CFG_CTL, VER_CLK, VER_DATA, VER_SEL).
  • Signals (CFG_CLK, CFG_DATA, CFG_CTL) are signals for accessing the configurable memory of the programmable circuit (FPGA) 701.
  • the signals (VER_CLK, VER_DATA, VER_SEL) are signals for addressing the nonvolatile memory 703 and transferring variation information.
  • the microcomputer 702 designates the first address of the first storage area AR [1], reads the first circuit data (monitor circuit 201) from the nonvolatile memory 703, and transfers it to the programmable circuit (FPGA) 701.
  • the monitor circuit 201 in FIG. 2 changes the signal VER_SEL and starts storing variation information in the nonvolatile memory 703.
  • the microcomputer 702 designates the head address of the third storage area AR [3].
  • the microcomputer 702 designates the start address of the second storage area AR [2] and receives the second circuit data (user circuit unit 510) from the nonvolatile memory 703. Read and transfer to programmable circuit (FPGA) 701.
  • the microcomputer 702 has a function of appropriately determining the head address of the nonvolatile memory 703 according to each stage of the processing flow of FIG.
  • the FPGA reads circuit data from the head address of the external nonvolatile memory in response to a configuration start command.
  • the memory address cannot be arbitrarily designated, and it may be difficult to use a plurality of circuit data properly.
  • the microcomputer 702 may be replaced with, for example, another FPGA or DSP as long as it has a similar function.
  • FIG. 8 is a schematic diagram showing a configuration example different from FIG. 7 of the memory circuit portion in FIG.
  • the memory circuit unit 103 illustrated in FIG. 8 includes a nonvolatile memory 802 such as a flash memory.
  • the nonvolatile memory 802 has first to third storage areas AR [1] to AR [3] as in the case of FIG.
  • the programmable circuit (FPGA) 801 communicates with the nonvolatile memory 802 using signals (CFG_CLK, CFG_DATA, CFG_ADDR, CFG_CTL).
  • the programmable circuit (FPGA) 801 specifies the start address of the first storage area AR [1] by the signal CFG_ADDR, reads the first circuit data (monitor circuit 201) from the nonvolatile memory 802, and configures its own configuration. Transfer to the storage memory.
  • the monitor circuit 201 in FIG. 2 designates the leading address of the third storage area AR [3] by the signal CFG_ADDR and writes the variation information in the nonvolatile memory 802.
  • the programmable circuit (FPGA) 801 specifies the start address of the second storage area AR [2] by the signal CFG_ADDR, reads the second circuit data (user circuit unit 510) from the nonvolatile memory 802, and configures its own configuration. Transfer to the storage memory.
  • FIG. 9 is an explanatory diagram showing an example of variation information stored in the memory circuit unit in FIGS. 7 and 8.
  • the variation information stored in the third storage area AR [3] has information such as storage number (#), inter-chip variation, intra-chip variation, temperature, power supply voltage, and the like.
  • the storage number (#) is assigned a young number in the oldest order at the time of data acquisition.
  • the inter-chip variation is an average value of the frequencies detected by the variation detection circuit 202 in FIG. 3, and the intra-chip variation is a standard deviation of the frequency.
  • the temperature is information from, for example, an FPGA temperature sensor. Since the frequency (delay time of the signal) has temperature dependence, in order to improve accuracy, for example, the average value of the detected frequency is converted into a value at a predetermined temperature, and after this conversion It is desirable to determine the final power supply voltage (second power supply voltage) based on the value of.
  • temperature information may be included in the variation information 205 in FIG. 2, and a conversion table or conversion formula for converting this temperature into a predetermined temperature may be provided in the voltage determination unit 504 in FIG.
  • the power supply voltage is information from the power supply voltage sensor of the FPGA.
  • the frequency (signal delay time) has power supply voltage dependency in addition to temperature dependency.
  • the monitor circuit 201 operates at a predetermined standard power supply voltage (first power supply voltage), but the standard voltage voltage set by the variable power supply circuit 102 and the FPGA are actually set. There may be an error in the power supply voltage supplied. Also, this error may vary in time series. Therefore, in order to further improve the accuracy, the average value of the frequency detected by the monitor circuit 201 with the actual power supply voltage or the like can be converted into a value with the standard power supply voltage, as in the case of temperature dependence. desirable.
  • the specific conversion method and the reflection method are the same as in the case of temperature dependence.
  • the variation information detected by the monitor circuit 201 is sequentially left in a log for each storage number (#), so that the plurality of logs can be used as reference information for system management when a problem occurs, for example. Can be used.
  • the configuration may be such that one log is used instead of a plurality of logs, and the one log is updated with the latest detection result by the monitor circuit 201. Good.
  • the power supply voltage management method of the programmable device prepares the circuit to be mounted on the programmable circuit separately for the monitor circuit and the user circuit, and first mounts the monitor circuit to reduce the variation. This is a method of detecting and then mounting a user circuit to control the power supply voltage. As a result, typically, it is possible to compensate for variations in the characteristics of the programmable circuit while suppressing the area overhead of the monitor circuit.
  • the second circuit data including the user circuit unit (and the user circuit) instead of the first circuit data including the monitor circuit is shown.
  • the second circuit data can be configured in addition to the first circuit data.
  • a new circuit that is, a user circuit unit
  • partial reconfiguration a function called partial reconfiguration.
  • the monitor circuit is not particularly required to operate. Therefore, in order to reduce power consumption, for example, a signal for stopping the operation of the monitor circuit is output to the user circuit unit.
  • FIG. 10 is a schematic diagram showing a configuration example of a user circuit unit mounted on the programmable circuit in the programmable device according to the second embodiment of the present invention.
  • the user circuit unit 1001 is provided with an aging deterioration monitor circuit (second monitor circuit) 1005, thereby generating a trigger for instructing execution of the power supply voltage management process of FIG.
  • second monitor circuit the aging deterioration monitor circuit
  • the configuration other than the user circuit unit (the configuration of the programmable device 104 in FIG. 1 and the monitor circuit (first monitor circuit) 201 in FIG. 2 and the like) is the same as that in the first embodiment, detailed description thereof is omitted.
  • the user circuit unit 1001 illustrated in FIG. 10 has a configuration in which an aged deterioration monitor circuit (second monitor circuit) 1005 is added as compared to the user circuit unit 510 illustrated in FIG. Since the configuration in the user circuit unit 1001 other than this is the same as that in the case of FIG.
  • the aging monitor 1005 operates at all times or at regular intervals when the user circuit 501 operates, and monitors aging of characteristic parameters having power supply voltage dependency.
  • the aging deterioration monitor 1005 outputs an alarm signal 1002 when the aging deterioration reaches a certain level.
  • the power supply voltage management process in FIG. 6 may be performed when the alarm signal 1002 is issued.
  • FIG. 11 is a schematic diagram showing a configuration example of the aging monitoring circuit in FIG.
  • the aging monitor circuit 1005 includes a ring oscillator circuit (RO) 1101, a frequency measurement unit 1102, a register 1103, and a comparison unit 1104.
  • the ring oscillator circuit 1101 has, for example, the configuration of FIG. 4 as in the case of the variation detection circuit 202 of FIG.
  • the frequency of the output signal (that is, the clock signal) of the ring oscillator circuit 1101 is measured by the frequency measuring unit 1102.
  • the register 1103 stores a frequency reference value.
  • the comparison unit 1104 compares the measurement result of the frequency measurement unit 1102 with the reference value of the register 1103, and outputs an alarm signal 1002 according to the comparison result.
  • the reference value stored in the register 1103 is the same as that shown in FIG. 11 at the initial stage of step S108 after the user circuit unit 1001 of FIG. 10 is mounted on the programmable circuit (FPGA) 101 in step S105 of FIG.
  • the measurement result (that is, the frequency) by the frequency measurement unit 1102 can be obtained.
  • the value of the register 1103 is not changed until the processing flow of FIG. 6 is executed again.
  • the measurement result by the frequency measuring unit 1102 is stored in the nonvolatile memory, and is loaded into the register 1103 from the nonvolatile memory. It is good also as composition to do.
  • the comparison unit 1104 generates an alarm signal 1002 when the fluctuation range between the measurement result by the frequency measurement unit 1102 and the reference value exceeds a predetermined value with the reference value set in the register 1103. . That is, the aging deterioration monitor circuit 1005 has a measurement result (ie, frequency) detected by the aging deterioration monitor circuit 1005 that is greater than or equal to a predetermined width compared to the latest time when the second circuit data including the user circuit unit 1001 is configured.
  • the alarm signal 1002 is generated in the case of transition to.
  • the reference value stored in the register 1103 can be a fixed value that represents the allowable maximum frequency and the minimum frequency in some cases.
  • the comparison unit 1104 generates an alarm signal 1002 when the measurement result (ie, frequency) by the frequency measurement unit 1102 deviates from the range of the minimum frequency to the maximum frequency.
  • the reference value is a fixed value, unlike the case where the measurement result of the frequency measurement unit 1102 is reflected on the reference value described above, the measurement error generated in the frequency measurement unit 1102 is not reflected on the reference value.
  • the frequency measurement unit 1102 for each programmable circuit (FPGA) 101 may have different situations. There is no particular problem when the measurement variation is small to some extent.
  • the aging monitor circuit (second monitor circuit) 1005 is resident at the same time as the user circuit 501 unlike the variation detection circuit (first monitor circuit) 202 of FIG. 3, as shown in FIG. It is desirable to configure with a circuit scale smaller than the variation detection circuit (first monitor circuit) 202. From this point of view, it is also useful to apply the configuration example of FIG. 4 to the ring oscillator circuit 1101.
  • the aging deterioration monitor circuit 1005 does not need to obtain various information for determining the optimum power supply voltage value like the variation detection circuit 202, and simply needs to detect the degree of deterioration with a not so high accuracy. Even a configuration including one ring oscillator circuit 1101 can sufficiently achieve the object.
  • the power supply voltage management process shown in FIG. 6 can be performed in accordance with the alarm signal 1002.
  • the power supply voltage management process of FIG. 6 is performed in the same manner as in the first embodiment except for the process of step S108. That is, when the user circuit 501 starts operation in step S108, the aging deterioration monitor circuit 1005 also starts operation, and the frequency of the ring oscillator circuit 1101 at the initial stage is stored in the register 1103.
  • the aging monitor circuit 1005 operates continuously or periodically, and outputs an alarm signal 1002 when detecting aging deterioration.
  • FIG. 12 is a schematic diagram showing a configuration example of the main part of the programmable device according to the third embodiment of the present invention.
  • the programmable device illustrated in FIG. 12 includes a programmable circuit (FPGA) 1201, a variable power supply circuit (PWR) 102, a nonvolatile memory 1203, and a microcomputer (device management unit) 1202.
  • FPGA programmable circuit
  • PWR variable power supply circuit
  • nonvolatile memory 1203 a nonvolatile memory 1203
  • microcomputer device management unit
  • the microcomputer 1202 and the nonvolatile memory 1203 constitute the memory circuit unit 103
  • the nonvolatile memory 1203 includes the first to third storage areas AR [1] to AR [3. ] Is provided.
  • the microcomputer 1202 includes a variable power supply controller 1205 having the same function as the variable power supply controller 503 in FIGS. 5 and 10. Accordingly, in the second circuit data stored in the second storage area AR [2] of the nonvolatile memory 1203, the variable power controller 503 and the variation information 509 are deleted from the user circuit unit 1001 in FIG. A user circuit section is included. Further, the first circuit data stored in the first storage area AR [1] of the nonvolatile memory 1203 includes the monitor circuit 201 of FIG. 2 as in the case of the first embodiment.
  • FIG. 13 is a flowchart showing an example of processing contents performed by the microcomputer in the programmable device of FIG.
  • the microcomputer (device management unit) 1202 executes a system management process as shown in FIG.
  • the microcomputer 1202 monitors the alarm signal 1002 from the programmable circuit (FPGA) 1201 in which the user circuit unit is mounted (step S201), and when the alarm signal 1002 is issued, the power supply voltage shown in FIG. Management processing (steps S101 to S108) is automatically executed.
  • FPGA programmable circuit
  • the microcomputer 1202 first instructs a standard power supply voltage (first power supply voltage) to the variable power supply circuit 102, and then uses the configuration signal 1204 to program the programmable circuit (FPGA). ) 1201 is configured with the first circuit data (monitor circuit 201) (steps S101 and S102). Thereafter, similarly to the case of the first embodiment, the processes of steps S103 and S104 are performed. Subsequently, the microcomputer 1202 configures the second circuit data (user circuit unit) in the programmable circuit (FPGA) 1201 using the configuration signal 1204 (step S105).
  • the microcomputer 1202 uses the variable power supply controller 1205 to determine the power supply voltage (second power supply voltage) based on the variation information stored in the third storage area AR [3] of the nonvolatile memory 1203, and to change the power supply voltage (second power supply voltage).
  • An instruction is given to the power supply circuit 102 (steps S106 and S107).
  • step S108 as described in the second embodiment, the user circuit 501 in the user circuit unit starts operating, and the aging monitor circuit 1005 also starts operating.
  • the microcomputer 1202 detects the alarm signal 1002 in the course of the operation of the aging deterioration monitor circuit 1005, the microcomputer 1202 automatically executes the above-described steps S101 to S108 again.
  • the microcomputer 1202 may be replaced with, for example, another FPGA or DSP as long as it has the same function. ⁇ Examples of application of programmable devices >>
  • FIG. 14 is a schematic diagram showing a configuration example of an information system to which the programmable apparatus according to Embodiment 3 of the present invention is applied.
  • the information system in FIG. 14 is, for example, an information processing system such as a server, an information communication system such as a router or a switch, or the like.
  • the information system shown in FIG. 14 includes a device [A] 1401, a device [B] 1408, and a device switching unit 1415.
  • the apparatus [A] 1401 includes a plurality of boards (wiring boards) 1402, 1403, and 1404. On the boards 1403 and 1404, programmable circuits (FPGAs) 1405 and 1406 on which the user circuit units described in the respective embodiments are mounted are mounted.
  • the board 1402 includes a reliability management unit 1407 for managing the programmable circuits (FPGAs) 1405 and 1406.
  • the apparatus [B] 1408 includes a plurality of boards (wiring boards) 1409, 1410, and 1411. On the boards 1410 and 1411, programmable circuits (FPGAs) 1412 and 1413 on which user circuit units are mounted are mounted, respectively.
  • the board 1409 is equipped with a reliability management unit 1414 for managing the programmable circuits (FPGAs) 1412 and 1413.
  • the device switching unit 1415 controls activation / deactivation of the device [A] 1401 and the device [B] 1408, respectively.
  • the information system shown in FIG. 14 is a system including, for example, a device [A] 1401 and a device [B] 1408 from the viewpoint of load distribution and redundancy.
  • the programmable circuit (FPGA) 1405 in the board 1403 of the device [A] 1401 is described above. Assume that the generated alarm signal 1002 is generated.
  • the alarm signal 1002 is transmitted to the reliability management unit 1407 and further transmitted to the device switching unit 1415.
  • the device switching unit 1415 degenerates the system processing to the device [B] 1408, for example, and the reliability management unit 1407 recovers the programmable circuit (FPGA) 1405 during that time.
  • the reliability management unit 1407 automatically adjusts the power supply voltage supplied to the programmable circuit (FPGA) 1405 by including the microcomputer (device management unit) 1202 described in FIG.
  • the device switching unit 1415 again distributes the system processing to the device [A] 1401 and the device [B] 1408.
  • the information system shown in FIG. 14 is a system including a device [B] 1408 as a backup of the device [A] 1401 from the viewpoint of redundancy, for example.
  • the programmable circuit (FPGA) 1405 in the board 1403 of the device [A] 1401 receives the alarm signal 1002 in the same manner as described above. Assume that it occurs.
  • the reliability management unit 1407 restores the programmable circuit (FPGA) 1405 in the same manner as described above, and the device switching unit 1415 switches the system processing to the device [B] 1408.
  • the device switching unit 1415 switches the system processing to the device [A] 1401 again, or the device [B] 1408 generates an alarm signal.
  • the system [B] 1408 is caused to perform system processing until 1002 occurs.
  • the present invention made by the present inventor has been specifically described based on the embodiment.
  • the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention.
  • the above-described embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to one having all the configurations described.
  • a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. .

Landscapes

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

Abstract

Provided are a programmable apparatus and a method for managing the power supply voltage thereof wherein characteristic fluctuations can be compensated for while the area overhead of a monitor circuit for detecting the characteristic fluctuations can be suppressed. For this purpose, first circuit data, which include a monitor circuit for detecting a characteristic parameter having a power supply voltage dependency, and second circuit data including a user circuit are stored into a memory circuit unit (103). Initially, the first circuit data are configured in a programmable circuit (FPGA) (101), and after the monitor circuit detects the characteristic parameter, the second circuit data, instead of the first circuit data, are configured, so that the user circuit operates. The power supply voltage when the user circuit operates is determined on the basis of a detection result of the monitor circuit.

Description

プログラマブル装置の電源電圧管理方法およびプログラマブル装置Power supply voltage management method for programmable device and programmable device
 本発明は、プログラマブル装置の電源電圧管理方法およびプログラマブル装置に関し、例えば、FPGA(Field Programmable Gate Array)を含んだプログラマブル装置の電源電圧管理手法に関する。 The present invention relates to a power supply voltage management method for a programmable device and a programmable device, for example, a power supply voltage management method for a programmable device including an FPGA (Field Programmable Gate Array).
 例えば、特許文献1には、LSIのクリティカルパスの遅延をモニタし、そのモニタ結果に基づいて電源電圧を制御する方式が示されている。また、特許文献2には、LSI内に、監視クロック信号を生成するリングオシレータと、周波数比較回路とを設け、当該監視クロック信号の周波数と外部から入力された基準クロック信号の周波数とを比較し、その比較結果に応じて電源電圧を制御する方式が示されている。 For example, Patent Document 1 discloses a method of monitoring the delay of an LSI critical path and controlling the power supply voltage based on the monitoring result. In Patent Document 2, a ring oscillator for generating a monitoring clock signal and a frequency comparison circuit are provided in the LSI, and the frequency of the monitoring clock signal is compared with the frequency of a reference clock signal input from the outside. A system for controlling the power supply voltage according to the comparison result is shown.
特開2010-123807号公報JP 2010-123807 A 特開2008-147274号公報JP 2008-147274 A
 近年、LSI(Large Scale Integration)の微細化に伴いトランジスタのばらつきが増加している。このデバイスばらつきが引き起こすLSIの特性変動により、LSIの動作マージンは減少し、従来と比べて設計が困難になっている。また、高速動作品のリーク電流の増大に伴い、消費電力の増大も懸念される。このような問題の対策の一つとして、例えば、特許文献1や特許文献2のような技術を用いて、特性ばらつきに応じてLSIの電源電圧を制御し、LSIの特性変動を補償することが考えられる。 In recent years, with the miniaturization of LSI (Large Scale Integration), transistor variations have increased. Due to the characteristic variation of the LSI caused by this device variation, the operation margin of the LSI is reduced, making it difficult to design compared to the conventional case. In addition, there is a concern that the power consumption increases as the leakage current of the high-speed operation product increases. As one of countermeasures against such a problem, for example, by using a technique such as Patent Document 1 or Patent Document 2, the power supply voltage of the LSI is controlled according to the characteristic variation to compensate for the characteristic variation of the LSI. Conceivable.
 特許文献1や特許文献2のような方式は、LSIの特性変動を補償する観点では有効である。しかしながら、同一のLSI上に、LSIの本来の機能を実現するユーザ回路に加えて特性ばらつきを検出するモニタ回路が搭載されることになるので、モニタ回路による面積のオーバヘッドが課題となる。近年、FPGAを代表に、様々な分野で活用されているプログラマブル装置においては、ASIC(Application Specific Integrated Circuit)と比べて集積度が低いことや、ロジック基本セルの構造が決まっていることによりモニタ回路の面積が過剰に増大する等の理由から、特に、モニタ回路の面積が問題となる。 The methods such as Patent Document 1 and Patent Document 2 are effective from the viewpoint of compensating for the characteristic variation of the LSI. However, since the monitor circuit for detecting the characteristic variation is mounted on the same LSI in addition to the user circuit for realizing the original function of the LSI, the overhead of the area due to the monitor circuit becomes a problem. In recent years, in programmable devices used in various fields, represented by FPGAs, monitor circuits are less integrated than ASIC (Application Specific Integrated Circuit) and the structure of logic basic cells is determined. In particular, the area of the monitor circuit becomes a problem because the area of the monitor circuit increases excessively.
 本発明は、このような問題を解決するためになされたものであり、その目的の一つは、特性変動を検出するモニタ回路の面積オーバヘッドを抑制しつつ、特性変動を補償することが可能なプログラマブル装置ならびにその電源電圧管理方法を提供することにある。 The present invention has been made to solve such a problem, and one of the purposes is to compensate for characteristic variation while suppressing area overhead of a monitor circuit for detecting characteristic variation. To provide a programmable device and a power supply voltage management method thereof.
 本発明の前記ならびにそれ以外の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will become apparent from the description of the present specification and the accompanying drawings.
 本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次の通りである。 Among the inventions disclosed in the present application, the outline of a typical embodiment will be briefly described as follows.
 本実施の形態によるプログラマブル装置は、回路データに応じて自身に任意の回路を実装するプログラマブル回路と、プログラマブル回路に電源電圧を供給する電源回路と、を備える。そして、当該プログラマブル装置の電源電圧管理方法は、第1工程~第4工程を有する。第1工程は、電源電圧依存性を持つ特性パラメータを検出するための第1モニタ回路を含んだ第1回路データをプログラマブル回路にコンフィギュレーションする工程である。第2工程は、電源回路によって第1電源電圧が供給されている状態で、プログラマブル回路に実装された第1モニタ回路を用いて特性パラメータを検出する工程である。第3工程は、所定の処理を行うユーザ回路を含んだ第2回路データを、第1回路データの代わりにまたは加えてプログラマブル回路にコンフィギュレーションする工程である。第4工程は、電源回路によって第2電源電圧が供給されている状態で、プログラマブル回路に実装されたユーザ回路を用いて所定の処理を行う工程である。この際に、第2電源電圧は、第2工程で第1モニタ回路によって検出された特性パラメータに基づいて定められる。 The programmable device according to the present embodiment includes a programmable circuit that mounts an arbitrary circuit on itself according to circuit data, and a power supply circuit that supplies a power supply voltage to the programmable circuit. The power supply voltage management method for the programmable device includes first to fourth steps. The first step is a step of configuring first circuit data including a first monitor circuit for detecting a characteristic parameter having power supply voltage dependency into a programmable circuit. The second step is a step of detecting the characteristic parameter using the first monitor circuit mounted on the programmable circuit in a state where the first power supply voltage is supplied by the power supply circuit. The third step is a step of configuring the second circuit data including the user circuit that performs a predetermined process into a programmable circuit instead of or in addition to the first circuit data. The fourth step is a step of performing a predetermined process using a user circuit mounted on the programmable circuit in a state where the second power supply voltage is supplied by the power supply circuit. At this time, the second power supply voltage is determined based on the characteristic parameter detected by the first monitor circuit in the second step.
 本願において開示される発明のうち代表的な実施の形態によって得られる効果を簡単に説明すれば、プログラマブル装置において、特性変動を検出するモニタ回路の面積オーバヘッドを抑制しつつ、特性変動を補償することが可能になる。 The effects obtained by the representative embodiments of the invention disclosed in the present application will be briefly described. In the programmable device, the characteristic variation is compensated while suppressing the area overhead of the monitor circuit that detects the characteristic variation. Is possible.
本発明の実施の形態1によるプログラマブル装置において、その主要部の構成例を示す概略図である。In the programmable device by Embodiment 1 of this invention, it is the schematic which shows the structural example of the principal part. 図1のプログラマブル回路(FPGA)に実装されるモニタ回路の構成例を示す概略図である。It is the schematic which shows the structural example of the monitor circuit mounted in the programmable circuit (FPGA) of FIG. 図2のモニタ回路において、そのばらつき検出回路の構成例を示す概略図である。FIG. 3 is a schematic diagram illustrating a configuration example of a variation detection circuit in the monitor circuit of FIG. 2. 図3におけるリングオシレータ回路の構成例を示す概略図である。It is the schematic which shows the structural example of the ring oscillator circuit in FIG. 図1のプログラマブル回路(FPGA)に実装されるユーザ回路部の構成例を示す概略図である。It is the schematic which shows the structural example of the user circuit part mounted in the programmable circuit (FPGA) of FIG. 図1のプログラマブル装置において、その電源電圧管理方法の一例を示すフロー図である。FIG. 2 is a flowchart showing an example of a power supply voltage management method in the programmable device of FIG. 1. 図1におけるメモリ回路部の構成例を示す概略図である。FIG. 2 is a schematic diagram illustrating a configuration example of a memory circuit unit in FIG. 1. 図1におけるメモリ回路部の図7とは異なる構成例を示す概略図である。FIG. 8 is a schematic diagram illustrating a configuration example different from that of FIG. 7 of the memory circuit unit in FIG. 1. 図7および図8において、メモリ回路部に格納されるばらつき情報の一例を示す説明図である。7 and 8 are explanatory diagrams showing an example of variation information stored in the memory circuit unit. 本発明による実施の形態2のプログラマブル装置において、そのプログラマブル回路に実装されるユーザ回路部の構成例を示す概略図である。In the programmable device of Embodiment 2 by this invention, it is the schematic which shows the structural example of the user circuit part mounted in the programmable circuit. 図10における経年劣化モニタ回路の構成例を示す概略図である。It is the schematic which shows the structural example of the aged deterioration monitor circuit in FIG. 本発明による実施の形態3のプログラマブル装置において、その主要部の構成例を示す概略図である。In the programmable device of Embodiment 3 by this invention, it is the schematic which shows the structural example of the principal part. 図12のプログラマブル装置において、そのマイコンが行う処理内容の一例を示すフロー図である。It is a flowchart which shows an example of the processing content which the microcomputer performs in the programmable device of FIG. 本発明の実施の形態3によるプログラマブル装置において、それを適用した情報システムの構成例を示す概略図である。It is the schematic which shows the structural example of the information system which applied it in the programmable device by Embodiment 3 of this invention.
 以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。 In the following embodiments, when it is necessary for the sake of convenience, the description will be divided into a plurality of sections or embodiments. However, unless otherwise specified, they are not irrelevant to each other. There are some or all of the modifications, details, supplementary explanations, and the like. Further, in the following embodiments, when referring to the number of elements (including the number, numerical value, quantity, range, etc.), especially when clearly indicated and when clearly limited to a specific number in principle, etc. Except, it is not limited to the specific number, and may be more or less than the specific number.
 さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。 Further, in the following embodiments, the constituent elements (including element steps and the like) are not necessarily indispensable unless otherwise specified and apparently essential in principle. Needless to say. Similarly, in the following embodiments, when referring to the shapes, positional relationships, etc. of the components, etc., the shapes are substantially the same unless otherwise specified, or otherwise apparent in principle. And the like are included. The same applies to the above numerical values and ranges.
 以下、本発明の実施の形態を図面に基づいて詳細に説明する。実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
 (実施の形態1)
 《プログラマブル装置の概略構成》
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In all the drawings for explaining the embodiments, the same members are denoted by the same reference symbols in principle, and the repeated explanation thereof is omitted.
(Embodiment 1)
<< Schematic configuration of programmable device >>
 図1は、本発明の実施の形態1によるプログラマブル装置において、その主要部の構成例を示す概略図である。図1に示すプログラマブル装置104は、FPGAを代表とするプログラマブル回路101と、可変電源回路(PWR)102と、メモリ回路部(MEM)103とを備える。可変電源回路102は、プログラマブル回路(FPGA)101に供給する電源電圧を生成する。この電源電圧の値は、この例では、プログラマブル回路(FPGA)101から出力される制御信号により調整される。 FIG. 1 is a schematic diagram showing a configuration example of a main part of a programmable device according to Embodiment 1 of the present invention. A programmable device 104 illustrated in FIG. 1 includes a programmable circuit 101 represented by an FPGA, a variable power supply circuit (PWR) 102, and a memory circuit unit (MEM) 103. The variable power supply circuit 102 generates a power supply voltage to be supplied to the programmable circuit (FPGA) 101. In this example, the value of the power supply voltage is adjusted by a control signal output from the programmable circuit (FPGA) 101.
 メモリ回路部(MEM)103は、例えば、フラッシュメモリ等の不揮発性メモリを含み、プログラマブル回路(FPGA)101からの書き込み、および、読み出しが可能な構成となっている。メモリ回路部(MEM)103には、詳細は後述するが、モニタ回路を含む第1回路データとユーザ回路部(およびユーザ回路)を含む第2回路データとをそれぞれ格納するための各記憶領域と、モニタ回路からの情報を格納するための記憶領域とを備える。モニタ回路は、電源電圧依存性を持つ特性パラメータを検出し、ユーザ回路は、ユーザによって定められる所定の処理を行う。 The memory circuit unit (MEM) 103 includes, for example, a non-volatile memory such as a flash memory, and has a configuration capable of writing and reading from the programmable circuit (FPGA) 101. As will be described in detail later, the memory circuit unit (MEM) 103 has storage areas for storing first circuit data including a monitor circuit and second circuit data including a user circuit unit (and a user circuit), respectively. And a storage area for storing information from the monitor circuit. The monitor circuit detects a characteristic parameter having power supply voltage dependency, and the user circuit performs a predetermined process determined by the user.
 プログラマブル回路(FPGA)101、可変電源回路102、メモリ回路部(MEM)103は、様々な形態で実現可能である。例えば、3個の回路をそれぞれ3個のデバイスで構成した形態や、または、3個の回路を1個のデバイスに集積した形態や、あるいは、2個の回路を1個のデバイスに集積し、残りの回路を1個のデバイスで構成した形態が挙げられる。各デバイスは、例えば、同一の配線基板上に搭載される。プログラマブル回路101は、必ずしもFPGAに限定されるものではなく、回路データに応じて自身に任意の回路を実装可能なリコンフィギュラブル回路であればよい。 The programmable circuit (FPGA) 101, the variable power supply circuit 102, and the memory circuit unit (MEM) 103 can be realized in various forms. For example, three circuits each composed of three devices, three circuits integrated into one device, or two circuits integrated into one device, The form which comprised the remaining circuit with one device is mentioned. Each device is mounted on the same wiring board, for example. The programmable circuit 101 is not necessarily limited to the FPGA, and may be any reconfigurable circuit that can mount an arbitrary circuit on itself according to circuit data.
 このような構成において、図1のプログラマブル装置は、概略的には、次のようにして電源電圧が管理される。まず、プログラマブル回路(FPGA)101に、モニタ回路(第1モニタ回路)を含んだ第1回路データがコンフィギュレーションされ、モニタ回路は前述した特性パラメータを検出する。その後、プログラマブル回路(FPGA)101に、第1回路データの代わりにユーザ回路部(およびユーザ回路)を含んだ第2回路データがコンフィギュレーションされ、ユーザ回路は所定の処理を行う。このユーザ回路が所定の処理を行う際に、可変電源回路102は、モニタ回路で検出された特性パラメータに基づいて定められる電源電圧をプログラマブル回路(FPGA)101に供給する。この電源電圧は、図1の例では、プログラマブル回路(FPGA)101によって決定される。
 《プログラマブル回路の構成》
In such a configuration, the power supply voltage of the programmable device of FIG. 1 is generally managed as follows. First, first circuit data including a monitor circuit (first monitor circuit) is configured in the programmable circuit (FPGA) 101, and the monitor circuit detects the above-described characteristic parameter. After that, the second circuit data including the user circuit unit (and the user circuit) is configured in the programmable circuit (FPGA) 101 instead of the first circuit data, and the user circuit performs a predetermined process. When the user circuit performs a predetermined process, the variable power supply circuit 102 supplies a power supply voltage determined based on the characteristic parameter detected by the monitor circuit to the programmable circuit (FPGA) 101. This power supply voltage is determined by the programmable circuit (FPGA) 101 in the example of FIG.
<Programmable circuit configuration>
 図2は、図1のプログラマブル回路(FPGA)に実装されるモニタ回路の構成例を示す概略図である。図2のモニタ回路(第1モニタ回路)201は、前述したように、図1のメモリ回路部(MEM)103に格納される第1回路データをプログラマブル回路(FPGA)にコンフィギュレーションすることで得られる回路である。モニタ回路201は、ばらつき検出回路202と、メモリコントローラ203とを備える。 FIG. 2 is a schematic diagram showing a configuration example of a monitor circuit mounted on the programmable circuit (FPGA) of FIG. As described above, the monitor circuit (first monitor circuit) 201 in FIG. 2 is obtained by configuring the first circuit data stored in the memory circuit unit (MEM) 103 in FIG. 1 into a programmable circuit (FPGA). Circuit. The monitor circuit 201 includes a variation detection circuit 202 and a memory controller 203.
 ばらつき検出回路202は、電源電圧依存性を持つ特性パラメータを検出する。例えば、特性パラメータは、プログラマブル回路(FPGA)101内で伝送される信号の遅延時間であり、ばらつき検出回路202は、遅延時間のばらつきを検出する。電源電圧依存性を持つ特性パラメータは、その他にも例えば電源電流値等であってもよい。ただし、特にFPGA等では、ロジック回路によってばらつき検出回路202を構成することが望ましいため、この観点では信号の遅延時間を用いることが有益となる。 The variation detection circuit 202 detects a characteristic parameter having power supply voltage dependency. For example, the characteristic parameter is a delay time of a signal transmitted in the programmable circuit (FPGA) 101, and the variation detection circuit 202 detects variation in the delay time. The characteristic parameter having power supply voltage dependency may be, for example, a power supply current value. However, especially in an FPGA or the like, it is desirable to configure the variation detection circuit 202 with a logic circuit, and therefore, from this point of view, it is beneficial to use a signal delay time.
 ばらつき検出回路202は、信号の遅延時間のばらつきを検出し、その検出結果をメモリコントローラ203に送付する。メモリコントローラ203は、メモリ制御信号204によってメモリ回路部103に対するアクセスを制御しながら、ばらつき検出回路202の検出結果となるばらつき情報205をメモリ回路部103に書き込む。メモリ制御信号204によって、メモリ回路部103内のどの記憶領域にアクセスするかを選択することができる。 The variation detection circuit 202 detects the variation in the delay time of the signal and sends the detection result to the memory controller 203. The memory controller 203 writes variation information 205 as a detection result of the variation detection circuit 202 in the memory circuit unit 103 while controlling access to the memory circuit unit 103 by the memory control signal 204. The memory control signal 204 can select which storage area in the memory circuit unit 103 is to be accessed.
 図5は、図1のプログラマブル回路(FPGA)に実装されるユーザ回路部の構成例を示す概略図である。図5のユーザ回路部510は、前述したように、図1のメモリ回路部(MEM)103に格納される第2回路データをプログラマブル回路(FPGA)にコンフィギュレーションすることで得られる回路である。ユーザ回路部510は、ユーザによって任意に定められる処理を行うユーザ回路501と、メモリコントローラ502と、可変電源コントローラ503とを備える。ユーザ回路501には、リセット信号512が入力される。 FIG. 5 is a schematic diagram showing a configuration example of a user circuit unit mounted on the programmable circuit (FPGA) of FIG. As described above, the user circuit unit 510 in FIG. 5 is a circuit obtained by configuring the second circuit data stored in the memory circuit unit (MEM) 103 in FIG. 1 into a programmable circuit (FPGA). The user circuit unit 510 includes a user circuit 501 that performs processing arbitrarily determined by the user, a memory controller 502, and a variable power supply controller 503. A reset signal 512 is input to the user circuit 501.
 メモリコントローラ502は、メモリ制御信号508によってメモリ回路部103に対するアクセスを制御しながら、メモリ回路部103に格納されたばらつき情報509を読み出す。メモリ制御信号508によって、メモリ回路部103内のどの記憶領域にアクセスするかを選択することができる。 The memory controller 502 reads the variation information 509 stored in the memory circuit unit 103 while controlling access to the memory circuit unit 103 by the memory control signal 508. The memory control signal 508 can select which storage area in the memory circuit unit 103 is to be accessed.
 可変電源コントローラ503は、電圧決定部504と電源インタフェース部505とを備える。電圧決定部504は、メモリコントローラ502を介して取得したばらつき情報509に基づいて電源電圧の値を決定する。電源インタフェース部505は、図1の可変電源回路(PWR)102に対して、電圧決定部504で定められた電源電圧を、電圧制御信号507を介して指示する。なお、電圧設定完了信号511は、電源電圧を変更した旨を外部に向けて通知するための信号である。
 《プログラマブル装置の電源電圧管理方法》
The variable power supply controller 503 includes a voltage determination unit 504 and a power supply interface unit 505. The voltage determination unit 504 determines the value of the power supply voltage based on the variation information 509 acquired via the memory controller 502. The power supply interface unit 505 instructs the power supply voltage determined by the voltage determination unit 504 to the variable power supply circuit (PWR) 102 in FIG. 1 via the voltage control signal 507. The voltage setting completion signal 511 is a signal for notifying the outside that the power supply voltage has been changed.
<< Power supply voltage management method for programmable devices >>
 図6は、図1のプログラマブル装置において、その電源電圧管理方法の一例を示すフロー図である。図6の電源電圧管理処理では、プログラマブル回路(FPGA)101の起動から電源電圧を制御してユーザ回路を動作させるまでに実施される一連の処理内容が示されている。図6の電源電圧管理処理は、例えば、図1のプログラマブル装置104の製造後、プログラマブル回路(FPGA)101の特性変動の補償が必要となる任意のタイミングで実施される。 FIG. 6 is a flowchart showing an example of the power supply voltage management method in the programmable device of FIG. In the power supply voltage management process of FIG. 6, a series of processing contents executed from the start of the programmable circuit (FPGA) 101 until the power supply voltage is controlled to operate the user circuit is shown. The power supply voltage management process in FIG. 6 is performed at an arbitrary timing that requires compensation for characteristic variation of the programmable circuit (FPGA) 101 after the manufacture of the programmable device 104 in FIG. 1, for example.
 図6では、まず、可変電源回路102が予め定めた標準値の電源電圧(第1電源電圧)をプログラマブル回路(FPGA)101およびメモリ回路部103に供給している状態で、プログラマブル回路(FPGA)101が起動される(ステップS101)。次いで、プログラマブル回路(FPGA)101の起動により、メモリ回路部103に格納されているモニタ回路201を含んだ第1回路データが、プログラマブル回路(FPGA)101内のコンフィギュレーションメモリに書き込まれる。このコンフィギュレーションによって、プログラマブル回路(FPGA)101に図2のモニタ回路201が実装される。 In FIG. 6, first, the variable power supply circuit 102 supplies the programmable circuit (FPGA) with a predetermined standard power supply voltage (first power supply voltage) to the programmable circuit (FPGA) 101 and the memory circuit unit 103. 101 is activated (step S101). Next, when the programmable circuit (FPGA) 101 is activated, the first circuit data including the monitor circuit 201 stored in the memory circuit unit 103 is written to the configuration memory in the programmable circuit (FPGA) 101. With this configuration, the monitor circuit 201 of FIG. 2 is mounted on the programmable circuit (FPGA) 101.
 続いて、モニタ回路201は、前述した標準値の電源電圧(第1電源電圧)が供給された状態で、図2で述べたように、プログラマブル回路(FPGA)101における所定の特性パラメータ(ここでは遅延時間のばらつき)を検出する(ステップS103)。そして、モニタ回路201は、その検出結果となるばらつき情報205をメモリ回路部103に書き込む(ステップS104)。 Subsequently, the monitor circuit 201 is supplied with the standard value power supply voltage (first power supply voltage) as described above with reference to a predetermined characteristic parameter (here, the programmable circuit (FPGA) 101) (see here). A variation in delay time is detected (step S103). Then, the monitor circuit 201 writes the variation information 205 as the detection result in the memory circuit unit 103 (step S104).
 次いで、ステップS102での第1回路データの代わりに、メモリ回路部103に格納されているユーザ回路部510を含んだ第2回路データが、プログラマブル回路(FPGA)101内のコンフィギュレーションメモリに書き込まれる(ステップS105)。このコンフィギュレーションによって、プログラマブル回路(FPGA)101に図5のユーザ回路部510(およびユーザ回路501)が実装され、モニタ回路201は完全に消去されることになる。 Next, in place of the first circuit data in step S102, the second circuit data including the user circuit unit 510 stored in the memory circuit unit 103 is written into the configuration memory in the programmable circuit (FPGA) 101. (Step S105). With this configuration, the user circuit unit 510 (and user circuit 501) of FIG. 5 is mounted on the programmable circuit (FPGA) 101, and the monitor circuit 201 is completely erased.
 続いて、ユーザ回路部510内の可変電源コントローラ503は、メモリコントローラ502を介して、メモリ回路部103から、ステップS104で格納されたばらつき情報を読み出す。可変電源コントローラ503内の電圧決定部504は、ばらつき情報に基づいて電源電圧(第2電源電圧)の値を決定する(ステップS106)。 Subsequently, the variable power controller 503 in the user circuit unit 510 reads the variation information stored in step S104 from the memory circuit unit 103 via the memory controller 502. The voltage determination unit 504 in the variable power supply controller 503 determines the value of the power supply voltage (second power supply voltage) based on the variation information (step S106).
 次いで、可変電源コントローラ503内の電源インタフェース部505は、電圧制御信号507を介して、この決定した電源電圧(第2電源電圧)を可変電源回路102に指示する(ステップS107)。これに応じて可変電源回路102は、当該電源電圧(第2電源電圧)を生成する。また、可変電源コントローラ503は、外部に向けて電圧設定完了信号511を介して電源電圧を変更した旨を通知する。 Next, the power supply interface unit 505 in the variable power supply controller 503 instructs the determined power supply voltage (second power supply voltage) to the variable power supply circuit 102 via the voltage control signal 507 (step S107). In response to this, the variable power supply circuit 102 generates the power supply voltage (second power supply voltage). Further, the variable power supply controller 503 notifies the outside that the power supply voltage has been changed via the voltage setting completion signal 511.
 例えば、この電圧設定完了信号511に応じて、ユーザ回路部510内のユーザ回路501に入力されているリセット信号512が解除される。これにより、ユーザ回路501は、ステップS107で設定された電源電圧(第2電源電圧)が供給された状態で、動作を開始する(ステップS108)。 For example, in response to the voltage setting completion signal 511, the reset signal 512 input to the user circuit 501 in the user circuit unit 510 is canceled. Thereby, the user circuit 501 starts the operation in a state where the power supply voltage (second power supply voltage) set in step S107 is supplied (step S108).
 以上のような電源電圧管理方法を用いることで、プログラマブル回路(FPGA)101に、モニタ回路201とユーザ回路501を同時に常駐させずに、プログラマブル回路(FPGA)101の特性変動を電源電圧の調整によって補償することが可能になる。すなわち、前述した特許文献1や特許文献2の場合に生じ得る、ユーザ回路501に対するモニタ回路201の面積オーバヘッドを無くすことができる。その結果、相対的にユーザ回路501で使用可能な回路規模を拡大でき、また、ユーザ回路501が動作する際に、モニタ回路201で電力が消費されるような事態を防止できる。 By using the power supply voltage management method as described above, the characteristic variation of the programmable circuit (FPGA) 101 can be adjusted by adjusting the power supply voltage without causing the monitor circuit 201 and the user circuit 501 to reside in the programmable circuit (FPGA) 101 at the same time. It becomes possible to compensate. That is, the area overhead of the monitor circuit 201 with respect to the user circuit 501 that can occur in the case of the above-described Patent Document 1 and Patent Document 2 can be eliminated. As a result, the circuit scale that can be used in the user circuit 501 can be relatively increased, and a situation in which power is consumed in the monitor circuit 201 when the user circuit 501 operates can be prevented.
 なお、この例では、図5の可変電源コントローラ503によって最適な電源電圧(第2電源電圧)の決定ならびに指示を行ったが、必ずしも、これに限定されるものではない。例えば、可変電源コントローラ503と同様な機能を持つ回路部を、プログラマブル回路(FPGA)101の外部に設けてもよい。その詳細な例は、図12で後述するが、この外部の回路部は、ばらつき情報に応じて電源電圧(第2電源電圧)を定めると共に、その後に、プログラマブル回路(FPGA)101に対してユーザ回路501が実装される前提のもとに、当該定めた電源電圧を可変電源回路102に対して指示する。 In this example, the optimum power supply voltage (second power supply voltage) is determined and instructed by the variable power supply controller 503 in FIG. 5, but the present invention is not necessarily limited thereto. For example, a circuit unit having a function similar to that of the variable power supply controller 503 may be provided outside the programmable circuit (FPGA) 101. A detailed example thereof will be described later with reference to FIG. 12, and the external circuit unit determines a power supply voltage (second power supply voltage) according to variation information, and then the programmable circuit (FPGA) 101 has a user. Based on the premise that the circuit 501 is mounted, the determined power supply voltage is instructed to the variable power supply circuit 102.
 または、可変電源コントローラ503内の電圧決定部504と同様な機能を持つ回路部を、図2のばらつき検出回路202とメモリコントローラ203の間に挿入してもよい。この場合、図2のメモリコントローラ203は、ばらつき情報205の代わりに、あるいは加えて、当該回路部で定められた電源電圧(第2電源電圧)をメモリ回路部103に格納する。そして、図5の可変電源コントローラ503内の電源インタフェース505は、単に、メモリ回路部103に格納された電源電圧をメモリコントローラ502を介して読み出し、当該電源電圧を可変電源回路102に対して設定する。 Alternatively, a circuit unit having the same function as the voltage determination unit 504 in the variable power supply controller 503 may be inserted between the variation detection circuit 202 and the memory controller 203 in FIG. In this case, the memory controller 203 in FIG. 2 stores the power supply voltage (second power supply voltage) determined by the circuit unit in the memory circuit unit 103 instead of or in addition to the variation information 205. Then, the power interface 505 in the variable power controller 503 of FIG. 5 simply reads the power voltage stored in the memory circuit unit 103 via the memory controller 502 and sets the power voltage for the variable power circuit 102. .
 さらに、これらの方式以外にも様々な方式が考えられる。すなわち、可変電源回路102が図2のモニタ回路201の検出結果に基づいて定められる電源電圧(第2電源電圧)をユーザ回路501に供給できる方式であれば、その具体的な方式は特に限定されず、いずれの方式を用いてもよい。
 《ばらつき検出回路の構成》
Further, various methods other than these methods are conceivable. That is, as long as the variable power supply circuit 102 can supply a power supply voltage (second power supply voltage) determined based on the detection result of the monitor circuit 201 in FIG. Any method may be used.
<Configuration of variation detection circuit>
 図3は、図2のモニタ回路において、そのばらつき検出回路の構成例を示す概略図である。図3のばらつき検出回路202は、図2で述べたように、信号の遅延時間のばらつきを検出する回路となっている。ばらつき検出回路202は、リングオシレータブロック301と、セレクタ302と、統計処理部303と、データメモリ304と、制御部305とを備える。リングオシレータブロック301は、複数のリングオシレータ回路RO[1]~RO[n]を含む。 FIG. 3 is a schematic diagram showing a configuration example of the variation detection circuit in the monitor circuit of FIG. The variation detection circuit 202 in FIG. 3 is a circuit that detects variations in signal delay time, as described in FIG. The variation detection circuit 202 includes a ring oscillator block 301, a selector 302, a statistical processing unit 303, a data memory 304, and a control unit 305. Ring oscillator block 301 includes a plurality of ring oscillator circuits RO [1] to RO [n].
 制御部305は、リングオシレータブロック301、セレクタ302、統計処理部303、およびデータメモリ304の動作を制御する。セレクタ302は、複数のリングオシレータ回路RO[1]~RO[n]の出力信号(すなわちクロック信号)の中から一つを選択し、その選択した出力信号を統計処理部303に出力する。統計処理部303は、セレクタ302から出力されたクロック信号を一定の期間カウントすることで、その周波数(言い換えれば信号の遅延時間)を検出する。 The control unit 305 controls operations of the ring oscillator block 301, the selector 302, the statistical processing unit 303, and the data memory 304. The selector 302 selects one of the output signals (that is, clock signals) of the plurality of ring oscillator circuits RO [1] to RO [n], and outputs the selected output signal to the statistical processing unit 303. The statistical processing unit 303 detects the frequency (in other words, the signal delay time) by counting the clock signal output from the selector 302 for a certain period.
 セレクタ302は、複数のリングオシレータ回路RO[1]~RO[n]の出力信号を順に選択し、これに応じて、統計処理部303は、各リングオシレータ回路RO[1]~RO[n]の周波数(信号の遅延時間)を順に検出する。統計処理部303は、全てのリングオシレータ回路RO[1]~RO[n]から検出した周波数の平均値および標準偏差を求め、両数値をデータメモリ304へ出力する。データメモリ304は、この周波数の平均値および標準偏差を記憶すると共に、その情報をばらつき情報として出力する。なお、周波数の平均値はチップ間の特性ばらつきを表し、周波数の標準偏差はチップ内の特性ばらつきを表すことになる。 The selector 302 sequentially selects the output signals of the plurality of ring oscillator circuits RO [1] to RO [n], and in response to this, the statistical processing unit 303 selects each ring oscillator circuit RO [1] to RO [n]. Are sequentially detected (signal delay time). The statistical processing unit 303 obtains average values and standard deviations of the frequencies detected from all the ring oscillator circuits RO [1] to RO [n], and outputs both values to the data memory 304. The data memory 304 stores the average value and standard deviation of the frequency and outputs the information as variation information. The average value of the frequency represents the characteristic variation between chips, and the standard deviation of the frequency represents the characteristic variation in the chip.
 図3では、ばらつき検出回路202内に複数のリングオシレータ回路を設けたが、少なくとも1個のリングオシレータ回路を設ければ、これによる1個の検出結果(周波数(遅延時間))に基づいて電源電圧を定めることが可能である。だだし、この場合、例えば、加工寸法のばらつき等に伴いチップ内の配置に依存して規則的に生じる遅延時間のばらつきや、RTN(Random Telegraph Noise)等に伴いチップ内の配置に依らずランダムに生じ、また時間軸上でランダムに生じる遅延時間のばらつきを検出することが困難となり得る。その結果、チップ内の配置によっては電源電圧が不足する事態が生じたり、あるいは、これを防止するために、電圧電圧に過剰なマージンを持たせ、消費電力が不必要に大きくなるような事態が生じる恐れがある。 In FIG. 3, a plurality of ring oscillator circuits are provided in the variation detection circuit 202. However, if at least one ring oscillator circuit is provided, the power supply is based on one detection result (frequency (delay time)). It is possible to determine the voltage. However, in this case, for example, random variations in delay time that occur regularly depending on the placement in the chip due to variations in processing dimensions, etc., and randomness regardless of the placement in the chip due to RTN (Random Telegraph Noise) etc. In addition, it may be difficult to detect variations in delay time that occur randomly on the time axis. As a result, the power supply voltage may become insufficient depending on the arrangement in the chip, or in order to prevent this, an excessive margin is provided in the voltage voltage, and the power consumption becomes unnecessarily large. May occur.
 そこで、このような規則的あるいはランダムに生じる遅延時間のばらつきを検出するため、図3のように、複数のリングオシレータ回路RO[1]~RO[n]を設けることが有益となる。これによって、チップ内の配置に依存して規則的に生じる遅延時間のばらつき度合いや、チップ内の配置に依らず、ランダムに生じる遅延時間のばらつき度合いを、標準偏差によって検出することができる。なお、時間軸上でランダムに生じる遅延時間のばらつき度合いをより十分に検出するためには、例えば、複数のリングオシレータ回路RO[1]~RO[n]の周波数を順に検出する動作を一定の間隔で複数回繰り返し、それら全ての検出結果を対象に平均値および標準偏差を算出することも有益である。 Therefore, in order to detect such a variation in delay time that occurs regularly or randomly, it is beneficial to provide a plurality of ring oscillator circuits RO [1] to RO [n] as shown in FIG. As a result, the degree of variation in delay time that regularly occurs depending on the arrangement in the chip and the degree of variation in delay time that occurs randomly regardless of the arrangement in the chip can be detected by the standard deviation. In order to more fully detect the degree of variation in delay time that occurs randomly on the time axis, for example, the operation of sequentially detecting the frequencies of the plurality of ring oscillator circuits RO [1] to RO [n] is fixed. It is also beneficial to calculate the average value and the standard deviation for all the detection results by repeating a plurality of times at intervals.
 図3のように、有益な検出結果が得られるばらつき検出回路202をプログラマブル回路(FPGA)101に実装するためには、その分、大規模な実装領域を確保する必要性が生じる。例えば、ばらつき検出回路とユーザ回路が同時に常駐する特許文献1および特許文献2のような方式では、モニタ回路が大規模化すると、ユーザ回路に対する面積オーバヘッドや消費電力の問題が生じ得るが、本実施の形態の方式では、このような問題は生じない。このため、図3のようなばらつき検出回路202を問題無く実装することができ、場合によっては、複数のリングオシレータ回路RO[1]~RO[n]をチップ内で略均一に分散配置するようなことも可能である。その結果、前述したようなチップ内の配置によって電源電圧が不足する事態や、電源電圧に過剰なマージンを持たせることで消費電力が過大となるような事態を防止でき、より妥当性が高い最適な電源電圧(第2電源電圧)を定めることが可能になる。 As shown in FIG. 3, in order to mount the variation detection circuit 202 that can provide a useful detection result on the programmable circuit (FPGA) 101, it is necessary to secure a large mounting area. For example, in the systems such as Patent Document 1 and Patent Document 2 in which the variation detection circuit and the user circuit are resident at the same time, when the monitor circuit is increased in size, problems in area overhead and power consumption for the user circuit may occur. Such a problem does not occur in the system of the form. For this reason, the variation detection circuit 202 as shown in FIG. 3 can be mounted without any problem. In some cases, a plurality of ring oscillator circuits RO [1] to RO [n] are distributed substantially uniformly in the chip. It is also possible. As a result, it is possible to prevent the situation where the power supply voltage is insufficient due to the arrangement in the chip as described above, and the situation where the power consumption becomes excessive by giving the power supply voltage an excessive margin, and the optimality with higher validity. It is possible to determine a correct power supply voltage (second power supply voltage).
 ここで、この最適な電源電圧(第2電源電圧)を定める方法の一例について説明する。例えば、図5の電圧決定部504は、予め定めたテーブルまたは関係式に基づいて、図3のばらつき検出回路202から得られたばらつき情報(周波数の平均値および標準偏差)に応じた電源電圧(第2電源電圧)を定める。当該テーブルまたは関係式には、特に限定はされないが、周波数の平均値と、それに応じて必要とされる電源電圧との関係(第1の関係と呼ぶ)や、周波数の標準偏差と、それに応じて必要とされる電源電圧の最小限の電圧マージンとの関係(第2の関係と呼ぶ)等が示されている。 Here, an example of a method for determining the optimum power supply voltage (second power supply voltage) will be described. For example, the voltage determination unit 504 in FIG. 5 generates a power supply voltage (frequency average value and standard deviation) according to variation information (frequency average value and standard deviation) obtained from the variation detection circuit 202 in FIG. 3 based on a predetermined table or relational expression. Second power supply voltage) is determined. The table or relational expression is not particularly limited, but the relationship between the average value of the frequency and the power supply voltage required accordingly (referred to as the first relationship), the standard deviation of the frequency, and the response The relationship between the required power supply voltage and the minimum voltage margin (referred to as the second relationship) is shown.
 第1の関係では、周波数の平均値が低くなる程(言い換えれば遅延時間が長くなる程)必要とされる電源電圧は高くなり、第2の関係では、周波数の標準偏差が大きくなるほど必要とされる電源電圧の電圧マージンは大きくなる。例えば、電圧決定部504は、ばらつき情報に含まれる周波数の平均値を受けて、第1の関係に基づいて電源電圧を決定し、さらに、ばらつき情報に含まれる周波数の標準偏差を受けて、第2の関係に基づいて、この決定した電源電圧に所定の電圧マージンを加算することで最終的な電源電圧(第2電源電圧)を決定する。 In the first relationship, the lower the average frequency value (in other words, the longer the delay time), the higher the required power supply voltage. In the second relationship, the higher the standard deviation of the frequency, the more necessary. The power supply voltage margin becomes larger. For example, the voltage determination unit 504 receives the average value of the frequencies included in the variation information, determines the power supply voltage based on the first relationship, and further receives the standard deviation of the frequencies included in the variation information, Based on the relationship of 2, the final power supply voltage (second power supply voltage) is determined by adding a predetermined voltage margin to the determined power supply voltage.
 図4は、図3におけるリングオシレータ回路の構成例を示す概略図である。例えば、FPGAでリングオシレータ回路を構成するには、複数のルックアップテーブル(LUT)401をチェーン接続するのが一般的である。ただし、ルックアップテーブル(LUT)401をチェーン接続すると、チェーン接続の数だけ、ロジック基本セルを使用することになるため、各リングオシレータ回路RO[1]~RO[n](リングオシレータブロック301)の面積が大きくなる。本実施の形態の方式を用いると、前述したようにリングオシレータブロック301の面積が大きくなっても特に問題はないが、例えば、FPGAの規模が非常に小さい場合等では、1個のリングオシレータ回路の面積は小さい方が望ましい。例えば、1個のリングオシレータ回路の面積を小さくできると、その分、リングオシレータ回路の数を増加させることができ、より有益な検出結果を得ること等が可能になる。 FIG. 4 is a schematic diagram showing a configuration example of the ring oscillator circuit in FIG. For example, to configure a ring oscillator circuit with an FPGA, it is common to connect a plurality of lookup tables (LUTs) 401 in a chain. However, when the lookup table (LUT) 401 is chain-connected, logic basic cells are used as many as the number of chain connections, so that each ring oscillator circuit RO [1] to RO [n] (ring oscillator block 301) The area of becomes larger. When the method of this embodiment is used, there is no particular problem even if the area of the ring oscillator block 301 is increased as described above. For example, when the scale of the FPGA is very small, one ring oscillator circuit is used. A smaller area is desirable. For example, if the area of one ring oscillator circuit can be reduced, the number of ring oscillator circuits can be increased correspondingly, and more useful detection results can be obtained.
 そこで、図4に示すリングオシレータ回路ROは、ルックアップテーブル(LUT)401と配線402から構成される。ルックアップテーブル(LUT)401では、例えば2入力NAND機能が実現されており、当該2入力NAND機能の2入力の一方には、リングオシレータ回路ROの動作の活性化/非活性化を制御するイネーブル信号ENが入力される。また、2入力の他方には、ルックアップテーブル(LUT)401の出力が配線402を経由したのち帰還入力される。 Therefore, the ring oscillator circuit RO shown in FIG. 4 includes a lookup table (LUT) 401 and a wiring 402. In the lookup table (LUT) 401, for example, a 2-input NAND function is realized, and one of the two inputs of the 2-input NAND function is an enable that controls activation / inactivation of the operation of the ring oscillator circuit RO. A signal EN is input. Further, the output of the lookup table (LUT) 401 is fed back to the other of the two inputs after passing through the wiring 402.
 配線402は、FPGA内部の配線で実現されるものであるが、実際には、配線だけでなく、配線負荷を駆動するバッファや配線切り替えスイッチなどのトランジスタを含む場合もある。配線402には、ルックアップテーブル(LUT)401の近くの短距離配線、あるいは、ルックアップテーブル(LUT)401から遠くのLUTに接続するための長距離配線が用いられる。図4の構成により、1個のルックアップテーブル(LUT)401でもリングオシレータ回路としての機能が実現可能になる。
 《メモリ回路部の構成》
The wiring 402 is realized by wiring inside the FPGA, but actually includes not only the wiring but also a transistor such as a buffer for driving a wiring load or a wiring changeover switch. For the wiring 402, a short-distance wiring near the lookup table (LUT) 401 or a long-distance wiring for connecting to a LUT far from the lookup table (LUT) 401 is used. With the configuration of FIG. 4, the function as a ring oscillator circuit can be realized even with one lookup table (LUT) 401.
<Configuration of memory circuit section>
 図7は、図1におけるメモリ回路部の構成例を示す概略図である。図7に示すメモリ回路部103は、マイコン702と、フラッシュメモリ等の不揮発性メモリ703を備える。不揮発性メモリ703は、モニタ回路201を含む第1回路データを格納するための第1記憶領域AR[1]と、ユーザ回路部510を含む第2回路データを格納するための第2記憶領域AR[2]と、ばらつき情報を格納するための第3記憶領域AR[3]を持つ。 FIG. 7 is a schematic diagram showing a configuration example of the memory circuit unit in FIG. A memory circuit unit 103 illustrated in FIG. 7 includes a microcomputer 702 and a nonvolatile memory 703 such as a flash memory. The nonvolatile memory 703 includes a first storage area AR [1] for storing the first circuit data including the monitor circuit 201 and a second storage area AR for storing the second circuit data including the user circuit unit 510. [2] and a third storage area AR [3] for storing variation information.
 マイコン702は、プログラマブル回路(FPGA)701との間で、各信号(CFG_CLK,CFG_DATA,CFG_CTL,VER_CLK,VER_DATA,VER_SEL)を用いて通信を行う。信号(CFG_CLK,CFG_DATA,CFG_CTL)は、プログラマブル回路(FPGA)701のコンフィギュメモリへアクセスする信号である。信号(VER_CLK,VER_DATA,VER_SEL)は、不揮発性メモリ703のアドレス指定と、ばらつき情報の転送を行う信号である。 The microcomputer 702 communicates with the programmable circuit (FPGA) 701 using each signal (CFG_CLK, CFG_DATA, CFG_CTL, VER_CLK, VER_DATA, VER_SEL). Signals (CFG_CLK, CFG_DATA, CFG_CTL) are signals for accessing the configurable memory of the programmable circuit (FPGA) 701. The signals (VER_CLK, VER_DATA, VER_SEL) are signals for addressing the nonvolatile memory 703 and transferring variation information.
 マイコン702は、始めに、第1記憶領域AR[1]の先頭アドレスを指定して、不揮発性メモリ703から第1回路データ(モニタ回路201)を読み出し、プログラマブル回路(FPGA)701へ転送する。図2のモニタ回路201は、ばらつきの検出を行ったのち、信号VER_SELを変化させ、不揮発性メモリ703へのばらつき情報の格納を開始する。これに応じて、マイコン702は、第3記憶領域AR[3]の先頭アドレスを指定する。不揮発性メモリ703へのばらつき情報の格納が完了すると、マイコン702は、第2記憶領域AR[2]の先頭アドレスを指定して、不揮発性メモリ703から第2回路データ(ユーザ回路部510)を読み出し、プログラマブル回路(FPGA)701へ転送する。 First, the microcomputer 702 designates the first address of the first storage area AR [1], reads the first circuit data (monitor circuit 201) from the nonvolatile memory 703, and transfers it to the programmable circuit (FPGA) 701. After detecting the variation, the monitor circuit 201 in FIG. 2 changes the signal VER_SEL and starts storing variation information in the nonvolatile memory 703. In response to this, the microcomputer 702 designates the head address of the third storage area AR [3]. When the storage of the variation information in the nonvolatile memory 703 is completed, the microcomputer 702 designates the start address of the second storage area AR [2] and receives the second circuit data (user circuit unit 510) from the nonvolatile memory 703. Read and transfer to programmable circuit (FPGA) 701.
 このように、マイコン702は、図6の処理フローの各段階に応じて、不揮発性メモリ703の先頭アドレスを適宜決定する機能を持つ。FPGAのコンフィギュレーション方法の一つとして、FPGAが、コンフィギュレーションの開始命令を受けて、外部の不揮発性メモリの先頭アドレスから回路データを読み込むような方法が挙げられる。このようなFPGAでは、メモリのアドレスを任意に指定することができず、複数の回路データを使い分けるようなことが困難となり得るため、この使い分けをマイコン702によって実現する。なお、マイコン702は、同様の機能を有するものであれば、例えば、他のFPGA、あるいは、DSPなどに置き換えてもよい。 As described above, the microcomputer 702 has a function of appropriately determining the head address of the nonvolatile memory 703 according to each stage of the processing flow of FIG. As one configuration method of the FPGA, there is a method in which the FPGA reads circuit data from the head address of the external nonvolatile memory in response to a configuration start command. In such an FPGA, the memory address cannot be arbitrarily designated, and it may be difficult to use a plurality of circuit data properly. Note that the microcomputer 702 may be replaced with, for example, another FPGA or DSP as long as it has a similar function.
 図8は、図1におけるメモリ回路部の図7とは異なる構成例を示す概略図である。図8に示すメモリ回路部103は、フラッシュメモリ等の不揮発性メモリ802を備える。不揮発性メモリ802は、図7の場合と同様に、第1~第3記憶領域AR[1]~AR[3]を持つ。プログラマブル回路(FPGA)801は、不揮発性メモリ802との間で、信号(CFG_CLK,CFG_DATA,CFG_ADDR,CFG_CTL)を用いて通信を行う。 FIG. 8 is a schematic diagram showing a configuration example different from FIG. 7 of the memory circuit portion in FIG. The memory circuit unit 103 illustrated in FIG. 8 includes a nonvolatile memory 802 such as a flash memory. The nonvolatile memory 802 has first to third storage areas AR [1] to AR [3] as in the case of FIG. The programmable circuit (FPGA) 801 communicates with the nonvolatile memory 802 using signals (CFG_CLK, CFG_DATA, CFG_ADDR, CFG_CTL).
 プログラマブル回路(FPGA)801は、始めに、信号CFG_ADDRによって第1記憶領域AR[1]の先頭アドレスを指定して、不揮発性メモリ802から第1回路データ(モニタ回路201)を読み出し、自身のコンフィギュレーションメモリに転送する。次いで、図2のモニタ回路201は、ばらつきの検出を行ったのち、信号CFG_ADDRによって第3記憶領域AR[3]の先頭アドレスを指定して、不揮発性メモリ802にばらつき情報を書き込む。その後、プログラマブル回路(FPGA)801は、信号CFG_ADDRによって第2記憶領域AR[2]の先頭アドレスを指定して、不揮発性メモリ802から第2回路データ(ユーザ回路部510)を読み出し、自身のコンフィギュレーションメモリに転送する。 First, the programmable circuit (FPGA) 801 specifies the start address of the first storage area AR [1] by the signal CFG_ADDR, reads the first circuit data (monitor circuit 201) from the nonvolatile memory 802, and configures its own configuration. Transfer to the storage memory. Next, after detecting the variation, the monitor circuit 201 in FIG. 2 designates the leading address of the third storage area AR [3] by the signal CFG_ADDR and writes the variation information in the nonvolatile memory 802. Thereafter, the programmable circuit (FPGA) 801 specifies the start address of the second storage area AR [2] by the signal CFG_ADDR, reads the second circuit data (user circuit unit 510) from the nonvolatile memory 802, and configures its own configuration. Transfer to the storage memory.
 FPGAのコンフィギュレーション方法の他の一つとして、FPGAが、外部の不揮発性メモリの先頭アドレスを任意に指定した状態で回路データを読み込むような方法が挙げられる。このような場合には、図8の構成例が適用できる。 As another configuration method of the FPGA, there is a method in which the FPGA reads circuit data in a state in which the head address of the external nonvolatile memory is arbitrarily designated. In such a case, the configuration example of FIG. 8 can be applied.
 図9は、図7および図8において、メモリ回路部に格納されるばらつき情報の一例を示す説明図である。第3記憶領域AR[3]に格納されるばらつき情報は、格納番号(#)、チップ間ばらつき、チップ内ばらつき、温度、電源電圧等の情報を持つ。格納番号(#)はデータ取得時の古い順番に、若い番号が割り当てられる。前述したように、チップ間ばらつきは、図3のばらつき検出回路202によって検出された周波数の平均値であり、チップ内ばらつきは、当該周波数の標準偏差である。 FIG. 9 is an explanatory diagram showing an example of variation information stored in the memory circuit unit in FIGS. 7 and 8. The variation information stored in the third storage area AR [3] has information such as storage number (#), inter-chip variation, intra-chip variation, temperature, power supply voltage, and the like. The storage number (#) is assigned a young number in the oldest order at the time of data acquisition. As described above, the inter-chip variation is an average value of the frequencies detected by the variation detection circuit 202 in FIG. 3, and the intra-chip variation is a standard deviation of the frequency.
 温度は、例えばFPGAの温度センサからの情報である。周波数(信号の遅延時間)は、温度依存性を持つため、より精度を高めるためには、例えば、検出された周波数の平均値等を所定の温度での値に換算した上で、この換算後の値に基づいて最終的な電源電圧(第2電源電圧)を決定することが望ましい。この場合、例えば、図2のばらつき情報205の中に温度情報を含ませ、この温度を所定の温度に換算するための換算テーブルまたは換算式を図5の電圧決定部504に設ければよい。 The temperature is information from, for example, an FPGA temperature sensor. Since the frequency (delay time of the signal) has temperature dependence, in order to improve accuracy, for example, the average value of the detected frequency is converted into a value at a predetermined temperature, and after this conversion It is desirable to determine the final power supply voltage (second power supply voltage) based on the value of. In this case, for example, temperature information may be included in the variation information 205 in FIG. 2, and a conversion table or conversion formula for converting this temperature into a predetermined temperature may be provided in the voltage determination unit 504 in FIG.
 同様に、電源電圧は、FPGAの電源電圧センサからの情報である。周波数(信号の遅延時間)は、温度依存性に加えて電源電圧依存性を持つ。図6の処理フローに示したように、モニタ回路201は予め定めた標準の電源電圧(第1電源電圧)で動作するが、可変電源回路102が設定した標準の電圧電圧と、実際にFPGAに供給される電源電圧とで誤差が生じる場合がある。また、この誤差も時系列的にばらつく場合がある。そこで、より精度を高めるためには、温度依存性の場合と同様にして、モニタ回路201によって実際の電源電圧で検出された周波数の平均値等を標準の電源電圧での値に換算することが望ましい。その具体的な換算方法やその反映方法は、温度依存性の場合と同様である。 Similarly, the power supply voltage is information from the power supply voltage sensor of the FPGA. The frequency (signal delay time) has power supply voltage dependency in addition to temperature dependency. As shown in the processing flow of FIG. 6, the monitor circuit 201 operates at a predetermined standard power supply voltage (first power supply voltage), but the standard voltage voltage set by the variable power supply circuit 102 and the FPGA are actually set. There may be an error in the power supply voltage supplied. Also, this error may vary in time series. Therefore, in order to further improve the accuracy, the average value of the frequency detected by the monitor circuit 201 with the actual power supply voltage or the like can be converted into a value with the standard power supply voltage, as in the case of temperature dependence. desirable. The specific conversion method and the reflection method are the same as in the case of temperature dependence.
 また、図9のように、モニタ回路201で検出したばらつき情報を格納番号(#)毎に順次ログで残すことで、例えば不具合が生じた場合のシステム管理上の参考情報等として当該複数のログを利用することができる。ただし、勿論、図6の処理フローを実行する観点では、複数のログではなく1個のログとし、当該1個のログをモニタ回路201による最新の検出結果で更新するような構成であってもよい。 Further, as shown in FIG. 9, the variation information detected by the monitor circuit 201 is sequentially left in a log for each storage number (#), so that the plurality of logs can be used as reference information for system management when a problem occurs, for example. Can be used. However, of course, from the viewpoint of executing the processing flow of FIG. 6, the configuration may be such that one log is used instead of a plurality of logs, and the one log is updated with the latest detection result by the monitor circuit 201. Good.
 以上に説明したように、本実施の形態によるプログラマブル装置の電源電圧管理方法は、プログラマブル回路に実装する回路をモニタ回路とユーザ回路とに分けて用意し、始めにモニタ回路を実装してばらつきを検出し、次にユーザ回路を実装して電源電圧を制御する方法となっている。これにより、代表的には、モニタ回路の面積オーバヘッドを抑制しつつ、プログラマブル回路の特性変動を補償することが可能になる。 As described above, the power supply voltage management method of the programmable device according to the present embodiment prepares the circuit to be mounted on the programmable circuit separately for the monitor circuit and the user circuit, and first mounts the monitor circuit to reduce the variation. This is a method of detecting and then mounting a user circuit to control the power supply voltage. As a result, typically, it is possible to compensate for variations in the characteristics of the programmable circuit while suppressing the area overhead of the monitor circuit.
 なお、ここでは、モニタ回路を含んだ第1回路データの代わりにユーザ回路部(およびユーザ回路)を含んだ第2回路データをコンフィギュレーションする方法を示した。これにより、前述したように面積オーバヘッドを抑制することが可能となるが、例えば、回路面積に余裕があるような場合には、第1回路データに加えて第2回路データをコンフィギュレーションすることも可能である。近年、FPGA等では、パーシャル・リコンフィギュレーションと呼ばれる機能を用いて、モニタ回路が実装された領域を除いた領域に新たな回路(すなわちユーザ回路部)を別途実装するようなことが可能となっている。この場合、ユーザ回路部が実装された段階では、モニタ回路は特に動作する必要性はないため、低消費電力化のため、例えば、モニタ回路の動作を停止する信号をユーザ回路部に出力させるように構成してもよい。
 (実施の形態2)
 《プログラマブル回路(ユーザ回路部)の構成(応用例)》
Here, a method of configuring the second circuit data including the user circuit unit (and the user circuit) instead of the first circuit data including the monitor circuit is shown. As a result, the area overhead can be suppressed as described above. For example, when there is a margin in the circuit area, the second circuit data can be configured in addition to the first circuit data. Is possible. In recent years, in a FPGA or the like, it is possible to separately mount a new circuit (that is, a user circuit unit) in a region other than a region where a monitor circuit is mounted, using a function called partial reconfiguration. ing. In this case, when the user circuit unit is mounted, the monitor circuit is not particularly required to operate. Therefore, in order to reduce power consumption, for example, a signal for stopping the operation of the monitor circuit is output to the user circuit unit. You may comprise.
(Embodiment 2)
<< Configuration of programmable circuit (user circuit section) (application example) >>
 図10は、本発明による実施の形態2のプログラマブル装置において、そのプログラマブル回路に実装されるユーザ回路部の構成例を示す概略図である。本実施の形態2では、ユーザ回路部1001に経年劣化モニタ回路(第2モニタ回路)1005を設けることで、図6の電源電圧管理処理の実施を指示するためのトリガを生成する。ユーザ回路部以外の構成(図1のプログラマブル装置104や図2のモニタ回路(第1モニタ回路)201の構成等)に関しては、実施の形態1と同様であるため、詳細な説明は省略する。 FIG. 10 is a schematic diagram showing a configuration example of a user circuit unit mounted on the programmable circuit in the programmable device according to the second embodiment of the present invention. In the second embodiment, the user circuit unit 1001 is provided with an aging deterioration monitor circuit (second monitor circuit) 1005, thereby generating a trigger for instructing execution of the power supply voltage management process of FIG. Since the configuration other than the user circuit unit (the configuration of the programmable device 104 in FIG. 1 and the monitor circuit (first monitor circuit) 201 in FIG. 2 and the like) is the same as that in the first embodiment, detailed description thereof is omitted.
 図10に示すユーザ回路部1001は、図5に示したユーザ回路部510と比較して、経年劣化モニタ回路(第2モニタ回路)1005が追加された構成となっている。これ以外のユーザ回路部1001内に構成に関しては、図5の場合と同様であるため、詳細な説明は省略する。経年劣化モニタ1005は、ユーザ回路501の動作時に、常時、あるいは、一定間隔で動作し、電源電圧依存性を持つ特性パラメータの経年劣化をモニタする。経年劣化モニタ1005は、経年劣化がある程度のレベルに達した際に、アラーム信号1002を出力する。図6の電源電圧管理処理は、このアラーム信号1002が発行された際に実施すればよい。
 《経年劣化モニタ回路の構成》
The user circuit unit 1001 illustrated in FIG. 10 has a configuration in which an aged deterioration monitor circuit (second monitor circuit) 1005 is added as compared to the user circuit unit 510 illustrated in FIG. Since the configuration in the user circuit unit 1001 other than this is the same as that in the case of FIG. The aging monitor 1005 operates at all times or at regular intervals when the user circuit 501 operates, and monitors aging of characteristic parameters having power supply voltage dependency. The aging deterioration monitor 1005 outputs an alarm signal 1002 when the aging deterioration reaches a certain level. The power supply voltage management process in FIG. 6 may be performed when the alarm signal 1002 is issued.
<Aging deterioration monitor circuit configuration>
 図11は、図10における経年劣化モニタ回路の構成例を示す概略図である。経年劣化モニタ回路1005は、リングオシレータ回路(RO)1101と、周波数計測部1102と、レジスタ1103と、比較部1104とを備える。リングオシレータ回路1101は、図3のばらつき検出回路202の場合と同様に、例えば、図4の構成を持つ。リングオシレータ回路1101の出力信号(すなわちクロック信号)の周波数は、周波数計測部1102によって計測される。レジスタ1103には、周波数の基準値が格納される。比較部1104は、周波数計測部1102の計測結果とレジスタ1103の基準値とを比較し、その比較結果に応じてアラーム信号1002を出力する。 FIG. 11 is a schematic diagram showing a configuration example of the aging monitoring circuit in FIG. The aging monitor circuit 1005 includes a ring oscillator circuit (RO) 1101, a frequency measurement unit 1102, a register 1103, and a comparison unit 1104. The ring oscillator circuit 1101 has, for example, the configuration of FIG. 4 as in the case of the variation detection circuit 202 of FIG. The frequency of the output signal (that is, the clock signal) of the ring oscillator circuit 1101 is measured by the frequency measuring unit 1102. The register 1103 stores a frequency reference value. The comparison unit 1104 compares the measurement result of the frequency measurement unit 1102 with the reference value of the register 1103, and outputs an alarm signal 1002 according to the comparison result.
 ここで、レジスタ1103に格納する基準値は、例えば、図6のステップS105に伴いプログラマブル回路(FPGA)101に図10のユーザ回路部1001が実装されたのち、ステップS108の初期段階での図11の周波数計測部1102による計測結果(すなわち周波数)とすることができる。この場合、レジスタ1103の値は、再び図6の処理フローが実行されるまで不変となるため、例えば、この周波数計測部1102による計測結果を不揮発メモリに格納し、この不揮発メモリからレジスタ1103にロードする構成としてもよい。 Here, the reference value stored in the register 1103 is the same as that shown in FIG. 11 at the initial stage of step S108 after the user circuit unit 1001 of FIG. 10 is mounted on the programmable circuit (FPGA) 101 in step S105 of FIG. The measurement result (that is, the frequency) by the frequency measurement unit 1102 can be obtained. In this case, the value of the register 1103 is not changed until the processing flow of FIG. 6 is executed again. For example, the measurement result by the frequency measuring unit 1102 is stored in the nonvolatile memory, and is loaded into the register 1103 from the nonvolatile memory. It is good also as composition to do.
 比較部1104は、レジスタ1103に当該基準値が設定された状態で、周波数計測部1102による計測結果とこの基準値との間の変動幅が所定の値を超えた場合にアラーム信号1002を発生する。すなわち、経年劣化モニタ回路1005は、ユーザ回路部1001を含む第2回路データがコンフィギュレーションされた最新の時期と比べて、経年劣化モニタ回路1005で検出した計測結果(すなわち周波数)が所定の幅以上に推移した場合にアラーム信号1002を発生する。 The comparison unit 1104 generates an alarm signal 1002 when the fluctuation range between the measurement result by the frequency measurement unit 1102 and the reference value exceeds a predetermined value with the reference value set in the register 1103. . That is, the aging deterioration monitor circuit 1005 has a measurement result (ie, frequency) detected by the aging deterioration monitor circuit 1005 that is greater than or equal to a predetermined width compared to the latest time when the second circuit data including the user circuit unit 1001 is configured. The alarm signal 1002 is generated in the case of transition to.
 また、レジスタ1103に格納する基準値は、場合によっては、許容可能な最大周波数および最小周波数を表す固定値とすることも可能である。この場合、比較部1104は、周波数計測部1102による計測結果(すなわち周波数)がこの最小周波数~最大周波数の範囲を逸脱した場合にアラーム信号1002を発生する。なお、基準値を固定値とした場合、前述した基準値に周波数計測部1102による計測結果を反映する場合と異なり、基準値に周波数計測部1102で生じる計測誤差が反映されないことになる。このため、各プログラマブル回路(FPGA)101毎に初期状態から劣化と判定される状態に到るまでの変動幅が異なる事態が生じ得るが、各プログラマブル回路(FPGA)101毎の周波数計測部1102の計測ばらつきがある程度小さい場合には、特に問題は生じない。 In addition, the reference value stored in the register 1103 can be a fixed value that represents the allowable maximum frequency and the minimum frequency in some cases. In this case, the comparison unit 1104 generates an alarm signal 1002 when the measurement result (ie, frequency) by the frequency measurement unit 1102 deviates from the range of the minimum frequency to the maximum frequency. When the reference value is a fixed value, unlike the case where the measurement result of the frequency measurement unit 1102 is reflected on the reference value described above, the measurement error generated in the frequency measurement unit 1102 is not reflected on the reference value. For this reason, although the fluctuation range until it reaches the state determined to be degraded from the initial state may occur for each programmable circuit (FPGA) 101, the frequency measurement unit 1102 for each programmable circuit (FPGA) 101 may have different situations. There is no particular problem when the measurement variation is small to some extent.
 なお、経年劣化モニタ回路(第2モニタ回路)1005は、図3のばらつき検出回路(第1モニタ回路)202と異なり、ユーザ回路501と同時に常駐することになるため、図11に示すように、ばらつき検出回路(第1モニタ回路)202よりも小さい回路規模で構成することが望ましい。この観点で、リングオシレータ回路1101に図4の構成例を適用することも有益となる。経年劣化モニタ回路1005は、ばらつき検出回路202のように、最適な電源電圧の値を定めるための様々な情報を得る必要はなく、単に、劣化の度合いをさほど高くない精度で検出できればよいため、1個のリングオシレータ回路1101を備えた構成でも十分に目的を果たすことができる。 Since the aging monitor circuit (second monitor circuit) 1005 is resident at the same time as the user circuit 501 unlike the variation detection circuit (first monitor circuit) 202 of FIG. 3, as shown in FIG. It is desirable to configure with a circuit scale smaller than the variation detection circuit (first monitor circuit) 202. From this point of view, it is also useful to apply the configuration example of FIG. 4 to the ring oscillator circuit 1101. The aging deterioration monitor circuit 1005 does not need to obtain various information for determining the optimum power supply voltage value like the variation detection circuit 202, and simply needs to detect the degree of deterioration with a not so high accuracy. Even a configuration including one ring oscillator circuit 1101 can sufficiently achieve the object.
 また、アラーム信号1002が発行された際には、これに応じて、図6の電源電圧管理処理を実施することができる。前述したように、レジスタ1103にリングオシレータ回路1101の周波数を反映させる際には、図6の電源電圧管理処理は、ステップS108の処理を除いて実施の形態1の場合と同様に行われる。すなわち、ステップS108でユーザ回路501が動作を開始した際には、経年劣化モニタ回路1005も動作を開始し、その初期段階でのリングオシレータ回路1101の周波数がレジスタ1103に格納される。ユーザ回路の動作中、経年劣化モニタ回路1005は、継続的、あるいは、周期的に動作を行い、経年劣化を検出すると、アラーム信号1002を出力する。 Further, when the alarm signal 1002 is issued, the power supply voltage management process shown in FIG. 6 can be performed in accordance with the alarm signal 1002. As described above, when reflecting the frequency of the ring oscillator circuit 1101 in the register 1103, the power supply voltage management process of FIG. 6 is performed in the same manner as in the first embodiment except for the process of step S108. That is, when the user circuit 501 starts operation in step S108, the aging deterioration monitor circuit 1005 also starts operation, and the frequency of the ring oscillator circuit 1101 at the initial stage is stored in the register 1103. During operation of the user circuit, the aging monitor circuit 1005 operates continuously or periodically, and outputs an alarm signal 1002 when detecting aging deterioration.
 以上のように、本実施の形態2のプログラマブル装置およびその電源電圧管理方法を用いることで、実施の形態1で述べた各種効果に加えて、さらに、ユーザ回路501の動作時に、その経年劣化の発生を検出することが可能になる。その結果、当該経年劣化を実施の形態1の方法(すなわち図6の電源電圧管理処理)で補償するための契機を得ることができる。
 (実施の形態3)
 《プログラマブル装置の概略構成(応用例)》
As described above, by using the programmable device and the power supply voltage management method according to the second embodiment, in addition to the various effects described in the first embodiment, when the user circuit 501 operates, the deterioration of the aging is further improved. The occurrence can be detected. As a result, it is possible to obtain an opportunity to compensate for the aging deterioration by the method of the first embodiment (that is, the power supply voltage management process of FIG. 6).
(Embodiment 3)
<< Schematic configuration of programmable device (application example) >>
 図12は、本発明による実施の形態3のプログラマブル装置において、その主要部の構成例を示す概略図である。図12に示すプログラマブル装置は、プログラマブル回路(FPGA)1201と、可変電源回路(PWR)102と、不揮発性メモリ1203と、マイコン(装置管理部)1202とを備える。図7および図8の場合と同様に、マイコン1202および不揮発性メモリ1203は、メモリ回路部103を構成し、不揮発性メモリ1203には、第1~第3記憶領域AR[1]~AR[3]が設けられる。 FIG. 12 is a schematic diagram showing a configuration example of the main part of the programmable device according to the third embodiment of the present invention. The programmable device illustrated in FIG. 12 includes a programmable circuit (FPGA) 1201, a variable power supply circuit (PWR) 102, a nonvolatile memory 1203, and a microcomputer (device management unit) 1202. As in the case of FIGS. 7 and 8, the microcomputer 1202 and the nonvolatile memory 1203 constitute the memory circuit unit 103, and the nonvolatile memory 1203 includes the first to third storage areas AR [1] to AR [3. ] Is provided.
 ここで、マイコン1202は、図5および図10の可変電源コントローラ503と同様の機能を持つ可変電源コントローラ1205を備える。これに応じて、不揮発性メモリ1203の第2記憶領域AR[2]に格納される第2回路データには、図10のユーザ回路部1001から可変電源コントローラ503およびばらつき情報509を削除したようなユーザ回路部が含まれる。また、不揮発性メモリ1203の第1記憶領域AR[1]に格納される第1回路データは、実施の形態1の場合と同様に、図2のモニタ回路201を含んでいる。 Here, the microcomputer 1202 includes a variable power supply controller 1205 having the same function as the variable power supply controller 503 in FIGS. 5 and 10. Accordingly, in the second circuit data stored in the second storage area AR [2] of the nonvolatile memory 1203, the variable power controller 503 and the variation information 509 are deleted from the user circuit unit 1001 in FIG. A user circuit section is included. Further, the first circuit data stored in the first storage area AR [1] of the nonvolatile memory 1203 includes the monitor circuit 201 of FIG. 2 as in the case of the first embodiment.
 図13は、図12のプログラマブル装置において、そのマイコンが行う処理内容の一例を示すフロー図である。マイコン(装置管理部)1202は、図13に示すようなシステム管理処理を実行する。図13において、マイコン1202は、ユーザ回路部が実装されたプログラマブル回路(FPGA)1201からのアラーム信号1002を監視し(ステップS201)、アラーム信号1002が発行された際には、図6の電源電圧管理処理(ステップS101~S108)を自動的に実行する。 FIG. 13 is a flowchart showing an example of processing contents performed by the microcomputer in the programmable device of FIG. The microcomputer (device management unit) 1202 executes a system management process as shown in FIG. In FIG. 13, the microcomputer 1202 monitors the alarm signal 1002 from the programmable circuit (FPGA) 1201 in which the user circuit unit is mounted (step S201), and when the alarm signal 1002 is issued, the power supply voltage shown in FIG. Management processing (steps S101 to S108) is automatically executed.
 具体的には、マイコン(装置管理部)1202は、まず、可変電源回路102に対して標準の電源電圧(第1電源電圧)を指示したのち、コンフィギュレーション信号1204を用いて、プログラマブル回路(FPGA)1201に第1回路データ(モニタ回路201)をコンフィギュレーションする(ステップS101,S102)。その後、実施の形態1の場合と同様に、ステップS103およびS104の処理が行われる。続いて、マイコン1202は、コンフィギュレーション信号1204を用いて、プログラマブル回路(FPGA)1201に第2回路データ(ユーザ回路部)をコンフィギュレーションする(ステップS105)。 Specifically, the microcomputer (device management unit) 1202 first instructs a standard power supply voltage (first power supply voltage) to the variable power supply circuit 102, and then uses the configuration signal 1204 to program the programmable circuit (FPGA). ) 1201 is configured with the first circuit data (monitor circuit 201) (steps S101 and S102). Thereafter, similarly to the case of the first embodiment, the processes of steps S103 and S104 are performed. Subsequently, the microcomputer 1202 configures the second circuit data (user circuit unit) in the programmable circuit (FPGA) 1201 using the configuration signal 1204 (step S105).
 次いで、マイコン1202は、不揮発性メモリ1203の第3記憶領域AR[3]に格納されたばらつき情報に基づいて、可変電源コントローラ1205を用いて、電源電圧(第2電源電圧)の決定と、可変電源回路102に対する指示を行う(ステップS106,S107)。その後、ステップS108において、実施の形態2で述べたように、ユーザ回路部内のユーザ回路501が動作を開始すると共に、経年劣化モニタ回路1005も動作を開始する。マイコン1202は、この経年劣化モニタ回路1005の動作の過程でアラーム信号1002を検出した場合、再び、前述したステップS101~S108の処理を自動的に実行する。 Next, the microcomputer 1202 uses the variable power supply controller 1205 to determine the power supply voltage (second power supply voltage) based on the variation information stored in the third storage area AR [3] of the nonvolatile memory 1203, and to change the power supply voltage (second power supply voltage). An instruction is given to the power supply circuit 102 (steps S106 and S107). Thereafter, in step S108, as described in the second embodiment, the user circuit 501 in the user circuit unit starts operating, and the aging monitor circuit 1005 also starts operating. When the microcomputer 1202 detects the alarm signal 1002 in the course of the operation of the aging deterioration monitor circuit 1005, the microcomputer 1202 automatically executes the above-described steps S101 to S108 again.
 なお、マイコン1202は、同様の機能を有するものであれば、例えば、他のFPGA、あるいは、DSPなどに置き換えてもよい。
 《プログラマブル装置の適用例》
The microcomputer 1202 may be replaced with, for example, another FPGA or DSP as long as it has the same function.
<< Examples of application of programmable devices >>
 図14は、本発明の実施の形態3によるプログラマブル装置において、それを適用した情報システムの構成例を示す概略図である。図14の情報システムは、例えば、サーバ等の情報処理システムや、ルータ、スイッチ等の情報通信システム等である。 FIG. 14 is a schematic diagram showing a configuration example of an information system to which the programmable apparatus according to Embodiment 3 of the present invention is applied. The information system in FIG. 14 is, for example, an information processing system such as a server, an information communication system such as a router or a switch, or the like.
 図14に示す情報システムは、装置[A]1401と、装置[B]1408と、装置切替部1415とを備える。装置[A]1401は、複数のボード(配線基板)1402,1403,1404を備える。ボード1403,1404には、それぞれ、各実施の形態で述べたユーザ回路部が実装されたプログラマブル回路(FPGA)1405,1406が搭載される。ボード1402は、当該プログラマブル回路(FPGA)1405,1406を管理するための信頼性管理部1407が搭載される。 The information system shown in FIG. 14 includes a device [A] 1401, a device [B] 1408, and a device switching unit 1415. The apparatus [A] 1401 includes a plurality of boards (wiring boards) 1402, 1403, and 1404. On the boards 1403 and 1404, programmable circuits (FPGAs) 1405 and 1406 on which the user circuit units described in the respective embodiments are mounted are mounted. The board 1402 includes a reliability management unit 1407 for managing the programmable circuits (FPGAs) 1405 and 1406.
 同様に、装置[B]1408は、複数のボード(配線基板)1409,1410,1411を備える。ボード1410,1411には、それぞれ、ユーザ回路部が実装されたプログラマブル回路(FPGA)1412,1413が搭載される。ボード1409は、当該プログラマブル回路(FPGA)1412,1413を管理するための信頼性管理部1414が搭載される。装置切替部1415は、装置[A]1401および装置[B]1408の活性化/非活性化をそれぞれ制御する。 Similarly, the apparatus [B] 1408 includes a plurality of boards (wiring boards) 1409, 1410, and 1411. On the boards 1410 and 1411, programmable circuits (FPGAs) 1412 and 1413 on which user circuit units are mounted are mounted, respectively. The board 1409 is equipped with a reliability management unit 1414 for managing the programmable circuits (FPGAs) 1412 and 1413. The device switching unit 1415 controls activation / deactivation of the device [A] 1401 and the device [B] 1408, respectively.
 図14に示す情報システムは、例えば、負荷分散と冗長性の観点から装置[A]1401と装置[B]1408を備えたシステムとなっている。ここで、仮に、システムの処理を装置[A]1401と装置[B]1408で分散して処理している最中に、装置[A]1401のボード1403内のプログラマブル回路(FPGA)1405が前述したアラーム信号1002を発生した場合を想定する。 The information system shown in FIG. 14 is a system including, for example, a device [A] 1401 and a device [B] 1408 from the viewpoint of load distribution and redundancy. Here, if the system processing is distributed and processed by the device [A] 1401 and the device [B] 1408, the programmable circuit (FPGA) 1405 in the board 1403 of the device [A] 1401 is described above. Assume that the generated alarm signal 1002 is generated.
 この場合、アラーム信号1002は、信頼性管理部1407に伝達され、さらに、装置切替部1415に伝達される。これに応じて、装置切替部1415は、例えば、システムの処理を装置[B]1408に縮退させ、その間に、信頼性管理部1407は、プログラマブル回路(FPGA)1405の回復を図る。例えば、信頼性管理部1407は、図12で述べたマイコン(装置管理部)1202を備えることで、プログラマブル回路(FPGA)1405に供給する電源電圧を自動調整する。電源電圧の調整が完了すると、装置切替部1415は、再び、システムの処理を装置[A]1401と装置[B]1408に分散させる。 In this case, the alarm signal 1002 is transmitted to the reliability management unit 1407 and further transmitted to the device switching unit 1415. In response to this, the device switching unit 1415 degenerates the system processing to the device [B] 1408, for example, and the reliability management unit 1407 recovers the programmable circuit (FPGA) 1405 during that time. For example, the reliability management unit 1407 automatically adjusts the power supply voltage supplied to the programmable circuit (FPGA) 1405 by including the microcomputer (device management unit) 1202 described in FIG. When the adjustment of the power supply voltage is completed, the device switching unit 1415 again distributes the system processing to the device [A] 1401 and the device [B] 1408.
 また、図14に示す情報システムは、例えば、冗長性の観点から装置[A]1401のバックアップとして装置[B]1408を備えたシステムとなっている。ここで、仮に、システムの処理を装置[A]1401が行っている最中に、前述した場合と同様に、装置[A]1401のボード1403内のプログラマブル回路(FPGA)1405がアラーム信号1002を発生した場合を想定する。この場合、信頼性管理部1407は、前述した場合と同様にして、プログラマブル回路(FPGA)1405の回復を図り、装置切替部1415は、システムの処理を装置[B]1408に切り替える。プログラマブル回路(FPGA)1405の回復(すなわち電源電圧の調整)が完了すると、装置切替部1415は、再び、システムの処理を装置[A]1401に切り替えるか、あるいは、装置[B]1408でアラーム信号1002が発生するまで、システムの処理を装置[B]1408に行わせる。 Further, the information system shown in FIG. 14 is a system including a device [B] 1408 as a backup of the device [A] 1401 from the viewpoint of redundancy, for example. Here, if the device [A] 1401 is processing the system, the programmable circuit (FPGA) 1405 in the board 1403 of the device [A] 1401 receives the alarm signal 1002 in the same manner as described above. Assume that it occurs. In this case, the reliability management unit 1407 restores the programmable circuit (FPGA) 1405 in the same manner as described above, and the device switching unit 1415 switches the system processing to the device [B] 1408. When the recovery of the programmable circuit (FPGA) 1405 (that is, adjustment of the power supply voltage) is completed, the device switching unit 1415 switches the system processing to the device [A] 1401 again, or the device [B] 1408 generates an alarm signal. The system [B] 1408 is caused to perform system processing until 1002 occurs.
 以上のように、本実施の形態3の情報システムおよびそのシステム管理方法を用いることで、実施の形態1および2で述べた各種効果に加えて、さらに、経年劣化が発生した場合に、システムの稼働を停止させることなく、システムの回復を図ることが可能になる。これにより、信頼性が高いシステムを実現可能になる。 As described above, in addition to the various effects described in the first and second embodiments by using the information system and the system management method thereof according to the third embodiment, when the aging deterioration occurs, The system can be recovered without stopping the operation. As a result, a highly reliable system can be realized.
 以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 As described above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. For example, the above-described embodiment has been described in detail for easy understanding of the present invention, and is not necessarily limited to one having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. . Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
 101,701,801,1201,1405,1406,1412,1413 プログラマブル回路(FPGA)
 102 可変電源回路
 103 メモリ回路部
 104 プログラマブル装置
 201 モニタ回路
 202 ばらつき検出回路
 203,502 メモリコントローラ
 204,508 メモリ制御信号
 205,509 ばらつき情報
 301 リングオシレータブロック
 302 セレクタ
 303 統計処理部
 304 データメモリ
 305 制御部
 401 ルックアップテーブル(LUT)
 402 配線
 501 ユーザ回路
 503,1205 可変電源コントローラ
 504 電圧決定部
 505 電源インタフェース
 507 電圧制御信号
 510,1001 ユーザ回路部
 511 電圧設定完了信号
 512 リセット信号
 702,1202 マイコン
 703,802,1203 不揮発性メモリ
 1002 アラーム信号
 1005 経年劣化モニタ回路
 1101 リングオシレータ回路
 1102 周波数計測部
 1103 レジスタ
 1104 比較部
 1204 コンフィギュレーション信号
 1401,1408 装置
 1402~1404,1409~1411 ボード
 1407,1414 信頼性管理部
 1415 装置切替部
 AR[1]~AR[3] 記憶領域
 RO,RO[1]~RO[n] リングオシレータ回路
 
101,701,801,1201,1405,1406,1412,1413 Programmable circuit (FPGA)
DESCRIPTION OF SYMBOLS 102 Variable power supply circuit 103 Memory circuit part 104 Programmable device 201 Monitor circuit 202 Variation detection circuit 203,502 Memory controller 204,508 Memory control signal 205,509 Variation information 301 Ring oscillator block 302 Selector 303 Statistical processing unit 304 Data memory 305 Control unit 401 Lookup table (LUT)
402 Wiring 501 User circuit 503, 1205 Variable power controller 504 Voltage determination unit 505 Power interface 507 Voltage control signal 510, 1001 User circuit unit 511 Voltage setting completion signal 512 Reset signal 702, 1202 Microcomputer 703, 802, 1203 Non-volatile memory 1002 Alarm Signal 1005 Aging monitor circuit 1101 Ring oscillator circuit 1102 Frequency measurement unit 1103 Register 1104 Comparison unit 1204 Configuration signal 1401 and 1408 Devices 1402 to 1404 and 1409 to 1411 Boards 1407 and 1414 Reliability management unit 1415 Device switching unit AR [1] AR [3] Storage area RO, RO [1] to RO [n] Ring oscillator circuit

Claims (14)

  1.  回路データに応じて自身に任意の回路を実装するプログラマブル回路と、
     前記プログラマブル回路に電源電圧を供給する電源回路と、
    を備えるプログラマブル装置の電源電圧管理方法であって、
     電源電圧依存性を持つ特性パラメータを検出するための第1モニタ回路を含んだ第1回路データを前記プログラマブル回路にコンフィギュレーションする第1工程と、
     前記電源回路によって第1電源電圧が供給されている状態で、前記プログラマブル回路に実装された前記第1モニタ回路を用いて前記特性パラメータを検出する第2工程と、
     所定の処理を行うユーザ回路を含んだ第2回路データを、前記第1回路データの代わりにまたは加えて前記プログラマブル回路にコンフィギュレーションする第3工程と、
     前記電源回路によって第2電源電圧が供給されている状態で、前記プログラマブル回路に実装された前記ユーザ回路を用いて所定の処理を行う第4工程と、
    を有し、
     前記第2電源電圧は、前記第2工程で前記第1モニタ回路によって検出された前記特性パラメータに基づいて定められる、
    プログラマブル装置の電源電圧管理方法。
    A programmable circuit that mounts an arbitrary circuit on itself according to circuit data;
    A power supply circuit for supplying a power supply voltage to the programmable circuit;
    A power supply voltage management method for a programmable device comprising:
    A first step of configuring the programmable circuit with first circuit data including a first monitor circuit for detecting a characteristic parameter having power supply voltage dependency;
    A second step of detecting the characteristic parameter using the first monitor circuit mounted on the programmable circuit in a state where the first power supply voltage is supplied by the power supply circuit;
    A third step of configuring the second circuit data including a user circuit for performing a predetermined process in the programmable circuit instead of or in addition to the first circuit data;
    A fourth step of performing a predetermined process using the user circuit mounted on the programmable circuit in a state where the second power supply voltage is supplied by the power supply circuit;
    Have
    The second power supply voltage is determined based on the characteristic parameter detected by the first monitor circuit in the second step.
    A power supply voltage management method for a programmable device.
  2.  請求項1記載のプログラマブル装置の電源電圧管理方法において、
     前記第1モニタ回路は、リングオシレータ回路を備え、
     前記特性パラメータは、前記リングオシレータ回路の発振周波数である、
    プログラマブル装置の電源電圧管理方法。
    In the power supply voltage management method of the programmable device of Claim 1,
    The first monitor circuit includes a ring oscillator circuit,
    The characteristic parameter is an oscillation frequency of the ring oscillator circuit.
    A power supply voltage management method for a programmable device.
  3.  請求項1記載のプログラマブル装置の電源電圧管理方法において、
     前記第3工程では、前記ユーザ回路に加えて、前記特性パラメータを検出するための第2モニタ回路を含んだ前記第2回路データが前記プログラマブル回路にコンフィギュレーションされ、
     前記第2モニタ回路は、前記第1モニタ回路よりも回路規模が小さく、前記第3工程の最新の実施時期と比べて、前記第2モニタ回路で検出した前記特性パラメータの値が所定の幅以上に推移した場合にアラーム信号を生成する、
    プログラマブル装置の電源電圧管理方法。
    In the power supply voltage management method of the programmable device of Claim 1,
    In the third step, in addition to the user circuit, the second circuit data including a second monitor circuit for detecting the characteristic parameter is configured in the programmable circuit,
    The second monitor circuit is smaller in circuit scale than the first monitor circuit, and the value of the characteristic parameter detected by the second monitor circuit is greater than or equal to a predetermined width compared to the latest execution time of the third step. Generate an alarm signal when
    A power supply voltage management method for a programmable device.
  4.  請求項3記載のプログラマブル装置の電源電圧管理方法において、
     前記第1モニタ回路は、複数のリングオシレータ回路を備え、
     前記第2モニタ回路は、前記第1モニタ回路よりも少ない数のリングオシレータ回路を備え、
     前記特性パラメータは、前記リングオシレータ回路の発振周波数である、
    プログラマブル装置の電源電圧管理方法。
    In the power supply voltage management method of the programmable device of Claim 3,
    The first monitor circuit includes a plurality of ring oscillator circuits,
    The second monitor circuit includes a smaller number of ring oscillator circuits than the first monitor circuit,
    The characteristic parameter is an oscillation frequency of the ring oscillator circuit.
    A power supply voltage management method for a programmable device.
  5.  請求項4記載のプログラマブル装置の電源電圧管理方法において、
     前記第2電源電圧は、前記第1モニタ回路内の前記複数のリングオシレータ回路に検出された複数の発振周波数の平均値と標準偏差に基づいて定められる、プログラマブル装置の電源電圧管理方法。
    In the power supply voltage management method of the programmable device according to claim 4,
    The power supply voltage management method for a programmable device, wherein the second power supply voltage is determined based on an average value and a standard deviation of a plurality of oscillation frequencies detected by the plurality of ring oscillator circuits in the first monitor circuit.
  6.  請求項3記載のプログラマブル装置の電源電圧管理方法において、
     前記第2モニタ回路からの前記アラーム信号を監視し、前記アラーム信号を検出した際に前記第1~第4工程を実施する第5工程をさらに有する、プログラマブル装置の電源電圧管理方法。
    In the power supply voltage management method of the programmable device of Claim 3,
    A power supply voltage management method for a programmable device, further comprising a fifth step of monitoring the alarm signal from the second monitor circuit and performing the first to fourth steps when the alarm signal is detected.
  7.  請求項1記載のプログラマブル装置の電源電圧管理方法において、
     前記第2工程では、前記第1モニタ回路を用いて検出した前記特性パラメータがメモリに記憶され、
     前記第3工程では、前記ユーザ回路に加えて電源制御回路を含んだ前記第2回路データが前記プログラマブル回路にコンフィギュレーションされ、
     前記第4工程では、前記電源制御回路が、前記メモリに記憶された前記特性パラメータに基づいて前記第2電源電圧を定め、前記第2電源電圧を前記電源回路に指示する、
    プログラマブル装置の電源電圧管理方法。
    In the power supply voltage management method of the programmable device of Claim 1,
    In the second step, the characteristic parameter detected using the first monitor circuit is stored in a memory,
    In the third step, the second circuit data including a power supply control circuit in addition to the user circuit is configured in the programmable circuit,
    In the fourth step, the power supply control circuit determines the second power supply voltage based on the characteristic parameter stored in the memory, and instructs the second power supply voltage to the power supply circuit.
    A power supply voltage management method for a programmable device.
  8.  回路データを記憶するメモリと、
     前記メモリから読み出した前記回路データに応じて自身に任意の回路を実装するプログラマブル回路と、
     前記プログラマブル回路に電源電圧を供給する電源回路と、
    を備えたプログラマブル装置であって、
     前記メモリは、
     電源電圧依存性を持つ特性パラメータを検出するための第1モニタ回路を含んだ第1回路データと、
     所定の処理を行うユーザ回路を含んだ第2回路データと、
    を記憶し、
     前記プログラマブル回路は、前記メモリから前記第1回路データをコンフィギュレーションすることで前記第1モニタ回路を用いて前記特性パラメータを検出したのち、前記メモリから前記第1回路データの代わりにまたは加えて前記第2回路データをコンフィギュレーションすることで前記ユーザ回路を用いて前記所定の処理を行い、
     前記電源回路は、前記第1モニタ回路を用いた検出が行われる際には第1電源電圧を供給し、前記ユーザ回路による処理が行われる際には、前記第1モニタ回路によって検出された前記特性パラメータに基づいて定められる第2電源電圧を供給する、
    プログラマブル装置。
    A memory for storing circuit data;
    A programmable circuit for mounting an arbitrary circuit on itself according to the circuit data read from the memory;
    A power supply circuit for supplying a power supply voltage to the programmable circuit;
    A programmable device comprising:
    The memory is
    First circuit data including a first monitor circuit for detecting a characteristic parameter having power supply voltage dependency;
    Second circuit data including a user circuit for performing a predetermined process;
    Remember
    The programmable circuit detects the characteristic parameter using the first monitor circuit by configuring the first circuit data from the memory, and then replaces or adds the first circuit data from the memory. The second circuit data is configured to perform the predetermined process using the user circuit,
    The power supply circuit supplies a first power supply voltage when detection using the first monitor circuit is performed, and the detection is performed by the first monitor circuit when processing by the user circuit is performed. Supplying a second power supply voltage determined based on the characteristic parameter;
    Programmable device.
  9.  請求項8記載のプログラマブル装置において、
     前記第1モニタ回路は、リングオシレータ回路を備え、
     前記特性パラメータは、前記リングオシレータ回路の発振周波数である、
    プログラマブル装置。
    The programmable device of claim 8, wherein
    The first monitor circuit includes a ring oscillator circuit,
    The characteristic parameter is an oscillation frequency of the ring oscillator circuit.
    Programmable device.
  10.  請求項8記載のプログラマブル装置において、
     前記第2回路データには、前記ユーザ回路に加えて、前記特性パラメータを検出するための第2モニタ回路が含まれ、
     前記第2モニタ回路は、前記第1モニタ回路よりも回路規模が小さく、前記第2回路データがコンフィギュレーションされた最新の時期と比べて、前記第2モニタ回路で検出した前記特性パラメータの値が所定の幅以上に推移した場合にアラーム信号を生成する、
    プログラマブル装置。
    The programmable device of claim 8, wherein
    In addition to the user circuit, the second circuit data includes a second monitor circuit for detecting the characteristic parameter,
    The second monitor circuit has a smaller circuit scale than the first monitor circuit, and the value of the characteristic parameter detected by the second monitor circuit is smaller than the latest time when the second circuit data is configured. Generate an alarm signal when it exceeds a predetermined width,
    Programmable device.
  11.  請求項10記載のプログラマブル装置において、
     前記第1モニタ回路は、複数のリングオシレータ回路を備え、
     前記第2モニタ回路は、前記第1モニタ回路よりも少ない数のリングオシレータ回路を備え、
     前記特性パラメータは、前記リングオシレータ回路の発振周波数である、
    プログラマブル装置。
    The programmable device of claim 10, wherein
    The first monitor circuit includes a plurality of ring oscillator circuits,
    The second monitor circuit includes a smaller number of ring oscillator circuits than the first monitor circuit,
    The characteristic parameter is an oscillation frequency of the ring oscillator circuit.
    Programmable device.
  12.  請求項11記載のプログラマブル装置において、
     前記第2電源電圧は、前記第1モニタ回路内の前記複数のリングオシレータ回路に検出された複数の発振周波数の平均値と標準偏差に基づいて定められる、プログラマブル装置。
    The programmable device of claim 11, wherein
    The programmable device, wherein the second power supply voltage is determined based on an average value and a standard deviation of a plurality of oscillation frequencies detected by the plurality of ring oscillator circuits in the first monitor circuit.
  13.  請求項10記載のプログラマブル装置において、
     前記プログラマブル装置は、さらに、前記第2モニタ回路からの前記アラーム信号を監視する装置管理部を備え、
     前記装置管理部は、前記第2モニタ回路からの前記アラーム信号を検出した際に、
     前記メモリから前記プログラマブル回路に向けて前記第1回路データをコンフィギュレーションする第1ステップと、
     前記電源回路に前記第1電源電圧を指示し、前記第1モニタ回路に前記特性パラメータを検出させる第2ステップと、
     前記第1モニタ回路によって検出された前記特性パラメータに基づいて第2電源電圧を定める第3ステップと、
     前記メモリから前記プログラマブル回路に向けて前記第2回路データをコンフィギュレーションする第4ステップと、
     前記電源回路に前記第2電源電圧を指示し、前記ユーザ回路に前記所定の処理を行わせる第5ステップと、
    を実行する、プログラマブル装置。
    The programmable device of claim 10, wherein
    The programmable device further includes a device management unit that monitors the alarm signal from the second monitor circuit,
    When the device management unit detects the alarm signal from the second monitor circuit,
    Configuring the first circuit data from the memory to the programmable circuit;
    A second step of instructing the first power supply voltage to the power supply circuit and causing the first monitor circuit to detect the characteristic parameter;
    A third step of determining a second power supply voltage based on the characteristic parameter detected by the first monitor circuit;
    A fourth step of configuring the second circuit data from the memory to the programmable circuit;
    Instructing the second power supply voltage to the power supply circuit, and causing the user circuit to perform the predetermined process;
    A programmable device that performs
  14.  請求項8記載のプログラマブル装置において、
     前記第1モニタ回路は、検出した前記特性パラメータを前記メモリに記憶し、
     前記第2回路データには、前記ユーザ回路に加えて電源制御回路が含まれ、
     前記電源制御回路は、前記メモリから前記特性パラメータを読み出し、前記特性パラメータに基づいて前記第2電源電圧を定め、前記第2電源電圧を前記電源回路に指示する、
    プログラマブル装置。
     
    The programmable device of claim 8, wherein
    The first monitor circuit stores the detected characteristic parameter in the memory,
    The second circuit data includes a power supply control circuit in addition to the user circuit,
    The power supply control circuit reads the characteristic parameter from the memory, determines the second power supply voltage based on the characteristic parameter, and instructs the power supply circuit of the second power supply voltage;
    Programmable device.
PCT/JP2013/073948 2013-09-05 2013-09-05 Programmable apparatus power supply voltage management method and programmable apparatus WO2015033422A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/073948 WO2015033422A1 (en) 2013-09-05 2013-09-05 Programmable apparatus power supply voltage management method and programmable apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/073948 WO2015033422A1 (en) 2013-09-05 2013-09-05 Programmable apparatus power supply voltage management method and programmable apparatus

Publications (1)

Publication Number Publication Date
WO2015033422A1 true WO2015033422A1 (en) 2015-03-12

Family

ID=52627929

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/073948 WO2015033422A1 (en) 2013-09-05 2013-09-05 Programmable apparatus power supply voltage management method and programmable apparatus

Country Status (1)

Country Link
WO (1) WO2015033422A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008034535A (en) * 2006-07-27 2008-02-14 National Institute Of Advanced Industrial & Technology Integrated circuit, and its circuit setting formation method
JP2008147274A (en) * 2006-12-07 2008-06-26 Internatl Business Mach Corp <Ibm> Semiconductor integrated circuit device and internal power-supply control system with it
JP2010123807A (en) * 2008-11-20 2010-06-03 Yaskawa Electric Corp Semiconductor integrated circuit and power source voltage control system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008034535A (en) * 2006-07-27 2008-02-14 National Institute Of Advanced Industrial & Technology Integrated circuit, and its circuit setting formation method
JP2008147274A (en) * 2006-12-07 2008-06-26 Internatl Business Mach Corp <Ibm> Semiconductor integrated circuit device and internal power-supply control system with it
JP2010123807A (en) * 2008-11-20 2010-06-03 Yaskawa Electric Corp Semiconductor integrated circuit and power source voltage control system

Similar Documents

Publication Publication Date Title
CN107771273B (en) Ring oscillator for temperature detection in broadband supply noise environments
JP5384910B2 (en) Semiconductor integrated circuit and clock synchronization control method
EP1769314B1 (en) Closed-loop control for performance tuning
US20100275048A1 (en) Semiconductor integrated circuit
US11170871B2 (en) Semiconductor apparatus for compensating for degradation and semiconductor system using the same
US20170285989A1 (en) Memory apparatus and energy-saving control method thereof
US10408863B2 (en) Reference voltage prediction in memory subsystem
US10972080B2 (en) Clock control in semiconductor system
US8937511B2 (en) Frequency scaling of variable speed systems for fast response and power reduction
US20130159734A1 (en) Power Management Methods for System on a Chip
KR101660019B1 (en) System and method for sequentially distributing power among one or more modules
EP2955532B1 (en) Adaptive voltage scaling circuit and chip
US20180225053A1 (en) Semiconductor device and semiconductor system
WO2015033422A1 (en) Programmable apparatus power supply voltage management method and programmable apparatus
US20120194233A1 (en) Device characteristic compensation circuit and semiconductor apparatus using the same
US20190385648A1 (en) Memory apparatus and voltage control method thereof
JP6439611B2 (en) Battery pack monitoring device and battery pack monitoring system
US10848162B2 (en) Semiconductor apparatus including clock generation circuit and semiconductor system using the same
JP2012100058A (en) Delay circuit, delay control device, memory control device and information terminal apparatus
US9766966B1 (en) Method and apparatus for on-chip adjustment of chip characteristics
JP5890998B2 (en) Semiconductor device and power supply method
US6779124B2 (en) Selectively deactivating a first control loop in a dual control loop circuit during data transmission
US20210012854A1 (en) Non-volatile semiconductor memory device and method for driving the same
JP2018195243A (en) Semiconductor device and semiconductor device control method
CN110390977B (en) Operation control circuit and semiconductor memory device including the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13892885

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13892885

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP