JP2015082671A - 半導体装置 - Google Patents

半導体装置 Download PDF

Info

Publication number
JP2015082671A
JP2015082671A JP2013218075A JP2013218075A JP2015082671A JP 2015082671 A JP2015082671 A JP 2015082671A JP 2013218075 A JP2013218075 A JP 2013218075A JP 2013218075 A JP2013218075 A JP 2013218075A JP 2015082671 A JP2015082671 A JP 2015082671A
Authority
JP
Japan
Prior art keywords
bit
input
selector
output
bits
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
JP2013218075A
Other languages
English (en)
Inventor
稔朗 北岡
Toshiaki Kitaoka
稔朗 北岡
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2013218075A priority Critical patent/JP2015082671A/ja
Publication of JP2015082671A publication Critical patent/JP2015082671A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

【課題】ビット単位で冗長の構成情報を持つことを要せず、また、データ処理部のアレイに新たに冗長行を追加することを要せず、少ない冗長用面積で欠陥救済を可能にする。【解決手段】m(2以上の整数)ビット演算幅のデータ処理部に対してmビットの信号配線にi(mより小さな正の整数)ビットの冗長配線を付加した信号経路を採用し、データ処理部の前段にm+iビットの入力信号から所望位置のmビットを選択して出力する入力セレクタを設け、データ処理部の最終段にmビットの処理信号をm+iビットの前記所望位置に配置して出力する出力先セレクタを設ける。入力セレクタと出力先セレクタにより、データ処理部が介在される信号経路のある部分の欠陥に対する救済結果は当該経路に等しく伝播される。【選択図】図1

Description

本発明は、複数の回路を接続する経路網の故障に対する冗長の技術に関し、例えばデータ処理機能を再構成可能な複数のデータ処理エレメントを信号経路網で可変に接続可能に構成されたプロセッサアレイに適用して有効な技術に関する。
FPGA(field-programmable gate array)やPLD((Programmable Logic Device)などの再構成可能デバイスは、プログラマブルな配線資源によって機能ブロックの接続関係を変更することによって、さまざまな処理を実現できる。プログラマブルな配線資源や機能ブロックのプログラム情報は、内蔵された構成情報メモリによって記憶される。構成情報メモリはSRAM(Static Random Access Memory)やフリップフロップ、或いはフラッシュメモリなどの記憶素子によって構成される。そして、プログラマブルな配線資源中のスイッチの状態を、接続された構成情報メモリの内容により決定し、配線のプログラムを可能とする。
このような再構成可能デバイスは、非常に面積効率が悪い。FPGA上に論理を実装すると、同じ論理を同じプロセスのスタンダードセルでハードウェア設計した場合に比べ一般に数十〜百倍超の面積を必要とすると言われている。これは、例えゲート1段の論理を作る場合でも、FPGAやPLDではメモリから成るルックアップテーブルや何段ものプログラマブル配線、及び配線を設定する構成情報メモリなどが必要となるためである。そのため、FPGAやPLDのダイの面積(チップ面積)は、再構成可能とされない半導体集積回路よりかなり大きい傾向にあるため、一枚のシリコンウェハー上からとれるチップの個数が少なくなる上に、チップ上に製造上の欠陥が生じる可能性も大きくなり、チップコストが非常に高くなる。
再構成可能デバイスの回路の一部に予め冗長な領域を設けておき、欠陥部分をこの冗長な領域に置き換えることによって、半導体チップ全体が不良品とならないようにする手法が提案されている。特許文献1では再構成可能デバイスの論理アレイブロックに冗長の行を設けておき、欠陥のある行と置換することでチップを良品として出荷できるようにしている。
特許文献2及び特許文献3に記載されたアレイ型プロセッサは、プロセッサエレメント(データ処理エレメント)をアレイ状に並べたものをプログラマブルな配線で電気的に接続した構成からなる。このアレイ型プロセッサの特徴の一つは、内部の処理単位として複数ビット幅の演算器及びプログラマブルスイッチを持っていることである。演算器間の接続自由度を持たせるために、例えば図25に例示するように多入力の複数のプログラマブルスイッチによって演算器が接続される。内部の処理単位はmビットのような1種類に限定されず、mビット/nビット等複数種類から成ることもある。
そのようなアレイ型プロセッサは対象処理に応じて、ハードウェア構成を変更できるが、従来のFPGAやPLDに比べて面積効率が優れている。これは、図26に例示するようにFPGAはmビット幅の演算器やプログラマブルスイッチに対してビット単位で構成情報メモリを持つ。これに対してアレイ型プロセッサは図27に例示されるようにmビット幅のプログラマブルスイッチや演算器が実行する命令は共通の構成情報メモリで設定できる。このように、FPGAでは1ビット毎に設定しなければならないため、FPGAにおけるmビット幅の設定にはアレイ型プロセッサのm倍の構成情報メモリが必要になる。アレイ型プロセッサには処理の大半をmビット演算器及びmビットプログラマブルスイッチで効率よく行なうことで、少ない面積で汎用的な処理が実現できるという利点がある。
特開2002−33654号公報 特許第3528922号公報 特開2008−15772号公報
特許文献1に記載される再構成可能デバイスは、例えば図25で概念化されるように論理アレイブロックの複数の演算行に対して冗長の行(冗長の演算行)を設けておき、欠陥のある行と置換する構成となっている。再構成可能デバイスは、各プログラマブル配線毎に遅延値が定義されており、これらの要素や機能ブロックの遅延値等の総和から、回路のクリティカルパスを計算し、再構成可能デバイス上に実装した回路がどれだけの速度で動くか保証する。特許文献1のように、欠陥が発生し冗長の行に置き換える際には、冗長行までの配線距離が変化するため、配線抵抗により、置き換えない場合よりも遅延が増大する。また、このデバイスでは、欠陥の発生位置によっては、置き換えない場合に比べて追加のバッファが入ることもあり、その場合バッファの分だけ遅延が増大する。同じ構成情報を設定した場合に、外部から見たチップの動作が同じにするためには、このような配線全てに関して、遅延マージンを見込んでおく必要があり、保証できる遅延性能が悪くなってしまう。大きな遅延マージンを見込まなければ、欠陥を救済したチップも、欠陥なしのチップもあわせて区別なく良品として出荷することができなくなる。要するに、外部から見たチップの動作が双方で同じにならなくなる。
また、このような冗長領域の持たせ方では代替不能な縦配線が生じる。特許文献1の図7のアレイブロックを縦に貫いている垂直トレース自体に欠陥が生じ、配線が切れたりショートしたりした場合は救済不能である。
更に、論理アレイブロックに冗長の行を設けるような手法では、冗長の行には構成情報メモリなども含まれるため、冗長領域の面積が大きくなり、チップコストが増大する。したがってアレイ型プロセッサに、冗長行を設けて欠陥救済を行なう技術を採用することは得策ではない。
特許文献1にも記載の再構成可能デバイスは一般的にプログラマブルな配線資源が面積の多くの部分を占めている。アレイ型プロセッサのようなデバイスでは、mビット幅のスイッチが共通の構成情報メモリで制御できるため、相対的に構成情報メモリの割合が下がり、プログラマブルスイッチの面積の割合が多くなる。欠陥の発生場所はチップ上の面積の多くを占める箇所で発生するため、少ない冗長用面積で欠陥救済を可能にするには、このプログラマブルスイッチなどを含む信号経路網との接続部分に着目して冗長を構成することの優位性が本発明者によって見出された。
上記並びにその他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、mビット演算幅のデータ処理部に対してmビットの信号配線にiビットの冗長配線を付加した信号経路を採用し、データ処理部の前段にm+iビットの入力信号から所望位置のmビットを選択して出力する入力セレクタを設け、データ処理部の最終段にmビットの処理信号をm+iビットの前記所望位置に配置して出力する出力先セレクタを設ける。入力セレクタと出力先セレクタにより、データ処理部が介在される信号経路のある部分の欠陥に対する救済結果は当該経路に等しく伝播される。したがって、m+iビットに対するmビットの所望位置を設定する冗長設定情報を共有する入力セレクタ及び出力先セレクタのグループ単位で信号経路のスイッチや配線の欠陥救済が可能になる。
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、ビット単位で冗長の構成情報を持つことを要せず、また、データ処理部のアレイに新たに冗長行を追加することを要せず、少ない冗長用面積で欠陥救済が可能になる。
図1は再構成可能デバイスの接続構成を例示するブロック図である。 図2は再構成可能デバイスのアレイ構成を例示する説明図である。 図3はデータ処理部の具体例を示すブロック図である。 図4は信号生成部の具体例を示すブロック図である。 図5はm=8、i=1の場合における冗長入力セレクタの一例を示すブロック図である。 図6はm=8、i=1の場合における冗長出力先セレクタの一例を示すブロック図である。 図7は信号生成部における冗長制御信号s0〜s7の生成論理を真理値表で例示する説明図である。 図8は図7の真理値表を実現する冗長制御信号生成回路の具体的な論理を例示する論理回路図である。 図9はデータ処理エレメントのアレイ全体を2個のブロックに分けて信号生成部を個別化した例を示す説明図である。 図10はm=8、i=2の場合における冗長入力セレクタの一例を示すブロック図である。 図11はm=8、i=2の場合における冗長出力先セレクタの一例を示すブロック図である。 図12はm=8、i=1の場合における冗長入力セレクタの別の例を示すブロック図である。 図13はm=8、i=1の場合における冗長出力先セレクタの別の例を示すブロック図である。 図14はデータ処理エレメントにパリティ検出生成機能を追加した例を示すブロック図である。 図15は図6の回路にパリティ生成回路を付加した例を示すブロック図である。 図16は図5の回路にパリティ検出回路を付加した例を示すブロック図である。 図17はデータ処理エレメントにECC機能を追加した例を示すブロック図である。 図18は再構成可能デバイスを搭載したマイクロコンピュータを例示するブロック図である。 図19は再構成可能デバイスの別の応用例を示すブロック図である。 図20は図19で採用する機能再構成セルの一例を示すブロック図である。 図21は複数の機能再構成セルのアレイ構成を例示するブロック図である。 図22は再構成可能デバイスの信号経路網の他の形態を例示するブロック図である。 図23は夫々mビットの出力を形成するn個の回路モジュールに対するピンマルチへの応用例を示すブロック図である。 図24夫々mビットを出力する複数のモリに対する選択の応用例を示すブロック図である。 図25は多入力の複数のプログラマブルスイッチによって演算器が接続されるアレイ型プロセッサにおいて演算冗長行を設けた救済手法を参考として示す説明図である。 図26はFPGAにおいてmビット幅の演算器やプログラマブルスイッチに対してビット単位で構成情報メモリを持つ構成を参考として示す説明図である。 図27はアレイ型プロセッサにおいてmビット幅のプログラマブルスイッチや演算器が実行する命令は共通の構成情報メモリで設定可能であることを示すための説明図である。
1.実施の形態の概要
先ず、本願において開示される実施の形態について概要を説明する。実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕<入力セレクタ、データ処理部、出力先セレクタ、信号生成部>
半導体装置(100,120)は、入力セレクタ(21)、データ処理部(20、135〜142)、出力先セレクタ(22)、及び信号生成部(23)を有する。入力セレクタは、m+i(iとmは、m≧2、m>iの関係を有する正の整数)ビットの入力とmビットの出力とを有する。データ処理部は、前記入力セレクタの前記mビットの出力に結合されたmビットの入力を有するmビットデータ処理幅を持つ。出力先セレクタは、前記データ処理部の前記mビット出力に結合されたmビットの入力と、m+iビットの出力とを有する。信号生成部は、前記入力セレクタ及び出力先セレクタに結合され、前記入力セレクタの前記m+iビットの入力の内から所望ビット位置のmビットを前記入力セレクタの前記mビットの出力へ結合させることを可能にし、且つ、前記出力先セレクタの前記mビットの入力を、前記出力先セレクタの前記m+iビットの出力の内の前記所望ビット位置のmビットの出力へ結合させることを可能にする。
これによれば、mビット演算幅のデータ処理部の入力段に入力セレクタが配置され、出力段に出力先セレクタが配置されることによって、入力セレクタのm+iビットの入力の内のiビットが冗長になり、出力先セレクタのm+iビットの出力の内のiビットが冗長になる。双方のセレクタのm+iビット中における所望ビット位置のmビットの配置が等しくされるので、データ処理部のブロック単位で信号生成部を共通化すれば、ブロック毎にm+iビット中の最大iビットの欠陥を救済することができる。欠陥の発生率がきわめて少ない場合にはデータ処理部のアレイ全体で信号生成部を共通化すればよい。欠陥の発生率が高い場合にはそれに応じて信号生成部を共通化するデータ処理部のブロックサイズを小さくしていけばよい。したがって、ビット単位で冗長の構成情報を持つことを要せず、また、データ処理部のアレイに冗長行を新たに追加することを要せず、少ない冗長用面積で欠陥救済が可能になる。
〔2〕<可変スイッチ部>
項1において、前記入力セレクタ、データ処理部及び出力先セレクタをセットとする複数のデータ処理エレメント(2,130)を有する。前記複数のデータ処理エレメント間で前記入力セレクタの入力と前記出力先セレクタの出力とを可変可能に接続する信号経路網(3)を更に有する。前記信号経路網は、前記入力セレクタの入力に接続するm+iビットのビット幅を持つ第1信号経路(31)と、前記出力先セレクタの出力に接続するm+iビットのビット幅を持つ第2信号経路(32)と、入力に接続された複数の第2信号経路から可変可能に選択した一つの信号経路を、出力に接続された第1信号経路に接続する可変スイッチ部(33)と、を有する。
これによれば、可変スイッチ部による信号経路網によってデータ処理エレメントの接続形態がプログラマブルにされたアレイ型プロセッサを構成することができる。アレイ型プロセッサにおいては上記可変スイッチを含む信号経路網のようなプログラマブルな配線資源が面積の多くの部分を占めている。可変スイッチ部はビット単位ではなくm+iビット単位で経路を選択するから可変スイッチ部をプログラマブルに設定するための情報を記憶する構成情報メモリのチップ占有率が下がり、相対的に可変スイッチ部や信号配線の面積の割合が多くなる。欠陥はチップ全体のランダムな位置で発生するため、可変スイッチ部の出力からデータ処理エレメントに至る経路に配置した入力セレクタとデータ処理エレメントの出力から可変スイッチ部の入力に至る経路に配置した出力先セレクタとによって冗長救済を設定する。これは、冗長用の少ない面積で欠陥救済を可能にするのに好適である。
〔3〕<プログラマブル演算器アレイ>
項2において、前記データ処理部は、mビット演算幅の演算器(200,201)と、前記演算器によるハードウェア構成を定義するハードウェア定義記憶部(203)とを有する。
これによってデータ処理部単位でそのハードウェア構成がプログラマブルとなる。
〔4〕<データ処理エレメント群単位で入力セレクタ及び出力先セレクタの選択態様を共通化>
項2において、前記信号生成部は、複数個の前記データ処理エレメントのグループ(BLK1,BLK2)単位で共通化されている。
これによれば、半導体装置全体における欠陥の発生率予測に応じて前記データ処理エレメントのグループサイズを決めることにより、冗長救済に必要な構成が過小にも過大にもならず最適化される。
〔5〕<選択態様による遅延性能同等の入力セレクタ>
項2において、前記入力セレクタ(図5、図10)は、m+iビットの入力の最下位又は最上位の一方から1ビットずつずれた隣接するi+1ビットを入力して何れか1ビットを選択するm個のi+1ビット入力を持つ第1セレクタ(210_0〜210_7)によって、m+iビットの入力からmビットを選択可能とする。
これによれば、m+iビットの入力に対するmビットの出力の結合位置に拘わらず、入力から出力に至る信号経路長がどのビットも実質的に同一になって、ビット位置に拘わりなく遅延性能同等の入力セレクタを実現することができる。
〔6〕<選択態様による遅延性能同等の出力先セレクタ>
項5において、前記出力先セレクタ(図6、図11)は、mビットの入力の最下位ビット(in0)をm+iビットの出力の最下位ビット(bit0)とし、前記mビットの入力の最下位ビットを除く下位側からの各ビットで、当該ビットとその下位側の最大iビットまでの下位側ビットとを入力とするm−1個の第2セレクタ(220_0〜220_6)と、mビットの入力の最上ビット(in7)をm+iビットの出力の最上位ビットとし、更にi≧2のとき(図11)、前記m+iビットの出力のm+1ビット目(bit8)から最上位ビット(bit9)の直前までの各出力ビット(bit8)に対し、当該ビットからその最上位ビットまでのビット数分だけ繰り下がったmビットの入力のビット位置からその最上位ビットに至るまでのビットを入力するi−1個の第3セレクタ(220_7)とによって、m+iビットの出力における入力のmビットの配置を選択可能とする。
これによれば、m+iビットの出力に対する入力のmビットの配置に拘わらず、入力から出力に至る信号経路長がどのビットも実質的に同一になって、ビット位置に拘わりなく遅延性能同等の出力さきセレクタを実現することができる。
〔7〕<入力セレクタの救済非選択時の高速化>
項2において、前記入力セレクタ(図12)は、m+iビットの内のmビットの入力を夫々1ビットずつ個別に入力すると共に、m+iビットの内の残りのiビットを夫々共通に入力する夫々i+1個の入力を持つm個の第4セレクタ(210B_0〜210B_7によって、m+iビットの入力からmビットを選択可能とする。
これによれば、iビット中の冗長信号が通過する第4セレクタの位置は欠陥ビット位置に応じて異なるから、その相違に応じた信号経路長の差によって入力セレクタはビット位置に応じた僅かな入力遅延を生ずる。この点では項5の入力セレクタが優れる。
〔8〕<出力先セレクタの救済非選択時の高速化>
項7において、前記出力先セレクタ(図13)は、mビットの入力からiビットを選択する第5セレクタを有し、mビットの入力をmビットの出力とし、前記第5セレクタ(220B)の出力をmビット出力の最上位に続くiビットの出力とする。
これによれば、欠陥が発生していない場合にはmビットの出力経路には第5セレクタが介在されず、出力にはセレクタの動作遅延が全く含まれない。一方、欠陥が発生した場合には冗長ビットが多入力の第5セレクタを経由するのでその出力が大きく遅延し、結果としてm+iビットの出力確定が大きく遅延する。したがって、第4セレクタを備えた入力セレクタ及び第5セレクタを備えた出力先セレクタを用いる場合は、項5の入力セレクタ及び項6の出力先セレクタを用いる場合に比べて、欠陥のない製品は高速動作可能で、欠陥代替をした場合は低速動作となる。製品展開の戦略上、高速版と低速版に分けることもあり、このような性質が有効とされる場合もある。
〔9〕<パリティ検出、パリティ生成>
項1において、前記入力セレクタのm+iビットの入力に対するパリティ検出回路(24)を有すると共に、前記データ処理部のmビットの出力を入力してiビットのパリティ信号を生成するパリティ生成回路(25)を有する。
これによれば、前段のデータ処理部から供給される処理結果に対してパリティ検出回路を用いてパリティチェックを行なうことができる。データ処理部の処理結果に対してパリティ生成回路でパリティ信号を生成することによりその後段でパリティチェックを可能とする。これはデータ処理の信頼性向上に資するものである。
〔10〕<冗長モードとパリティモード>
項9において、前記出力先セレクタ(22C)は、冗長モードにおいてm+iビットの出力の最上位ビットにはmビットの入力の最上位ビットを結合し、パリティモードにおいてm+iビットの出力の最上位には前記パリティ生成回路で生成したパリティ信号を結合する第6セレクタ(220_7)を有する。
これによれば、欠陥を生じていない場合にはパリティモードによりデータ処理の信頼性向上に寄与し、欠陥を生じている場合には冗長モードによって欠陥を救済することができる。
〔11〕<ECCエラー検出訂正、ECCチェックコード生成>
項1において、前記入力セレクタのm+iビットの入力に対するECC検出及び訂正処理を行ってmビットを出力するECCエラー検出訂正回路(26)と、前記データ処理部のmビットの出力を入力してiビットのECCチェックコードを生成するECC生成回路(27)とを有する。
これによれば、ECCチェックコードを用いたエラー検出及び必要な訂正を行なうことによって半導体装置におけるデータ処理の信頼性を更に向上させることができる。
〔12〕<冗長モードとECCモード>
項11において、前記入力セレクタは、ECCモードでは前記m+iビットの入力に対してECC検出及び訂正処理を行って得られたmビットを、冗長モードでは前記m+iビットの入力の内から所望ビット位置のmビットを、前記入力セレクタの前記mビットの出力へ結合することを可能とする。前記出力先セレクタは、ECCモードでは前記mビットの入力に前記ECC生成回路で生成したiビットのECCチェックコードを付加してm+iビットの出力に結合し、冗長モードでは前記mビットの入力を、前記m+iビットの出力の内の前記所望ビット位置のmビットへ結合可能とする。
これによれば、欠陥を生じていない場合にはECCモードによりデータ処理の信頼性向上に寄与し、欠陥を生じている場合には冗長モードによって欠陥を救済することができる。
〔13〕<モジュールセレクタへの適用>
別の半導体装置は、m(mは、m≧2の関係を有する正の整数)ビットの出力を持つ複数の回路モジュール(401,411)と、夫々対応する前記回路モジュールのmビットの出力に結合されたmビットの入力とm+i(iは、m>iの関係を持つ正の整数)ビットの出力とを有する複数の出力先セレクタ(22)と、前記複数の出力先セレクタのm+iビットの出力を一単位としてその複数単位に結合するm+iビットの複数単位の入力と前記複数単位の入力から選択された一単位のm+iビットの出力とを有するモジュールセレクタ(402,412)と、前記モジュールセレクタの出力に結合するm+iビットの入力とmビットの出力とを有する入力セレクタ(21)とを有する。更に、前記出力先セレクタのmビットの入力を、前記出力先セレクタの前記m+iビットの出力の内の所望ビット位置のmビットの出力へ結合せることを可能とし、且つ、前記入力セレクタの前記m+iビットの入力の内から前記所望ビット位置のmビットを前記入力セレクタの前記mビットの出力へ結合させることを可能とする信号生成部(23)を有する。
これによれば、モジュールセレクタのm+iビット単位の入力毎に出力先セレクタが配置され、モジュールセレクタの出力段に入力セレクタが配置されることによって、出力先セレクタのm+iビット出力の内のiビットが冗長になり、入力セレクタのm+iビット入力の内のiビットが冗長になり、複数の出力先セレクタ及び入力セレクタに対して信号生成部が共通化され、双方のセレクタにおける所望ビット位置のmビットの配置が等しくされる。したがって、モジュールセレクタの入力段に接続された出力先セレクタ群毎にm+iビット中の最大iビットの欠陥を救済することができる。このようにその救済範囲はmビット単位の複数の入力に対して最大iビットであり、モジュールセレクタにビット単位の冗長構成を採用してビット単位で冗長の構成情報を持つことを要しない。m≧2、m>iであるから単なる二重化による冗長構成は排除されている。
〔14〕<演算処理ユニット、冗長入力セレクタ、冗長出力先セレクタ、冗長設定部>
更に別の半導体装置(100,120)は、m(mは、m≧2の関係を有する正の整数)ビットの演算幅を有する複数個のデータ処理エレメント(2,130)と、前記データ処理エレメント間を所望に接続する信号経路網(3(IBUS、145))と、冗長設定部と、を有する演算処理用の半導体装置である。前記信号経路網は、夫々m+i(iは、m>iの関係を有する正の整数)ビットのビット幅を持つ複数の信号経路(31,32(IBUS))を有する。前記データ処理エレメントは、前記信号経路から信号を受ける入力段に冗長入力セレクタ(21)を有し、且つ、前記信号経路に信号を渡す出力段に冗長出力先セレクタを有する。前記冗長入力セレクタは、前記m+iビットの入力から前記冗長設定部の設定に基づいて指定されたビット位置のmビットを選択して後段に出力する。前記冗長出力先セレクタは、前記データ処理エレメントによるmビットの処理結果を前記冗長設定部の設定に基づいて指定されたビット位置に配置したm+iビットを後段に出力する。
これによれば、mビット演算幅のデータ処理部の入力段に冗長入力セレクタが配置され、出力段に冗長出力先セレクタが配置されることによって、冗長入力セレクタのm+iビットの入力の内のiビットが冗長になり、冗長出力先セレクタのm+iビットの出力の内のiビットが冗長になる。双方のセレクタのm+iビットにおける指定されたビット位置のmビットの配置が等しくされるので、データ処理部のブロック単位でm+iビットに対するmビットの配置を共通化すれば、ブロック毎にm+iビット中の最大iビットの欠陥を救済することができる。欠陥の発生率がきわめて少ない場合にはデータ処理エレメントのアレイ全体でmビットの配置を共通化すればよい。欠陥の発生率が高い場合にはそれに応じたてmビットの配置を共通化するデータ処理エレメントのブロックサイズを小さくしていけばよい。したがって、ビット単位で冗長の構成情報を持つことを要せず、また、データ処理エレメントのアレイに冗長行を新たに追加することを要せず、少ない冗長用面積で欠陥救済が可能になる。
〔15〕<冗長設定部の不揮発性記憶回路>
項14において、前記冗長設定部は前記ビット位置を設定するための不揮発性記憶回路(230)を有する。
これによれば、製造段階で発生する欠陥はもとより、半導体装置を搭載する実機システム上で後から発生する欠陥に対してもmビットの配置を特定する救済情報を容易に書き換え可能に保持することができる。
〔16〕<入力セレクタ、演算部、信号生成部>
更に別の半導体装置は、可変信号経路網(3)、これに接続される複数個のデータ処理エレメント(2)、及び可変設定部(23)を有する。前記データ処理エレメントは、m+i(iとmは、m≧2、m>iの関係を有する正の整数)ビットの入力とmビットの出力とを有する入力セレクタ(21)と、前記入力セレクタの前記mビットの出力に結合されたmビットの入力を有するmビット演算幅の演算部(20)と、を有する。前記可変設定部は、前記入力セレクタに結合され、前記入力セレクタの前記m+iビットの入力の内から所望のmビットを前記入力セレクタの前記mビットの出力へ結合させることを可能にする信号を生成する。前記可変信号経路網は、m+iビットのビット幅を持つ複数の信号経路と、入力に接続された複数の信号経路から可変可能に選択した一つの信号経路を前記入力セレクタの入力に接続する可変スイッチ部(33)とを有する。
これによれば、m+iビットの夫々の信号経路はiビットの冗長を持ち、可変スイッチ部を介して複数の信号経路から選択された一つの信号経路に至る経路の故障に対して入力セレクタのm+iビットからmビットの配置を選択することによって冗長選択を行なう。したがって、mビットの信号経路に対してビット単位で冗長の構成情報を持つことを要せず、また、データ処理エレメントのアレイに冗長行を新たに追加することを要せず、少ない冗長用面積で欠陥救済が可能になる。
〔17〕<出力先セレクタ、演算部、信号生成部>
更に別の半導体装置は、可変信号経路網(3)、これに接続される複数個のデータ処理エレメント(2)、及び可変設定部(23)を有する。前記データ処理エレメントは、mビット出力を有するmビット演算幅の演算部(20)と、前記演算部の前記mビット出力に結合されたmビットの入力と、m+i(iとmは、m≧2、m>iの関係を有する正の整数)ビットの出力とを有する出力先セレクタ(22)と、を有する。前記可変設定部は、前記出力先セレクタに結合され、前記出力先セレクタの前記mビットの入力を、前記出力先セレクタの前記m+iビットの出力の内の所望のmビットの出力へ結合させることを可能にする信号を生成する。前記可変信号経路網は、m+iビットのビット幅を持つ複数の信号経路と、前記複数の冗長出力先セレクタの出力に前記信号経路を介して接続するm+iビットの入力を複数持ち、当該複数の入力の中から可変可能に選択した一つをm+iビットの出力に接続する可変スイッチ部(33)とを有する。
これによれば、m+iビットの夫々の信号経路はiビットの冗長を持ち、複数個のデータ処理エレメントの夫々から可変スイッチ部の入力に至る複数の信号経路の故障に対して出力先セレクタによりm+iビットの出力の内のmビットの配置を選択することによって冗長選択を行なう。したがって、mビットの信号経路に対してビット単位で冗長の構成情報を持つことを要せず、また、データ処理エレメントのアレイに冗長行を新たに追加することを要せず、少ない冗長用面積で欠陥救済が可能になる。
2.実施の形態の詳細
実施の形態について更に詳述する。
《再構成可能デバイス》
図2には再構成可能デバイスのアレイ構成が例示される。再構成可能デバイス1はデータ処理機能即ち演算処理機能が可変な複数個のデータ処理エレメント(PE)2がマトリクス状に配置され、それらデータ処理エレメント2の間を可変に接続する信号経路網3が設けられた、アレイ型プログラマブルプロセッサ(プログラマブル演算器アレイ)として構成される。この再構成可能デバイス1は、音声又は画像データに対する符号化復号処理、補完処理、或いは圧縮伸張処理など所望のデータ処理に応じて、夫々のデータ処理エレメント2に対する演算処理機能と信号経路網3によるデータ処理エレメントの接続形態がプログラムされる。これによって、再構成可能デバイス1には所要のデータ処理機能を可変可能に実装することができる。
図1には再構成可能デバイスの更に詳細な例が示される。データ処理エレメント2は、特に制限されないが、m(m≧2の関係を有する正の整数)ビットのデータ処理幅、即ち、mビットのデータ幅をデータ処理単位とする、データ処理部20を有する。データ処理部20は、特に制限されないが、図3に例示されるように、算術論理演算ユニット(ALU)201やフィルタ演算ユニット(DMU)200などの演算器及びレジスタファイル(REG)202と、それらを用いて実現する幾つかのハードウェア構成を定義するコンフィギュレーションセットを保有するハードウェア定義記憶部203を有する。例えばポインタ(PNT)204で指定されたコンフィギュレーションが読み出されることによって所要のハードウェアが構成される。ポインタ204で指定するコンフィギュレーションを切り替えることによってデータ処理エレメント20で実現されるハードウェア機能が可変される。ポインタデータは例えば図示を省略するシリアルバスなどの機能制御バス205などを介して書き込まれる。この書き込み制御は、特に制限されないが、再構成可能デバイス1と一緒にオンチップされた中央処理装置もしくはDMAC、或いは再構成可能デバイス1と別チップで構成されたプロセッサや外部装置などによって行われる。
ここではmビットのデータ幅に対して冗長ビットi(i<mの関係を有する正の整数)を例えば1ビット(i=1)とし、信号経路網3のデータ幅をm+1ビットとする。データ処理部20のデータ処理幅はmビットであるから、信号経路網3からデータ処理部20へ至る入力段には、m+1ビットの入力(入力端子)とmビットの出力(出力端子)を有する入力セレクタ(冗長入力セレクタとも記す)21が設けられる。信号経路網3に至るデータ処理部20の出力段にはmビットの入力とm+1ビットの出力を持つ出力先セレクタ(冗長出力先セレクタとも記す)22が設けられる。夫々のデータ処理エレメント2は上記データ処理部20、冗長入力セレクタ21、及び冗長出力先セレクタ22を有する。
信号経路網3は、前記冗長入力セレクタ21の入力に接続するm+1ビットのビット幅を持つ第1信号経路31と、前記冗長出力先セレクタ22の出力に接続するm+1ビットのビット幅を持つ第2信号経路32と、入力に接続された複数の第2信号経路32から可変可能に選択した一つの信号経路を、出力に接続された第1信号経路31に接続する可変スイッチ部33とを有する。図1では可変スイッチ部33の入力の接続先については図示を簡略化しているが、特に制限されないが、可変スイッチ部33は一のデータ処理エレメント2に他のデータ処理エレメント2の出力を所定グループ内で選択的に供給可能にするものである。これによってデータ処理エレメント2同士を上記グループ内で任意に接続可能にされる。可変スイッチ部33による経路選択は経路定義記憶にセットされる経路選択データで制御される。経路定義記憶は、特に制限されないが、個々の可変スイッチ部33が有し、経路選択データは例えばシリアルバスなどの前記機能制御バス205を介して書き込まれる。この書き込み制御は、特に制限されないが、再構成可能デバイス1と一緒にオンチップされた中央処理装置もしくはDMAC、或いは再構成可能デバイス1と別チップで構成されたプロセッサや外部装置などによって行われる。
信号経路網3における多数の配線資源31,32及びプログラマブルなスイッチ資源33は再構成可能デバイスの面積の多くの部分を占めることになる。再構成可能デバイス1はデータ処理単位をmビットとするアレイ型プロセッサとして機能される関係上、mビット単位で経路選択を行なえばよく、ビット単位で行なうことを要せず、経路定義記憶の記憶容量が小さくなる。結果として、相対的に経路定義記憶によるデバイス面積の占有割合が下がり、信号経路31,32並びに可変スイッチ部33のようなプログラマブルスイッチの面積の割合が多くなる。欠陥はデバイスの如何なる場所でも発生し、少ない冗長用面積でそのような欠陥の救済を可能にするという観点より、信号経路31,32には1ビットの冗長を設け、可変スイッチ部33には冗長ビットを含めたm+1ビット単位の経路選択を行なうようにした。データ処理エレメント2に対してはm+1ビットの入力における冗長ビットの位置とデータ処理エレメント2のm+1ビットの出力における冗長ビットの位置とが一致するように、前記冗長入力セレクタ21と冗長出力セレクタ22とによる選択形態を整合させるように冗長制御信号CntRを生成する。信号生成部23が冗長制御信号CntRを生成する。
信号生成部23は、例えば図4に例示されるように、冗長制御信号生成回路231と欠陥記憶部230から成る。欠陥記憶部230はm+1ビットの内の1ビットの欠陥ビットのビット位置を特定する救済データを保有する。救済データは、特に制限されないが、シリアルバスなどの前記機能制御バス205を介して書き込まれる。冗長制御信号生成回路231は救済データをデコードして冗長制御信号CntRを生成する。この救済データの書き込み制御は、特に制限されないが、再構成可能デバイス1と一緒にオンチップされた中央処理装置もしくはDMAC、或いは再構成可能デバイス1と別チップで構成されたプロセッサや外部装置などによって行なわれる。欠陥記憶部230は、特に制限されないが、ヒューズ、アンチヒューズ、EPROM(Erasable Programmable Read Only Memory)、EEPROM((Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリ、MRAM(Magnetoresistive Random Access Memory)、ReRAM(Resistance Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)などの不揮発性記憶回路で構成されれば、電源投入の度に救済データを書き込むことを要しない。
冗長制御信号CntRは、冗長入力セレクタ21及び冗長出力先セレクタ22の双方に供給され、冗長入力セレクタ21に対しては、その前記m+1ビットの入力の内から欠陥ビットを除くビット位置のmビット(有効ビット位置のmビット)を前記冗長入力セレクタの前記mビットの出力へ結合させることを可能にする。冗長出力先セレクタ22に対しては、そのmビットの入力を、そのm+1ビットの出力の内の前記有効ビット位置のmビット位置の出力へ結合させることを可能にする。
図5には冗長入力セレクタ21の一例が示される。ここではm=8、i=1を一例としている。冗長入力セレクタ21の入力をビット0〜ビット8(bit0〜bit8)とし、その出力を出力ビットout0〜out7として図示してある。
冗長入力セレクタ21は、例えばm+1ビットの入力(bit0〜bit8)の最下位から1ビットずつずれた隣接する2(=i+1)ビットを入力して何れか1ビットを選択するm個の2(=i+1)ビット入力を持つ第1セレクタ210_0〜210_7によって、m+1ビットの入力からmビットを選択可能とする。冗長制御信号CntRはs0〜s7の8ビットで構成され、対応する第1セレクタ210_0〜210_7に供給される。即ち、第1セレクタ210_0にはビット0(bit0)及びビット1(bit1)が供給され、s0=0で下位側入力ビット0(bit0)を出力ビットout0として選択し、s0=1で上位側入力ビット1(bit1)を出力ビットout0として選択する。第1セレクタ210_1にはビット1(bit1)及びビット2(bit2)が供給され、s1=0で下位側入力ビット1(bit1)を出力ビットout1として選択し、s1=1で上位側入力ビット2(bit2)を出力ビットout1として選択する。他の第1セレクタ210_2〜210_7についても同様である。
図6には冗長出力先セレクタ22の一例が示される。ここでもm=8,i=1を一例としている。冗長出力先セレクタ22の入力を入力ビットin0〜in7とし、その出力をビット0〜ビット8(bit0〜bit8)として図示してある。
冗長出力先セレクタ22はmビットの入力の最下位入力ビットin0をm+1ビットの出力の最下位ビットbit0とする。更に、前記mビットの入力の最下位ビットin0を除く下位側からの各ビットin1〜in7で、当該ビットとその下位側の最大1(i=1)ビットまでの下位側ビットとを入力とする7(=m−1)個の第2セレクタ220_0〜220_6を有する。また、mビットの入力の最上位入力ビットin7をm+1ビットの出力の最上位ビット(bit8)とする。
図7には信号生成部23における冗長制御信号CntRはs0〜s7の生成論理を真理値表で例示する。同図において欠陥記憶値は欠陥記憶部230に記憶されている救済データである。このデータの値は欠陥箇所に応じて決められる。救済データをデコードして冗長制御信号生成回路213が出力する冗長制御信号s0〜s7(CntR)が救済データとの対応で示されている。冗長制御信号s0〜s7の論理値1は、図5の第1セレクタ210_0〜210_7の入力端子1側の入力を選択することを意味し、且つ図6の第2セレクタ220_0〜220_6の入力端子1側の入力を選択することを意味する。同様に、冗長制御信号s0〜s7の論理値0は、図5の第1セレクタ210_0〜210_7の入力端子0側の入力を選択することを意味し、且つ図6の第2セレクタ220_0〜220_6の入力端子0側の入力を選択することを意味する。図7の真理値表を実現する冗長制御信号生成回路231の具体的な論理回路は例えば図8の論理回路図で実現可能である。図8においてIN[3:0]は欠陥記憶部230から冗長制御信号生成回路231に供給される4ビットの救済データである。
図5乃至図7の具体例から明らかな如く、入力セレクタ21の9ビットbit0〜bit8の入力の内の1ビットが冗長になり、出力先セレクタ22の9ビットbit0〜bit8の出力の内の1ビットが冗長になり、双方のセレクタ21,22の9ビット中における所望ビット位置の8ビットの配置は等しくされる。例えば、bit1に欠陥があったとすると、s0=0、s1〜s7=1とされ、これによって、入力セレクタ21側では、bit0=out0、bit2〜bit8=out1〜out7となり、欠陥ビットbit1はデータ処理部20に供給されない。出力先セレクタ22側では、bit0=in0、bit1=in1、bit2〜bit8=in1〜in7となり、出力先セレクタ22の出力ビットbit1は欠陥ビットとして扱うことが可能になり、データ処理エレメント2に入力された信号経路31の入力ビットbit0〜bit8と当該データ処理エレメント2から出力された信号経路32の出力ビットbit0〜bit8の双方においてビットbit1が欠陥ビットになっている。
したがって、複数個のデータ処理エレメント2の集合であるブロック単位で信号生成部23を共通化すれば、ブロック毎に信号経路31,32のビットbit0〜bit8中の1ビットの欠陥を救済することができる。欠陥の発生率がきわめて少ない場合にはデータ処理エレメント2のアレイ全体で信号生成部23を共通化すればよい。欠陥の発生率が高い場合にはそれに応じて信号生成部23を共通化するデータ処理エレメントのブロックサイズを小さくしていけばよい。例えば、図9に例示されるように、データ処理エレメント2のアレイ全体を2個のブロックBLK1,BLK2に分け、、夫々のブロックBLK1,BLK2毎に冗長制御信号生成回路231と欠陥記憶部230を設ければよい。ブロックBLK1,BLK2はマクロな機能設定単位として把握することも可能である。
このように、欠陥の発生する頻度が低い習熟した製造プロセスで再構成可能デバイス1が製造されるならば、当該デバイス1全体で1箇所の欠陥を想定し、1つの欠陥記憶部230で欠陥を救済すればよい。そうでないならば再構成可能デバイス1をいくつかの領域に分割して、各々に欠陥記憶部230を持たせれば、夫々の領域で同時に欠陥が発生してもそれらの欠陥を救済することが可能である。領域を分割するか否か、更には幾つに分割するかは、コストとプロセス習熟の兼ね合いから選択すれば良い。
以上により、8ビットの演算幅を有する複数個のデータ処理エレメント2をマトリクス配置した再構成可能デバイスにおいて、信号経路網3には8ビット毎に1ビットの冗長を設け、データ処理エレメント2毎に入力セレクタ21と出力先セレクタ22を設けることによってアレイ全体又はブロック単位で1ビットの欠陥を救済する可能である。したがって、信号線のビット単位で冗長の構成情報を持つことを要せず、また、データ処理部のアレイに冗長行を新たに追加することを要せず、少ない冗長用面積で欠陥救済が可能になる。
また、図5の冗長入力セレクタ21によれば、m+1ビットの入力に対するmビットの出力の結合位置に拘わらず、入力から出力に至る信号経路長がどのビットも実質的に同一になって、ビット位置に拘わりなく遅延性能同等の入力セレクタを実現することができる。同じく、図6の冗長出力先セレクタ22によれば、m+1ビットの出力に対する入力のmビットの配置に拘わらず、入力から出力に至る信号経路長がどのビットも実質的に同一になって、ビット位置に拘わりなく遅延性能同等の冗長出力先セレクタを実現することができる。
《i=2の場合の冗長入力セレクタ及び冗長出力先セレクタ》
i=2の場合の冗長入力セレクタ及び冗長出力先セレクタの具体例を図10及び図11に基づいて説明する。選択論理の基本は図5及び図6の場合と同様である。この例の場合は信号経路及び可変スイッチ部の単位はbit0〜bit9の10ビットにされる。図10、図11において31Aが第1信号経路、32Aが第2信号経路である。信号生成部は冗長制御信号生成回路231Aと欠陥記憶部230Aから成る。
図10にはm=8、i=2の場合における冗長入力セレクタの一例が示される。この場合には冗長入力セレクタ21Aの入力をビット0〜ビット9(bit0〜bit9)とし、その出力を出力ビットout0〜out7として図示してある。
冗長入力セレクタ21Aは、例えばm+2ビットの入力(bit0〜bit9)の最下位から1ビットずつずれた隣接する3(=i+1)ビットを入力して何れか1ビットを選択するm個の3(=i+1)ビット入力を持つ第1セレクタ210A_0〜210A_7によって、m+2ビットの入力からmビットを選択可能とする。冗長制御信号CntRは第1セレクタ210A_0〜210A_7の各セレクタ毎に2ビットの合計16ビットで構成される。即ち、第1セレクタ210A_0はbit0,bit1,bit2の何れか1ビットを選択して出力する。第1セレクタ210A_1はbit1,bit2,bit3の何れか1ビットを選択して出力する。その他の第1セレクタ210A_2〜210A_7も同様である。
図11にはm=8、i=2の場合における冗長出力先セレクタの一例が示される。この場合には、冗長出力先セレクタ22Aの入力を入力ビットin0〜in7とし、その出力をビット0〜ビット9(bit0〜bit9)として図示してある。
冗長出力先セレクタ22Aはmビットの入力の最下位入力ビットin0をm+2ビットの出力の最下位ビットbit0とする。更に、前記mビットの入力の最下位ビットin0を除く下位側からの各ビットin1〜in7で、当該ビットとその下位側の最大2(i=2)ビットまでの下位側ビットとを入力とする7(=m−1)個の3(=i+1)ビット入力を有する第2セレクタ220A_0〜220A_6を有する。また、mビットの入力の最上位入力ビットin7をm+2ビットの出力の最上位ビット(bit9)とする。更に、i≧2のとき、出力ビットの内のm+1ビット目(bit8)から最上位ビット(bit9)の直前までの各出力ビット(bit8)に対し、当該ビット(bit8)からその最上位ビット(bit9)までのビット数(1ビット)分だけ繰り下がったmビットの入力のビット位置(in6)からその最上位ビット(in7)に至るまでのビットを入力する1(=i−1)個の第3セレクタ220A_7とによって、m+iビットの出力における入力のmビットの配置を選択可能とする。即ち、第2セレクタ220A_0は入力ビットin0,in1の何れか1ビットを選択して出力ビットbit1とする。第2セレクタ220A_1は入力ビットin0,in1,in2の何れか1ビットを選択して出力ビットbit2する。その他の第2セレクタ210A_2〜210A_6も同様である。第3セレクタ220A_7は入力ビットin76,in7の何れか1ビットを選択して出力ビットbit8とする。
《救済非選択時の高速化を優先した冗長入力セレクタ及び冗長出力先セレクタ》
救済非選択時の高速化を優先した冗長入力セレクタ及び冗長出力先セレクタについて図12及び図13を参照しながら説明する。ここではi=1の場合について説明するが、選択論理の基本は図5及び図6の場合と全く相違する。信号生成部は冗長制御信号生成回路231Bと欠陥記憶部230Bから成る。
図12にはm=8、i=1の場合における冗長入力セレクタの別の例が示される。同図に示される冗長入力セレクタ21Bは、9(=m+i)ビットの内の8(=m)ビットbit0〜bit7の入力を夫々1ビットずつ個別に入力すると共に、9(=m+i)ビットの内の残りの1(=i)ビットであるbit8を夫々共通に入力する夫々2(=i+1)個の入力を持つ8(=m)個の第4セレクタ210B_0〜210B_7によって、9(=m+i)ビットの入力から8(=m)ビットを選択可能とする。
冗長制御信号生成回路231Bは欠陥ビットの位置に応じて冗長選択信号s0〜s7の一つを1とし残りを0とする。欠陥が全くなければ冗長選択信号s0〜s7の全てを0とする。例えばbit3に欠陥があれば、s3を1、その他のs0〜s2及びs4〜s7を0とする。これにより、out0〜out2=bit0〜bit2、out3=bit8、out4〜out7=bit4〜bit7になる。
図13にはm=8、i=1の場合における冗長出力先セレクタの別の例が示される。同図に示される冗長出力先セレクタ22Bは8(=m)ビットの入力in0〜in7から1(=i)ビットを選択する第5セレクタ220Bによって構成され、mビットの入力in0〜in7をmビットの出力bit0〜bit7とし、第5セレクタ220Bの出力をmビット出力の最上位に続く1(=i)ビットの出力bit8とする。
冗長入力セレクタ21Bにおいてbit8の冗長信号が通過することになる第4セレクタ210B_0〜210B_7の位置は欠陥ビット位置に応じて異なるから、その相違に応じた信号経路長の差によって冗長入力セレクタ21Bはビット位置に応じた僅かな入力遅延を生ずる。この点では図5の入力セレクタが優れる。
冗長出力先セレクタ22Bにおいて、欠陥が発生していない場合には入力ビットin0〜in7から出力bit0〜bit7に至る経路には第5セレクタ220Bが介在されず、出力bit0〜bit7にはセレクタの動作遅延が全く含まれない。一方、欠陥が発生した場合には冗長ビットが多入力の第5セレクタ220Bを経由するのでその出力が大きく遅延し、結果としてm+iビットの出力確定が大きく遅延する。したがって、入力セレクタ21B及び出力先セレクタ22Bを用いる場合は、図5及び図6の入力セレクタ21及び出力先セレクタ22を用いる場合に比べて、欠陥のない製品は高速動作可能で、欠陥代替をした場合は低速動作となる。このようなセレクタ特性は、製品展開の戦略上、高速版と低速版に分ける場合に優位性が求められる。
《データ処理エレメントにおけるパリティ検出生成機能》
図14にはデータ処理エレメントにパリティ検出生成機能を追加した例が示される。ここでは図4乃至図6で説明した構成を基にして説明する。同図に示されるデータ処理エレメント2Cは、前記冗長入力セレクタ21のm+iビットの入力に対するパリティ検出回路24を有すると共に、前記データ処理部20のmビットの出力を入力してiビットのパリティ信号を生成するパリティ生成回路25を有する。
図15には図6の回路にパリティ生成回路25を付加した例が示される。図15においてパリティ生成回路25はデータ処理部20が出力する信号in0〜in7を入力してパリティ信号PRTYを生成する複数の排他的論理和回路による複合ゲートで構成される。特に図示はしないが、信号in0〜in7を2ビットずつ入力して排他的論理和を形成する複数の排他的論理輪回路を初段に有し、初段の排他的論理和信号を2ビットずる入力して排他的論理和を形成する複数の排他的論理輪回路を次段に有し、当該次段の排他的論理和信号を2ビットずる入力して排他的論理和を形成する最終段の排他的論理輪回路によってパリティ信号PRTYを形成する。図15では出力bit8を出力するセレクタとしてのセレクタ220_7が設けられ、このセレクタ220_7がモード信号MDPに基づいてパリティ信号PRTY又は入力in7を出力bit8として選択する。セレクタ220_7は冗長モード(MDP=1)において入力in7を出力bit8として選択し、パリティモード(MDP=0)においてパリティ信号PRTYを出力bit8として選択する。冗長モードは冗長制御信号生成回路231によって欠陥救済が行われる場合に選択される動作モードであり、このときはパリティ機能は利用できない。パリティモードはパリティ機能を利用するとき選択される動作モードであり、このときは冗長による欠陥救済は不可能とされる。したがって、パリティモードにおいてbit8にはbit0〜bit7のデータに対するパリティ信号が次段に向けて伝播されることになる。
図16には図5の回路にパリティ検出回路24を付加した例が示される。図16においてパリティ検出回路24は前段から冗長入力セレクタ21に供給されるbit0〜bit8を入力してパリティ検出信号ERRを生成する。図16においてパリティ検出回路24はbit0〜bit8を入力してパリティ検出信号ERRを生成する複数の排他的論理和回路による複合ゲートで構成される。特に図示はしないが、信号bit0〜bit7を2ビットずつ入力して排他的論理和を形成する複数の排他的論理輪回路を初段に有し、初段の排他的論理和信号を2ビットずつ入力して排他的論理和を形成する複数の排他的論理輪回路を次段に有し、当該次段の排他的論理和信号を2ビット入力して排他的論理和を形成する排他的論理輪回路を終段に有し、この終段の排他的論理輪回路の出力とbit8とを入力する最終段の排他的論理輪回路によってパリティ検出信号ERRを形成する。
データ処理エレメントにおけるパリティ検出生成機能によれば、前段のデータ処理エレメントから供給される処理結果に対してパリティ検出回路24を用いてパリティチェックを行なうことができる。データ処理部20の処理結果に対してパリティ生成回路25でパリティ信号PRTYを生成することによりその後段でパリティチェックを可能とする。これによって再構成可能デバイス1によるデータ処理の信頼性向上が可能になる。更に冗長モードとパリティモードに応じて第6セレクタ220_7でin7又はパリティ信号PRTYを選択してbit8に当てることができるから、欠陥を生じていない場合にはパリティモードによりデータ処理の信頼性向上に寄与し、欠陥を生じている場合には冗長モードによって欠陥を救済することができる。
パリティ検出生成機能によって、放射線等によるソフトエラーの検出や、恒久的な故障による欠陥が検出可能となる。ソフトエラーや故障の発生は、面積の大部分を占めるプログラマブルスイッチである可変スイッチ部33で発生する可能性が高いため、パリティ検出生成機能はこの点でも信頼性を大きく上げることができる。
パリティ検出生成機能を搭載することにより、再構成可能デバイスの出荷後にシステム上で使用中に故障が発生した際に、動作中でもパリティエラーが発生するため、これを検出した場合にデバイステストを行い、その結果得られる故障ビットの位置を欠陥記憶部230に書き込み、代替を行なうことによって再び良品として復活させ、動作を継続することが可能となる。この点においても信頼性の高いデバイスを実現できる。1ビット分を冗長用に追加した可変スイッチ部(プログラマブルスイッチ)33をパリティビット用と欠陥代替用の両方の用途で共用することができるため、各々を別々に実装した場合より追加回路量を減らすことができる。
出荷後はシステム上で故障箇所を特定する必要があるが、パリティ検出生成機能を持たない場合と比べると、テスト対象回路部分を一つ一つ入れ替えながら故障箇所を探索することをしなくても、パリティエラーによって故障発生箇所が簡単に特定できる。パリティ検出生成機能は一時的なソフトエラーの発生を検出することによって信頼性を高めると共に、デバイスの故障箇所の特定を容易化することにも役に立つ。
また、パリティ検出生成機能を持たない場合には電源投入時などにテスト動作を実行している最中にしか故障検出と欠陥代替が行なえないが、パリティ検出生成機能を持てばシステム動作中に故障した場合、即座にパリティエラーを検出して欠陥代替を行なうことが可能になるため、この点でも高い信頼性が得られる。
再構成可能デバイス1に上記パリティ検出生成機能を持つ回路構成を採用することにより、パリティ検出可能な高信頼性品と、パリティ検出不能だが欠陥救済可能で歩留まりの高い一般品の二種類の製品を、同一ダイ(半導体チップ)で実現することも可能であり、マスクコストの節約にもなる。
ここで、パリティ検出回路24によってパリティエラーの発生を検出したときの処理例を説明する。
例えば再構成可能デバイス1のシステム動作中に可変スイッチ部(プログラマブルスイッチ)33に故障が発生すると、パリティ検出回路24から出力されるパリティ検出信号ERRが活性化される。パリティ検出信号ERRは夫々のデータ処理エレメント2が発生可能であり、その論理和信号がパリティエラー割り込み要求とされる。更に、そのとき活性化されたパリティ検出信号ERRの所在、即ちそのパリティ検出信号ERRの発生元になるデータ処理エレメント2の所在をエラー発生位置レジスタに保持して、データ処理動作を停止する。
パリティエラー割り込み要求は、図示を省略するCPU(例えば再構成可能デバイス1と共にオンチップされたCPU)に通知される。これによってCPUは当該割り込み要求に応答して、エラーの発生位置レジスタから位置情報をリードする。CPUはリードした位置情報から得られる領域に対してエラービットを解析するための回路情報をデータ処理エレメント2及び信号経路網3に設定して動作させ、m+iビット中の何ビット目が故障しているかの情報を得る。CPUは欠陥記憶部230に欠陥ビット位置に応じた救済データを書き込む。最後に、CPUはデータ処理エレメント2及び信号経路網3に設定したエラービット解析のための回路情報を、故障発生時に実行していた元の回路情報に書き戻して、中断した動作を再開させる。
《データ処理エレメントにおけるECC機能》
図17にはデータ処理エレメントにECC機能を追加した例が示される。特に制限されないが、ここでは8ビット(mビット)のデータに対してECCチェックコードを5ビット(iビット)とする。これに応じて信号経路網の単位を13ビット(m+i)とし、第1信号経路31D、第2信号経路32D,及び可変スイッチ部33Dは13ビット幅単位の構成に拡張されている。これを前提に冗長入力セレクタ21Dは13ビットの入力と8ビットの出力を有し、冗長出力先セレクタ22Dは8ビットの入力と13ビットの出力を有する。そして、冗長入力セレクタ21Dの13ビットの入力に対するECC検出及び訂正処理を行って5ビットを出力するECCエラー検出訂正回路26を有する。更に、データ処理部20の8ビットの出力を入力して5ビットのECCチェックコードを生成するECC生成回路27を有する。
上記冗長入力セレクタ21D及び冗長出力先セレクタ22Dは冗長モードとECCモードでその動作形態が相違される。即ち、冗長入力セレクタ21Dは、ECCモードでは前記13ビットの入力に対してECC検出訂正回路26でECC検出及び訂正処理を行って得られた8ビットを、冗長モードでは前記13ビットの入力の内から所望ビット位置の8ビットを、当該冗長入力セレクタ21Dの8ビットの出力へ結合することを可能とする。冗長出力先セレクタ22Dは、ECCモードでは前記8ビットの入力に前記ECC生成回路27で生成した5ビットのECCチェックコードを付加して13ビットの出力に結合し、冗長モードでは冗長入力セレクタ21Dが13ビットの入力に対して選択した8ビットの配列と同じ配列を持って、データ処理部20から入力される8ビットを13ビットの出力へ結合する。
冗長モードとECCモードに応じた上記冗長入力セレクタ21Dと冗長出力セレクタ22Dの動作は、モード信号MDEに従って冗長制御信号生成回路23Dが冗長制御信号を用いて制御する。
これによれば、m=8の場合に5ビットのECCチェックビットを追加して13ビットにする必要があり、パリティビットを追加する場合に比べて占有面積を増やす必要があるが、1ビットエラー訂正、2ビットエラー検出が可能になる。したがって、欠陥を生じていない場合にはECCモードによりデータ処理の信頼性向上に寄与し、欠陥を生じている場合には冗長モードによって欠陥を救済することができる。
同じマスクで高信頼品と普通信頼品を作ることができる。高信頼品にはECCモード固定とする。普通信頼品には冗長モード固定とする。当初ECCモードを設定し、システム上で故障が検出され、その故障ビットを冗長で代替して冗長モードに設定変更したとき、ECC生成回路27をパリティ生成回路として動作させ、ECCエラー検出訂正回路26をパリティ検出回路として動作させ、特定の1ビットをパリティチェックビットとして用いることによって、欠陥救済品に対してもパリティチェックビットでエラー検出できるようにすることも可能になる。更に故障が発生した場合もECCチェックコードに用いた残りのビットを用いて冗長救済できるようにすることも可能である。
《再構成可能デバイスを搭載したマイクロコンピュータ》
図18には再構成可能デバイスを搭載したマイクロコンピュータが例示される。同図に示されるマイクロコンピュータ100はSOC(System On Chip)とも称される特定機能に特化した半導体集積回路であり、例えば、CMOS集積回路製造技術によって単結晶シリコンのような1個の半導体基板に形成される。
マイクロコンピュータ100は、特に制限されないが、内部バス101に接続された、中央処理装置(CPU)102、PCI(Peripheral Component Interconnect)又はPCI_Express(登録商標)などのバスインタフェース回路103、DDR−SDRAM(Double-Data-Rate SDRAM)などのメモリ制御を行なうメモリコントローラ104、ダイレクトメモリアクセスコントローラ(DMAC)105を有する。マイクロコンピュータ100には再構成可能デバイス1が搭載され、その信号経路網3及び図3で説明した機能制御バス205にデータを供給する入力FIFO(First in-First out)106、及び信号経路網3からのデータを受け取る出力FIFO107が設けられている。入力FIFO106に対するデータの書き込み、出力FIFO107に対するデータの読出しは、CPU102によって設定されたデータ転送制御条件に従ってDMAC105が行なう。
マイクロコンピュータ100の外部にはDDR−SDRAMなどの外部メモリ110が配置され、メモリコントローラ104に接続される。CPU102又はDMAC105による外部メモリ110のアクセスに際してそのアクセス要求をメモリコントローラ104が受け取って外部メモリ110のメモリ制御を行なう。
例えばマイクロコンピュータ100はストリームデータに対する静止画処理、動画処理、パケット処理、又は暗号化復号処理などに用いることができる。何れの処理に対応するかによって再構成可能デバイス1に対する機能設定が行われる。静止画処理の場合には、画像フィルタ処理、画像拡大縮小処理、データ圧縮伸張処理、及び画像認識処理の夫々を実現するための機能設定情報を、複数のデータ処理エレメント2のハードウェア定義記憶部203にセットすると共に、可変スイッチ部33の経路定義記憶にセットする。この機能設定情報のセットには入力FIFOから機能設定バス205などを介して行なえばよい。機能設定後に、CPU102の制御に基づいてDMACがメモリコントローラを介して外部メモリ110から入力画像のストリームデータを入力FIFOに与え、与えられたデータが再構成可能デバイス1の設定に従ってデータ処理され、処理された画像データが出力FIFOに蓄積される。蓄積された画像データはDMACがメモリコントローラを介して外部メモリ110に転送し、出力画像データとして格納される。
動画処理を行なう場合には、動作ストリームの統合分割処理及びデータ圧縮伸張などの夫々を実現するための機能設定情報を上記同様にセットすればよい。パケット処理を行なう場合にはパケット振り分け処理及びコンテンツサーチ処理などの夫々を実現するための機能設定情報を上記同様にセットすればよい。
一方、冗長救済を要するか否かを判別するためのデバイステストについて説明する。デバイステストは製造段階でも、出荷後のシステム上での動作でも良い。デバイステストを行った際に、欠陥が、mビットの内、何ビット目に起こっているかを欠陥記憶部230に書きこむことになる。デバイステストを行なう場合、例えば電源投入後最初に毎回テスト用回路の構成情報を再構成可能デバイス1に設定して動作させ、故障を検出した場合には、故障箇所を特定して欠陥記憶部230に書き込む。これにより、出荷後の故障は顕在化せず、正常動作を続けることができる。場合によっては、この処理を行ったことをユーザに通知し、冗長性を失ったため早めの修理交換対応を推奨してもよい。
ここでのテスト用回路の構成情報の一例としては、個々のデータ処理部20と可変スイッチ部33を使うテスト用回路の構成情報を用意して、一つ一つテスト用回路を入れ替えながら実行し、正常動作しないテスト回路の場所から故障箇所を特定する。
製造テスト時のデバイステスト手法は、一般的なスキャンテストを実施してもよいが、出荷後に製品ボードに実装された状態(システム実装状態)での適用は困難である。そこで、再構成可能デバイス1の特性を生かし、通常のプログラム可能なユーザ向け回路であるデータ処理エレメント2のアレイ及び信号経路網3をテスト向け回路都として動作させる方法が考えられる。再構成可能デバイスのテスト手法については特許第5035239号公報に記載の手法が提案されている。この手法では故障発見箇所を逐次蓄積して、最後に故障の有無を判別しているが、今回は故障箇所の特定が必要である。そこで、故障発見箇所を蓄積しないで即時通知するようにすればよい。また、テスト開始と共にカウントアップするカウンタを用意しておけば、故障通知時のカウンタ値に基づいて故障箇所を容易に特定することが可能になる。予め用意されたテスト用回路構成情報に従って定義されるテスト用回路を用いるから、何サイクル目でどこのデータ処理エレメント2や可変スイッチ部33がテストされているかは解っているからである。
《再構成可能デバイスの他の形態》
図19には再構成可能デバイスの別の応用例が示される。これは再公表WO2008/143285号公報記載の技術への応用である。図19では再構成可能デバイスを機能再構成メモリ(RCFGM)126として構成する。機能再構成メモリ126は例えば中央処理装置(CPU)121、ROM122、RAM123、及びDMAC124などと共にバスBUSに共通接続される。機能再構成メモリ126はCPU121等により書き込まれた論理機能設定情報(コンフィグレーション情報)に従って可変可能に論理機能が設定され、設定された論理機能に従ったデータ処理を行なう。
機能再構成メモリ126は複数の機能再構成セル(ACMU)130、及び外部からのアクセス要求に応答して前記機能再構成セル130を制御するインタフェース制御回路(IFCNT)125等を備える。機能再構成セル130はCPU121等によりバスBUSから書き込まれたコンフィグレーション情報に従って可変可能に論理機能が設定される。例えば図19においてその一部には、FIFOバッファ(FIFO_B)、16ビットパルス幅変調回路(PWM_16b)、8ビットパルス幅変調回路(PWM_8b)、シリアル送信ユニット(SCI_Tx)、シリアル受信ユニット(SCI_Rx)、24ビットタイマ(TMR_24b)、及び32ビットタイマ(TMR_32b)の論理機能が設定されている。残りの機能再構成セル20はシステムバスSBUSを介してランダムアクセス可能な内部メモリ(ITNR_RAM)として利用可能にされる。
図20には機能再構成セル130の一例が示される。機能再構成セル130は記憶回路(MRY)133と制御回路(MCONT)134を有する。記憶回路133は例えばシングルポートのスタティック・ランダム・アクセスメモリ(SRAM)135と、アドレスラッチ回路(ADRLAT)136によって構成される。SRAM135はメモリアレイ137、アドレスデコーダ(SDEC)138、及びタイミングコントローラ(TMCNT)139を備える。メモリアレイ137はアドレスラッチ回路136から供給されるアドレス信号によってアクセスされるデータフィールド(DFLD)137_Dと制御フィールド(CFLD)137_Cを有する。アドレスデコーダ(SDEC)138はアドレスラッチ回路(ADRLAT)136から出力されるアドレス信号をデコードして、データフィールド(DFLD)137_D及び制御フィールド(CFLD)137_Cの夫々からアクセス単位のメモリセルを選択する。タイミングコントローラ(TMCNT)139は選択されたアクセス単位のメモリセルに対してリード・ライト信号RW_j(j=0〜m)で指示されたリード動作又はライト動作を制御する。
制御回路134はアドレスラッチ回路136にアドレス信号を供給するセレクタ(ADRSL)140、アドレスラッチ回路136がラッチしたアドレス信号を+1づつインクリメントするアドレスインクリメンタ(ICRM)141、及びアクセス制御デコーダ(ACDEC)142を有する。セレクタ140には、データフィールド137_Dから読み出された情報DAT_D、アドレスインクリメンタ141の出力、及びバスBUSから供給されたアクセスアドレス情報の一部のアドレス情報ADR_EXTが入力される。アクセス制御デコーダ142には制御フィールド137_Cから読み出された制御情報DAT_C、外部イベント信号EXEVT、当該機能再構成セル130に対するランダムアクセス選択信号RDMAE_j、ロジックイネーブル信号LOGE_j、及びIOアクセス選択信号IOAE_jが供給され、それに基づいてセレクタ140の出力動作等を制御する。メモリアレイ137には図示しないアドレスフィールド(AFLD)とアドレスフィールドの出力をセレクタ140への入力とするパス(DAT_A)を更に有し、メモリアレイ137にアクセスしアドレスフィールドからの出力をアクセス制御デコーダ142によりメモリアレイ137の次のアクセスアドレスとすることも可能である。
ランダムアクセス選択信号RDMAE_jがアクティブにされたときアクセス制御デコーダ142はセレクタ140にアドレス情報ADR_EXTを選択させ、そのアドレス情報ADR_EXTに従ってタイミングコントローラ139にリード/ライト信号RW_jに従ったアクセス動作を指示する。これによってSRAM135はアドレス情報ADR_EXTで指定されるアドレスに対してランダムアクセス可能になる。
IOアクセス選択信号IOAE_jがアクティブにされ、リード/ライト信号RW_jによりリード動作が指示されたとき、アクセス制御デコーダ142はそのときのアドレスラッチ回路136のアドレスラッチ状態を維持したままそのラッチアドレス情報に従ってタイミングコントローラ139にリードアクセス動作を指示する。これにより、機能再構成セル130のIOアクセス選択信号IOAE_jがアクティブにされると、そのときSRAM135で選択されている記憶領域に対してアクセス可能になり、SRAM135に対して一つのメモリマップドIOデータレジスタに対する読出しと等価なアクセス動作が可能になる。また、IOアクセス選択信号IOAE_jがアクティブにされ、リード・ライト信号RW_jによりライト動作が指示されたとき、アクセス制御デコーダ142はアドレス情報ADR_EXTをアドレスセレクタ140に選択させ、そのアドレス情報ADR_EXTをアドレスラッチ136にセットして、SRAM135に対する読出しアドレスを初期設定することができる。このように、IOアクセス選択信号IOAE_jがイネーブルにされたとき書き込み対象とされるアドレスラッチ回路136は書き込み対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。
ロジックイネーブル信号LOGE_jがアクティブにされたとき、アクセス制御デコーダ142はそのときアドレスラッチ136が保持しているアドレスをスタートアドレスとして、そのアクティブ期間にSRAM135のメモリリードサイクルを繰り返し起動し、サイクル毎に、制御フィールド137_Cから読み出される制御情報DAT_Cに従ってセレクタ140の選択動作を制御する。外部イベント信号EXEVTがイネーブルにされたとき、アクセス制御デコーダ142は当該メモリリードサイクルにおいてアドレスセレクタ140に特定のアドレス(例えばSRAM135の先頭アドレス)を出力させる。ロジックイネーブル信号LOGE_jがイネーブルにされたときスタートアドレスを保持するアドレスラッチ136はロジック動作の開始を指示するイネーブルビットの書き込み対象とされるメモリマップドIOレジスタと等価のレジスタとして把握することができる。
この機能再構成セル130によれば、記憶回路133の読み出しを機能再構成セル130それ自体で自律的に制御することができる。例えば、前記制御回路134はSRAM135の次の読出しアドレスを先にSRAM135から読出した制御フィールドCFLDの情報DAT_Cやアクセス制御デコーダ142に供給される外部イベント信号EXEVTの入力に基づいて自律的に制御することが可能である。これにより、可変論理機能を実現するための記憶回路133を論理回路と等価な回路として扱うことができる。したがって、実現可能な論理構成や論理規模に融通性を得ることができ、また、小さなチップ占有面積で大きな論理規模にも対応可能な可変論理機能を実現可能になる。
図21には複数の機能再構成セル130のアレイ構成が例示される。複数の機能再構成セル130はマトリクス配置され、左右に隣接する機能再構成セル130の間には接続経路選択回路(RSW)145が配置される。機能再構成セル130及び接続経路選択回路145は行単位で内部バスIBUS_i(i=0,1,…)に接続される。内部バスIBUS_iはアドレスバスIABUS_iとデータバスIDBUS_iに大別される。内部アドレスバスIABUS_iは制御回路134に前記アドレスADR_EXTを供給する。内部データバスIDBUS_iは記憶回路133との間で情報DAT_C,DAT_Dを伝達する。接続経路選択回路145は、機能再構成セル130のデータDAT_C,DAT_Dの伝達経路を上下又は左右に隣接する機能再構成セル130の間で選択的に接続するスイッチ回路146と、前記スイッチ回路146のスイッチ制御情報を保持するための接続用記憶回路147とを有する。接続用記憶回路147は内部バスIABUS_i,IDBUS_iを介してランダムアクセスさせることによって所要のスイッチ制御情報が設定される。
一の機能再構成セル130のデータDAT_C,DAT_Dを他の機能再構成セル130のデータDAT_C,DAT_Dに伝達することが可能であるから、複数の機能再構成セル130間でそれぞれの前記自律制御を連動させることが可能になる。複数の機能再構成セル130を直列的に動作させ、或いは並列的に動作させて、一単位の論理機能を実現することが可能になる。
機能再構成セル130の記憶回路133には論理機能を定義するためのコンフィギュレーション情報がランダムアクセス設定され、接続経路選択回路145の接続用記憶回路147には接続経路を定義するためのコンフィグレーション情報がランダムアクセスによって設定される。論理機能が設定された機能再構成セル130に論理動作の開始が指示されると、その論理動作によって得られる情報は左右又は上下に配置された別の機能再構成セル130に接続経路選択回路145を介して伝達可能にされ、また、機能再構成セル130の論理動作による情報は前記メモリマップドIOレジスタに対する読出しと等価なアクセス動作により対応するバスIBUS_iを介して外部に読み出し可能にされる。
図21に例示した機能再構成セル130のアレイ構成においても内部バスIBUS_iなどの欠陥に対する救済手法として前述の冗長入力セレクタ21及び冗長出力先セレクタ22を適用することができる。例えば機能再構成セル130のデータ処理単位をmビット(例えば8ビット)とし、冗長ビットをiビット(例えば1ビット)とすれば、IBUS_i、SDR_EXT,DAT_D,DSAT_Cの各バス幅をm+iビットに拡張し、接続経路選択回路(RSW)145をそのビット数に対応させる。このとき、メモリアレイ137のバスDAT_D,DAT_Cとの入出力インタフェース部分の入力回路の入力段に冗長入力セレクタ21を配置し、当該入出力インタフェース部分の出力回路の出力段に冗長出力先セレクタ22を配置する。更に、アクセス制御デコーダ(ACDEC)142の入力段に冗長入力セレクタ21を配置する。そして、セレクタ(ADRSL)140のバスDAT_D,ADR_EXTからの入力段に夫々冗長入力セレクタ21を配置する。信号生成部23についても上述と同様に、機能再構成セル130のアレイ構成の全体で共通化し、或いは機能再構成セル130のグループ単位で個別化しても良い。
これにより、機能再構成セル130のアレイ構成において内部バスIBUS_iなどに生じたiビットの欠陥を少ない面積で救済可能になる。特に図示はしないが、上述のパリティチェック機能やECC機能を適用することも可能である。
《再構成可能デバイスの信号経路網の他の形態》
信号経路網3は図1で説明した第1信号経路31、第2信号経路32、及び可変スイッチ部33として把握したが、これを、図22に例示される接続形態によって実現することも可能である。即ち、多数の接続経路選択回路34をマトリクス状に配置、前後左右に隣接するものを互いにm+iビットのバス35で接続して信号経路網3を構成する。データ処理エレメント2は例えば対角の接続経路選択回路34にm+iビットのバス36,37で接続される。接続経路選択回路34は、バス35相互間の接続、バス35とバス36の接続、バス35とバス27の接続を任意に選択可能なスイッチ回路と、前記スイッチ回路のスイッチ制御情報を保持するための接続用記憶回路とを有する。これによっても、図1と同様の接続トポロジを形成することが可能である。
《モジュールセレクタへの適用》
冗長出力先セレクタ及び冗長入力セレクタのモジュールセレクタへの適用例について説明する。これは、複数のモジュールからmビット単位でモジュールセレクタに入力し、mビットの1の出力を選択する回路構成への応用である。例えば、半導体集積回路の限られた外部端子(外部ピン)で多様な機能を実現しようとするために、外部ピンに複数の機能割り当てを可能にするピンマルチへの応用について説明する。
図23に示される半導体集積回路(LSI)400は夫々mビットの出力を形成するn(2以上の整数)個の回路モジュール(MLD1〜MDLn)401に対するピンマルチを可能にするものである。夫々の回路モジュール(MLD1〜MDLn)401の出力ビット数mに対応するm個の外部ピンP1〜Pmには夫々出力バッファ(OFUF)404の出力端子が接続される。402は回路モジュール400を選択するためのモジュールセレクタである。ここで着目する欠陥は、モジュールセレクタ402の前後の信号経路における欠陥であり、mビットに対してiビット(例えばi=1)の冗長ビットを拡張する。モジュールセレクタ402はm+iビット単位のn個の入力から一つのm+iビットの入力を選択する。どれを選択するかはモジュール選択レジスタ403で指定される。モジュールセレクタ402のm+iビット単位のn個の入力段には夫々前記冗長出力先セレクタ22が配置され、モジュールセレクタ402のm+iビットの出力段には前記冗長入力セレクタ21が配置される。冗長出力先セレクタ22は対応する回路モジュール401のmビットの出力に結合されたmビットの入力とm+i(iは、m>iの関係を持つ正の整数)ビットの出力とを有する。冗長入力セレクタ21は前記モジュールセレクタ402の出力に結合するm+iビットの入力とmビットの出力とを有する。信号生成部23は冗長出力先セレクタ22のmビットの入力を、当該出力先セレクタ22の前記m+iビットの出力の内の所望ビット位置のmビットの出力へ結合せることを可能とし、且つ、冗長入力セレクタ21のm+iビットの入力の内から前記所望ビット位置のmビットを当該冗長入力セレクタ21のmビットの出力へ結合させることを可能とするものであり、上述同様に冗長制御信号生成回路231と欠陥記憶部230によって構成される。
上記によれば、モジュールセレクタ402のm+iビット単位の入力毎に冗長出力先セレクタ22が配置され、モジュールセレクタ402の出力段に冗長入力セレクタ21が配置されることによって、冗長出力先セレクタ22のm+iビット出力の内のiビットが冗長になり、冗長入力セレクタ21のm+iビット入力の内のiビットが冗長になり、複数の冗長出力先セレクタ22及び冗長入力セレクタ21に対して信号生成部23が共通化され、双方のセレクタ21,22における所望ビット位置のmビットの配置が等しくされる。したがって、モジュールセレクタ402の入力段に接続された複数個の冗長出力先セレクタ22群毎にm+iビット中の最大iビットの欠陥を救済することができる。このようにその救済範囲はmビット単位の複数の入力に対して最大iビットであり、モジュールセレクタ402にビット単位の冗長構成を採用してビット単位で冗長の構成情報を持つことを要しない。m≧2、m>iであるから単なる二重化による冗長構成は排除されている。回路モジュールの数が多くなるほど回路モジュールを選択するモジュールセレクタ402の規模が大きくなるため、ピンマルチのためのモジュールセレクタの信号経路に冗長性を持たせる意味がでてくる。
その他に図24に例示されるメモリ選択の応用例がある。即ち、複数のメモリの内の一つのメモリのリードデータを出力する例である。ここでは回路モジュールとして複数のメモリ411を想定する。メモリ411の選択はモジュールセレクタ412で行うが、その選択は、j+kビットのアドレス信号ADDRの下位側kビットをラッチ回路(FF)415でラッチして用いる。上位側jビットは複数のメモリ411に共通に供給される。ここで着目する欠陥は、モジュールセレクタ412の前後の信号経路における欠陥であり、mビットに対してiビット(例えばi=1)の冗長ビットを拡張する。モジュールセレクタ412はm+iビット単位の複数の入力から一つのm+iビットの入力を選択する。モジュールセレクタ412のm+iビット単位の複数の入力段には夫々前記冗長出力先セレクタ22が配置され、モジュールセレクタ402のm+iビットの出力段には前記冗長入力セレクタ21が配置される。冗長出力先セレクタ22は対応するメモリ411のmビットの出力に結合されたmビットの入力とm+i(iは、m>iの関係を持つ正の整数)ビットの出力とを有する。冗長入力セレクタ21はモジュールセレクタ412の出力に結合するm+iビットの入力とmビットの出力とを有する。信号生成部23は冗長出力先セレクタ22のmビットの入力を、当該出力先セレクタ22の前記m+iビットの出力の内の所望ビット位置のmビットの出力へ結合せることを可能とし、且つ、冗長入力セレクタ21のm+iビットの入力の内から前記所望ビット位置のmビットを当該冗長入力セレクタ21のmビットの出力へ結合させることを可能とするものであり、上述同様に冗長制御信号生成回路231と欠陥記憶部230によって構成される。
これによっても図23の場合と同様の作用効果を得る。メモリの数が多くなるほどモジュールセレクタ412の規模が大きくなるため、メモリ選択のためのモジュールセレクタの信号経路に冗長性を持たせる意味がでてくる。
本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、データ処理単位のmビットは8ビットに限定されず、16ビット、32ビット、64ビットなどその他のビット数を採用することが可能である。冗長のiビットは1ビット、2ビットに限定されず、i<mの関係を満足するその他のビット数であってよい。
また、冗長入力セレクタ21の具体例として図5ではm+iビットの入力の最下位から1ビットずつずれた隣接するiビットを入力して何れか1ビットを選択するm個のi+1ビット入力を持つ第1セレクタ210_0〜210_7を用いたが、それとは逆に、m+iビットの入力の最上位から1ビットずつずれた隣接するiビットを入力して何れか1ビットを選択するm個のi+1ビット入力を持つ第1セレクタを用いて、m+iビットの入力からmビットを選択可能にしてもよい。
ECCチェックコードのビット数は5ビットに限定されない。8ビットデータに対して一般的な6ビットでも良い。データビット数に対して救済可能とするビット数とエラー検出可能とするビット数に応じて決定すればよい。
また、データ処理単位がmビットとnビットというような演算幅が異なるデータ処理エレメントや可変信号経路網を持つ再構成可能デバイスなどの場合には、mビットとnビットの夫々のデータ処理系に対して別々に冗長入力セレクタ及び冗長出力先セレクタを用いた冗長救済を行ってもよい。面積とのバランスから片方だけを選択することもあり得る。デバイスの面積の大部分がmビット要素である場合などには、mビットの部分だけに冗長性を設けても多くの場合は救済できる。また、ビット数がm>nであるときは、mビット側の方が1ビット冗長を加えることによる面積増加割合は低く抑えられる。
更に、以上の説明では再構成可能デバイスやモジュールセレクタに冗長入力セレクタ及び冗長出力先セレクタの双方を適用したが、何れか一方だけに着目する用いる応用も考えられる。
即ち、前記可変信号経路網3、これに接続される複数個のデータ処理エレメント、及び可変設定部23を有し、前記データ処理エレメントは、m+i(iとmは、m≧2、m>iの関係を有する正の整数)ビットの入力とmビットの出力とを有する冗長入力セレクタ21と、前記入力セレクタの前記mビットの出力に結合されたmビットの入力を有するmビット演算幅の演算部20と、を有する。冗長出力先セレクタ22には着目しない。前記可変設定部23は、前記冗長入力セレクタ21に結合され、冗長入力セレクタ21の前記m+iビットの入力の内から所望のmビットを当該冗長入力セレクタ21の前記mビットの出力へ結合させることを可能にする信号を生成する。可変信号経路網3は、m+iビットのビット幅を持つ複数の信号経路32と、入力に接続された複数の信号経路から可変可能に選択した一つの信号経路を前記入力セレクタの入力に接続する可変スイッチ部33とを有する。
これによれば、可変スイッチ部33を介して複数の信号経路32から選択された一つの信号経路に至る経路の故障に対して冗長入力セレクタ21のm+iビットからmビットの配置を選択することによって冗長選択を行う。したがって、mビットの信号経路に対してビット単位で冗長の構成情報を持つことを要せず、また、データ処理エレメントのアレイに冗長行を新たに追加することを要せず、少ない冗長用面積で欠陥救済が可能になる。
同様に、冗長出力先セレクタだけに着目しても良い。即ち、可変信号経路網3、これに接続される複数個のデータ処理エレメント、及び可変設定部3を有する。前記データ処理エレメントは、mビット出力を有するmビット演算幅の演算部20と、演算部20の前記mビット出力に結合されたmビットの入力と、m+i(iとmは、m≧2、m>iの関係を有する正の整数)ビットの出力とを有する冗長出力先セレクタ22と、を有する。冗長入力セレクタには着目しない。可変設定部23は、前記冗長出力先セレクタ22に結合され、冗長出力先セレクタ22の前記mビットの入力を、当該冗長出力先セレクタ22の前記m+iビットの出力の内の所望のmビットの出力へ結合させることを可能にする信号を生成する。前記可変信号経路網3は、m+iビットのビット幅を持つ複数の信号経路32と、前記複数の冗長出力先セレクタの出力に前記信号経路32を介して接続するm+iビットの入力を複数持ち、当該複数の入力の中から可変可能に選択した一つをm+iビットの出力に接続する可変スイッチ部33とを有する。
これによれば、m+iビットの夫々の信号経路32はiビットの冗長を持ち、複数個のデータ処理エレメントの夫々から可変スイッチ部33の入力に至る複数の信号経路32の故障に対して冗長出力先セレクタ22によりm+iビットの出力の内のmビットの配置を選択することによって冗長選択を行う。したがって、mビットの信号経路に対してビット単位で冗長の構成情報を持つことを要せず、また、データ処理エレメントのアレイに冗長行を新たに追加することを要せず、少ない冗長用面積で欠陥救済が可能になる。
1 再構成可能デバイス
2 データ処理エレメント(PE)
2C データ処理エレメント(PE)
2D データ処理エレメント(PE)
3 信号経路網
20 データ処理部
21 入力セレクタ(冗長入力セレクタ)
21A 冗長入力セレクタ
21B 冗長入力セレクタ
21D 冗長入力セレクタ
22 出力先セレクタ(冗長出力先セレクタ)
22A 冗長出力先セレクタ
22D 冗長出力先セレクタ
23 信号生成部
23D 信号生成部
24 パリティ検出回路
25 パリティ生成回路
26 ECC検出訂正回路
27 ECC生成回路
MDE モード信号
PRTY パリティ信号
31 第1信号経路
31A 第1信号経路
31D 第1信号経路
32 第2信号経路
32A 第2信号経路
32D 第2信号経路
33 可変スイッチ部
33D 可変スイッチ部
34 接続経路選択回路
35 バス
36,37 バス
CntR(s0〜s7) 冗長制御信号
100 マイクロコンピュータ
101 内部バス
102 中央処理装置(CPU)
103 バスインタフェース回路
104 メモリコントローラ
105 ダイレクトメモリアクセスコントローラ(DMAC)
106 入力FIF
107 出力FIFO
110 外部メモリ
121 中央処理装置(CPU)
122 ROM
123 RAM
124 DMAC
125 インタフェース制御回路(IFCNT)
126 機能再構成メモリ(RCFGM)
130 機能再構成セル(ACMU)
133 記憶回路(MRY)
134 制御回路(MCONT)
135 スタティック・ランダム・アクセスメモリ(SRAM)
136 アドレスラッチ回路(ADRLAT)
137 メモリアレイ
137_D データフィールド(DFLD)
137_C 制御フィールド(CFLD)
138 アドレスデコーダ(SDEC)
139 タイミングコントローラ(TMCNT)
IBUS_i 内部バス
145 接続経路選択回路(RSW)
201 算術論理演算ユニット(ALU)
200 フィルタ演算ユニット(DMU)
202 レジスタファイル(REG)
203 ハードウェア定義記憶部
204 ポインタ(PNT)
205 機能制御バス
210_0〜210_7 第1セレクタ
210A_0〜210A_7 第1セレクタ
210B_0〜210B_7 第4セレクタ
220_0〜220_6 第2セレクタ
220A_0〜220A_6 第2セレクタ
220A_7 第3セレクタ
220B 第5セレクタ
BLK1,BLK2 ブロック
220_7 第6セレクタ
MDP モード信号
ERR パリティ検出信号
230 欠陥記憶部
230A 欠陥記憶部
230B 欠陥記憶部
230D 欠陥記憶部
231 冗長制御信号生成回路
231A 冗長制御信号生成回路
231B 冗長制御信号生成回路
231D 冗長制御信号生成回路
400 半導体集積回路(LSI)
401 回路モジュール(MLD1〜MDLn)
402 モジュールセレクタ
P1〜Pm 外部ピン
404 出力バッファ(OFUF)
411 メモリ
412 モジュールセレクタ
ADDR アドレス信号

Claims (17)

  1. m+i(iとmは、m≧2、m>iの関係を有する正の整数)ビットの入力とmビットの出力とを有する入力セレクタと、
    前記入力セレクタの前記mビットの出力に結合されたmビットの入力を有するmビットデータ処理幅のデータ処理部と、
    前記データ処理部の前記mビットの出力に結合されたmビットの入力と、m+iビットの出力とを有する出力先セレクタと、
    前記入力セレクタ及び出力先セレクタに結合され、前記入力セレクタの前記m+iビットの入力の内から所望ビット位置のmビットを前記入力セレクタの前記mビットの出力へ結合させることを可能にし、且つ、前記出力先セレクタの前記mビットの入力を、前記出力先セレクタの前記m+iビットの出力の内の前記所望ビット位置のmビットの出力へ結合させることを可能にする信号生成部と、を有する半導体装置。
  2. 前記入力セレクタ、データ処理部及び出力先セレクタをセットとする複数のデータ処理エレメントを有し、
    前記複数のデータ処理エレメント間で前記入力セレクタの入力と前記出力先セレクタの出力とを可変に接続する信号経路網を更に有し、
    前記信号経路網は、前記入力セレクタの入力に接続するm+iビットのビット幅を持つ第1信号経路と、
    前記出力先セレクタの出力に接続するm+iビットのビット幅を持つ第2信号経路と、
    入力に接続された複数の第2信号経路から可変に選択した一つの信号経路を、出力に接続された第1信号経路に接続する可変スイッチ部と、を有する請求項1記載の半導体装置。
  3. 前記データ処理部は、mビット演算幅の演算器と、前記演算器によるハードウェア構成を定義するハードウェア定義記憶部とを有する、請求項2記載の半導体装置。
  4. 前記信号生成部は、複数個の前記データ処理エレメントのグループ単位で共通化されている、請求項2記載の半導体装置。
  5. 前記入力セレクタは、m+iビットの入力の最下位又は最上位の一方から1ビットずつずれた隣接するi+1ビットを入力して何れか1ビットを選択するm個のi+1ビットの入力を持つ第1セレクタによって、m+iビットの入力からmビットを選択可能とする、請求項2記載の半導体装置。
  6. 前記出力先セレクタは、mビットの入力の最下位ビットをm+iビットの出力の最下位ビットとし、前記mビットの入力の最下位ビットを除く下位側からの各ビットで、当該ビットとその下位側の最大iビットまでの下位側ビットとを入力とするm−1個の第2セレクタと、mビットの入力の最上ビットをm+iビットの出力の最上位ビットとし、更にi≧2のとき、前記m+iビットの出力のm+1ビット目から最上位ビットの直前までの各出力ビットに対し、当該ビットからその最上位ビットまでのビット数分だけ繰り下がったmビットの入力のビット位置からその最上位ビットに至るまでのビットを入力するi−1個の第3セレクタとによって、m+iビットの出力における入力のmビットの配置を選択可能とする、請求項5記載の半導体装置。
  7. 前記入力セレクタは、m+iビットの内のmビットの入力を夫々1ビットずつ個別に入力すると共に、m+iビットの内の残りのiビットを夫々共通に入力する夫々i+1個の入力を持つm個の第4セレクタによって、m+iビットの入力からmビットを選択可能とする、請求項2記載の半導体装置。
  8. 前記出力先セレクタは、mビットの入力からiビットを選択する第5セレクタを有し、mビットの入力をmビットの出力とし、前記第5セレクタの出力をmビット出力の最上位に続くiビットの出力とする、請求項7記載の半導体装置。
  9. 前記入力セレクタのm+iビットの入力に対するパリティ検出回路を有すると共に、前記データ処理部のmビットの出力を入力してiビットのパリティ信号を生成するパリティ生成回路を有する、請求項1記載の半導体装置。
  10. 前記出力先セレクタは、冗長モードにおいてm+iビットの出力の最上位ビットにはmビットの入力の最上位ビットを結合し、パリティモードにおいてm+iビットの出力の最上位には前記パリティ生成回路で生成したパリティ信号を結合する第6セレクタを有する、請求項9記載の半導体装置。
  11. 前記入力セレクタのm+iビットの入力に対するECC検出及び訂正処理を行ってmビットを出力するECCエラー検出訂正回路と、前記データ処理部のmビットの出力を入力してiビットのECCチェックコードを生成するECC生成回路とを有する、請求項1記載の半導体装置。
  12. 前記入力セレクタは、ECCモードでは前記m+iビットの入力に対してECC検出及び訂正処理を行って得られたmビットを、冗長モードでは前記m+iビットの入力の内から所望ビット位置のmビットを、前記入力セレクタの前記mビットの出力へ結合することを可能とし、
    前記出力先セレクタは、ECCモードでは前記mビットの入力に前記ECC生成回路で生成したiビットのECCチェックコードを付加してm+iビットの出力に結合し、冗長モードでは前記mビットの入力を、前記m+iビットの出力の内の前記所望ビット位置のmビットへ結合可能とする、請求項11記載の半導体装置。
  13. m(mは、m≧2の関係を有する正の整数)ビットの出力を持つ複数の回路モジュールと、
    夫々対応する前記回路モジュールのmビットの出力に結合されたmビットの入力とm+i(iは、m>iの関係を持つ正の整数)ビットの出力とを有する複数の出力先セレクタと、
    前記複数の出力先セレクタのm+iビットの出力を一単位としてその複数単位に結合するm+iビットの複数単位の入力と前記複数単位の入力から選択された一単位のm+iビットの出力とを有するモジュールセレクタと、
    前記モジュールセレクタの出力に結合するm+iビットの入力とmビットの出力とを有する入力セレクタと、
    前記出力先セレクタのmビットの入力を、前記出力先セレクタの前記m+iビットの出力の内の所望ビット位置のmビットの出力へ結合せることを可能とし、且つ、前記入力セレクタの前記m+iビットの入力の内から前記所望ビット位置のmビットを前記入力セレクタの前記mビットの出力へ結合させることを可能とする信号生成部と、を有する半導体装置。
  14. m(mは、m≧2の関係を有する正の整数)ビットの演算幅を有する複数個のデータ処理エレメントと、
    前記データ処理エレメント間を所望に接続する信号経路網と、
    冗長設定部と、を有する演算処理用の半導体装置であって、
    前記信号経路網は、夫々m+i(iは、m>iの関係を有する正の整数)ビットのビット幅を持つ複数の信号経路を有し、
    前記データ処理エレメントは、前記信号経路から信号を受ける入力段に冗長入力セレクタを有し、且つ、前記信号経路に信号を渡す出力段に冗長出力先セレクタを有し、
    前記冗長入力セレクタは、前記m+iビットの入力から前記冗長設定部の設定に基づいて指定されたビット位置のmビットを選択して後段に出力し、
    前記冗長出力先セレクタは、前記データ処理エレメントによるmビットの処理結果を前記冗長設定部の設定に基づいて指定されたビット位置に配置したm+iビットを後段に出力する、半導体装置。
  15. 前記冗長設定部は前記ビット位置を設定するための不揮発性記憶回路を有する、請求項14記載の半導体装置。
  16. 可変信号経路網、これに接続される複数個のデータ処理エレメント、及び可変設定部を有する半導体装置であって、
    前記データ処理エレメントは、m+i(iとmは、m≧2、m>iの関係を有する正の整数)ビットの入力とmビットの出力とを有する入力セレクタと、
    前記入力セレクタの前記mビットの出力に結合されたmビットの入力を有するmビット演算幅の演算部と、を有し、
    前記可変設定部は、前記入力セレクタに結合され、前記入力セレクタの前記m+iビットの入力の内から所望のmビットを前記入力セレクタの前記mビットの出力へ結合させることを可能にする信号を生成し、
    前記可変信号経路網は、m+iビットのビット幅を持つ複数の信号経路と、入力に接続された複数の信号経路から可変可能に選択した一つの信号経路を前記入力セレクタの入力に接続する可変スイッチ部とを有する、半導体装置。
  17. 可変信号経路網、これに接続される複数個のデータ処理エレメント、及び可変設定部を有する半導体装置であって、
    前記データ処理エレメントは、mビット出力を有するmビット演算幅の演算部と、
    前記演算部の前記mビット出力に結合されたmビットの入力と、m+i(iとmは、m≧2、m>iの関係を有する正の整数)ビットの出力とを有する出力先セレクタと、を有し、
    前記可変設定部は、前記出力先セレクタに結合され、前記出力先セレクタの前記mビットの入力を、前記出力先セレクタの前記m+iビットの出力の内の所望のmビットの出力へ結合させることを可能にする信号を生成し、
    前記可変信号経路網は、m+iビットのビット幅を持つ複数の信号経路と、前記複数の冗長出力先セレクタの出力に前記信号経路を介して接続するm+iビットの入力を複数持ち、当該複数の入力の中から可変可能に選択した一つをm+iビットの出力に接続する可変スイッチ部とを有する、半導体装置。
JP2013218075A 2013-10-21 2013-10-21 半導体装置 Pending JP2015082671A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013218075A JP2015082671A (ja) 2013-10-21 2013-10-21 半導体装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013218075A JP2015082671A (ja) 2013-10-21 2013-10-21 半導体装置

Publications (1)

Publication Number Publication Date
JP2015082671A true JP2015082671A (ja) 2015-04-27

Family

ID=53013093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013218075A Pending JP2015082671A (ja) 2013-10-21 2013-10-21 半導体装置

Country Status (1)

Country Link
JP (1) JP2015082671A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126451A1 (ja) * 2016-01-18 2017-07-27 日本電気株式会社 論理集積回路および半導体装置
JPWO2020095854A1 (ja) * 2018-11-08 2021-09-30 ナノブリッジ・セミコンダクター株式会社 論理集積回路、構成情報設定方法、および記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126451A1 (ja) * 2016-01-18 2017-07-27 日本電気株式会社 論理集積回路および半導体装置
JPWO2017126451A1 (ja) * 2016-01-18 2018-11-22 日本電気株式会社 論理集積回路および半導体装置
US10812076B2 (en) 2016-01-18 2020-10-20 Nec Corporation Logic integrated circuit and semiconductor device
JPWO2020095854A1 (ja) * 2018-11-08 2021-09-30 ナノブリッジ・セミコンダクター株式会社 論理集積回路、構成情報設定方法、および記録媒体
JP7324520B2 (ja) 2018-11-08 2023-08-10 ナノブリッジ・セミコンダクター株式会社 論理集積回路、構成情報設定方法、および記録媒体

Similar Documents

Publication Publication Date Title
US9600366B1 (en) Error detection and correction circuitry
JP4960137B2 (ja) プログラマブルデバイスに対するソフトエラーロケーションおよび感度検出
US20180231605A1 (en) Configurable Vertical Integration
US8493089B2 (en) Programmable logic circuit using three-dimensional stacking techniques
US8560927B1 (en) Memory error detection circuitry
US9342402B1 (en) Memory interface with hybrid error detection circuitry for modular designs
US8099625B1 (en) Self-checking and self-correcting internal configuration port circuitry
US8661321B1 (en) Parallel processing error detection and location circuitry for configuration random-access memory
EP2985914A2 (en) Programmable circuit having multiple sectors
US8797061B2 (en) Partial reconfiguration circuitry
JP2009017010A (ja) 再構成可能デバイス
US9257987B1 (en) Partial reconfiguration using configuration transaction layer packets
EP2113836B1 (en) Flexible adder circuits with fast carry chain circuitry
US8918706B1 (en) Methods and circuitry for performing parallel error checking
JP2015082671A (ja) 半導体装置
US10938620B2 (en) Configuration of a programmable device
US11979152B2 (en) Integrated circuits having memory with flexible input-output circuits
US8299815B2 (en) Reconfigurable semiconductor integrated circuit
US20210013885A1 (en) Logic fabric based on microsector infrastructure
US9130561B1 (en) Configuring a programmable logic device using a configuration bit stream without phantom bits
US20190319627A1 (en) Distributed I/O Interfaces in Modularized Integrated Circuit Devices
US9960772B2 (en) Semiconductor device including logical blocks, wiring groups, and switch circuits
Astarloa et al. An autonomous fault tolerant system for can communications