(57)【要約】低コストで高性能の半導体プログラマブルデバイスを得るため、本発明の半導体プログラマブルデバイスは、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、データ信号を転送するスイッチファブリックと、スイッチファブリックのそれぞれと接続された回路ブロックとを有し、行配線または列配線のいずれか一方は、データ信号を構成する第１のデータ信号群と第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、列配線と行配線のうちの他方は、第１のデータ信号群と第２のデータ信号群の両者を転送するように構成されている。
2010032866.tif 000002
【特許請求の範囲】
【請求項１】
チップ上に配置された複数の行配線と複数の列配線と、前記行配線と前記列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、前記複数のスイッチファブリックのそれぞれと直接接続され、前記複数のスイッチファブリックを介して前記データ信号の入出力を行う複数の回路ブロックとを有し、
前記行配線または前記列配線のいずれか一方は、前記データ信号を構成する第１のデータ信号群と第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、
前記列配線と前記行配線のうちの他方は、前記第１のデータ信号群と前記第２のデータ信号群の両者を転送するように構成されている
半導体プログラマブルデバイス。
【請求項２】
請求項１に記載の半導体プログラマブルデバイスにおいて、
前記列配線は、前記第１のデータ信号群と前記第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、
前記行配線は、前記第１のデータ信号群と前記第２のデータ信号群の両者を転送するように構成されている
半導体プログラマブルデバイス。
【請求項３】
請求項２に記載の半導体プログラマブルデバイスにおいて、
前記列配線は、前記第１のデータ信号群としての上位ビットを転送する上位ビット用列配線と、前記第２のデータ信号群としての下位ビットを転送する下位ビット用列配線から構成され、
前記上位ビット用列配線上の前記スイッチファブリックは、
前記行配線上で隣接する前記スイッチファブリック、前記上位ビット用列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する第１の上位ビット用スイッチ部と、
前記行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送する第１の下位ビット用スイッチ部とを備え、
前記下位ビット用列配線上の前記スイッチファブリックは、
前記行配線上で隣接する前記スイッチファブリック、前記下位ビット用列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送する第２の下位ビット用スイッチ部と、
前記行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する第２の上位ビット用スイッチ部とを備えた
半導体プログラマブルデバイス。
【請求項４】
請求項３に記載の半導体プログラマブルデバイスにおいて、
前記上位ビット用列配線上の前記スイッチファブリックは、
前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置しているときは、
前記上位ビットは、前記スイッチファブリックと同一の列配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックから入力し、
前記下位ビットは、前記スイッチファブリックと同一の行配線上であって前記スイッチファブリックの左側に隣接するスイッチファブリックから入力し、
前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置し、かつ、前記スイッチファブリックと同一の行配線上に位置しているときは、前記スイッチファブリックに接続された回路ブロックからデータ信号を入力し、
前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置せず、かつ、前記スイッチファブリックと隣接する上位ビット用列配線上に位置していないときは、前記スイッチファブリックと同一の行配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックからのデータ信号を入力し、
前記データ信号を出力する回路ブロックが、前記スイッチファブリックと隣接する上位ビット用列配線上に位置しているときは、
前記上位ビットは、前記スイッチファブリックと同一の列配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックから入力し、
前記下位ビットは、前記スイッチファブリックと同一の行配線上であって前記スイッチファブリックの右側に隣接するスイッチファブリックから入力する
半導体プログラマブルデバイス。
【請求項５】
請求項３に記載の半導体プログラマブルデバイスにおいて、
前記上位ビット用列配線と前記下位ビット用列配線とが交互に敷設された半導体プログラマブルデバイス。
【請求項６】
請求項３に記載の半導体プログラマブルデバイスにおいて、
前記スイッチファブリックは、前記列配線上で隣接するスイッチファブリックへ前記上位ビットと前記下位ビットとを切り替えながら転送する半導体プログラマブルデバイス。
【請求項７】
請求項１に記載の半導体プログラマブルデバイスにおいて、
前記行配線は、前記第１のデータ信号群と前記第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、
前記列配線は、前記第１のデータ信号群と前記第２のデータ信号群の両者を転送するように構成されている
半導体プログラマブルデバイス。
【請求項８】
請求項７に記載の半導体プログラマブルデバイスにおいて、
前記行配線は、前記第１のデータ信号群としての上位ビットを転送する上位ビット用行配線と、前記第２のデータ信号群としての下位ビットを転送する下位ビット用行配線から構成され、
前記上位ビット用行配線上の前記スイッチファブリックは、
前記列配線上で隣接する前記スイッチファブリック、前記上位ビット用行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する第３の上位ビット用スイッチ部と、
前記列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送する第３の下位ビット用スイッチ部とを備え、
前記下位ビット用行配線上の前記スイッチファブリックは、
前記列配線上で隣接する前記スイッチファブリック、前記下位ビット用行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送する第４の下位ビット用スイッチ部と、
前記列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する第４の上位ビット用スイッチ部とを備えた
半導体プログラマブルデバイス。
【請求項９】
請求項８に記載の半導体プログラマブルデバイスにおいて、
前記上位ビット用行配線と前記下位ビット用行配線とが交互に敷設された半導体プログラマブルデバイス。
【請求項１０】
請求項８に記載の半導体プログラマブルデバイスにおいて、
前記スイッチファブリックは、前記行配線上で隣接するスイッチファブリックへ前記上位ビットと前記下位ビットとを切り替えながら転送する半導体プログラマブルデバイス。
【請求項１１】
請求項１に記載の半導体プログラマブルデバイスにおいて、
前記回路ブロックがメモリマクロである半導体プログラマブルデバイス。
【請求項１２】
請求項１に記載の半導体プログラマブルデバイスにおいて、
前記回路ブロックがプロセッサである半導体プログラマブルデバイス。
【請求項１３】
チップ上に配置された複数の行配線と複数の列配線と、前記行配線と前記列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、前記複数のスイッチファブリックのそれぞれと直接接続され、前記複数のスイッチファブリックを介して前記データ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、
前記行配線または前記列配線のいずれか一方は、前記データ信号を構成する第１のデータ信号群と第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送し、
前記列配線と前記行配線のうちの他方は、前記第１のデータ信号群と前記第２のデータ信号群の両者を転送する
半導体プログラマブルデバイスにおける信号転送方法。
【請求項１４】
請求項１３に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記列配線は、前記第１のデータ信号群と前記第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送し、
前記行配線は、前記第１のデータ信号群と前記第２のデータ信号群の両者を転送する半導体プログラマブルデバイスにおける信号転送方法。
【請求項１５】
請求項１４に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記列配線を構成する上位ビット用列配線は、前記第１のデータ信号群としての上位ビットを転送し、前記列配線を構成する下位ビット用列配線は、前記第２のデータ信号群としての下位ビットを転送し、
前記上位ビット用列配線上の前記スイッチファブリックは、
前記行配線上で隣接する前記スイッチファブリック、前記上位ビット用列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送し、
前記行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送し、
前記下位ビット用列配線上の前記スイッチファブリックは、
前記行配線上で隣接する前記スイッチファブリック、前記下位ビット用列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送し、
前記行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する
半導体プログラマブルデバイスにおける信号転送方法。
【請求項１６】
請求項１５に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記上位ビット用列配線上の前記スイッチファブリックは、
前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置しているときは、
前記上位ビットは、前記スイッチファブリックと同一の列配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックから入力し、
前記下位ビットは、前記スイッチファブリックと同一の行配線上であって前記スイッチファブリックの左側に隣接するスイッチファブリックから入力し、
前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置し、かつ、前記スイッチファブリックと同一の行配線上に位置しているときは、前記スイッチファブリックに接続された回路ブロックからデータ信号を入力し、
前記データ信号を出力する回路ブロックが、前記スイッチファブリックと同一の上位ビット用列配線上に位置せず、かつ、前記スイッチファブリックと隣接する上位ビット用列配線上に位置していないときは、前記スイッチファブリックと同一の行配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックからのデータ信号を入力し、
前記データ信号を出力する回路ブロックが、前記スイッチファブリックと隣接する上位ビット用列配線上に位置しているときは、
前記上位ビットは、前記スイッチファブリックと同一の列配線上であって前記回路ブロックが位置する側に隣接するスイッチファブリックから入力し、
前記下位ビットは、前記スイッチファブリックと同一の行配線上であって前記スイッチファブリックの右側に隣接するスイッチファブリックから入力する
半導体プログラマブルデバイスにおける信号転送方法。
【請求項１７】
請求項１５に記載の半導体プログラマブルデバイスにおける信号転送方法において、
交互に敷設された前記上位ビット用列配線と前記下位ビット用列配線が、前記上位ビットまたは前記下位ビットを転送する半導体プログラマブルデバイスにおける信号転送方法。
【請求項１８】
請求項１５に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記スイッチファブリックは、前記列配線上で隣接するスイッチファブリックへ前記上位ビットと前記下位ビットとを切り替えながら転送する半導体プログラマブルデバイスにおける信号転送方法。
【請求項１９】
請求項１３に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記行配線は、前記第１のデータ信号群と前記第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送し、
前記列配線は、前記第１のデータ信号群と前記第２のデータ信号群の両者を転送する半導体プログラマブルデバイスにおける信号転送方法。
【請求項２０】
請求項１９に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記行配線を構成する上位ビット用行配線は、前記第１のデータ信号群としての上位ビットを転送し、前記行配線を構成する下位ビット用行配線は、前記第２のデータ信号群としての下位ビットを転送し、
前記上位ビット用行配線上の前記スイッチファブリックは、
前記列配線上で隣接する前記スイッチファブリック、前記上位ビット用行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送し、
前記列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送し、
前記下位ビット用行配線上の前記スイッチファブリックは、
前記列配線上で隣接する前記スイッチファブリック、前記下位ビット用行配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記下位ビットを転送し、
前記列配線上で隣接する前記スイッチファブリック、及び直接接続された前記回路ブロックへ前記上位ビットを転送する
半導体プログラマブルデバイスにおける信号転送方法。
【請求項２１】
請求項２０に記載の半導体プログラマブルデバイスにおける信号転送方法において、
交互に敷設された前記上位ビット用行配線と前記下位ビット用行配線が、前記上位ビットまたは前記下位ビットを転送する半導体プログラマブルデバイスにおける信号転送方法。
【請求項２２】
請求項２０に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記スイッチファブリックは、前記行配線上で隣接するスイッチファブリックへ前記上位ビットと前記下位ビットとを切り替えながら転送する半導体プログラマブルデバイスにおける信号転送方法。
【請求項２３】
請求項１３に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記回路ブロックがメモリマクロであり、前記メモリマクロで入出力されるデータ信号を転送する半導体プログラマブルデバイスにおける信号転送方法。
【請求項２４】
請求項１３に記載の半導体プログラマブルデバイスにおける信号転送方法において、
前記回路ブロックがプロセッサであり、前記プロセッサで入出力されるデータ信号を転送する半導体プログラマブルデバイスにおける信号転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回路の構成を変更できる半導体プログラマブルデバイス及び信号転送方法に関する。
【背景技術】
【０００２】
近年、半導体集積回路装置の低コスト化や短ＴＡＴ（Ｔｕｒｎ  Ａｒｏｕｎｄ  Ｔｉｍｅ）化のため、半導体集積回路装置の製作後に回路の構成を変更できる半導体プログラマブルデバイスの開発が盛んになってきている。ここで、ＴＡＴとは、受注から納品が完了するまでの時間のことをいう。
半導体プログラマブルデバイスには、ゲートレベルで回路を組み合わせて再構成するＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）から、より大きい回路単位である回路ブロック（例えば、プロセッサやメモリ）を組み合わせて再構成するものまで様々なものがある。
回路ブロックを組み合わせて再構成する半導体プログラマブルデバイスとしては、チップ上で２次元アレイ状に回路ブロックを配列し、メッシュ状の配線によって回路ブロック間を接続する技術が例えば、非特許文献１に開示されている。
図１３は、２次元アレイ状に回路ブロックを配列してメッシュ状の配線によって回路ブロック間を接続した関連する半導体プログラマブルデバイスの一例を示すブロック図である。
図１３に示す関連する半導体プログラマブルデバイスは、回路ブロック１１１が２次元アレイ状に配列されている。なお、回路ブロック１１１としては、プロセッサやメモリ、カスタムハードウエア回路等がある。
また、図１３に示すように２次元アレイ状に配列された回路ブロック１１１のそれぞれは、スイッチファブリック１１３と接続されている。なお、スイッチファブリック１１３は、自身と直接接続された回路ブロック１１１との間で信号の入出力を行う。また、自身に隣接するスイッチファブリック１１３から出力された信号を転送する。
また、図１３に示すように回路ブロック１１１から出力された信号を他の回路ブロック１１１や半導体プログラマブルデバイスの外部へ転送するために、スイッチファブリック１１３同士はメッシュ状の列配線１１５及び行配線１１７によって接続されている。
つまり、スイッチファブリック１１３は、図中上下方向で隣接する他のスイッチファブリック１１３と列配線１１５で接続され、図中左右方向で隣接する他のスイッチファブリック１１３と行配線１１７で接続されている。また、回路ブロック１１１とも接続されており、スイッチファブリック１１３には全部で５つの方向の入力及び出力がある。
図１４は、図１３に示した関連する半導体プログラマブルデバイスのスイッチファブリック１１３の構成を示すブロック図である。
図１３に示したスイッチファブリック１１３は図１４に示すように、５つのセレクタ１１３−１と、それぞれのセレクタ１１３−１に接続された選択論理回路１１３−２とを備えている。これは、上述したようにスイッチファブリック１１３には５つの方向に入力及び出力があるからである。
セレクタ１１３−１は、自身が出力する方向以外の４つの方向から入力された信号のうちいずれか１つを選択して出力する。どの方向からの信号を選択するかは、選択論理回路１１３−２で決定される。なお、選択論理回路１１３−２は例えば、データを転送する方向をアドレス化したものをデコードするためのデコード回路からなる。
【非特許文献１】「プロシーディングス  オブ  アイ・イー・イー・イー  コンピュータ  ソサイエティ  アニュアル  シンポジウム  オン  ＶＬＳＩ（Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ａｎｎｕａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ）」、２００２年、ｐ．１０５−１１２
【発明の開示】
【発明が解決しようとする課題】
【０００３】
非特許文献１に開示されたような半導体プログラマブルデバイスを利用すれば、回路ブロック間の接続を切り替えることにより、半導体集積回路装置の製作後でも回路の構成を変更することができ、半導体集積回路装置の低コスト化や短ＴＡＴ化を実現することができる。
非特許文献１に開示されたような半導体プログラマブルデバイスは、回路の構成の変更ができない通常の半導体集積回路装置と比べ、図１３に示したように回路ブロック間を接続するための配線と、その接続を切り替えるためのスイッチファブリックとを有している点が異なる。非特許文献１に開示されたような半導体プログラマブルデバイスでは、これらの配線とスイッチファブリックとがチップ上で大きな面積を占めている。
その結果、回路ブロックが占める面積によっては、必要十分な数の配線やスイッチファブリックをチップ上に収めることができなくなるという問題点がある。
実際に、半導体プログラマブルデバイスの１つであるＦＰＧＡでは、チップの面積の半分が配線とスイッチファブリックとで占められている。同様に、２次元アレイ状にプロセッサが配列された半導体プログラマブルデバイスでも、チップ面積の１／４程度が配線とスイッチファブリックとで占められている。
また、限られたチップの面積で必要十分な配線数を確保するために配線層を追加することも考えられるが、追加された配線層を製造するためのマスクコストが増加するという問題点がある。
本発明の目的は、上述した課題である、低コストで高性能の半導体プログラマブルデバイスを得るのが困難であるという問題を解決する半導体プログラマブルデバイス及び信号転送方法を提供することにある。
【課題を解決するための手段】
【０００４】
本発明の半導体プログラマブルデバイスは、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有し、行配線または列配線のいずれか一方は、データ信号を構成する第１のデータ信号群と第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成され、列配線と行配線のうちの他方は、第１のデータ信号群と第２のデータ信号群の両者を転送するように構成されている。
本発明の半導体プログラマブルデバイスにおける信号転送方法は、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、行配線または列配線のいずれか一方は、データ信号を構成する第１のデータ信号群と第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送し、列配線と行配線のうちの他方は、第１のデータ信号群と第２のデータ信号群の両者を転送する。
【発明の効果】
【０００５】
本発明によれば、低コストで高性能な半導体プログラマブルデバイスを得ることができる。
【図面の簡単な説明】
【０００６】
図１Ａは本発明の第１の実施形態に係る半導体プログラマブルデバイスの構成を示すブロック図である。
図１Ｂは本発明の第２の実施形態に係る半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。
図２は本発明の第２の実施形態に係る半導体プログラマブルデバイスのメモリマクロの構成を示すブロック図である。
図３は本発明の第２の実施形態に係る半導体プログラマブルデバイスのメモリ入出力部の構成を示すブロック図である。
図４は本発明の第２の実施形態に係る上位ビット用スイッチファブリックの構成を示すブロック図である。
図５は本発明の第２の実施形態に係る上位ビット用スイッチファブリックにおける上位ビット用スイッチ部の構成を示すブロック図である。
図６は本発明の第２の実施形態に係る上位ビット用スイッチファブリックにおける下位ビット用スイッチ部の構成を示すブロック図である。
図７は本発明の第２の実施形態に係る下位ビット用スイッチファブリックの構成を示すブロック図である。
図８は本発明の第２の実施形態に係る下位ビット用スイッチファブリックにおける下位ビット用スイッチ部の構成を示すブロック図である。
図９は本発明の第２の実施形態に係る下位ビット用スイッチファブリックにおける上位ビット用スイッチ部の構成を示すブロック図である。
図１０は本発明の第２の実施形態に係る別のスイッチファブリックの構成を示すブロック図である。
図１１は本発明の半導体プログラマブルデバイスを備えた第３の実施形態に係る半導体集積回路装置の構成を示すブロック図である。
図１２は本発明の半導体プログラマブルデバイスを備えた第４の実施形態に係る半導体集積回路装置の構成を示すブロック図である。
図１３は関連する半導体プログラマブルデバイスの一例を示すブロック図である。
図１４は関連する半導体プログラマブルデバイスのスイッチファブリックの構成を示すブロック図である。
【符号の説明】
【０００７】
１０、５０、８０    半導体プログラマブルデバイス
１１、５１    メモリマクロ
１１ａ    制御部
１１ｂ    アドレスデコーダ
１１ｃ    ワード線ドライバ
１１ｄ    センスアンプ
１１ｅ    ライトバッファ
１１ｆ    リードバッファ
１１ｇ    メモリセルアレイ
１２、５２、８２、１１２    メモリ入出力部
１３、５３、８３    上位ビット用スイッチファブリック
１３ａ、１４ａ    上位ビット用スイッチ部
１３ｂ、１４ｂ    下位ビット用スイッチ部
１３ａ−１、１３ｂ−１、１４ａ−１、１４ｂ−１、３３ｃ、１１３−１    セレクタ
１３ａ−２、１３ｂ−２、１４ａ−２、１４ｂ−２、１１３−２    選択論理回路
１４、５４、８４    下位ビット用スイッチファブリック
１５、５５、８５    上位ビット用列配線
１６、５６、８６    下位ビット用列配線
１７、５７、８７、１１７    行配線
２０、６０、９０    ロジックデバイス
２１、６１、９１    ロジックマクロ
３３、１１３    スイッチファブリック
３３ａ    列配線無し用スイッチ部
３３ｂ    列配線有り用スイッチ部
６２    ロジック入出力部
８１    プロセッサ
１１１    回路ブロック
１１５    列配線
【発明を実施するための最良の形態】
【０００８】
以下に、本発明の実施の形態について図面を参照して説明する。
［第１の実施形態］
図１Ａは、本発明の第１の実施形態に係る半導体プログラマブルデバイスの構成を示すブロック図である。半導体プログラマブルデバイス１０は、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックを有する。各スイッチファブリックにはそれぞれ回路ブロックが直接接続されており、各回路ブロックはスイッチファブリックを介してデータ信号の入出力を行う。
ここで、行配線または列配線のいずれか一方は、データ信号を構成する第１のデータ信号群と第２のデータ信号群のうちのいずれか一方のデータ信号群のみを転送するように構成されている。また、列配線と行配線のうちの他方は、第１のデータ信号群と第２のデータ信号群の両者を転送するように構成されている。
本実施形態では、回路ブロックとしてメモリマクロ１１を用い、第１のデータ信号群としてデータ信号の上位ビットを、第２のデータ信号群としてデータ信号の下位ビットを用いた。また本実施形態では、図１Ａに示すように、列配線が上位ビットのみを転送する上位ビット用列配線１５と、下位ビットのみを転送する下位ビット用列配線１６とから構成され、行配線１７は上位ビットと下位ビットの両者を転送するように構成した。このとき、上位ビット用列配線１５上には上位ビット用スイッチファブリック１３が、下位ビット用列配線１６上には下位ビット用スイッチファブリック１４が配置される。
本実施形態による半導体プログラマブルデバイス１０においては、メモリマクロ１１から読み出されたデータ信号は、上位ビット用スイッチファブリック１３および下位ビット用スイッチファブリック１４で上位ビットと下位ビットに分割される。そして、上位ビットは上位ビット用列配線１５と行配線１７により、下位ビットは下位ビット用列配線１６と行配線１７によりそれぞれ転送される。
したがって、本実施形態によれば、列配線のビット数を半減することができ、また、上位ビット用スイッチファブリック１３および下位ビット用スイッチファブリック１４の構成を簡略化できる。その結果、スイッチファブリックと列配線によって生じる面積オーバーヘッドを削減でき、低コストで高性能な半導体プログラマブルデバイスを得ることができる。
［第２の実施形態］
図１Ｂは、本発明の第１の実施形態に係る半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。図１Ｂに示す半導体集積回路装置は、半導体プログラマブルデバイス１０と、ロジックデバイス２０とを備えている。
半導体プログラマブルデバイス１０は、回路ブロックであるメモリマクロ１１と、メモリ入出力部１２と、上位ビット用スイッチファブリック１３と、下位ビット用スイッチファブリック１４とを備えている。
図１Ｂに示す半導体プログラマブルデバイス１０には、１６個のメモリマクロ１１が４×４の２次元アレイ状に配列されている。また、メモリマクロ１１のそれぞれは、上位ビット用スイッチファブリック１３または下位ビット用スイッチファブリック１４と直接接続されている。
また、図１Ｂに示す半導体プログラマブルデバイス１０には、行方向と列方向とに複数の配線が敷設されている。具体的には、図中上下方向に上位ビット用列配線１５と下位ビット用列配線１６とが交互に敷設されており、図中左右方向に行配線１７が敷設されている。
上位ビット用列配線１５は、本実施形態の半導体集積回路装置内を転送される信号の上位のビットを転送するための配線であり、下位ビット用列配線１６は、本実施形態の半導体集積回路装置内を転送される信号の下位のビットを転送するための配線である。
メモリマクロ１１は例えば、１ｋワードのＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）マクロからなり、ロジックデバイス２０から出力された書き込みデータ信号をメモリセルに書き込んだり、ロジックデバイス２０への読み出しデータ信号を出力したりする。
図２は、図１Ｂに示した半導体プログラマブルデバイス１０のメモリマクロ１１の構成を示すブロック図である。
図１Ｂに示したメモリマクロ１１は図２に示すように、制御部１１ａと、メモリセルアレイ１１ｇと、アドレスデコーダ１１ｂと、ワード線ドライバ１１ｃと、センスアンプ１１ｄと、ライトバッファ１１ｅと、リードバッファ１１ｆとを備えている。ここで、アドレスデコーダ１１ｂはメモリセルアレイ１１ｇ内のメモリセルの書き込み及び読み込み動作において該当するメモリセルへのアクセスを制御する。ワード線ドライバ１１ｃは、メモリセルアレイ１１ｇ内のメモリセルのそれぞれと接続されているワード線を制御し、センスアンプ１１ｄは信号の増幅を行う。なお、制御部１１ａの動作については後述する。
図１Ｂに示したメモリ入出力部１２は、メモリマクロ１１とロジックデバイス２０との間の信号の入出力を仲介する。図３は、図１Ｂに示した半導体プログラマブルデバイス１０のメモリ入出力部１２の構成を示すブロック図である。
図３に示すようにメモリ入出力部１２には、メモリマクロ１１から上位ビット用スイッチファブリック１３及び下位ビット用スイッチファブリック１４を経由してきた１６ビットの読み出しデータ信号が入力され、ロジックデバイス２０へ出力される。また、ロジックデバイス２０からの１６ビットの書き込みデータ信号、１４ビットのアドレス信号及び２ビットのコマンド信号が入力され、スイッチファブリック１３、１４へ出力される。
ここで、ロジックデバイス２０と半導体プログラマブルデバイス１０との間の信号の入出力の一例として、ロジックデバイス２０から半導体プログラマブルデバイス１０へデータ信号の読み出しを指示する場合について図１Ｂから図３を参照しながら説明する。
データの読み出しを指示するロジックデバイス２０は、図３に示すようにメモリ入出力部１２へコマンド信号及びアドレス信号を出力する。このコマンド信号及びアドレス信号は、メモリ入出力部１２を介して半導体プログラマブルデバイス１０（図１Ｂ参照）内の全てのメモリマクロ１１へ入力される。なお、ここではコマンド信号は、データの読み出し指示を示している。
コマンド信号及びアドレス信号が入力されたメモリマクロ１１の制御部１１ａ（図２参照）は、予め記憶している自身のアドレスと、アドレス信号が示すデータの読み出しの対象となるメモリマクロ１１のアドレスとを比較する。なお、ここでは、アドレス信号は、メモリマクロ１１を指定するための４ビットのメモリマクロアドレスと、メモリマクロ１１内のワードアドレスを指定するための１０ビットのワードアドレスとの合計１４ビットで構成されている。
アドレス信号のメモリマクロアドレスと、制御部１１ａが予め記憶している自身のアドレスとが一致した場合、制御部１１ａは、メモリセルアレイ１１ｇの中のワードアドレスが示すメモリセルからデータを読み出す。これは、ここではコマンド信号がデータの読み出し指示を示しているからである。そして、制御部１１ａは、読み出したデータを読み出しデータ信号としてリードバッファ１１ｆから出力する。
メモリマクロ１１から出力された読み出しデータ信号は、上位ビット用スイッチファブリック１３及び下位ビット用スイッチファブリック１４によって転送され、メモリ入出力部１２を介してロジックデバイス２０に出力される。なお、上位ビット用スイッチファブリック１３及び下位ビット用スイッチファブリック１４による信号の転送方法については後述する。
以上がロジックデバイス２０と半導体プログラマブルデバイス１０との間の信号の入出力の一例である。なお、以降、メモリマクロ１１へ入力される書き込みデータ信号と、メモリマクロ１１から出力される読み込みデータ信号とを総称して「メモリマクロ１１の入出力データ信号」という。
上位ビット用スイッチファブリック１３は、上位ビット用列配線１５と行配線１７との交点に設けられている。この上位ビット用スイッチファブリック１３は、隣接する上位ビット用スイッチファブリック１３、隣接する下位ビット用スイッチファブリック１４及び直接接続されたメモリマクロ１１から入力された複数の信号の転送方向を制御する。
下位ビット用スイッチファブリック１４は、下位ビット用列配線１６と行配線１７との交点に設けられている。この下位ビット用スイッチファブリック１４は、隣接する上位ビット用スイッチファブリック１３、隣接する下位ビット用スイッチファブリック１４及び直接接続されたメモリマクロ１１から入力された複数の信号の転送方向を制御する。
図４は、図１Ｂに示した上位ビット用スイッチファブリック１３の構成を示すブロック図である。図４に示すように上位ビット用スイッチファブリック１３は、第１の上位ビット用スイッチ部である上位ビット用スイッチ部１３ａと、第１の下位ビット用スイッチ部である下位ビット用スイッチ部１３ｂとを備えている。
上位ビット用スイッチファブリック１３では、メモリマクロ１１の入出力データ信号が入力されると、入力されたメモリマクロ１１の入出力データ信号のうち上位のビットが上位ビット用スイッチ部１３ａへ入力され、下位のビットが下位ビット用スイッチ部１３ｂへ入力される。
例えば、上位ビット用スイッチファブリック１３では、図４に示すようにメモリマクロ１１からの１６ビットの読み出しデータ信号が入力されると、入力された読み出しデータ信号の上位の８ビットが上位ビット用スイッチ部１３ａに入力される。一方、入力された読み出しデータ信号の下位の８ビットは下位ビット用スイッチ部１３ｂに入力される。また、図４に示すように、上位ビット用スイッチ部１３ａから出力された８ビットの信号と、下位ビット用スイッチ部１３ｂから出力された８ビットの信号とが合流し、書き込みデータ信号としてメモリマクロ１１へ入力される。
上位ビット用スイッチ部１３ａは、上位ビット用スイッチファブリック１３へ入力されたメモリマクロ１１の入出力データ信号の上位ビットの出力先を選択論理回路によって制御する。
下位ビット用スイッチ部１３ｂは、上位ビット用スイッチファブリック１３へ入力されたメモリマクロ１１の入出力データ信号の下位ビットの出力先を選択論理回路によって制御する。なお、上位ビットまたは下位ビットの出力先を制御する選択論理回路については後述する。
図５は、図４に示した上位ビット用スイッチファブリック１３における上位ビット用スイッチ部１３ａの構成を示すブロック図である。上位ビット用スイッチ部１３ａには、上述したように上位ビット用スイッチファブリック１３へ入力されたメモリマクロ１１の入出力データ信号のうち上位ビットが入力される。
図４に示した上位ビット用スイッチ部１３ａは図５に示すように、セレクタ１３ａ−１と、セレクタ１３ａ−１と接続された選択論理回路１３ａ−２とを備えている。なお、セレクタ１３ａ−１は、信号の入出力方向毎に設けられており、それぞれのセレクタ１３ａ−１に選択論理回路１３ａ−２が接続されている。
図５に示すように上位ビット用スイッチ部１３ａでは、全部で５つの方向の入力及び出力がある。これは、図４に示したように上位ビット用スイッチ部１３ａは、メモリマクロ１１との接続以外に、図中上下方向では、隣接する上位ビット用スイッチファブリック１３と上位ビット用列配線１５で接続されており、図中左右方向では、隣接する下位ビット用スイッチファブリック１４と行配線１７で接続されているためである。そのため、上位ビット用スイッチ部１３ａは、信号の入出力方向の数と同じ５つのセレクタ１３ａ−１及び選択論理回路１３ａ−２を備えている。
セレクタ１３ａ−１は、自身が信号を出力する方向以外の４つの方向から入力された信号のうち、選択論理回路１３ａ−２によって選択された１つの信号を出力する。
選択論理回路１３ａ−２は、４つの方向からセレクタ１３ａ−１へ入力された信号のうち出力する１つの信号を一定のロジックによって決定する。
ここで、任意のメモリマクロ１１から出力された読み出しデータ信号の上位ビットが４つの方向から上位ビット用スイッチ部１３ａへ入力された場合、出力する１つの読み出しデータ信号を選択論理回路１３ａ−２が決定するロジックの一例を説明する。
選択論理回路１３ａ−２は、自身が属している上位ビット用スイッチファブリック１３のチップ上での番地を記憶している。ここでは、上位ビット用スイッチファブリック１３の図１Ｂ中の左右方向の番地をＳＸと表し、図１Ｂ中の上下方向の番地をＳＹと表すこととする。
また、選択論理回路１３ａ−２は、読み出しデータ信号を出力するメモリマクロ１１のチップ上での番地も認識している。これは、上位ビット用スイッチファブリック１３には、読み出しデータ信号の出力を指示する際にロジックデバイス２０から出力されたアドレス信号が入力されており、そのアドレス信号にはデータの読み出しを行わせるメモリマクロ１１のチップ上での番地を示すマクロアドレスが含まれているからである。
ここでは、読み出しデータ信号を出力するメモリマクロ１１の図１Ｂ中の左右方向の番地をＭＸと表し、図１Ｂ中の上下方向の番地をＭＹと表すこととする。なお、自身が属している上位ビット用スイッチファブリック１３が読み出しデータ信号を出力するメモリマクロ１１と直接接続されている場合、ＭＸ＝ＳＸかつＭＹ＝ＳＹとなる。ここで、Ｍはメモリマクロを、Ｓは上位ビット用スイッチファブリックを表し、また、Ｘは図１Ｂ中の左右方向を、Ｙは図１Ｂ中の上下方向をそれぞれ表す添え字である。また、図１Ｂ中の番地であるＭＸ、ＳＸ、ＭＹ、ＳＹはそれぞれ整数である。
選択論理回路１３ａ−２は、自身が属している上位ビット用スイッチファブリック１３の番地を表すＳＸ、ＳＹと、読み出しデータ信号を出力するメモリマクロ１１の番地を表すＭＸ、ＭＹとを比較することにより、４つの方向から入力された読み出しデータ信号のうち出力する１つの読み出しデータ信号を決定する。
実際には、４つの方向から読み出しデータ信号が入力されると、選択論理回路１３ａ−２は以下の（１）〜（８）に示すような選択を行うようにロジックを構築する。
（１）ＳＸ＜ＭＸ−１ならば、図中右側の下位ビット用スイッチファブリック１４からの入力を選択
（２）ＳＸ＞ＭＸならば、図中左側の下位ビット用スイッチファブリック１４からの入力を選択
（３）ＳＸ＝ＭＸかつＳＹ＜ＭＹならば、図中上側の上位ビット用スイッチファブリック１３からの入力を選択
（４）ＳＸ＝ＭＸかつＳＹ＞ＭＹならば、図中下側の上位ビット用スイッチファブリック１３からの入力を選択
（５）ＳＸ＝ＭＸかつＳＹ＝ＭＹならば、メモリマクロ１１からの入力を選択
（６）ＳＸ＝ＭＸ−１かつＳＹ＜ＭＹならば、図中上側の上位ビット用スイッチファブリック１３からの入力を選択
（７）ＳＸ＝ＭＸ−１かつＳＹ＞ＭＹならば、図中下側の上位ビット用スイッチファブリック１３からの入力を選択
（８）ＳＸ＝ＭＸ−１かつＳＹ＝ＭＹならば、図中右側の下位ビット用スイッチファブリック１４からの入力を選択
以上が、４つの方向から入力された読み出しデータ信号のうち、出力する１つの読み出しデータ信号を選択するロジックの一例である。これに限らず、マトリックス内の上下方向のデータ転送を行う列配線が所定間隔おきに配置されたマトリックス内において、データ信号をマトリックス内で転送するロジックであれば、本実施形態において用いることができる。
図６は、図４に示した上位ビット用スイッチファブリック１３における下位ビット用スイッチ部１３ｂの構成を示すブロック図である。下位ビット用スイッチ部１３ｂでは、上述したように上位ビット用スイッチファブリック１３へ入力されたメモリマクロ１１の入出力データ信号のうち下位ビットが入力される。
図４に示した下位ビット用スイッチ部１３ｂは図６に示すように、セレクタ１３ｂ−１と、セレクタ１３ｂ−１と接続された選択論理回路１３ｂ−２とを備えている。なお、セレクタ１３ｂ−１は、信号の入出力方向毎に設けられており、それぞれのセレクタ１３ｂ−１に選択論理回路１３ｂ−２が接続されている。
図６に示すように下位ビット用スイッチ部１３ｂでは、全部で３つの方向の入力及び出力がある。これは、図４に示したように下位ビット用スイッチ部１３ｂは、メモリマクロ１１との接続以外に、図中左右の方向で隣接する下位ビット用スイッチファブリック１４と行配線１７で接続されているためである。そのため、下位ビット用スイッチ部１３ｂは、信号の入出力方向の数と同じ３つのセレクタ１３ｂ−１及び選択論理回路１３ｂ−２を備えている。
セレクタ１３ｂ−１は、自身が信号を出力する方向以外の２つの方向から入力された信号のうち、選択論理回路１３ｂ−２によって選択された１つの信号を出力する。
選択論理回路１３ｂ−２は、２つの方向からセレクタ１３ｂ−１へ入力された信号のうち出力する１つの信号を一定のロジックによって決定する。
ここで、任意のメモリマクロ１１から出力された読み出しデータ信号の下位ビットが２つの方向から下位ビット用スイッチ部１３ｂに入力された場合、出力する１つの読み出しデータ信号を選択論理回路１３ｂ−２が決定するロジックの一例を説明する。
なお、上位ビット用スイッチ部１３ａの選択論理回路１３ａ−１が出力する１つの信号を決定する場合について説明したのと同様に、選択論理回路１３ｂ−２が属している上位ビット用スイッチファブリック１３の図１Ｂ中の左右方向の番地をＳＸと表し、図１Ｂ中の上下方向の番地をＳＹと表すこととする。また、読み出しデータ信号を出力するメモリマクロ１１の図１Ｂ中の左右方向の番地をＭＸと表し、図１Ｂ中の上下方向の番地をＭＹと表すこととする。
選択論理回路１３ｂ−２は、自身が属している上位ビット用スイッチファブリック１３の番地を表すＳＸ、ＳＹと、読み出しデータ信号を出力するメモリマクロ１１の番地を表すＭＸ、ＭＹとを比較することにより、２つの方向から入力された読み出しデータ信号のうち出力する１つの読み出しデータ信号を選択する。
具体的には、２つの方向から読み出しデータ信号が入力されると、以下の（１）〜（６）に示すような選択を行うように選択論理回路１３ｂ−２内にロジックを構築する。
（１）ＳＸ＜ＭＸ−１ならば、図中右側の下位ビット用スイッチファブリック１４からの入力を選択
（２）ＳＸ＞ＭＸならば、図中左側の下位ビット用スイッチファブリック１４からの入力を選択
（３）ＳＸ＝ＭＸかつＳＹ＜ＭＹならば、図中左側の下位ビット用スイッチファブリック１４からの入力を選択
（４）ＳＸ＝ＭＸかつＳＹ＞ＭＹならば、図中左側の下位ビット用スイッチファブリック１４からの入力を選択
（５）ＳＸ＝ＭＹかつＳＹ＝ＭＹならば、メモリマクロ１１からの入力を選択
（６）ＳＸ＝ＭＸ−１ならば、図中右側の下位ビット用スイッチファブリック１４からの入力を選択
以上が、２つの方向から入力された読み出しデータ信号のうち、出力する１つの読み出しデータ信号を選択するロジックの一例である。
上述したように、上位ビット用スイッチファブリック１３は、図１Ｂにおいて図中左右方向には、メモリマクロ１１の入出力データ信号のうち上位ビット用と下位ビット用との両方の転送を行うが、図中上下方向には、メモリマクロ１１の入出力データ信号のうち上位ビットだけの転送を行う。
図７は、図１Ｂに示した下位ビット用スイッチファブリック１４の構成を示すブロック図である。図７に示すように下位ビット用スイッチファブリック１４は、第２の上位ビット用スイッチ部である上位ビット用スイッチ部１４ａと、第２の下位ビット用スイッチ部である下位ビット用スイッチ部１４ｂとを備えている。
下位ビット用スイッチファブリック１４では、メモリマクロ１１の入出力データ信号が入力されると、入力されたメモリマクロ１１の入出力データ信号のうち上位のビットが上位ビット用スイッチ部１４ａへ入力され、下位のビットが下位ビット用スイッチ部１４ｂへ入力される。
例えば、下位ビット用スイッチファブリック１４では、図７に示すようにメモリマクロ１１からの１６ビットの読み出しデータ信号が入力されると、入力された読み出しデータ信号の上位の８ビットが上位ビット用スイッチ部１４ａに入力され、下位の８ビットが下位ビット用スイッチ部１４ｂに入力される。また、図７に示すように、上位ビット用スイッチ部１４ａから出力された８ビットの信号と、下位ビット用スイッチ部１４ｂから出力された８ビットの信号とが合流し、書き込みデータ信号としてメモリマクロ１１へ出力される。
上位ビット用スイッチ部１４ａは、下位ビット用スイッチファブリック１４へ入力されたメモリマクロ１１の入出力データ信号の上位ビットの出力先を選択論理回路によって制御する。
下位ビット用スイッチ部１４ｂは、下位ビット用スイッチファブリック１４へ入力されたメモリマクロ１１の入出力データ信号の下位ビットの出力先を選択論理回路によって制御する。なお、上位ビットまたは下位ビットの出力先を制御する選択論理回路については後述する。
図８は、図７に示した下位ビット用スイッチファブリック１４における下位ビット用スイッチ部１４ｂの構成を示すブロック図である。下位ビット用スイッチ部１４ｂには、上述したように下位ビット用スイッチファブリック１４へ入力されたメモリマクロ１１の入出力データ信号のうち下位ビットが入力される。
図７に示した下位ビット用スイッチ部１４ｂは図８に示すように、セレクタ１４ｂ−１と、セレクタ１４ｂ−１と接続された選択論理回路１４ｂ−２とを備えている。なお、セレクタ１４ｂ−１は、信号の入出力方向毎に設けられており、それぞれのセレクタ１４ｂ−１に選択論理回路１４ｂ−２が接続されている。
図８に示すように下位ビット用スイッチ部１４ｂでは、全部で５つの方向の入力及び出力がある。図７に示すように、下位ビット用スイッチ部１４ｂは、メモリマクロ１１との接続以外に、図中上下方向では、隣接する下位ビット用スイッチファブリック１４と下位ビット用列配線１６で接続されている。さらに下位ビット用スイッチ部１４ｂは、図中左右方向では、隣接する上位ビット用スイッチファブリック１３と行配線１７で接続されている。そのため、下位ビット用スイッチ部１４ｂは、信号の入出力方向の数と同じ５つのセレクタ１４ｂ−１及び選択論理回路１４ｂ−２を備えている。
セレクタ１４ｂ−１は、自身が信号を出力する方向以外の４つの方向から入力された信号のうち、選択論理回路１４ｂ−２によって選択された１つの信号を出力する。
選択論理回路１４ｂ−２は、４つの方向からセレクタ１４ｂ−１へ入力された信号のうち出力する１つの信号を一定のロジックによって決定する。
ここで、任意のメモリマクロ１１から出力された読み出しデータ信号の下位ビットが４つの方向から下位ビット用スイッチ部１４ｂへ入力された場合、出力する１つの読み出しデータ信号を選択論理回路１４ｂ−２が決定するロジックの一例を説明する。
選択論理回路１４ｂ−２は、自身が属している下位ビット用スイッチファブリック１４のチップ上での番地を記憶している。ここでは、下位ビット用スイッチファブリック１４の図１Ｂ中の左右方向の番地をＳＸと表し、図中上下方向の番地をＳＹと表すこととする。
また、選択論理回路１４ｂ−２は、読み出しデータ信号を出力するメモリマクロ１１のチップ上での番地も認識している。これは、下位ビット用スイッチファブリック１４には、読み出しデータ信号の出力を指示する際にロジックデバイス２０から出力されたアドレス信号が入力されており、そのアドレス信号にはデータの読み出しを行わせるメモリマクロ１１のチップ上での番地を示すマクロアドレスが含まれているからである。
ここでは、読み出しデータ信号を出力するメモリマクロ１１の図１Ｂ中の左右方向の番地をＭＸと表し、図１Ｂ中の上下方向の番地をＭＹと表すこととする。なお、自身が属している下位ビット用スイッチファブリック１４が読み出しデータ信号を出力するメモリマクロ１１と直接接続されている場合、ＭＸ＝ＳＸかつＭＹ＝ＳＹとなる。ここで、Ｘは図１Ｂ中の左右方向を、Ｙは図１Ｂ中の上下方向をそれぞれ表す添え字である。また、図１Ｂ中の番地であるＭＸ、ＳＸ、ＭＹ、ＳＹはそれぞれ整数である。
選択論理回路１４ｂ−２は、自身が属している下位ビット用スイッチファブリック１４の番地を表すＳＸ、ＳＹと、読み出しデータ信号を出力するメモリマクロ１１の番地を表すＭＸ、ＭＹとを比較する。その比較結果により、４つの方向から入力された読み出しデータ信号のうち出力する１つの読み出しデータ信号を選択する。
実際には、４つの方向から読み出しデータ信号が入力されると、以下の（１）〜（８）に示すような選択を行うように選択論理回路１４ｂ−２内にロジックを構築する。
（１）ＳＸ＜ＭＸ−１ならば、図中右側の上位ビット用スイッチファブリック１３からの入力を選択
（２）ＳＸ＞ＭＸならば、図中左側の上位ビット用スイッチファブリック１３からの入力を選択
（３）ＳＸ＝ＭＸかつＳＹ＜ＭＹならば、図中上側の下位ビット用スイッチファブリック１４からの入力を選択
（４）ＳＸ＝ＭＸかつＳＹ＞ＭＹならば、図中下側の下位ビット用スイッチファブリック１４からの入力を選択
（５）ＳＸ＝ＭＸかつＳＹ＝ＭＹならば、メモリマクロ１１からの入力を選択
（６）ＳＸ＝ＭＸ−１かつＳＹ＜ＭＹならば、図中上側の下位ビット用スイッチファブリック１４からの入力を選択
（７）ＳＸ＝ＭＸ−１かつＳＹ＞ＭＹならば、図中下側の下位ビット用スイッチファブリック１４からの入力を選択
（８）ＳＸ＝ＭＸ−１かつＳＹ＝ＭＹならば、図中右側の上位ビット用スイッチファブリック１３からの入力を選択
以上が、４つの方向から入力された読み出しデータ信号のうち、出力する１つの読み出しデータ信号を選択するロジックの一例である。
図９は、図７に示した下位ビット用スイッチファブリック１４における上位ビット用スイッチ部１４ａの構成を示すブロック図である。上位ビット用スイッチ部１４ａでは、上述したように下位ビット用スイッチファブリック１４へ入力されたメモリマクロ１１の入出力データ信号のうち上位ビットが入力される。
図７に示した上位ビット用スイッチ部１４ａは図９に示すように、セレクタ１４ａ−１と、セレクタ１４ａ−１と接続された選択論理回路１４ａ−２とを備えている。なお、セレクタ１４ａ−１は、信号の入出力方向毎に設けられており、それぞれのセレクタ１４ａ−１に選択論理回路１４ａ−２が接続されている。
図９に示すように上位ビット用スイッチ部１４ａでは、全部で３つの方向の入力及び出力がある。これは、図７に示したように上位ビット用スイッチ部１４ａは、メモリマクロ１１との接続以外に、図中左右の方向で隣接する上位ビット用スイッチファブリック１３と行配線１７で接続されているためである。そのため、上位ビット用スイッチ部１４ａは、信号の入出力方向の数と同じ３つのセレクタ１４ａ−１及び選択論理回路１４ａ−２を備えている。
セレクタ１４ａ−１は、自身が信号を出力する方向以外の２つの方向から入力された信号のうち、選択論理回路１４ａ−２によって選択された１つの信号を出力する。
選択論理回路１４ａ−２は、２つの方向からセレクタ１４ａ−１へ入力された信号のうち出力する１つの信号を一定のロジックによって決定する。
ここで、任意のメモリマクロ１１から出力された読み出しデータ信号の上位ビットが２つの方向から上位ビット用スイッチ部１４ａに入力された場合、出力する１つの読み出しデータ信号を選択論理回路１４ａ−２が決定するロジックの一例を説明する。説明に際して、下位ビット用スイッチ部１４ｂの選択論理回路１４ｂ−１が出力する１つの信号を決定する場合について説明したのと同様の表記を用いる。すなわち、選択論理回路１４ａ−２が属している下位ビット用スイッチファブリック１４の図１Ｂ中の左右方向の番地をＳＸと表し、図１８中の上下方向の番地をＳＹと表すこととする。
また、読み出しデータ信号を出力するメモリマクロ１１の図１Ｂ中の左右方向の番地をＭＸと表し、図１Ｂ中の上下方向の番地をＭＹと表すこととする。
選択論理回路１４ａ−２は、自身が属している下位ビット用スイッチファブリック１４の番地を表すＳＸ、ＳＹと、読み出しデータ信号を出力するメモリマクロ１１の番地を表すＭＸ、ＭＹとを比較する。この比較結果より、２つの方向から入力された読み出しデータ信号のうち出力する１つの読み出しデータ信号を選択する。
具体的には、２つの方向から読み出しデータ信号が入力されると、以下の（１）〜（６）に示すような選択を行うように選択論理回路１４ａ−２内にロジックを構築する。
（１）ＳＸ＜ＭＸ−１ならば、図中右側の上位ビット用スイッチファブリック１３からの入力を選択
（２）ＳＸ＞ＭＸならば、図中左側の上位ビット用スイッチファブリック１３からの入力を選択
（３）ＳＸ＝ＭＸかつＳＹ＜ＭＹならば、図中左側の上位ビット用スイッチファブリック１３からの入力を選択
（４）ＳＸ＝ＭＸかつＳＹ＞ＭＹならば、図中左側の上位ビット用スイッチファブリック１３からの入力を選択
（５）ＳＸ＝ＭＹかつＳＹ＝ＭＹならば、メモリマクロ１１からの入力を選択
（６）ＳＸ＝ＭＸ−１ならば、図中右側の上位ビット用スイッチファブリック１３からの入力を選択
以上が、２つの方向から入力された読み出しデータ信号のうち、出力する１つの読み出しデータ信号を選択するロジックの一例である。
上述したように、下位ビット用スイッチファブリック１４は、図１Ｂにおいて左右方向には、メモリマクロ１１の入出力データ信号のうち上位ビット用と下位ビット用との両方の転送を行う。一方、図１Ｂ中の上下方向には下位ビット用スイッチファブリック１４は、メモリマクロ１１の入出力データ信号のうち下位ビットだけの転送を行う。
なお、上位ビット用スイッチファブリック１３及び下位ビット用スイッチファブリック１４において、アドレス信号の転送方向を制御する回路と、コマンド信号の出力方向を制御する回路も上述のスイッチ部と同様の動作をする。すなわち、アドレス信号の転送方向を制御する回路と、コマンド信号の出力方向を制御する回路は、図１Ｂの上下方向では信号の上位ビットまたは下位ビットのみ転送する。ここで、アドレス信号とコマンド信号とは、ロジックデバイス２０から半導体プログラマブルデバイス１０のメモリマクロ１１へ出力されればよく、メモリマクロ１１からの出力は必要ない。従って、上位ビット用スイッチファブリック１３及び下位ビット用スイッチファブリック１４において、アドレス信号の転送方向を制御する回路と、コマンド信号の転送方向を制御する回路は、メモリマクロ１１への信号の出力だけを行えればよい。
また、上述した本実施形態では、メモリマクロ１１を１ｋワード１６ビットのＳＲＡＭメモリマクロとしたが、メモリマクロ１１は任意のワード、ビット構成のものでも良い。
また、上述した本実施形態では、メモリマクロ１１内のメモリをＳＲＡＭとしたが、これをＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）としても良い。ＤＲＡＭは回路の面積が小さいために、より大容量のメモリを搭載できる。また、フラッシュメモリやＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）といった不揮発メモリとしても良い。不揮発メモリを使うことで、一時的に使われないメモリ領域の電源を止めて、省電力モードとすることが可能である。
また、上述した本実施形態では、メモリマクロ１１を４×４の２次元アレイとした場合について説明したが、この２次元アレイのサイズは、４×４の２次元アレイに限定されない。
また、上述した本実施の形態では、図１Ｂにおいて図中の上下方向の列配線を上位ビット用列配線１５または下位ビット用列配線１６としたが、これを図中の左右方向の行配線１７を上位ビット用の配線と下位ビット用の配線とに分けても同様の効果が得られる。
この場合、行配線１７が上位ビット用行配線、または下位ビット用行配線のいずれかとなる。そして、上位ビット用行配線上のスイッチファブリックは、第３の上位ビット用スイッチ部と、第３の下位ビット用スイッチ部とを備える。
第３の上位ビット用スイッチ部は、列配線上で隣接するスイッチファブリック、上位ビット用行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する。
第３の下位ビット用スイッチ部は、列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する。
また、下位ビット用行配線上のスイッチファブリックは、第４の上位ビット用スイッチ部と、第４の下位ビット用スイッチ部とを備える。
第４の下位ビット用スイッチ部は、列配線上で隣接するスイッチファブリック、下位ビット用行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する。
第４の上位ビット用スイッチ部は、列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する。
また、上述した本実施形態では、入出力データ信号を上位ビットと下位ビットとの半分に分割するものとして説明したが、信号の分割の比率は半分ずつに限定されるものではなく、他の比率で分割しても良い。
また、上述した本実施形態では、上位ビット用スイッチファブリック１３及び下位ビット用スイッチファブリック１４のようにスイッチファブリックを上位ビット用または下位ビット用に固定した場合について説明したが、スイッチファブリックを上位ビット用または下位ビット用に固定しないことも可能である。
図１０は、本実施形態の別のスイッチファブリックの一例である、上位ビット用または下位ビット用に固定されないスイッチファブリックの構成を示すブロック図である。
図１０に示すスイッチファブリック３３は、行配線からの信号のみ入力される列配線無し用スイッチ部３３ａと、行配線及び列配線からの信号が入力される列配線有り用スイッチ部３３ｂと、セレクタ３３ｃとを備えている。
図１０に示すスイッチファブリック３３は、セレクタ３３ｃを備えることにより、スイッチファブリック３３内において上位ビット用の配線と下位ビット用の配線とを入れ替えることができる。そのため、上位ビットと下位ビットとを切り替えながら図中の上下方向に転送することが可能となる。つまり、スイッチファブリック３３は、上位ビット用のスイッチファブリックとしても、下位ビット用のスイッチファブリックとしても動作することができる。
このように本実施形態においては、メモリマクロ１１の入出力データ信号のうち上位ビットを上位ビット用列配線１５で転送し、下位ビットを下位ビット用列配線１６で転送している。これにより、それぞれの配線で転送されるビット数が削減され、配線の面積を小さくすることができる。これにより、チップ上に必要十分な配線数を確保することができるため、別途、配線層を追加する必要がなく、配線層の追加による製造コストの増加を回避することができる。
また、上位ビット用スイッチファブリック１３及び下位ビット用スイッチファブリック１４において上位ビットまたは下位ビットを列方向に転送しないため、列方向に信号を出力するためのセレクタの数を削減することができる。これにより、上位ビット用スイッチファブリック１３及び下位ビット用スイッチファブリック１４の面積を小さくすることができる。
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。第１の実施形態では、本発明の半導体プログラマブルデバイスとロジックデバイスとが同一のチップ上に集積されている半導体集積回路装置について説明した。本実施形態では、本発明の半導体プログラマブルデバイスとロジックデバイスとをそれぞれ別のチップ上に集積し、それらのチップを積層することにより半導体集積回路装置を構成した。
図１１は、本発明の半導体プログラマブルデバイスを備えた第２の実施形態に係る半導体集積回路装置の構成を示すブロック図である。本実施形態の半導体集積回路装置では、半導体プログラマブルデバイス５０とロジックデバイス６０とが積層されている。
第１の実施形態で説明した半導体集積回路装置は、図１Ｂに示すように、半導体プログラマブルデバイス１０とロジックデバイス２０とが同一のチップ上に集積されていたため、メモリ入出力部１２がメモリマクロ１１の周囲に配列されていた。
それに対して本実施形態では、図１１に示すように、半導体プログラマブルデバイス５０とロジックデバイス６０とを別のチップ上に集積し、それらのチップを積層することとしているので、半導体プログラマブルデバイス５０の内部にメモリ入出力部５２をメモリマクロ５１毎に配置することができる。
この場合、半導体プログラマブルデバイス５０とロジックデバイス６０との間の入出力データ信号の転送は、メモリマクロ５１毎に設けられたメモリ入出力部５２とロジック入出力部６２とを介して行われる。つまり、メモリ入出力部５２が複数のメモリマクロ５１の間で共有されることはないため、第１の実施形態で説明した半導体集積回路装置に比べ、半導体プログラマブルデバイス５０とロジックデバイス６０との間の入出力データ信号の転送量を大きくすることが可能となる。
［第３の実施形態］
次に、本発明の第３の実施形態について説明する。第１の実施形態及び第２の実施形態では、本発明の半導体プログラマブルデバイスがメモリマクロで構成される場合について説明した。第３の実施形態では、本発明の半導体プログラマブルデバイスがプロセッサで構成される場合について説明する。つまり、本実施形態においてはプロセッサが回路ブロックとなる。
図１２は、本発明の半導体プログラマブルデバイス８０を備えた第３の実施形態に係る半導体集積回路装置の構成を示すブロック図である。図１２に示す半導体集積回路装置は、図１Ｂに示した半導体集積回路装置と比べると、図１Ｂに示した半導体プログラマブルデバイス１０のメモリマクロ１１がプロセッサ８１となっている点が異なっている。そして、半導体プログラマブルデバイス８０の周囲にメモリマクロ９１からなるメモリデバイス９０が配置され、プロセッサ入出力部８２を介して互いに接続されている。なお、プロセッサ８１は例えば、１６ビットのＲＩＳＣ（Ｒｅｄｕｃｅｄ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｓｅｔ  Ｃｏｍｐｕｔｅｒ）プロセッサである。
本実施形態のように回路ブロックがメモリからプロセッサに代わっても、第１の実施形態で説明したのと同様に、プロセッサ８１の入出力データ信号のうち上位ビットを上位ビット用列配線８５で転送し、下位ビットを下位ビット用列配線８６で転送している。これにより、それぞれの配線で転送されるビット数が削減され、配線の面積を小さくすることができる。これにより、チップ上に必要十分な配線数を確保することができるため、別途、配線層を追加する必要がなく、配線層の追加による製造コストの増加を回避することができる。
また、上位ビット用スイッチファブリック８３及び下位ビット用スイッチファブリック８４において上位ビットまたは下位ビットを列方向に転送しないため、列方向に信号を出力するためのセレクタの数を削減することができる。これにより、上位ビット用スイッチファブリック８３及び下位ビット用スイッチファブリック８４の面積を小さくすることができる。
［第４の実施形態］
本発明の第４の実施形態に係る半導体プログラマブルデバイスは、チップ上に敷設された複数の行配線と複数の列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスであって、列配線は、回路ブロックで入出力されるデータ信号を上位ビットと下位ビットとに分割したうちの上位ビットを転送するための上位ビット用列配線、または下位ビットを転送するための下位ビット用列配線のいずれかとなり、上位ビット用列配線上のスイッチファブリックは、行配線上で隣接するスイッチファブリック、上位ビット用列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する第１の上位ビット用スイッチ部と、行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する第１の下位ビット用スイッチ部とを有し、下位ビット用列配線上のスイッチファブリックは、行配線上で隣接するスイッチファブリック、下位ビット用列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する第２の下位ビット用スイッチ部と、行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する第２の上位ビット用スイッチ部とを有する。
［第５の実施形態］
本発明の第５の実施形態に係る半導体プログラマブルデバイスにおける信号転送方法は、チップ上に敷設された複数の行配線と複数の列配線との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、列配線は、回路ブロックで入出力されるデータ信号を上位ビットと下位ビットとに分割したうちの上位ビットを転送するための上位ビット用列配線、または下位ビットを転送するための下位ビット用列配線のいずれかとなり、上位ビット用列配線上のスイッチファブリックが、行配線上で隣接するスイッチファブリック、上位ビット用列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する処理と、上位ビット用列配線上のスイッチファブリックが、行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する処理と、下位ビット用列配線上のスイッチファブリックが、行配線上で隣接するスイッチファブリック、下位ビット用列配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ下位ビットを転送する処理と、下位ビット用列配線上のスイッチファブリックが、行配線上で隣接するスイッチファブリック、及び直接接続された回路ブロックへ上位ビットを転送する処理とを有する。
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。
この出願は、２００８年９月１６日に出願された日本出願特願２００８−２３６７８２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０００９】
本発明は、プロセッサやメモリからなる回路ブロックを複数集積した半導体プログラマブルデバイスに適用することができる。
【図１Ａ】
2010032866.tif 000003
【図１Ｂ】
2010032866.tif 000004
【図２】
2010032866.tif 000005
【図３】
2010032866.tif 000006
【図４】
2010032866.tif 000007
【図５】
2010032866.tif 000008
【図６】
2010032866.tif 000009
【図７】
2010032866.tif 000010
【図８】
2010032866.tif 000011
【図９】
2010032866.tif 000012
【図１０】
2010032866.tif 000013
【図１１】
2010032866.tif 000014
【図１２】
2010032866.tif 000015
【図１３】
2010032866.tif 000016
【図１４】
2010032866.tif 000017
【国際調査報告】
2010032866.tif 000018
2010032866.tif 000019