JP2016063490A - 再構成可能な半導体集積回路および電子機器 - Google Patents
再構成可能な半導体集積回路および電子機器 Download PDFInfo
- Publication number
- JP2016063490A JP2016063490A JP2014191763A JP2014191763A JP2016063490A JP 2016063490 A JP2016063490 A JP 2016063490A JP 2014191763 A JP2014191763 A JP 2014191763A JP 2014191763 A JP2014191763 A JP 2014191763A JP 2016063490 A JP2016063490 A JP 2016063490A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- memories
- block
- semiconductor integrated
- integrated circuit
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17748—Structural details of configuration resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic 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/17748—Structural details of configuration resources
- H03K19/17756—Structural details of configuration resources for partial configuration or partial reconfiguration
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Abstract
【課題】より面積効率の良い再構成可能な半導体集積回路および電子機器を提供する。
【解決手段】実施形態の再構成可能な半導体集積回路は、第1のブロックと第2のブロックとを含む。第1のブロックは、並列に接続された第1の複数のメモリと、並列に接続された第2の複数のメモリと、第1の複数のメモリからのうち選択されたメモリから読み出したデータに応じて論理が決定される第1のロジック回路と、第2の複数のメモリのうち選択されたメモリから読み出したデータに応じて第1のロジック回路に対してデータが入出力される経路を切り替える第1のスイッチ回路とを備える。第2のブロックは、第3のメモリから読み出したデータに応じて論理が決定される第2のロジック回路と、第4のメモリから読み出したデータに応じて第2のロジック回路に対してデータが入出力される経路を切り替える第2のスイッチ回路とを備える。
【選択図】図14
【解決手段】実施形態の再構成可能な半導体集積回路は、第1のブロックと第2のブロックとを含む。第1のブロックは、並列に接続された第1の複数のメモリと、並列に接続された第2の複数のメモリと、第1の複数のメモリからのうち選択されたメモリから読み出したデータに応じて論理が決定される第1のロジック回路と、第2の複数のメモリのうち選択されたメモリから読み出したデータに応じて第1のロジック回路に対してデータが入出力される経路を切り替える第1のスイッチ回路とを備える。第2のブロックは、第3のメモリから読み出したデータに応じて論理が決定される第2のロジック回路と、第4のメモリから読み出したデータに応じて第2のロジック回路に対してデータが入出力される経路を切り替える第2のスイッチ回路とを備える。
【選択図】図14
Description
本発明は、再構成可能な半導体集積回路および電子機器に関する。
FPGA(Field-Programmable Gate Array)は、任意の論理機能を、再構成可能に実現することができる集積回路(IC:Integrated Circuit)である。一般的には、FPGAは、基本的な論理情報を出力するロジックブロック(LB)と、各LBを任意に接続するスイッチブロック(SB)とを含む基本タイルが配置されて構成される。また、LBおよびSBの各ブロックを構成する回路は、コンフィギュレーションメモリが含まれており、このコンフィギュレーションメモリの内容を書き換えることで、FPGA全体で所望の論理を実現することができる。
ここで、このコンフィギュレーションメモリの書き換えをFPGAの動作周波数よりも高速に行うダイナミックリコンフィグができれば、本来複数のFPGAを用いて計算される大きな論理を、1つのFPGAにより計算することが可能となる。実際には、メモリ素子に対する書き込み速度やメモリ素子の消費電力の制約から、上述のようなコンフィギュレーションメモリの高速な書き換えは困難である。
既存のダイナミックリコンフィギャラブルFPGAは、予め書き込みがなされた複数のコンフィギュレーションメモリ(マルチコンテキストメモリ)を実装し、このマルチコンテキストメモリの読み出しFPGAの動作周波数よりも高速に切り替えることで、ダイナミックリコンフィグと同等の機能を実現している。以下、コンフィギュレーションメモリの数をコンテキスト数、切り替えるコンフィギュレーションメモリの番号をコンテキストと呼ぶ。また、予め書き込みがなされた複数のコンフィギュレーションメモリを実装したダイナミックリコンフィギャラブルFPGAを、マルチコンテキスト型ダイナミックリコンフィギャラブルFPGA(MC−DPGA)と呼ぶ。
MC−DPGAは、機能の実装に関して、通常のFPGAとは異なる制約が生じる。順序回路を実装する場合、各回路の計算の順序が適切になるように、FPGAにおける各ブロックを実装する必要がある。しかしながら、各ブロックを計算順序が適切になるように実装した場合に、各ブロックの使用頻度にばらつきが生じ、MC−DPGAの効果が十分に得られないおそれがある。また、リング発振器などのように各回路間でフィードバックが発生し非同期回路になっている回路は、ダイナミックリコンフィグに適用できない。
このような回路が複数存在する論理回路では、MC−DPGAのメリットを得ることが難しい。一方、マルチコンテキストメモリのみで構成された基本タイルは、追加メモリや制御回路の増加によって通常のメモリのみで構成された基本タイルに対して面積が大きくなっている。そのため、ダイナミックリコンフィグのメリットが得られなければ、逆に面積が大きくなってしまう可能性もある。
本発明が解決しようとする課題は、より面積効率の良い再構成可能な半導体集積回路および電子機器を提供することにある。
実施形態の再構成可能な半導体集積回路は、第1のブロックと第2のブロックとを含む。第1のブロックは、並列に接続された第1の複数のメモリと、並列に接続された第2の複数のメモリと、第1の複数のメモリのうち選択されたメモリから読み出したデータに応じて論理が決定される第1のロジック回路と、第2の複数のメモリのうち選択されたメモリから読み出したデータに応じて第1のロジック回路に対してデータが入出力される経路を切り替える第1のスイッチ回路とを備える。第2のブロックは、第3のメモリから読み出したデータに応じて論理が決定される第2のロジック回路と、第4のメモリから読み出したデータに応じて第2のロジック回路に対してデータが入出力される経路を切り替える第2のスイッチ回路とを備える。
以下、実施形態に係る、再構成可能な半導体集積回路および電子機器について説明する。図1は、再構成可能な半導体集積回路としてのFPGA(Field-Programmable Gate Array)の構成例を概略的に示す。図1において、FPGA1は、1以上の基本タイル10、10、…と、各基本タイル10、10、…とFPGA1外部とを接続するためのI/O(Input/Output)11、11、…とを含む。
図2は、各基本タイル10の一例の構成を示す。各基本タイル10、10、…は、スイッチブロック20(以下、SB20と記述する)と、ロジックブロック21(以下、LB21と記述する)とを含む。LB21は、メモリM3021、3022、…、302nに記憶される値に応じて決定される、基本的な論理回路を実現する。SB20は、メモリM3011、3012、…、301nに記憶される値に応じて、各LB21、21、…に対する入出力の経路を接続する。すなわち、SB20は、それぞれ隣接するタイル10に対する配線束40および41、42および43、44および45、ならびに、46および47間の接続と、SB20およびLB21間の配線束48および49との間の接続を、メモリM3011、3012、…、301nの値に応じて切り替える。
ここで、SB20の動作を決定する値が記憶されるメモリM3011、3012、…、301n、および、LB21の論理回路を決定する値が記憶されるメモリM3021、3022、…、302nは、それぞれコンフィギュレーションメモリと呼ばれる。以下では、特に記載のない限り、コンフィギュレーションメモリを単にメモリとして記述する。
図3は、SB20の一例の構成を示す。SB20は、入力された信号を通過させるか否かを決定する。図3の例では、SB20は、スイッチ素子200と、マルチプレクサ201a〜201cを用い、メモリM3011、3012、…、301nからそれぞれのメモリ入力線を介して入力された各値202に応じて、配線束203から入力された各信号を通過させるか否か、通過させる場合、配線束204の何れに出力するかを決定する。なお、図3では、SB20がスイッチ素子200とマルチプレクサ201a〜201cとを混在して用いているが、これはこの例に限定されない。すなわち、SB20は、信号の通過、接続の決定をスイッチ素子のみを用いて行ってもよいし、マルチプレクサのみを用いて行ってもよいし、さらに別の切り替え手段を用いてもよい。
図4は、LB21の一例の構成を示す。図4の例では、LB21は、マルチプレクサ210および212と、フリップフロップ(FF)回路211とを有している。LB21は、配線束215から入力された信号に従い、メモリM3021、3022、…、302nから入力された各値213のうち1つを選択して出力するという方法により、入力に応じて任意の出力を行う。なお、LB21の構成は、この例に限定されない。
ここで、各メモリM3011、3012、…、301n、および、メモリM3021、3022、…、302nを、FPGA1の動作周波数より速く書き換えるダイナミックリコンフィグに対応可能な構成とすることで、通常は複数のFPGA1を使用して計算するような大きな論理を、1つのFPGA1により計算することができるようになる。このダイナミックリコンフィグは、例え書き換えが高速なSRAM(Static Random Access Memory)を用いても、書き込み速度や電力を考えると困難である。
このため、図5に例示されるように、それぞれ上述のメモリM3011、3012、…、301nやメモリM3021、3022、…、302nに対応する、並列に接続された複数のメモリM511、512、…を含むマルチコンテキストメモリ50(以下、MCM50)を構成し、MCM50に含まれる複数のメモリM511、512、…を選択信号QnによりFPGA1の動作周波数より高速に切り替える手法が知られている。
図6は、MCM50を用いた基本タイル10’の例を示す。なお、図6および以下の同様の図において、上述した図2と共通する部分には同一の符号を付して、詳細な説明を省略する。図6において、SB20に対して、上述のメモリM3011、3012、…、301nの代わりにMCM5011、5012、…、501nが接続されている。また、LB21に対して、上述のメモリM3021、3022、…、302nの代わりにMCM5021、5022、…、502nが接続されている。MCM5011、5012、…、501n、および、MCM5021、5022、…、502nに対して選択信号Qnが供給される。MCM5011、5012、…、501n、および、MCM5021、5022、…、502nは、それぞれ選択信号Qnに従い内部のメモリM511、512、…のうち1つが選択される。SB20およびLB21は、それぞれMCM5011、5012、…、501n、および、MCM5021、5022、…、502nにおいて選択されたメモリM51から読み出した値に従い、上述したような経路の切り替え、出力などを行う。
このように、MCM50を用いることで、ダイナミックリコンフィグと同じ機能を実現する、マルチコンテキスト型ダイナミックリコンフィギャラブル集積回路が実現可能である。
以下では、MCM50に含まれるメモリM511、512、…の数をコンテキスト数と呼ぶ。また、MCM50内の各メモリM511、511、…に順次番号を割り当てた時、切り替えるメモリM511、512、…の番号をコンテキストと呼ぶ。
さらに、図2に示した、SB20およびLB21に、それぞれ1つのメモリからなるメモリM3011、3012、…、301nおよびメモリM3021、3022、…、302nが接続される基本タイル10をシングルコンテキストブロックと呼び、シングルコンテキストブロックにより構成されるFPGAをシングルコンテキスト型FPGAと呼ぶ。また、図6に示した。SB20およびLB21にそれぞれ複数のメモリを含むMCM5011、5012、…、501n、および、MCM5021、5022、…、502nが接続される基本タイル10’をマルチコンテキストブロックと呼び、マルチコンテキストブロックにより構成されるFPGAをマルチコンテキスト型ダイナミックリコンフィギャラブルFPGA(MC−DPGA)と呼ぶ。
図7は、基本タイル10’が選択信号Qnを生成するコントロール回路60を含む例である。コントロール回路60は、入力されたクロックCLKに基づき、選択信号Qnを生成する。このクロックCLKがFPGA1の動作に使用するユーザクロックであれば、コントロール回路60は、周波数逓倍回路を持つ。選択信号Qnは、MCM5011、5012、…、501n、および、MCM5021、5022、…、502n内のコンフィグレーションメモリ(メモリM511、512、…)を選択するために用いられる。選択信号Qnは、MCM5011、5012、…、501nを含むMCMブロック5001と、MCM5021、5022、…、502nを含むMCMブロック5002とに入力され、MCM5011、5012、…、501n、および、MCM5021、5022、…、502nにそれぞれ供給される。
図8は、コントロール回路60の一例の構成を示す。図8の例では、コントロール回路60は、周波数逓倍回路61と、複数のフリップフロップ回路621、622、…からなるシフトレジスタとを備える。この例では、コントロール回路60が4個のフリップフロップ回路621〜624を備えているものとして示している。周波数逓倍回路61は、供給されたクロックCLKから、クロックCLKよりも高速のクロックQCLKを生成する。クロックQCLKは、シフトレジスタを構成する各フリップフロップ回路621〜624に供給される。各フリップフロップ回路621〜624のうちフリップフロップ回路622〜624、…は、リセット信号Rstによりリセットされ、フリップフロップ回路621のみリセット信号Rstにより値「1」にセットされる。このセットされた値「1」が信号QCLKに従い、選択信号Q1〜Q4として巡回的に出力される。
図9は、SB20に接続されるMCMブロック5001を例として、各MCM5011、5012、…、501nの構成について説明する。なお、MCMブロック5002は、MCMブロック5001と同様の構成となるため、ここでの説明を省略する。この例では、説明のため、例えばMCM5011は、それぞれ選択信号Q1〜Q4により選択される4個の記憶部M5311、5321、5331および5341を備える。さらに、各記憶部M5311、5321、5331および5341は、選択信号Qnに従い開閉が制御されるスイッチ5211、5221、5231および5241が接続される。例ではスイッチ5211、5221、5231および5241はn型MOSトランジスタとしているが、p型MOSトランジスタでも良いし、どちらも用いたトランスファーゲートでも良い。
ここで、選択信号Q1〜Q4は、各MCM5011、5012、…、501nに共通して入力される。すなわち、各記憶部M5311、5312、…、531nに対して、それぞれ選択信号Q1に従い開閉が共通に制御されるスイッチ5211、5212、…、521nが接続される。同様に、各記憶部M5321、5322、…、532nに対して、それぞれ選択信号Q2に従い開閉が共通に制御されるスイッチ5221、5222、…、522nが接続され、各記憶部M5331、5332、…、533nに対して、それぞれ選択信号Q3に従い開閉が共通に制御されるスイッチ5231、5232、…、523nが接続される。さらに、各記憶部M5341、5342、…、534nに対して、それぞれ選択信号Q4に従い開閉が共通に制御されるスイッチ5241、5242、…、524nが接続される。
なお、上述した図5における例えばメモリM511は、例えば記憶部M5311とスイッチ5211とを含む構成と考えることができる。
MCM5011の各スイッチ5211、5221、5231および5241の各出力は、例えば1番目のメモリ入力線を介してSB20に共通に入力される。また、MCM5012の各スイッチ5212、5222、5232および5242の各出力は、例えば2番目のメモリ入力線を介してSB20に共通に入力される。同様に、MCM501nの各スイッチ521n、522n、523nおよび524nの各出力は、例えばn番目のメモリ入力線を介してSB20に共通に入力される。
このような構成において、図8のコントロール回路60から出力された例えば選択信号Q4がMCMブロック5001に入力されると、MCM5011、5012、…、501nに含まれる各スイッチ5241、5242、…、524nがオンすなわち閉状態になり、各記憶部M5341、5342、…、534nに記憶される各データが、1番目、2番目、…、n番目のメモリ入力線をそれぞれ介してSB20に供給される。次に選択信号Q1がMCMブロック5001に入力されると、MCM5011、5012、…、501nに含まれる各スイッチ5211、5212、…、521nがオン状態になり、各記憶部M5311、5312、…、531nに記憶される各データが、1番目、2番目、…、n番目のメモリ入力線をそれぞれ介してSB20に供給される。
このように、各MCM5011〜501nに対して図8のコントロール回路60から出力される各選択信号Q1〜Q4を入力することで、例えばMCM5011の場合、各記憶部M5311、5321、5331および5341に記憶される各データを、SB20に対して順次巡回的に供給することができる。
以上のようなマルチコンテキスト型ダイナミックリコンフィギャラブルFPGAに機能を実装する際は、図2に例示した基本タイル10により構成される通常のFPGAとは異なる制約が生じる。この制約について、図10を用いて説明する。図10は、マルチコンテキスト型ダイナミックリコンフィギャラブルFPGA1xにおいて構成される組合せ論理回路の例を概念的に示す。図10の例では、ある回路Aの出力を回路Bが入力し、その回路Bの出力と回路Aの出力とが回路Cに入力されている。これら回路A、BおよびCは、1つの基本タイル10’において、各MCM5011、5012、…、501n、および、MCM5021、5022、…、502nのコンテキストが切り替えられることにより形成される回路であるものとする。
ここで、FPGA1xは、クロックCLKに従いデータの入出力が行われる。一方、各組み合わせ回路A、BおよびCは、クロックCLKより高速のクロックQCLKに従い切り替えられる。したがって、例えばあるクロックCLKのタイミングの入力に対して回路A、BおよびCによる演算が順次実行された後、クロックCLKの次のタイミングの入力よりも先にコンテキストが切り替えられ、回路Cが構成されてしまう可能性がある。このように、回路Bの計算の前に回路Cの計算が行われる可能性があると、回路Cにとっては入力である回路Bの出力結果が不明であるため、正しい答えにならない場合が発生する。したがって、正しい答えを得るためには論理回路の計算の順番が正しくなるように実装する必要がある。
図11は、マルチコンテキスト型ダイナミックリコンフィギャラブルFPGAに関し、複数の論理回路のある組み合わせからなるベンチマーク回路に対して配置配線を行った結果を示す。この配置配線は、上述した論理回路の計算の順序を十分考慮し、計算順序に矛盾が発生しないように構成されている。また、図11の例では、当該FPGAの各基本タイル10’に含まれる各MCM5011、5012、…、501n、および、MCM5021、5022、…、502nのコンテキスト数がそれぞれ8であるものとしている。図11において、縦軸は、コンテキストを示し、横軸は、通常のFPGA(シングルコンテキスト型FPGA)の使用ブロック数を100とした場合の使用ブロック数の比率を示す。
図11に示されるように、マルチコンテキスト型ダイナミックリコンフィギャラブルFPGAにおいては、各コンテキストで使用ブロック数にバラツキが発生する場合があることが分かる。図11の例では、コンテキスト「8」が突出して使用ブロック数が多く、各コンテキストで使用ブロック数に偏りが生じている。これは、例えば8コンテキスト分切り替えられるマルチコンテキストブロックであっても、1つのコンテキストしか使用されないブロックが発生する可能性があることを示している。図11の例でいえば、コンテキスト「8」しか使用されないブロックが多数、存在している可能性がある。この場合、マルチコンテキスト化の効果が十分に得られないおそれがある。
さらに、図12に例示するように、回路間にフィードバック経路700が発生する場合も、マルチコンテキスト化の効果が小さくなる。例えば、リング発振器がこのような構成となる。リング発振器は、いわば非同期回路であり、クロックCLKに関わらず動作していなければならない。
上述のマルチコンテキストブロックでは、コンテキストすなわちMCM50内の各メモリM511、512、…の切り替えは、外部から入力されたクロックCLKに対応して行う。そのため、フィードバック経路700により非同期回路となっている回路A、BおよびCは、マルチコンテキスト化できない。具体的には、この回路A、BおよびCには、各MCM50の全てのメモリM511、512、…に同一のデータを書き込み、コンテキスト切り替えとは独立して動作させる必要がある。
このような回路が複数存在する論理回路は、マルチコンテキスト化のメリットを得ることが難しい。一方で、図5〜図7を用いて説明したように、マルチコンテキストブロックである基本タイル10’は、シングルコンテキストブロックによる基本タイル10に対して、追加メモリ(MCM50の各メモリ511、512、…)や制御回路(コントロール回路60)の増加によって面積が大きくなっている。そのため、マルチコンテキスト化のメリットが得られなければ、面積が大きくなってしまうデメリットの方が強調されてしまう可能性もある。
(第1の実施形態)
次に、図13および図14を用いて第1の実施形態について説明する。なお、図13および図14において、上述した図1、図2および図7に対応する部分には共通する符号を付して、詳細な説明を省略する。
次に、図13および図14を用いて第1の実施形態について説明する。なお、図13および図14において、上述した図1、図2および図7に対応する部分には共通する符号を付して、詳細な説明を省略する。
図13は、第1の実施形態に係るFPGA1aの一例の構成を示す。図13において、第1の実施形態に係るFPGA1aは、1以上のマルチコンテキストブロック100と1以上のシングルコンテキストブロック101とを含む基本タイル10a、10a、…を備える。以下、マルチコンテキストブロック100をMC100、シングルコンテキストブロック101をSC101とそれぞれ略称する。
図14は、第1の実施形態に係る基本タイル10aの一例の構成をより詳細に示す。SC101は、図2に示した基本タイル10と同一の構成を備え、SB20およびLB21と、これらSB20およびLB21にそれぞれ接続されるメモリM3011、3012、…、301n、および、メモリM3021、3022、…、302nとを含む。なお、図14では、メモリM3011、3012、…、301n、および、メモリM3021、3022、…、302nを、それぞれシングルコンテキストメモリブロック(SCMB)3001および3002として纏めて示している。
MC100は、上述の図7に示した基本タイル10’の構成に対応し、SB20およびLB21と、これらSB20およびLB21にそれぞれ接続されるMCM5011、5012、…、501n、および、MCM5012、5022、…、502nと、外部から入力されるクロックCLKに基づきこれらMCM5011、5012、…、501n、および、MCM5012、5022、…、502nに供給するクロックQCLKを生成するコントロール回路60とを含む。なお、図14では、MCM5011、5012、…、501n、および、MCM5012、5022、…、502nを、それぞれマルチコンテキストメモリブロック(MCMB)5001および5002として纏めて示している。
なお、図13では、FPGA1aの備える全ての基本タイルが、MC100およびSC101を含む基本タイル10aであるように示しているが、これはこの例に限定されない。第1の実施形態に係るFPGA1aは、基本タイル10aと、SC101による基本タイル10と、マルチコンテキストブロックによる基本タイル10’とを混在させて構成することができる。
例えば、図11を用いて説明した、コンテキストの使用ブロック数の偏りに従い、より使用ブロック数の多いコンテキストをシングルコンテキストブロックによる基本タイル10に割り当てることが考えられる。例えば、図11を再掲する図15に例示されるように、各コンテキストにおける使用ブロック数が所定数(図中に線Aで示す)以上の部分を、それぞれシングルコンテキストブロックによる基本タイル10に割り当てる。
すなわち、図15において、線Aよりも左側の部分は、複数のコンテキストで使用されるブロックを示している。一方、線Aよりも右の部分は、コンテキスト「8」でしか使用されないブロックを示している。このコンテキスト「8」でしか使用されないブロックは、SC101のみを含む基本タイル10を用いて構成することが可能である。
実際には、FPGAの全ての基本タイルをマルチコンテキストブロックによる基本タイル10’で構成した際に、全基本タイル10aにおける各コンテキストの使用ブロック数がどれ程になるかは、そのFPGAで実現させたい回路構成によって異なる。そのため、実際の製品としては、第1の実施形態に係る基本タイル10aと、シングルコンテキストブロックによる基本タイル10との割合が異なる数種類のFPGAを用意しておくことが考えられる。
図16を用いて、第1の実施形態に係るFPGA1aにおけるMC100とSC101との接続について、概略的に説明する。ここでは、MC1001および1002と、SC1011とを用い、MC1001からSC1011を介してMC1002に接続可能とした例について説明する。
既に説明したように、SB20に関し、SC1011は、メモリ301に一度書き込みを行った後、動作中は、メモリ301および302の値が固定されSB20による接続も固定される。一方、マルチコンテキストブロック1001および1002は、MCM5011〜501n内においてメモリM511、512、…の切り替えを行うことで、各SB20による接続を変更することができる。
ここで、例えば、あるコンテキスト#nにおいてMC1001からSC1011に接続し、SC1011からさらにMC1002に接続する場合について考える。この場合、SC1011は、コンテキスト#nでMC1001および1002と接続されるように、予めメモリ3011〜301nの値を設定しておく。
さらに、MC1001および1002は、コンテキスト#nにおいてその配線の位置にマルチコンテキストブロック側が接続されるよう、各MCM5011〜501n内のコンテキスト#nのメモリM51nの値を設定しておく。こうすることで、図16(a)に示されるように、コンテキスト#n以外、例えばコンテキスト#1では、MC1001および1002側により、SC1011への接続が行われず、SC1011が使用されない。また、コンテキスト#nでは、図16(b)に示されるように、MC1001および1002側からSC1011に対する接続がなされ、SC1011が使用される。
より具体的には、図16(a)の例において、コンテキスト#1では、MC1001内のSB20M1は、同LB21M1の例えば出力をSC1011のSB20S1に接続しない。同様に、コンテキスト#1では、MC1002内のSB20M2は、同LB21M2の例えば入力をSC1011のSB20S1に接続しない。したがって、SC1011は、データの入出力がなされず、使用されない。
一方、図16(b)の例において、コンテキスト#nでは、MC1001内のSB20M1は、LB21M1の出力を、SC1011内のSB20S1に接続する。SB20S1は、このLB21M1の出力をLB21S1に接続する。また、MC1002内のSB20M2は、同LB21M2の入力を、SC1011内のSB20S1の出力に接続する。したがって、SC1011は、MC1001からの出力に対してLB21S1での論理演算を行い、論理演算結果をMC1002に出力することができる。
図17は、図11および図15のシミュレートに用いたベンチマーク回路に対して、第1の実施形態による構成を適用した結果の例を示す。図17において、縦軸は、棒線Aを100としたときの実装面積比を示す。棒線Aは、通常のFPGAによる面積を示す。棒線Bは、MC100による基本タイル10’のみから構成されたFPGAにおける面積を示す。この場合、基本タイル10’は、8コンテキストとされ、各MCM501および502は、それぞれ8個のメモリ51、51、…を含む。また、棒線Cは、第1の実施形態を適用し、MC100とSC101とを含む基本タイル10aから構成されたFPGA1aによる面積を示す。ここでも、MC100は、8コンテキストとされ、各MCM5011〜501nおよびMCM5021〜502nがそれぞれ8個のメモリ511、512、…を含む。
なお、図17の結果に関連し、MC100は、SC101に対して2倍以上の面積を有する見積となっている。したがって、図11に示したように、MC100の使用ブロック数がSC101の使用ブロック数の半分程度であると、図17の棒線Bに示されるように、マルチコンテキスト化により、通常のFPGAに対して実装面積が増加してしまうことになる。一方、上述もしたように、各コンテキストにおける使用ブロック数の偏りをSC101部に配置することで、図17の棒線Cに示されるように、通常のFPGAに対して実装面積を縮小することが可能である。
このように、第1の実施形態を適用することで、通常のシングルコンテキストブロックのみで構成されたFPGAや、従来のマルチコンテキストブロックのみで構成されたFPGAに対してより省面積なFPGAを構成することが可能である。
次に、第1の実施形態に係る、MC100の配置について説明する。図18は、既存技術による配置と第1の実施形態に係る配置の例を示す。図18(a)は、上述した図1に対応し、既存技術による、SC101を含む基本タイル10、10、…が配置されたFPGA1の例を示す。ここでは、FPGA1は、それぞれ1個のSC101(図では「S」と表示)を含む16個の基本タイル10が配置されている。
図18(b)は、図13で示したFPGA1aに対応し、第1の実施形態に係る、MC100とSC101とを含む基本タイル10aが4個配置された例である。ここでは、FPGA1aは、MC100が備えるMCM5011、5012、…、501n、および、MCM5021、5022、…、502nがそれぞれ4個のメモリM511、512、…を含む、4コンテキスト型のマルチコンテキストブロックであるものとする。したがって、図18(b)のFPGA1aは、MC100をMCM5011、5012、…、501n、および、MCM5021、5022、…、502n内のメモリ数により単純な加算でSC101に換算すると、20個分のSC101が含まれることになる。
図18(b)では、それぞれ1以上のMC100とSC101とを含む基本タイル10aを基本構成として説明したが、これはこの例に限定されない。例えば、図18(c)に示されるように、SC101を含む4個の基本タイル10と、MC100を含む4個の基本タイル10’とを混在して配置してFPGA1bを構成してもよい。この場合でも、図18(b)と同様に、単純な換算では20個分のSC101が含まれることになる。また、1つのFPGAに含まれるMC100の数とSC101の数は、必ずしも同一である必要はない。さらに、上述では、1つの基本タイル10aがMC100およびSC101を1つずつ含むように説明したが、これはこの例に限定されず、基本タイルが含むMC100の数とSC101の数は、必ずしも同一である必要はない。
また例えば、複数のMC100を含む第1の領域と、複数のSC101を含む第2の領域とを形成してもよい。図19は、第1の実施形態に係る、第1の領域および第2の領域を市松模様状に配置したFPGA1cの例を示す。すなわち、図19の例では、FPGA1cは、第1の領域110および第2の領域111が、水平方向および垂直方向それぞれに対して交互に繰り返して配置されて構成される。
この図19に例示される市松模様状の構成の場合、例えば全ての回路をマルチコンテキスト化可能である場合、もしくは全てをシングルコンテキストとして使用しなければならない場合に、MC100とSC101とを混載する場合に比べてブロック間の距離が短いため、クリティカルパス遅延が小さくなるというメリットがある。
また、図20は、第1の領域110と第2の領域111とを帯状に交互に配置したFPGA1dの例を示す。すなわち、図20の例では、FPGA1dは、複数の第1の領域110のそれぞれ、ならびに、複数の第2の領域111のそれぞれが互いに隣接しないように、第1の領域110のそれぞれ、および、第2の領域111のそれぞれが帯状に配置されて構成される。
この図20に例示される帯状の配置の場合、例えば図において水平方向は、メモリ30およびMCM50のうち同じタイプのメモリが配置されるため、メモリを書き込むためのデコーダ回路が構築しやすい、MCM50の制御が容易であるなどのメリットがある。
勿論、図19および図20において、第1の領域110および第2の領域がそれぞれFPGA1cおよび1dに占める割合は固定ではない。
(第2の実施形態)
次に、第2の実施形態について説明する、第2の実施形態では、1つのマルチコンテキスト型ダイナミックリコンフィギャラブルFPGA上にMC100およびSC101を混在させた場合の、各メモリM3011〜301n、および、メモリM3021〜302n(図2参照)、ならびに、各MCM5011〜501n、および、MCM5021〜502n(図6等参照)の適切な配置を提供する。
次に、第2の実施形態について説明する、第2の実施形態では、1つのマルチコンテキスト型ダイナミックリコンフィギャラブルFPGA上にMC100およびSC101を混在させた場合の、各メモリM3011〜301n、および、メモリM3021〜302n(図2参照)、ならびに、各MCM5011〜501n、および、MCM5021〜502n(図6等参照)の適切な配置を提供する。
図21において、垂直方向をカラム(Column)、水平方向をロー(Row)とする。例えば、FPGA1a’は、それぞれ1つのMC100およびSC101を含む基本タイル10aにおいて、それぞれのSB20に接続されるMCM5011、5012、…、501n、および、メモリM3011、3012、…、301n、ならびに、それぞれのLB21に接続されるMCM5021、5022、…、502n、および、メモリM3021、3022、…、302nを、カラム方向に沿って並列に配置する。
図22は、第2の実施形態に係るFPGA1a’のメモリ配置のより具体的な例を示す。なお、以下では、各MCM5011〜501nに含まれる各記憶部M5311〜534n、および、各MCM21〜502nなどに含まれる同様の構成を、適宜、記憶部Mとして説明する。同様に、各メモリM3011〜301n、および、メモリM3021〜302nなど同様の構成を、適宜、メモリMとして説明する。また、図22において、各記憶部Mに接続されるスイッチは、省略されている。
図22に示されるように、MCMB5001においてMCM5011に含まれる、それぞれ選択信号Q1〜Q4の配線が各スイッチを介して接続される各記憶部M5311、5321、5331および5341と、SCMB3001に含まれるメモリM3011とを、カラム方向に整列して配置する。MCMB5002およびSCMB3002においても、同様に、MCMB5002において、1つのMCM(例えばMCM5021)に含まれる、それぞれ選択信号Q1〜Q4の配線が各スイッチを介して接続される各記憶部Mと、SCMB3002に含まれるメモリ3021とを、カラム方向に整列して配置する。同一のカラム上に整列して配置された各記憶部Mおよび各メモリMにより、メモリ列が形成される。
MCMB5001に含まれる他のMCM5012〜501n、および、SCMB3001に含まれる他のメモリM3012〜301n、ならびに、MCMB5002に含まれる他のMCM5022〜502n、および、SCMB3002に含まれる他のメモリM3022〜302nについても同様に、MCMに含まれる、異なる選択信号Qnの配線が各スイッチを介して接続される各記憶部Mと、シングルコンテキストメモリを構成するメモリMとを、カラム方向に整列して配置する。
このように、第2の実施形態では、ある基本タイル10a内のMC100において例えばSB20に接続される複数のMCM5011、5012、…、501nにおいて、異なる選択信号Qnの配線が各スイッチを介して接続される各記憶部M(図9を参照し、MCM5011の場合、記憶部M5311、5321、5331および5341)を、同一カラム上に整列して配置する。このカラム上に、さらに、LB21に接続される複数のMCM5021、5022、…、502nにおいても同様に、異なる選択信号Qnの配線が各スイッチを介して接続される各記憶部Mを、整列して配置する。
さらにまた、上述と同一のカラム上に、当該基本タイル10a内のSC101において例えばSB20に接続される複数のメモリM3011、3012、…、301nのうち1つを配置し、LB21に接続される複数のメモリM3021、3022、…、302nのうち1つをそれぞれ配置する。
また、例えばSB20に接続される複数のMCM5011、5012、…、501nにおいて、同一の選択信号Qnの配線が各スイッチを介して接続される各記憶部Mを、同一のロー上に整列して配置する。図9の例では、選択信号Q1の配線が各スイッチを介して接続される各記憶部M5311、5312、…、531nを同一のロー上に配置する。なお、メモリM3011、3012、…、301n、および、メモリM3021、3022、…、302nは、それぞれ同一のロー上に配置する。同一のロー上に整列して配置された各記憶部Mおよび各メモリMにより、メモリ行が形成される。
このように、各記憶部Mおよび各メモリMによるメモリ行およびメモリ列が形成される。他の基本タイル10a内のMC100についても同様にして、各記憶部Mおよび各メモリMをカラムおよびロー上に整列して配置し、各記憶部Mおよび各メモリMによるメモリ行およびメモリ列を形成する。
このように、各記憶部Mおよび各メモリMを、選択信号Qnの配線に応じてカラムおよびロー上に整列して配置することで、FPGAの面積効率を向上できる。
説明は図21に戻り、FPGAは、各コンフィギュレーションメモリに対してデータを書き込むためのライトデコーダを備えることが一般的である。図21の例では、FPGA1a’は、ロー側ライトデコーダ70と、カラム側ライトデコーダ71とを備える。ロー側ライトデコーダ70およびカラム側ライトデコーダ71は、FPGA1a’の外部からの指示に従い、各記憶部Mおよび各メモリMが整列して配置された各カラムおよび各ローから、データを書き込む対象のローおよびカラムをそれぞれ選択する。
カラム側ライトデコーダ71は、カラム側ライトデコーダ71とロー側ライトデコーダ70とで共通して選択された記憶部MまたはメモリMにデータを書き込む。例えば、カラム側ライトデコーダ71は、選択したロー上に配置された各記憶部Mまたは各メモリMのうち、ロー側ライトデコーダ70により選択されたカラム上の記憶部MまたはメモリMにデータを書き込む。
図22を例としてより具体的に説明すると、ロー側ライトデコーダ70が、例えば記憶部M5341が含まれるローを選択したものとする。図22の例では、選択されたロー上には、記憶部M5341、5342、…、534nが配置されている。この状態において、カラム側ライトデコーダ71が、例えば記憶部M5311が含まれるカラムと、記憶部M5312が含まれるカラムとを選択したものとする。この場合、記憶部M5341および5342がロー側ライトデコーダ70およびカラム側ライトデコーダ71に共通して選択されており、カラム側ライトデコーダ71は、これら記憶部M5341および5342にデータを書き込むことができる。
このように、第2の実施形態によれば、基本タイル10aの各記憶部Mおよび各メモリMを、カラムおよびロー上に整列させて配置しているため、各記憶部Mおよび各メモリMに対するロー側ライトデコーダ70およびカラム側ライトデコーダ71によるデータの書き込み処理を容易に実行することが可能となる。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、上述した第1および第2の実施形態によるFPGA1’、FPGA1a、FPGA1a’、FPGA1b、FPGA1c、FPGA1dを電子機器に適用した例である。
次に、第3の実施形態について説明する。第3の実施形態は、上述した第1および第2の実施形態によるFPGA1’、FPGA1a、FPGA1a’、FPGA1b、FPGA1c、FPGA1dを電子機器に適用した例である。
図23は、第3の実施形態に係る電子機器の一例の構成を示す。図23において、電子機器600は、バス610に対してIC(Integrated Circuit)620と、MPU(Micro-Processing Unit)521と、メモリ522と、インターフェイス(I/F)523とを含む。
IC620は、上述した第1および第2の実施形態による各FPGAである。ここでは、IC620は、FPGA1a’であるものとする。FPGA1a’は、図13および図14を用いて説明したように、それぞれMC100およびSC101を含む複数の基本タイル10a、10a、…を備えると共に、外部とのデータの受け渡しを行う複数のI/O11、11、…を備える。また、FPGA1a’は、図21で示したように、ロー側ライトデコーダ70とカラム側ライトデコーダ71とを備える。
MPU621は、プログラムに従い動作する。メモリ622は、MPU621が動作するためのプログラムが予め記憶される。また、メモリ622は、MPU621が動作する際のワークメモリとしても用いられる。インターフェイス623は、MPU621の制御に従い外部の機器と通信を行う。
IC620は、例えば製品出荷時やユーザ使用時に、各基本タイル10a内のMC100およびSC101にそれぞれ含まれる各メモリ、すなわち、メモリM3011〜301n、および、メモリM3021〜302n、ならびに、各MCM5011〜501n、および、MCM5021〜502nの各記憶部M5311〜534nにデータが書き込まれる。例えば、外部の機器からFPGA1a’に対して、書き込みデータと書き込み指示とが供給される。FPGA1a’において、ロー側ライトデコーダ70およびカラム側ライトデコーダ71は、書き込み指示に従い、書き込みデータを上述の各基本タイル10a内の各メモリに順次書き込む。
MPU621は、例えば、実行されるプログラムにおいてIC620における演算処理が必要な場合、IC620に対してバス610を介してコマンドおよびデータを転送し、IC620に当該演算処理を実行させる。IC620による演算結果は、バス610を介してMPU621に転送される。MPU621は、プログラムの実行結果などを、例えばインターフェイス623を介して外部に出力する。
第3の実施形態に係る電子機器600は、上述したように、FPGAが省面積化され、IC620が小型化可能であるため、筐体の小型化や配線の容易化などが可能である。
なお、本発明は上述した各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、各実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
1,1’,1a,1a’,1b,1c,1d,1x FPGA
10,10’,10a 基本タイル
20,20M1,20M2,20S1 スイッチブロック
21,21M1,21M2,21S1 ロジックブロック
3011〜301n,3021〜302n メモリM
50,5011〜501n,5021〜502n マルチコンフィギュレーションメモリ
5311〜5341,5312〜5342,531n〜534n 記憶部M
60 コントロール回路
70 ロー側ライトデコーダ
71 カラム側ライトデコーダ
100,1001,1002 マルチコンテキストブロック
101,1011 シングルコンテキストブロック
110 第1の領域
111 第2の領域
10,10’,10a 基本タイル
20,20M1,20M2,20S1 スイッチブロック
21,21M1,21M2,21S1 ロジックブロック
3011〜301n,3021〜302n メモリM
50,5011〜501n,5021〜502n マルチコンフィギュレーションメモリ
5311〜5341,5312〜5342,531n〜534n 記憶部M
60 コントロール回路
70 ロー側ライトデコーダ
71 カラム側ライトデコーダ
100,1001,1002 マルチコンテキストブロック
101,1011 シングルコンテキストブロック
110 第1の領域
111 第2の領域
Claims (9)
- 第1のブロックと第2のブロックとを含む再構成可能な半導体集積回路であって、
前記第1のブロックは、
並列に接続された第1の複数のメモリと、
並列に接続された第2の複数のメモリと、
前記第1の複数のメモリおよび前記第2の複数のメモリからそれぞれ1のメモリを選択する選択部と、
前記第1の複数のメモリのうち前記選択部により選択されたメモリから読み出したデータに応じて論理が決定される第1のロジック回路と、
前記第2の複数のメモリのうち前記選択部により選択されたメモリから読み出したデータに応じて前記第1のロジック回路に対してデータが入出力される経路を切り替える第1のスイッチ回路と
を備え、
前記第2のブロックは、
第3のメモリから読み出したデータに応じて論理が決定される第2のロジック回路と、
第4のメモリから読み出したデータに応じて前記第2のロジック回路に対してデータが入出力される経路を切り替える第2のスイッチ回路と
を備える再構成可能な半導体集積回路。 - 前記第1のブロックおよび前記第2のブロックは、
1以上の前記第1のブロックと1以上の前記第2のブロックとを含むタイル毎に配置される請求項1に記載の再構成可能な半導体集積回路。 - 前記タイルと、前記第1のブロックおよび前記第2のブロックのうち少なくとも一方とが混在して配置される請求項2に記載の再構成可能な半導体集積回路。
- 複数の前記第1のブロックを含む第1の領域と、複数の前記第2のブロックを含む第2の領域とを備える請求項1に記載の再構成可能な半導体集積回路。
- 前記第1の領域および前記第2の領域は、水平方向および垂直方向それぞれに対して交互に繰り返して配置される請求項4に記載の再構成可能な半導体集積回路。
- 前記第1の領域および前記第2の領域は、それぞれ帯状に配置される請求項4に記載の再構成可能な半導体集積回路。
- 第1のブロックと第2のブロックとを含む再構成可能な半導体集積回路であって、
前記第1のブロックは、
並列に接続された第1の複数のメモリと、
並列に接続された第2の複数のメモリと、
前記第1の複数のメモリから読み出した値に応じて論理が決定される第1のロジック回路と、
前記第2の複数のメモリから読み出した値に応じて前記第1のロジック回路に対してデータが入出力される経路を切り替える第1のスイッチ回路と
を備え、
前記第2のブロックは、
第3のメモリから読み出した値に応じて論理が決定される第2のロジック回路と、
第4のメモリから読み出した値に応じて前記第2のロジック回路に対してデータが入出力される経路を切り替える第2のスイッチ回路と
を備え、
前記第1の複数のメモリ、前記第2の複数のメモリ、前記第3のメモリおよび前記第4のメモリは、カラム方向に整列して配置され、
前記カラム方向に整列して配置された前記第1の複数のメモリ、前記第2の複数のメモリ、前記第3のメモリおよび前記第4のメモリを含む複数のメモリ列が、前記カラム方向に対するロー方向に各メモリを整列させて配置される再構成可能な半導体集積回路。 - 前記第1の複数のメモリ、前記第2の複数のメモリ、前記第3のメモリおよび前記第4のメモリそれぞれにデータを書き込む書き込み部をさらに備え、
前記書き込み部は、
前記複数のメモリ列における各メモリが前記ロー方向に整列して配置された複数のメモリ行のうち所定のメモリ行を選択するとともに、前記複数のメモリ列のうち所定のメモリ列を選択し、
それぞれ選択した前記メモリ行および前記メモリ列に共通して含まれるメモリにデータを書き込む請求項7に記載の再構成可能な半導体集積回路。 - 請求項1乃至請求項8の何れか1項に記載の再構成可能な半導体集積回路と、
プログラムを記憶する記憶部と、
前記記憶部に記憶される前記プログラムに従い、前記再構成可能な半導体集積回路に対して予め定められた処理を実行させるプロセッサと
を有する
ことを特徴とする電子機器。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014191763A JP2016063490A (ja) | 2014-09-19 | 2014-09-19 | 再構成可能な半導体集積回路および電子機器 |
| US14/848,022 US9621159B2 (en) | 2014-09-19 | 2015-09-08 | Reconfigurable semiconductor integrated circuit and electronic device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014191763A JP2016063490A (ja) | 2014-09-19 | 2014-09-19 | 再構成可能な半導体集積回路および電子機器 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016063490A true JP2016063490A (ja) | 2016-04-25 |
Family
ID=55526337
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014191763A Pending JP2016063490A (ja) | 2014-09-19 | 2014-09-19 | 再構成可能な半導体集積回路および電子機器 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9621159B2 (ja) |
| JP (1) | JP2016063490A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10594321B1 (en) | 2018-09-18 | 2020-03-17 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit and reconfigurable semiconductor system |
| WO2023032023A1 (ja) * | 2021-08-31 | 2023-03-09 | 日本電信電話株式会社 | Fpgaおよびfpgaシステム |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6786955B2 (ja) * | 2016-08-25 | 2020-11-18 | 富士ゼロックス株式会社 | 再構成可能論理回路 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3558119B2 (ja) | 1999-08-09 | 2004-08-25 | 富士ゼロックス株式会社 | 情報処理システム、プログラマブル論理回路の回路情報形成方法、プログラマブル論理回路の再構成方法 |
| ITMI20030276A1 (it) | 2003-02-14 | 2004-08-15 | St Microelectronics Srl | Architettura ottimizzata per un blocco di connessione in gate |
| US7295037B2 (en) | 2004-11-08 | 2007-11-13 | Tabula, Inc. | Configurable IC with routing circuits with offset connections |
| US7317331B2 (en) | 2004-11-08 | 2008-01-08 | Tabula, Inc. | Reconfigurable IC that has sections running at different reconfiguration rates |
| US7230869B1 (en) | 2005-03-15 | 2007-06-12 | Jason Redgrave | Method and apparatus for accessing contents of memory cells |
| US7817470B2 (en) * | 2006-11-27 | 2010-10-19 | Mosaid Technologies Incorporated | Non-volatile memory serial core architecture |
| JP5007838B2 (ja) | 2009-03-05 | 2012-08-22 | 富士ゼロックス株式会社 | 情報処理装置および情報処理プログラム |
| JP5589479B2 (ja) | 2010-03-25 | 2014-09-17 | 富士ゼロックス株式会社 | データ処理装置 |
| US8415977B1 (en) * | 2012-05-11 | 2013-04-09 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit |
| WO2013181664A1 (en) * | 2012-06-01 | 2013-12-05 | The Regents Of The University Of California | Programmable logic circuit architecture using resistive memory elements |
| JP2014030110A (ja) * | 2012-07-31 | 2014-02-13 | Toshiba Corp | リコンフィギャラブル集積回路装置およびその書き込み方法 |
| US9231595B2 (en) * | 2013-06-12 | 2016-01-05 | International Business Machines Corporation | Filtering event log entries |
-
2014
- 2014-09-19 JP JP2014191763A patent/JP2016063490A/ja active Pending
-
2015
- 2015-09-08 US US14/848,022 patent/US9621159B2/en not_active Expired - Fee Related
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10594321B1 (en) | 2018-09-18 | 2020-03-17 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit and reconfigurable semiconductor system |
| WO2023032023A1 (ja) * | 2021-08-31 | 2023-03-09 | 日本電信電話株式会社 | Fpgaおよびfpgaシステム |
| JPWO2023032023A1 (ja) * | 2021-08-31 | 2023-03-09 | ||
| JP7690992B2 (ja) | 2021-08-31 | 2025-06-11 | 日本電信電話株式会社 | Fpgaシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20160086640A1 (en) | 2016-03-24 |
| US9621159B2 (en) | 2017-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11201623B2 (en) | Unified programmable computational memory and configuration network | |
| US11296705B2 (en) | Stacked programmable integrated circuitry with smart memory | |
| US5684980A (en) | FPGA virtual computer for executing a sequence of program instructions by successively reconfiguring a group of FPGA in response to those instructions | |
| JP3939698B2 (ja) | 埋込み固定論理回路をサポートする相互接続ロジックを有するプログラマブルゲートアレイ | |
| JP5639612B2 (ja) | 半導体集積回路 | |
| JP5241603B2 (ja) | 相互接続回路内のデータ経路のルーティングを求める方法、システム、およびコンピュータプログラム製品 | |
| JP6250548B2 (ja) | 再構成可能な半導体装置の論理構成方法 | |
| JPWO2002095946A1 (ja) | 集積回路装置 | |
| CN103366034B (zh) | 具有多级逻辑区域的集成电路 | |
| JPH09231788A5 (ja) | ||
| US10699054B2 (en) | Standard cell library, integrated circuit including synchronous circuit, and computing system for designing the integrated circuit | |
| CN112084729A (zh) | 用于逻辑器件的粗粒度可编程路由网络 | |
| JPH09231788A (ja) | シフトレジスタ及びプログラマブル論理回路並びにプログラマブル論理回路システム | |
| WO2014065424A1 (ja) | 再構成可能な半導体装置 | |
| JP2016063490A (ja) | 再構成可能な半導体集積回路および電子機器 | |
| JP4484756B2 (ja) | リコンフィギュラブル回路および処理装置 | |
| US7908453B2 (en) | Semiconductor device having a dynamically reconfigurable circuit configuration | |
| JP2020154803A (ja) | 回路設計方法およびプログラム | |
| TWI445312B (zh) | 具有鏡像互連結構的可程式積體電路 | |
| JP5336398B2 (ja) | 半導体集積回路、半導体集積回路の構成変更方法 | |
| JP2004200311A (ja) | 論理検証装置 | |
| JP5311382B2 (ja) | 再構成可能集積回路 | |
| US10810341B1 (en) | Method and system for making pin-to-pin signal connections | |
| WO2019107234A1 (ja) | 設計支援システム、設計支援方法およびプログラム記録媒体 | |
| KR20220008901A (ko) | 시프터블 메모리 및 시프터블 메모리를 동작시키는 방법 |