WO2010070736A1 - プログラマブルデバイス制御装置およびその方法 - Google Patents

プログラマブルデバイス制御装置およびその方法 Download PDF

Info

Publication number
WO2010070736A1
WO2010070736A1 PCT/JP2008/072867 JP2008072867W WO2010070736A1 WO 2010070736 A1 WO2010070736 A1 WO 2010070736A1 JP 2008072867 W JP2008072867 W JP 2008072867W WO 2010070736 A1 WO2010070736 A1 WO 2010070736A1
Authority
WO
WIPO (PCT)
Prior art keywords
power supply
supply voltage
setting data
programmable device
fpga
Prior art date
Application number
PCT/JP2008/072867
Other languages
English (en)
French (fr)
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/JP2008/072867 priority Critical patent/WO2010070736A1/ja
Publication of WO2010070736A1 publication Critical patent/WO2010070736A1/ja

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

Definitions

  • the present invention relates to a programmable device control apparatus and method.
  • This programmable device is an FPGA (Field Programmable Gate Array).
  • FPGA Field Programmable Gate Array
  • configuration data setting data for setting the operation of the FPGA.
  • the FPGA reads the configuration data and performs an operation based on the configuration data. By rewriting the configuration data, it is possible to change the function realized by the FPGA.
  • PC personal computer
  • FPGA control device FPGA mounting substrate having an FPGA
  • Configuration data to be updated is transmitted from the PC to the FPGA, and is written and stored in a non-volatile memory (for example, a flash memory) in the FPGA control device.
  • a non-volatile memory for example, a flash memory
  • the FPGA mounting substrate 100 includes a plurality of FPGAs (three FPGAs 101, 102, and 103 in FIG. 5), a configuration control unit 104, a flash memory 105, and a power supply voltage monitoring circuit 106.
  • the main FPGA 101 performs an operation based on configuration data including a communication function with a PC (not shown), and the other FPGAs 102 and 103 exclusively perform an operation based on the configuration data unique to the device. .
  • the main power supply is electrically connected to each component of the FPGA mounting substrate 100, and the main FPGA 101, the configuration control unit 104, and the power supply voltage monitoring circuit 106 have a power supply voltage ("VCC1" in FIG. 5) from the main power supply. ) Is supplied.
  • VCC1 power supply voltage
  • the FPGAs 102 and 103 may be mounted on different boards with respect to the FPGA 101.
  • a power supply voltage from a power supply different from the main power supply in FIG. 5, "VCC2", “VCC3"
  • the FPGAs 102 and 103 are mounted on the same FPGA mounting substrate 100.
  • the power supply voltage monitoring circuit 106 monitors the power supply voltage (VCC1) supplied to the FPGA 101 and configures the power supply voltage (VCC1) when the power supply voltage (VCC1) reaches a predetermined constant voltage (for example, 3.3 V) and becomes stable. Release the reset to the session control unit 104. After the reset is released, the configuration control unit 104 reads the configuration data from the flash memory 105 and writes the configuration data to each of the FPGAs 101, 102, and 103 (hereinafter referred to as “configuration operation”) sequentially. Are transmitted to the FPGAs 101, 102, 103 in the order of the FPGAs 101, 102, 103. Each FPGA 101, 102, 103 receives configuration data and performs an operation based on the configuration data.
  • the rise time of VCC2 and VCC3 is measured in advance, and a configuration operation is performed after a sufficient time for VCC2 and VCC3 to rise after VCC1 rises.
  • a method of transmitting a command for performing a configuration operation from an external device such as a PC to the configuration control unit and performing the configuration operation again when it is sufficiently stable after the start-up may be a method of transmitting a command for performing a configuration operation from an external device such as a PC to the configuration control unit and performing the configuration operation again when it is sufficiently stable after the start-up.
  • a method has been proposed in which all the power supply voltages supplied to each FPGA are monitored and the configuration operation is performed after all the power supply voltages are stabilized (for example, see Patent Document 1). JP 2002-176352 A
  • Patent Document 1 In addition to the method described in Patent Document 1 as described above, there is a demand for a method for performing the configuration operation without any problem even when the rise of the power supply voltage supplied to each FPGA varies. Further, the method as described in Patent Document 1 has a problem that it takes more time to perform the configuration operation and the initial time of the system becomes longer.
  • the present invention has been made in view of such circumstances, and even if there is variation in the rise of the power supply voltage supplied to each programmable device, the operation of writing the setting data to the programmable device can be performed without any problem. It is an object of the present invention to provide a programmable device control apparatus and method.
  • the present invention has the following configuration. That is, the programmable device control apparatus according to the present invention includes a receiving unit and a storage unit, stores data received by the receiving unit in the storage unit as setting data, and operates based on the setting data.
  • a programmable device control device comprising a programmable device and a non-volatile memory that stores the setting data corresponding to each of the plurality of programmable devices, and supplies the programmable device to a predetermined programmable device among the plurality of programmable devices
  • First power supply voltage monitoring means for monitoring the power supply voltage of the predetermined programmable device; and second power supply voltage monitoring for monitoring the power supply voltage of the other programmable device supplied to another programmable device among the plurality of programmable devices.
  • the setting data stored in the nonvolatile memory is transmitted, and the setting data is received by the receiving means, After the transmission of the setting data to the programmable device and the reception of the setting data by the receiving means, the nonvolatile power supply for the programmable device determined by the second power supply voltage monitoring means to be stable The setting data stored in the memory is transmitted and the setting data is received by the receiving means.
  • the programmable device control apparatus of the present invention in addition to the first power supply voltage monitoring means for monitoring the power supply voltage of a predetermined programmable device supplied to the predetermined programmable device among the plurality of programmable devices, 2nd power supply voltage monitoring means for monitoring the power supply voltage of the other programmable device supplied to another programmable device among several programmable devices is provided.
  • the setting data stored in the non-volatile memory is transmitted to the programmable device whose power supply voltage is determined to be stable by the first power supply voltage monitoring means, and the setting data is received by the receiving means. An operation of writing to a predetermined programmable device is performed.
  • a nonvolatile memory is provided for the programmable device whose power supply voltage is determined to be stable by the second power supply voltage monitoring unit.
  • the setting data stored in is transmitted, and the setting data is received by the receiving means, whereby the setting data is written to another programmable device. Therefore, unlike the case of monitoring only the power supply voltage supplied to the predetermined programmable device as the main as described in FIG. 5, the power supply voltage supplied to other programmable devices is also monitored. Even if the rise of the power supply voltage supplied to each programmable device varies, the operation of writing the setting data to the programmable device can be performed without any problem.
  • the programmable device control apparatus of the present invention when a plurality of programmable devices monitored by the second power supply voltage monitoring means are provided, it is preferable to carry out as follows. That is, the operation of transmitting the setting data stored in the non-volatile memory and receiving the setting data by the receiving means to the programmable device whose power supply voltage is determined to be stable by the second power supply voltage monitoring means, It is preferable to perform each in the order of the programmable devices for which the power supply voltage is determined to be stable by the two power supply voltage monitoring means.
  • an example of the second power supply voltage monitoring means performs a logical operation on a shift register circuit capable of holding a past power supply voltage state and logic data output from the shift register circuit. And a logic circuit.
  • the shift register circuit holds the past state, outputs logic data based on the held past state, and the logic circuit performs a logical operation on the logic data so that the state of the power supply voltage is simply expressed by the logic data. Therefore, it is possible to easily determine the stable state of the power supply voltage.
  • the programmable device control method of the present invention includes a receiving unit and a storage unit, stores data received by the receiving unit as setting data in the storage unit, and operates based on the setting data.
  • the power supply voltage of the other programmable device to be supplied to another programmable device among the plurality of programmable devices is monitored, and the nonvolatile device is determined for the programmable device that is determined to have stabilized the power supply voltage. Transmitting the setting data stored in a memory and receiving the setting data by the receiving means.
  • step (a) the power supply voltage of a predetermined programmable device supplied to a predetermined programmable device among a plurality of programmable devices is monitored, and (b In step), after determining that the power supply voltage supplied to the predetermined programmable device in step (a) described above is stable, the setting data stored in the nonvolatile memory is transmitted to the predetermined programmable device. Then, the setting data is received by the receiving means, and the setting data is written to a predetermined programmable device.
  • step (c) after completion of the transmission of the setting data to the programmable device and the reception of the setting data by the receiving means in the step (b) described above, to the other programmable device among the plurality of programmable devices.
  • Monitors the power supply voltage of other programmable devices to be supplied sends the setting data stored in the non-volatile memory to the programmable device that is determined to have a stable power supply voltage, and receives the setting data by the receiving means
  • the setting data is written to another programmable device. Therefore, even if the rise of the power supply voltage supplied to each programmable device varies, the operation of writing the setting data to the programmable device can be performed without any problem.
  • the programmable device control method of the present invention when there are a plurality of programmable devices monitored in the step (c) described above, it is preferable to perform the following. That is, in the step (c), after completing the transmission of the setting data to the programmable device and the receiving of the setting data in the receiving means in the step (b) described above, the programmable device is determined to have a stable power supply voltage. On the other hand, it is preferable to perform the operation of transmitting the setting data stored in the non-volatile memory and receiving the setting data by the receiving unit in the order of the programmable devices determined to have stabilized the power supply voltage. Therefore, the operation time mentioned above can be shortened rather than the patent document 1 mentioned above.
  • the power supply voltage of the predetermined programmable device supplied to the predetermined programmable device among the plurality of programmable devices is determined to be stable and then the predetermined programmable device.
  • stored in the non-volatile memory is transmitted, and the operation
  • the setting data stored in the non-volatile memory is transmitted to the programmable device whose power supply voltage is determined to be stable, and the setting data is received by the receiving means, so that the setting data is written to another programmable device. Perform the action. Therefore, even if the rise of the power supply voltage supplied to each programmable device varies, the operation of writing the setting data to the programmable device can be performed without any problem.
  • FIG. 1 It is a schematic block diagram of the FPGA control apparatus (FPGA mounting board
  • A) is a schematic block diagram of FPGA
  • (b) is a schematic block diagram of a configuration control part. It is a schematic block diagram of a FPGA power supply determination part. It is a flowchart which shows a series of flows after power-on including a configuration operation. It is a schematic block diagram of the conventional FPGA control apparatus (FPGA mounting board
  • FIG. 1 is a schematic block diagram of an FPGA control apparatus (FPGA mounting board) according to the embodiment
  • FIG. 2A is a schematic configuration diagram of the FPGA
  • FIG. 2B is a configuration control unit. It is a schematic block diagram.
  • an FPGA Field Programmable Gate Array
  • flash memory Flash Memory
  • the FPGA mounting substrate 10 includes a plurality of FPGAs (three FPGAs 1, 2, and 3 in FIG. 1), a configuration control unit 4, a flash memory 5, and a power supply voltage monitoring circuit 6.
  • the FPGA control device (FPGA mounting substrate) 10 corresponds to the programmable device control device in the present invention
  • the FPGAs 1, 2, and 3 correspond to programmable devices in the present invention
  • the flash memory 5 corresponds to the nonvolatile memory in the present invention.
  • the power supply voltage monitoring circuit 6 corresponds to the first power supply voltage monitoring means in the present invention.
  • the main (main) FPGA 1 performs an operation based on configuration data including a communication function with a PC (not shown), and the other FPGAs 2 and 3 exclusively perform an operation based on the configuration data unique to the device.
  • the FPGA mounting substrate 10 is used for a medical or industrial radiation diagnostic apparatus, and the FPGAs 2 and 3 perform image processing for radiation diagnosis.
  • the configuration data is setting data for setting the operations of the FPGAs 1, 2, and 3.
  • the configuration data corresponds to the setting data in the present invention.
  • the main power supply is electrically connected to each component of the FPGA mounting substrate 10, and the main FPGA 1, the configuration control unit 4 and the power supply voltage monitoring circuit 6 are supplied with power from the main power supply as in the conventional FIG. 5.
  • a voltage (denoted as “VCC1” in FIG. 1) is supplied.
  • the FPGAs 2 and 3 may be mounted on a separate board with respect to the FPGA 1, and in this case, a power supply voltage from a power supply different from the main power supply (in FIG. VCC2 ”and“ VCC3 ”) are supplied to the FPGAs 2 and 3, respectively.
  • FIG. VCC2 a power supply voltage from a power supply different from the main power supply
  • VCC3 a power supply voltage from a power supply different from the main power supply
  • the FPGA 1 is constructed by a programmable device in which a hardware circuit (for example, a logic circuit) used therein can be changed according to program data, and includes a receiving unit 11 and a storage area 12 as shown in FIG. And have. Data received by the receiving unit 11 is stored in the corresponding storage area 12 as configuration data, and the FPGA 1 operates based on the configuration data. Configuration data is transmitted from the flash memory 5 to the FPGA 1 via a flash memory control unit 42 (see FIG. 2B) and an FPGA transfer unit 43 (see FIG. 2B), which will be described later. The receiving unit 11 receives configuration data.
  • a hardware circuit for example, a logic circuit
  • the configuration data stored in the flash memory 5 is transmitted to the FPGA 1 and the configuration data is received by the receiving unit 11 so that the configuration data is written in the FPGA 1.
  • the operation based on the FPGA 1 is performed. Since the FPGAs 2 and 3 have the same configuration as the FPGA 1, the description thereof is omitted. In FIG. 2A, only the FPGA 1 is shown as a representative of the FPGA 1, and the FPGAs 2 and 3 are not shown.
  • the receiving unit 11 corresponds to the receiving means in the present invention, and the storage area 12 corresponds to the storing means in the present invention.
  • the configuration control unit 4 includes a configuration read control unit 41, a flash memory control unit 42, and an FPGA transfer unit 43, as shown in FIG. Unlike the conventional case of monitoring only the power supply voltage (VCC1) supplied to the main FPGA 101 as in FIG. 5, in this embodiment, the power supply voltage (VCC1) supplied to the main FPGA1 is monitored, Furthermore, the power supply voltages (VCC2 and VCC3) supplied to the other FPGAs 2 and 3 are also monitored.
  • the configuration control unit 4 includes an FPGA power source determination unit 44 as shown in FIG. 2, and as shown in FIGS. 1 and 2, the FPGA power source determination unit 44 and the power source voltages (VCC2, VCC3).
  • the cable is electrically connected directly. With such electrical connection, the FPGA power supply determination unit 44 monitors the power supply voltages (VCC2 and VCC3) supplied to the other FPGAs 2 and 3.
  • the FPGA power supply determination unit 44 corresponds to the second power supply voltage monitoring means in the present invention.
  • the FPGA power supply determination unit 44 (not shown in FIG. 1) of the configuration control unit 4 as shown in FIG. )
  • a cable for power supply voltage VCC2, VCC3
  • VCC2, VCC3 a voltage dividing circuit or the like
  • LPF Low Pass Pass Filter
  • a / D converter Analog to Digital
  • the configuration read control unit 41 is electrically connected to the power supply voltage monitoring circuit 6, and includes the flash memory control unit 42, the FPGA transfer unit 43, and the like.
  • the FPGA power supply determination unit 44 is also electrically connected.
  • the flash memory control unit 42 is electrically connected to the configuration read control unit 41, is also electrically connected to the FPGA transfer unit 43, and is also electrically connected to the flash memory 5.
  • the FPGA transfer unit 43 is electrically connected to the configuration read control unit 41 and the flash memory control unit 42, and is also electrically connected to the FPGAs 1, 2, and 3.
  • the FPGA power supply determination unit 44 is electrically connected to the power supply voltages (VCC2 and VCC3) supplied to the configuration read control unit 41 and the FPGAs 2 and 3 as described above.
  • the configuration read control unit 41 controls the entire configuration operation related to each FPGA.
  • the flash memory control unit 42 transmits / receives data to / from the flash memory 5.
  • the FPGA transfer unit 43 transmits / receives data to / from each of the FPGAs 1, 2, and 3.
  • the FPGA power supply determination unit 44 monitors the power supply voltages (VCC2 and VCC3) supplied to the FPGAs 2 and 3 as described above. Specifically, after the power supply voltage monitoring circuit 6 or the FPGA power supply determination unit 44 determines that the power supply voltage is stable, the configuration read control unit 41 transmits a read command (read command) to the flash memory control unit 42. .
  • the flash memory control unit 42 accesses the flash memory 5 based on a read command from the flash memory control unit 42 and reads configuration data from the flash memory 5.
  • the flash memory control unit 42 transmits the configuration data read from the flash memory 5 to the FPGA transfer unit 43, and the FPGA transfer unit 43 transmits the configuration data to the corresponding FPGA, and the FPGA data
  • the configuration data is received by the receiving unit.
  • the configuration operation is performed by writing the configuration data into the FPGA (storage area) by transmitting the configuration data to the FPGA and receiving the configuration data at the receiving unit.
  • FIG. 3 is a schematic configuration diagram of the FPGA power source determination unit.
  • the FPGA power source determination unit 44 includes a frequency divider 51, a plurality of stages of shift register circuits (four stages of shift register circuits 52, 53, 54, and 55 in FIG. 3), an AND circuit 56, and one stage. Shift register circuit 57.
  • FIG. 3 for convenience of illustration, only a diagram for monitoring the power supply voltage VCC2 supplied to the FPGA 2 is shown, but it should be noted that the power supply voltage VCC3 supplied to the FPGA 3 is also configured in the same manner as the VCC2.
  • Shift register circuits 52, 53, 54, and 55 correspond to the shift register circuit in the present invention
  • AND circuit 56 and shift register circuit 57 correspond to the logic circuit in the present invention.
  • the frequency dividing circuit 51 is configured by a logic circuit such as a counter, for example, and generates a clock (denoted by “CLK” in FIG. 3) by dividing the frequency.
  • the clock generated by frequency division by the frequency dividing circuit 51 is sent to the shift register circuits 52, 53, 54, and 55 and the shift register circuit 57 at each stage.
  • the shift register circuits 52, 53, 54, and 55 and the shift register circuit 57 are configured by a circuit that can hold a past state, such as a flip-flop circuit.
  • the outputs of the shift register circuits 52, 53, 54, 55 (for example, the Q terminal of the flip-flop circuit) are connected to the AND circuit 56, and the output of the AND circuit 56 is connected to the shift register circuit 57.
  • the shift register circuits 52, 53, 54, and 55 at each stage periodically sample the state of the power supply voltage with the clock generated by the frequency dividing circuit 51, and hold the past state.
  • the AND circuit 56 outputs High only when the state of the held power supply voltage is all High, and sends it to the shift register circuit 57 to shift it as a power supply voltage determination result (“VCC2 determination result” in FIG. 3). Output from the register circuit 57. By outputting in this way, it is determined that the power supply voltage has risen stably only when the state of the held power supply voltage is all High, and High is output.
  • the FPGA power supply determination unit 44 determines whether the power supply voltages of VCC2 and VCC3 have risen stably.
  • FIG. 4 is a flowchart showing a series of flows after power-on including a configuration operation.
  • Step S1 VCC1 power on? Turn on the power.
  • Step S1 is looped and waited until power is turned on at VCC1.
  • the power supply voltage monitoring circuit 6 monitors the power supply voltage (VCC1) supplied to the FPGA 1, and after the power supply voltage (VCC1) reaches a predetermined constant voltage (eg, 3.3V). When the state becomes stable, the reset of the configuration control unit 4 is released.
  • a threshold value threshold voltage
  • the power supply voltage is more than the threshold value (when the predetermined constant voltage is 3.3V, the threshold value is about 2.5V). If the power supply voltage exceeds the predetermined time, the power supply voltage may be determined to be stable.
  • This step S1 corresponds to the step (a) in the present invention.
  • Step S2 FPGA2 flag clear, FPGA3 flag clear After power-on (power-on), both the flags related to FPGA2 and FPGA3 are cleared to "0".
  • This flag is set in the configuration control unit 4. This flag is used to determine whether or not the configuration operation of the FPGA 2 or the FPGA 3 is completed. When the flag is “0”, the configuration operation of the FPGA 2 or the FPGA 3 is not completed and the flag is “ When it is 1 ′′, it is determined that the configuration operation of the FPGA 2 and the FPGA 3 is finished.
  • Step S3 FPGA1 Configuration Operation After the reset is released, the configuration control unit 4 reads the configuration data from the flash memory 5 and performs the configuration operation of the FPGA1, which is an operation of writing to the FPGA1.
  • the configuration read control unit 41 transmits a read command (read command) to the flash memory control unit 42.
  • the flash memory control unit 42 accesses the flash memory 5 based on a read command from the flash memory control unit 42 and reads configuration data from the flash memory 5.
  • the flash memory control unit 42 transmits the configuration data read from the flash memory 5 to the FPGA transfer unit 43, and the FPGA transfer unit 43 transmits the configuration data to the corresponding FPGA 1, and the FPGA 1
  • the receiving unit 11 receives configuration data.
  • the configuration operation of the FPGA 1 is performed by writing the configuration data to the FPGA 1 (the storage area 12 thereof) by transmitting the configuration data to the FPGA 1 and receiving the configuration data by the receiving unit 11.
  • This step S3 corresponds to the step (b) in the present invention.
  • step S2 described above may be performed before step S3 (corresponding to step (b) in the present invention), after step S3, or in parallel with step S3.
  • Step S4 Is the FPGA2 flag “0” and VCC2 stable? After the transmission of the configuration data to the FPGA 1 and the reception of the configuration data at the receiving unit, the configuration data is sent to the FPGA for which the power supply voltage is determined to be stable among the other FPGAs 2 and 3 except for the FPGA 1. The configuration operation to be written is performed in the order of the FPGAs determined that the power supply voltage is stable.
  • step S4 it is determined whether or not the FPGA2 flag is “0” and VCC2 is stable.
  • the FPGA2 flag is “1” or VCC2 is not stable, it is determined that the configuration operation of the FPGA2 in the next step S5 is completed when the FPGA2 flag is “1”, or the next is when VCC2 is not stable. It is determined that the configuration operation of the FPGA 2 in step S5 is not to be performed, and step S5 and further next step S6 are skipped.
  • the FPGA power supply determination unit 44 determines whether the power supply voltage (VCC2) supplied to the FPGA2 has stabilized after reaching a predetermined constant voltage (for example, 3.3 V). It is done by monitoring. Specifically, it is determined that the power supply voltage VCC2 has risen stably only when all of the states of the power supply voltage VCC2 held by the shift register circuits 52, 53, 54, and 55 of each stage have become High, Output.
  • Step S5 FPGA2 Configuration Operation
  • the configuration control unit 4 reads the configuration data from the flash memory 5, The configuration operation of the FPGA 2, which is an operation of writing to the FPGA 2, is performed.
  • the configuration read control unit 41 transmits a read command (read command) to the flash memory control unit 42.
  • the flash memory control unit 42 accesses the flash memory 5 based on a read command from the flash memory control unit 42 and reads configuration data from the flash memory 5.
  • the flash memory control unit 42 transmits the configuration data read from the flash memory 5 to the FPGA transfer unit 43, and the FPGA transfer unit 43 transmits the configuration data to the corresponding FPGA 2, and the FPGA 2
  • the configuration data is received by the receiving unit.
  • the configuration operation of the FPGA 2 is performed by writing the configuration data to the FPGA 2 (the storage area) by transmitting the configuration data to the FPGA 2 and receiving the configuration data at the receiving unit.
  • Step S6 Setting of FPGA2 Flag “1”
  • the configuration operation of FPGA2 is performed in step S5
  • the configuration operation of FPGA2 is completed. Therefore, the FPGA2 flag is set from “0” to “1”.
  • Step S7 Is the FPGA3 flag “0” and VCC3 stable?
  • step S4 it is determined whether the FPGA 3 flag is “0” and VCC 3 is stable. If the FPGA 3 flag is “1” or the VCC 2 is not stable, it is determined that the configuration operation of the FPGA 3 in the next step S 8 is completed when the FPGA 3 flag is “1”, or if the VCC 3 is not stable.
  • step S8 it is determined that the configuration operation of the FPGA 3 should not be performed, and step S8 and further next step S9 are skipped.
  • the FPGA power supply determination unit 44 determines whether or not the power supply voltage (VCC3) supplied to the FPGA3 has stabilized after reaching a predetermined constant voltage (for example, 3.3 V). It is done by monitoring. Specifically, it is determined that the power supply voltage VCC3 has risen stably only when the power supply voltage VCC3 held by the shift register circuits 52, 53, 54, and 55 in each stage is all High, Output.
  • VCC3 power supply voltage supplied to the FPGA3 has stabilized after reaching a predetermined constant voltage (for example, 3.3 V). It is done by monitoring. Specifically, it is determined that the power supply voltage VCC3 has risen stably only when the power supply voltage VCC3 held by the shift register circuits 52, 53, 54, and 55 in each stage is all High, Output.
  • Step S8 FPGA3 Configuration Operation Similar to step S5, when it is determined in step S7 that the FPGA3 flag is “0” and VCC3 is stable, the configuration control unit 4 performs configuration from the flash memory 5. The configuration operation of the FPGA 3, which is an operation for reading out the configuration data and writing it into the FPGA 3, is performed.
  • Step S9 Setting of FPGA3 flag “1” Similarly to step S6, when the configuration operation of FPGA3 is performed in step S8, the configuration operation of FPGA3 is completed. Therefore, the FPGA3 flag is changed from “0” to “1”. Set to "”.
  • Step S10 Are both the FPGA2 flag and the FPGA3 flag “1”? It is determined whether both the FPGA2 flag and the FPGA3 flag are “1”. If both the configuration operations of FPGA2 and FPGA3 are performed in step S5 and step S8, the configuration operations of FPGA2 and FPGA3 are both completed, so the FPGA2 flag is set to “1” in step S6 following step S5. In step S9 after step S8, the FPGA 3 flag is set to “1”. Therefore, when it is determined that both the FPGA2 flag and the FPGA3 flag are “1”, the configuration operations of the FPGA2 and FPGA3 are both finished, and a series of FPGA control is finished.
  • steps S5 and S6 are skipped, and steps S8 and S9 are skipped.
  • steps S6 and S9 where the FPGA2 flag and FPGA3 flag are skipped, “1” is skipped. "" Indicates that neither is set. Therefore, in order to perform both the configuration operation of the FPGA 2 and the configuration operation of the FPGA 3, the process returns to step S4.
  • step S5 and S6 the configuration operation of FPGA2 (steps S5 and S6) has been performed. This indicates that steps S8 and S9 are skipped, and only the FPGA3 flag is skipped and is not set to “1” in step S9. Therefore, in order to perform the configuration operation of the FPGA 3, the process returns to step S4.
  • step S8 and S9 the configuration operation of FPGA3 (steps S8 and S9) is performed.
  • the configuration operation of the FPGA 2 is not performed, steps S5 and S6 are skipped, and only the FPGA 2 flag is skipped, indicating that “1” is not set. Therefore, in order to perform the configuration operation of the FPGA 2, the process returns to step S4.
  • step S4 If VCC2 is stable in the returned step S4, the configuration operation of the FPGA 2 is performed in step S5, and the process proceeds to step S7 via step S6. Of course, if VCC2 is not stable even in the returned step S4, steps S5 and S6 are skipped and the process proceeds to step S7.
  • the FPGA2 flag is “0” and the FPGA3 flag is “1”
  • the configuration operation of the FPGA3 has already been completed and the FPGA3 flag has already been set to “1”. Therefore, in step S7, the FPGA3 flag is set. It is determined that “1” and VCC3 is stable. Steps S8 and S9 are skipped, and the process proceeds to step S10. Steps S4 to S10 described above correspond to the step (c) in the present invention.
  • a predetermined FPGA FPGA1 in the present embodiment.
  • the power supply voltage monitoring circuit 6 that monitors the power supply voltage of the predetermined FPGA to be supplied (VCC1 in this embodiment)
  • other FPGAs that are supplied to other FPGAs (FPGAs 2 and 3 in this embodiment) among the plurality of FPGAs
  • An FPGA power supply determination unit 44 that monitors the power supply voltage of the FPGA (VCC2 and VCC3 in this embodiment) is provided.
  • step S1 VCC1 power on?
  • the configuration control unit 4 monitors the power supply voltage (VCC1) supplied to a predetermined FPGA (FPGA1), and in step S3 (FPGA1 configuration operation), the above-described step S1.
  • the power supply voltage monitoring circuit 6 determines that the power supply voltage (VCC1) is stable
  • the configuration data stored in the flash memory 5 is transmitted to a predetermined FPGA (FPGA1), and the configuration is performed by the receiving unit.
  • an operation of writing configuration data to a predetermined FPGA 1 that is, a configuration operation of FPGA 1 is performed.
  • the configuration control unit 4 transmits the configuration data to the FPGA 1 and completes reception of the configuration data in the reception unit in the above-described step S3.
  • the power supply voltage (VCC2, VCC3) supplied to the FPGA (FPGA2, 3) is monitored by the FPGA power supply determination unit 44, and the FPGA determined by the FPGA power supply determination unit 44 that the power supply voltage (VCC2, VCC3) is stable is detected.
  • the configuration data stored in the flash memory 5 is transmitted, and the configuration data is received by the receiving unit, so that the configuration data is written to another FPGA (that is, the configuration of the FPGA 2 and the FPGA 3). Carry out the work).
  • the power supply voltages VCC2 and VCC3 supplied to the other FPGAs 102 and 103 are also different. Since the monitoring is performed, the operation of writing the configuration data to the FPGA (configuration operation) can be performed without any problem even if the rise of the power supply voltage supplied to each FPGA varies.
  • the FPGAs monitored by the FPGA power supply determination unit 44 are two cases of FPGAs 2 and 3
  • the FPGA power supply determination unit 44 includes a shift register circuit (in this embodiment, four stages of shift register circuits 52, 53, 54, and 55) that can hold the state of the past power supply voltage, and its shift.
  • a logic circuit (AND circuit 56 and shift register circuit 57 in this embodiment) that performs logical operation on logic data output from the register circuit (in this embodiment, Low / High output from the Q terminal of the flip-flop circuit). ing.
  • the shift register circuit holds the past state, outputs logic data (Low / High) based on the held past state, and outputs the logic data (Low / High) to the logic circuit (AND circuit 56 and shift register).
  • the circuit 57 performs a logical operation, the state of the power supply voltage can be easily expressed by logic data (Low / High), and the stable state of the power supply voltage can be easily determined.
  • the present invention is not limited to the above embodiment, and can be modified as follows.
  • an FPGA Field Programmable Gate Array
  • receiving means receiving unit in the embodiment 11
  • a storage means storage area 12
  • a device that stores data received by the reception means in the storage means as setting data (configuration data in the embodiment) and operates based on the setting data.
  • the specific type of the programmable device is not particularly limited.
  • the flash memory is described as an example of the nonvolatile memory, but it is represented by EPROM (Electrically Programmable Read-only Memory), E 2 PROM (Electrically Erasable Programmable Read-only Memory), and the like.
  • EPROM Electrically Programmable Read-only Memory
  • E 2 PROM Electrically Erasable Programmable Read-only Memory
  • the specific type of the nonvolatile memory is not particularly limited.
  • the power supply voltage monitoring circuit 6 for the first power supply voltage monitoring means (power supply voltage monitoring circuit 6 in the embodiment), if the power supply voltage exceeds the threshold value (threshold voltage) for a predetermined time or more. Although the power supply voltage is determined to be stable, the power supply voltage monitoring circuit 6 is similar to the second power supply voltage monitoring means (FPGA power supply determination unit 44 in the embodiment) as well as the shift register circuit. A circuit (an AND circuit 56 and a shift register circuit 57 in the embodiment) may be provided.
  • the second power supply voltage monitoring means includes a shift register circuit and a logic circuit (AND circuit 56 and shift register circuit 57 in the embodiment).
  • the FPGA power supply determination unit 44 also has a power supply voltage that is a predetermined time longer than the threshold value (threshold voltage) in the same manner as the first power supply voltage monitoring means (power supply voltage monitoring circuit 6 in the embodiment). It may be configured to determine that the power supply voltage is stable if it exceeds the above.
  • the second power supply voltage monitoring means (FPGA power supply determination unit 44 in the embodiment) is provided in the configuration control unit 4 as shown in FIG. Independent of 4, second power supply voltage monitoring means may be provided.
  • the programmable device (FPGA in the embodiment) is read.
  • the setting data stored in the non-volatile memory is transmitted and the setting data is received by the receiving means (the receiving unit 11 in the embodiment)
  • the setting data is written to the programmable device as a series of operations.
  • the setting data stored in the non-volatile memory may be read in advance, and then the setting data may be transmitted, and only the operation of receiving the setting data by the receiving unit may be performed.
  • the configuration control unit 4 controls a series of operations (that is, configuration operations), but the programmable device (FPGA in the embodiment) itself controls a series of configuration operations. May be.

Landscapes

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

Abstract

 この発明のFPGA制御装置(FPGA搭載基板)およびその方法では、複数のFPGAのうち、所定のFPGAの電源電圧が安定したと判定された後に、所定のFPGAに対して、フラッシュメモリに記憶されたコンフィギュレーションデータを送信して、受信部でコンフィギュレーションデータを受信することで、コンフィギュレーションデータを所定のFPGAに書き込む動作(コンフィギュレーション動作)を行う。さらに、上述したコンフィギュレーションデータのFPGAへの送信の完了後に、他のFPGAのコンフィギュレーション動作を行う。

Description

プログラマブルデバイス制御装置およびその方法
 この発明は、プログラマブルデバイス制御装置およびその方法に関する。
 近年、プログラムデータに応じて内部の使用するハードウェア回路(例えば論理回路)が変更可能なプログラマブルデバイスがある。
 このプログラマブルデバイスとして、FPGA(Field Programmable Gate Array)を例に採って説明する。FPGAでは、「コンフィギュレーションデータ」と呼ばれるFPGAの動作を設定するための設定データがある。電源投入時に、FPGAはこのコンフィギュレーションデータを読み出すことにより、コンフィギュレーションデータに基づく動作を行う。このコンフィギュレーションデータを書き換えることで、FPGAで実現する機能を変更することが可能である。
 より具体的に説明すると、外部装置であるパーソナルコンピュータ(以下、「PC」と略記する)とFPGAを有したFPGA制御装置(FPGA搭載基板)とを電気的に接続することで、FPGA搭載基板はPCに対して通信可能に接続する。PCから更新すべきコンフィギュレーションデータをFPGAに送信し、FPGA制御装置内の不揮発性メモリ(例えばフラッシュメモリ)に書き込んで記憶する。次の電源投入時にそのフラッシュメモリに記憶されたコンフィギュレーションデータを読み出してFPGAに書き込むことで、書き込んだコンフィギュレーションデータに基づく動作をFPGAが行う。
 従来のFPGA制御装置(FPGA搭載基板)の構成について、図5を参照して説明する。図5に示すように、FPGA搭載基板100は、複数のFPGA(図5では3つのFPGA101,102,103)とコンフィギュレーション制御部104とフラッシュメモリ105と電源電圧監視回路106とを備えている。メイン(主体)となるFPGA101は、PC(図示省略)との通信機能を含んだコンフィギュレーションデータに基づく動作を行い、他のFPGA102,103は、その装置特有のコンフィギュレーションデータに基づく動作を専ら行う。主電源はFPGA搭載基板100の各構成に電気的に接続されており、メインとなるFPGA101、コンフィギュレーション制御部104および電源電圧監視回路106には主電源からの電源電圧(図5では「VCC1」で表記)が供給される。実際には、FPGA102,103は、FPGA101に対して別基板に搭載されている場合があり、その場合は、主電源とは別の電源からの電源電圧(図5では「VCC2」、「VCC3」で表記)がFPGA102,103にはそれぞれ供給される。図5では、図示の便宜上、同一のFPGA搭載基板100にFPGA102,103が搭載されている図として図示する。
 電源投入時に電源電圧監視回路106は、FPGA101へ供給する電源電圧(VCC1)を監視し、その電源電圧(VCC1)が所定の一定電圧(例えば3.3V)に到達してから安定した頃にコンフィギュレーション制御部104に対してリセットの解除を行う。リセット解除後にコンフィギュレーション制御部104は、フラッシュメモリ105からコンフィギュレーションデータを読み出して、各FPGA101,102,103に書き込む動作(以下、「コンフィギュレーション動作」と呼ぶ)を順次に行うべく、コンフィギュレーションデータをFPGA101,102,103の順に各FPGA101,102,103に対して送信する。各FPGA101,102,103はコンフィギュレーションデータを受信し、そのコンフィギュレーションデータに基づく動作を行う。
 上述の動作については、各FPGA101,102,103へ供給する電源電圧(VCC1~VCC3)が全部立ち上がり安定していれば問題はないが、各電源電圧の立ち上がりにはバラツキがある。したがって、VCC2,VCC3の電源電圧がVCC1の電源電圧よりも遅く立ち上がった場合には、VCC2,VCC3の電源電圧が安定する前にコンフィギュレーションデータをFPGA102,FPGA103に書き込もうとしてFPGA102,FPGA103に関するコンフィギュレーション動作が失敗する場合があるという問題がある。
 このような問題を解決するために、VCC2,VCC3の立ち上がり時間を予め実測し、VCC1が立ち上がってからVCC2,VCC3が立ち上がりきる十分な時間が経過してからコンフィギュレーション動作を行う方法や、電源電圧が立ち上がってから十分安定した頃にPCなどの外部装置等からコンフィギュレーション動作を行う命令をコンフィギュレーション制御部に送信して再度コンフィギュレーション動作を行う方法などが考えられる。また、各FPGAへ供給する電源電圧を全て監視し、全ての電源電圧が安定してからコンフィギュレーション動作を行う方法が提案されている(例えば、特許文献1参照)。
特開2002-176352号公報
 上述したような特許文献1などのような方法以外にも、各FPGAへ供給する電源電圧の立ち上がりにバラツキがあっても、コンフィギュレーション動作を問題なく行う方法が望まれる。また、上述した特許文献1のような方法では、コンフィギュレーション動作を行う時間が必要以上にかかり、システムの初期時間が長期化する問題点もある。
 この発明は、このような事情に鑑みてなされたものであって、各プログラマブルデバイスへ供給する電源電圧の立ち上がりにバラツキがあっても、設定データをプログラマブルデバイスに書き込む動作を問題なく行うことができるプログラマブルデバイス制御装置およびその方法を提供することを目的とする。
 この発明は、このような目的を達成するために、次のような構成をとる。
 すなわち、この発明のプログラマブルデバイス制御装置は、受信手段と記憶手段とを有し、前記受信手段で受信されたデータを設定データとして前記記憶手段に記憶し、前記設定データに基づいて動作する複数のプログラマブルデバイスと、前記複数のプログラマブルデバイスのそれぞれに対応する前記設定データを記憶する不揮発性メモリとを備えたプログラマブルデバイス制御装置であって、前記複数のプログラマブルデバイスのうち、所定のプログラマブルデバイスへ供給する前記所定のプログラマブルデバイスの電源電圧を監視する第1電源電圧監視手段と、前記複数のプログラマブルデバイスのうち、他のプログラマブルデバイスへ供給する前記他のプログラマブルデバイスの電源電圧を監視する第2電源電圧監視手段とを備え、前記第1電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信し、前記設定データの前記プログラマブルデバイスへの送信および前記受信手段での前記設定データの受信の完了後に、前記第2電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信することを特徴とするものである。
 [作用・効果]この発明のプログラマブルデバイス制御装置によれば、複数のプログラマブルデバイスのうち、所定のプログラマブルデバイスへ供給する所定のプログラマブルデバイスの電源電圧を監視する第1電源電圧監視手段の他に、複数のプログラマブルデバイスのうち、他のプログラマブルデバイスへ供給する他のプログラマブルデバイスの電源電圧を監視する第2電源電圧監視手段を備える。第1電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスに対して、不揮発性メモリに記憶された設定データを送信して、受信手段で設定データを受信することで、設定データを所定のプログラマブルデバイスに書き込む動作を行う。さらに、上述した設定データのプログラマブルデバイスへの送信および受信手段での設定データの受信の完了後に、第2電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスに対して、不揮発性メモリに記憶された設定データを送信して、受信手段で設定データを受信することで、設定データを他のプログラマブルデバイスに書き込む動作を行う。したがって、図5で述べたような従来のようにメインとなる所定のプログラマブルデバイスへ供給する電源電圧のみを監視する場合と相違して、他のプログラマブルデバイスへ供給する電源電圧をも監視するので、各プログラマブルデバイスへ供給する電源電圧の立ち上がりにバラツキがあっても、設定データをプログラマブルデバイスに書き込む動作を問題なく行うことができる。
 この発明のプログラマブルデバイス制御装置において、第2電源電圧監視手段で監視されるプログラマブルデバイスを複数に備えた場合には、下記のように行うのが好ましい。すなわち、第2電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスに対して、不揮発性メモリに記憶された設定データを送信して、受信手段で設定データを受信する動作を、第2電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスの順にそれぞれ行うのが好ましい。したがって、上述した特許文献1のように各プログラマブルデバイスへ供給する電源電圧を全て監視し、全ての電源電圧が安定してから設定データをプログラマブルデバイスに書き込む動作を行う場合と相違して、この場合には安定したプログラマブルデバイスの順に上述した動作を逐次に行っている。したがって、上述した特許文献1よりも上述した動作時間を短縮することができる。
 また、この発明のプログラマブルデバイス制御装置において、第2電源電圧監視手段の一例は、過去の電源電圧の状態が保持可能なシフトレジスタ回路と、そのシフトレジスタ回路から出力されたロジックデータを論理演算する論理回路とを備えることである。シフトレジスタ回路が過去の状態を保持し、その保持された過去の状態に基づいてロジックデータを出力し、そのロジックデータを論理回路が論理演算することで電源電圧の状態をロジックデータで簡易に表すことができ、電源電圧の安定状態等を簡易に判定することができる。
 また、この発明のプログラマブルデバイス制御方法は、受信手段と記憶手段とを有し、前記受信手段で受信されたデータを設定データとして前記記憶手段に記憶し、前記設定データに基づいて動作する複数のプログラマブルデバイスと、前記複数のプログラマブルデバイスのそれぞれに対応する前記設定データを記憶する不揮発性メモリとを備えたプログラマブルデバイス制御装置で、前記プログラマブルデバイスに対し、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信する動作を制御するプログラマブルデバイス制御方法であって、(a)前記複数のプログラマブルデバイスのうち、所定のプログラマブルデバイスへ供給する前記所定のプログラマブルデバイスの電源電圧を監視する工程と、(b)前記(a)の工程で前記所定のプログラマブルデバイスへ供給する電源電圧が安定したと判定された後に、前記所定のプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信する工程と、(c)前記(b)の工程で前記設定データの前記プログラマブルデバイスへの送信および前記受信手段での前記設定データの受信の完了後に、前記複数のプログラマブルデバイスのうち、他のプログラマブルデバイスへ供給する前記他のプログラマブルデバイスの電源電圧を監視して、前記電源電圧が安定したと判定されたプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信する工程とを備えることを特徴とするものである。
 [作用・効果]この発明のプログラマブルデバイス制御方法によれば、(a)の工程では、複数のプログラマブルデバイスのうち、所定のプログラマブルデバイスへ供給する所定のプログラマブルデバイスの電源電圧を監視し、(b)の工程では、上述した(a)の工程で所定のプログラマブルデバイスへ供給する電源電圧が安定したと判定された後に、所定のプログラマブルデバイスに対して、不揮発性メモリに記憶された設定データを送信して、受信手段で設定データを受信することで、設定データを所定のプログラマブルデバイスに書き込む動作を行う。さらに、(c)の工程では、上述した(b)の工程で設定データのプログラマブルデバイスへの送信および受信手段での設定データの受信の完了後に、複数のプログラマブルデバイスのうち、他のプログラマブルデバイスへ供給する他のプログラマブルデバイスの電源電圧を監視して、電源電圧が安定したと判定されたプログラマブルデバイスに対して、不揮発性メモリに記憶された設定データを送信して、受信手段で設定データを受信することで、設定データを他のプログラマブルデバイスに書き込む動作を行う。したがって、各プログラマブルデバイスへ供給する電源電圧の立ち上がりにバラツキがあっても、設定データをプログラマブルデバイスに書き込む動作を問題なく行うことができる。
 また、この発明のプログラマブルデバイス制御方法において、上述した(c)の工程で監視されるプログラマブルデバイスが複数の場合には、下記のような行うのが好ましい。すなわち、(c)の工程では、上述した(b)の工程で設定データのプログラマブルデバイスへの送信および受信手段での設定データの受信の完了後に、電源電圧が安定したと判定されたプログラマブルデバイスに対して、不揮発性メモリに記憶された設定データを送信して、受信手段で設定データを受信する動作を、電源電圧が安定したと判定されたプログラマブルデバイスの順にそれぞれ行うのが好ましい。したがって、上述した特許文献1よりも上述した動作時間を短縮することができる。
 この発明に係るプログラマブルデバイス制御装置およびその方法によれば、複数のプログラマブルデバイスのうち、所定のプログラマブルデバイスへ供給する所定のプログラマブルデバイスの電源電圧が安定したと判定された後に、所定のプログラマブルデバイスに対して、不揮発性メモリに記憶された設定データを送信して、受信手段で設定データを受信することで、設定データを所定のプログラマブルデバイスに書き込む動作を行う。さらに、上述した設定データのプログラマブルデバイスへの送信および受信手段での設定データの受信の完了後に、複数のプログラマブルデバイスのうち、他のプログラマブルデバイスへ供給する他のプログラマブルデバイスの電源電圧を監視して、電源電圧が安定したと判定されたプログラマブルデバイスに対して、不揮発性メモリに記憶された設定データを送信して、受信手段で設定データを受信することで、設定データを他のプログラマブルデバイスに書き込む動作を行う。したがって、各プログラマブルデバイスへ供給する電源電圧の立ち上がりにバラツキがあっても、設定データをプログラマブルデバイスに書き込む動作を問題なく行うことができる。
実施例に係るFPGA制御装置(FPGA搭載基板)の概略ブロック図である。 (a)はFPGAの概略構成図、(b)はコンフィギュレーション制御部の概略構成図である。 FPGA電源判定部の概略構成図である。 コンフィギュレーション動作を含んだ電源オン後の一連の流れを示すフローチャートである。 従来のFPGA制御装置(FPGA搭載基板)の概略ブロック図である。
符号の説明
 1,2,3 … FPGA
 5 … フラッシュメモリ
 6 … 電源電圧監視回路
 10 … FPGA制御装置(FPGA搭載基板)
 11 … 受信部
 12 … 記憶領域
 44 … FPGA電源判定部
 52,53,54,55,57 … シフトレジスタ回路
 56 … AND回路
 VCC1,VCC2,VCC3 … 電源電圧
 以下、図面を参照してこの発明の実施例を説明する。図1は、実施例に係るFPGA制御装置(FPGA搭載基板)の概略ブロック図であり、図2(a)は、FPGAの概略構成図であり、図2(b)は、コンフィギュレーション制御部の概略構成図である。本実施例ではプログラマブルデバイスとして、FPGA(Field Programmable Gate Array)を例に採って説明するとともに、不揮発性メモリとしてフラッシュメモリ(Flash Memory)を例に採って説明する。
 図1に示すように、FPGA搭載基板10は、複数のFPGA(図1では3つのFPGA1,2,3)とコンフィギュレーション制御部4とフラッシュメモリ5と電源電圧監視回路6とを備えている。FPGA制御装置(FPGA搭載基板)10は、この発明におけるプログラマブルデバイス制御装置に相当し、FPGA1,2,3は、この発明におけるプログラマブルデバイスに相当し、フラッシュメモリ5は、この発明における不揮発性メモリに相当し、電源電圧監視回路6は、この発明における第1電源電圧監視手段に相当する。
 メイン(主体)となるFPGA1は、PC(図示省略)との通信機能を含んだコンフィギュレーションデータに基づく動作を行い、他のFPGA2,3は、その装置特有のコンフィギュレーションデータに基づく動作を専ら行う。本実施例では、FPGA搭載基板10は医用や工業用の放射線診断装置に用いられ、FPGA2,3は放射線診断のための画像処理を行う。コンフィギュレーションデータは、FPGA1,2,3の動作を設定するための設定データである。コンフィギュレーションデータは、この発明における設定データに相当する。
 主電源はFPGA搭載基板10の各構成に電気的に接続されており、従来の図5と同様に、メインとなるFPGA1、コンフィギュレーション制御部4および電源電圧監視回路6には主電源からの電源電圧(図1では「VCC1」で表記)が供給される。従来の図5でも述べたように、FPGA2,3は、FPGA1に対して別基板に搭載されている場合があり、その場合は、主電源とは別の電源からの電源電圧(図1では「VCC2」、「VCC3」で表記)がFPGA2,3にはそれぞれ供給される。従来の図5と同様に、図示の便宜上、同一のFPGA搭載基板10にFPGA2,3が搭載されている図として図示する。
 FPGA1は、上述したようにプログラムデータに応じて内部の使用するハードウェア回路(例えば論理回路)が変更可能なプログラマブルデバイスで構築され、図2(a)に示すような受信部11と記憶領域12とを有している。受信部11で受信されたデータをコンフィギュレーションデータとして該当する記憶領域12に記憶し、コンフィギュレーションデータに基づいてFPGA1は動作する。コンフィギュレーションデータを、フラッシュメモリ5から後述するフラッシュメモリ制御部42(図2(b)を参照)およびFPGA転送部43(図2(b)を参照)を介してFPGA1に対して送信して、受信部11でコンフィギュレーションデータを受信する。したがって、FPGA1に対して、フラッシュメモリ5に記憶されたコンフィギュレーションデータを送信して、受信部11でコンフィギュレーションデータを受信することでコンフィギュレーションデータをFPGA1に書き込む動作を行い、そのコンフィギュレーションデータに基づく動作をFPGA1が行う。なお、FPGA2,3も、FPGA1と同様の構成であるので、その説明を省略するとともに、図2(a)では、FPGA1を代表してFPGA1のみを図示して、FPGA2,3の図示を省略する。受信部11は、この発明における受信手段に相当し、記憶領域12は、この発明における記憶手段に相当する。
 コンフィギュレーション制御部4は、図2(b)に示すように、コンフィギュレーションリード制御部41とフラッシュメモリ制御部42とFPGA転送部43とを備えている。従来の図5のようにメインとなるFPGA101へ供給する電源電圧(VCC1)のみを監視する場合と相違して、本実施例では、メインとなるFPGA1へ供給する電源電圧(VCC1)を監視し、さらに他のFPGA2,3へ供給する電源電圧(VCC2,VCC3)をも監視している。そのために、コンフィギュレーション制御部4は、図2に示すように、FPGA電源判定部44を備えており、図1、図2に示すように、FPGA電源判定部44と電源電圧(VCC2,VCC3)用のケーブルとが直接に電気的に接続されている。このように電気的に接続することで、他のFPGA2,3へ供給する電源電圧(VCC2,VCC3)をFPGA電源判定部44が監視する。FPGA電源判定部44は、この発明における第2電源電圧監視手段に相当する。
 例えばコンフィギュレーション制御部4が3.3Vのデバイスで、FPGA2,3も3.3Vのデバイスであれば、図1に示すようにコンフィギュレーション制御部4のFPGA電源判定部44(図1では図示省略)と電源電圧(VCC2,VCC3)用のケーブルとを直接に電気的に接続することが可能であるが、例えばコンフィギュレーション制御部4が3.3Vのデバイスで、FPGA2,3が5Vであれば、分圧回路などを挿入して両者を電気的に接続する。また、図1では両者を直接に電気的に接続しているが、ノイズ除去用の低域通過フィルタ(LPF: Low Pass Filter)、コンパレータなどの電圧比較回路またはA/D変換器(Analog to Digital Converter)などを介して両者を電気的に接続してもよい。
 図2の説明に戻って、コンフィギュレーション制御部4内において、コンフィギュレーションリード制御部41は、電源電圧監視回路6と電気的に接続されているとともに、フラッシュメモリ制御部42、FPGA転送部43およびFPGA電源判定部44とも電気的に接続されている。フラッシュメモリ制御部42は、上述したようにコンフィギュレーションリード制御部41と電気的に接続されているとともに、FPGA転送部43とも電気的に接続され、フラッシュメモリ5とも電気的に接続されている。FPGA転送部43は、上述したようにコンフィギュレーションリード制御部41およびフラッシュメモリ制御部42と電気的に接続されているとともに、FPGA1,2,3とも電気的に接続されている。FPGA電源判定部44は、上述したようにコンフィギュレーションリード制御部41、FPGA2,3へ供給する電源電圧(VCC2,VCC3)と電気的に接続されている。
 コンフィギュレーションリード制御部41は、各FPGAに関するコンフィギュレーション動作全体を統括制御する。フラッシュメモリ制御部42は、フラッシュメモリ5とのデータの送受信を行う。FPGA転送部43は、各FPGA1,2,3とのデータの送受信を行う。FPGA電源判定部44は、上述したようにFPGA2,3へ供給する電源電圧(VCC2,VCC3)を監視する。具体的には、電源電圧監視回路6やFPGA電源判定部44で電源電圧が安定したと判定された後に、コンフィギュレーションリード制御部41は読み出し命令(読み出しコマンド)をフラッシュメモリ制御部42に送信する。フラッシュメモリ制御部42は、フラッシュメモリ制御部42からの読み出しコマンドに基づいてフラッシュメモリ5にアクセスして、フラッシュメモリ5からコンフィギュレーションデータを読み出す。フラッシュメモリ5から読み出されたコンフィギュレーションデータを、フラッシュメモリ制御部42はFPGA転送部43に送信して、FPGA転送部43は、該当するFPGAに対してコンフィギュレーションデータを送信して、FPGAの受信部でコンフィギュレーションデータを受信する。このように、コンフィギュレーションデータのFPGAへの送信および受信部でのコンフィギュレーションデータの受信によってコンフィギュレーションデータをFPGA(の記憶領域)に書き込むことで、コンフィギュレーション動作を行う。
 次に、FPGA電源判定部44の構成について、図3を参照して説明する。図3は、FPGA電源判定部の概略構成図である。図3に示すように、FPGA電源判定部44は、分周回路51と複数段のシフトレジスタ回路(図3では4段のシフトレジスタ回路52,53,54,55)とAND回路56と1段のシフトレジスタ回路57とを備えている。図3では、図示の便宜上、FPGA2へ供給する電源電圧VCC2を監視する図のみ図示しているが、FPGA3へ供給する電源電圧VCC3についても、VCC2と同様に構成されることに留意されたい。シフトレジスタ回路52,53,54,55は、この発明におけるシフトレジスタ回路に相当し、AND回路56およびシフトレジスタ回路57は、この発明における論理回路に相当する。
 分周回路51は、例えばカウンターなどの論理回路で構成され、周波数を分周することによりクロック(図3では「CLK」で表記)を生成する。分周回路51で分周され生成されたクロックを各段のシフトレジスタ回路52,53,54,55およびシフトレジスタ回路57に送り込む。シフトレジスタ回路52,53,54,55およびシフトレジスタ回路57は、例えばフリップフロップ回路などのように過去の状態を保持できるような回路で構成される。各々のシフトレジスタ回路52,53,54,55の出力(例えばフリップフロップ回路のQ端子)はAND回路56と接続され、AND回路56の出力はシフトレジスタ回路57と接続されている。
 各段のシフトレジスタ回路52,53,54,55は、分周回路51で生成されたクロックで電源電圧の状態のサンプリングを定期的に行い、過去の状態を保持する。保持された電源電圧の状態が全てHighになった場合のみAND回路56はHighを出力し、これをシフトレジスタ回路57に送り込んで電源電圧の判定結果(図3では「VCC2判定結果」)としてシフトレジスタ回路57から出力する。このように出力することで、保持された電源電圧の状態が全てHighになった場合のみ電源電圧が安定して立ち上がったと判定して、Highを出力する。このようにVCC2,VCC3を監視することで、FPGA電源判定部44はVCC2,VCC3の電源電圧が安定して立ち上がったか否かの判定を行う。
 次に、具体的な一連のFPGA制御について、図4を参照して説明する。図4は、コンフィギュレーション動作を含んだ電源オン後の一連の流れを示すフローチャートである。
 (ステップS1)VCC1電源オン?
 電源を投入してオンにする。VCC1において電源オンになるまでステップS1をループして待機する。電源オン(電源投入)後に、電源電圧監視回路6は、FPGA1へ供給する電源電圧(VCC1)を監視し、その電源電圧(VCC1)が所定の一定電圧(例えば3.3V)に到達してから安定した頃にコンフィギュレーション制御部4に対してリセットの解除を行う。電源電圧監視回路6については、しきい値(スレッシュホールド電圧)を予め設け、電源電圧がしきい値(所定の一定電圧が3.3Vのときにはしきい値としては2.5V程度の値)よりも所定の時間以上にわたって超えていれば電源電圧が安定したと判定するように構成すればよい。このステップS1は、この発明における(a)の工程に相当する。
 (ステップS2)FPGA2フラグクリア、FPGA3フラグクリア
 電源オン(電源投入)後に、FPGA2およびFPGA3に関するフラグをともに“0”にクリアする。このフラグはコンフィギュレーション制御部4内で設定される。このフラグは、FPGA2やFPGA3のコンフィギュレーション動作が終了したかを判定するためのフラグであって、フラグが“0”のときには、FPGA2やFPGA3のコンフィギュレーション動作が終了しておらず、フラグが“1”のときには、FPGA2やFPGA3のコンフィギュレーション動作が終了したと判定する。
 (ステップS3)FPGA1コンフィギュレーション動作
 リセット解除後にコンフィギュレーション制御部4は、フラッシュメモリ5からコンフィギュレーションデータを読み出して、FPGA1に書き込む動作であるFPGA1のコンフィギュレーション動作を行う。
 具体的には、電源電圧監視回路6で電源電圧VCC1が安定したと判定された後に、コンフィギュレーションリード制御部41は読み出し命令(読み出しコマンド)をフラッシュメモリ制御部42に送信する。フラッシュメモリ制御部42は、フラッシュメモリ制御部42からの読み出しコマンドに基づいてフラッシュメモリ5にアクセスして、フラッシュメモリ5からコンフィギュレーションデータを読み出す。フラッシュメモリ5から読み出されたコンフィギュレーションデータを、フラッシュメモリ制御部42はFPGA転送部43に送信して、FPGA転送部43は、該当するFPGA1に対してコンフィギュレーションデータを送信して、FPGA1の受信部11でコンフィギュレーションデータを受信する。このように、コンフィギュレーションデータのFPGA1への送信および受信部11でのコンフィギュレーションデータの受信によってコンフィギュレーションデータをFPGA1(の記憶領域12)に書き込むことで、FPGA1のコンフィギュレーション動作を行う。このステップS3は、この発明における(b)の工程に相当する。なお、上述したステップS2を、このステップS3(この発明における(b)の工程に相当)よりも前、ステップS3よりも後あるいはステップS3と並列的に行ってもよい。
 (ステップS4)FPGA2フラグが“0”、VCC2が安定?
 コンフィギュレーションデータのFPGA1への送信および受信部でのコンフィギュレーションデータの受信の完了後に、FPGA1を除く他のFPGA2,FPGA3のうち、電源電圧が安定したと判定されたFPGAに対してコンフィギュレーションデータを書き込むコンフィギュレーション動作を、電源電圧が安定したと判定されたFPGAの順にそれぞれ行う。
 本実施例では、先ず、ステップS4において、FPGA2フラグが“0”で、かつVCC2が安定したか否かを判定する。FPGA2フラグが“1”またはVCC2が安定していない場合には、FPGA2フラグが“1”では次なるステップS5のFPGA2のコンフィギュレーション動作が終了したと判定され、あるいはVCC2が安定していないと次なるステップS5のFPGA2のコンフィギュレーション動作を行うべきでないと判定され、ステップS5およびさらなる次のステップS6をスキップする。VCC2が安定したか否かを判定するには、FPGA電源判定部44は、FPGA2へ供給する電源電圧(VCC2)が所定の一定電圧(例えば3.3V)に到達してから安定したか否かを監視することで行う。具体的には、各段のシフトレジスタ回路52,53,54,55で保持された電源電圧VCC2の状態が全てHighになった場合のみ電源電圧VCC2が安定して立ち上がったと判定して、Highを出力する。
 (ステップS5)FPGA2コンフィギュレーション動作
 ステップS4においてFPGA2フラグが“0”で、かつVCC2が安定したと判定された場合には、コンフィギュレーション制御部4は、フラッシュメモリ5からコンフィギュレーションデータを読み出して、FPGA2に書き込む動作であるFPGA2のコンフィギュレーション動作を行う。
 具体的には、FPGA電源判定部44で電源電圧VCC2が安定したと判定された後に、コンフィギュレーションリード制御部41は読み出し命令(読み出しコマンド)をフラッシュメモリ制御部42に送信する。フラッシュメモリ制御部42は、フラッシュメモリ制御部42からの読み出しコマンドに基づいてフラッシュメモリ5にアクセスして、フラッシュメモリ5からコンフィギュレーションデータを読み出す。フラッシュメモリ5から読み出されたコンフィギュレーションデータを、フラッシュメモリ制御部42はFPGA転送部43に送信して、FPGA転送部43は、該当するFPGA2に対してコンフィギュレーションデータを送信して、FPGA2の受信部でコンフィギュレーションデータを受信する。このように、コンフィギュレーションデータのFPGA2への送信および受信部でのコンフィギュレーションデータの受信によってコンフィギュレーションデータをFPGA2(の記憶領域)に書き込むことで、FPGA2のコンフィギュレーション動作を行う。
 (ステップS6)FPGA2フラグ“1”設定
 ステップS5でFPGA2のコンフィギュレーション動作を行ったら、FPGA2のコンフィギュレーション動作が終了したことになるので、FPGA2フラグを“0”から“1”に設定する。
 (ステップS7)FPGA3フラグが“0”、VCC3が安定?
 次に、ステップS4と同様に、FPGA3フラグが“0”で、かつVCC3が安定したか否かを判定する。FPGA3フラグが“1”またはVCC2が安定していない場合には、FPGA3フラグが“1”では次なるステップS8のFPGA3のコンフィギュレーション動作が終了したと判定され、あるいはVCC3が安定していないと次なるステップS8のFPGA3のコンフィギュレーション動作を行うべきでないと判定され、ステップS8およびさらなる次のステップS9をスキップする。VCC3が安定したか否かを判定するには、FPGA電源判定部44は、FPGA3へ供給する電源電圧(VCC3)が所定の一定電圧(例えば3.3V)に到達してから安定したか否かを監視することで行う。具体的には、各段のシフトレジスタ回路52,53,54,55で保持された電源電圧VCC3の状態が全てHighになった場合のみ電源電圧VCC3が安定して立ち上がったと判定して、Highを出力する。
 (ステップS8)FPGA3コンフィギュレーション動作
 ステップS5と同様に、ステップS7においてFPGA3フラグが“0”で、かつVCC3が安定したと判定された場合には、コンフィギュレーション制御部4は、フラッシュメモリ5からコンフィギュレーションデータを読み出して、FPGA3に書き込む動作であるFPGA3のコンフィギュレーション動作を行う。
 (ステップS9)FPGA3フラグ“1”設定
 ステップS6と同様に、ステップS8でFPGA3のコンフィギュレーション動作を行ったら、FPGA3のコンフィギュレーション動作が終了したことになるので、FPGA3フラグを“0”から“1”に設定する。
 (ステップS10)FPGA2フラグ、FPGA3フラグがともに“1”?
 FPGA2フラグ、FPGA3フラグがともに“1”になったか否かを判定する。ステップS5およびステップS8でFPGA2およびFPGA3のコンフィギュレーション動作をともに行っていれば、FPGA2およびFPGA3のコンフィギュレーション動作がともに終了したことになるので、ステップS5の次のステップS6でFPGA2フラグが“1”に設定されており、ステップS8の次のステップS9でFPGA3フラグが“1”に設定されている。したがって、FPGA2フラグ、FPGA3フラグがともに“1”になったと判定された場合には、FPGA2やFPGA3のコンフィギュレーション動作がともに終了したことになって、一連のFPGA制御を終了する。
 逆に、FPGA2フラグ、FPGA3フラグの少なくともいずれか1つのフラグが“0”の場合には、ステップS5,S6をスキップ、あるいはステップS8,S9をスキップしており、FPGA2フラグ、FPGA3フラグの少なくともいずれか1つのフラグがスキップされたステップS6,S9のいずれかで“1”に設定されていないことを示す。したがって、FPGA2のコンフィギュレーション動作、FPGA3のコンフィギュレーション動作を行うために、ステップS4に戻ってループしてステップS4~S10を再度行う。
 FPGA2フラグ、FPGA3フラグがともに“0”の場合には、ステップS5,S6をスキップし、かつステップS8,S9をスキップしており、FPGA2フラグ、FPGA3フラグがスキップされたステップS6,S9で“1”にともに設定されていないことを示す。したがって、FPGA2のコンフィギュレーション動作、FPGA3のコンフィギュレーション動作をともに行うために、ステップS4に戻る。
 FPGA2フラグが“1”で、FPGA3フラグが“0”の場合には、VCC3よりもVCC2の方が先に安定して、FPGA2のコンフィギュレーション動作(ステップS5,S6)は行われたが、FPGA3のコンフィギュレーション動作は行われておらず、ステップS8,S9をスキップしており、FPGA3フラグのみがスキップされたステップS9で“1”に設定されていないことを示す。したがって、FPGA3のコンフィギュレーション動作を行うために、ステップS4に戻る。
 FPGA2フラグが“1”で、FPGA3フラグが“0”の場合、FPGA2のコンフィギュレーション動作は既に終了しており、FPGA2フラグが既に“1”に設定されているので、戻ったステップS4では、FPGA2フラグが“1”で、かつVCC2が安定していると判定され、ステップS5,S6をスキップして、ステップS7に進む。そして、ステップS7に進んだ段階でVCC3が安定していれば、ステップS8でFPGA3のコンフィギュレーション動作を行う。もちろん、ステップS7に進んだ段階でもVCC3が安定していない場合には、ステップS8,S9をスキップしてステップS10からステップS4に再度に戻ってループしてステップS4~S10を再度行う。
 逆に、FPGA2フラグが“0”で、FPGA3フラグが“1”の場合には、VCC2よりもVCC3の方が先に安定して、FPGA3のコンフィギュレーション動作(ステップS8,S9)は行われたが、FPGA2のコンフィギュレーション動作は行われておらず、ステップS5,S6をスキップしており、FPGA2フラグのみがスキップされたステップS6で“1”に設定されていないことを示す。したがって、FPGA2のコンフィギュレーション動作を行うために、ステップS4に戻る。
 戻ったステップS4でVCC2が安定していれば、ステップS5でFPGA2のコンフィギュレーション動作を行って、ステップS6を経てステップS7に進む。もちろん、戻ったステップS4でもVCC2が安定していない場合には、ステップS5,S6をスキップしてステップS7に進む。FPGA2フラグが“0”で、FPGA3フラグが“1”の場合、FPGA3のコンフィギュレーション動作は既に終了しており、FPGA3フラグが既に“1”に設定されているので、ステップS7では、FPGA3フラグが“1”で、かつVCC3が安定していると判定され、ステップS8,S9をスキップして、ステップS10に進む。上述したステップS4~S10は、この発明における(c)の工程に相当する。
 本実施例に係るFPGA制御装置(FPGA搭載基板)およびその方法によれば、複数のFPGA(本実施例では3つのFPGA1,2,3)のうち、所定のFPGA(本実施例ではFPGA1)へ供給する所定のFPGAの電源電圧(本実施例ではVCC1)を監視する電源電圧監視回路6の他に、複数のFPGAのうち、他のFPGA(本実施例ではFPGA2,3)へ供給する他のFPGAの電源電圧(本実施例ではVCC2,VCC3)を監視するFPGA電源判定部44を備える。ステップS1(VCC1電源オン?)では、コンフィギュレーション制御部4は、所定のFPGA(FPGA1)へ供給する電源電圧(VCC1)を監視し、ステップS3(FPGA1コンフィギュレーション動作)では、上述したステップS1で電源電圧(VCC1)が安定したと電源電圧監視回路6によって判定された後に、所定のFPGA(FPGA1)に対して、フラッシュメモリ5に記憶されたコンフィギュレーションデータを送信して、受信部でコンフィギュレーションデータを受信することで、コンフィギュレーションデータを所定のFPGA1に書き込む動作(すなわちFPGA1のコンフィギュレーション動作)を行う。
 さらに、ステップS4~S10では、コンフィギュレーション制御部4は、上述したステップS3でコンフィギュレーションデータのFPGA1への送信および受信部でのコンフィギュレーションデータの受信の完了後に、複数のFPGAのうち、他のFPGA(FPGA2,3)へ供給する電源電圧(VCC2,VCC3)をFPGA電源判定部44が監視して、電源電圧(VCC2,VCC3)が安定したとFPGA電源判定部44によって判定されたFPGAに対して、フラッシュメモリ5に記憶されたコンフィギュレーションデータを送信して、受信部でコンフィギュレーションデータを受信することで、コンフィギュレーションデータを他のFPGAに書き込む動作(すなわちFPGA2,FPGA3のコンフィギュレーション動作)を行う。
 したがって、図5で述べたような従来のようにメインとなる所定のFPGA101へ供給する電源電圧VCC1のみを監視する場合と相違して、他のFPGA102,103へ供給する電源電圧VCC2,VCC3をも監視するので、各FPGAへ供給する電源電圧の立ち上がりにバラツキがあっても、コンフィギュレーションデータをFPGAに書き込む動作(コンフィギュレーション動作)を問題なく行うことができる。
 本実施例では、FPGA電源判定部44で監視されるFPGAを複数に備えた場合(本実施例ではFPGA電源判定部44で監視されるFPGAは、FPGA2,3の2つの場合)には、好ましくは下記のように行っている。すなわち、上述したように、FPGA電源判定部44によって電源電圧(VCC2,VCC3)が安定したと判定されたFPGAに対して、フラッシュメモリ5に記憶されたコンフィギュレーションデータを送信して、受信部でコンフィギュレーションデータを受信する動作を、FPGA電源判定部44によって電源電圧(FPGA2,3)が安定したと判定されたFPGAの順にそれぞれ行っている。したがって、上述した特許文献1のように各プログラマブルデバイス(本実施例ではFPGA)へ供給する電源電圧を全て監視し、全ての電源電圧が安定してから設定データ(本実施例ではコンフィギュレーションデータ)をプログラマブルデバイス(FPGA)に書き込む動作(コンフィギュレーション動作)を行う場合と相違して、本実施例の場合には、安定したプログラマブルデバイス(FPGA)の順に上述した動作を逐次に行っている。したがって、上述した特許文献1よりも上述した動作時間を短縮することができる。
 また、本実施例では、FPGA電源判定部44は、過去の電源電圧の状態が保持可能なシフトレジスタ回路(本実施例では4段のシフトレジスタ回路52,53,54,55)と、そのシフトレジスタ回路から出力されたロジックデータ(本実施例ではフリップフロップ回路のQ端子から出力されたLow/High)を論理演算する論理回路(本実施例ではAND回路56およびシフトレジスタ回路57)とを備えている。シフトレジスタ回路が過去の状態を保持し、その保持された過去の状態に基づいてロジックデータ(Low/High)を出力し、そのロジックデータ(Low/High)を論理回路(AND回路56およびシフトレジスタ回路57)が論理演算することで電源電圧の状態をロジックデータ(Low/High)で簡易に表すことができ、電源電圧の安定状態等を簡易に判定することができる。
 この発明は、上記実施形態に限られることはなく、下記のように変形実施することができる。
 (1)上述した実施例では、プログラマブルデバイスとして、FPGA(Field Programmable Gate Array)を例に採って説明したが、CPU,DSP,PLDなどに例示されるように、受信手段(実施例では受信部11)と記憶手段(記憶領域12)とを有し、受信手段で受信されたデータを設定データ(実施例ではコンフィギュレーションデータ)として記憶手段に記憶し、設定データに基づいて動作するデバイスであれば、プログラマブルデバイスの具体的な種類については特に限定されない。
 (2)上述した実施例では、不揮発性メモリとしてフラッシュメモリを例に採って説明したが、EPROM(Electrically Programmable Read-only Memory)やE2PROM(Electrically Erasable Programmable Read-only Memory)などに代表される不揮発性メモリであれば、不揮発性メモリの具体的な種類については特に限定されない。
 (3)上述した実施例では、3つのプログラマブルデバイス(実施例ではFPGA)を例に採って説明したが、複数であれば、2つのプログラマブルデバイスでもよいし、4つ以上のプログラマブルデバイスであってもよい。また、第2電源電圧監視手段(実施例ではFPGA電源判定部44)で監視されるプログラマブルデバイスは、上述した実施例のように必ずしも複数である必要はなく、単体のプログラマブルデバイスでもよい。
 (4)上述した実施例では、第1電源電圧監視手段(実施例では電源電圧監視回路6)については、電源電圧がしきい値(スレッシュホールド電圧)よりも所定の時間以上にわたって超えていれば電源電圧が安定したと判定するように構成されていたが、電源電圧監視回路6も、第2電源電圧監視手段(実施例ではFPGA電源判定部44)と同様のように、シフトレジスタ回路と論理回路(実施例ではAND回路56およびシフトレジスタ回路57)とを備えて構成されていてもよい。
 (5)上述した実施例では、第2電源電圧監視手段(実施例ではFPGA電源判定部44)については、シフトレジスタ回路と論理回路(実施例ではAND回路56およびシフトレジスタ回路57)とを備えて構成されていたが、FPGA電源判定部44も、第1電源電圧監視手段(実施例では電源電圧監視回路6)と同様に、電源電圧がしきい値(スレッシュホールド電圧)よりも所定の時間以上にわたって超えていれば電源電圧が安定したと判定するように構成されていてもよい。
 (6)上述した実施例では、第2電源電圧監視手段(実施例ではFPGA電源判定部44)を、図2に示すように、コンフィギュレーション制御部4内に備えていたが、コンフィギュレーション制御部4とは独立して第2電源電圧監視手段を備えてもよい。
 (7)上述した実施例では、不揮発性メモリ(実施例ではフラッシュメモリ5)に記憶された設定データ(実施例ではコンフィギュレーション)を読み出してから、プログラマブルデバイス(実施例ではFPGA)に対して、不揮発性メモリに記憶された設定データを送信して、受信手段(実施例では受信部11)で設定データを受信することで、設定データをプログラマブルデバイスに書き込む動作を一連の動作として行ったが、不揮発性メモリに記憶された設定データを予め読み出しておき、その上で、設定データを送信して、受信手段で設定データを受信する動作のみを行ってもよい。
 (8)上述した実施例では、コンフィギュレーション制御部4が、一連の動作(すなわちコンフィギュレーション動作)を制御していたが、プログラマブルデバイス(実施例ではFPGA)自身が、一連のコンフィギュレーション動作を制御してもよい。

Claims (5)

  1.  受信手段と記憶手段とを有し、前記受信手段で受信されたデータを設定データとして前記記憶手段に記憶し、前記設定データに基づいて動作する複数のプログラマブルデバイスと、
     前記複数のプログラマブルデバイスのそれぞれに対応する前記設定データを記憶する不揮発性メモリと
     を備えたプログラマブルデバイス制御装置であって、
     前記複数のプログラマブルデバイスのうち、所定のプログラマブルデバイスへ供給する前記所定のプログラマブルデバイスの電源電圧を監視する第1電源電圧監視手段と、
     前記複数のプログラマブルデバイスのうち、他のプログラマブルデバイスへ供給する前記他のプログラマブルデバイスの電源電圧を監視する第2電源電圧監視手段と
     を備え、
     前記第1電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信し、
     前記設定データの前記プログラマブルデバイスへの送信および前記受信手段での前記設定データの受信の完了後に、前記第2電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信すること
     を特徴とするプログラマブルデバイス制御装置。
  2.  請求項1に記載のプログラマブルデバイス制御装置において、
     前記第2電源電圧監視手段で監視される前記プログラマブルデバイスを複数に備え、
     前記第2電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信する動作を、前記第2電源電圧監視手段によって電源電圧が安定したと判定されたプログラマブルデバイスの順にそれぞれ行うこと
     を特徴とするプログラマブルデバイス制御装置。
  3.  請求項1または請求項2に記載のプログラマブルデバイス制御装置において、
     前記第2電源電圧監視手段は、過去の前記電源電圧の状態が保持可能なシフトレジスタ回路と、そのシフトレジスタ回路から出力されたロジックデータを論理演算する論理回路とを備えること
     を特徴とするプログラマブルデバイス制御装置。
  4.  受信手段と記憶手段とを有し、前記受信手段で受信されたデータを設定データとして前記記憶手段に記憶し、前記設定データに基づいて動作する複数のプログラマブルデバイスと、
     前記複数のプログラマブルデバイスのそれぞれに対応する前記設定データを記憶する不揮発性メモリと
     を備えたプログラマブルデバイス制御装置で、
     前記プログラマブルデバイスに対し、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信する動作を制御するプログラマブルデバイス制御方法であって、
     (a)前記複数のプログラマブルデバイスのうち、所定のプログラマブルデバイスへ供給する前記所定のプログラマブルデバイスの電源電圧を監視する工程と、
     (b)前記(a)の工程で前記所定のプログラマブルデバイスへ供給する電源電圧が安定したと判定された後に、前記所定のプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信する工程と、
     (c)前記(b)の工程で前記設定データの前記プログラマブルデバイスへの送信および前記受信手段での前記設定データの受信の完了後に、前記複数のプログラマブルデバイスのうち、他のプログラマブルデバイスへ供給する前記他のプログラマブルデバイスの電源電圧を監視して、前記電源電圧が安定したと判定されたプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信する工程と
     を備えること
     を特徴とするプログラマブルデバイス制御方法。
  5.  請求項4に記載のプログラマブルデバイス制御方法において、
     前記(c)の工程で監視される前記プログラマブルデバイスは複数であって、
     前記(c)の工程では、前記(b)の工程で前記設定データの前記プログラマブルデバイスへの送信および前記受信手段での前記設定データの受信の完了後に、前記電源電圧が安定したと判定されたプログラマブルデバイスに対して、前記不揮発性メモリに記憶された前記設定データを送信して、前記受信手段で前記設定データを受信する動作を、電源電圧が安定したと判定されたプログラマブルデバイスの順にそれぞれ行うこと
     を特徴とするプログラマブルデバイス制御方法。
PCT/JP2008/072867 2008-12-16 2008-12-16 プログラマブルデバイス制御装置およびその方法 WO2010070736A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/072867 WO2010070736A1 (ja) 2008-12-16 2008-12-16 プログラマブルデバイス制御装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/072867 WO2010070736A1 (ja) 2008-12-16 2008-12-16 プログラマブルデバイス制御装置およびその方法

Publications (1)

Publication Number Publication Date
WO2010070736A1 true WO2010070736A1 (ja) 2010-06-24

Family

ID=42268427

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/072867 WO2010070736A1 (ja) 2008-12-16 2008-12-16 プログラマブルデバイス制御装置およびその方法

Country Status (1)

Country Link
WO (1) WO2010070736A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016042283A (ja) * 2014-08-18 2016-03-31 キヤノン株式会社 情報処理装置、情報処理装置の電力制御方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176352A (ja) * 2000-12-06 2002-06-21 Nec Miyagi Ltd コンフィグレーション回路及び方法
JP2006166430A (ja) * 2004-12-02 2006-06-22 Altera Corp 集積回路上で揮発性と不揮発性プログラム可能ロジックを結合させるための技術

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002176352A (ja) * 2000-12-06 2002-06-21 Nec Miyagi Ltd コンフィグレーション回路及び方法
JP2006166430A (ja) * 2004-12-02 2006-06-22 Altera Corp 集積回路上で揮発性と不揮発性プログラム可能ロジックを結合させるための技術

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016042283A (ja) * 2014-08-18 2016-03-31 キヤノン株式会社 情報処理装置、情報処理装置の電力制御方法、及びプログラム

Similar Documents

Publication Publication Date Title
CN108198536B (zh) 基于时序控制器的电压校准方法及校准系统
US7516344B2 (en) Memory system
US8739109B2 (en) Development support apparatus of semiconductor device, development support method, and development support program product
CN105404525A (zh) 管理计算机系统中的基本输入输出系统配置的方法及装置
JP6205505B2 (ja) 半導体装置及びその制御方法
US8627119B2 (en) Script engine for control of power management controllers
US20130132740A1 (en) Power Control for Memory Devices
WO2010070736A1 (ja) プログラマブルデバイス制御装置およびその方法
JP4910119B2 (ja) 測定装置の制御方法
US7266680B1 (en) Method and apparatus for loading configuration data
US6845444B2 (en) Method and apparatus for reducing strapping devices
US20170177060A1 (en) Micro server
US7652503B2 (en) Semiconductor device
CN107196651B (zh) 应用于f2f解码芯片中的片上时钟校准方法和装置
JP7006410B2 (ja) 制御装置、画像形成装置および回路装置
US20150212559A1 (en) Electronic Apparatus Including Programmable Logic Circuit Device and Rewriting Method
WO2020129324A1 (ja) モジュール及びこれを備える情報処理装置、並びにモジュールのプログラムデータを更新するプログラムデータ更新方法
JP2004185619A (ja) クロックソースを切り替えるシステムおよび方法
JP2008182327A (ja) プログラマブルデバイス制御装置およびその方法
JP5774941B2 (ja) コンフィグレーション装置及びコンフィグレーション方法
TWI581103B (zh) 以精確計時用於實施匯流排操作的方法與系統
JP2006209876A (ja) 電子制御装置
JP2008257415A (ja) プログラム書き込み機能を有するコントローラ
JP2008176700A (ja) プログラマブルロジックコントローラ用増設記憶装置およびプログラマブルロジックコントローラシステム
JP2010112883A (ja) 半導体集積回路

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: 08878904

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: 08878904

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP