WO2018131065A1 - Reconfigurable device and electronic device using same - Google Patents

Reconfigurable device and electronic device using same Download PDF

Info

Publication number
WO2018131065A1
WO2018131065A1 PCT/JP2017/000430 JP2017000430W WO2018131065A1 WO 2018131065 A1 WO2018131065 A1 WO 2018131065A1 JP 2017000430 W JP2017000430 W JP 2017000430W WO 2018131065 A1 WO2018131065 A1 WO 2018131065A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration data
data
control unit
configuration
read
Prior art date
Application number
PCT/JP2017/000430
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/JP2017/000430 priority Critical patent/WO2018131065A1/en
Publication of WO2018131065A1 publication Critical patent/WO2018131065A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring

Definitions

  • the present invention relates to a reconfigurable device and an electronic apparatus using the same, and particularly to a partially reconfigurable device and an electronic apparatus using the same.
  • An FPGA Field Programmable Gate Array
  • the FPGA is configured, for example, as one semiconductor device, and functions are set based on a configuration memory (hereinafter also referred to as CRAM) and configuration data (hereinafter also referred to as configuration data) stored in the CRAM.
  • CRAM configuration memory
  • configuration data hereinafter also referred to as configuration data
  • the CRAM is configured by a volatile memory such as SRAM, and the configuration data is stored in an electrically rewritable nonvolatile memory (hereinafter also simply referred to as a nonvolatile memory) coupled to the outside of the FPGA.
  • a volatile memory such as SRAM
  • the configuration data stored in the nonvolatile memory is read out and written into the CRAM.
  • the circuit block which comprises the user logic part in FPGA is comprised so that the predetermined function defined by the configuration data may be achieved.
  • Writing circuit configuration data called configuration data (configuration data) to the CRAM in the FPGA is called configuration.
  • the configuration data stored in the CRAM is erased when, for example, a power shutdown or reset operation is performed. Therefore, it is required to execute the configuration again when the power is turned on again or reset is released.
  • Some FPGAs have a function called dynamic partial reconfiguration (partial reconfiguration). By using this dynamic partial reconfiguration function, the configuration data stored in the CRAM can be partially changed without stopping the operation of the FPGA, and the functions of the circuit blocks in the FPGA are partially changed. It becomes possible to change to. Changing the function of the FPGA partly by dynamic partial reconfiguration may be referred to as update processing in this specification.
  • FPGA is used in a wide range of applications such as automobiles and IoT devices.
  • applications such as automobiles and IoT devices.
  • the use of FPGAs having a function of dynamic partial reconfiguration is expanding in order to cope with changes in user requirements and defect correction after shipment.
  • an FPGA having a function of dynamic partial reconfiguration for example, remotely, via a network, without changing the FPGA, a partial function change corresponding to a user's demand change or defect correction is performed. Is possible.
  • Patent Document 1 describes a configuration in which circuit configuration data to be changed is obtained from a network by using a dynamic partial reconfiguration function, and the logic of the FPGA is partially rewritten.
  • Patent Document 1 describes an FPGA coupled to a server device via a network. It is possible to partially change the logic circuit in the FPGA directly via the network.
  • configuration data stored in a programmable ROM coupled to an FPGA is not updated. For this reason, when the FPGA is restarted after partially changing the logic circuit in the FPGA via the network, the logic circuit in the FPGA stores the initial configuration data stored in the programmable ROM (via the network). It is set based on the configuration data before the change).
  • a re-update process is performed in which the configuration data for change is prepared again in the server device and the logic circuit in the FPGA is partially changed via the network. Man-hours) is required.
  • An object of the present invention is to provide a reconfigurable device capable of suppressing an increase in re-update processing and an electronic apparatus using the reconfigurable device.
  • the reconfigurable device includes a first memory that stores configuration data, and a plurality of circuit blocks in which respective functions are set based on the configuration data stored in the first memory.
  • the reconfigurable device includes a rewrite control unit that partially rewrites configuration data stored in the first memory, a read control unit that reads configuration data stored in the first memory, and read control.
  • the configuration data read by the unit is converted into circuit configuration data required at the time of configuration, and the circuit configuration data formed by the conversion by the conversion unit is coupled to the reconfigurable device.
  • a write controller for supplying the second memory as write data is provided.
  • the first memory is composed of a volatile memory
  • the second memory is composed of an electrically rewritable nonvolatile memory.
  • the configuration data stored in the first memory is read, and the circuit configuration data is written in the second memory.
  • the partially rewritten configuration data is saved in an electrically rewritable nonvolatile memory, and the configuration is performed by the saved data at the time of restart. As a result, the re-update process at the time of activation can be suppressed, and quick activation can be realized.
  • FIG. 1 is a block diagram illustrating a configuration of a reconfigurable device according to Embodiment 1 and an electronic apparatus using the same. It is a figure which shows typically the configuration data stored in the configuration ROM.
  • 6 is a diagram schematically showing a configuration of a configuration ROM according to a second modification of the first embodiment.
  • FIG. It is a block diagram which shows the structure of the reconfigurable device concerning Embodiment 2, and the electronic device using the same.
  • FIG. 6 is a diagram schematically showing a configuration of a config ROM according to the second embodiment. It is a block diagram which shows the structure of the reconfigurable device concerning Embodiment 3, and the electronic apparatus using the same.
  • FIG. 1 is a block diagram illustrating a configuration of a reconfigurable device and an electronic apparatus using the device according to the first embodiment.
  • APS indicates an electronic device.
  • the electronic device APS includes a plurality of blocks in order to realize a function desired by the user, but only blocks necessary for the description are illustrated in FIG. 1 and other blocks are omitted.
  • reference numeral 1 denotes an FPGA constituting the electronic device APS
  • reference numeral 5 denotes an electrically rewritable nonvolatile memory (nonvolatile memory) constituting the electronic device APS.
  • Reference numeral 100 denotes a server device
  • reference numeral 13 denotes a network connecting the server device 100 and the FPGA 1.
  • the server device 100 and the network 13 may be regarded as the electronic device APS.
  • the nonvolatile memory 5 Since the configuration data is stored in the nonvolatile memory 5, the nonvolatile memory 5 is also referred to as a configuration ROM (Read Only Memory) 5 in this specification.
  • configuration ROM Read Only Memory
  • the server device 100 stores partial update data supplied to the FPGA 1 during dynamic partial reconfiguration. For example, circuit configuration data for achieving a function according to a user request and / or circuit configuration data according to a defect correction is created and stored in the server device 100.
  • FIG. 1 examples of partial update data stored in the server apparatus 100 are shown as 2A # 1 to 2A # n, 2B # 1 to 2B # n, and 2C # 1 to 2C # n.
  • the partial update data stored in the server device 100 is provided to the FPGA 1 via the network 13.
  • Partial update data 2A # 1 to 2A # n, 2B # 1 to 2B # n, and 2C # 1 to 2C # n are partial update data of circuit blocks 2A, 2B, and 2C described later.
  • the two characters before the sign # specify the circuit block, and the combination of the sign # and the subsequent number indicates the function.
  • this partial update data means that the circuit block 2A is specified and the function after reconfiguration is set to # 1. The same applies to other partial update data.
  • n pieces of partial update data for changing the function after reconfiguration to # 1 to #n are stored in the server device 100.
  • the FPGA 1 includes a CRAM (configuration memory) 3 and a user logic unit whose functions are set based on configuration data written in the CRAM (first memory) 3.
  • the user logic unit in FIG. 1 includes a user circuit unit 2 and a common circuit unit 4, and functions in the respective circuit units are set based on configuration data written in the CRAM 3.
  • the user circuit unit 2 it is possible to change the function of the user circuit unit 2 by partially rewriting the configuration data corresponding to the user circuit unit 2. That is, the user circuit unit 2 is a rewritable area in which the function can be partially changed.
  • the user circuit unit 2 includes a plurality of circuit blocks. In the figure, as a representative, three circuit blocks 2A to 2C are shown. The functions of the circuit blocks 2A to 2C are determined by writing circuit configuration data corresponding to the three circuit blocks 2A to 2C to the CRAM 3.
  • the FPGA according to the first embodiment has a function capable of dynamically performing partial reconfiguration when the electronic device APS is operating. That is, the functions of the circuit blocks 2A to 2C can be changed by rewriting circuit configuration data corresponding to the circuit blocks 2A to 2C without stopping the FPGA 1 during operation. For example, when the function of the circuit block 2A is changed, circuit configuration data representing the changed function is created as the circuit configuration data corresponding to the circuit block 2A, and the CRAM 3 is partially rewritten. Thereby, the function of the circuit block 2A is changed. The same applies to other circuit blocks.
  • the common circuit unit 4 is a non-rewrite area in which the function is not changed by using, for example, a function of dynamic partial reconfiguration.
  • the common circuit unit 4 includes a frame data extraction unit 41, a CRAM read / write control unit 42, an external interface unit 43, a checksum generation unit 44, a reconfiguration data generation unit 45, a configuration ROM read / write control unit 46, a memory interface unit 47, A selector 48, a configuration data write unit 49, and a timer unit 50 are provided.
  • the external interface unit 43 is connected between the network 13 and the CRAM read / write control unit 42, and performs an interface between the network 13 and the CRAM read / write control unit 42.
  • the server apparatus 100 supplies circuit configuration data for the circuit block to be reconfigured as partial update data to the FPGA 1 via the network 13.
  • the external interface unit 43 receives the supplied partial update data (circuit configuration data) and supplies the received partial update data to the CRAM read / write control unit 42.
  • the CRAM read / write control unit 42 is connected to the CRAM 3, the frame data extraction unit 41, and the timer unit 50.
  • the CRAM read / write control unit is a circuit integrally configured so as to be able to realize a plurality of functions. That is, the circuit can be regarded as one block as shown by a solid line in FIG. 1, but a plurality of functions can be realized.
  • functions used in the following description among a plurality of functions to be realized are represented by broken-line blocks in the CRAM read / write control unit 42 indicated by solid lines for convenience, and CRAM read A control unit (reading control unit) 42R and a CRAM write control unit (rewriting control unit) 42W are provided.
  • the CRAM read control unit 42R is a control unit that reads data stored in the CRAM 3
  • the CRAM write control unit 42W is a control unit that writes data to the CRAM 3.
  • the CRAM write control unit 42W supplies the partial update data supplied from the external interface unit 43 to the CRAM 3 as rewrite data CW, and executes writing. Thereby, the partial update data received by the external interface unit 43 is written into the CRAM 3 by the CRAM write control unit 42W.
  • the received partial update data includes specific information for specifying a circuit block corresponding to the partial update data (circuit configuration data). Therefore, the CRAM write control unit 42W rewrites only the part specified by the specific information in the configuration data stored in the CRAM 3 with the supplied partial update data.
  • the CRAM write control unit 42W issues a partial write completion notification signal CCE.
  • the frame data extraction unit 41 When the frame data extraction unit 41 receives the notification signal CCE, the frame data extraction unit 41 issues a CRAM read request signal CCR for requesting reading to the CRAM read control unit 42R.
  • the CRAM read control unit 42R When receiving the CRAM read request signal CCR, the CRAM read control unit 42R sequentially reads all the configuration data stored in the CRAM 3 as read data CR. That is, the CRAM 3 sequentially reads both the data of the portion rewritten by the partial update data and the data of the portion not rewritten as the read data CR.
  • the configuration data read by the CRAM read control unit 42R includes the data that has been rewritten by the CRAM write control unit 42W and the data that has not been rewritten.
  • the CRAM read control unit 42R supplies the read data CR as read data ACO to the frame data extraction unit 41.
  • Config data consists of multiple frames.
  • the frame data extraction unit 41 sequentially divides and extracts frame data from the configuration data supplied as read data ACO.
  • the extracted frame data is supplied to the reconstruction data generation unit 45.
  • the reconfiguration data generation unit 45 adds control command information described later as header information to the supplied frame data, and adds read / write end command information indicating the end of reading or writing of configuration data as footer information. , And supplied to the checksum generation unit 44.
  • Read / write end command information added as footer information is information indicating the end of configuration data when reading or writing configuration data.
  • the reconfiguration data generation unit 45 converts the format of the supplied frame data into circuit configuration data according to the type of the configuration ROM 5 coupled to the FPGA 1.
  • the circuit configuration data obtained by the conversion is supplied to the configuration ROM read / write control unit 46.
  • Bit swap information, header information, and footer information necessary for this format conversion are determined by the type of the configuration ROM 5 and can be grasped in advance. Therefore, these pieces of information used for format conversion can be set in the reconstruction data generation unit 45 in advance.
  • a register (not shown) may be provided in the FPGA 1, information used for format conversion may be stored in the register, and this register may be referred to when format conversion is performed.
  • the information used for this format conversion is the control command information described above.
  • the checksum generation unit (check information generation unit) 44 calculates a checksum for each supplied frame data based on the frame data, and accumulates the calculated checksum, for example, to obtain a final checksum value (check information). Ask for. That is, every time frame data is supplied, the checksum value is updated, and the final checksum value is obtained by accumulation. When the CRAM read control unit 42R finishes reading the configuration data stored in the CRAM 3, the checksum value obtained by the checksum generation unit 44 becomes the final checksum value.
  • the final checksum value includes header information and footer information necessary for configuration, and includes partial reconfiguration.
  • the checksum of the frame data related to the configured circuit block and the checksum of the frame data related to the circuit block not reconfigured are reflected. Therefore, the checksum generation unit 44 calculates a checksum value based on all the frame data after partial reconstruction.
  • the final checksum value calculated by the checksum generation unit 44 is added to the end of the data supplied from the reconfiguration data generation unit 45 to the configuration ROM read / write control unit 46, and the configuration ROM read / write control unit 46. Supplied to.
  • the function of the checksum generation unit 44 may be included in the reconfiguration data generation unit 45.
  • the circuit configuration data is data necessary for determining the function of the circuit block as described above, and is data required when the CRAM 3 is configured.
  • the configuration data read by the CRAM read control unit 42R is converted into circuit configuration data in a format corresponding to the type of the configuration ROM 5 by the frame data extraction unit 41 and the reconfiguration data generation unit 45. Therefore, the frame data extraction unit 41 and the reconfiguration data generation unit 45 can be regarded as constituting a conversion unit that converts the read configuration data into circuit configuration data required at the time of configuration. .
  • the configuration ROM read / write control unit (write control unit) 46 supplies circuit configuration data obtained by format conversion to the configuration ROM 5 as write data via the memory interface unit 47 and the selector 48, and writes to the configuration ROM 5. I do. At this time, the configuration ROM read / write control unit 46 deletes the circuit configuration data portion except the header information and the footer information in the configuration data stored in the configuration ROM 5, and uses the circuit configuration data obtained by the format conversion. Write a new one.
  • the header information described above is, for example, information for specifying the generation time of the conventional configuration data or the type of the FPGA 1.
  • the configuration ROM read / write control unit 46 rewrites the checksum portion in the configuration data stored in the configuration ROM 5 with the final checksum value supplied.
  • the selector 48 and the configuration data write unit 49 are arranged in the common circuit unit 4, but their functions are not set by the configuration data stored in the CRAM 3, but have the following functions. That is, when the power supply voltage Vd is input to the FPGA 1 or when the FPGA 1 is reset by the reset signal RST and released from the reset state, the selector 48 is connected between the configuration ROM 5 and the configuration data write unit 49. A data path is formed. Otherwise, a data path is formed between the memory interface unit 47 and the config ROM 5.
  • the configuration ROM 5 receives the configuration data via the data path of the selector 48.
  • the light unit 49 is coupled.
  • the memory interface unit 47 uses the configuration ROM 5 via the data path of the selector 48. Will be combined.
  • the CRAM 3 is configured by a volatile memory such as SRAM, and the config ROM is configured by an electrically rewritable nonvolatile memory such as a flash memory. Therefore, for example, when the power supply voltage Vd is not supplied, the configuration data stored in the CRAM 3 is erased or indefinite. Similarly, the CRAM 3 is in the erased state or indefinite state before the power supply voltage Vd is first supplied. When the reset state is entered, the CRAM 3 is in an initial state (erased state) or indefinite state.
  • the configuration data write unit (configuration write control unit) 49 receives configuration data from the configuration ROM 5 via the data path of the selector 48. And the read configuration data is written into the CRAM 3.
  • the configuration data stored in the configuration ROM 5 is written into the CRAM 3 and Each function will be set.
  • the memory interface unit 47 and the configuration ROM 5 are coupled via the data path of the selector 48. Therefore, as described above, the configuration ROM read / write control unit 46 The circuit configuration data and the checksum value are supplied as write data to the configuration ROM 5 through the data path of the memory interface unit 47 and the selector 48, and the data stored in the configuration ROM 5 is rewritten.
  • the circuit blocks 2A to 2C in the user circuit unit 2 access the configuration ROM read / write control unit 47, thereby allowing the memory interface unit 47 and the selector 48 to pass through the data path.
  • the configuration ROM 5 can be accessed, and the configuration ROM 5 coupled to the FPGA 1 can be used for storing data or / and programs.
  • the timer unit (time management unit) 50 is not particularly limited, but is activated in response to a CRAM read request signal CCR issued by the frame data extraction unit 41 in the first embodiment.
  • the timer unit 50 When the timer unit 50 is activated, the timer unit 50 generates an activation signal at a preset period. This activation signal is supplied to the CRAM read control unit 42R, and the CRAM read control unit 42R operates periodically in response to the activation signal.
  • the timer unit 50 will be described in ⁇ Modification 1> and will not be described here any further.
  • FIG. 2 is a diagram schematically showing configuration data stored in the configuration ROM 5.
  • the configuration data shown in FIG. 2 indicates a state (initial state 5A) before the power supply voltage Vd is first turned on (power is supplied to the FPGA 1).
  • the configuration data includes header information, user circuit unit data related to the user circuit unit 2, common circuit unit data related to the common circuit unit 4, footer information, and checksum value.
  • the config ROM 5 has a predetermined address area, and the predetermined address area is divided into five address areas in the first embodiment.
  • the address area of the config ROM 5 is divided into a header area AD1, a user area AD2, a common area AD3, a footer area AD4, and a check area AD5, as shown on the left side of FIG.
  • the header information is stored in the header area AD1
  • the user circuit section data is stored in the user area AD2
  • the common circuit section data is stored in the common area AD3
  • the footer information is stored in the footer area AD4
  • the checksum value is stored in the check area AD5.
  • the footer information stored in the footer area AD4 is a control command included in the configuration data and corresponds to an end command when writing the configuration data.
  • the user circuit section data has circuit configuration data corresponding to each of the circuit blocks 2A, 2B, and 2C arranged in the user circuit section 2.
  • the common circuit unit data is not shown in FIG. 2, but the frame data extraction unit 41, the CRAM read / write control unit 42, the external interface unit 43, the checksum generation unit 44, and the reconfiguration shown in FIG. Circuit configuration data corresponding to the data generation unit 45, the configuration ROM read / write control unit 46, the memory interface unit 47, and the timer unit 50 is included.
  • circuit configuration data in which each function of the circuit blocks 2A to 2C is # 0 is stored in the user area AD2.
  • the check area AD5 stores a checksum value calculated from the user circuit portion data and the common circuit portion data.
  • the FPGA 1 When the configuration ROM 5 having the configuration data shown in FIG. 2 is coupled to the FPGA 1 and the power supply voltage Vd is turned on for the first time, the FPGA 1 is initialized according to the configuration data stored in the configuration ROM 5. That is, when the power supply voltage Vd is turned on, the selector 48 forms a data path between the configuration data write unit 49 and the configuration ROM 5. Thereby, the configuration data write unit 49 reads the configuration data from the configuration ROM 5 and writes it to the CRAM 3. By this writing, each of the circuit blocks 2A to 2C in the user circuit unit 2 is configured to achieve the function # 0.
  • the common circuit unit 4 includes a frame data extraction unit 41, a CRAM read / write control unit 42, an external interface unit 43, a checksum generation unit 44, a reconfiguration data generation unit 45, a configuration ROM read / write control unit 46, and a memory interface unit. 47 and timer unit 50 are configured to be achieved.
  • the configuration is started by starting the writing of the configuration data in the initial state 5A to the CRAM 3, and the configuration is completed when the writing of the configuration data in the initial state 5A is completed.
  • the configuration data write unit 49 calculates the checksum based on the user circuit unit data and the common circuit unit data supplied from the configuration ROM 5, and the checksum value supplied from the check area AD5 of the configuration ROM 5 And check the normality of the configuration data.
  • the selector 48 forms a data path between the memory interface unit 47 and the configuration ROM.
  • the configuration ROM 5 can be accessed from the configuration ROM read / write control unit 46 via the memory interface unit 47.
  • the configuration ROM 5 can be accessed from a circuit block in the user circuit unit 2.
  • the circuit configuration data stored in the CRAM 3 can be saved in the configuration ROM 5.
  • each of the circuit blocks 2A to 2C achieves function # 0 as shown in (). It is configured as follows. In the present specification, the three circuit blocks 2A to 2C are described as an example, but the number is an example, and the present invention is not limited to this.
  • the user circuit unit 2 dynamically performs partial reconfiguration by partially changing the configuration data stored in the CRAM 3 without stopping the operation of the FPGA 1 during operation. It is possible.
  • the common circuit unit 4 is not rewritten during the operation.
  • the server apparatus 100 selects partial update data corresponding to a circuit block to be partially reconfigured, and supplies it to the FPGA 1 via the network 13.
  • the present invention is not limited to this.
  • the update data may be supplied to the FPGA 1 without going through the network.
  • the circuit blocks 2A and 2C are changed from the initial state 5A shown in FIG. 2, and the circuit block 2B will be described as an example in which the initial state 5A is maintained.
  • the function of the circuit block 2A is changed from # 0 to # 1
  • the function of the circuit block 2C is changed from # 0 to # 3.
  • partial update data 2A # 1 for changing the function of circuit block 2A to # 1 and partial update data 2C # 3 for changing the function of circuit block 2C to # 3 are selected, and the selected partial update is performed.
  • Data 2A # 1 and 2C # 3 are supplied to the FPGA 1 via the network 13.
  • the external interface unit 43 supplies the supplied partial update data 2A # 1, 2C # 3 to the CRAM read / write control unit 42.
  • the CRAM write control unit 42W that constitutes the CRAM read / write control unit 42 uses the partial update data 2A # 1 and 2C # 3 as circuit configuration data, and is stored in the CRAM 3 based on the specific information included therein. Of the configuration data, only the part specified by the specific information is rewritten with the supplied partial update data (rewrite data CW) 2A # 1, 2C # 3. Since the CRAM 3 is composed of a volatile memory, the partial update data 2A # 1 and 2C # 3 may be overwritten instead of rewriting.
  • the CRAM write control unit 42W issues a completion notification CCE.
  • the frame data extraction unit 41 issues a CRAM read request signal CCR.
  • the CRAM read control unit 42R starts reading from the CRAM 3 in response to the CRAM read request signal CCR. That is, the CRAM read control unit 42R sequentially reads the configuration data stored in the CRAM 3 as the read data CR.
  • the read data CR is supplied as read data ACO from the CRAM read control unit 42R to the frame data extraction unit 41, and the frame data extracted by the frame data extraction unit 41 is supplied to the reconstruction data generation unit 45.
  • the reconfiguration data generation unit 45 converts the frame data sequentially supplied from the frame data extraction unit 61 according to the type of the configuration ROM 5, generates circuit configuration data, adds header information and footer information, This is supplied to the checksum generation unit 44.
  • the checksum generation unit 44 calculates the checksum based on the data supplied from the reconfiguration data generation unit 45 until the reading of the configuration data stored in the CRAM 3 is completed, and sequentially accumulates (updates) Find the final checksum value.
  • the final checksum value obtained is added to the end of the data supplied from the reconfiguration data generation unit 45 and supplied to the configuration ROM read / write control unit 46.
  • the selector 48 forms a data path between the memory interface unit 47 and the configuration ROM 5. Therefore, the configuration ROM read / write control unit 46 supplies the supplied circuit configuration data as write data to the configuration ROM 5 via the memory interface unit 47 and the selector 48, and sequentially sets the user area AD2 and the common area AD3. ,rewrite. In this manner, reading of the configuration data stored in the CRAM 3, rewriting of the configuration ROM 5 to the user area AD2 and the common area AD3, and updating of the checksum value are repeatedly executed in parallel.
  • the checksum generation unit 44 supplies the checksum value updated by the time when the reading is completed to the configuration ROM read / write control unit 46 as the final update value.
  • the configuration ROM read / write control unit 46 supplies the final update value of the supplied checksum as a checksum value to the check area AD5 of the configuration ROM 5 via the memory interface unit 47 and the selector 48, and the check area AD5. Rewrite the value of.
  • the user area AD2 and the common area AD3 of the configuration ROM 5 are rewritten by the circuit configuration data generated by the conversion by the reconfiguration data generation unit 45, and the check area AD5 is calculated by the checksum generation unit 44.
  • the final checksum value is overwritten.
  • the header information and footer information stored in the header area AD1 and the footer area AD4 are maintained without being rewritten.
  • the configuration data stored in the CRAM 3 by the dynamic partial reconfiguration is saved in the configuration ROM 5.
  • the checksum value saved in the configuration ROM 5 is also a checksum value corresponding to the configuration data after dynamic partial reconfiguration.
  • checksum value is calculated for the data saved in the config ROM 5 by the save operation and stored in the config ROM 5, but the present invention is not limited to this.
  • data for error correction code such as CRC (Cyclic Redundancy Check) may be calculated and stored in the configuration ROM 5.
  • the data saved in the configuration ROM 5 by the save operation described above is the circuit configuration data for the common circuit unit 4 (common circuit unit data in FIG. 2) and the circuit configuration for the user circuit unit 2 including the partially reconfigured circuit block. Contains data.
  • the circuit configuration data for the user circuit unit 2 in the user circuit unit data shown in FIG. 2, the circuit block 2A in which the function is changed to # 1 is saved in the circuit block 2A.
  • the circuit configuration data whose function is changed to # 3 is saved, and in the remaining circuit blocks (for example, 2B), the circuit configuration data in the initial state is saved.
  • the initial state 5A shown in FIG. 2 is stored in the configuration ROM 5. Therefore, for example, when the power supply voltage Vd is cut off and then turned on again, the CRAM 3 is configured by the configuration data in the initial state 5A stored in the configuration ROM 5.
  • the partial update data 2A # 1 and 2C # 3 are prepared again in the server device 100, and the partial update data 2A # is transmitted from the server device 100 via the network 13. 1 and 2C # 3 are supplied to the FPGA 1, and dynamic partial reconfiguration is required so that the CRAM 3 is configured by the partial update data. That is, re-update processing (man-hours) is required.
  • the selector 48 forms a data path between the configuration data write unit 49 and the configuration ROM 5 and is stored in the configuration ROM 5.
  • the saved data is supplied to the configuration data write unit 49 as configuration data.
  • the saved configuration data is written into the CRAM 3, and the configuration is performed using the saved configuration data.
  • the state does not return to the initial state 5A, and it is possible to return to the state immediately before the power supply voltage Vd is cut off without performing the re-update process.
  • the circuit blocks 2A and 2C return to the dynamic partial reconfiguration state (functions # 1 and # 3) without performing the re-update process, and the circuit block 2B is in the initial state ( The function returns to # 0). Since it is not necessary to perform the re-update process, it is possible to quickly restart.
  • ⁇ Modification 1> 1 when the frame data extraction unit 41 issues a CRAM read request signal CCR, the timer unit 50 periodically generates an activation signal based on the period set in the timer unit 50. After the above save operation is performed, the timer unit 50 generates an activation signal even if dynamic partial reconfiguration is not performed.
  • the CRAM read control unit 42R starts operation in synchronization with the start signal of the timer unit 50.
  • the configuration data stored in the CRAM 3 is read out and sequentially converted into circuit configuration data by the conversion unit configured by the frame data extraction unit 41 and the reconfiguration data generation unit 45, and the checksum generation unit 44.
  • the checksum value is sequentially updated.
  • the converted circuit configuration data and the final checksum value are supplied as write data to the configuration ROM 5 by the configuration ROM read / write control unit 46 via the memory interface unit 47 and the selector 48 and stored in the configuration ROM 5.
  • the circuit configuration data and the checksum value are rewritten.
  • the configuration data periodically stored in the CRAM 3 is saved in the configuration ROM 3 in synchronization with the start signal formed by the timer unit 50.
  • the config ROM 5 is configured by a flash memory as described above.
  • the stored data may be undesirably changed due to the influence of radiation or the like.
  • the configuration data stored in the CRAM 3 is supplied to the configuration ROM 3 and rewritten periodically even if dynamic partial reconfiguration is not performed. That is, the evacuation operation is performed periodically.
  • the evacuation operation is performed periodically.
  • FIG. 3 is a diagram schematically showing a configuration of the config ROM 5 according to the second modification of the first embodiment.
  • the address area of the config ROM 5 is divided into a plurality of address areas.
  • it is divided into three address areas 5-1, 5-2 and REG.
  • the address area (second area) 5-1 stores the configuration data (predetermined configuration data) in the initial state 5A shown in FIG.
  • the address area 5-2 (first area)
  • circuit configuration data and a checksum value supplied from the memory interface unit 47 during the above-described saving operation are stored. That is, the configuration data is saved in the address area 5-2.
  • the address area 5-2 is rewritten with the circuit configuration data and the checksum value stored in the CRAM 3.
  • REG for example, a history of executing the save operation is stored.
  • the configuration data write unit 49 calculates a checksum value from the supplied circuit configuration data, and compares it with the checksum value supplied from the address area 5-2.
  • the configuration data write unit 49 writes the supplied circuit configuration data to the CRAM 3 as configuration data. In other words, the configuration is performed by the data stored in the address area 5-2.
  • the configuration data write unit 49 writes the data in the initial state 5A stored in the address area 5-1 of the configuration ROM 5 to the CRAM 3 as configuration data. That is, the configuration is performed in the initial state 5A stored in the address area 5-1.
  • the initial state 5A stored in the address area 5-1 is used when correction is impossible. You only need to execute the configuration.
  • the configuration data write unit 49 calculates the checksum value based on the circuit configuration data from the address area 5-2 and performs comparison, but the configuration is not limited to this.
  • a processor may be provided inside or outside of the FPGA 1, and the checksum may be calculated and compared by this processor.
  • FIG. 4 is a block diagram showing a configuration of a reconfigurable device according to the second embodiment and an electronic apparatus using the reconfigurable device. 4 is similar to FIG. 1, and the user circuit unit 2, the CRAM 3, the network 13, and the server device 100 are the same as those in FIG. Similarly, in the common circuit unit 6, the frame data extraction unit 61, the checksum generation unit 64, and the reconfiguration data generation unit 65 are the same as the frame data extraction unit 41, the checksum generation unit 44, and the reconfiguration data generation shown in FIG. Since it is the same as the unit 45, the description is omitted.
  • the external interface unit 63 is similar to the external interface unit 43 of FIG.
  • the external interface unit 43 shown in FIG. 1 is connected between the network 13 and the CRAM read / write control unit 42, but the external interface unit 63 is also connected between the processor 68 and the CRAM read / write control unit 62. It is connected.
  • the external interface unit 63 is also connected to a config ROM read / write control unit 66.
  • the external interface unit 63 supplies update data from the network 13 or an instruction from the processor 68 to the CRAM read / write control unit 62 or the configuration ROM read / write control unit 66. In accordance with this, the configuration ROM read / write control unit 66 is changed from the configuration ROM read / write control unit 46 of FIG.
  • the CRAM read / write control unit 62 is similar to the CRAM read / write control unit 42 of FIG. 1, but the CRAM read / write control unit 62 is further coupled to the memory interface unit 67. In accordance with this, the memory interface unit 67 is changed from the memory interface unit 47 shown in FIG.
  • the server apparatus 100 also includes a plurality of partial update data 2A # 1 to 2A # n, 2B # 1 to 2B # n, 2C # 1 to 2C # n. Is stored.
  • the configuration ROM 7 stores (registers) configuration data 7B at the time of shipment, configuration data in the initial state 7A, and a plurality of update data.
  • FIG. 5 is a diagram schematically showing the configuration of the config ROM according to the second embodiment.
  • the address area of the config ROM 7 is divided into three address areas. That is, an address area for storing the configuration data 7B at the time of shipment (hereinafter also referred to as an initial state area), an address area for storing the initial state 7A (hereinafter also referred to as an entire update area or a fourth area), and a partial reconfiguration An address area for storing partial update data (hereinafter also referred to as a partial update area or a third area) is provided.
  • an initial state area an address area for storing the configuration data 7B at the time of shipment
  • an address area for storing the initial state 7A hereinafter also referred to as an entire update area or a fourth area
  • a partial reconfiguration An address area for storing partial update data (her
  • the initial state area is arranged on the lowermost side, and stores the configuration data 7B at the time of shipment.
  • the entire update area is arranged above the initial state area, and the initial state 7A is stored here.
  • a partial update area for storing partial update data is arranged above the entire update area.
  • a plurality of partial update data 2A # 1, 2A # 2, 2B # 1, 2B # 2, 2C # 1, 2C # 2 are stored in the partial update area.
  • the initial state 7A stored in the entire update area includes header information, user circuit portion data, common circuit portion data, footer information, and a checksum, similar to the initial state 5A shown in FIG.
  • the configuration data 7B at the time of shipment also includes header information, user circuit unit data, common circuit unit data, footer information, and a checksum.
  • the configuration data 7B at the time of shipment is created, for example, when the FPGA 1 is shipped, and is stored in the initial state area.
  • the data stored in the entire update area is updated by the save operation, but the data in the initial state area is not updated.
  • the CRAM 3 When the power supply voltage Vd is input to the FPGA 1, the CRAM 3 is configured based on the initial state 7A, and the function defined by the initial state 7A is achieved by the FPGA 1.
  • the dynamic partial reconfiguration can be realized by two kinds of methods. That is, in the first partial reconfiguration method, as in the first embodiment, the server apparatus 100 selects partial update data to be subjected to dynamic partial reconfiguration and supplies it to the FPGA 1 via the network 13. Is the method. In this case, the external interface unit 63 supplies the supplied partial update data to the CRAM read / write control unit 62, and the configuration data in the CRAM 3 is partially rewritten, whereby dynamic partial reconfiguration is performed.
  • the second partial reconfiguration method is a method in which configuration data in the CRAM 3 is partially changed by partial update data stored in the partial update area of the configuration ROM 7.
  • the processor 67 forms selection information for selecting desired partial update data, and the formed selection information is sent to the memory interface unit 67 via the external interface unit 63 and the configuration ROM read / write control unit 66.
  • the memory interface unit 67 selects partial update data (for example, 2A # 1, 2B # 2) corresponding to the selection information from the partial update data stored in the partial update area of the configuration ROM 7, and selects the selected partial update data 2A. # 1 and # 2B2 are supplied to the CRAM read / write control unit 62.
  • the CRAM read / write control unit 62 rewrites the part corresponding to the partial update data 2A # 1, 2B # 2 in the configuration data stored in the CRAM 3 with the partial update data 2A # 1, 2B # 2.
  • the function of the user circuit unit 2 can be changed by changing the configuration data stored in the CRAM 3.
  • the initial state 7A is the state shown in FIG. 2, when the dynamic partial reconfiguration is performed by the second method described above, the function of the circuit blocks 2A and 2B is changed from # 0 to # 1 and # 2. Will be.
  • the configuration data in the CRAM 3 changed by the first partial reconstruction method and the second partial reconstruction method described above is supplied to the entire update area in the configuration ROM 7 in the same manner as described in the first embodiment.
  • the user circuit unit data, common circuit unit data, and checksum stored in the entire update area are rewritten and saved.
  • the circuit configuration data saved in the entire update area is written as configuration data into the CRAM 3 and configuration is performed. Therefore, it is possible to return to the state immediately before the restart without performing the re-update process, and a quick restart is possible.
  • dynamic partial reconfiguration can be performed using partial update data stored in the configuration ROM 7 even if the FPGA is not coupled to the network 13. Further, when coupled to a network, dynamic partial reconfiguration using the latest partial update data is possible.
  • the partial update data stored in the server device 100 is transferred to the configuration ROM 7 via the external interface unit 63, the configuration ROM read / write control unit 66 and the memory interface unit 67.
  • the partial update area may be written. Thereby, the partial update data stored in the config ROM 7 can be increased.
  • FIG. 4 shows the case where the processor 68 is provided outside the FPGA 1, but the processor 68 may be built in the FPGA 1.
  • the power supply voltage Vd, the reset signal RST, the selector 48, and the configuration data write unit 49 shown in FIG. 1 are omitted in order to avoid complication of the drawing.
  • the entire reconfiguration (restart) is performed.
  • the circuit configuration data stored in the entire update area of the configuration ROM 7 is used at the time of configuration.
  • the circuit configuration data stored in the partial update area is used at the time of configuration. It can be understood that In view of this, the CRAM 3 is configured by configuration data corresponding to the circuit configuration data stored in the entire update area or configuration data corresponding to the circuit configuration data stored in the partial update area. Become.
  • the checksum value is checked as described in ⁇ Modification 2> of the first embodiment, and the checksum value is checked. If they do not match, the configuration is executed using the configuration data 7B at the time of shipment stored in the initial state area. Similarly, when the configuration is executed based on the circuit configuration data stored in the partial update area, a check using the checksum value is performed as described in ⁇ Modification 2> of the first embodiment. If the checksum values do not match, the configuration is executed using the shipping configuration data 7B stored in the initial state area. This makes it possible to ensure that the FPGA 1 operates.
  • FIG. 6 is a block diagram showing a configuration of a reconfigurable device according to the third embodiment and an electronic apparatus using the reconfigurable device.
  • the electronic device APS includes a plurality of FPGAs and a configuration ROM 5.
  • a plurality of FPGAs 1-0 to 1-n are connected to the network 13 in series.
  • the server device 100 and the network 13 are the same as those in FIG.
  • the FPGA 1-0 includes a user circuit unit 2, a CRAM 3, and a common circuit unit 8 as in FIG.
  • the user circuit unit 2 and the CRAM 3 are the same as those in FIG.
  • the common circuit unit 8 includes an external interface unit 83, a CRAM read / write control unit 82, a frame data extraction unit 81, a checksum generation unit 84, a partial reconfiguration data generation unit 85, and a configuration ROM read / write control unit 86.
  • the CRAM read / write control unit 82, the frame data extraction unit 81, the checksum generation unit 84, the partial reconfiguration data generation unit 85, and the configuration ROM read / write control unit 86 are the CRAM read / write control unit 42 shown in FIG. Since it is the same as the frame data extraction unit 41, the checksum generation unit 44, the partial reconfiguration data generation unit 45, and the configuration ROM read / write control unit 46, description thereof will be omitted.
  • the output of the configuration ROM read / write control 86 is supplied to the external interface unit (interface unit) 83.
  • the external interface unit 83 supplies the partial update data supplied to the terminal 83a to the CRAM read / write control unit 82 during dynamic partial reconfiguration.
  • a part of the configuration data stored in the CRAM 3 is rewritten by the partial update data supplied to the terminal 83a, and the function of the FPGA 1-0 is partially changed. Is done.
  • the external interface unit 83 In the save operation, the external interface unit 83 outputs the circuit configuration data and the checksum value output from the configuration ROM read / write control unit 86 from the terminal 83b. Therefore, during the save operation, the circuit configuration data and the checksum value output from the configuration ROM read / write control unit 86 are output to the outside of the FPGA 1-0.
  • the external interface unit 83 supplies external data supplied to the terminal 83b to the CRAM read / write control unit 82 and the terminal 83a.
  • the CRAM read / write control unit 82 writes the supplied external data to the CRAM 3 and executes configuration.
  • the terminal 83a of the FPGA 1-0 (second reconfigurable device) is connected to the network 13, and the terminal 83b is connected to the terminal 83a of the subsequent FPGA 1-1 (first reconfigurable device).
  • the terminal 83b of the rear stage FPGA 1-1 is connected to a terminal 83a of the rear stage FPGA 1-2 (not shown).
  • the terminal 83b is connected to the terminal 83a of the subsequent FPGA.
  • the terminal 83b of the final stage FPGA 1-n is connected to the config ROM 5.
  • the save operation is performed as in the first embodiment.
  • the circuit configuration data and the checksum value generated by the save operation are supplied to the subsequent FPGA 1-1.
  • the CRAM read / write control unit 82 writes to the CRAM 3 based on the supplied circuit configuration data, and the configuration is executed.
  • the save operation is executed, and the circuit configuration data and the checksum value generated by the save operation are supplied to the subsequent FPGA 1-2 (not shown). become.
  • the CRAMs 3 in the FPGAs 1-1 to 1-n are sequentially configured, and the FPGAs 1-1 to 1-n are in a state where the FPGA 1-0 is copied. That is, the configuration data stored in the CRAM 3 in the FPGA at the predetermined stage is directly written into the CRAM 3 in the FPGA at the subsequent stage.
  • circuit configuration data and the checksum value output from the FPGA-n at the final stage are supplied to the configuration ROM 5 as in the first embodiment, and the configuration ROM 5 is rewritten.
  • the circuit configuration data and checksum value saved in the configuration ROM 5 are transferred to the CRAM 3 by the CRAM read / write control unit 82 in the FPGA 1-n via the external interface 83 in the FPGA 1-n at the final stage.
  • Written and CRAM 3 in FGPA1-n is configured.
  • the circuit configuration data and the checksum value are output from the terminal 83a of the external interface unit 83 in the final-stage FPGA 1-n to the terminal 83b of the previous-stage FPGA, the supplied circuit-configuration data is also transferred to the previous-stage FPGA. Configuration will be executed based on this.
  • the configuration data stored in the config ROM 5 is supplied from the subsequent stage to the previous stage, and the configuration of the CRAM 3 is executed in each FPGA.
  • the latest configuration data before activation (reactivation) is supplied from the adjacently connected FPGA at the time of activation (reactivation), whereby the CRAM 3 in the FPGA is configured.
  • reactivation the latest configuration data before activation
  • reactivation the latest configuration data before activation
  • reactivation is supplied from the adjacently connected FPGA at the time of activation (reactivation)
  • the CRAM 3 in the FPGA is configured.
  • the external interface unit 83 supplies the circuit configuration data supplied to the terminal 83b to the terminal 83a at the time of restart
  • the data may be supplied from the external interface unit 83 to the terminal b3b of the FPGA connected adjacently via the terminal 83a.
  • Embodiments 1 to 3 may be combined with each other.

Abstract

This reconfigurable device is provided with: a CRAM which stores configuration data; and a plurality of circuit blocks in which respective functions are set on the basis of the configuration data stored in the CRAM. The reconfigurable device is provided with: a rewrite control unit which partially rewrites the configuration data stored in the CRAM; a read control unit which reads the configuration data stored in the CRAM; a conversion unit which converts the configuration data, which has been read by the read control unit, to circuit configuration data required at the time of configuration; and a write control unit which provides, as write data, the circuit configuration data, formed by the conversion of the conversion unit, to a config-ROM coupled to the reconfigurable device.

Description

再構成可能デバイスおよびそれを用いた電子装置Reconfigurable device and electronic apparatus using the same
 本発明は、再構成可能デバイスおよびそれを用いた電子装置に関し、特に部分的に再構成可能デバイスおよびそれを用いた電子装置に関する。 The present invention relates to a reconfigurable device and an electronic apparatus using the same, and particularly to a partially reconfigurable device and an electronic apparatus using the same.
 再構成可能デバイスとしてFPGA(Field Programmable Gate Array)が知られている。FPGAは、例えば1個の半導体デバイスに構成され、コンフィギュレーションメモリ(以下、CRAMとも称する)と、CRAMに格納されているコンフィギュレーションデータ(以下、コンフィグデータとも称する)に基づいて機能が設定されるユーザ論理部を備えている。 An FPGA (Field Programmable Gate Array) is known as a reconfigurable device. The FPGA is configured, for example, as one semiconductor device, and functions are set based on a configuration memory (hereinafter also referred to as CRAM) and configuration data (hereinafter also referred to as configuration data) stored in the CRAM. A user logic part is provided.
 CRAMは例えばSRAMのような揮発性メモリにより構成され、コンフィグデータはFPGAの外部に結合された電気的に書き換え可能な不揮発性メモリ(以下、単に不揮発性メモリとも称する)に格納される。例えば電源投入等のFPGAの起動時に、不揮発性メモリに格納されているコンフィグデータが読み出され、CRAMに書き込まれる。これにより、FPGA内のユーザ論理部を構成する回路ブロックが、コンフィグデータによって定められた所定の機能を達成するように構成される。FPGA内のCRAMへコンフィグデータ(コンフィギュレーションデータ)と呼ばれる回路構成データを書き込むことを、コンフィギュレーションと称する。 The CRAM is configured by a volatile memory such as SRAM, and the configuration data is stored in an electrically rewritable nonvolatile memory (hereinafter also simply referred to as a nonvolatile memory) coupled to the outside of the FPGA. For example, when the FPGA is started up such as when the power is turned on, the configuration data stored in the nonvolatile memory is read out and written into the CRAM. Thereby, the circuit block which comprises the user logic part in FPGA is comprised so that the predetermined function defined by the configuration data may be achieved. Writing circuit configuration data called configuration data (configuration data) to the CRAM in the FPGA is called configuration.
 CRAMが揮発性メモリによって構成されているため、例えば電源遮断あるいはリセット動作が行われると、CRAMに格納されていたコンフィグデータが消去されることになる。そのため、電源の再投入時あるいはリセット解除時には、再度コンフィグレーションを実行することが要求される。また、FPGAには、動的部分再構成(パーシャルリコンフィグ)と呼ばれる機能を有するものがある。この動的部分再構成の機能を使うことにより、FPGAの動作を停止させないで、CRAMに格納されているコンフィグデータを部分的に変更することが可能となり、FPGA内の回路ブロックの機能を部分的に変更することが可能となる。動的部分再構成によって、FPGAの機能を部分的に変更することを、本明細書ではアップデート処理と称することがある。 Since the CRAM is composed of a volatile memory, the configuration data stored in the CRAM is erased when, for example, a power shutdown or reset operation is performed. Therefore, it is required to execute the configuration again when the power is turned on again or reset is released. Some FPGAs have a function called dynamic partial reconfiguration (partial reconfiguration). By using this dynamic partial reconfiguration function, the configuration data stored in the CRAM can be partially changed without stopping the operation of the FPGA, and the functions of the circuit blocks in the FPGA are partially changed. It becomes possible to change to. Changing the function of the FPGA partly by dynamic partial reconfiguration may be referred to as update processing in this specification.
 FPGAは、自動車やIoT機器など広い用途で用いられている。近年の自動車やIoT機器などでは、ユーザ要求の変化や出荷後の不具合修正に対応するために、動的部分再構成の機能を有するFPGAの活用が拡がっている。動的部分再構成の機能を有するFPGAを用いることにより、例えばネットワークを経由して遠隔から、FPGAを停止させずに、ユーザの要望変化や不具合修正に対応した部分的な機能の変更を行うことが可能となる。 FPGA is used in a wide range of applications such as automobiles and IoT devices. In recent automobiles, IoT devices, and the like, the use of FPGAs having a function of dynamic partial reconfiguration is expanding in order to cope with changes in user requirements and defect correction after shipment. By using an FPGA having a function of dynamic partial reconfiguration, for example, remotely, via a network, without changing the FPGA, a partial function change corresponding to a user's demand change or defect correction is performed. Is possible.
 特許文献1には、動的部分再構成の機能を利用して、変更したい回路構成データをネットワークから得て、FPGAの論理を部分的に書き換える構成が記載されている。 Patent Document 1 describes a configuration in which circuit configuration data to be changed is obtained from a network by using a dynamic partial reconfiguration function, and the logic of the FPGA is partially rewritten.
特開2010-117968号公報JP 2010-117968 A
 特許文献1には、ネットワークを経由してサーバ装置に結合されたFPGAが記載されている。ネットワーク経由で、直接的にFPGA内の論理回路を部分的に変更することが可能となっている。この特許文献1では、ネットワーク経由で部分的に変更したとき、FPGAに結合されているプログラマブルROMに格納されているコンフィグデータは更新されない。そのため、ネットワークを経由してFPGA内の論理回路を部分的に変更したあと、FPGAが再起動されると、FPGA内の論理回路は、プログラマブルROMに格納されている初期のコンフィグデータ(ネットワーク経由で変更する前のコンフィグデータ)に基づいて設定されることになる。従って、FPGA内の論理回路を所望の状態にするためには、再度、サーバ装置に変更用のコンフィグデータを準備し、ネットワーク経由でFPGA内の論理回路を部分的に変更するという再アップデート処理(工数)が必要とされる。 Patent Document 1 describes an FPGA coupled to a server device via a network. It is possible to partially change the logic circuit in the FPGA directly via the network. In Patent Document 1, when a partial change is made via a network, configuration data stored in a programmable ROM coupled to an FPGA is not updated. For this reason, when the FPGA is restarted after partially changing the logic circuit in the FPGA via the network, the logic circuit in the FPGA stores the initial configuration data stored in the programmable ROM (via the network). It is set based on the configuration data before the change). Therefore, in order to bring the logic circuit in the FPGA into a desired state, a re-update process is performed in which the configuration data for change is prepared again in the server device and the logic circuit in the FPGA is partially changed via the network. Man-hours) is required.
 その結果、再起動時にFPGA内の論理回路を所望の状態にするための再アップデート処理が増加し、迅速に再起動することが困難になる。 As a result, the re-update process for bringing the logic circuit in the FPGA into a desired state at the time of restart increases, and it becomes difficult to restart quickly.
 本発明の目的は、再アップデート処理の増加を抑制することが可能な再構成可能デバイスおよびそれを用いた電子装置を提供することにある。 An object of the present invention is to provide a reconfigurable device capable of suppressing an increase in re-update processing and an electronic apparatus using the reconfigurable device.
 本発明の前記ならびにそのほかの目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
 本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。 Of the inventions disclosed in this application, the outline of typical ones will be briefly described as follows.
 再構成可能デバイスは、コンフィギュレーションデータを格納する第1メモリと、第1メモリに格納されたコンフィギュレーションデータに基づいて、それぞれの機能が設定される複数の回路ブロックとを備える。ここで、再構成可能デバイスは、第1メモリに格納されているコンフィギュレーションデータを部分的に書き換える書き換え制御部と、第1メモリに格納されているコンフィギュレーションデータを読み出す読み出し制御部と、読み出し制御部によって読み出されたコンフィギュレーションデータを、コンフィギュレーションの際に要求される回路構成データへ変換する変換部と、変換部による変換によって形成された回路構成データを、再構成可能デバイスに結合された第2メモリへ書き込みデータとして供給する書き込み制御部を備えている。 The reconfigurable device includes a first memory that stores configuration data, and a plurality of circuit blocks in which respective functions are set based on the configuration data stored in the first memory. Here, the reconfigurable device includes a rewrite control unit that partially rewrites configuration data stored in the first memory, a read control unit that reads configuration data stored in the first memory, and read control. The configuration data read by the unit is converted into circuit configuration data required at the time of configuration, and the circuit configuration data formed by the conversion by the conversion unit is coupled to the reconfigurable device. A write controller for supplying the second memory as write data is provided.
 第1メモリは揮発性メモリによって構成され、第2メモリは電気的に書き換え可能な不揮発性メモリによって構成される。第1メモリに格納されたコンフィギュレーションデータは、読み出され、回路構成データが第2メモリに書き込まれる。言い換えるならば、部分的に書き換えられたコンフィギュレーションデータは、電気的に書き換え可能な不揮発性メモリに退避され、再起動時には、退避されたデータによってコンフィギュレーションが行われることになる。これにより、起動時の再アップデート処理を抑制し、迅速な起動を実現することが可能となる。 The first memory is composed of a volatile memory, and the second memory is composed of an electrically rewritable nonvolatile memory. The configuration data stored in the first memory is read, and the circuit configuration data is written in the second memory. In other words, the partially rewritten configuration data is saved in an electrically rewritable nonvolatile memory, and the configuration is performed by the saved data at the time of restart. As a result, the re-update process at the time of activation can be suppressed, and quick activation can be realized.
 本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。 Among the inventions disclosed in the present application, the effects obtained by typical ones will be briefly described as follows.
 再アップデート処理の増加を抑制することが可能な再構成可能デバイスおよびそれを用いた電子装置を提供することができる。 It is possible to provide a reconfigurable device capable of suppressing an increase in re-update processing and an electronic apparatus using the same.
実施の形態1に係わる再構成可能デバイスおよびそれを用いた電子装置の構成を示すブロック図である。1 is a block diagram illustrating a configuration of a reconfigurable device according to Embodiment 1 and an electronic apparatus using the same. コンフィグROMに格納されているコンフィグデータを模式的に示す図である。It is a figure which shows typically the configuration data stored in the configuration ROM. 実施の形態1の変形例2に係わるコンフィグROMの構成を模式的に示す図である。6 is a diagram schematically showing a configuration of a configuration ROM according to a second modification of the first embodiment. FIG. 実施の形態2に係わる再構成可能デバイスおよびそれを用いた電子装置の構成を示すブロック図である。It is a block diagram which shows the structure of the reconfigurable device concerning Embodiment 2, and the electronic device using the same. 実施の形態2に係わるコンフィグROMの構成を模式的に示す図である。FIG. 6 is a diagram schematically showing a configuration of a config ROM according to the second embodiment. 実施の形態3に係わる再構成可能デバイスおよびそれを用いた電子装置の構成を示すブロック図である。It is a block diagram which shows the structure of the reconfigurable device concerning Embodiment 3, and the electronic apparatus using the same.
 以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部分には原則として同一の符号を付し、その繰り返しの説明は、原則として省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.
 以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。また、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことはいうまでもない。 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) are not necessarily indispensable unless otherwise specified and clearly considered 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)
 <電子装置の構成>
 図1は、実施の形態1に係わる再構成可能デバイスおよびそれを用いた電子装置の構成を示すブロック図である。同図において、APSは電子装置を示している。電子装置APSは、ユーザが所望する機能を実現するために複数のブロックを備えているが、図1には説明に必要なブロックのみが描かれ、他のブロックは省略されている。同図において、1は電子装置APSを構成するFPGAを示し、5は電子装置APSを構成する電気的に書き換え可能な不揮発性メモリ(不揮発性メモリ)を示している。また、100はサーバ装置を示し、13はサーバ装置100とFPGA1との間を接続するネットワークを示している。なお、サーバ装置100とネットワーク13も含めて、電子装置APSと見なしてもよい。
(Embodiment 1)
<Configuration of electronic device>
FIG. 1 is a block diagram illustrating a configuration of a reconfigurable device and an electronic apparatus using the device according to the first embodiment. In the figure, APS indicates an electronic device. The electronic device APS includes a plurality of blocks in order to realize a function desired by the user, but only blocks necessary for the description are illustrated in FIG. 1 and other blocks are omitted. In the figure, reference numeral 1 denotes an FPGA constituting the electronic device APS, and reference numeral 5 denotes an electrically rewritable nonvolatile memory (nonvolatile memory) constituting the electronic device APS. Reference numeral 100 denotes a server device, and reference numeral 13 denotes a network connecting the server device 100 and the FPGA 1. The server device 100 and the network 13 may be regarded as the electronic device APS.
 不揮発性メモリ5には、コンフィグデータが格納されるため、本明細書では、不揮発性メモリ5をコンフィグROM(Read Only Memory)5とも称する。 Since the configuration data is stored in the nonvolatile memory 5, the nonvolatile memory 5 is also referred to as a configuration ROM (Read Only Memory) 5 in this specification.
 サーバ装置100には、動的部分再構成の際に、FPGA1へ供給される部分更新データが格納されている。例えば、ユーザ要求に応じた機能を達成するための回路構成データまたは/および不具合の修正に応じた回路構成データが、作成され、サーバ装置100に格納されている。図1には、サーバ装置100に格納された部分更新データの例が、2A#1~2A#n、2B#1~2B#nおよび2C#1~2C#nとして示されている。サーバ装置100に格納された部分更新データは、ネットワーク13を経由してFPGA1に提供される。 The server device 100 stores partial update data supplied to the FPGA 1 during dynamic partial reconfiguration. For example, circuit configuration data for achieving a function according to a user request and / or circuit configuration data according to a defect correction is created and stored in the server device 100. In FIG. 1, examples of partial update data stored in the server apparatus 100 are shown as 2A # 1 to 2A # n, 2B # 1 to 2B # n, and 2C # 1 to 2C # n. The partial update data stored in the server device 100 is provided to the FPGA 1 via the network 13.
 部分更新データ2A#1~2A#n、2B#1~2B#nおよび2C#1~2C#nは、あとで説明する回路ブロック2A、2Bおよび2Cの部分更新データである。ここで、以下の説明で用いる部分更新データの表記方法を説明しておく、符合#の前の2文字が回路ブロックを特定し、符合#とそれに続く数字との組合せが機能を示している。例えば、部分更新データ2A#1を例にすると、この部分更新データは、回路ブロック2Aを特定し、再構成後の機能を#1にすることを意味している。他の部分更新データも同様である。 Partial update data 2A # 1 to 2A # n, 2B # 1 to 2B # n, and 2C # 1 to 2C # n are partial update data of circuit blocks 2A, 2B, and 2C described later. Here, the notation method of the partial update data used in the following description will be described. The two characters before the sign # specify the circuit block, and the combination of the sign # and the subsequent number indicates the function. For example, taking the partial update data 2A # 1 as an example, this partial update data means that the circuit block 2A is specified and the function after reconfiguration is set to # 1. The same applies to other partial update data.
 図1では、回路ブロック2A、2Bおよび2Cのそれぞれに対して、再構成後の機能を#1~#nに変更するn個の部分更新データがサーバ装置100に格納されていることになる。 In FIG. 1, for each of the circuit blocks 2A, 2B, and 2C, n pieces of partial update data for changing the function after reconfiguration to # 1 to #n are stored in the server device 100.
 次に、再構成可能デバイスであるFPGA1の構成を説明する。 Next, the configuration of the FPGA 1 that is a reconfigurable device will be described.
 <再構成可能デバイス(FPGA)の構成>
 FPGA1は、CRAM(コンフィギュレーションメモリ)3と、CRAM(第1メモリ)3に書き込まれたコンフィグデータに基づいて機能が設定されるユーザ論理部とによって構成されている。ここで、図1におけるユーザ論理部は、ユーザ回路部2と共通回路部4によって構成されており、それぞれの回路部における機能が、CRAM3に書き込まれたコンフィグデータに基づいて設定される。ここで、ユーザ回路部2については、ユーザ回路部2に対応するコンフィグデータを部分的に書き換えることにより、ユーザ回路部2の機能を変更することが可能となっている。すなわち、ユーザ回路部2は、部分的に機能を変更することが可能な書き換え可能領域である。
<Configuration of reconfigurable device (FPGA)>
The FPGA 1 includes a CRAM (configuration memory) 3 and a user logic unit whose functions are set based on configuration data written in the CRAM (first memory) 3. Here, the user logic unit in FIG. 1 includes a user circuit unit 2 and a common circuit unit 4, and functions in the respective circuit units are set based on configuration data written in the CRAM 3. Here, with respect to the user circuit unit 2, it is possible to change the function of the user circuit unit 2 by partially rewriting the configuration data corresponding to the user circuit unit 2. That is, the user circuit unit 2 is a rewritable area in which the function can be partially changed.
 ユーザ回路部2は、複数の回路ブロックを備えている。同図には代表として、3個の回路ブロック2A~2Cが示されている。この回路ブロック2A~2Cの機能は、この3個の回路ブロック2A~2Cに対応する回路構成データを、CRAM3へ書き込むことによって定められる。 The user circuit unit 2 includes a plurality of circuit blocks. In the figure, as a representative, three circuit blocks 2A to 2C are shown. The functions of the circuit blocks 2A to 2C are determined by writing circuit configuration data corresponding to the three circuit blocks 2A to 2C to the CRAM 3.
 この実施の形態1に係わるFPGAは、電子装置APSが稼働しているときに、動的に部分再構成を行うことが可能な機能を有している。すなわち、稼働中にFPGA1を停止させずに、回路ブロック2A~2Cに対応する回路構成データを書き換えることによって、回路ブロック2A~2Cの機能を変更することが可能となっている。例えば、回路ブロック2Aの機能を変更する場合、この回路ブロック2Aに対応する回路構成データとして、変更後の機能を表す回路構成データを作成し、CRAM3を部分的に書き換える。これにより、回路ブロック2Aの機能が変更されることになる。他の回路ブロックについても同様である。 The FPGA according to the first embodiment has a function capable of dynamically performing partial reconfiguration when the electronic device APS is operating. That is, the functions of the circuit blocks 2A to 2C can be changed by rewriting circuit configuration data corresponding to the circuit blocks 2A to 2C without stopping the FPGA 1 during operation. For example, when the function of the circuit block 2A is changed, circuit configuration data representing the changed function is created as the circuit configuration data corresponding to the circuit block 2A, and the CRAM 3 is partially rewritten. Thereby, the function of the circuit block 2A is changed. The same applies to other circuit blocks.
 これに対して、共通回路部4は、例えば動的部分再構成の機能を用いて、その機能を変更しない非書き換え領域である。 On the other hand, the common circuit unit 4 is a non-rewrite area in which the function is not changed by using, for example, a function of dynamic partial reconfiguration.
 ユーザ回路部2および共通回路部4のいずれもが、CRAM3に格納されているコンフィグデータによって機能が設定されることを模式的に示すために、図1ではCRAM3からユーザ回路部2および共通回路部4に設定信号DEFが供給されるように描かれている。 In order to schematically show that the functions of both the user circuit unit 2 and the common circuit unit 4 are set by the configuration data stored in the CRAM 3, in FIG. 1, the user circuit unit 2 and the common circuit unit are changed from the CRAM 3. 4, the setting signal DEF is drawn.
 共通回路部4は、フレームデータ抽出部41、CRAMリードライト制御部42、外部インタフェース部43、チェックサム生成部44、再構成データ生成部45、コンフィグROMリードライト制御部46、メモリインタフェース部47、セレクタ48、コンフィグデータライト部49およびタイマ部50を備えている。 The common circuit unit 4 includes a frame data extraction unit 41, a CRAM read / write control unit 42, an external interface unit 43, a checksum generation unit 44, a reconfiguration data generation unit 45, a configuration ROM read / write control unit 46, a memory interface unit 47, A selector 48, a configuration data write unit 49, and a timer unit 50 are provided.
 外部インタフェース部43は、ネットワーク13とCRAMリードライト制御部42との間に接続されており、ネットワーク13とCRAMリードライト制御部42との間のインタフェースを行う。動的部分再構成のとき、サーバ装置100が、再構成を行う回路ブロックに対する回路構成データを部分更新データとして、ネットワーク13を経由して、FPGA1に供給する。外部インタフェース部43は、供給された部分更新データ(回路構成データ)を受信し、受信した部分更新データをCRAMリードライト制御部42に供給する。 The external interface unit 43 is connected between the network 13 and the CRAM read / write control unit 42, and performs an interface between the network 13 and the CRAM read / write control unit 42. At the time of dynamic partial reconfiguration, the server apparatus 100 supplies circuit configuration data for the circuit block to be reconfigured as partial update data to the FPGA 1 via the network 13. The external interface unit 43 receives the supplied partial update data (circuit configuration data) and supplies the received partial update data to the CRAM read / write control unit 42.
 CRAMリードライト制御部42は、CRAM3、フレームデータ抽出部41およびタイマ部50に接続されている。このCRAMリードライト制御部は、複数の機能を実現することが可能なように一体的に構成された回路である。すなわち、回路としては、図1において実線で示したように1つのブロックと見なせるが、複数の機能を実現することが可能となっている。本明細書では、理解を容易にするために、実現される複数の機能のうち以下の説明で用いる機能を、便宜上、実線で示したCRAMリードライト制御部42内の破線ブロックで表し、CRAMリード制御部(読み出し制御部)42RおよびCRAMライト制御部(書き換え制御部)42Wとしている。CRAMリード制御部42Rは、CRAM3に格納されているデータの読み出しを行う制御部であり、CRAMライト制御部42Wは、CRAM3に対してデータの書込を行う制御部である。 The CRAM read / write control unit 42 is connected to the CRAM 3, the frame data extraction unit 41, and the timer unit 50. The CRAM read / write control unit is a circuit integrally configured so as to be able to realize a plurality of functions. That is, the circuit can be regarded as one block as shown by a solid line in FIG. 1, but a plurality of functions can be realized. In this specification, in order to facilitate understanding, functions used in the following description among a plurality of functions to be realized are represented by broken-line blocks in the CRAM read / write control unit 42 indicated by solid lines for convenience, and CRAM read A control unit (reading control unit) 42R and a CRAM write control unit (rewriting control unit) 42W are provided. The CRAM read control unit 42R is a control unit that reads data stored in the CRAM 3, and the CRAM write control unit 42W is a control unit that writes data to the CRAM 3.
 CRAMライト制御部42Wは、外部インタフェース部43から供給された部分更新データを、書き換えデータCWとしてCRAM3へ供給し、書込を実行する。これにより、外部インタフェース部43に受信された部分更新データは、CRAMライト制御部42Wによって、CRAM3に書き込まれる。特に制限されないが、受信した部分更新データ(回路構成データ)は、この部分更新データ(回路構成データ)に対応する回路ブロックを特定する特定情報が含まれている。そのため、CRAMライト制御部42Wは、CRAM3に格納されているコンフィグデータのうち、特定情報で特定された部分のみを、供給された部分更新データによって書き換える。 The CRAM write control unit 42W supplies the partial update data supplied from the external interface unit 43 to the CRAM 3 as rewrite data CW, and executes writing. Thereby, the partial update data received by the external interface unit 43 is written into the CRAM 3 by the CRAM write control unit 42W. Although not particularly limited, the received partial update data (circuit configuration data) includes specific information for specifying a circuit block corresponding to the partial update data (circuit configuration data). Therefore, the CRAM write control unit 42W rewrites only the part specified by the specific information in the configuration data stored in the CRAM 3 with the supplied partial update data.
 CRAMライト制御部42Wは、供給された部分更新データの書き込みが終了すると、部分書き込み完了の通知信号CCEを発行する。 When the supplied partial update data has been written, the CRAM write control unit 42W issues a partial write completion notification signal CCE.
 フレームデータ抽出部41は、通知信号CCEを受信すると、CRAMリード制御部42Rに対して読み出しを要求するCRAMリード要求信号CCRを発行する。 When the frame data extraction unit 41 receives the notification signal CCE, the frame data extraction unit 41 issues a CRAM read request signal CCR for requesting reading to the CRAM read control unit 42R.
 CRAMリード制御部42Rは、CRAMリード要求信号CCRを受信すると、CRAM3に格納されているコンフィグデータの全てを、順次、読み出しデータCRとして読み出す。すなわち、CRAM3は、部分更新データよって書き換えられた部分のデータと、書き換えられていない部分のデータの両方を、読み出しデータCRとして、順次、読み出す。言い換えるならば、CRAMリード制御部42Rによって読み出されたコンフィグデータには、CRAMライト制御部42Wによって書き換えられた部分のデータと書き換えられていない部分のデータが含まれていることになる。CRAMリード制御部42Rは、この読み出しデータCRを読み出しデータACOとして、フレームデータ抽出部41へ供給する。 When receiving the CRAM read request signal CCR, the CRAM read control unit 42R sequentially reads all the configuration data stored in the CRAM 3 as read data CR. That is, the CRAM 3 sequentially reads both the data of the portion rewritten by the partial update data and the data of the portion not rewritten as the read data CR. In other words, the configuration data read by the CRAM read control unit 42R includes the data that has been rewritten by the CRAM write control unit 42W and the data that has not been rewritten. The CRAM read control unit 42R supplies the read data CR as read data ACO to the frame data extraction unit 41.
 コンフィグデータは、複数のフレームで構成されている。フレームデータ抽出部41は、読み出しデータACOとして供給されたコンフィグデータから、順次、フレームデータを分割・抽出する。抽出されたフレームデータは、再構成データ生成部45に供給される。再構成データ生成部45は、供給されたフレームデータに、後で説明する制御コマンド情報をヘッダ情報として付加し、コンフィグデータの読み出しまたは書き込みの終了を示すリードライト終了コマンド情報をフッタ情報として付加し、チェックサム生成部44へ供給する。フッタ情報として付加されるリードライト終了コマンド情報は、コンフィグデータを読み出すときまたは書き込むときに、コンフィグデータの終了を示す情報である。 Config data consists of multiple frames. The frame data extraction unit 41 sequentially divides and extracts frame data from the configuration data supplied as read data ACO. The extracted frame data is supplied to the reconstruction data generation unit 45. The reconfiguration data generation unit 45 adds control command information described later as header information to the supplied frame data, and adds read / write end command information indicating the end of reading or writing of configuration data as footer information. , And supplied to the checksum generation unit 44. Read / write end command information added as footer information is information indicating the end of configuration data when reading or writing configuration data.
 また、再構成データ生成部45は、FPGA1に結合されているコンフィグROM5の種類に応じて、供給されているフレームデータを、回路構成データにフォーマット変換する。変換によって得られた回路構成データは、コンフィグROMリードライト制御部46へ供給される。このフォーマット変換の際に必要となるビットスワップ情報およびヘッダ情報やフッタ情報は、コンフィグROM5の種類によって決まるため、予め把握することが可能である。そのため、フォーマット変換に用いるこれらの情報は、予め再構成データ生成部45に設定しておくことが可能である。勿論、FPGA1内にレジスタ(図示しない)を設け、このレジスタにフォーマット変換に用いる情報を格納し、フォーマット変換の際に、このレジスタを参照するようにしてもよい。このフォーマット変換に用いる情報が、上記した制御コマンド情報となる。 Further, the reconfiguration data generation unit 45 converts the format of the supplied frame data into circuit configuration data according to the type of the configuration ROM 5 coupled to the FPGA 1. The circuit configuration data obtained by the conversion is supplied to the configuration ROM read / write control unit 46. Bit swap information, header information, and footer information necessary for this format conversion are determined by the type of the configuration ROM 5 and can be grasped in advance. Therefore, these pieces of information used for format conversion can be set in the reconstruction data generation unit 45 in advance. Of course, a register (not shown) may be provided in the FPGA 1, information used for format conversion may be stored in the register, and this register may be referred to when format conversion is performed. The information used for this format conversion is the control command information described above.
 チェックサム生成部(チェック情報生成部)44は、供給されたフレームデータごとに、フレームデータに基づいてチェックサムを算出し、算出したチェックサムを例えば累積して最終のチェックサム値(チェック情報)を求める。すなわち、フレームデータが供給されるごとに、チェックサム値が更新され、累積により最終のチェックサム値が求められる。CRAMリード制御部42Rで、CRAM3に格納されているコンフィグデータの読み出しが完了すると、チェックサム生成部44により求められているチェックサム値が、最終のチェックサム値となる。 The checksum generation unit (check information generation unit) 44 calculates a checksum for each supplied frame data based on the frame data, and accumulates the calculated checksum, for example, to obtain a final checksum value (check information). Ask for. That is, every time frame data is supplied, the checksum value is updated, and the final checksum value is obtained by accumulation. When the CRAM read control unit 42R finishes reading the configuration data stored in the CRAM 3, the checksum value obtained by the checksum generation unit 44 becomes the final checksum value.
 再構成データ生成部45において、制御コマンド情報およびリードライト終了コマンド情報が付加されているため、最終のチェックサム値には、コンフィギュレーションの際に必要となるヘッダ情報およびフッタ情報を含め、部分再構成された回路ブロックに係わるフレームデータのチェックサムと、再構成されていない回路ブロックに係わるフレームデーデータのチェックサムとが反映している。そのため、チェックサム生成部44は、部分再構成後の全てのフレームデータに基づいてチェックサム値を算出していることになる。 Since control command information and read / write end command information are added in the reconfiguration data generation unit 45, the final checksum value includes header information and footer information necessary for configuration, and includes partial reconfiguration. The checksum of the frame data related to the configured circuit block and the checksum of the frame data related to the circuit block not reconfigured are reflected. Therefore, the checksum generation unit 44 calculates a checksum value based on all the frame data after partial reconstruction.
 チェックサム生成部44で算出された最終のチェックサム値は、再構成データ生成部45から、コンフィグROMリードライト制御部46へ供給されるデータの末尾に付加されて、コンフィグROMリードライト制御部46へ供給される。なお、チェックサム生成部44の機能は、再構成データ生成部45が備えるようにしてもよい。 The final checksum value calculated by the checksum generation unit 44 is added to the end of the data supplied from the reconfiguration data generation unit 45 to the configuration ROM read / write control unit 46, and the configuration ROM read / write control unit 46. Supplied to. The function of the checksum generation unit 44 may be included in the reconfiguration data generation unit 45.
 回路構成データは、上記したように回路ブロックの機能を定めるために必要なデータであり、CRAM3に対してコンフィギュレーションを実施する際に要求されるデータである。CRAMリード制御部42Rによって読み出されたコンフィグデータは、フレームデータ抽出部41と再構成データ生成部45によって、コンフィグROM5の種類に応じたフォーマットの回路構成データに変換される。そのため、フレームデータ抽出部41と再構成データ生成部45によって、読み出されたコンフィグデータを、コンフィギュレーションの際に要求される回路構成データへ変換する変換部が構成されていると見なすことができる。 The circuit configuration data is data necessary for determining the function of the circuit block as described above, and is data required when the CRAM 3 is configured. The configuration data read by the CRAM read control unit 42R is converted into circuit configuration data in a format corresponding to the type of the configuration ROM 5 by the frame data extraction unit 41 and the reconfiguration data generation unit 45. Therefore, the frame data extraction unit 41 and the reconfiguration data generation unit 45 can be regarded as constituting a conversion unit that converts the read configuration data into circuit configuration data required at the time of configuration. .
 コンフィグROMリードライト制御部(書き込み制御部)46は、フォーマット変換により得られた回路構成データを、メモリインタフェース部47およびセレクタ48を介して、コンフィグROM5へ書き込みデータとして供給し、コンフィグROM5への書き込みを行う。このとき、コンフィグROMリードライト制御部46は、コンフィグROM5に格納されているコンフィグデータにおいて、ヘッダ情報およびフッタ情報を除き、回路構成データの部分を消去し、フォーマット変換により得られた回路構成データを新たに書き込む。なお、上記したヘッダ情報は、例えば従来コンフィグデータの生成時間やこのFPGA1の種類を特定する情報などである。 The configuration ROM read / write control unit (write control unit) 46 supplies circuit configuration data obtained by format conversion to the configuration ROM 5 as write data via the memory interface unit 47 and the selector 48, and writes to the configuration ROM 5. I do. At this time, the configuration ROM read / write control unit 46 deletes the circuit configuration data portion except the header information and the footer information in the configuration data stored in the configuration ROM 5, and uses the circuit configuration data obtained by the format conversion. Write a new one. The header information described above is, for example, information for specifying the generation time of the conventional configuration data or the type of the FPGA 1.
 また、コンフィグROMリードライト制御部46は、供給されている最終のチェックサム値によって、コンフィグROM5に格納されているコンフィグデータ内のチェックサムの部分を書き換える。 Also, the configuration ROM read / write control unit 46 rewrites the checksum portion in the configuration data stored in the configuration ROM 5 with the final checksum value supplied.
 セレクタ48およびコンフィグデータライト部49は、共通回路部4に配置されているが、その機能は、CRAM3に格納されているコンフィグデータによっては設定されず、次に述べる機能を有している。すなわち、セレクタ48は、FPGA1に、電源電圧Vdが投入されたとき、またはリセット信号RSTによってFPGA1がリセット状態にされ、リセット状態が解除されたとき、コンフィグROM5とコンフィグデータライト部49との間にデータ経路を形成し、これ以外のときには、メモリインタフェース部47とコンフィグROM5との間でデータ経路を形成する。 The selector 48 and the configuration data write unit 49 are arranged in the common circuit unit 4, but their functions are not set by the configuration data stored in the CRAM 3, but have the following functions. That is, when the power supply voltage Vd is input to the FPGA 1 or when the FPGA 1 is reset by the reset signal RST and released from the reset state, the selector 48 is connected between the configuration ROM 5 and the configuration data write unit 49. A data path is formed. Otherwise, a data path is formed between the memory interface unit 47 and the config ROM 5.
 これにより、最初に電源電圧Vdが投入されたとき、または遮断後に電源電圧Vdが再投入されたとき、あるいはリセット状態が解除されたときには、コンフィグROM5が、セレクタ48のデータ経路を介してコンフィグデータライト部49に結合されることになる。一方、電源電圧Vdが継続的にFPGA1に給電され、リセット信号RSTによってリセット状態にされていないとき、すなわち通常の動作状態のときには、メモリインタフェース部47が、セレクタ48のデータ経路を介してコンフィグROM5に結合されることになる。 Thus, when the power supply voltage Vd is first turned on, when the power supply voltage Vd is turned on again after being shut off, or when the reset state is released, the configuration ROM 5 receives the configuration data via the data path of the selector 48. The light unit 49 is coupled. On the other hand, when the power supply voltage Vd is continuously supplied to the FPGA 1 and is not reset by the reset signal RST, that is, in the normal operation state, the memory interface unit 47 uses the configuration ROM 5 via the data path of the selector 48. Will be combined.
 この実施の形態1において、CRAM3は、SRAMのような揮発性メモリにより構成され、コンフィグROMは、フラッシュメモリのような電気的に書き換え可能な不揮発性メモリによって構成されている。そのため、例えば電源電圧Vdの給電が行われていないと、CRAM3に格納されているコンフィグデータは消去または不定の状態となっている。同様に、最初に電源電圧Vdを給電する前も、CRAM3は消去状態または不定状態となっている。また、リセット状態にされた場合には、CRAM3は初期状態(消去状態)あるは不定状態となる。 In the first embodiment, the CRAM 3 is configured by a volatile memory such as SRAM, and the config ROM is configured by an electrically rewritable nonvolatile memory such as a flash memory. Therefore, for example, when the power supply voltage Vd is not supplied, the configuration data stored in the CRAM 3 is erased or indefinite. Similarly, the CRAM 3 is in the erased state or indefinite state before the power supply voltage Vd is first supplied. When the reset state is entered, the CRAM 3 is in an initial state (erased state) or indefinite state.
 電源電圧Vdが投入(再投入)されたとき、またはリセット状態が解除されたとき、コンフィグデータライト部(コンフィギュレーション書き込み制御部)49は、セレクタ48のデータ経路を介して、コンフィグROM5からコンフィグデータを読み出し、読み出したコンフィグデータをCRAM3に書き込む。これにより、最初の電源電圧Vdの投入時、電源電圧Vdの再投入時およびリセット解除時には、コンフィグROM5に格納されているコンフィグデータが、CRAM3に書き込まれ、ユーザ回路部2および共通回路部4のそれぞれの機能が設定されることになる。 When the power supply voltage Vd is turned on (returned on) or the reset state is released, the configuration data write unit (configuration write control unit) 49 receives configuration data from the configuration ROM 5 via the data path of the selector 48. And the read configuration data is written into the CRAM 3. As a result, when the power supply voltage Vd is turned on for the first time, when the power supply voltage Vd is turned on again, and when the reset is released, the configuration data stored in the configuration ROM 5 is written into the CRAM 3 and Each function will be set.
 電源電圧Vdが継続的に供給されている通常動作においては、メモリインタフェース部47とコンフィグROM5とがセレクタ48のデータ経路を介して結合されるため、上記したように、コンフィグROMリードライト制御部46からの回路構成データおよびチェックサム値が、メモリインタフェース部47およびセレクタ48のデータ経路を介して、書き込みデータとしてコンフィグROM5に供給され、コンフィグROM5に格納されているデータが書き換えられることになる。 In the normal operation in which the power supply voltage Vd is continuously supplied, the memory interface unit 47 and the configuration ROM 5 are coupled via the data path of the selector 48. Therefore, as described above, the configuration ROM read / write control unit 46 The circuit configuration data and the checksum value are supplied as write data to the configuration ROM 5 through the data path of the memory interface unit 47 and the selector 48, and the data stored in the configuration ROM 5 is rewritten.
 また、通常動作のときには、例えばユーザ回路部2内の回路ブロック2A~2Cが、コンフィグROMリードライト制御部47に対してアクセスを行うことにより、メモリインタフェース部47およびセレクタ48のデータ経路を介して、コンフィグROM5をアクセスすることが可能であり、FPGA1に結合されたコンフィグROM5を、データまたは/およびプログラムの格納等に用いることが可能である。 Further, during normal operation, for example, the circuit blocks 2A to 2C in the user circuit unit 2 access the configuration ROM read / write control unit 47, thereby allowing the memory interface unit 47 and the selector 48 to pass through the data path. The configuration ROM 5 can be accessed, and the configuration ROM 5 coupled to the FPGA 1 can be used for storing data or / and programs.
 タイマ部(時間管理部)50は、特に制限されないが、この実施の形態1においては、フレームデータ抽出部41が発行するCRAMリード要求信号CCRに応答して起動する。このタイマ部50は、起動すると、予め設定されている周期で起動信号を生成する。この起動信号は、CRAMリード制御部42Rに供給され、CRAMリード制御部42Rは起動信号に応答して周期的に動作する。このタイマ部50については、<変形例1>で説明するため、ここでは、これ以上説明しない。 The timer unit (time management unit) 50 is not particularly limited, but is activated in response to a CRAM read request signal CCR issued by the frame data extraction unit 41 in the first embodiment. When the timer unit 50 is activated, the timer unit 50 generates an activation signal at a preset period. This activation signal is supplied to the CRAM read control unit 42R, and the CRAM read control unit 42R operates periodically in response to the activation signal. The timer unit 50 will be described in <Modification 1> and will not be described here any further.
 <FPGA1および電子装置APSの動作>
 図2は、コンフィグROM5に格納されているコンフィグデータを模式的に示す図である。図2に示したコンフィグデータは、最初に電源電圧Vdを投入(FPGA1に給電)する前の状態(初期状態5A)を示している。コンフィグデータは、ヘッダ情報、ユーザ回路部2に関するユーザ回路部データ、共通回路部4に関する共通回路部データ、フッタ情報およびチェックサム値を有している。一方、コンフィグROM5は、所定のアドレス領域を有しており、この所定のアドレス領域は、この実施の形態1においては5個のアドレス領域に分割されている。すなわち、コンフィグROM5のアドレス領域は、図2の左側に示すように、ヘッダ領域AD1、ユーザ領域AD2、共通領域AD3、フッタ領域AD4およびチェック領域AD5に分割されている。ここで、ヘッダ情報はヘッダ領域AD1に、ユーザ回路部データはユーザ領域AD2に、共通回路部データは共通領域AD3に、フッタ情報はフッタ領域AD4に、チェックサム値はチェック領域AD5にそれぞれ格納されている。フッタ領域AD4に格納されているフッタ情報は、コンフィグデータに含まれている制御コマンドで、コンフィグデータを書き込む際の終了コマンドに該当するものである。
<Operation of FPGA 1 and Electronic Device APS>
FIG. 2 is a diagram schematically showing configuration data stored in the configuration ROM 5. The configuration data shown in FIG. 2 indicates a state (initial state 5A) before the power supply voltage Vd is first turned on (power is supplied to the FPGA 1). The configuration data includes header information, user circuit unit data related to the user circuit unit 2, common circuit unit data related to the common circuit unit 4, footer information, and checksum value. On the other hand, the config ROM 5 has a predetermined address area, and the predetermined address area is divided into five address areas in the first embodiment. That is, the address area of the config ROM 5 is divided into a header area AD1, a user area AD2, a common area AD3, a footer area AD4, and a check area AD5, as shown on the left side of FIG. Here, the header information is stored in the header area AD1, the user circuit section data is stored in the user area AD2, the common circuit section data is stored in the common area AD3, the footer information is stored in the footer area AD4, and the checksum value is stored in the check area AD5. ing. The footer information stored in the footer area AD4 is a control command included in the configuration data and corresponds to an end command when writing the configuration data.
 ユーザ回路部データは、ユーザ回路部2に配置されている回路ブロック2A、2Bおよび2Cのそれぞれに対応した回路構成データを有している。同様に、共通回路部データは、図2には示されていないが、図1の示したフレームデータ抽出部41、CRAMリードライト制御部42、外部インタフェース部43、チェックサム生成部44、再構成データ生成部45、コンフィグROMリードライト制御部46、メモリインタフェース部47およびタイマ部50に対応した回路構成データを有している。 The user circuit section data has circuit configuration data corresponding to each of the circuit blocks 2A, 2B, and 2C arranged in the user circuit section 2. Similarly, the common circuit unit data is not shown in FIG. 2, but the frame data extraction unit 41, the CRAM read / write control unit 42, the external interface unit 43, the checksum generation unit 44, and the reconfiguration shown in FIG. Circuit configuration data corresponding to the data generation unit 45, the configuration ROM read / write control unit 46, the memory interface unit 47, and the timer unit 50 is included.
 図2では、ユーザ領域AD2に、回路ブロック2A~2Cのそれぞれの機能が#0となるような回路構成データが格納されている。また、チェック領域AD5には、ユーザ回路部データと共通回路部データから算出されたチェックサム値が格納されている。 In FIG. 2, circuit configuration data in which each function of the circuit blocks 2A to 2C is # 0 is stored in the user area AD2. The check area AD5 stores a checksum value calculated from the user circuit portion data and the common circuit portion data.
 図2に示したコンフィグデータを有するコンフィグROM5が、FPGA1に結合され、電源電圧Vdが始めて投入されると、FPGA1は、コンフィグROM5に格納されているコンフィグデータに従って初期化される。すなわち、電源電圧Vdの投入により、セレクタ48がコンフィグデータライト部49とコンフィグROM5との間にデータ経路を形成する。これにより、コンフィグデータライト部49は、コンフィグROM5からコンフィグデータを読み出し、CRAM3へ書き込む。この書き込みによって、ユーザ回路部2内の回路ブロック2A~2Cのそれぞれは、機能#0を達成するように構成される。また、共通回路部4は、フレームデータ抽出部41、CRAMリードライト制御部42、外部インタフェース部43、チェックサム生成部44、再構成データ生成部45、コンフィグROMリードライト制御部46、メモリインタフェース部47およびタイマ部50が達成されるように構成される。 When the configuration ROM 5 having the configuration data shown in FIG. 2 is coupled to the FPGA 1 and the power supply voltage Vd is turned on for the first time, the FPGA 1 is initialized according to the configuration data stored in the configuration ROM 5. That is, when the power supply voltage Vd is turned on, the selector 48 forms a data path between the configuration data write unit 49 and the configuration ROM 5. Thereby, the configuration data write unit 49 reads the configuration data from the configuration ROM 5 and writes it to the CRAM 3. By this writing, each of the circuit blocks 2A to 2C in the user circuit unit 2 is configured to achieve the function # 0. The common circuit unit 4 includes a frame data extraction unit 41, a CRAM read / write control unit 42, an external interface unit 43, a checksum generation unit 44, a reconfiguration data generation unit 45, a configuration ROM read / write control unit 46, and a memory interface unit. 47 and timer unit 50 are configured to be achieved.
 CRAM3へ初期状態5Aのコンフィグデータの書き込みを開始することにより、コンフィギュレーションが開始し、初期状態5Aのコンフィグデータの書き込みが終了すると、コンフィギュレーションが完了する。特に制限されないが、コンフィグデータライト部49は、コンフィグROM5から供給されたユーザ回路部データと共通回路部データとに基づいてチェックサムを算出し、コンフィグROM5のチェック領域AD5から供給されたチェックサム値と比較を行い、コンフィグデータの正常性をチェックする。 The configuration is started by starting the writing of the configuration data in the initial state 5A to the CRAM 3, and the configuration is completed when the writing of the configuration data in the initial state 5A is completed. Although not particularly limited, the configuration data write unit 49 calculates the checksum based on the user circuit unit data and the common circuit unit data supplied from the configuration ROM 5, and the checksum value supplied from the check area AD5 of the configuration ROM 5 And check the normality of the configuration data.
 コンフィギュレーションが完了すると、セレクタ48はメモリインタフェース部47とコンフィグROMとの間にデータ経路を形成する。これにより、メモリインタフェース部47を介して、コンフィグROMリードライト制御部46から、コンフィグROM5に対してアクセスが可能となる。例えば、上記したように、ユーザ回路部2内の回路ブロックから、コンフィグROM5をアクセスすることが可能となる。また、後で説明するが、CRAM3に格納されている回路構成データを、コンフィグROM5へ退避することが可能となる。 When the configuration is completed, the selector 48 forms a data path between the memory interface unit 47 and the configuration ROM. As a result, the configuration ROM 5 can be accessed from the configuration ROM read / write control unit 46 via the memory interface unit 47. For example, as described above, the configuration ROM 5 can be accessed from a circuit block in the user circuit unit 2. As will be described later, the circuit configuration data stored in the CRAM 3 can be saved in the configuration ROM 5.
 なお、図2に示した初期状態5Aに基づいたコンフィギュレーションが完了することにより、図1に示すように、回路ブロック2A~2Cのそれぞれは、()内に示すように機能#0を達成するように構成されている。本明細書では、3個の回路ブロック2A~2Cを例にして説明しているが、個数は例示であり、これに限定されるものではない。 When the configuration based on the initial state 5A shown in FIG. 2 is completed, as shown in FIG. 1, each of the circuit blocks 2A to 2C achieves function # 0 as shown in (). It is configured as follows. In the present specification, the three circuit blocks 2A to 2C are described as an example, but the number is an example, and the present invention is not limited to this.
 この実施の形態1において、ユーザ回路部2は、稼働中に、FPGA1の動作を停止することなく、CRAM3に格納されているコンフィグデータを部分的に変更することによって動的に部分再構成を行うことが可能とされている。なお、共通回路部4については、動作途中で書き換えを行わない。 In the first embodiment, the user circuit unit 2 dynamically performs partial reconfiguration by partially changing the configuration data stored in the CRAM 3 without stopping the operation of the FPGA 1 during operation. It is possible. The common circuit unit 4 is not rewritten during the operation.
 <<動的部分再構成の動作>>
 ここでは、図1に示したように、サーバ装置100に動的部分再構成のための部分更新データが格納されており、サーバ装置100で部分更新データが管理されている場合を説明する。動的部分再構成を行う際に、サーバ装置100は、部分再構成の対象となる回路ブロックに対応した部分更新データを選択し、ネットワーク13を経由してFPGA1に供給する。しかしながら、これに限定されるものではない。例えば、ネットワークを経由せずに、更新データがFPGA1に供給されるようにしてもよい。
<< Dynamic Partial Reconfiguration Operation >>
Here, as shown in FIG. 1, a case where partial update data for dynamic partial reconfiguration is stored in the server apparatus 100 and the partial update data is managed by the server apparatus 100 will be described. When performing dynamic partial reconfiguration, the server apparatus 100 selects partial update data corresponding to a circuit block to be partially reconfigured, and supplies it to the FPGA 1 via the network 13. However, the present invention is not limited to this. For example, the update data may be supplied to the FPGA 1 without going through the network.
 動的部分再構成の動作において、回路ブロック2Aおよび2Cを、図2に示した初期状態5Aから変更し、回路ブロック2Bについては初期状態5Aを維持する場合を例にして、以下説明する。この場合、回路ブロック2Aは、機能が#0から#1へ変更され、回路ブロック2Cは、機能が#0から#3へ変更されるものとする。 In the operation of the dynamic partial reconfiguration, the circuit blocks 2A and 2C are changed from the initial state 5A shown in FIG. 2, and the circuit block 2B will be described as an example in which the initial state 5A is maintained. In this case, the function of the circuit block 2A is changed from # 0 to # 1, and the function of the circuit block 2C is changed from # 0 to # 3.
 サーバ装置100において、回路ブロック2Aの機能を#1へ変更する部分更新データ2A#1と、回路ブロック2Cの機能を#3へ変更する部分更新データ2C#3が選択され、選択された部分更新データ2A#1および2C#3が、ネットワーク13を経由して、FPGA1へ供給される。 In server apparatus 100, partial update data 2A # 1 for changing the function of circuit block 2A to # 1 and partial update data 2C # 3 for changing the function of circuit block 2C to # 3 are selected, and the selected partial update is performed. Data 2A # 1 and 2C # 3 are supplied to the FPGA 1 via the network 13.
 外部インタフェース部43は、供給された部分更新データ2A#1、2C#3を、CRAMリードライト制御部42に供給する。CRAMリードライト制御部42を構成するCRAMライト制御部42Wは、部分更新データ2A#1、2C#3を回路構成データとし、それぞれに含まれている特定情報に基づいて、CRAM3に格納されているコンフィグデータのうち、特定情報で特定された部分のみを、供給された部分更新データ(書き換えデータCW)2A#1、2C#3で書き換える。CRAM3は揮発性メモリで構成されているため、書き換えではなく、部分更新データ2A#1、2C#3を上書きしてもよい。 The external interface unit 43 supplies the supplied partial update data 2A # 1, 2C # 3 to the CRAM read / write control unit 42. The CRAM write control unit 42W that constitutes the CRAM read / write control unit 42 uses the partial update data 2A # 1 and 2C # 3 as circuit configuration data, and is stored in the CRAM 3 based on the specific information included therein. Of the configuration data, only the part specified by the specific information is rewritten with the supplied partial update data (rewrite data CW) 2A # 1, 2C # 3. Since the CRAM 3 is composed of a volatile memory, the partial update data 2A # 1 and 2C # 3 may be overwritten instead of rewriting.
 CRAMライト制御部42Wは、部分更新データでの書き換えが完了すると、完了通知CCEを発行する。この完了通知CCEに応答して、フレームデータ抽出部41がCRAMリード要求信号CCRを発行する。CRAMリード制御部42Rは、このCRAMリード要求信号CCRに応答して、CRAM3の読み出しを開始する。すなわち、CRAMリード制御部42Rは、CRAM3に格納されているコンフィグデータを、順次、読み出しデータCRとして読み出す。読み出しデータCRは、読み出しデータACOとしてCRAMリード制御部42Rからフレームデータ抽出部41へ供給され、フレームデータ抽出部41で抽出されたフレームデータは、再構成データ生成部45に供給される。 When the rewriting with the partial update data is completed, the CRAM write control unit 42W issues a completion notification CCE. In response to this completion notification CCE, the frame data extraction unit 41 issues a CRAM read request signal CCR. The CRAM read control unit 42R starts reading from the CRAM 3 in response to the CRAM read request signal CCR. That is, the CRAM read control unit 42R sequentially reads the configuration data stored in the CRAM 3 as the read data CR. The read data CR is supplied as read data ACO from the CRAM read control unit 42R to the frame data extraction unit 41, and the frame data extracted by the frame data extraction unit 41 is supplied to the reconstruction data generation unit 45.
 再構成データ生成部45は、フレームデータ抽出部61から順次供給されるフレームデータを、コンフィグROM5の種類に応じて、変換し、回路構成データを生成し、ヘッダ情報およびフッタ情報を付加して、チェックサム生成部44へ供給する。チェックサム生成部44では、CRAM3に格納されているコンフィグデータの読み出しが完了するまで、再構成データ生成部45から供給されているデータに基づいてチェックサムを算出し、順次累積(更新)し、最終のチェックサム値を求める。この求めた最終のチェックサム値を、再構成データ生成部45から供給されているデータの末尾に付加して、コンフィグROMリードライト制御部46へ供給する。 The reconfiguration data generation unit 45 converts the frame data sequentially supplied from the frame data extraction unit 61 according to the type of the configuration ROM 5, generates circuit configuration data, adds header information and footer information, This is supplied to the checksum generation unit 44. The checksum generation unit 44 calculates the checksum based on the data supplied from the reconfiguration data generation unit 45 until the reading of the configuration data stored in the CRAM 3 is completed, and sequentially accumulates (updates) Find the final checksum value. The final checksum value obtained is added to the end of the data supplied from the reconfiguration data generation unit 45 and supplied to the configuration ROM read / write control unit 46.
 このとき、FPGA1は通常動作しているため、セレクタ48はメモリインタフェース部47とコンフィグROM5との間にデータ経路を形成している。そのため、コンフィグROMリードライト制御部46は、供給された回路構成データを、メモリインタフェース部47およびセレクタ48を経由して、コンフィグROM5に書き込みデータとして供給し、ユーザ領域AD2および共通領域AD3を、順次、書き換える。このようにして、CRAM3に格納されているコンフィグデータの読み出しと、コンフィグROM5のユーザ領域AD2および共通領域AD3への書き換えと、チェックサム値の更新が、平行して繰り返し実行される。 At this time, since the FPGA 1 is normally operating, the selector 48 forms a data path between the memory interface unit 47 and the configuration ROM 5. Therefore, the configuration ROM read / write control unit 46 supplies the supplied circuit configuration data as write data to the configuration ROM 5 via the memory interface unit 47 and the selector 48, and sequentially sets the user area AD2 and the common area AD3. ,rewrite. In this manner, reading of the configuration data stored in the CRAM 3, rewriting of the configuration ROM 5 to the user area AD2 and the common area AD3, and updating of the checksum value are repeatedly executed in parallel.
 CRAM3に格納されていたコンフィグデータの読み出しが完了すると、チェックサム生成部44は、読み出しが完了したときまでに更新したチェックサム値を最終の更新値として、コンフィグROMリードライト制御部46へ供給する。コンフィグROMリードライト制御部46は、供給されたチェックサムの最終の更新値を、チェックサム値として、メモリインタフェース部47およびセレクタ48を介して、コンフィグROM5のチェック領域AD5に供給し、チェック領域AD5の値を書き換える。 When the reading of the configuration data stored in the CRAM 3 is completed, the checksum generation unit 44 supplies the checksum value updated by the time when the reading is completed to the configuration ROM read / write control unit 46 as the final update value. . The configuration ROM read / write control unit 46 supplies the final update value of the supplied checksum as a checksum value to the check area AD5 of the configuration ROM 5 via the memory interface unit 47 and the selector 48, and the check area AD5. Rewrite the value of.
 すなわち、図2において、コンフィグROM5のユーザ領域AD2および共通領域AD3は、再構成データ生成部45による変換によって生成された回路構成データによって書き換えられ、チェック領域AD5は、チェックサム生成部44によって算出された最終のチェックサム値により書き換えられることになる。この場合、ヘッダ領域AD1およびフッタ領域AD4に格納されているヘッダ情報およびフッタ情報は、書き換えられずに、維持されることになる。 That is, in FIG. 2, the user area AD2 and the common area AD3 of the configuration ROM 5 are rewritten by the circuit configuration data generated by the conversion by the reconfiguration data generation unit 45, and the check area AD5 is calculated by the checksum generation unit 44. The final checksum value is overwritten. In this case, the header information and footer information stored in the header area AD1 and the footer area AD4 are maintained without being rewritten.
 以上の動作で、動的部分再構成によってCRAM3に格納されたコンフィグデータが、コンフィグROM5に退避されることになる。この場合、コンフィグROM5に退避されたチェックサム値も、動的部分再構成後のコンフィグデータに対応したチェックサム値となっている。 With the above operation, the configuration data stored in the CRAM 3 by the dynamic partial reconfiguration is saved in the configuration ROM 5. In this case, the checksum value saved in the configuration ROM 5 is also a checksum value corresponding to the configuration data after dynamic partial reconfiguration.
 ここでは、退避動作でコンフィグROM5に退避されるデータに対してチェックサム値を算出し、コンフィグROM5に格納する例を示したが、これに限定されるものではない。例えば、チェックサムの代わりに、CRC(Cyclic Redundancy Check)のような誤り訂正符号用のデータを算出して、コンフィグROM5に格納するようにしてもよい。 Here, an example is shown in which the checksum value is calculated for the data saved in the config ROM 5 by the save operation and stored in the config ROM 5, but the present invention is not limited to this. For example, instead of the checksum, data for error correction code such as CRC (Cyclic Redundancy Check) may be calculated and stored in the configuration ROM 5.
 上記した退避動作で、コンフィグROM5に退避されたデータは、共通回路部4に対する回路構成データ(図2の共通回路部データ)と、部分再構成された回路ブロックを含むユーザ回路部2に対する回路構成データを含んでいる。ここで、ユーザ回路部2に対する回路構成データに注目すると、図2に示したユーザ回路部データにおいて、回路ブロック2Aは機能が#1に変更された状態の回路構成データが退避されており、回路ブロック2Cは機能が#3に変更された状態の回路構成データが退避されており、残りの回路ブロック(例えば2B)は初期状態の回路構成データが退避されていることになる。 The data saved in the configuration ROM 5 by the save operation described above is the circuit configuration data for the common circuit unit 4 (common circuit unit data in FIG. 2) and the circuit configuration for the user circuit unit 2 including the partially reconfigured circuit block. Contains data. Here, when attention is paid to the circuit configuration data for the user circuit unit 2, in the user circuit unit data shown in FIG. 2, the circuit block 2A in which the function is changed to # 1 is saved in the circuit block 2A. In the block 2C, the circuit configuration data whose function is changed to # 3 is saved, and in the remaining circuit blocks (for example, 2B), the circuit configuration data in the initial state is saved.
 もし、動的部分再構成後のCRAM3のコンフィグデータが、コンフィグROM5に退避されていない場合には、コンフィグROM5には、図2に示した初期状態5Aが格納されていることになる。そのため、例えば電源電圧Vdが遮断し、その後再投入した場合、CRAM3は、コンフィグROM5に格納されている初期状態5Aのコンフィグデータによってコンフィギュレーションされることになる。電源電圧Vdが遮断される直前の状態に戻すためには、再び、サーバ装置100に部分更新データ2A#1、2C#3を用意し、ネットワーク13を介してサーバ装置100から部分更新データ2A#1、2C#3をFPGA1に供給し、部分更新データによってCRAM3がコンフィギュレーションされるように動的部分再構成を行うことが要求される。すなわち、再アップデート処理(工数)が必要とされる。 If the configuration data of the CRAM 3 after dynamic partial reconfiguration is not saved in the configuration ROM 5, the initial state 5A shown in FIG. 2 is stored in the configuration ROM 5. Therefore, for example, when the power supply voltage Vd is cut off and then turned on again, the CRAM 3 is configured by the configuration data in the initial state 5A stored in the configuration ROM 5. In order to return to the state immediately before the power supply voltage Vd is cut off, the partial update data 2A # 1 and 2C # 3 are prepared again in the server device 100, and the partial update data 2A # is transmitted from the server device 100 via the network 13. 1 and 2C # 3 are supplied to the FPGA 1, and dynamic partial reconfiguration is required so that the CRAM 3 is configured by the partial update data. That is, re-update processing (man-hours) is required.
 これに対して、この実施の形態1においては、電源電圧Vdが再投入されると、セレクタ48が、コンフィグデータライト部49とコンフィグROM5との間にデータ経路を形成し、コンフィグROM5に格納されている退避されたデータがコンフィグデータとして、コンフィグデータライト部49に供給されることになる。これにより、退避されたコンフィグデータがCRAM3に書き込まれ、退避されたコンフィグデータによるコンフィギュレーションが行われることになる。その結果、再起動したときには、初期状態5Aへ戻らず、再アップデート処理を実施しなくても、電源電圧Vdが遮断する直前の状態へ戻すことが可能となる。すなわち、上記した例では、再アップデート処理を実施しなくても、回路ブロック2Aおよび2Cは動的部分再構成された状態(機能が#1および#3)に戻り、回路ブロック2Bは初期状態(機能が#0)に戻る。再アップデート処理を実施しなくて済むため、迅速に再起動を行うことが可能となる。 On the other hand, in the first embodiment, when the power supply voltage Vd is turned on again, the selector 48 forms a data path between the configuration data write unit 49 and the configuration ROM 5 and is stored in the configuration ROM 5. The saved data is supplied to the configuration data write unit 49 as configuration data. As a result, the saved configuration data is written into the CRAM 3, and the configuration is performed using the saved configuration data. As a result, when restarting, the state does not return to the initial state 5A, and it is possible to return to the state immediately before the power supply voltage Vd is cut off without performing the re-update process. That is, in the above-described example, the circuit blocks 2A and 2C return to the dynamic partial reconfiguration state (functions # 1 and # 3) without performing the re-update process, and the circuit block 2B is in the initial state ( The function returns to # 0). Since it is not necessary to perform the re-update process, it is possible to quickly restart.
 <変形例1>
 図1に示したタイマ部50は、フレームデータ抽出部41が、CRAMリード要求信号CCRを発行すると、タイマ部50に設定された周期に基づいて、周期的に起動信号を生成する。上記した退避動作が実施されたあと、動的部分再構成が実施されなくても、タイマ部50は起動信号を生成することになる。
<Modification 1>
1, when the frame data extraction unit 41 issues a CRAM read request signal CCR, the timer unit 50 periodically generates an activation signal based on the period set in the timer unit 50. After the above save operation is performed, the timer unit 50 generates an activation signal even if dynamic partial reconfiguration is not performed.
 CRAMリード制御部42Rは、タイマ部50の起動信号に同期して動作を開始する。これにより、CRAM3に格納されているコンフィグデータが読み出され、フレームデータ抽出部41と再構成データ生成部45によって構成された変換部により、順次、回路構成データに変換され、チェックサム生成部44によって、順次、チェックサム値が更新される。変換された回路構成データおよび最終のチェックサム値は、メモリインタフェース部47およびセレクタ48を介して、コンフィグROMリードライト制御部46により、コンフィグROM5へ書き込みデータとして供給され、コンフィグROM5に格納されていた回路構成データおよびチェックサム値は書き換えられる。 The CRAM read control unit 42R starts operation in synchronization with the start signal of the timer unit 50. As a result, the configuration data stored in the CRAM 3 is read out and sequentially converted into circuit configuration data by the conversion unit configured by the frame data extraction unit 41 and the reconfiguration data generation unit 45, and the checksum generation unit 44. As a result, the checksum value is sequentially updated. The converted circuit configuration data and the final checksum value are supplied as write data to the configuration ROM 5 by the configuration ROM read / write control unit 46 via the memory interface unit 47 and the selector 48 and stored in the configuration ROM 5. The circuit configuration data and the checksum value are rewritten.
 すなわち、変形例1においては、タイマ部50が形成する起動信号に同期して、周期的にCRAM3に格納されているコンフィグデータが、コンフィグROM3に退避されることになる。 That is, in the first modification, the configuration data periodically stored in the CRAM 3 is saved in the configuration ROM 3 in synchronization with the start signal formed by the timer unit 50.
 コンフィグROM5は、上記したようにフラッシュメモリによって構成されるが、例えば放射線等の影響で、格納しているデータが不所望に変化してしまうことが考えられる。この変形例1によれば、動的部分再構成が実施されなくても、CRAM3に格納されているコンフィグデータをコンフィグROM3へ供給し、書き換える動作が周期的に実施される。すなわち、退避動作が、周期的に実施される。これにより、コンフィグメモリROM5のデータが不所望に変化しても、適切なコンフィグデータが、コンフィグROM5に格納されているようにすることが可能である。その結果、再アップデート処理を実行しなくても、再起動時に、再起動前の状態に確実に戻すことが可能となる。 The config ROM 5 is configured by a flash memory as described above. For example, the stored data may be undesirably changed due to the influence of radiation or the like. According to the first modification, the configuration data stored in the CRAM 3 is supplied to the configuration ROM 3 and rewritten periodically even if dynamic partial reconfiguration is not performed. That is, the evacuation operation is performed periodically. Thereby, even if the data in the configuration memory ROM 5 changes undesirably, it is possible to store appropriate configuration data in the configuration ROM 5. As a result, even if the re-update process is not executed, it is possible to reliably return to the state before the restart at the time of restart.
 <変形例2>
 図3は、実施の形態1の変形例2に係わるコンフィグROM5の構成を模式的に示す図である。この変形例2においては、コンフィグROM5の有するアドレス領域が、複数のアドレス領域に分割される。図3では、アドレス領域5-1、5-2およびREGの3個に分割されている。
<Modification 2>
FIG. 3 is a diagram schematically showing a configuration of the config ROM 5 according to the second modification of the first embodiment. In the second modification, the address area of the config ROM 5 is divided into a plurality of address areas. In FIG. 3, it is divided into three address areas 5-1, 5-2 and REG.
 ここで、アドレス領域(第2領域)5-1には、図2に示した初期状態5Aのコンフィグデータ(所定のコンフィグデータ)が格納されている。アドレス領域5-2(第1領域)には、上記した退避動作のときに、メモリインタフェース部47から供給される回路構成データおよびチェックサム値が、格納される。すなわち、アドレス領域5-2にコンフィグデータが退避される。また、退避動作を実行するたびに、アドレス領域5-2は、CRAM3に格納されている回路構成データおよびチェックサム値によって書き換えられる。アドレス領域REGには、例えば退避動作を実行した履歴を格納する。 Here, the address area (second area) 5-1 stores the configuration data (predetermined configuration data) in the initial state 5A shown in FIG. In the address area 5-2 (first area), circuit configuration data and a checksum value supplied from the memory interface unit 47 during the above-described saving operation are stored. That is, the configuration data is saved in the address area 5-2. Each time the save operation is executed, the address area 5-2 is rewritten with the circuit configuration data and the checksum value stored in the CRAM 3. In the address area REG, for example, a history of executing the save operation is stored.
 再起動が発生した場合、セレクタ48を介して、コンフィグROM5のアドレス領域5-2に格納されている回路構成データおよびチェックサム値が、コンフィグデータライト部49に供給される。特に制限されないが、コンフィグデータライト部49は、供給された回路構成データからチェックサム値を算出し、アドレス領域5-2から供給されたチェックサム値との比較を実施する。 When the restart occurs, the circuit configuration data and the checksum value stored in the address area 5-2 of the configuration ROM 5 are supplied to the configuration data write unit 49 via the selector 48. Although not particularly limited, the configuration data write unit 49 calculates a checksum value from the supplied circuit configuration data, and compares it with the checksum value supplied from the address area 5-2.
 この比較の結果、チェックサム値が一致していれば、コンフィグデータライト部49は供給されている回路構成データをコンフィグデータとしてCRAM3に書き込む。すなわち、アドレス領域5-2に格納されているデータによってコンフィギュレーションが実施される。これに対して、チェックサム値が一致しない場合、コンフィグデータライト部49は、コンフィグROM5のアドレス領域5-1に格納されている初期状態5AのデータをコンフィグデータとしてCRAM3へ書き込む。すなわち、アドレス領域5-1に格納されている初期状態5Aでコンフィギュレーションを実施する。 As a result of this comparison, if the checksum values match, the configuration data write unit 49 writes the supplied circuit configuration data to the CRAM 3 as configuration data. In other words, the configuration is performed by the data stored in the address area 5-2. On the other hand, if the checksum values do not match, the configuration data write unit 49 writes the data in the initial state 5A stored in the address area 5-1 of the configuration ROM 5 to the CRAM 3 as configuration data. That is, the configuration is performed in the initial state 5A stored in the address area 5-1.
 これにより、再起動後に、ユーザ回路部2または/および共通回路部4が、動作不能となるのを防ぐことが可能となる。また、この場合、アドレス領域REGに格納されている履歴を把握することにより、再起動直前までに動的部分再構成によって再構成された回路ブロックと変更後の機能を把握することが可能である。 This makes it possible to prevent the user circuit unit 2 and / or the common circuit unit 4 from becoming inoperable after restarting. In this case, by grasping the history stored in the address area REG, it is possible to grasp the circuit block reconfigured by the dynamic partial reconfiguration and the function after the change until immediately before the restart. .
 チェックサムの代わりに、誤り訂正で用いるデータが、アドレス領域5-2に格納されている場合には、訂正不可能のときに、アドレス領域5-1に格納されている初期状態5Aを用いてコンフィギュレーションを実行すればよい。 If the data used for error correction is stored in the address area 5-2 instead of the checksum, the initial state 5A stored in the address area 5-1 is used when correction is impossible. You only need to execute the configuration.
 ここでは、コンフィグデータライト部49がアドレス領域5-2からの回路構成データに基づいてチェックサム値を算出し、比較を行う例を示したが、これに限定されるものではない。例えば、FPGA1の内部あるいは外部にプロセッサを設け、このプロセッサによって、チェックサムの算出および比較を行うようにしてもよい。 Here, an example is shown in which the configuration data write unit 49 calculates the checksum value based on the circuit configuration data from the address area 5-2 and performs comparison, but the configuration is not limited to this. For example, a processor may be provided inside or outside of the FPGA 1, and the checksum may be calculated and compared by this processor.
 (実施の形態2)
 図4は、実施の形態2に係わる再構成可能デバイスおよびそれを用いた電子装置の構成を示すブロック図である。図4は、図1に類似しており、ユーザ回路部2、CRAM3、ネットワーク13およびサーバ装置100は、図1と同じであるため、説明は省略する。同様に、共通回路部6において、フレームデータ抽出部61、チェックサム生成部64および再構成データ生成部65は、図1に示したフレームデータ抽出部41、チェックサム生成部44および再構成データ生成部45と同じであるため、説明は省略する。
(Embodiment 2)
FIG. 4 is a block diagram showing a configuration of a reconfigurable device according to the second embodiment and an electronic apparatus using the reconfigurable device. 4 is similar to FIG. 1, and the user circuit unit 2, the CRAM 3, the network 13, and the server device 100 are the same as those in FIG. Similarly, in the common circuit unit 6, the frame data extraction unit 61, the checksum generation unit 64, and the reconfiguration data generation unit 65 are the same as the frame data extraction unit 41, the checksum generation unit 44, and the reconfiguration data generation shown in FIG. Since it is the same as the unit 45, the description is omitted.
 外部インタフェース部63は、図1の外部インタフェース部43と類似している。図1に示した外部インタフェース部43は、ネットワーク13とCRAMリードライト制御部42との間に接続されていたが、外部インタフェース部63は、プロセッサ68とCRAMリードライト制御部62との間にも接続されている。また、外部インタフェース部63は、コンフィグROMリードライト制御部66にも接続されている。外部インタフェース部63は、ネットワーク13からの更新データまたはプロセッサ68からの指示をCRAMリードライト制御部62またはコンフィグROMリードライト制御部66へ供給する。これに合わせて、コンフィグROMリードライト制御部66は、図1のコンフィグROMリードライト制御部46に対して変更されている。 The external interface unit 63 is similar to the external interface unit 43 of FIG. The external interface unit 43 shown in FIG. 1 is connected between the network 13 and the CRAM read / write control unit 42, but the external interface unit 63 is also connected between the processor 68 and the CRAM read / write control unit 62. It is connected. The external interface unit 63 is also connected to a config ROM read / write control unit 66. The external interface unit 63 supplies update data from the network 13 or an instruction from the processor 68 to the CRAM read / write control unit 62 or the configuration ROM read / write control unit 66. In accordance with this, the configuration ROM read / write control unit 66 is changed from the configuration ROM read / write control unit 46 of FIG.
 CRAMリードライト制御部62は、図1のCRAMリードライト制御部42と類似しているが、このCRAMリードライト制御部62は、さらにメモリインタフェース部67と結合されている。これに合わせて、メモリインタフェース部67は、図1に示したメモリインタフェース部47から変更されている。 The CRAM read / write control unit 62 is similar to the CRAM read / write control unit 42 of FIG. 1, but the CRAM read / write control unit 62 is further coupled to the memory interface unit 67. In accordance with this, the memory interface unit 67 is changed from the memory interface unit 47 shown in FIG.
 この実施の形態2においても、実施の形態1と同様に、サーバ装置100にも、複数の部分更新データ2A#1~2A#n、2B#1~2B#n、2C#1~2C#nが格納されている。 Also in the second embodiment, as in the first embodiment, the server apparatus 100 also includes a plurality of partial update data 2A # 1 to 2A # n, 2B # 1 to 2B # n, 2C # 1 to 2C # n. Is stored.
 この実施の形態2においては、コンフィグROM7に、出荷時のコンフィグデータ7Bと初期状態7Aのコンフィグデータと複数の更新データが格納(登録)されている。図5は、実施の形態2に係わるコンフィグROMの構成を模式的に示す図である。コンフィグROM7のアドレス領域は、3個のアドレス領域に分割されている。すなわち、出荷時のコンフィグデータ7Bを格納するアドレス領域(以下、初期状態領域とも称する)と初期状態7Aを格納するアドレス領域(以下、全体更新領域または第4領域とも称する)と部分再構成用の部分更新データを格納するアドレス領域(以下、部分更新領域または第3領域とも称する)とを備えている。図5においては、最も下側に初期状態領域が配置され、ここに出荷時のコンフィグデータ7Bが格納されている。初期状態領域の上側に、全体更新領域が配置され、ここに初期状態7Aが格納されている。また、全体更新領域の上側に部分更新データを格納する部分更新領域が配置されている。図5の例では、部分更新領域に、複数の部分更新データ2A#1、2A#2、2B#1、2B#2、2C#1、2C#2が格納されている。 In the second embodiment, the configuration ROM 7 stores (registers) configuration data 7B at the time of shipment, configuration data in the initial state 7A, and a plurality of update data. FIG. 5 is a diagram schematically showing the configuration of the config ROM according to the second embodiment. The address area of the config ROM 7 is divided into three address areas. That is, an address area for storing the configuration data 7B at the time of shipment (hereinafter also referred to as an initial state area), an address area for storing the initial state 7A (hereinafter also referred to as an entire update area or a fourth area), and a partial reconfiguration An address area for storing partial update data (hereinafter also referred to as a partial update area or a third area) is provided. In FIG. 5, the initial state area is arranged on the lowermost side, and stores the configuration data 7B at the time of shipment. The entire update area is arranged above the initial state area, and the initial state 7A is stored here. Further, a partial update area for storing partial update data is arranged above the entire update area. In the example of FIG. 5, a plurality of partial update data 2A # 1, 2A # 2, 2B # 1, 2B # 2, 2C # 1, 2C # 2 are stored in the partial update area.
 全体更新領域に格納されている初期状態7Aは、図2に示した初期状態5Aと同様に、ヘッダ情報、ユーザ回路部データ、共通回路部データ、フッタ情報およびチェックサムを備えている。また、出荷時のコンフィグデータ7Bも、初期状態7Aと同様に、ヘッダ情報、ユーザ回路部データ、共通回路部データ、フッタ情報およびチェックサムを備えている。出荷時のコンフィグデータ7Bは、初期状態7Aと異なり、例えばFPGA1を出荷する際に、出荷するものが作成し、初期状態領域に格納する。全体更新領域に格納されているデータは、退避動作により更新されるが、初期状態領域のデータは更新されない。 The initial state 7A stored in the entire update area includes header information, user circuit portion data, common circuit portion data, footer information, and a checksum, similar to the initial state 5A shown in FIG. Similarly to the initial state 7A, the configuration data 7B at the time of shipment also includes header information, user circuit unit data, common circuit unit data, footer information, and a checksum. Unlike the initial state 7A, the configuration data 7B at the time of shipment is created, for example, when the FPGA 1 is shipped, and is stored in the initial state area. The data stored in the entire update area is updated by the save operation, but the data in the initial state area is not updated.
 FPGA1に電源電圧Vdが投入されたとき、初期状態7Aに基づいて、CRAM3はコンフィギュレーションされ、初期状態7Aによって規定される機能が、FPGA1によって達成される。 When the power supply voltage Vd is input to the FPGA 1, the CRAM 3 is configured based on the initial state 7A, and the function defined by the initial state 7A is achieved by the FPGA 1.
 この実施の形態2において、動的部分再構成は2種類の方法で実現することが可能となっている。すなわち、第1の部分再構成方法は、実施の形態1と同様に、サーバ装置100において、動的部分再構成の対象となる部分更新データを選択し、ネットワーク13を介して、FPGA1に供給する方法である。この場合、供給された部分更新データを、外部インタフェース部63が、CRAMリードライト制御部62へ供給し、CRAM3内のコンフィグデータが部分的に書き換えられることにより、動的部分再構成が行われる。 In the second embodiment, the dynamic partial reconfiguration can be realized by two kinds of methods. That is, in the first partial reconfiguration method, as in the first embodiment, the server apparatus 100 selects partial update data to be subjected to dynamic partial reconfiguration and supplies it to the FPGA 1 via the network 13. Is the method. In this case, the external interface unit 63 supplies the supplied partial update data to the CRAM read / write control unit 62, and the configuration data in the CRAM 3 is partially rewritten, whereby dynamic partial reconfiguration is performed.
 第2の部分再構成方法は、コンフィグROM7の部分更新領域に格納されている部分更新データによって、CRAM3内のコンフィグデータを部分的に変更する方法である。この場合には、プロセッサ67が、所望の部分更新データを選択する選択情報を形成し、形成した選択情報が、外部インタフェース部63およびコンフィグROMリードライト制御部66を介して、メモリインタフェース部67に与えられる。メモリインタフェース部67は、コンフィグROM7の部分更新領域に格納されている部分更新データから、選択情報に応じた部分更新データ(例えば2A#1、2B#2)を選択し、選択した部分更新データ2A#1、2B#2を、CRAMリードライト制御部62に供給する。CRAMリードライト制御部62は、CRAM3に格納されているコンフィグデータにおいて、部分更新データ2A#1、2B#2に対応する部分を、この部分更新データ2A#1、2B#2で書き換える。 The second partial reconfiguration method is a method in which configuration data in the CRAM 3 is partially changed by partial update data stored in the partial update area of the configuration ROM 7. In this case, the processor 67 forms selection information for selecting desired partial update data, and the formed selection information is sent to the memory interface unit 67 via the external interface unit 63 and the configuration ROM read / write control unit 66. Given. The memory interface unit 67 selects partial update data (for example, 2A # 1, 2B # 2) corresponding to the selection information from the partial update data stored in the partial update area of the configuration ROM 7, and selects the selected partial update data 2A. # 1 and # 2B2 are supplied to the CRAM read / write control unit 62. The CRAM read / write control unit 62 rewrites the part corresponding to the partial update data 2A # 1, 2B # 2 in the configuration data stored in the CRAM 3 with the partial update data 2A # 1, 2B # 2.
 実施の形態1で述べたように、CRAM3に格納されているコンフィグデータを変更することにより、ユーザ回路部2の機能を変更することができる。初期状態7Aが、図2に示した状態であった場合、上記した第2の方法で動的部分再構成を行うと、回路ブロック2A、2Bは機能が#0から#1、#2へ変更されることになる。 As described in the first embodiment, the function of the user circuit unit 2 can be changed by changing the configuration data stored in the CRAM 3. When the initial state 7A is the state shown in FIG. 2, when the dynamic partial reconfiguration is performed by the second method described above, the function of the circuit blocks 2A and 2B is changed from # 0 to # 1 and # 2. Will be.
 上記した第1の部分再構成方法および第2の部分再構成方法で変更されたCRAM3内のコンフィグデータは、実施の形態1で述べたのと同様にして、コンフィグROM7内の全体更新領域に供給され、全体更新領域に格納されているユーザ回路部データ、共通回路部データおよびチェックサムが、書き換えられ、退避されることになる。再起動時には、この全体更新領域に退避されている回路構成データがコンフィグデータとして、CRAM3に書き込まれて、コンフィギュレーションが実施される。そのため、再アップデート処理を行わなくても、再起動直前の状態へ戻すことが可能となり、迅速な再起動が可能となる。 The configuration data in the CRAM 3 changed by the first partial reconstruction method and the second partial reconstruction method described above is supplied to the entire update area in the configuration ROM 7 in the same manner as described in the first embodiment. The user circuit unit data, common circuit unit data, and checksum stored in the entire update area are rewritten and saved. At the time of restart, the circuit configuration data saved in the entire update area is written as configuration data into the CRAM 3 and configuration is performed. Therefore, it is possible to return to the state immediately before the restart without performing the re-update process, and a quick restart is possible.
 また、実施の形態2においては、ネットワーク13にFPGAが結合されていなくても、コンフィグROM7に格納されている部分更新データを用いて動的部分再構成を実施することが可能である。さらに、ネットワークに結合されている場合には、最新の部分更新データを用いた動的部分再構成が可能である。 In the second embodiment, dynamic partial reconfiguration can be performed using partial update data stored in the configuration ROM 7 even if the FPGA is not coupled to the network 13. Further, when coupled to a network, dynamic partial reconfiguration using the latest partial update data is possible.
 なお、ネットワーク13にFPGA1が結合されているときに、サーバ装置100に格納されている部分更新データを外部インタフェース部63、コンフィグROMリードライト制御部66およびメモリインタフェース部67を介して、コンフィグROM7内の部分更新領域に書き込むようにしてもよい。これにより、コンフィグROM7に格納されている部分更新データを増加させることも可能である。 When the FPGA 1 is coupled to the network 13, the partial update data stored in the server device 100 is transferred to the configuration ROM 7 via the external interface unit 63, the configuration ROM read / write control unit 66 and the memory interface unit 67. The partial update area may be written. Thereby, the partial update data stored in the config ROM 7 can be increased.
 また、図4では、プロセッサ68が、FPGA1の外部に設けられている場合が示されているが、プロセッサ68は、FPGA1に内蔵されていてもよい。また、図4では、図面が複雑になるのを避けるために、図1に示した電源電圧Vd、リセット信号RST、セレクタ48およびコンフィグデータライト部49は省略されている。 Further, FIG. 4 shows the case where the processor 68 is provided outside the FPGA 1, but the processor 68 may be built in the FPGA 1. In FIG. 4, the power supply voltage Vd, the reset signal RST, the selector 48, and the configuration data write unit 49 shown in FIG. 1 are omitted in order to avoid complication of the drawing.
 この実施の形態2において、再起動に伴うコンフィギュレーションも第2の部分再構成方法に伴うコンフィギュレーションも、コンフィギュレーションの一種であると見なすと、全体の再構成(再起動)の際には、コンフィグROM7の全体更新領域に格納されている回路構成データがコンフィギュレーションの際に用いられ、部分再構成を行う場合には、部分更新領域に格納されている回路構成データがコンフィギュレーションの際に用いられていると理解することができる。このように見なすと、CRAM3は、全体更新領域に格納されている回路構成データに対応するコンフィグデータまたは部分更新領域に格納されている回路構成データに対応するコンフィグデータによって、コンフィギュレーションされることになる。 In the second embodiment, when the configuration associated with the restart and the configuration associated with the second partial reconfiguration method are regarded as a kind of configuration, the entire reconfiguration (restart) is performed. The circuit configuration data stored in the entire update area of the configuration ROM 7 is used at the time of configuration. When performing partial reconfiguration, the circuit configuration data stored in the partial update area is used at the time of configuration. It can be understood that In view of this, the CRAM 3 is configured by configuration data corresponding to the circuit configuration data stored in the entire update area or configuration data corresponding to the circuit configuration data stored in the partial update area. Become.
 全体更新領域に格納されている回路構成データに基づいて、コンフィグレーションを実行するとき、実施の形態1の<変形例2>で説明したようにチェックサム値を用いたチェックを行い、チェックサム値が不一致の場合には、初期状態領域に格納されている出荷時のコンフィグデータ7Bを用いてコンフィギュレーションを実行する。同様に、部分更新領域に格納されている回路構成データに基づいてコンフィギュレーションを実行するときにも、実施の形態1の<変形例2>で説明したようにチェックサム値を用いたチェックを行い、チェックサム値が不一致の場合には、初期状態領域に格納されている出荷時のコンフィグデータ7Bを用いてコンフィギュレーションが実行する。これにより、確実にFPGA1が動作するようにすることが可能となる。 When configuration is executed based on the circuit configuration data stored in the entire update area, the checksum value is checked as described in <Modification 2> of the first embodiment, and the checksum value is checked. If they do not match, the configuration is executed using the configuration data 7B at the time of shipment stored in the initial state area. Similarly, when the configuration is executed based on the circuit configuration data stored in the partial update area, a check using the checksum value is performed as described in <Modification 2> of the first embodiment. If the checksum values do not match, the configuration is executed using the shipping configuration data 7B stored in the initial state area. This makes it possible to ensure that the FPGA 1 operates.
 (実施の形態3)
 図6は、実施の形態3に係わる再構成可能デバイスおよびそれを用いた電子装置の構成を示すブロック図である。この実施の形態3においては、電子装置APSは、複数のFPGAとコンフィグROM5とを備えている。同図では、複数のFPGA1-0~1-nが、シリーズにネットワーク13に接続されている。サーバ装置100およびネットワーク13は、図1と同じであるため、説明は省略する。
(Embodiment 3)
FIG. 6 is a block diagram showing a configuration of a reconfigurable device according to the third embodiment and an electronic apparatus using the reconfigurable device. In the third embodiment, the electronic device APS includes a plurality of FPGAs and a configuration ROM 5. In the figure, a plurality of FPGAs 1-0 to 1-n are connected to the network 13 in series. The server device 100 and the network 13 are the same as those in FIG.
 FPGA1-0~FPGA1-nは、互いに同じ構成を有しているため、ここではFPGA1-0を代表として説明する。FPGA1-0は、図1と同様に、ユーザ回路部2、CRAM3および共通回路部8を備えている。ここで、ユーザ回路部2およびCRAM3は、図1と同じであるので、説明を省略する。 Since the FPGA 1-0 to FPGA 1-n have the same configuration, the FPGA 1-0 will be described as a representative here. The FPGA 1-0 includes a user circuit unit 2, a CRAM 3, and a common circuit unit 8 as in FIG. Here, the user circuit unit 2 and the CRAM 3 are the same as those in FIG.
 共通回路部8は、外部インタフェース部83、CRAMリードライト制御部82、フレームデータ抽出部81、チェックサム生成部84、部分再構成データ生成部85およびコンフィグROMリードライト制御部86を備えている。ここで、CRAMリードライト制御部82、フレームデータ抽出部81、チェックサム生成部84、部分再構成データ生成部85およびコンフィグROMリードライト制御部86は、図1で示したCRAMリードライト制御部42、フレームデータ抽出部41、チェックサム生成部44、部分再構成データ生成部45およびコンフィグROMリードライト制御部46と同じであるので説明は省略する。 The common circuit unit 8 includes an external interface unit 83, a CRAM read / write control unit 82, a frame data extraction unit 81, a checksum generation unit 84, a partial reconfiguration data generation unit 85, and a configuration ROM read / write control unit 86. Here, the CRAM read / write control unit 82, the frame data extraction unit 81, the checksum generation unit 84, the partial reconfiguration data generation unit 85, and the configuration ROM read / write control unit 86 are the CRAM read / write control unit 42 shown in FIG. Since it is the same as the frame data extraction unit 41, the checksum generation unit 44, the partial reconfiguration data generation unit 45, and the configuration ROM read / write control unit 46, description thereof will be omitted.
 この実施の形態3では、コンフィグROMリードライト制御86の出力は、外部インタフェース部(インタフェース部)83に供給されている。外部インタフェース部83は、動的部分再構成のとき、端子83aに供給されている部分更新データをCRAMリードライト制御部82へ供給する。これにより、実施の形態1で述べたように、CRAM3に格納されているコンフィグデータの一部が、端子83aに供給されている部分更新データによって書き換えられ、FPGA1-0の機能が部分的に変更される。 In the third embodiment, the output of the configuration ROM read / write control 86 is supplied to the external interface unit (interface unit) 83. The external interface unit 83 supplies the partial update data supplied to the terminal 83a to the CRAM read / write control unit 82 during dynamic partial reconfiguration. Thereby, as described in the first embodiment, a part of the configuration data stored in the CRAM 3 is rewritten by the partial update data supplied to the terminal 83a, and the function of the FPGA 1-0 is partially changed. Is done.
 退避動作の際には、外部インタフェース部83は、コンフィグROMリードライト制御部86から出力される回路構成データおよびチェックサム値を端子83bから出力する。そのため、退避動作のときには、コンフィグROMリードライト制御部86から出力されている回路構成データとチェックサム値が、FPGA1-0の外部に出力されることになる。一方、起動時(再起動時を含む)には、外部インタフェース部83は、端子83bに供給されている外部からのデータを、CRAMリードライト制御部82と端子83aへ供給する。CRAMリードライト制御部82は、供給された外部のデータをCRAM3に書き込み、コンフィギュレーションを実行する。 In the save operation, the external interface unit 83 outputs the circuit configuration data and the checksum value output from the configuration ROM read / write control unit 86 from the terminal 83b. Therefore, during the save operation, the circuit configuration data and the checksum value output from the configuration ROM read / write control unit 86 are output to the outside of the FPGA 1-0. On the other hand, at the time of start-up (including the time of restart), the external interface unit 83 supplies external data supplied to the terminal 83b to the CRAM read / write control unit 82 and the terminal 83a. The CRAM read / write control unit 82 writes the supplied external data to the CRAM 3 and executes configuration.
 FPGA1-0(第2再構成可能デバイス)の端子83aは、ネットワーク13に接続され、端子83bは、後段のFPGA1-1(第1再構成可能デバイス)の端子83aに接続されている。後段のFPGA1-1の端子83bは、図示しない後段のFPGA1-2の端子83aに接続される。以下、同様にして、端子83bが、後段のFPGAの端子83aに接続されている。また、最終段のFPGA1-nの端子83bは、コンフィグROM5に接続されている。 The terminal 83a of the FPGA 1-0 (second reconfigurable device) is connected to the network 13, and the terminal 83b is connected to the terminal 83a of the subsequent FPGA 1-1 (first reconfigurable device). The terminal 83b of the rear stage FPGA 1-1 is connected to a terminal 83a of the rear stage FPGA 1-2 (not shown). In the same manner, the terminal 83b is connected to the terminal 83a of the subsequent FPGA. The terminal 83b of the final stage FPGA 1-n is connected to the config ROM 5.
 これにより、初段のFPGA1-0において動的部分再構成を実施されると、実施の形態1と同様に、退避動作が行われる。この実施の形態3では、退避動作で生成された回路構成データおよびチェックサム値は、後段のFPGA1-1に供給される。後段のFPGA1-1では、供給された回路構成データに基づいて、CRAMリードライト制御部82がCRAM3に書き込みを行い、コンフィギュレーションが実行される。このFPGA1-1においても、CRAM3への書き込みが完了すると、退避動作が実行され、退避動作で生成された回路構成データとチェックサム値は、後段のFPGA1-2(図示しない)へ供給されることになる。このようにして、FPGA1-1~1-n内のCRAM3が、順次コンフィギュレーションされ、FPGA1-1~1-nは、FPGA1-0をコピーした状態となる。すなわち、所定段のFPGA内のCRAM3に格納されたコンフィグデータが、後段のFPGA内のCRAM3に直接的に書き込まれることになる。 Thus, when dynamic partial reconfiguration is performed in the first-stage FPGA 1-0, the save operation is performed as in the first embodiment. In the third embodiment, the circuit configuration data and the checksum value generated by the save operation are supplied to the subsequent FPGA 1-1. In the subsequent FPGA 1-1, the CRAM read / write control unit 82 writes to the CRAM 3 based on the supplied circuit configuration data, and the configuration is executed. Also in the FPGA 1-1, when the writing to the CRAM 3 is completed, the save operation is executed, and the circuit configuration data and the checksum value generated by the save operation are supplied to the subsequent FPGA 1-2 (not shown). become. In this way, the CRAMs 3 in the FPGAs 1-1 to 1-n are sequentially configured, and the FPGAs 1-1 to 1-n are in a state where the FPGA 1-0 is copied. That is, the configuration data stored in the CRAM 3 in the FPGA at the predetermined stage is directly written into the CRAM 3 in the FPGA at the subsequent stage.
 また、最終段のFPGA1-nから出力された回路構成データおよびチェックサム値は、実施の形態1と同様に、コンフィグROM5に供給され、コンフィグROM5は書き換えられる。 Further, the circuit configuration data and the checksum value output from the FPGA-n at the final stage are supplied to the configuration ROM 5 as in the first embodiment, and the configuration ROM 5 is rewritten.
 再起動時には、コンフィグROM5に退避されていた回路構成データおよびチェックサム値が、最終段のFPGA1-n内の外部インタフェース83を介して、FPGA1-n内のCRAMリードライト制御部82によって、CRAM3に書き込まれ、FGPA1-n内のCRAM3がコンフィギュレーションされる。また。最終段のFPGA1-n内の外部インタフェース部83の端子83aから前段のFPGAの端子83bに回路構成データとチェックサム値が出力されるため、この前段のFPGAにおいても、供給された回路構成データに基づいてコンフィギュレーションが実行されることになる。すなわち、起動時(再起動時)には、コンフィグROM5に格納されていたコンフィグデータが、後段から前段に向けて供給され、それぞれのFPGAにおいてCRAM3のコンフィギュレーションが実行されることになる。言い換えるならば、起動時(再起動時)には隣接して接続されたFPGAから、起動(再起動)前の最新のコンフィグデータが供給され、それによってFPGA内のCRAM3がコンフィギュレーションされることになる。そのため、再アップデート処理を行わなくても、最新のコンフィグデータによってコンフィギュレーションされた複数のFPGAを取得することが可能となる。再アップデート処理の要求されないため、再起動を迅速に行うことが可能となる。 At the time of restart, the circuit configuration data and checksum value saved in the configuration ROM 5 are transferred to the CRAM 3 by the CRAM read / write control unit 82 in the FPGA 1-n via the external interface 83 in the FPGA 1-n at the final stage. Written and CRAM 3 in FGPA1-n is configured. Also. Since the circuit configuration data and the checksum value are output from the terminal 83a of the external interface unit 83 in the final-stage FPGA 1-n to the terminal 83b of the previous-stage FPGA, the supplied circuit-configuration data is also transferred to the previous-stage FPGA. Configuration will be executed based on this. That is, at the time of start-up (restart-up), the configuration data stored in the config ROM 5 is supplied from the subsequent stage to the previous stage, and the configuration of the CRAM 3 is executed in each FPGA. In other words, the latest configuration data before activation (reactivation) is supplied from the adjacently connected FPGA at the time of activation (reactivation), whereby the CRAM 3 in the FPGA is configured. Become. Therefore, it is possible to acquire a plurality of FPGAs configured with the latest configuration data without performing re-update processing. Since the re-update process is not required, the restart can be performed quickly.
 再起動時に、外部インタフェース部83が、端子83bに供給された回路構成データを端子83aへ供給する例を説明したが、再起動後の退避動作でコンフィグROMリードライト制御部86が生成する回路構成データを、外部インタフェース部83が、端子83aを介して隣接して接続されたFPGAの端子b3bに供給するようにしてもよい。 Although an example has been described in which the external interface unit 83 supplies the circuit configuration data supplied to the terminal 83b to the terminal 83a at the time of restart, the circuit configuration generated by the configuration ROM read / write control unit 86 in the save operation after the restart The data may be supplied from the external interface unit 83 to the terminal b3b of the FPGA connected adjacently via the terminal 83a.
 なお、図6では、図面が複雑になるのを避けるために、電源電圧Vddおよびリセット信号RSTは省略されている。 In FIG. 6, the power supply voltage Vdd and the reset signal RST are omitted in order to avoid the complexity of the drawing.
 以上本発明者によってなされた発明を、前記実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば実施の形態1~3は、相互に組み合わせてもよい。 Although the invention made by the present inventor has been specifically described based on the above-described embodiment, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention. For example, Embodiments 1 to 3 may be combined with each other.
1、1-0~1-n FPGA
2 ユーザ回路部
3 コンフィギュレーションメモリ
4、6、8 共通回路部
5、7 コンフィグROM
13 ネットワーク
100 サーバ装置
APS 電子装置
1, 1-0 to 1-n FPGA
2 User circuit section 3 Configuration memory 4, 6, 8 Common circuit section 5, 7 Config ROM
13 Network 100 Server device APS Electronic device

Claims (11)

  1.  コンフィギュレーションデータを格納する第1メモリと、前記第1メモリに格納されたコンフィギュレーションデータに基づいて、それぞれの機能が設定される複数の回路ブロックとを備えた再構成可能デバイスであって、
     前記再構成可能デバイスは、
     前記第1メモリに格納されているコンフィギュレーションデータを部分的に書き換える書き換え制御部と、
     前記第1メモリに格納されているコンフィギュレーションデータを読み出す読み出し制御部と、
     前記読み出し制御部によって読み出されたコンフィギュレーションデータを、コンフィギュレーションの際に要求される回路構成データへ変換する変換部と、
     前記変換部による変換によって形成された回路構成データを、前記再構成可能デバイスに結合された第2メモリへ書き込みデータとして供給する書き込み制御部と、
     を備える、再構成可能デバイス。
    A reconfigurable device comprising: a first memory that stores configuration data; and a plurality of circuit blocks in which respective functions are set based on the configuration data stored in the first memory,
    The reconfigurable device is:
    A rewrite control unit for partially rewriting configuration data stored in the first memory;
    A read control unit for reading configuration data stored in the first memory;
    A conversion unit that converts the configuration data read by the read control unit into circuit configuration data required at the time of configuration;
    A write control unit for supplying circuit configuration data formed by the conversion by the conversion unit as write data to a second memory coupled to the reconfigurable device;
    A reconfigurable device comprising:
  2.  請求項1に記載の再構成可能デバイスにおいて、
     前記読み出し制御部によって読み出されたコンフィギュレーションデータは、前記書き換え制御部によって書き換えられた部分のデータと、書き換えられていない部分のデータを含んでいる、再構成可能デバイス。
    The reconfigurable device of claim 1, wherein
    The reconfigurable device, wherein the configuration data read by the read control unit includes data of a portion rewritten by the rewrite control unit and data of a portion not rewritten.
  3.  請求項2に記載の再構成可能デバイスにおいて、
     前記再構成可能デバイスは、前記読み出し制御部によって読み出されたコンフィギュレーションデータに基づいて、チェック情報を生成するチェック情報生成部を備え、
     前記書き込み制御部から前記第2メモリへ供給される書き込みデータは、前記回路構成データと、前記チェック情報生成部によって生成されたチェック情報とを備える、再構成可能デバイス。
    The reconfigurable device of claim 2, wherein
    The reconfigurable device includes a check information generation unit that generates check information based on configuration data read by the read control unit,
    The reconfigurable device, wherein the write data supplied from the write control unit to the second memory includes the circuit configuration data and check information generated by the check information generation unit.
  4.  請求項1から3のいずれか一つに記載の再構成可能デバイスにおいて、
     前記再構成可能デバイスは、周期的な起動信号を生成する時間管理部を備え、
     前記時間管理部が生成する起動信号に同期して、前記読み出し制御部は前記第1メモリからコンフィギュレーションデータを読み出し、前記変換部はコンフィギュレーションデータを回路構成データに変換し、前記書き込み制御部は変換された回路構成データを前記第2メモリへ書き込みデータとして供給する、再構成可能デバイス。
    The reconfigurable device according to any one of claims 1 to 3,
    The reconfigurable device includes a time management unit that generates a periodic activation signal;
    In synchronization with the activation signal generated by the time management unit, the read control unit reads configuration data from the first memory, the conversion unit converts configuration data into circuit configuration data, and the write control unit A reconfigurable device that supplies converted circuit configuration data to the second memory as write data.
  5.  請求項2に記載の再構成可能デバイスにおいて、
     前記再構成可能デバイスは、前記コンフィギュレーションのとき、前記第2メモリに格納されている回路情報データを含むコンフィギュレーションデータが供給され、供給されたコンフィギュレーションデータを、前記第1メモリへ書き込むコンフィギュレーション書き込み制御部を備える、再構成可能デバイス。
    The reconfigurable device of claim 2, wherein
    In the configuration, the reconfigurable device is supplied with configuration data including circuit information data stored in the second memory, and writes the supplied configuration data to the first memory. A reconfigurable device comprising a write controller.
  6.  請求項5に記載の再構成可能デバイスにおいて、
     前記第1メモリは、コンフィギュレーションデータが書き込まれる揮発性メモリを備え、前記第2メモリは、電気的に書き換え可能な不揮発性メモリを備える、再構成可能デバイス。
    The reconfigurable device of claim 5, wherein
    The reconfigurable device, wherein the first memory includes a volatile memory to which configuration data is written, and the second memory includes an electrically rewritable nonvolatile memory.
  7.  電気的に書き換え可能な不揮発性メモリと前記電気的に書き換え可能な不揮発性メモリに結合された第1再構成可能デバイスとを備えた電子装置であって、
     前記第1再構成可能デバイスは、
      コンフィギュレーションデータを格納する揮発性メモリと、
      前記揮発性メモリに格納されたコンフィギュレーションデータに基づいて、それぞれの機能が設定される複数の回路ブロックと、
      前記揮発性メモリに格納されているコンフィギュレーションデータを部分的に書き換える書き換え制御部と、
      前記揮発性メモリに格納されているコンフィギュレーションデータを読み出す読み出し制御部と、
      前記読み出し制御部によって読み出されたコンフィギュレーションデータを、コンフィギュレーションの際に要求される回路構成データへ変換する変換部と、
      前記変換部による変換によって形成された回路構成データを、前記電気的に書き換え可能な不揮発性メモリへ書き込みデータとして供給する書き込み制御部と、
     を備える、電子装置。
    An electronic device comprising an electrically rewritable nonvolatile memory and a first reconfigurable device coupled to the electrically rewritable nonvolatile memory,
    The first reconfigurable device is
    Volatile memory for storing configuration data;
    A plurality of circuit blocks each function is set based on the configuration data stored in the volatile memory;
    A rewrite control unit for partially rewriting configuration data stored in the volatile memory;
    A read control unit for reading configuration data stored in the volatile memory;
    A conversion unit that converts the configuration data read by the read control unit into circuit configuration data required at the time of configuration;
    A write control unit for supplying circuit configuration data formed by the conversion by the conversion unit as write data to the electrically rewritable nonvolatile memory;
    An electronic device comprising:
  8.  請求項7に記載の電子装置において、
     前記読み出し制御部によって読み出されたコンフィギュレーションデータは、前記書き換え制御部によって書き換えられた部分のデータと、書き換えられていない部分のデータを含んでいる、電子装置。
    The electronic device according to claim 7.
    The configuration data read by the read control unit includes electronic data that has been rewritten by the rewrite control unit and data that has not been rewritten.
  9.  請求項8に記載の電子装置において、
     前記第1再構成可能デバイスは、前記読み出し制御部によって読み出されたコンフィギュレーションデータに基づいて、チェック情報を生成するチェック情報生成部を備え、前記書き込み制御部から前記電気的に書き換え可能な不揮発性メモリへ供給される書き込みデータは、前記回路構成データと、前記チェック情報生成部によって生成されたチェック情報とを備え、
     前記電気的に書き換え可能な不揮発性メモリは、前記書き込み制御部から供給される書き込みデータを格納する第1領域と、所定のコンフィギュレーションデータを格納した第2領域を備え、
     前記第1再構成可能デバイスは、コンフィギュレーションのとき、前記電気的に書き換え可能な不揮発性メモリの第1領域から書き込みデータを読み出し、読み出した書き込みデータに含まれる回路構成データから求めたチェック情報が、前記読み出した書き込みデータに含まれるチェック情報と一致しないとき、前記電気的に書き換え可能な不揮発性メモリの第2領域に格納されているコンフィギュレーションデータを、前記揮発性メモリに書き込む、電子装置。
    The electronic device according to claim 8.
    The first reconfigurable device includes a check information generation unit that generates check information based on configuration data read by the read control unit, and the electrically rewritable nonvolatile memory from the write control unit The write data supplied to the memory includes the circuit configuration data and the check information generated by the check information generation unit,
    The electrically rewritable nonvolatile memory includes a first area for storing write data supplied from the write control unit, and a second area for storing predetermined configuration data.
    In the configuration, the first reconfigurable device reads write data from the first area of the electrically rewritable nonvolatile memory, and check information obtained from circuit configuration data included in the read write data An electronic device that writes configuration data stored in a second area of the electrically rewritable non-volatile memory to the volatile memory when the check information does not match the check information included in the read write data.
  10.  請求項8に記載の電子装置において、
     前記電気的に書き換え可能な不揮発性メモリは、前記回路ブロックに対応した回路構成データを格納する第3領域と、前記書き込み制御部から供給された書き込みデータを格納する第4領域とを備え、
     前記第1再構成可能デバイスは、コンフィギュレーションのとき、前記第3領域に格納されている回路構成データに対応するコンフィギュレーションデータまたは前記第4領域に格納されている書き込みデータに対応するコンフィギュレーションデータを、前記揮発性メモリに書き込む、
     電子装置。
    The electronic device according to claim 8.
    The electrically rewritable nonvolatile memory includes a third area for storing circuit configuration data corresponding to the circuit block, and a fourth area for storing write data supplied from the write control unit,
    When the first reconfigurable device is configured, the configuration data corresponding to the circuit configuration data stored in the third area or the configuration data corresponding to the write data stored in the fourth area To the volatile memory,
    Electronic equipment.
  11.  請求項8に記載の電子装置において、
     前記電子装置は、
     前記第1再構成可能デバイスに結合された第2再構成可能デバイスを備え、
     前記第2再構成可能デバイスは、
      コンフィギュレーションデータを格納する揮発性メモリと、
      前記揮発性メモリに格納されたコンフィギュレーションデータに基づいて、それぞれの機能が設定される複数の回路ブロックと、
      前記揮発性メモリに格納されているコンフィギュレーションデータを部分的に書き換える書き換え制御部と、
      前記第2揮発性メモリに格納されているコンフィギュレーションデータを読み出す読み出し制御部と、
      前記読み出し制御部によって読み出されたコンフィギュレーションデータを、コンフィギュレーションの際に要求される回路構成データへ変換する変換部と、
      前記変換部による変換によって形成された回路構成データを、前記第1再構成可能デバイスの前記揮発性メモリに書き込まれるデータとして出力するインタフェース部と、
     を備える、電子装置。
    The electronic device according to claim 8.
    The electronic device is
    A second reconfigurable device coupled to the first reconfigurable device;
    The second reconfigurable device is
    Volatile memory for storing configuration data;
    A plurality of circuit blocks each function is set based on the configuration data stored in the volatile memory;
    A rewrite control unit for partially rewriting configuration data stored in the volatile memory;
    A read control unit for reading configuration data stored in the second volatile memory;
    A conversion unit that converts the configuration data read by the read control unit into circuit configuration data required at the time of configuration;
    An interface unit that outputs circuit configuration data formed by the conversion by the conversion unit as data to be written to the volatile memory of the first reconfigurable device;
    An electronic device comprising:
PCT/JP2017/000430 2017-01-10 2017-01-10 Reconfigurable device and electronic device using same WO2018131065A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/000430 WO2018131065A1 (en) 2017-01-10 2017-01-10 Reconfigurable device and electronic device using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/000430 WO2018131065A1 (en) 2017-01-10 2017-01-10 Reconfigurable device and electronic device using same

Publications (1)

Publication Number Publication Date
WO2018131065A1 true WO2018131065A1 (en) 2018-07-19

Family

ID=62840593

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/000430 WO2018131065A1 (en) 2017-01-10 2017-01-10 Reconfigurable device and electronic device using same

Country Status (1)

Country Link
WO (1) WO2018131065A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019116984A1 (en) * 2017-12-12 2019-06-20 日本電気株式会社 Fpga system, partial reconfiguration execution method, and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325118A (en) * 2000-05-15 2001-11-22 Ricoh Co Ltd Electronic equipment provided with programmable logic, method for upgrading programmable logic and recording medium to be used for the method
JP2004021867A (en) * 2002-06-20 2004-01-22 Nec Engineering Ltd Information processing system
JP2006157482A (en) * 2004-11-30 2006-06-15 Fujitsu Ltd Programmable logic device, information processor, and method for controlling programmable logic device
JP2006262227A (en) * 2005-03-18 2006-09-28 Konica Minolta Holdings Inc Hardware configuration device
JP2008052389A (en) * 2006-08-23 2008-03-06 Alaxala Networks Corp Programmable logic circuit update device, update method, data processor and network equipment
JP2012118904A (en) * 2010-12-03 2012-06-21 Ricoh Co Ltd Information processing apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325118A (en) * 2000-05-15 2001-11-22 Ricoh Co Ltd Electronic equipment provided with programmable logic, method for upgrading programmable logic and recording medium to be used for the method
JP2004021867A (en) * 2002-06-20 2004-01-22 Nec Engineering Ltd Information processing system
JP2006157482A (en) * 2004-11-30 2006-06-15 Fujitsu Ltd Programmable logic device, information processor, and method for controlling programmable logic device
JP2006262227A (en) * 2005-03-18 2006-09-28 Konica Minolta Holdings Inc Hardware configuration device
JP2008052389A (en) * 2006-08-23 2008-03-06 Alaxala Networks Corp Programmable logic circuit update device, update method, data processor and network equipment
JP2012118904A (en) * 2010-12-03 2012-06-21 Ricoh Co Ltd Information processing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019116984A1 (en) * 2017-12-12 2019-06-20 日本電気株式会社 Fpga system, partial reconfiguration execution method, and storage medium
US11250194B2 (en) 2017-12-12 2022-02-15 Nec Corporation FPGA system, partial reconfiguration execution method, and storage medium

Similar Documents

Publication Publication Date Title
TWI445009B (en) Configurable coding system and method of multiple eccs
JP2015156227A (en) On-chip nand type flash memory and defective block management method of the same
JP2016167669A (en) Programmable logic circuit device and error detection method
US10579801B2 (en) Selecting and loading firmware volumes based on license
US20200174783A1 (en) Electronic control system
US20130214849A1 (en) Terminal device and method for realizing analogue circuit in terminal device
WO2018131065A1 (en) Reconfigurable device and electronic device using same
CN108735268B (en) Nonvolatile memory repair circuit
JP5003097B2 (en) Semiconductor chip
JP2012118904A (en) Information processing apparatus
US11495315B1 (en) Configurable built-in self-repair chain for fast repair data loading
CN110262916B (en) System code management device and management method thereof
KR101218096B1 (en) Test method of semiconductor device and test system of semiconductor device
JP6745586B2 (en) Programmable device, information processing apparatus, and control method of processing circuit in programmable device
JP2007199977A (en) Data storage device and data storage method
JP2006285913A (en) Memory check device and image forming device
JP2010140469A (en) System and method for updating program having correction storage part
CN117312233B (en) Field programmable gate array chip, construction method thereof and accelerator equipment
JP2010157026A (en) Program area change method
JP5652720B2 (en) FPGA system and electronic device
US20110320769A1 (en) Parallel computing device, information processing system, parallel computing method, and information processing device
US10896133B2 (en) Combinational address repair in memory controller
CN115954037A (en) Method, device and equipment for improving yield of efuse chip and storage medium
JP5484641B1 (en) Programmable display
JP2007026504A (en) Semiconductor apparatus

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP