WO2016098249A1 - Information processing device and fpga configuration method - Google Patents

Information processing device and fpga configuration method Download PDF

Info

Publication number
WO2016098249A1
WO2016098249A1 PCT/JP2014/083722 JP2014083722W WO2016098249A1 WO 2016098249 A1 WO2016098249 A1 WO 2016098249A1 JP 2014083722 W JP2014083722 W JP 2014083722W WO 2016098249 A1 WO2016098249 A1 WO 2016098249A1
Authority
WO
WIPO (PCT)
Prior art keywords
fpgas
fpga
configuration data
configuration
data bus
Prior art date
Application number
PCT/JP2014/083722
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 JP2016564550A priority Critical patent/JP6381673B2/en
Priority to PCT/JP2014/083722 priority patent/WO2016098249A1/en
Publication of WO2016098249A1 publication Critical patent/WO2016098249A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components

Definitions

  • the present invention relates to an information processing apparatus and an FPGA configuration method for configuring an FPGA (Field Programmable Gate Array).
  • the FPGA uses a volatile memory as a memory for writing data for determining a logical structure, the data is lost when the power is turned off. Therefore, every time the FPGA is activated, it is necessary to write data into the memory, that is, to perform configuration.
  • a mode called slave parallel mode in which a configuration clock is supplied from the CPU (Central Processing Unit) to the FPGA, and configuration data is written on the parallel bus according to the clock (for example, (See Patent Documents 1 and 2).
  • the invention according to Patent Document 2 employs a configuration in which configuration time is shortened by simultaneously writing configuration data to a plurality of FPGAs.
  • this configuration since one set of flash ROM and a download control circuit is required for each FPGA, there is a problem that the hardware scale increases.
  • the present invention has been made to solve the above-described problems, and aims to shorten the configuration time for a plurality of FPGAs without increasing the hardware scale.
  • An information processing apparatus includes a plurality of FPGAs, a memory that stores a plurality of configuration data for configuring the plurality of FPGAs, and a processor that writes the plurality of configuration data stored in the memories to the plurality of FPGAs.
  • a data bus branched from the processor side and connected to a plurality of FPGAs, the data buses being connected to a plurality of FPGAs for each configuration data bus width of the FPGA, and a memory for each of the plurality of FPGAs.
  • the configuration data for the FPGA is stored in the address corresponding to the data bus for each width of the configuration data bus connected to the processor, and the processor stores the duplicate data stored in each address corresponding to the data bus connected to the plurality of FPGAs.
  • the configuration data and simultaneously write to a plurality of FPGA through a data bus.
  • the hardware scale does not increase.
  • a memory in which configuration data for the FPGA is stored at an address corresponding to the data bus for each configuration data bus width connected to the FPGA is used. Configuration data can be written, and configuration time can be shortened.
  • FIG. 3 is a diagram showing a flow of configuration data in the information processing apparatus according to Embodiment 1.
  • FIG. 3 is a diagram showing a memory map of configuration data in the flash ROM according to the first embodiment.
  • FIG. It is a figure which shows the memory map of the configuration data in the conventional flash ROM.
  • 3 is a flowchart illustrating an FPGA configuration method by the information processing apparatus according to the first embodiment.
  • 7 is a block diagram illustrating a modification of the information processing apparatus according to Embodiment 1.
  • FIG. It is a figure which shows the memory map of the configuration data in the flash ROM of FIG. 7 is a block diagram illustrating a modification of the information processing apparatus according to Embodiment 1.
  • FIG. It is a figure which shows the memory map of the configuration data in the flash ROM of FIG.
  • FIG. 1 is a block diagram illustrating a configuration example of the information processing apparatus 1 according to the first embodiment.
  • n (n ⁇ 2) FPGAs 11 and 12 are connected to the CPU 2 via the CPU bus 3.
  • a flash ROM 4 is also connected to the CPU bus 3.
  • a DRAM (Dynamic Random Access Memory) 5 is connected to the CPU 2 via a dedicated memory bus 6.
  • Embodiment 1 only one flash ROM 4 is used regardless of the number of FPGAs. Further, a download control circuit for writing configuration data from the flash ROM 4 to the FPGA is not required other than the CPU 2.
  • FIG. 2 is a diagram showing a configuration flow in the information processing apparatus 1 according to the first embodiment.
  • the flow of configuration data is indicated by a broken line.
  • the CPU bus 3 is a parallel bus, and is branched halfway from the side connected to the CPU 2 and connected to the FPGAs 11 and 12.
  • a CPU bus 3 having a data bus width of 32 bits is used.
  • a lower 16-bit configuration data bus denoted as “DAT ⁇ 15.0>” is connected to the FPGA 11, and an upper 16-bit configuration denoted as “DAT ⁇ 31.16>”.
  • DAT ⁇ 15.0> is connected to the FPGA 11
  • an upper 16-bit configuration denoted as “DAT ⁇ 31.16>”.
  • CS * chip select control bus
  • the CPU 2 switches the signal value of the control bus for chip selection to make the FPGAs 11 and 12 ready for reading and writing.
  • the CPU 2 can write configuration data to the FPGA 11 through the lower 16 bits of the configuration data bus in the CPU bus 3 and simultaneously write configuration data to the FPGA 12 through the upper 16 bits.
  • control bus for supplying the configuration clock is not shown.
  • a configuration clock is supplied from the CPU 2 to the FPGAs 11 and 12, and configuration data is written to the FPGAs 11 and 12 in accordance with this clock.
  • FIG. 3 is a diagram showing a memory map of configuration data in the flash ROM 4 of the first embodiment.
  • the configuration data 21 of the FPGA 11 and the configuration data 22 of the FPGA 12 are stored in the flash ROM 4.
  • the configuration data 21 of the FPGA 11 is stored at an address corresponding to the lower 16 bits (0 to 15 bits) of the configuration data bus
  • the FPGA 12 is stored at an address corresponding to the upper 16 bits (16 to 31 bits) of the configuration data bus.
  • the configuration data 22 is stored and combined.
  • the base address indicates a start address when the configuration data 21 and 22 of the FPGAs 11 and 12 are stored.
  • the point is to store the configuration data for the FPGA at an address corresponding to the data bus for each width of the configuration data bus connected to the FPGA.
  • the configuration data 21 is output to the FPGA 11 through the data bus denoted as “DAT ⁇ 15.0>” in FIG.
  • the configuration data 22 is output to the FPGA 12 through a data bus denoted as “DAT ⁇ 31..16>”.
  • FIG. 4 shows a configuration in which configuration data is sequentially written from one flash ROM to two FPGAs as in Patent Document 1 described above. Since each of the FPGAs 11 and 12 has a configuration data bus width of 16 bits, the configuration data 21 and 22 of the FPGAs 11 and 12 are sequentially stored in the addresses corresponding to the configuration data buses 0 to 15 bits in the flash ROM 4. Has been.
  • the configuration data 21 is output to the FPGA 11 through a configuration data bus having a 16-bit width.
  • the configuration data 22 is output to the FPGA 12 through a configuration data bus having a 16-bit width.
  • the storage address is doubled in FIG. 4 compared to FIG. The time will be longer.
  • FIG. 5 is a flowchart showing the FPGA configuration method by the information processing apparatus 1 according to the first embodiment.
  • the CPU 2 reads the configuration data 21 and 22 from the flash ROM 4 through the CPU bus 3 (step ST1), and expands it to the DRAM 5 through the memory bus 6 (step ST2). Then, the CPU 2 reads the configuration data 21 and 22 expanded in the DRAM 5 through the memory bus 6 and simultaneously writes them into the FPGAs 11 and 12 through the CPU bus 3.
  • This sequence is all software processing performed by the CPU 2, and no hardware other than the CPU 2 is required.
  • the configuration data since configuration data is simultaneously written to a plurality of FPGAs, the configuration data may be written only once.
  • a total of 8 bits of data buses of 0 to 7 bits counted from the lower side are connected to the FPGA 11, and a total of 8 bits of 8 to 15 bits are connected to the FPGA 12.
  • the configuration data 21 of the FPGA 11 is stored in the address corresponding to 0 to 7 bits counted from the lower side in the flash ROM 4, and the FPGA 12 is stored in the address corresponding to 8 to 15 bits.
  • the configuration data 22 is stored, the configuration data 23 of the FPGA 13 is stored at addresses corresponding to 16 bits to 23 bits, and the configuration data 24 of the FPGA 14 is stored at addresses corresponding to 24 to 31 bits.
  • FPGAs having different data bus widths may be mixed. Examples of this are shown in FIGS. As shown in FIG. 8, among the data bus width 32 bits of the CPU bus 3, a total of 16 bits of data buses of 0 to 15 bits counted from the lower side are connected to the FPGA 11, and a total of 8 bits of data buses of 16 to 23 bits are connected to the FPGA 12. Connect a 24-bit to 8-bit data bus to the FPGA 13 in total.
  • the configuration data 21 of the FPGA 11 is stored in an address corresponding to 0 to 15 bits counted from the lower side in the flash ROM 4, and the FPGA 12 is stored in an address corresponding to 16 to 23 bits.
  • the configuration data 22 is stored, and the configuration data 23 of the FPGA 13 is stored at an address corresponding to 24 to 31 bits and combined.
  • the FPGA configuration data bus width is less than or equal to the data bus width of the CPU bus 3.
  • the FPGA configuration data bus width And the number can be changed freely.
  • the data bus width of the CPU bus 3 is 32 bits, two FPGAs (two FPGAs having a 16-bit data bus width, or two FPGAs having a 8-bit data bus width), three FPGAs (one FPGA having a 16-bit data bus width and 8-bit data)
  • a combination of two FPGAs having a bus width and four FPGAs is possible.
  • the configuration data bus width and the number of FPGAs can be freely changed as described above.
  • the configuration data bus width and the number of FPGAs can be freely changed as described above.
  • the flash ROM is used as the memory for storing the configuration data, but other memories may be used.
  • a non-volatile memory in which data is not lost even when the power is turned off, and a memory having a data bus width equal to or larger than the CPU bus is desirable.
  • the CPU is used as the processor for controlling the writing of the configuration data, other processors may be used.
  • the information processing apparatus 1 includes the plurality of FPGAs 11 and 12 and the flash ROM 4 that stores the plurality of configuration data 21 and 22 for configuring the plurality of FPGAs 11 and 12.
  • a CPU 2 for writing a plurality of configuration data 21 and 22 stored in the flash ROM 4 to the plurality of FPGAs 11 and 12 and a CPU bus 3 branched from the CPU 2 side and connected to the plurality of FPGAs 11 and 12 are provided.
  • the CPU bus 3 is connected to a plurality of FPGAs 11 and 12 for each FPGA configuration data bus width
  • the flash ROM 4 is a data bus for each configuration data bus width connected to the FPGA for each of the plurality of FPGAs 11 and 12.
  • the configuration data for the FPGA is stored in the address corresponding to the CPU bus, and the CPU 2 stores the plurality of configuration data 21 and 22 stored in each address corresponding to the data bus connected to the plurality of FPGAs 11 and 12 in the CPU bus. 3, a plurality of FPGAs 11 and 12 are simultaneously written. Since only one CPU and flash ROM are required regardless of the number of FPGAs, the hardware scale does not increase. In addition, since it is possible to simultaneously write to a plurality of FPGAs, the configuration time can be shortened.
  • any component of the embodiment can be modified or any component of the embodiment can be omitted within the scope of the invention.
  • the information processing apparatus shortens the FPGA configuration time, it is suitable for use in a car navigation apparatus equipped with a plurality of FPGAs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Logic Circuits (AREA)

Abstract

This information processing device 1 is provided with: a plurality of FPGAs 11, 12; a flash ROM 4; a CPU 2; and a CPU bus 3 that branches from the CPU 2 side and is connected to the plurality of FPGAs 11, 12. The CPU bus 3 is respectively connected to the plurality of FPGAs 11, 12 at each data bus width for FPGA configuration. The flash ROM 4 stores, for each of the plurality of FPGAs 11, 12, configuration data for the relevant FPGA, in an address corresponding to the data bus at each configuration data bus width connected to the FPGA. The CPU 2 simultaneously writes, to the plurality of FPGAs 11, 12 via the CPU bus 3, a plurality of configuration data 21, 22 stored in the addresses corresponding to the data buses connected to the plurality of FPGAs 11, 12.

Description

情報処理装置およびFPGAコンフィギュレーション方法Information processing apparatus and FPGA configuration method
 この発明は、FPGA(Field Programmable Gate Array)のコンフィギュレーションを行う情報処理装置およびFPGAコンフィギュレーション方法に関するものである。 The present invention relates to an information processing apparatus and an FPGA configuration method for configuring an FPGA (Field Programmable Gate Array).
 FPGAは、論理構造を決定するデータを書き込むメモリとして揮発性メモリを用いるため、電源を切るとデータが消失する。そのため、FPGAを起動する都度、データをメモリに書き込む、つまりコンフィギュレーションを行う必要がある。FPGAのコンフィギュレーションには、スレーブパラレルモードと呼ばれる、CPU(Central Processing Unit)からFPGAへコンフィギュレーションクロックを供給し、クロックに合わせてコンフィギュレーションデータをパラレルバスで書き込むモードが用意されている(例えば、特許文献1,2参照)。 Since the FPGA uses a volatile memory as a memory for writing data for determining a logical structure, the data is lost when the power is turned off. Therefore, every time the FPGA is activated, it is necessary to write data into the memory, that is, to perform configuration. For FPGA configuration, there is a mode called slave parallel mode, in which a configuration clock is supplied from the CPU (Central Processing Unit) to the FPGA, and configuration data is written on the parallel bus according to the clock (for example, (See Patent Documents 1 and 2).
特開2009-193321号公報JP 2009-193321 A 特開2010-177897号公報JP 2010-177897 A
 上記特許文献1に係る発明では、複数のFPGAに対するコンフィギュレーションに要する時間を短縮するために、フラッシュROM(Read Only Memory)およびダウンロード制御回路を1組だけ搭載し、ダウンロード制御回路がフラッシュROMからコンフィギュレーションデータを読み出し、複数のFPGAに対して順次書き込む構成が採用されている。しかし、複数のFPGAに順番にデータを書き込んでいくシーケンスであるため、FPGAの数が増えるほどコンフィギュレーション時間が長くなるという課題があった。 In the invention according to Patent Document 1, only one set of flash ROM (Read Only Memory) and a download control circuit is mounted in order to reduce the time required for configuration of a plurality of FPGAs, and the download control circuit is configured from the flash ROM. A configuration is employed in which the operation data is read and sequentially written to a plurality of FPGAs. However, since this sequence sequentially writes data to a plurality of FPGAs, there is a problem that the configuration time increases as the number of FPGAs increases.
 他方、上記特許文献2に係る発明では、複数のFPGAに対して同時にコンフィギュレーションデータを書き込むことによって、コンフィギュレーション時間を短縮する構成が採用されている。この構成の場合、1個のFPGAにつき1組のフラッシュROMおよびダウンロード制御回路が必要なため、ハードウエア規模が増大するという課題があった。 On the other hand, the invention according to Patent Document 2 employs a configuration in which configuration time is shortened by simultaneously writing configuration data to a plurality of FPGAs. In the case of this configuration, since one set of flash ROM and a download control circuit is required for each FPGA, there is a problem that the hardware scale increases.
 この発明は、上記のような課題を解決するためになされたもので、ハードウエア規模を増大することなく、複数のFPGAに対するコンフィギュレーション時間を短縮することを目的とする。 The present invention has been made to solve the above-described problems, and aims to shorten the configuration time for a plurality of FPGAs without increasing the hardware scale.
 この発明に係る情報処理装置は、複数のFPGAと、複数のFPGAをコンフィギュレーションする複数のコンフィギュレーションデータを格納したメモリと、メモリに格納された複数のコンフィギュレーションデータを複数のFPGAに書き込むプロセッサと、プロセッサ側から分岐して複数のFPGAに接続するデータバスとを備え、データバスは、FPGAのコンフィギュレーション用データバス幅ごとに複数のFPGAに接続され、メモリは、複数のFPGAそれぞれについて、FPGAと接続したコンフィギュレーション用データバス幅ごとのデータバスに対応するアドレスに当該FPGA用のコンフィギュレーションデータを格納し、プロセッサは、複数のFPGAと接続したデータバスに対応する各アドレスに格納された複数のコンフィギュレーションデータを、データバスを通じて複数のFPGAに同時に書き込むものである。 An information processing apparatus according to the present invention includes a plurality of FPGAs, a memory that stores a plurality of configuration data for configuring the plurality of FPGAs, and a processor that writes the plurality of configuration data stored in the memories to the plurality of FPGAs. A data bus branched from the processor side and connected to a plurality of FPGAs, the data buses being connected to a plurality of FPGAs for each configuration data bus width of the FPGA, and a memory for each of the plurality of FPGAs. The configuration data for the FPGA is stored in the address corresponding to the data bus for each width of the configuration data bus connected to the processor, and the processor stores the duplicate data stored in each address corresponding to the data bus connected to the plurality of FPGAs. The configuration data, and simultaneously write to a plurality of FPGA through a data bus.
 この発明によれば、1組のメモリおよびプロセッサを用いて複数のFPGAをコンフィギュレーションするようにしたので、ハードウエア規模は増大しない。また、複数のFPGAそれぞれについて、FPGAと接続したコンフィギュレーション用データバス幅ごとのデータバスに対応するアドレスに当該FPGA用のコンフィギュレーションデータを格納したメモリを採用したので、複数のFPGAに対して同時にコンフィギュレーションデータを書き込むことができるようになり、コンフィギュレーション時間を短縮できる。 According to the present invention, since a plurality of FPGAs are configured using one set of memory and processor, the hardware scale does not increase. In addition, for each of the plurality of FPGAs, a memory in which configuration data for the FPGA is stored at an address corresponding to the data bus for each configuration data bus width connected to the FPGA is used. Configuration data can be written, and configuration time can be shortened.
この発明の実施の形態1に係る情報処理装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the information processing apparatus which concerns on Embodiment 1 of this invention. 実施の形態1に係る情報処理装置におけるコンフィギュレーションデータの流れを示す図である。3 is a diagram showing a flow of configuration data in the information processing apparatus according to Embodiment 1. FIG. 実施の形態1のフラッシュROMにおけるコンフィギュレーションデータのメモリマップを示す図である。3 is a diagram showing a memory map of configuration data in the flash ROM according to the first embodiment. FIG. 従来のフラッシュROMにおけるコンフィギュレーションデータのメモリマップを示す図である。It is a figure which shows the memory map of the configuration data in the conventional flash ROM. 実施の形態1に係る情報処理装置によるFPGAコンフィギュレーション方法を示すフローチャートである。3 is a flowchart illustrating an FPGA configuration method by the information processing apparatus according to the first embodiment. 実施の形態1に係る情報処理装置の変形例を示すブロック図である。7 is a block diagram illustrating a modification of the information processing apparatus according to Embodiment 1. FIG. 図6のフラッシュROMにおけるコンフィギュレーションデータのメモリマップを示す図である。It is a figure which shows the memory map of the configuration data in the flash ROM of FIG. 実施の形態1に係る情報処理装置の変形例を示すブロック図である。7 is a block diagram illustrating a modification of the information processing apparatus according to Embodiment 1. FIG. 図8のフラッシュROMにおけるコンフィギュレーションデータのメモリマップを示す図である。It is a figure which shows the memory map of the configuration data in the flash ROM of FIG.
 以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 図1は、実施の形態1に係る情報処理装置1の構成例を示すブロック図である。図1に示すように、n個(n≧2)のFPGA11,12は、CPUバス3経由でCPU2に接続されている。また、CPUバス3には、フラッシュROM4も接続されている。DRAM(Dynamic Random Access Memory)5は、専用のメモリバス6経由でCPU2に接続されている。
Hereinafter, in order to explain the present invention in more detail, modes for carrying out the present invention will be described with reference to the accompanying drawings.
Embodiment 1 FIG.
FIG. 1 is a block diagram illustrating a configuration example of the information processing apparatus 1 according to the first embodiment. As shown in FIG. 1, n (n ≧ 2) FPGAs 11 and 12 are connected to the CPU 2 via the CPU bus 3. A flash ROM 4 is also connected to the CPU bus 3. A DRAM (Dynamic Random Access Memory) 5 is connected to the CPU 2 via a dedicated memory bus 6.
 実施の形態1では、FPGAの個数によらず、フラッシュROM4を1個だけ使用する。また、フラッシュROM4からFPGAへコンフィギュレーションデータを書き込むダウンロード制御回路は、CPU2以外に必要ない。 In Embodiment 1, only one flash ROM 4 is used regardless of the number of FPGAs. Further, a download control circuit for writing configuration data from the flash ROM 4 to the FPGA is not required other than the CPU 2.
 以下では、2個のFPGA11,12が搭載された情報処理装置1を例に用いて、実施の形態1を説明する。 Hereinafter, the first embodiment will be described using the information processing apparatus 1 on which two FPGAs 11 and 12 are mounted as an example.
 図2は、実施の形態1に係る情報処理装置1におけるコンフィギュレーションの流れを示す図である。コンフィギュレーションデータの流れは、破線で示す。CPUバス3はパラレルバスであり、CPU2に接続された側から途中で分岐してFPGA11,12に接続されている。 FIG. 2 is a diagram showing a configuration flow in the information processing apparatus 1 according to the first embodiment. The flow of configuration data is indicated by a broken line. The CPU bus 3 is a parallel bus, and is branched halfway from the side connected to the CPU 2 and connected to the FPGAs 11 and 12.
 図2では、データバス幅32bitのCPUバス3を使用する。CPUバス3のうち、「DAT<15..0>」と表記した下位16bitのコンフィギュレーション用データバスをFPGA11に接続し、「DAT<31..16>」と表記した上位16bitのコンフィギュレーション用データバスをFPGA12に接続する。また、「CS*」と表記したチップセレクト用の制御バスを、2個のFPGA11,12に共通で接続する。CPU2は、チップセレクト用の制御バスの信号値を切り替えて、FPGA11,12を読み書き可能状態にする。
 この構成により、CPU2は、CPUバス3のうち、コンフィギュレーション用データバスの下位16bitを通じてFPGA11へコンフィギュレーションデータを書き込むと同時に、上位16bitを通じてFPGA12へコンフィギュレーションデータを書き込むことが可能である。
In FIG. 2, a CPU bus 3 having a data bus width of 32 bits is used. Of the CPU bus 3, a lower 16-bit configuration data bus denoted as “DAT <15.0>” is connected to the FPGA 11, and an upper 16-bit configuration denoted as “DAT <31.16>”. Connect the data bus to the FPGA 12. Further, a chip select control bus denoted as “CS *” is commonly connected to the two FPGAs 11 and 12. The CPU 2 switches the signal value of the control bus for chip selection to make the FPGAs 11 and 12 ready for reading and writing.
With this configuration, the CPU 2 can write configuration data to the FPGA 11 through the lower 16 bits of the configuration data bus in the CPU bus 3 and simultaneously write configuration data to the FPGA 12 through the upper 16 bits.
 なお、図2ではコンフィギュレーションクロック供給用の制御バスは図示を省略している。スレーブパラレルモードの場合、CPU2からFPGA11,12へコンフィギュレーションクロックを供給し、このクロックに合わせてFPGA11,12へのコンフィギュレーションデータの書き込みが行われる。 In FIG. 2, the control bus for supplying the configuration clock is not shown. In the slave parallel mode, a configuration clock is supplied from the CPU 2 to the FPGAs 11 and 12, and configuration data is written to the FPGAs 11 and 12 in accordance with this clock.
 図3は、実施の形態1のフラッシュROM4におけるコンフィギュレーションデータのメモリマップを示す図である。FPGA11のコンフィギュレーションデータ21と、FPGA12のコンフィギュレーションデータ22は、フラッシュROM4に格納されている。
 フラッシュROM4のうち、コンフィギュレーション用データバス下位16bit(0~15bit)に対応するアドレスにFPGA11のコンフィギュレーションデータ21を格納し、コンフィギュレーション用データバス上位16bit(16~31bit)に対応するアドレスにFPGA12のコンフィギュレーションデータ22を格納し、結合しておく。ベースアドレスは、FPGA11,12のコンフィギュレーションデータ21,22を格納する際の開始アドレスを示す。複数のFPGAそれぞれについて、FPGAと接続されたコンフィギュレーション用データバス幅ごとのデータバスに対応するアドレスに、当該FPGA用のコンフィギュレーションデータを格納しておくことがポイントである。
FIG. 3 is a diagram showing a memory map of configuration data in the flash ROM 4 of the first embodiment. The configuration data 21 of the FPGA 11 and the configuration data 22 of the FPGA 12 are stored in the flash ROM 4.
In the flash ROM 4, the configuration data 21 of the FPGA 11 is stored at an address corresponding to the lower 16 bits (0 to 15 bits) of the configuration data bus, and the FPGA 12 is stored at an address corresponding to the upper 16 bits (16 to 31 bits) of the configuration data bus. The configuration data 22 is stored and combined. The base address indicates a start address when the configuration data 21 and 22 of the FPGAs 11 and 12 are stored. For each of the plurality of FPGAs, the point is to store the configuration data for the FPGA at an address corresponding to the data bus for each width of the configuration data bus connected to the FPGA.
 図3の例の場合、コンフィギュレーションデータ21は、図2に「DAT<15..0>」と表記したデータバスを通じてFPGA11へ出力される。並行して、コンフィギュレーションデータ22が、「DAT<31..16>」と表記したデータバスを通じてFPGA12へ出力される。 In the case of the example in FIG. 3, the configuration data 21 is output to the FPGA 11 through the data bus denoted as “DAT <15.0>” in FIG. In parallel, the configuration data 22 is output to the FPGA 12 through a data bus denoted as “DAT <31..16>”.
 これに対し、上記特許文献1のように、1個のフラッシュROMから2個のFPGAへ順次コンフィギュレーションデータを書き込む構成の場合を、図4に示す。FPGA11,12のそれぞれはコンフィギュレーション用データバス幅が16bitであるため、フラッシュROM4のうち、コンフィギュレーション用データバス0~15bitに対応するアドレスにFPGA11,12のコンフィギュレーションデータ21,22が順番に格納されている。
 図4の例の場合、まず、コンフィギュレーションデータ21が、16bit幅のコンフィギュレーション用データバスを通じてFPGA11へ出力される。その後、コンフィギュレーションデータ22が、16bit幅のコンフィギュレーション用データバスを通じてFPGA12へ出力される。その結果、図3と図4とでコンフィギュレーションデータ21,22の合計データ量が同じでも、図3に比べ図4では格納アドレスが2倍になるため、書き込み回数も2倍になり、コンフィギュレーション時間が長くなる。
On the other hand, FIG. 4 shows a configuration in which configuration data is sequentially written from one flash ROM to two FPGAs as in Patent Document 1 described above. Since each of the FPGAs 11 and 12 has a configuration data bus width of 16 bits, the configuration data 21 and 22 of the FPGAs 11 and 12 are sequentially stored in the addresses corresponding to the configuration data buses 0 to 15 bits in the flash ROM 4. Has been.
In the case of the example of FIG. 4, first, the configuration data 21 is output to the FPGA 11 through a configuration data bus having a 16-bit width. Thereafter, the configuration data 22 is output to the FPGA 12 through a configuration data bus having a 16-bit width. As a result, even if the total data amount of the configuration data 21 and 22 is the same in FIG. 3 and FIG. 4, the storage address is doubled in FIG. 4 compared to FIG. The time will be longer.
 図5は、実施の形態1に係る情報処理装置1によるFPGAコンフィギュレーション方法を示すフローチャートである。CPU2は、CPUバス3を通じてフラッシュROM4からコンフィギュレーションデータ21,22を読み出し(ステップST1)、メモリバス6を通じてDRAM5へ展開する(ステップST2)。そして、CPU2は、DRAM5へ展開したコンフィギュレーションデータ21,22を、メモリバス6を通じて読み出し、CPUバス3を通じてFPGA11,12に同時に書き込む。このシーケンスは、すべてCPU2が行うソフトウエアの処理であり、このCPU2以外にハードウエアを必要としない。また、複数のFPGAに対してコンフィギュレーションデータを同時に書き込むため、コンフィギュレーションデータ書き込みは1回でよい。 FIG. 5 is a flowchart showing the FPGA configuration method by the information processing apparatus 1 according to the first embodiment. The CPU 2 reads the configuration data 21 and 22 from the flash ROM 4 through the CPU bus 3 (step ST1), and expands it to the DRAM 5 through the memory bus 6 (step ST2). Then, the CPU 2 reads the configuration data 21 and 22 expanded in the DRAM 5 through the memory bus 6 and simultaneously writes them into the FPGAs 11 and 12 through the CPU bus 3. This sequence is all software processing performed by the CPU 2, and no hardware other than the CPU 2 is required. In addition, since configuration data is simultaneously written to a plurality of FPGAs, the configuration data may be written only once.
 以上の説明では、2個のFPGAを使用する場合を例にしたが、CPUバス3のFPGAに接続するコンフィギュレーション用データバス幅を変更することで、3個以上のFPGAにも対応可能である。
 一般には、FPGAのコンフィギュレーション用データバス幅は16bitまたは8bitが多い。CPUバス3のデータバス幅を32bitにした場合、コンフィギュレーション用データバス幅8bitのFPGAを最大4個、同時にコンフィギュレーションすることが可能である。この例を図6と図7に示す。
In the above description, the case where two FPGAs are used is taken as an example. However, by changing the configuration data bus width connected to the FPGA of the CPU bus 3, it is possible to support three or more FPGAs. .
In general, there are many 16-bit or 8-bit data bus widths for FPGA configuration. When the data bus width of the CPU bus 3 is 32 bits, it is possible to simultaneously configure up to four FPGAs having a configuration data bus width of 8 bits. Examples of this are shown in FIGS.
 図6に示すように、CPUバス3のデータバス幅32bitのうち、下位側から数えて0~7bitの計8bitのデータバスをFPGA11に接続し、8~15bitの計8bitのデータバスをFPGA12に接続し、16~23bitの計8bitのデータバスをFPGA13に接続し、23~31bitの計8bitのデータバスをFPGA14に接続する。この構成の場合、図7に示すように、フラッシュROM4のうち、下位側から数えて0~7bitに対応するアドレスへFPGA11のコンフィギュレーションデータ21を格納し、8~15bitに対応するアドレスへFPGA12のコンフィギュレーションデータ22を格納し、16bit~23bitに対応するアドレスへFPGA13のコンフィギュレーションデータ23を格納し、24~31bitに対応するアドレスへFPGA14のコンフィギュレーションデータ24を格納し、結合しておく。 As shown in FIG. 6, among the data bus width 32 bits of the CPU bus 3, a total of 8 bits of data buses of 0 to 7 bits counted from the lower side are connected to the FPGA 11, and a total of 8 bits of 8 to 15 bits are connected to the FPGA 12. Connect a total of 8 bits of data bus of 16 to 23 bits to the FPGA 13 and connect a total of 8 bits of data bus of 23 to 31 bits to the FPGA 14. In the case of this configuration, as shown in FIG. 7, the configuration data 21 of the FPGA 11 is stored in the address corresponding to 0 to 7 bits counted from the lower side in the flash ROM 4, and the FPGA 12 is stored in the address corresponding to 8 to 15 bits. The configuration data 22 is stored, the configuration data 23 of the FPGA 13 is stored at addresses corresponding to 16 bits to 23 bits, and the configuration data 24 of the FPGA 14 is stored at addresses corresponding to 24 to 31 bits.
 また、データバス幅が異なるFPGAが混在しても構わない。この例を図8と図9に示す。
 図8に示すように、CPUバス3のデータバス幅32bitのうち、下位側から数えて0~15bitの計16bitのデータバスをFPGA11に接続し、16~23bitの計8bitのデータバスをFPGA12に接続し、24~31bitの計8bitのデータバスをFPGA13に接続する。この構成の場合、図9に示すように、フラッシュROM4のうち、下位側から数えて0~15bitに対応するアドレスへFPGA11のコンフィギュレーションデータ21を格納し、16~23bitに対応するアドレスへFPGA12のコンフィギュレーションデータ22を格納し、24~31bitに対応するアドレスへFPGA13のコンフィギュレーションデータ23を格納し、結合しておく。
Also, FPGAs having different data bus widths may be mixed. Examples of this are shown in FIGS.
As shown in FIG. 8, among the data bus width 32 bits of the CPU bus 3, a total of 16 bits of data buses of 0 to 15 bits counted from the lower side are connected to the FPGA 11, and a total of 8 bits of data buses of 16 to 23 bits are connected to the FPGA 12. Connect a 24-bit to 8-bit data bus to the FPGA 13 in total. In the case of this configuration, as shown in FIG. 9, the configuration data 21 of the FPGA 11 is stored in an address corresponding to 0 to 15 bits counted from the lower side in the flash ROM 4, and the FPGA 12 is stored in an address corresponding to 16 to 23 bits. The configuration data 22 is stored, and the configuration data 23 of the FPGA 13 is stored at an address corresponding to 24 to 31 bits and combined.
 図6と図7の構成、または図8と図9の構成において、FPGAのコンフィギュレーション用データバス幅の合計値がCPUバス3のデータバス幅以下であるなら、FPGAのコンフィギュレーション用データバス幅および個数を自由に変更可能である。CPUバス3のデータバス幅が32bitの場合、2個のFPGA(16bitデータバス幅のFPGA2個、または8bitデータバス幅のFPGA2個)、3個のFPGA(16bitデータバス幅のFPGA1個と8bitデータバス幅のFPGA2個)、4個のFPGA(8bitデータバス幅のFPGA4個)といった組み合わせが可能である。
 さらに、データバス幅64bit、16bitなどのCPUバス3を使用する場合にも、上記同様、FPGAのコンフィギュレーション用データバス幅および個数を自由に変更可能である。
 なお、FPGAのコンフィギュレーション用のデータバス幅は様々あるが、コンフィギュレーション時間を短縮するには、より大きなデータバス幅を採用することが望ましい。
6 and 7, or in the configurations of FIGS. 8 and 9, if the total value of the FPGA configuration data bus width is less than or equal to the data bus width of the CPU bus 3, the FPGA configuration data bus width And the number can be changed freely. When the data bus width of the CPU bus 3 is 32 bits, two FPGAs (two FPGAs having a 16-bit data bus width, or two FPGAs having a 8-bit data bus width), three FPGAs (one FPGA having a 16-bit data bus width and 8-bit data) A combination of two FPGAs having a bus width and four FPGAs (four FPGAs having an 8-bit data bus width) is possible.
Further, when the CPU bus 3 having a data bus width of 64 bits or 16 bits is used, the configuration data bus width and the number of FPGAs can be freely changed as described above.
Although there are various data bus widths for FPGA configuration, it is desirable to employ a larger data bus width in order to shorten the configuration time.
 図1~図9の説明では、コンフィギュレーションデータを格納するメモリとしてフラッシュROMを用いたが、その他のメモリであってもよい。電源を切ってもデータが消失しない不揮発性メモリであって、データバス幅がCPUバスと同じかそれ以上のメモリが望ましい。また、コンフィギュレーションデータの書き込みを制御するプロセッサとしてCPUを用いたが、その他のプロセッサであってもよい。 In the description of FIGS. 1 to 9, the flash ROM is used as the memory for storing the configuration data, but other memories may be used. A non-volatile memory in which data is not lost even when the power is turned off, and a memory having a data bus width equal to or larger than the CPU bus is desirable. Further, although the CPU is used as the processor for controlling the writing of the configuration data, other processors may be used.
 以上より、実施の形態1によれば、情報処理装置1は、複数のFPGA11,12と、複数のFPGA11,12をコンフィギュレーションするための複数のコンフィギュレーションデータ21,22を格納したフラッシュROM4と、フラッシュROM4に格納された複数のコンフィギュレーションデータ21,22を複数のFPGA11,12に書き込むCPU2と、CPU2側から分岐して複数のFPGA11,12に接続するCPUバス3とを備える。CPUバス3は、FPGAのコンフィギュレーション用データバス幅ごとに複数のFPGA11,12に接続され、フラッシュROM4は、複数のFPGA11,12それぞれについて、FPGAと接続したコンフィギュレーション用データバス幅ごとのデータバスに対応するアドレスに当該FPGA用のコンフィギュレーションデータを格納し、CPU2は、複数のFPGA11,12と接続したデータバスに対応する各アドレスに格納された複数のコンフィギュレーションデータ21,22を、CPUバス3を通じて複数のFPGA11,12に同時に書き込む構成にした。FPGAの個数によらずCPUとフラッシュROMが1組あればよいので、ハードウエア規模が増大しない。また、複数のFPGAに対して同時に書き込むことができるので、コンフィギュレーション時間を短縮できる。 As described above, according to the first embodiment, the information processing apparatus 1 includes the plurality of FPGAs 11 and 12 and the flash ROM 4 that stores the plurality of configuration data 21 and 22 for configuring the plurality of FPGAs 11 and 12. A CPU 2 for writing a plurality of configuration data 21 and 22 stored in the flash ROM 4 to the plurality of FPGAs 11 and 12 and a CPU bus 3 branched from the CPU 2 side and connected to the plurality of FPGAs 11 and 12 are provided. The CPU bus 3 is connected to a plurality of FPGAs 11 and 12 for each FPGA configuration data bus width, and the flash ROM 4 is a data bus for each configuration data bus width connected to the FPGA for each of the plurality of FPGAs 11 and 12. The configuration data for the FPGA is stored in the address corresponding to the CPU bus, and the CPU 2 stores the plurality of configuration data 21 and 22 stored in each address corresponding to the data bus connected to the plurality of FPGAs 11 and 12 in the CPU bus. 3, a plurality of FPGAs 11 and 12 are simultaneously written. Since only one CPU and flash ROM are required regardless of the number of FPGAs, the hardware scale does not increase. In addition, since it is possible to simultaneously write to a plurality of FPGAs, the configuration time can be shortened.
 なお、本発明はその発明の範囲内において、実施の形態の任意の構成要素の変形、または実施の形態の任意の構成要素の省略が可能である。 In the present invention, any component of the embodiment can be modified or any component of the embodiment can be omitted within the scope of the invention.
 この発明に係る情報処理装置は、FPGAのコンフィギュレーション時間を短縮するようにしたので、複数のFPGAが搭載されたカーナビゲーション装置などに用いるのに適している。 Since the information processing apparatus according to the present invention shortens the FPGA configuration time, it is suitable for use in a car navigation apparatus equipped with a plurality of FPGAs.
 1 情報処理装置、2 CPU(プロセッサ)、3 CPUバス(データバス)、4 フラッシュROM(メモリ)、5 DRAM、6 メモリバス、11~14 FPGA、21~24 コンフィギュレーションデータ。 1 Information processing device, 2 CPU (processor), 3 CPU bus (data bus), 4 Flash ROM (memory), 5 DRAM, 6 memory bus, 11-14 FPGA, 21-24 configuration data.

Claims (2)

  1.  複数のFPGAと、
     前記複数のFPGAをコンフィギュレーションする複数のコンフィギュレーションデータを格納したメモリと、
     前記メモリに格納された前記複数のコンフィギュレーションデータを前記複数のFPGAに書き込むプロセッサと、
     前記プロセッサ側から分岐して前記複数のFPGAに接続するデータバスとを備え、
     前記データバスは、FPGAのコンフィギュレーション用データバス幅ごとに前記複数のFPGAに接続され、
     前記メモリは、前記複数のFPGAそれぞれについて、FPGAと接続した前記コンフィギュレーション用データバス幅ごとのデータバスに対応するアドレスに当該FPGA用のコンフィギュレーションデータを格納し、
     前記プロセッサは、前記複数のFPGAと接続したデータバスに対応する各アドレスに格納された前記複数のコンフィギュレーションデータを、前記データバスを通じて前記複数のFPGAに同時に書き込むことを特徴とする情報処理装置。
    Multiple FPGAs;
    A memory storing a plurality of configuration data for configuring the plurality of FPGAs;
    A processor that writes the plurality of configuration data stored in the memory to the plurality of FPGAs;
    A data bus branched from the processor side and connected to the plurality of FPGAs,
    The data bus is connected to the plurality of FPGAs for each configuration data bus width of the FPGA.
    For each of the plurality of FPGAs, the memory stores configuration data for the FPGA at an address corresponding to a data bus for each width of the configuration data bus connected to the FPGA.
    The information processing apparatus, wherein the processor simultaneously writes the plurality of configuration data stored at each address corresponding to a data bus connected to the plurality of FPGAs to the plurality of FPGAs through the data bus.
  2.  分岐したデータバスを介して複数のFPGAと接続されているプロセッサが、メモリに格納されている複数のコンフィギュレーションデータを、前記複数のFPGAに書き込むFPGAコンフィギュレーション方法であって、
     前記データバスは、FPGAのコンフィギュレーション用データバス幅ごとに前記複数のFPGAに接続され、前記メモリには、前記複数のFPGAそれぞれについて、FPGAと接続した前記コンフィギュレーション用データバス幅ごとのデータバスに対応するアドレスに当該FPGA用のコンフィギュレーションデータが格納されており、前記プロセッサは、前記複数のFPGAと接続したデータバスに対応する各アドレスに格納された前記複数のコンフィギュレーションデータを、前記データバスを通じて前記複数のFPGAに同時に書き込むことを特徴とするFPGAコンフィギュレーション方法。
    A FPGA configuration method in which a processor connected to a plurality of FPGAs via branched data buses writes a plurality of configuration data stored in a memory to the plurality of FPGAs.
    The data bus is connected to the plurality of FPGAs for each configuration data bus width of the FPGA, and the memory includes a data bus for each of the configuration data bus widths connected to the FPGA for each of the plurality of FPGAs. Configuration data for the FPGA is stored at an address corresponding to the processor, and the processor converts the configuration data stored at each address corresponding to a data bus connected to the plurality of FPGAs to the data. An FPGA configuration method, wherein the plurality of FPGAs are simultaneously written through a bus.
PCT/JP2014/083722 2014-12-19 2014-12-19 Information processing device and fpga configuration method WO2016098249A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016564550A JP6381673B2 (en) 2014-12-19 2014-12-19 Information processing apparatus and FPGA configuration method
PCT/JP2014/083722 WO2016098249A1 (en) 2014-12-19 2014-12-19 Information processing device and fpga configuration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/083722 WO2016098249A1 (en) 2014-12-19 2014-12-19 Information processing device and fpga configuration method

Publications (1)

Publication Number Publication Date
WO2016098249A1 true WO2016098249A1 (en) 2016-06-23

Family

ID=56126167

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/083722 WO2016098249A1 (en) 2014-12-19 2014-12-19 Information processing device and fpga configuration method

Country Status (2)

Country Link
JP (1) JP6381673B2 (en)
WO (1) WO2016098249A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546524A (en) * 1991-08-21 1993-02-26 Matsushita Electric Ind Co Ltd Disk array controller
US20040093488A1 (en) * 2002-11-07 2004-05-13 Joseph Horanzy Method and apparatus for configuring a programmable logic device
JP2014175891A (en) * 2013-03-11 2014-09-22 Seiko Epson Corp Configuration device, configuration method and projector

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094865A (en) * 2002-09-04 2004-03-25 Sony Corp Semiconductor circuit and data communication device using same
EP1569124A1 (en) * 2004-02-26 2005-08-31 Matsushita Electric Industrial Co., Ltd. Memory interface and data processing
US7464241B2 (en) * 2004-11-22 2008-12-09 Intel Corporation Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546524A (en) * 1991-08-21 1993-02-26 Matsushita Electric Ind Co Ltd Disk array controller
US20040093488A1 (en) * 2002-11-07 2004-05-13 Joseph Horanzy Method and apparatus for configuring a programmable logic device
JP2014175891A (en) * 2013-03-11 2014-09-22 Seiko Epson Corp Configuration device, configuration method and projector

Also Published As

Publication number Publication date
JP6381673B2 (en) 2018-08-29
JPWO2016098249A1 (en) 2017-04-27

Similar Documents

Publication Publication Date Title
CN108701081B (en) Apparatus and method for simultaneously accessing multiple partitions of a non-volatile memory
US7886103B2 (en) Input-output module, processing platform and method for extending a memory interface for input-output operations
KR102005855B1 (en) APPARATUSES AND METHODS FOR CONFIGURING I/Os OF MEMORY FOR HYBRID MEMORY MODULES
US9275717B2 (en) Refresh address generator, volatile memory device including the same and method of refreshing the volatile memory device
JP2016514329A (en) Apparatus and method for variable latency memory operation
US20200066325A1 (en) Semiconductor devices and semiconductor systems including the semiconductor devices
US9753849B2 (en) Methods for manufacturing and operating a memory device and a method for operating a system having the same
KR102078562B1 (en) Refresh address generator and volatile memory device comprising thereof
JP2014102867A (en) Semiconductor memory device and control method of the same
US10043587B2 (en) Apparatuses and methods including nested mode registers
US20170123892A1 (en) Parity check circuit and memory device including the same
US9330737B2 (en) Allocating memory address space between DIMMs using memory controllers
US11625196B2 (en) Semiconductor memory device and operating method thereof
US20180136844A1 (en) Arithmetic circuit and a semiconductor device
US20170083372A1 (en) Memory device and data read method thereof
US20160163373A1 (en) Memory device for controlling refresh operation by using cell characteristic flags
US10902894B2 (en) Semiconductor devices
JP2009175904A (en) Multiprocessor processing system
JP2019046254A (en) Semiconductor memory apparatus, method and program
JP6381673B2 (en) Information processing apparatus and FPGA configuration method
KR20130102816A (en) An data processing device and method for protecting data loss thereof
JP2018160029A5 (en)
JP6330150B2 (en) Nonvolatile semiconductor memory device and rewriting method thereof
US20140068359A1 (en) Semiconductor device and memory device
US9508418B1 (en) Semiconductor device

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016564550

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14908459

Country of ref document: EP

Kind code of ref document: A1