JPWO2017188416A1 - 回路装置、回路書き換え方法、及びプログラム - Google Patents

回路装置、回路書き換え方法、及びプログラム Download PDF

Info

Publication number
JPWO2017188416A1
JPWO2017188416A1 JP2018514724A JP2018514724A JPWO2017188416A1 JP WO2017188416 A1 JPWO2017188416 A1 JP WO2017188416A1 JP 2018514724 A JP2018514724 A JP 2018514724A JP 2018514724 A JP2018514724 A JP 2018514724A JP WO2017188416 A1 JPWO2017188416 A1 JP WO2017188416A1
Authority
JP
Japan
Prior art keywords
logic circuit
circuit
new
area
expanded
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.)
Pending
Application number
JP2018514724A
Other languages
English (en)
Inventor
潔 池浦
潔 池浦
康仁 元井
康仁 元井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Solution Innovators Ltd
Original Assignee
NEC Solution Innovators Ltd
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 NEC Solution Innovators Ltd filed Critical NEC Solution Innovators Ltd
Publication of JPWO2017188416A1 publication Critical patent/JPWO2017188416A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17756Structural details of configuration resources for partial configuration or partial reconfiguration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • G06F30/343Logical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Abstract

回路装置10は、論理回路を展開可能な論理回路展開領域21及び22を有する、回路構築部20と、指定された論理回路を論理回路展開領域に展開する、回路制御部30と、を備え、回路制御部30は、論理回路展開領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の論理回路展開領域に新たな論理回路を展開し、新たな論理回路の展開が終了してから、論理回路展開領域の一つに先に展開されている論理回路の動作を停止させる。

Description

本発明は、論理回路の書き換えが可能となった回路装置、それを用いた回路書き換え方法、及びこれらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
FPGA(Field Programmable Gate Array)は、ユーザが自由にプログラミングできる集積回路である。近年、FPGAは、その特性から、デジタルカメラ、カムコーダ、ハードディスクレコーダといった種々の電子機器において採用されている。
具体的には、FPGAは、論理ブロックを複数備えており、各論理ブロックをプログラムに応じて電気的に接続することで、種々の論理回路を構成することができる。また、FPGAにおいては、論理回路の一部を動的に書き換えること(パーシャル・リコンフィギュレーション)が可能となっており、組み込み先の電子機器の仕様変更に対応できる。
例えば、非特許文献1は、書き換えが不可能な論理回路が構築されているスタティック領域と、書き換えが可能な論理回路が構築されているリコンフィギャラブル領域と、を備えたFPGAを開示している。非特許文献1に開示されたFPGAでは、回路構成が記述されたファイルを読み込むことで、リコンフィギャラブル領域における論理回路の書き換えが可能となっている。
「Vivado Design Suite ユーザーガイド」、[online]、2015年11月18日,ザイリンクス、[2016年4月1日検索],インターネット<URL:http://japan.xilinx.com/support/documentation/sw_manuals_j/xilinx2015_4/ug909-vivado-partial-reconfiguration.pdf>
しかしながら、非特許文献1に開示されたFPGAでは、リコンフィギャラブル領域に構築されている現在の論理回路を新たな論理回路に書き換えるためには、まず、現在の論理回路を一旦停止し、その後に、新たな論理回路を再構築する必要がある。このため、非特許文献1に開示されたFPGAには、論理回路を書き換えている間、処理を実行できないという問題がある。
本発明の目的の一例は、上記問題を解消し、FPGAにおいて、処理を停止することなく、論理回路の書き換えを実行し得る、回路装置、回路書き換え方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
上記目的を達成するため、本発明の一側面における第1の回路装置は、
論理回路を展開可能な領域を少なくとも2つ有する、回路構築部と、
指定された論理回路を前記領域に展開する、回路制御部と、を備え、
前記回路制御部は、前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、ことを特徴とする。
上記目的を達成するため、本発明の一側面における第2の回路装置は、
論理回路を展開可能な領域を有する、回路構築部と、
指定された論理回路を前記領域に展開する、回路制御部と、を備え、
前記回路制御部は、前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、
ことを特徴とする。
また、上記目的を達成するため、本発明の一側面における第1の回路書き換え方法は、
論理回路を展開可能な領域を少なくとも2つ有する、回路装置を用いた方法であって、(a)前記回路装置が備えるプロセッサによって、指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、前記プロセッサによって、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、ステップと、
を有する、ことを特徴とする。
また、上記目的を達成するため、本発明の一側面における第2の回路書き換え方法は、
論理回路を展開可能な領域を有する、回路装置を用いた方法であって、
(a)前記回路装置が備えるコンピュータによって、指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、前記コンピュータによって、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、ステップと、
を有する、ことを特徴とする。
更に、上記目的を達成するため、本発明の一側面における第1のコンピュータ読み取り可能な記録媒体は、
論理回路を展開可能な領域を少なくとも2つ有する回路装置に備えられたコンピュータに、
(a)指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
更に、上記目的を達成するため、本発明の一側面における第2のコンピュータ読み取り可能な記録媒体は、
論理回路を展開可能な領域を有する回路装置に備えられたコンピュータに、
(a)指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
以上のように、本発明によれば、FPGAにおいて、処理を停止することなく、論理回路の書き換えを実行することができる。
図1は、本発明の実施の形態1における回路装置の構成を示すブロック図である。 図2は、本発明の実施の形態1における回路装置の機能を示す図である。 図3は、本発明の実施の形態1における回路装置の動作を示すフロー図である。 図4は、本発明の実施の形態2における回路装置の構成を示すブロック図である。 図5は、本発明の実施の形態2における回路装置の機能を示す図である。 図6は、本発明の実施の形態2における回路装置の動作を示すフロー図である。 図7は、本発明の実施の形態1及び2において回路装置を実現するコンピュータの一例を示すブロック図である。
(実施の形態1)
以下、本発明の実施の形態1における、回路装置、回路書き換え方法、及びプログラムについて、図1〜図3を参照しながら説明する。
[装置構成]
最初に、図1を用いて、本実施の形態1における回路装置の構成について説明する。図1は、本発明の実施の形態1における回路装置の構成を示すブロック図である。
図1に示す本実施の形態1における回路装置10は、FPGA(Field Programmable Gate Array)であり、ユーザが自由にプログラミングできる集積回路である。図1に示すように、回路装置10は、回路構築部20と、回路制御部30とを備えている。
回路構築部20は、論理回路を展開可能な領域(以下「論理回路展開領域」)を少なくとも2つ有している。なお、図1の例では、2つの論理回路展開領域21及び22が例示されている。
回路制御部30は、指定された論理回路を論理回路展開領域21又は22に展開する。また、回路制御部30は、論理回路展開領域21及び22の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の論理回路展開領域に新たな論理回路を展開する。更に、論理回路制御部30は、新たな論理回路の展開が終了してから、論理回路展開領域の一つに先に展開されている論理回路の動作を停止させる。
このように、本実施の形態1では、論理回路を動的に書き換える必要が生じた場合に、既存の論理回路を停止する前に、新たな論理回路を構築することができる。つまり、本実施の形態1によれば、FPGAにおいて、処理を停止することなく、論理回路の書き換えを実行することが可能となる。
ここで、図1に加えて図2を用いて、本実施の形態1における回路装置の構成及び機能について更に具体的に説明する。図2は、本発明の実施の形態1における回路装置の機能を示す図である。なお、図2においては、説明のために、回路構築部20のみを図示している。
図1に示すように、本実施の形態では、回路装置10において、回路制御部30は、記録媒体40から、論理回路を展開するためのプログラムを読み出し、読み出したプログラムを実行することによって論理回路展開領域に論理回路を展開する。また、図1において、プログラムAは論理回路Aを展開し、プログラムBは論理回路Bを展開し、プログラムCは論理回路Cを展開し、プログラムDは論理回路Dを展開する。
そして、図2の上側の図に示すように、論理回路展開領域21に論理回路Aが展開され、論理回路展開領域22が未使用である場合に、論理回路Aに対して、論理回路Cへの書き換えが指示されたとする。
この場合、図2の中央の図に示すように、回路制御部30は、論理回路Aの動作を継続させた状態で、記録媒体40からプログラムCを読み出し、読み出したプログラムCを実行して、論理回路展開領域22に論理回路Cを展開する。これにより、回路構築部20においては、論理回路Aと論理回路Cとが展開された状態となる。
続いて、図2の下側の図に示すように、回路制御部30は、論理回路Cの展開が終了すると、論理回路Aの動作を停止させ、代わりに論理回路Cの動作を開始させる。この結果、論理回路Aから論理回路Cへの切り替えはシームレスに行なわれ、論理回路が動作を停止している時間の発生が抑制される。
[装置動作]
次に、本発明の実施の形態1における回路装置10の動作について図3を用いて説明する。図3は、本発明の実施の形態1における回路装置の動作を示すフロー図である。以下の説明においては、適宜図1及び図2を参酌する。また、本実施の形態1では、回路装置10を動作させることによって、回路書き換え方法が実施される。よって、本実施の形態1における回路書き換え方法の説明は、以下の回路装置10の動作説明に代える。
まず、前提として、回路制御部30は、記録媒体40から、いずれかの論理回路を展開するためのプログラムを読み出し、このプログラムを実行して、論理回路展開領域の1つに、論理回路を展開しているとする。
図3に示すように、最初に、回路制御部30は、論理回路の書き換えの指示を受け取る(ステップA1)。
次に、回路制御部30は、記録媒体40から、書き換えが指示された新規の論理回路を展開するためのプログラムを読み出す(ステップA2)。
次に、回路制御部30は、ステップA2で読み出したプログラムを実行して、未使用の論理回路展開領域に、新規の論理回路を展開する(ステップA3)。
その後、回路制御部30は、新規の論理回路の展開が終了したことを確認すると、先に展開されていた論理回路の動作を停止すると共に、新規の論理回路を動作させる(ステップA4)。
以上のように本実施の形態1によれば、論理回路から論理回路への切り替えはシームレスに行なわれ、論理回路が動作を停止している時間の発生が抑制されるので、処理を停止することなく、論理回路の書き換えを実行することが可能となる。
[プログラム]
本実施の形態1におけるプログラムは、コンピュータに、図3に示すステップA1〜A4を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態1における回路装置10と回路書き換え方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、回路制御部30として機能し、処理を行なう。
(実施の形態2)
次に本発明の実施の形態2における、回路装置、回路書き換え方法、及びプログラムについて、図4〜図6を参照しながら説明する。
[装置構成]
最初に、図4を用いて、本実施の形態2における回路装置の構成について説明する。図4は、本発明の実施の形態2における回路装置の構成を示すブロック図である。
図4に示す本実施の形態2における回路装置50も、実施の形態1における回路装置10と同様に、FPGA(Field Programmable Gate Array)であり、ユーザが自由にプログラミングできる集積回路である。
また、図4に示すように、回路装置50も、回路装置10と同様に、回路構築部60と、回路制御部70とを備えている。そして、回路構築部60は、論理回路を展開可能な論理回路展開領域61を有している。また、回路制御部70は、記録媒体40から、論理回路を展開するためのプログラムを読み出し、読み出したプログラムを実行することによって論理回路展開領域に論理回路を展開する。
但し、本実施の形態2は、以下の点で実施の形態1と異なっている。以下、実施の形態1との相違点を中心に説明する。
まず、図4に示すように、本実施の形態1においては、回路構築部60が有する論理回路展開領域61は複数ではなく、1つのみである。このため、論理回路展開領域61に展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合は、回路制御部70が、先に展開されている論理回路として動作する。
具体的には、回路制御部70は、先に展開されている論理回路の代わりに、この論理回路が実行すべき処理を実行すると共に、論理回路展開領域に新たな論理回路を展開する。そして、回路制御部70は、新たな論理回路の展開が終了してから、先に展開している論理回路が実行すべき処理の実行を停止する。
ここで、図5を用いて、本実施の形態2における回路装置の機能について更に具体的に説明する。図5は、本発明の実施の形態2における回路装置の機能を示す図である。なお、図5においては、説明のために、回路構築部60と回路制御部70のみを図示している。
図5の上側の図に示すように、論理回路展開領域61に論理回路Aが展開されている場合に、論理回路Aに対して、論理回路Bへの書き換えが指示されたとする。この場合、回路制御部70は、論理回路Aから処理を引き続き、論理回路Aとしての処理を開始する。
次に、図5の中央の図に示すように、回路制御部70は、論理回路Aとして処理を実行しながら、記録媒体40からプログラムBを読み出し、読み出したプログラムBを実行して、論理回路展開領域61に論理回路Bを展開する。また、回路制御部70は、論理回路
Bを展開している間、論理回路Aとしての処理を実行しているので、この間に、論理回路Aの処理が滞ることはない。
続いて、図5の下側の図に示すように、回路制御部70は、論理回路Bの展開が終了すると、論理回路Bの動作を開始させ、更に、論理回路Aとしての処理の実行を停止する。この結果、論理回路Aから論理回路Bへの切り替えはシームレスに行なわれ、論理回路が動作を停止している時間の発生が抑制される。
[装置動作]
次に、本発明の実施の形態2における回路装置50の動作について図6を用いて説明する。図6は、本発明の実施の形態2における回路装置の動作を示すフロー図である。以下の説明においては、適宜図4及び図5を参酌する。また、本実施の形態2では、回路装置50を動作させることによって、回路書き換え方法が実施される。よって、本実施の形態2における回路書き換え方法の説明は、以下の回路装置50の動作説明に代える。
まず、前提として、回路制御部70は、記録媒体40から、いずれかの論理回路を展開するためのプログラムを読み出し、このプログラムを実行して、論理回路展開領域61に、論理回路を展開しているとする。
図6に示すように、最初に、回路制御部70は、論理回路の書き換えの指示を受け取る(ステップB1)。
次に、回路制御部70は、先に展開されている論理回路の代わりに、この論理回路が実行すべき処理を実行する(ステップB2)。
次に、回路制御部70は、記録媒体40から、書き換えが指示された新規の論理回路を展開するためのプログラムを読み出す(ステップB3)。
次に、回路制御部70は、ステップB3で読み出したプログラムを実行して、論理回路展開領域61に、新規の論理回路を展開する(ステップB4)。
その後、回路制御部70は、新規の論理回路の展開が終了したことを確認すると、新規の論理回路を動作させ、更に、実行していた論理回路としての処理を停止する(ステップB5)。
以上のように本実施の形態2においても、実施の形態1と同様に、論理回路から論理回路への切り替えはシームレスに行なわれ、論理回路が動作を停止している時間の発生が抑制されるので、処理を停止することなく、論理回路の書き換えを実行することが可能となる。
[プログラム]
本実施の形態2におけるプログラムは、コンピュータに、図6に示すステップB1〜B5を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態2における回路装置50と回路書き換え方法とを実現することができる。この場合、コンピュータのCPU(Central Processing Unit)は、回路制御部70として機能し、処理を行なう。
(物理構成)
ここで、実施の形態1及び2におけるプログラムを実行することによって、回路制御部を実現するコンピュータについて図7を用いて説明する。図7は、本発明の実施の形態1及び2において回路装置を実現するコンピュータの一例を示すブロック図である。
図7に示すように、コンピュータ110は、CPU111と、メインメモリ112と、入力インターフェイス114と、データリーダ115とを備える。これらの各部は、バス113を介して、互いにデータ通信可能に接続される。
CPU111は、本実施の形態1または2におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体に格納された状態で提供される。なお、本実施の形態におけるプログラムは、インターネット上で流通するものであっても良い。
また、入力インターフェイス114は、CPU111と外部との間のデータ伝送を仲介する。データリーダ115は、CPU111と記録媒体との間のデータ伝送を仲介し、記録媒体からのデータの読み出しを実行する。
また、コンピュータ読み取り可能な記録媒体の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD−ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
上述した実施の形態の一部又は全部は、以下に記載する(付記1)〜(付記6)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
論理回路を展開可能な領域を少なくとも2つ有する、回路構築部と、
指定された論理回路を前記領域に展開する、回路制御部と、を備え、
前記回路制御部は、前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、
ことを特徴とする回路装置。
(付記2)
論理回路を展開可能な領域を有する、回路構築部と、
指定された論理回路を前記領域に展開する、回路制御部と、を備え、
前記回路制御部は、前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、
ことを特徴とする回路装置。
(付記3)
論理回路を展開可能な領域を少なくとも2つ有する、回路装置を用いた方法であって、(a)前記回路装置が備えるプロセッサによって、指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、前記プロセッサによって、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、ステップと、
を有する、ことを特徴とする回路書き換え方法。
(付記4)
論理回路を展開可能な領域を有する、回路装置を用いた方法であって、
(a)前記回路装置が備えるコンピュータによって、指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、前記コンピュータによって、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、ステップと、
を有する、ことを特徴とする回路書き換え方法。
(付記5)
論理回路を展開可能な領域を少なくとも2つ有する回路装置に備えられたコンピュータに、
(a)指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、ステップと、
を実行させる命令を含む、プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記6)
論理回路を展開可能な領域を有する回路装置に備えられたコンピュータに、
(a)指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、ステップと、
を実行させる命令を含む、プログラムを記録したコンピュータ読み取り可能な記録媒体。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2016年04月28日に出願された日本出願特願2016-090727を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上のように、本発明によれば、FPGAにおいて、処理を停止することなく、論理回路の書き換えを実行することができる。本発明は、FPGAに特に有用である。
10 回路装置(実施の形態1)
20 回路構築部
21、22 論理回路展開領域
30 回路制御部
40 記録媒体
50 回路装置(実施の形態2)
60 回路構築部
61 論理回路展開領域
70 回路制御部
110 コンピュータ
111 CPU
112 メインメモリ
113 バス
114 入力インターフェイス
115 データリーダ
本発明は、論理回路の書き換えが可能となった回路装置、それを用いた回路書き換え方法、及びこれらを実現するためのプログラムに関する。
回路制御部30は、指定された論理回路を論理回路展開領域21又は22に展開する。また、回路制御部30は、論理回路展開領域21及び22の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の論理回路展開領域に新たな論理回路を展開する。更に、回路制御部30は、新たな論理回路の展開が終了してから、論理回路展開領域の一つに先に展開されている論理回路の動作を停止させる。
まず、図4に示すように、本実施の形態においては、回路構築部60が有する論理回路展開領域61は複数ではなく、1つのみである。このため、論理回路展開領域61に展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合は、回路制御部70が、先に展開されている論理回路として動作する。
次に、図5の中央の図に示すように、回路制御部70は、論理回路Aとして処理を実行しながら、記録媒体40からプログラムBを読み出し、読み出したプログラムBを実行して、論理回路展開領域61に論理回路Bを展開する。また、回路制御部70は、論理回路Bを展開している間、論理回路Aとしての処理を実行しているので、この間に、論理回路Aの処理が滞ることはない。
(付記5)
論理回路を展開可能な領域を少なくとも2つ有する回路装置に備えられたコンピュータに、
(a)指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、ステップと、
を実行させる命令を含むプログラ
(付記6)
論理回路を展開可能な領域を有する回路装置に備えられたコンピュータに、
(a)指定された論理回路を前記領域に展開する、ステップと、
(b)前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、ステップと、
を実行させる命令を含むプログラ

Claims (6)

  1. 論理回路を展開可能な領域を少なくとも2つ有する、回路構築部と、
    指定された論理回路を前記領域に展開する、回路制御部と、を備え、
    前記回路制御部は、前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、
    ことを特徴とする回路装置。
  2. 論理回路を展開可能な領域を有する、回路構築部と、
    指定された論理回路を前記領域に展開する、回路制御部と、を備え、
    前記回路制御部は、前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、
    ことを特徴とする回路装置。
  3. 論理回路を展開可能な領域を少なくとも2つ有する、回路装置を用いた方法であって、(a)前記回路装置が備えるプロセッサによって、指定された論理回路を前記領域に展開する、ステップと、
    (b)前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、前記プロセッサによって、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、ステップと、
    を有する、ことを特徴とする回路書き換え方法。
  4. 論理回路を展開可能な領域を有する、回路装置を用いた方法であって、
    (a)前記回路装置が備えるコンピュータによって、指定された論理回路を前記領域に展開する、ステップと、
    (b)前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、前記コンピュータによって、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、ステップと、
    を有する、ことを特徴とする回路書き換え方法。
  5. 論理回路を展開可能な領域を少なくとも2つ有する回路装置に備えられたコンピュータに、
    (a)指定された論理回路を前記領域に展開する、ステップと、
    (b)前記領域の一つに展開されている論理回路に対して、新たな論理回路への書き換えが指示された場合に、別の前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記領域の一つに先に展開されている前記論理回路の動作を停止させる、ステップと、
    を実行させる命令を含む、プログラムを記録したコンピュータ読み取り可能な記録媒体。
  6. 論理回路を展開可能な領域を有する回路装置に備えられたコンピュータに、
    (a)指定された論理回路を前記領域に展開する、ステップと、
    (b)前記領域に展開されている前記論理回路に対して、新たな論理回路への書き換えが指示された場合に、先に展開されている前記論理回路の代わりに、前記論理回路が実行すべき処理を実行すると共に、前記領域に前記新たな論理回路を展開し、前記新たな論理回路の展開が終了してから、前記処理の実行を停止する、ステップと、
    を実行させる命令を含む、プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2018514724A 2016-04-28 2017-04-27 回路装置、回路書き換え方法、及びプログラム Pending JPWO2017188416A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016090727 2016-04-28
JP2016090727 2016-04-28
PCT/JP2017/016865 WO2017188416A1 (ja) 2016-04-28 2017-04-27 回路装置、回路書き換え方法、及びコンピュータ読み取り可能な記録媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020012726A Division JP2020099061A (ja) 2016-04-28 2020-01-29 回路装置、回路書き換え方法、及びプログラム

Publications (1)

Publication Number Publication Date
JPWO2017188416A1 true JPWO2017188416A1 (ja) 2019-03-07

Family

ID=60160805

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018514724A Pending JPWO2017188416A1 (ja) 2016-04-28 2017-04-27 回路装置、回路書き換え方法、及びプログラム
JP2020012726A Pending JP2020099061A (ja) 2016-04-28 2020-01-29 回路装置、回路書き換え方法、及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020012726A Pending JP2020099061A (ja) 2016-04-28 2020-01-29 回路装置、回路書き換え方法、及びプログラム

Country Status (3)

Country Link
US (1) US10958273B2 (ja)
JP (2) JPWO2017188416A1 (ja)
WO (1) WO2017188416A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018217016A1 (de) * 2017-10-27 2019-05-02 Robert Bosch Gmbh Ein-Chip-System und Sicherheitsschaltung mit einem derartigen Ein-Chip-System

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784313A (en) * 1995-08-18 1998-07-21 Xilinx, Inc. Programmable logic device including configuration data or user data memory slices
US6020758A (en) * 1996-03-11 2000-02-01 Altera Corporation Partially reconfigurable programmable logic device
US6384627B1 (en) * 2001-02-16 2002-05-07 Xilinx, Inc. Logic block used as dynamically configurable logic function
JP3723775B2 (ja) 2002-01-10 2005-12-07 松下電器産業株式会社 データ処理装置
US7124391B1 (en) * 2003-04-30 2006-10-17 Xilinx, Inc. Method and apparatus for dynamically connecting modules in a programmable logic device
US7546572B1 (en) * 2005-09-20 2009-06-09 Xilinx, Inc. Shared memory interface in a programmable logic device using partial reconfiguration
US7454546B1 (en) * 2006-01-27 2008-11-18 Xilinx, Inc. Architecture for dynamically reprogrammable arbitration using memory
US8402409B1 (en) * 2006-03-10 2013-03-19 Xilinx, Inc. Method and apparatus for supporting run-time reconfiguration in a programmable logic integrated circuit
US7518396B1 (en) * 2007-06-25 2009-04-14 Xilinx, Inc. Apparatus and method for reconfiguring a programmable logic device
US7941777B1 (en) * 2007-08-08 2011-05-10 Xilinx, Inc. Generating a module interface for partial reconfiguration design flows
US7541833B1 (en) * 2007-10-09 2009-06-02 Xilinx, Inc. Validating partial reconfiguration of an integrated circuit
US7525343B1 (en) * 2007-12-20 2009-04-28 Xilinx, Inc. Method and apparatus for accessing internal registers of hardware blocks in a programmable logic device
US8122239B1 (en) * 2008-09-11 2012-02-21 Xilinx, Inc. Method and apparatus for initializing a system configured in a programmable logic device
JP5359142B2 (ja) 2008-09-18 2013-12-04 富士通株式会社 伝送装置
US8671377B2 (en) * 2011-03-03 2014-03-11 Altera Corporation Method and apparatus for placement and routing of partial reconfiguration modules
US8352898B1 (en) * 2011-05-09 2013-01-08 Xilinx, Inc. Configurations for circuit designs
JP2013009044A (ja) 2011-06-22 2013-01-10 Ricoh Co Ltd 制御装置、処理装置、処理システム、制御プログラム
US8751998B2 (en) * 2011-07-01 2014-06-10 Altera Corporation Method and system for partial reconfiguration simulation
JP2013030906A (ja) * 2011-07-27 2013-02-07 Fujitsu Ltd プログラマブルロジックデバイス
US8786310B1 (en) * 2012-08-17 2014-07-22 Xilinx, Inc. Partially programming an integrated circuit using control memory cells
US8719750B1 (en) * 2012-11-12 2014-05-06 Xilinx, Inc. Placement and routing of a circuit design
JP6111680B2 (ja) * 2013-01-18 2017-04-12 住友電気工業株式会社 信号処理装置およびプログラマブルロジックデバイスの構成方法
US8910109B1 (en) * 2013-08-12 2014-12-09 Altera Corporation System level tools to support FPGA partial reconfiguration
EP2894572B1 (en) * 2014-01-09 2018-08-29 Université de Rennes 1 Method and device for programming a FPGA
US8997033B1 (en) * 2014-03-05 2015-03-31 Altera Corporation Techniques for generating a single configuration file for multiple partial reconfiguration regions
JP6541376B2 (ja) * 2014-03-13 2019-07-10 株式会社半導体エネルギー研究所 プログラマブルロジックデバイスの動作方法
US9203408B1 (en) * 2014-04-04 2015-12-01 Altera Corporation Reconfigurable logic analyzer circuitry
US9584129B1 (en) * 2014-06-20 2017-02-28 Altera Corporation Integrated circuit applications using partial reconfiguration
JP6598432B2 (ja) * 2014-06-24 2019-10-30 キヤノン株式会社 画像処理装置、その制御方法およびプログラム
GB201414286D0 (en) * 2014-08-12 2014-09-24 Imp Innovations Ltd Reconfigurable integrated circuit with on-chip configuration generation
JP2016103755A (ja) * 2014-11-28 2016-06-02 キヤノン株式会社 情報処理装置、情報処理装置を備えた画像処理装置、その制御方法及びプログラム
US20180081671A1 (en) * 2015-03-30 2018-03-22 Honda Motor Co., Ltd. Program rewriting device and program rewriting method
US9425802B1 (en) * 2015-05-28 2016-08-23 Altera Corporation Methods and apparatus for configuring and reconfiguring a partial reconfiguration region
US10216555B2 (en) * 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US9503094B1 (en) * 2015-10-05 2016-11-22 Altera Corporation Programmable logic device virtualization
JP6638362B2 (ja) * 2015-12-11 2020-01-29 富士通株式会社 演算処理装置、演算処理システムおよび演算処理方法
US9853644B2 (en) * 2016-01-08 2017-12-26 Futurewei Technologies, Inc. Multiple-layer configuration storage for runtime reconfigurable systems
JP6849908B2 (ja) * 2016-12-21 2021-03-31 富士通株式会社 情報処理装置、pld管理プログラム及びpld管理方法

Also Published As

Publication number Publication date
US10958273B2 (en) 2021-03-23
JP2020099061A (ja) 2020-06-25
WO2017188416A1 (ja) 2017-11-02
US20190140650A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
JP6739498B2 (ja) 車載制御装置及びプログラム書き込み装置
JP6921206B2 (ja) データベース状態決定方法およびデバイスならびに整合性検証方法およびデバイス
JP6198939B2 (ja) ドライバをロードする方法及び組み込みデバイス
JPWO2017057111A1 (ja) 車載制御装置、プログラム更新システム、及び、プログラム更新ソフトウェア
US20170269870A1 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
JP2006114043A (ja) フラッシュメモリのデータ処理装置及び方法
JP2010044578A (ja) マルチコアプロセッサ
JP2011095952A (ja) ファームウェア更新方法および電子機器
CN114418128B (zh) 一种模型部署的方法及装置
JP6404708B2 (ja) 情報処理装置、bios設定情報変更方法、並びにコンピュータ・プログラム
JP2020099061A (ja) 回路装置、回路書き換え方法、及びプログラム
CN110633096A (zh) 节点控制方法及装置、版本控制方法及装置、分布式系统
JP2008278258A (ja) データ展開装置及びデータ展開方法
JP2016110499A (ja) データ処理装置およびデータ処理方法
JP2005258642A (ja) 組込型情報処理装置
JP2007140628A (ja) 情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008060714A (ja) 情報処理システム
JP6785007B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP6401071B2 (ja) プログラマブルコントローラ
CN110955653A (zh) 一种数据页面的处理方法、装置、设备及计算机系统
KR101629141B1 (ko) 스파이스 넷리스트를 에프피지에이 합성이 가능한 베릴로그 코드로 변환하는 방법 및 시스템
JP5944017B2 (ja) 情報処理装置およびプログラム
JP5774941B2 (ja) コンフィグレーション装置及びコンフィグレーション方法
TWI448967B (zh) 軟體更新方法與電腦可讀取媒體
KR102563928B1 (ko) 표준 셀 라이브러리, 동기 회로를 포함하는 집적 회로 및 집적 회로를 설계하기 위한 컴퓨팅 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200609