IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社明電舎の特許一覧

特開2022-134800FPGA間の通信制御システム、FPGA間の通信制御方法
<>
  • 特開-FPGA間の通信制御システム、FPGA間の通信制御方法 図1
  • 特開-FPGA間の通信制御システム、FPGA間の通信制御方法 図2
  • 特開-FPGA間の通信制御システム、FPGA間の通信制御方法 図3
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022134800
(43)【公開日】2022-09-15
(54)【発明の名称】FPGA間の通信制御システム、FPGA間の通信制御方法
(51)【国際特許分類】
   G06F 13/36 20060101AFI20220908BHJP
   G06F 15/78 20060101ALI20220908BHJP
【FI】
G06F13/36 520D
G06F13/36 530B
G06F15/78 560
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021034206
(22)【出願日】2021-03-04
(71)【出願人】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100086232
【弁理士】
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100092613
【弁理士】
【氏名又は名称】富岡 潔
(74)【代理人】
【識別番号】100104938
【弁理士】
【氏名又は名称】鵜澤 英久
(74)【代理人】
【識別番号】100210240
【弁理士】
【氏名又は名称】太田 友幸
(72)【発明者】
【氏名】廣部 智也
(72)【発明者】
【氏名】▲高▼崎 秀郎
(72)【発明者】
【氏名】森 文彦
【テーマコード(参考)】
5B061
5B062
【Fターム(参考)】
5B061GG06
5B061PP05
5B062DD09
(57)【要約】      (修正有)
【課題】FPGA間通信の高速化を図る技術を提供する。
【解決手段】FPGA間の通信制御システム200は、各FPGA201、202に接続されたメモリと207、223と、FPGA201、202間の通信用のFPGA間バス215とを備えている。FPGA201は、メモリ207,223および周辺機能部208、221、222にアクセスするCPU203と、CPU203を周辺機能部221,222にアクセスさせるFPGA間シリアルバス212と、CPU203をメモリ223にアクセスさせるメモリバス214と、FPGA間バス215経由の通信を各バス212、214に切替制御するマルチプレクサとを備える。FPGA202は、切替制御に応じてFPGA間バス215経由の通信を分離制御するデュプレクサ216を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
各FPGA(fild-programmable gate array)に接続されたメモリと、
前記FPGA間を通信するFPGA間バスと、
を備え、
一方の前記FPGAは、前記各メモリおよび周辺機能部にアクセスするCPUと、
前記CPUを他方の前記FPGAの周辺機能部にアクセスさせる第1バスと、
前記CPUを他方の前記FPGAの前記メモリにアクセスさせる第2バスと、
前記FPGA間バス経由の通信を前記第1バスと前記第2バスとに切替制御するマルチプレクサと、
を備え、
他方の前記FPGAは、前記切替制御に応じて前記FPGA間通信を前記メモリと周辺機能部とに分離制御するデュプレクサを備える
ことを特徴とするFPGA間の通信制御システム。
【請求項2】
他方のFPGAは、前記デュプレクサと前記メモリとの間の第3バスと、
前記デュプレクサと周辺機能部間との間の第4バスと、
を備え、
前記デュプレクサは、前記通信を前記第3バスと前記第4バスとに分離制御することを特徴とする請求項1記載のFPGA間の通信制御システム。
【請求項3】
前記第2バスと、
前記第4バスと、
前記FPGA間バスと、
は、それぞれのバス幅が略等しいことを特徴とする請求項2記載のFTGP間の通信制御システム。
【請求項4】
一方の前記FPGAは、前記マルチプレクサおよび前記デュプレクサを制御する前記周辺機能部を備える
ことを特徴とする請求項1~3記載のFTGP間の通信制御システム。
【請求項5】
前記周辺機能部は、前記CPUから前記周辺機能部のレジスタにアクセスすることにより、
前記マルチプレクサおよび前記デュプレクサに制御信号を出力することを特徴とする請求項4記載のFTGP間の通信制御システム。
【請求項6】
各FPGA(fild-programmable gate array)に接続されたメモリと、
前記FPGA間を通信するFPGA間バスと、
一方の前記FPGAの前記各メモリおよび周辺機能部にアクセスするCPUと、
を備えたシステムの実行するFPGA間の通信制御システムであって、
前記CPUを第1バス経由で他方の前記FPGAの周辺機能部にアクセスさせるステップと、
前記CPUを第2バス経由で他方の前記FPGAの前記メモリにアクセスさせるステップと、
前記FPGA間バス経由の通信をマルチプレクサにより前記第1バスと前記第2バスとに切替制御するステップと、
他方の前記FPGAが、前記切替制御に応じて前記FPGA間通信をデュプレクサにより前記メモリと周辺機能部とに分離制御するステップと、
を有することを特徴とするFPGA間の通信制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、FPGA(fild-programmable gate array:集積回路)間の通信を制御する技術に関する。
【背景技術】
【0002】
図1は、IoT(Internet of Things)対応の産業用コントローラなどに用いられているFPGA間通信のブロック図を示している。ここでは各FPGA101,102の内部は、汎用的な動作をするためにバス幅の広い内部バス(以下、汎用内部バスとする。)118,115,117を備え、汎用内部バス拡張部105,109により汎用内部バス115,117が拡張されている。
【0003】
FPGA101,102間は、バス幅200本の汎用内部バス115,117をバス幅40本のFPGA間シリアルバス116に圧縮し、シリアル通信によりデータの送受信を行っている。
【0004】
これによりFPGA101に内蔵されたCPU103が、FPGA102内部の周辺機能部113,114および外部のメモリ112などに任意にアクセス可能となる。なお、この種の技術として特許文献1が公知となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010-49511
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、FPGA101,102間がシリアル通信なため、メモリ112へのアクセスの高速化が困難な問題があった。
【0007】
すなわち、産業用コントローラに複数のFPGA101,102が搭載されると、CPU103が複数のメモリ107,112にアクセス可能となる。この場合にメモリ112にアクセスするためにはFPGA101,102間の通信が必要となる。
【0008】
ところが、FPGA101内の汎用内部バス118,115を通るデータ量は膨大なため、FPGA101,102間を前記シリアルバス116で伝送すると、メモリ112へのアクセスなどに遅延を生じるおそれがある。
【0009】
本発明は、このような従来の問題を解決するためになされ、FPGA間通信の高速化を図ることを解決課題としている。
【課題を解決するための手段】
【0010】
(1)本発明の一態様は、各FPGAに接続されたメモリと、
前記FPGA間を通信するFPGA間バスと、
を備え、
一方の前記FPGAは、前記各メモリおよび周辺機能部にアクセスするCPUと、
前記CPUを他方の前記FPGAの周辺機能部にアクセスさせる第1バスと、
前記CPUを他方の前記FPGAの前記メモリにアクセスさせる第2バスと、
前記FPGA間バス経由の通信を前記第1バスと前記第2バスとに切替制御するマルチプレクサと、
を備え、
他方の前記FPGAは、前記切替制御に応じて前記FPGA間通信を前記メモリと周辺機能部とに分離制御するデュプレクサを備える
ことを特徴とするFPGA間の通信制御システムに関する。
【0011】
(2)本発明の他の態様は、各FPGAに接続されたメモリと、
前記FPGA間を通信するFPGA間バスと、
一方の前記FPGAの前記各メモリおよび周辺機能部にアクセスするCPUと、
を備えたシステムの実行するFPGA間の通信制御システムであって、
前記CPUを第1バス経由で他方の前記FPGAの周辺機能部にアクセスさせるステップと、
前記CPUを第2バス経由で他方の前記FPGAの前記メモリにアクセスさせるステップと、
前記FPGA間バス経由の通信をマルチプレクサにより前記第1バスと前記第2バスとに切替制御するステップと、
他方の前記FPGAが、前記切替制御に応じて前記FPGA間通信をデュプレクサにより前記メモリと周辺機能部とに分離制御するステップと、
を有することを特徴とするFPGA間の通信制御方法に関する。
【発明の効果】
【0012】
本発明によれば、FPGA間通信の高速化を図ることができる。
【図面の簡単な説明】
【0013】
図1】従来のFPGA間の通信制御システムを示す構成図。
図2】本発明の実施形態に係るFPGA間の通制御システムを示す構成図。
図3】同 メモリアクセスのタイムチャート図。
【発明を実施するための形態】
【0014】
以下、本発明の実施形態に係るFPGA間の通信制御システムを説明する。この通信制御システムは、IoT対応の産業用コントローラに搭載されたFPGAなどに用いられる。
【0015】
≪構成例≫
図2中の200は前記通信制御システムを示し、201,202は機能分散された一対のFPGAを示している。この各FPGA201,202には外部のメモリ(RAM)207,223が接続され、FPGA201,202間はFPGA間バス215経由で通信されている。
【0016】
(1)FPGA201
FPGA201内部には、CPU203,汎用内部バス接続部204・汎用内部バス拡張部205・メモリインタフェース206,209・周辺機能部208,マルチプレクサ210・汎用内部バス211,213,230~232・FPGA間シリアルバス212・メモリバス214,233・マルチプレクサ210が実装されている。
【0017】
ここでは従来と同様に汎用内部バス接続部204は、汎用的な動作をするためにバス幅の大きい(200本)バス211,213,230~232が接続されている。すなわち、CPU203・メモリインタフェース206,209・汎用内部バス拡張部205・周辺機能部208は、それぞれ汎用内部バス211,213,230~232により汎用内部バス接続部204に接続されている。
【0018】
汎用内部バス拡張部205は、パラレルバスの汎用内部バス211をシリアルバス212に変換する。この汎用内部バス拡張部205とマルチプレクサ210とは、前記シリアル化されたFPGA間シリアルバス(バス幅:40本)で接続されている。
【0019】
メモリインタフェース206とメモリ207とは、メモリバス233(バス幅40本)で接続されている。周辺機能部208は、例えばタイマ・汎用IOポートなどでよく、周辺IOの領域にレジスタがマップされ、これらの領域を介して操作されている。
【0020】
メモリインタフェース209は、汎用内部バス213をメモリバス214に変換し、変換されたメモリバス214(バス幅:40本)によりマルチプレクサ210に接続されている。このときマルチプレクサ210は、FPGA間シリアルバス212とメモリバス214とを切り替えて、FPGA間バス(バス幅:40本)によりFPFA202と通信する。ここではCPU203から周辺機能部208のレジスタにアクセスすることにより、マルチプレクサ210の両者212,214の切替信号226が制御されている。
【0021】
(2)FPGA202
FPGA202は、デュプレクサ216・汎用内部バス拡張部219・汎用内部バス接続部220・周辺機能部221,222・外部のメモリ223,FPGA間シリアルバス217・メモリバス218・汎用内部バス224,240,241を実装する。
【0022】
デュプレクサ216と汎用内部バス拡張部219・メモリ223とは、それぞれFPGA間シリアルバス(バス幅;40本)217・メモリバス(バス幅40本)218により接続されている。
【0023】
汎用内部バス拡張部219と汎用内部バス接続部220とは、拡張汎用内部バス(バス幅:200本)224により接続されている。また、汎用内部バス接続部220には、周辺機能部221,222が汎用内部バス240,241により接続されている。
【0024】
デュプレクサ216は、切替信号226に応じてFPGA間バス215の通信をFPGA間シリアルバス217とメモリバス218とに分離する。このデュプレクサ216の動作は、切替信号226に応じて実行され、マルチプレクサ210の切替動作と同期して行われる。
【0025】
このように基本的にFPTGA201,202の内部に搭載された構成203~206,208,209,210,219~222間は、それぞれバス幅200本の汎用内部バス211,213,230~232,224,240,241により接続されている。
【0026】
(A)一方、マルチプレクサ210・デュプレクサ216間は、バス幅40本のFPGA間バス215で接続されている。
【0027】
(B)同様にメモリインタフェース206・メモリ207間、メモリインタフェース209・マルチプレクサ210間、デュプレクサ216・メモリ223間は、それぞれバス幅40本のメモリバス214,218,233で接続されている。
【0028】
(C)また、マルチプレクサ210・汎用内部バス拡張部205間、デュプレクサ216・汎用内部バス拡張部219間も、それぞれ汎用内部バス211,224を圧縮したバス幅40本のFPGA間シリアルバス212,217により接続されている。
【0029】
≪動作例≫
(1)前述のように前記通信制御システム200によれば、マルチプレクサ210とデュプレクサ216とを用いて、FPGA間シリアルバス212とメモリバス214とが切り替えられる。
【0030】
すなわち、CPU203から周辺機能部221,222へは、汎用内部バス接続部204から汎用内部バス拡張部205を介して、マルチプレクサ210経由でアクセスし、FPGA間シリアルバス212を通過する。
【0031】
一方、CPU203からメモリ223へは、汎用内部バス接続部204からメモリインタフェース209を介して、マルチプレクサ210経由でアクセスし、メモリバス214を通過する。
【0032】
このような二つのアクセス経路(前記シリアルバス212,メモリバス214)の切替は、CPU203から周辺機能部208のレジスタにアクセスすることで切替信号226がマルチプレクサ210・デュプレクサ216に出力されて行われる。
【0033】
これによりCPU203のアクセス先に応じて(A)前記シリアルバス212/メモリバス214からマルチプレクサ210への入力、(B)デュプレクサ216から前記シリアルバス217/メモリバス218への出力が切り替えられる。
【0034】
(2)図3のタイムチャートに基づき図1のメモリ112へのアクセス/図2のメモリ223へのアクセスを比較説明する。
【0035】
図1の従来システムによれば、CPU103のメモリ112へのアクセスには、汎用内部バス拡張部105・109間のシリアル通信が必要となる。このシリアル通信には、メモリアクセス以外の例えば周辺機能部113,114へのアクセスも含まれ、合計800ns程度かかってしまう。
【0036】
一方、図2の前記システム200によれば、CPU203のメモリ223へのアクセスの際には、FPGA間シリアルバス212とメモリバス214が切り替えられるため、メモリアクセス時のFPGA間シリアル通信に周辺機能部221,222へのアクセスが含まることがなく、200ns程度に抑制することが可能となる。
【0037】
このときメモリ223へのアクセスに必要なアドレス・データ・コマンドの情報は、FPGA間バス215と同じ40本のバス幅のメモリバス214,218を介して伝えられる。すなわち、CPU203のメモリ223へのアクセスは、メモリバス214からそのままバス幅40本のFPGA間バス215およびメモリバス218を経由する。
【0038】
その結果、メモリインタフェース209とメモリ223とは、メモリインタフェース206とメモリ207との関係と同様に直接的につながったイメージとなり、この点でメモリ223へのアクセスが高速化し、前記従来システムのメモリ112へのアクセスと比べてアクセス時間を1/4に短縮することができる。
【0039】
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えばFPGAの個数は、二つに限定されず、機能分散された複数個であればよい。
【符号の説明】
【0040】
200…FPGA間の通信制御システム
201,202…FPGA
203…CPU
204,220…汎用内部バス接続部
205,219…汎用内部バス拡張部
206,209…メモリインタフェース
207,223…外部メモリ
208,221,222…周辺機能部
210…マルチプレクサ
211,213,224,230,231,232,…汎用内部バス
212,217…FPGA間シリアルバス
214,218…メモリバス
215…FPGA間バス
216…デュプレクサ
図1
図2
図3