JP2017163435A - Method of controlling programmable device and programmable device - Google Patents
Method of controlling programmable device and programmable device Download PDFInfo
- Publication number
- JP2017163435A JP2017163435A JP2016047748A JP2016047748A JP2017163435A JP 2017163435 A JP2017163435 A JP 2017163435A JP 2016047748 A JP2016047748 A JP 2016047748A JP 2016047748 A JP2016047748 A JP 2016047748A JP 2017163435 A JP2017163435 A JP 2017163435A
- Authority
- JP
- Japan
- Prior art keywords
- lut
- logical data
- data
- update
- data holding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
- Logic Circuits (AREA)
Abstract
Description
本発明は、プログラマブルデバイスの制御方法およびプログラマブルデバイスに関する。 The present invention relates to a programmable device control method and a programmable device.
近年、論理回路の機能を変更可能なField Programmable Gate Array(FPGA)が用いられている。FPGAは、プログラマブルデバイスとも称される。FPGAには、Look Up Table(LUT)が搭載される。LUTは、論路回路の機能を示すテーブルであり、該LUTのデータが更新されることで、FPGAの論理回路の機能が更新される。 In recent years, Field Programmable Gate Array (FPGA) that can change the function of a logic circuit has been used. The FPGA is also referred to as a programmable device. The FPGA is equipped with a Look Up Table (LUT). The LUT is a table indicating the function of the logical circuit, and the function of the FPGA logic circuit is updated by updating the data of the LUT.
関連する技術として、LUT形式のデータ変換処理を組み込んだプログラマブル論理回路におけるLUTの設定操作を簡略化する技術が提案されている(例えば、特許文献1を参照)。また、再起動を必要とすることなく、再読み込みされたプログラムに基づいて動作することが可能な情報処理デバイスに関する技術が提案されている(例えば、特許文献2を参照)。 As a related technique, a technique that simplifies the LUT setting operation in a programmable logic circuit incorporating a LUT format data conversion process has been proposed (see, for example, Patent Document 1). In addition, a technique relating to an information processing device that can operate based on a re-read program without requiring restart has been proposed (see, for example, Patent Document 2).
例えば、FPGA(プログラマブルデバイス)に搭載される各LUTは、コンフィグレーション処理により更新される。コンフィグレーション処理は、FPGAの外部に設けられるRead Only Memory(ROM)に対して、各LUTのLUTデータが記憶され、該ROMから読み出されたLUTデータが各LUTに設定されることにより行われる。 For example, each LUT mounted on an FPGA (programmable device) is updated by configuration processing. The configuration process is performed by storing the LUT data of each LUT in a Read Only Memory (ROM) provided outside the FPGA and setting the LUT data read from the ROM in each LUT. .
この際、上記ROMの先頭の領域から全領域に対して各LUTのLUTデータが更新される。FPGAに搭載されるLUTの数が多くなるに応じて、コンフィグレーション処理にかかる時間が長くなる。このため、FPGAに搭載される各LUTのうち一部のLUTが更新される場合でも、更新時間が長くなる。 At this time, the LUT data of each LUT is updated from the top area of the ROM to the entire area. As the number of LUTs mounted on the FPGA increases, the time required for the configuration process increases. For this reason, even when some of the LUTs mounted on the FPGA are updated, the update time becomes longer.
1つの側面として、本発明は、プログラマブルデバイスに搭載される論理回路の機能の更新時間を短縮化することを目的とする。 As one aspect, an object of the present invention is to shorten the update time of the function of a logic circuit mounted on a programmable device.
1つの態様では、プログラマブルデバイスの制御方法は、論理回路の機能を示す論理データを保持する論理データ保持部が複数搭載されるプログラマブルデバイスを制御する制御方法であって、前記プログラマブルデバイスを制御する制御装置が、前記複数の論理データ保持部のうち一部の論理データ保持部が保持する論理データを更新する指示を前記プログラマブルデバイスに出力し、前記プログラマブルデバイスに搭載される論理データ更新部が、前記指示に基づいて、前記一部の論理データ保持部が保持する論理データを更新する。 In one aspect, a control method for a programmable device is a control method for controlling a programmable device in which a plurality of logical data holding units that hold logic data indicating the function of a logic circuit are mounted, and controls the programmable device. The apparatus outputs an instruction to update the logical data held by some of the plurality of logical data holding units to the programmable device, and the logical data updating unit mounted on the programmable device includes: Based on the instruction, the logical data held by the partial logical data holding unit is updated.
1つの側面によれば、プログラマブルデバイスに搭載される論理回路の機能の更新時間を短縮化することができる。 According to one aspect, the update time of the function of the logic circuit mounted on the programmable device can be shortened.
以下、図面を参照して、実施形態について説明する。図1は、電子機器1および制御装置2の一例を示す。電子機器1は、例えば、映像機器や通信機器等であり、該電子機器1の基板にFPGA3とコンフィグレーションROM4とCPU5とが搭載される。また、電子機器1には、制御装置2が接続される。電子機器1の例は、図1の例には限定されない。
Hereinafter, embodiments will be described with reference to the drawings. FIG. 1 shows an example of an
FPGA3は、論理回路の機能を更新可能なプログラマブルデバイスである。コンフィグレーションROM4は、FPGA3に搭載される各論理回路の機能を一括的に設定するためのデータを記憶する。Central Processing Unit(CPU)5は、FPGA3に接続される。
The
制御装置2は、コンフィグレーションROM4およびCPU5に接続されるコンピュータである。制御装置2は、コンフィグレーションROM4に各論理回路の機能を一括的に設定するためのデータを記憶し、CPU5を介して、FPGA3を制御する。
The
図2は、FPGA3の一例を示す図である。FPGA3には、バスインタフェース10(図2では、「バスI/F」と表記)と記憶回路11とLUT更新モジュール12と複数のLook Up Table(LUT)とが搭載されている。
FIG. 2 is a diagram illustrating an example of the
バスインタフェース10は、CPU5と接続され、CPU5との間でデータの入出力を行う。記憶回路11は、CPU5から入力した各種の情報を記憶する。記憶回路11は、例えば、レジスタやメモリ等であってよい。記憶回路11が記憶する情報は、例えば、電子機器1の制御をFPGA3が行う際に使用される情報である。
The
バスインタフェース10は記憶回路11と接続される。LUT更新モジュール12は、バスインタフェース10に接続される。また、FPGA3には複数のLUTが搭載される。FPGA3に搭載されるLUTの数は任意の数であってもよい。
The
LUTについて説明する。LUTは、FPGA3のロジックセルに含まれるテーブルである。実施形態のLUTは、4つの信号を入力し、1つの信号を出力する。ただし、LUTに入力される信号数は4つには限定されず、出力される信号の数も1つには限定されない。
The LUT will be described. The LUT is a table included in the logic cell of the
LUTが保持するデータ(以下、LUTデータと称する)が更新されることで、該LUTにより実現される論理回路の機能が変更される。LUTデータは、論理データの一例である。 By updating data held by the LUT (hereinafter referred to as LUT data), the function of the logic circuit realized by the LUT is changed. LUT data is an example of logical data.
例えば、LUTデータが更新されることで、LUTにより実現される論理回路は、AND回路やOR回路等、任意の論理回路に変更される。また、各LUTにはそれぞれアドレスが付与される。アドレスは、LUTを特定する特定データの一例である。 For example, when the LUT data is updated, the logic circuit realized by the LUT is changed to an arbitrary logic circuit such as an AND circuit or an OR circuit. Each LUT is given an address. The address is an example of specific data for specifying the LUT.
図2の例では、「LUT−X:Xはゼロ以上の整数」のうち「X」はLUTのアドレスを示す。「LUT−0」はアドレス「0」のLUTであることを示し、「LUT−1」はアドレス「1」のLUTであることを示す。 In the example of FIG. 2, “LUT-X: X is an integer greater than or equal to zero”, “X” indicates the address of the LUT. “LUT-0” indicates that the address is “0”, and “LUT-1” indicates that the address is “1”.
各LUTは、コンフィグレーションROM4に接続される。制御装置2は、コンフィグレーションROM4に各論理回路の機能を一括的に設定するためのデータ(一括設定データ)を記憶する。一括設定データは、LUTのアドレスと該LUTに保持させるLUTデータを含む。
Each LUT is connected to the
コンフィグレーションROM4に記憶された一括設定データがFPGA3に入力され、各LUTにLUTデータが入力されることで、各LUTが保持するLUTデータが一括的に更新される。この処理は、コンフィギュレーション処理とも称される。
The batch setting data stored in the
図3は、コンフィグレーション処理の一例を示す。例えば、一括設定データにおいて、アドレス「0」とAND論理を示すLUTデータとが対応付けられているとする。この場合、LUT−0にAND論理を示すLUTデータ(AND論理データ)が入力され、LUT−0は該LUTデータを保持する。 FIG. 3 shows an example of the configuration process. For example, in the batch setting data, it is assumed that the address “0” is associated with LUT data indicating AND logic. In this case, LUT data (AND logic data) indicating AND logic is input to the LUT-0, and the LUT-0 holds the LUT data.
これにより、LUT−0は、AND論理回路として機能する。図3の例の場合、LUT−1には、OR論理を示すLUTデータ(OR論理データ)が入力され、LUT−1は該LUTデータを保持する。これにより、LUT−1は、OR論理回路として機能する。 Thereby, LUT-0 functions as an AND logic circuit. In the example of FIG. 3, LUT data indicating OR logic (OR logic data) is input to the LUT-1, and the LUT-1 holds the LUT data. Thereby, LUT-1 functions as an OR logic circuit.
同様に、LUT−2には、Exclusive OR(EOR)論理を示すLUTデータ(EOR論理データ)が入力され、LUT−2は、該LUTデータを保持する。これにより、LUT−2は、EOR論理回路として機能する。 Similarly, LUT data (EOR logical data) indicating Exclusive OR (EOR) logic is input to LUT-2, and LUT-2 holds the LUT data. Thereby, LUT-2 functions as an EOR logic circuit.
コンフィグレーション処理が行われることにより、FPGA3に搭載される他のLUTにもそれぞれLUTデータが入力され、該他のLUTはそれぞれLUTデータを保持する。これにより、該他のLUTは、それぞれ所定の論理回路として機能する。
By performing the configuration process, LUT data is also input to the other LUTs mounted on the
一括設定データは、例えば、ビットファイルデータであってもよい。制御装置2を操作する操作者(例えば、FPGA3の回路構成を設定する設定者等)は、制御装置2に、FPGA3に搭載される各LUTに保持させるLUTデータを設定する。
The batch setting data may be, for example, bit file data. An operator who operates the control device 2 (for example, a setter who sets the circuit configuration of the FPGA 3) sets LUT data to be held in each LUT mounted on the
例えば、操作者は、制御装置2を用いて、プログラムコードのコーディングを行い、FPGA3に搭載される各LUTに保持させるLUTデータを設定する。LUTデータの設定は、コーディング以外の手法により行われてもよい。
For example, the operator uses the
制御装置2は、各LUTについて、LUTデータの設定の入力を受け付ける。制御装置2は、設定された各LUTのLUTデータから一括設定データを生成し、生成された一括設定データをコンフィグレーションROM4に記憶する。
The
一括設定データがコンフィグレーションROM4に記憶される際、制御装置2は、コンフィグレーションROM4の先頭の領域から全領域を更新して、一括設定データをコンフィグレーションROM4に記憶する。
When the batch setting data is stored in the
ここで、各LUTのうち一部のLUTが保持するLUTテーブルの更新をコンフィグレーション処理により行う場合を想定する。この場合、コンフィグレーション処理が行われると、コンフィグレーションROM4の先頭の領域から全領域が更新される。
Here, it is assumed that the LUT table held by some of the LUTs is updated by configuration processing. In this case, when the configuration process is performed, the entire area is updated from the top area of the
また、FPGA3に搭載される全てのLUTが保持するLUTデータが更新される。従って、FPGA3に搭載される全てのLUTではなく、一部のLUTが保持するLUTデータを更新する場合でも、コンフィグレーション処理のためにかかる時間が長くなる。
Further, the LUT data held by all the LUTs mounted on the
コンフィグレーション処理は、全てのLUTが保持するLUTデータを更新する処理であり、該コンフィグレーション処理が行われている間、FPGA3はデバイスとしては機能しない。
The configuration process is a process for updating the LUT data held by all the LUTs, and the
このため、FPGA3に対してコンフィグレーション処理が行われている間、FPGA3はコンフィグレーション処理以外の動作が行われないため、この間、電子機器1は動作しない。例えば、電子機器1が通信機器である場合、FPGA3に対してコンフィグレーション処理が行われている間、該通信機器は機能しない。
For this reason, while the configuration process is being performed on the
そこで、実施形態では、コンフィグレーション処理を行うことなく、FPGA3に搭載される各LUTのうち一部のLUTのみについて、LUTデータの更新を行うために、LUT更新モジュールがFPGA3に搭載される。
Therefore, in the embodiment, the LUT update module is mounted on the
LUT更新モジュール12は、バスインタフェース10に接続される回路であり、論理データ更新部の一例である。制御装置5は、FPGA3に搭載される複数のLUTのうち更新対象である一部のLUTにのみ、LUTデータを更新する指示(以下、更新指示と称する)を生成する。
The
図4を参照して、制御装置2の一例について説明する。制御装置2は、記憶部20と検出部21と更新指示生成部22とデータ出力部23と画面制御部24と入力受け付け部25とを含む。
An example of the
また、制御装置2は、表示装置31と入力装置32とCPU5とに接続される。表示装置31は、例えばディスプレイであり、入力装置32は、例えばマウスやキーボード等である。
The
記憶部20には各種のデータが記憶される。例えば、FPGA3に搭載される全てのLUTが保持するLUTデータを記述したコード(プログラムコード)が記憶部20に記憶される。
Various data are stored in the
このプログラムコードが変更された場合、検出部21は、プログラムコードのうち変更された部分を検出する。例えば、プログラムコードには、LUTのアドレスとLUTデータとの対応関係が、各LUTのそれぞれについて記述される。
When the program code is changed, the
各LUTのアドレスのうち何れかのアドレスに対応するLUTのLUTデータが変更された場合、検出部21は、変更されたLUTデータのアドレスおよび更新後のLUTデータを検出する。
When the LUT data of the LUT corresponding to any one of the addresses of each LUT is changed, the
例えば、プログラムコードが編集された場合、編集前のプログラムコードと編集後のプログラムコードとの文字列の比較により、更新されたLUTのアドレスおよび更新後のLUTデータが検出されてもよい。 For example, when the program code is edited, the address of the updated LUT and the updated LUT data may be detected by comparing character strings of the program code before editing and the program code after editing.
更新指示生成部22は、検出部21が検出したLUTのアドレスに対応するLUTが保持するLUTデータを更新する更新指示を生成する。この更新指示には、LUTのアドレスと、更新後のLUTデータと、LUTデータの更新を有効にするイネーブル信号とが含まれる。
The update
データ出力部23は、生成された更新指示をCPU5に出力する。画面制御部24は、表示装置31の画面制御を行う。例えば、画面制御部24は、上記のプログラムコードを表示装置31に表示する制御を行う。
The
入力受け付け部25は、入力装置32を用いて行われた操作を受け付ける。例えば、制御装置2を操作する操作者は、入力装置32を用いて、上記のプログラムコードを編集する。入力受け付け部25は、編集された内容を受け付ける。
The
図5は、更新指示の生成の一例を示す。図5の例において、表示装置31には、プログラムコードを編集するための編集画面(図5では「コード編集画面」と表記)が表示される。
FIG. 5 shows an example of generation of an update instruction. In the example of FIG. 5, the
LUTデータの更新前において、プログラムコードには「LUT0=AND」が記述されている(図5の例における破線部分)。この記述は、アドレス「0」のLUTにAND論理が設定されていることを示す。また、プログラムコードには、他のLUTについての論理が設定されている。 Before updating the LUT data, “LUT0 = AND” is described in the program code (the broken line portion in the example of FIG. 5). This description indicates that AND logic is set in the LUT having the address “0”. In addition, logic for other LUTs is set in the program code.
例えば、制御装置2の操作者は、入力装置32を用いて、図5の例に示すように、「LUT0=AND」を「LUT0=NAND」に変更したとする。この場合、検出部21は、「LUT0=AND」の文字列が「LUT0=NAND」に変更されたことを検出する。
For example, it is assumed that the operator of the
図5は、LUT―0のLUTデータが変更される例を示すが、複数のLUTのLUTデータが変更されてもよい。例えば、LUT―0およびLUT―1の2つのLUTのLUTデータが変更されてもよい。 FIG. 5 shows an example in which the LUT data of LUT-0 is changed, but the LUT data of a plurality of LUTs may be changed. For example, the LUT data of two LUTs, LUT-0 and LUT-1, may be changed.
プログラムコードの変更が終了すると(例えば、編集後のプログラムコードが保存された場合等)、更新指示生成部22は、検出部21が検出した変更に基づいて、更新指示を生成する。
When the change of the program code is completed (for example, when the edited program code is saved), the update
図5の例の場合、検出部21は、アドレス「0」のLUTが保持するLUTデータがAND論理からNAND論理に更新されたことを検出する。従って、更新指示生成部22は、更新されたLUTのアドレス「0」と、更新後のLUTデータであるNAND論理を示す機械語と、イネーブル信号とを含む更新指示を生成する。
In the case of the example of FIG. 5, the
図6は、更新指示の生成の他の例を示す。図6の例において、LUT更新画面は、制御装置2により実行される所定のソフトウェアの制御により、表示装置31に表示される画面である。
FIG. 6 shows another example of generation of an update instruction. In the example of FIG. 6, the LUT update screen is a screen displayed on the
操作者は、入力装置32を用いて、LUTデータの更新を行う対象のLUTを特定する。例えば、図6の例の場合、操作者は、入力装置32としてのマウスを用いて、「LUT−0」のプルダウンメニューMにポインタPを合わせて押下する。
The operator uses the
入力受け付け部25が、この押下操作を受け付けると、画面制御部24は表示装置31に各種の論理回路(例えば、OR論理やEOR論理等)を示す情報を表示する。操作者は、マウスを用いて、所望の論理回路を選択する。
When the
入力受け付け部25が、この選択操作を受け付ける。これにより、更新指示生成部22は、更新されたLUTのアドレス「0」と、更新後のLUTデータであるNAND論理を示す機械語と、イネーブル信号とを含む更新指示を生成する。
The
図7の例に示されるように、更新指示が生成されると、制御装置2のデータ出力部23は、CPU5に生成された更新指示を出力する。CPU5は、バスインタフェース10に更新指示を出力する。
As shown in the example of FIG. 7, when an update instruction is generated, the
この更新指示は、バスインタフェース10を介して、LUT更新モジュール12に入力される。図8は、更新指示を入力したLUT更新モジュール12の出力の一例を示す。
This update instruction is input to the
図8の例では、更新指示は、NAND論理を示すLUTデータと、アドレス「0」を示すデータと、各LUTが保持するLUTデータの更新を有効にするイネーブル信号とを含む。この更新指示がLUT更新モジュール12に入力される。
In the example of FIG. 8, the update instruction includes LUT data indicating NAND logic, data indicating an address “0”, and an enable signal that enables updating of the LUT data held by each LUT. This update instruction is input to the
LUT更新モジュール12は、イネーブル信号制御部41を含む。イネーブル信号制御部41は、LUT更新モジュール12に接続される各LUTに対して、イネーブル信号を有効または無効にして、出力する制御を行う回路である。
The
図8の例の場合、LUT更新モジュール12は、入力した更新指示に含まれるNAND論理を示すLUTデータを、FPGA3に搭載される各LUTに出力する。また、LUT更新モジュール12は、入力した更新指示に含まれるアドレス「0」を示すデータを各LUTに出力する。
In the example of FIG. 8, the
イネーブル信号制御部41は、更新指示に含まれるアドレス「0」と、「有効」であることを示すイネーブル信号とを入力する。イネーブル信号制御部41は、更新指示に含まれるアドレスに対応するLUT以外のLUTに対するイネーブル信号を有効から無効に変更する。
The enable
図8の例の場合、更新指示に含まれるアドレスは「0」である。よって、イネーブル信号制御部41は、LUT−0以外のLUTに出力するイネーブル信号を有効から無効に変更する。この場合、LUT−1およびLUT−2に出力されるイネーブル信号は無効に変更される。
In the example of FIG. 8, the address included in the update instruction is “0”. Therefore, the enable
一方、イネーブル信号制御部41は、LUT−0に出力されるイネーブル信号を変更しない。このため、LUT−0に出力されるイネーブル信号は有効のままである。
On the other hand, the enable
図9の例に示されるように、LUT−0は、NAND論理を示すLUTデータおよびアドレス「0」を示すデータを入力する。また、LUT−0は、有効であることを示すイネーブル信号を入力する。LUT−0は、入力したアドレスが「0」であり、イネーブル信号が有効であるため、LUTデータの更新を行う。 As shown in the example of FIG. 9, the LUT-0 inputs LUT data indicating NAND logic and data indicating an address “0”. The LUT-0 inputs an enable signal indicating that it is valid. LUT-0 updates the LUT data because the input address is “0” and the enable signal is valid.
これにより、LUT−0が保持するLUTデータは、AND論理からNAND論理に変更される。FPGA3に搭載される各LUTのうち、LUT−0以外のLUTには、無効であることを示すイネーブル信号が入力される。このため、LUT−0以外のLUTは、LUTデータの更新を行わない。
As a result, the LUT data held by the LUT-0 is changed from the AND logic to the NAND logic. Among the LUTs mounted on the
従って、LUT更新モジュール12は、入力した更新指示に基づいて、FPGA3に搭載される各LUTのうち一部のLUT(更新対象のLUT)のみについて、LUTデータを更新する。
Accordingly, the
従って、FPGA3に対するコンフィグレーション処理を行うことなく、更新対象のLUTが保持するLUTデータが更新される。上述したように、コンフィグレーション処理が行われる場合、コンフィグレーションROM4の先頭の領域から全領域が更新されるため、コンフィグレーション処理の時間が長くなる。
Therefore, the LUT data held by the update target LUT is updated without performing configuration processing for the
実施形態では、FPGA3に搭載される各LUTのうち一部のLUTが保持するLUTデータが更新される場合、コンフィグレーション処理は行われない。この場合、LUT更新モジュールが、更新対象のLUTが保持するLUTデータのみを更新するため、更新時間を短縮化することができる。
In the embodiment, the configuration process is not performed when the LUT data held by some of the LUTs mounted on the
例えば、FPGA3に搭載されるLUTの数が数十万個程度の場合、コンフィグレーション処理に数時間程度かかる場合がある。FPGA3に搭載される各LUTのうち1つのLUT(LUT−0)が保持するLUTデータの更新がコンフィグレーション処理により行われると、更新処理に数時間程度かかることになる。
For example, when the number of LUTs mounted on the
実施形態では、FPGA3に搭載されるLUT更新モジュール12は、制御装置2で指定されたLUT−0が保持するLUTデータのみを更新する。このため、FPGA3に搭載されるLUTの数が数十万個程度の場合でも、数分程度で更新処理が終了することがある。従って、LUTデータの更新時間が短くなる。
In the embodiment, the
また、LUT更新モジュール12は、FPGA3に搭載される複数のLUTのうち、更新指示で特定されるLUTのみを更新する。該LUTが更新されている間、LUT更新モジュール12は、FPGA3に搭載される各LUTのうち、更新対象以外のLUTに対して、LUTデータの更新を無効にするイネーブル信号を出力する。
Further, the
従って、更新指示で特定されるLUTが更新されている間、更新対象以外のLUTは動作することができる。更新対象のLUTがLUT−0のみである場合、FPGA3に搭載される複数のLUTのうち、LUT−0以外のLUTは動作可能である。
Accordingly, while the LUT specified by the update instruction is being updated, LUTs other than the update target can operate. When the LUT to be updated is only LUT-0, LUTs other than LUT-0 are operable among the plurality of LUTs mounted on the
コンフィグレーション処理が行われる場合、FPGA3はデバイスとして機能しない。一方、実施形態では、FPGA3に搭載される各LUTのうち一部のLUTが更新されている間でも、更新対象以外のLUTは動作するため、LUTの更新中にFPGA3をデバイスとして機能させることができる。
When the configuration process is performed, the
<実施形態のフローチャートの一例>
次に、制御装置2の処理の流れの一例について、図10のフローチャートを参照して説明する。制御装置2は、FPGA3のLUTの更新操作を受け付けた場合、該更新操作はコンフィグレーション処理を指定した操作であるかを判定する(ステップS1)。
<Example of Flowchart of Embodiment>
Next, an example of the processing flow of the
この判定は、例えば、入力受け付け部25が入力装置32から受け付けた入力に基づいて行われてもよい。コンフィグレーション処理が指定された場合(ステップS1でYES)、制御装置2は、FPGA3にコンフィグレーションを実行させるコンフィグレーション指示をコンフィグレーションROM4に出力する(ステップS2)。
This determination may be made based on an input received from the
この場合、コンフィグレーションROM4の先頭の領域から全領域が更新されて、一括設定データが記憶されるコンフィグレーション処理が実行される。コンフィグレーション処理が実行される場合、FPGA3は機能しない。
In this case, the entire area is updated from the top area of the
コンフィグレーション処理が指定されない場合(ステップS1でNO)、更新指示生成部22は、入力受け付け部25が受け付けた入力内容に基づいて、更新対象のLUTのアドレスを特定する(ステップS3)。
When the configuration process is not specified (NO in step S1), the update
また、更新指示生成部22は、特定されたLUTに対応するLUTデータを認識する(ステップS4)。認識されたLUTデータは、更新後の論理を示すデータである。例えば、LUT−0に対応付けられていたAND論理がNAND論理に変更された場合、検出部21は、該変更を検出する。
The update
これにより、更新指示生成部22は、特定されたLUTに対応するLUTデータを認識する。更新指示生成部22は、特定されたLUTのみについての更新指示を生成する(ステップS5)。
Thereby, the update
この更新指示には、特定されたLUTのアドレスと、更新後のLUTデータと、LUTデータの更新を有効にするイネーブル信号とが含まれる。データ出力部23は、生成された更新指示をCPU5に出力する(ステップS6)。CPU5に出力された更新指示は、FPGA3に入力される。
This update instruction includes the address of the specified LUT, the updated LUT data, and an enable signal for enabling the update of the LUT data. The
次に、FPGA3の処理の一例について、図11のフローチャートを参照して説明する。CPU5からFPGA3のバスインタフェース10に更新指示が入力される。そして、該更新指示はLUT更新モジュール12に入力される。
Next, an example of processing of the
LUT更新モジュール12は、更新指示に含まれるLUTデータを、FPGA3に搭載される各LUTに出力する(ステップS11)。また、LUT更新モジュール12は、更新指示に含まれるアドレスを示すデータを、FPGA3に搭載される各LUTに出力する(ステップS12)。
The
LUT更新モジュール12のイネーブル信号制御部41は、イネーブル信号およびアドレスを示すデータを入力する。イネーブル信号制御部41は、更新指示に含まれるアドレスを示すデータに基づいて、LUTごとに、有効または無効のイネーブル信号を出力する(ステップS13)。
The enable
イネーブル信号制御部41は、更新指示に含まれるアドレスを示すデータに基づいて、該アドレスのLUTに対しては、イネーブル信号を有効にしたまま出力する。
Based on the data indicating the address included in the update instruction, the enable
一方、イネーブル信号制御部41は、更新指示に含まれるアドレス以外のアドレスのLUTに対して、イネーブル信号を有効から無効に変更し、無効に変更されたイネーブル信号を出力する。
On the other hand, the enable
更新対象のLUTは、更新指示に含まれるLUTデータと、アドレスを示すデータと、有効であることを示すイネーブル信号とを入力する。これにより、更新対象のLUTは、保持しているLUTデータを、入力したLUTデータに更新する(ステップS14)。 The LUT to be updated receives LUT data included in the update instruction, data indicating an address, and an enable signal indicating validity. As a result, the update target LUT updates the held LUT data to the input LUT data (step S14).
従って、更新対象のLUTによるLUTデータの更新処理が行われる。該更新処理が行われている間、FPGA3は、更新対象のLUT以外のLUTにより実現される論理回路を動作させる(ステップS15)。
Therefore, LUT data update processing is performed by the update target LUT. While the update process is being performed, the
以上により、コンフィグレーション処理が行われることなく、更新対象のLUTが保持するLUTデータが更新される。このため、更新を行うための時間を短くすることができる。 As described above, the LUT data held by the update target LUT is updated without performing the configuration process. For this reason, the time for updating can be shortened.
また、更新対象のLUTが更新されている間、更新対象のLUT以外のLUTは論理回路として機能するため、FPGA3は機能する。例えば、電子機器1が通信機器の場合、FPGA3のうち一部のLUTが更新されている場合でも、通信機器は通信を行うことができる。
Also, while the update target LUT is being updated, the
<制御装置のハードウェア構成の一例>
次に、図12の例を参照して、制御装置2のハードウェア構成の一例を説明する。図12の例に示すように、バス100に対して、プロセッサ111とRandom Access Memory(RAM)112とROM113とが接続される。また、該バス100に対して、補助記憶装置114と媒体接続部115と表示装置31と入力装置32とが接続される。
<Example of hardware configuration of control device>
Next, an example of the hardware configuration of the
プロセッサ111はRAM112に展開されたプログラムを実行する。実行されるプログラムとしては、実施形態における制御装置の処理を行うプログラムが適用されてもよい。
The
ROM113はRAM112に展開されるプログラムを記憶する不揮発性の記憶装置である。このROM113は、制御装置2のROM113であり、コンフィグレーションROM4とは異なる。
The
補助記憶装置114は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等を補助記憶装置114に適用してもよい。媒体接続部115は、可搬型記録媒体118と接続可能に設けられている。
The
可搬型記録媒体118としては、可搬型のメモリや光学式ディスク(例えば、Compact Disc(CD)やDigital Versatile Disc(DVD)、半導体メモリ等)を適用してもよい。この可搬型記録媒体118に実施形態の処理を行うプログラムが記録されていてもよい。 As the portable recording medium 118, a portable memory or an optical disc (for example, Compact Disc (CD), Digital Versatile Disc (DVD), semiconductor memory, etc.) may be applied. A program for performing the processing of the embodiment may be recorded on the portable recording medium 118.
表示装置31は、上述したように、例えばディスプレイである。入力装置32は、上述したように、例えばマウスやキーボード等である。
As described above, the
記憶部20は、RAM112や補助記憶装置114等により実現されてもよい。制御装置2の検出部21と更新指示生成部22とデータ入出力部23と画面制御部24と入力受け付け部25とは、与えられたプログラムをプロセッサ111が実行することにより実現されてもよい。
The
RAM112、ROM113、補助記憶装置114および可搬型記録媒体118は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
The
<その他>
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
<Others>
The present embodiment is not limited to the above-described embodiment, and various configurations or embodiments can be taken without departing from the gist of the present embodiment.
1 電子機器
2 制御装置
3 FPGA
4 コンフィグレーションROM
10 バスインタフェース
11 記憶回路
12 更新モジュール
21 検出部
22 更新指示生成部
23 データ入出力部
24 画面制御部
25 入力受け付け部
31 表示装置
32 入力装置
111 プロセッサ
112 RAM
113 ROM
1
4 Configuration ROM
DESCRIPTION OF
113 ROM
Claims (6)
前記プログラマブルデバイスを制御する制御装置が、前記複数の論理データ保持部のうち一部の論理データ保持部が保持する論理データを更新する指示を前記プログラマブルデバイスに出力し、
前記プログラマブルデバイスに搭載された論理データ更新部が、前記指示に基づいて、前記一部の論理データ保持部が保持する論理データを更新する、
ことを特徴とするプログラマブルデバイスの制御方法。 A control method for controlling a programmable device having a plurality of logic data holding units for holding logic data indicating the function of a logic circuit,
The control device for controlling the programmable device outputs an instruction to update the logical data held by some of the plurality of logical data holding units to the programmable device,
The logical data update unit mounted on the programmable device updates the logical data held by the partial logical data holding unit based on the instruction.
A control method of a programmable device characterized by the above.
を特徴とする請求項1記載のプログラマブルデバイスの制御方法。 The instruction includes specific data for specifying the part of the logical data holding unit, logical data corresponding to the part of the logical data holding unit, a signal for enabling the updating of the plurality of logical data holding units, Including,
The method of controlling a programmable device according to claim 1.
前記複数の論理データ保持部に前記更新内容を示す論理データを出力し、
前記特定データに基づいて、前記複数の論理データ保持部のうち、前記一部の論理データ保持部以外の論理データ保持部に対する前記信号を有効から無効に変更する、
ことを特徴とする請求項2記載のプログラマブルデバイスの制御方法。 The logical data update unit
Outputting logical data indicating the update content to the plurality of logical data holding units;
Based on the specific data, the signal for the logical data holding units other than the partial logical data holding unit among the plurality of logical data holding units is changed from valid to invalid.
The method of controlling a programmable device according to claim 2.
前記複数の論理データ保持部のうち、前記論理データの更新を行う論理データ保持部の指定および更新される論理データの入力を受け付け、
指定された論理データ保持部を前記一部の論理データ保持部として、該一部の論理データ保持部についてのみの前記指示を生成する、
ことを特徴とする請求項2または3記載のプログラマブルデバイスの制御方法。 The controller is
Among the plurality of logical data holding units, accepting the designation of the logical data holding unit for updating the logical data and the input of the logical data to be updated,
The designated logical data holding unit is used as the partial logical data holding unit, and the instruction is generated only for the partial logical data holding unit.
The method of controlling a programmable device according to claim 2 or 3,
前記論理データ更新部が、前記一部の論理データ保持部が保持する論理データを更新している間、前記複数の論理データ保持部のうち前記一部の論理データ保持部以外の論理データ保持部により実現される論理回路を動作させる、
ことを特徴とする請求項1乃至4のうち何れか1項に記載のプログラマブルデバイスの制御方法。 The programmable device is:
While the logical data updating unit is updating the logical data held by the part of the logical data holding unit, the logical data holding unit other than the part of the logical data holding unit among the plurality of logical data holding units Operate the logic circuit realized by
The method for controlling a programmable device according to any one of claims 1 to 4, wherein:
前記複数の論理データ保持部のうち一部の論理データ保持部が保持する論理データを更新する指示に基づいて、前記一部の論理データ保持部が保持する論理データを更新する論理データ更新部と、
を備えることを特徴とするプログラマブルデバイス。 A plurality of logical data holding units for holding logical data indicating the function of the logic circuit;
A logical data updating unit that updates logical data held by the some logical data holding units based on an instruction to update logical data held by some logical data holding units among the plurality of logical data holding units; ,
A programmable device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016047748A JP6701828B2 (en) | 2016-03-11 | 2016-03-11 | Programmable device control method and programmable device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016047748A JP6701828B2 (en) | 2016-03-11 | 2016-03-11 | Programmable device control method and programmable device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017163435A true JP2017163435A (en) | 2017-09-14 |
JP6701828B2 JP6701828B2 (en) | 2020-05-27 |
Family
ID=59858133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016047748A Active JP6701828B2 (en) | 2016-03-11 | 2016-03-11 | Programmable device control method and programmable device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6701828B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002208638A (en) * | 2001-01-09 | 2002-07-26 | Fuji Xerox Co Ltd | Method and system of information processing |
JP2005136956A (en) * | 2003-10-08 | 2005-05-26 | Toshiba Corp | Logic circuit device, and operating voltage change method |
JP2008112508A (en) * | 2006-10-30 | 2008-05-15 | Elpida Memory Inc | Memory circuit, semiconductor device, and control method of memory circuit |
JP2010206513A (en) * | 2009-03-03 | 2010-09-16 | Renesas Electronics Corp | Semiconductor device |
JP2014116054A (en) * | 2012-12-12 | 2014-06-26 | Nec Corp | Integrated circuit |
JP2016015710A (en) * | 2014-06-09 | 2016-01-28 | 株式会社デンソー | Programmable logistic device and configuration method of programmable logistic device |
-
2016
- 2016-03-11 JP JP2016047748A patent/JP6701828B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002208638A (en) * | 2001-01-09 | 2002-07-26 | Fuji Xerox Co Ltd | Method and system of information processing |
JP2005136956A (en) * | 2003-10-08 | 2005-05-26 | Toshiba Corp | Logic circuit device, and operating voltage change method |
JP2008112508A (en) * | 2006-10-30 | 2008-05-15 | Elpida Memory Inc | Memory circuit, semiconductor device, and control method of memory circuit |
JP2010206513A (en) * | 2009-03-03 | 2010-09-16 | Renesas Electronics Corp | Semiconductor device |
JP2014116054A (en) * | 2012-12-12 | 2014-06-26 | Nec Corp | Integrated circuit |
JP2016015710A (en) * | 2014-06-09 | 2016-01-28 | 株式会社デンソー | Programmable logistic device and configuration method of programmable logistic device |
Also Published As
Publication number | Publication date |
---|---|
JP6701828B2 (en) | 2020-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140195794A1 (en) | Electronic device with baseboard management controller updating system | |
JP2005293659A (en) | Memory device and reference current setting method | |
JP5542823B2 (en) | System and method for using sound to distinguish key presses | |
US7987354B2 (en) | Updating a source image file in a BIOS memory | |
JP6215105B2 (en) | Program conversion apparatus and conversion processing program | |
EP3118755A1 (en) | Searching program, searching method, and searching device | |
JP5747698B2 (en) | Requirements management support device | |
JP6701828B2 (en) | Programmable device control method and programmable device | |
JP5811859B2 (en) | Source code static analysis device, system, method, and program therefor | |
WO2020213129A1 (en) | Debugging assistance device, debugging assistance method and debugging assistance program | |
JP4089576B2 (en) | Parameter setting device and parameter setting program | |
JP6779101B2 (en) | Graphical user interface processor | |
US10963197B2 (en) | Image processing apparatus that installs application modules, control method therefor, and storage medium | |
KR20110074671A (en) | Data processing apparatus and method | |
JP5835498B2 (en) | LSI and LSI manufacturing method | |
JP4865449B2 (en) | Difference generation device, difference application device, difference generation program, difference application program, difference generation application system, and difference generation application method | |
KR102466551B1 (en) | Data writing method, device, and electronic equipment | |
JP4362777B2 (en) | Programming device, symbol automatic registration method, program, and recording medium | |
JP2018050258A (en) | Information processing apparatus, information processing system, and information processing method | |
JP2017199226A (en) | Program editing method, program development support device, and programmable controller | |
JP2009239344A (en) | Description processing apparatus, description processing method and program | |
CN117672340A (en) | One-time programmable automatic chip system verification method, device and terminal | |
JP2007295143A (en) | Image processing apparatus | |
JP2008226186A (en) | Integrated circuit, test condition setting method therefor, and program | |
US20060282250A1 (en) | Logic simulation method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191023 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191120 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20191120 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20191120 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200420 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6701828 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |