JPWO2010032865A1 - 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法 - Google Patents

半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法 Download PDF

Info

Publication number
JPWO2010032865A1
JPWO2010032865A1 JP2010529832A JP2010529832A JPWO2010032865A1 JP WO2010032865 A1 JPWO2010032865 A1 JP WO2010032865A1 JP 2010529832 A JP2010529832 A JP 2010529832A JP 2010529832 A JP2010529832 A JP 2010529832A JP WO2010032865 A1 JPWO2010032865 A1 JP WO2010032865A1
Authority
JP
Japan
Prior art keywords
signal
programmable device
data signal
circuit
memory
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.)
Granted
Application number
JP2010529832A
Other languages
English (en)
Other versions
JP5365638B2 (ja
Inventor
英彰 斎藤
英彰 斎藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2010529832A priority Critical patent/JP5365638B2/ja
Publication of JPWO2010032865A1 publication Critical patent/JPWO2010032865A1/ja
Application granted granted Critical
Publication of JP5365638B2 publication Critical patent/JP5365638B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17736Structural details of routing resources
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/1778Structural details for adapting physical parameters
    • H03K19/17784Structural details for adapting physical parameters for supply voltage

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Logic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

チップ面積が小さく、消費電力が少ない半導体プログラマブルデバイスを得るため、本発明の半導体プログラマブルデバイスは、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有し、回路ブロックは、他の回路ブロックがデータ信号を出力している場合は擬似データ信号を出力し、スイッチファブリックは、データ信号と擬似データ信号に演算を施し、データ信号を出力する。

Description

本発明は、回路の構成を変更できる半導体プログラマブルデバイス及び信号転送方法に関する。
近年、半導体集積回路装置の低コスト化や短TAT(Turn Around Time)化のため、半導体集積回路装置の製作後に回路の構成を変更できる半導体プログラマブルデバイスの開発が盛んになってきている。なお、TATとは、受注から納品が完了するまでの時間のことをいう。
半導体プログラマブルデバイスには、ゲートレベルで回路を組み合わせて再構成するFPGA(Field Programmable Gate Array)から、より大きい回路単位である回路ブロック(例えば、プロセッサやメモリ)を組み合わせて再構成するものまで様々なものがある。
回路ブロックを組み合わせて再構成する半導体プログラマブルデバイスとしては、チップ上で2次元アレイ状に回路ブロックを配列し、メッシュ状の配線によって回路ブロック間を接続する技術が例えば、非特許文献1に開示されている。
図14は、2次元アレイ状に回路ブロックを配列してメッシュ状の配線によって回路ブロック間を接続した関連する半導体プログラマブルデバイスの一例を示すブロック図である。
図14に示す関連する半導体プログラマブルデバイスは、回路ブロック211が2次元アレイ状に配列されている。なお、回路ブロック211としては、プロセッサやメモリ、カスタムハードウエア回路等がある。
また、図14に示すように2次元アレイ状に配列された回路ブロック211のそれぞれは、スイッチファブリック213と接続されている。なお、スイッチファブリック213は、自身と直接接続された回路ブロック211との間で信号の入出力を行う。また、自身に隣接するスイッチファブリック213から出力された信号を転送する。
また、図14に示すように回路ブロック211から出力された信号を他の回路ブロック211や半導体プログラマブルデバイスの外部へ転送するために、スイッチファブリック213同士はメッシュ状の列配線214及び行配線215によって接続されている。
つまり、スイッチファブリック213は、図中の上下方向で隣接する他のスイッチファブリック213と列配線214で接続され、図中の左右方向で隣接する他のスイッチファブリック213と行配線215で接続されている。また、回路ブロック211とも接続されており、スイッチファブリック213には全部で5つの方向の入力及び出力がある。
図15は、図14に示した関連する半導体プログラマブルデバイスのスイッチファブリック213の構成を示すブロック図である。
図14に示したスイッチファブリック213は図15に示すように、5つのセレクタ213−1と、それぞれのセレクタ213−1に接続された選択論理回路213−2とを備えている。これは、上述したようにスイッチファブリック213には5つの方向に入力及び出力があるからである。
セレクタ213−1は、自身が出力する方向以外の4つの方向から入力された信号のうちのいずれか1つを選択して出力する。どの方向からの信号を選択するかは、選択論理回路213−2で決定される。なお、選択論理回路213−2は例えば、データを転送する方向をアドレス化したものをデコードするためのデコード回路からなる。
「プロシーディングス オブ アイ・イー・イー・イー コンピュータ ソサイエティ アニュアル シンポジウム オン VLSI(Proceedings of the IEEE Computer Society Annual Symposium on VLSI)」、2002年、p.105−112
非特許文献1に開示されたような半導体プログラマブルデバイスを利用すれば、回路ブロック間の接続を切り替えることにより、半導体集積回路装置の製作後でも回路の構成を変更することができ、半導体集積回路装置の低コスト化や短TAT化を実現することができる。
非特許文献1に開示されたような半導体プログラマブルデバイスは、回路の構成の変更ができない通常の半導体集積回路装置と比べ、回路の構成を変更するために回路ブロック間の接続を切り替えるスイッチファブリックとを有している点が異なる。非特許文献1に開示されたような半導体プログラマブルデバイスでは、スイッチファブリックがチップ上で大きな面積を占めている。
その結果、回路ブロックが占める面積によっては、必要十分な数のスイッチファブリックをチップ上に収めることができなくなるという問題点がある。
また、入力信号の転送先を切り替える動作に必要なスイッチファブリックの電力消費量が大きいという問題点がある。
本発明の目的は、上述した課題である、チップ面積が小さく、消費電力が少ない半導体プログラマブルデバイスを得るのが困難であるという問題を解決する半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法を提供することにある。
本発明の半導体プログラマブルデバイスは、チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有し、回路ブロックは、他の回路ブロックがデータ信号を出力している場合は擬似データ信号を出力し、スイッチファブリックは、データ信号と擬似データ信号に演算を施し、データ信号を出力する。
本発明の半導体プログラマブルデバイスにおける信号転送方法は、
チップ上に配置された複数の行配線と複数の列配線と、行配線と列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、回路ブロックは、他の回路ブロックがデータ信号を出力している場合は擬似データ信号を出力し、スイッチファブリックは、データ信号と擬似データ信号に演算を施し、データ信号を出力する。
本発明によれば、チップ面積が小さく、消費電力が少ない半導体プログラマブルデバイスを得ることができる。
図1Aは本発明の第1の実施形態に係る半導体プログラマブルデバイスの構成を示すブロック図である。
図1Bは本発明の第1の実施形態に係る半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。
図2は本発明の第1の実施形態に係る半導体プログラマブルデバイスのメモリマクロの構成を示すブロック図である。
図3は本発明の第1の実施形態に係る半導体プログラマブルデバイスのメモリ入出力部の構成を示すブロック図である。
図4は本発明の第1の実施形態に係るスイッチファブリックの構成を示すブロック図である。
図5は本発明の第1の実施形態に係る別の半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。
図6は本発明の第1の実施形態に係る別の半導体プログラマブルデバイスのスイッチファブリックの構成を示すブロック図である。
図7は本発明の第2の実施形態に係る半導体集積回路装置の構成を示すブロック図である。
図8は本発明の第3の実施形態に係る半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。
図9は本発明の第4の実施形態に係るスイッチファブリックの構成を示すブロック図である。
図10は本発明の第4の実施形態に係る半導体プログラマブルデバイスのメモリマクロの構成を示すブロック図である。
図11は本発明の第5の実施形態に係る半導体プログラマブルデバイスの構成を示すブロック図である。
図12は本発明の第5の実施形態に係るNAND回路を備えたスイッチファブリックの構成を示すブロック図である。
図13は本発明の第5の実施形態に係るNOR回路を備えたスイッチファブリックの構成を示すブロック図である。
図14は関連する半導体プログラマブルデバイスの一例を示すブロック図である。
図15は関連する半導体プログラマブルデバイスのスイッチファブリックの構成を示すブロック図である。
1、2 メモリ領域
10、50、80、300 半導体プログラマブルデバイス
11、51、91、111、311、311A、311B メモリマクロ
11a、111a 制御部
11b、111b アドレスデコーダ
11c、111c ワード線ドライバ
11d、111d センスアンプ
11e、111e ライトバッファ
11f、111f リードバッファ
11g、111g メモリセルアレイ
11h、111h インバータ
11i、113a OR回路
12、52、82、312 メモリ入出力部
13、33、53、83、113、213、313 スイッチファブリック
13a、111i AND回路
14、54、84、214 列配線
15、55、85、215 行配線
20、60、90 ロジックデバイス
21、61、91 ロジックマクロ
34 出力スイッチ
62 ロジック入出力部
81 プロセッサ
90 メモリデバイス
211 回路ブロック
213−1 セレクタ
213−2 選択論理回路
313A NAND回路を備えたスイッチファブリック
313B NOR回路を備えたスイッチファブリック
320 NAND回路
330 NOR回路
以下に、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
図1Aは、本発明の第1の実施形態に係る半導体プログラマブルデバイスの構成を示すブロック図である。半導体プログラマブルデバイス10は、チップ上に配置された複数の列配線14と複数の行配線15と、列配線14と行配線15との交点に設けられ、入力されたデータ信号を転送する複数のスイッチファブリック13を有する。各スイッチファブリック13にはそれぞれ回路ブロックが直接接続されており、各回路ブロックはスイッチファブリックを介してデータ信号の入出力を行う。
回路ブロックは、他の回路ブロックがデータ信号を出力している場合は擬似データ信号を出力する。本実施形態では、回路ブロックとしてメモリマクロ11を用いた。擬似データ信号としては、例えば、全てのビットがハイレベルのビットであるハイレベル信号、または、全てのビットがローレベルのビットであるローレベル信号などを用いることができる。
スイッチファブリック13は、データ信号と擬似データ信号を入力し、データ信号を出力する。そして本実施形態によるスイッチファブリック13は、複数のAND回路、OR回路、またはこれらの論理回路の組み合わせによって構成されている。
したがって、本実施形態によれば、スイッチファブリック13の回路規模を小さくでき、さらに、データ読み出し動作ごとに入力切り替えのスイッチング動作が不要となる。その結果、スイッチファブリックによって生じる面積オーバーヘッドおよび消費電力のオーバーヘッドを削減することができるので、チップ面積が小さく、消費電力が少ない半導体プログラマブルデバイスを得ることができる。
[第2の実施形態]
図1Bは、本発明の第1の実施形態に係る半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。図1Bに示す半導体集積回路装置は、半導体プログラマブルデバイス10と、ロジックデバイス20とを備えている。
半導体プログラマブルデバイス10は、回路ブロックであるメモリマクロ11と、メモリ入出力部12と、スイッチファブリック13とを備えている。
図1Bに示す半導体プログラマブルデバイス10には、16個のメモリマクロ11が4×4の2次元アレイ状に配列されている。また、メモリマクロ11のそれぞれは、スイッチファブリック13と直接接続されている。
また、図1Bに示す半導体プログラマブルデバイス10には、行方向と列方向とに複数の配線が敷設されている。具体的には、図中の上下方向に列配線14が敷設されており、図中の左右方向に行配線15が敷設されている。
メモリマクロ11は例えば、1kワードのSRAM(Static Random Access Memory)マクロからなり、ロジックデバイス20から出力された書き込みデータ信号をメモリセルに書き込んだり、ロジックデバイス20への読み出しデータ信号を出力したりする。
図2は、図1Bに示した半導体プログラマブルデバイス10のメモリマクロ11の構成を示すブロック図である。図1Bに示したメモリマクロ11は図2に示すように、制御部11aと、メモリセルアレイ11gと、アドレスデコーダ11bと、ワード線ドライバ11cと、センスアンプ11dと、ライトバッファ11eと、リードバッファ11fとを備えている。ここで、アドレスデコーダ11bはメモリセルアレイ11g内のメモリセルの書き込み及び読み出し動作においてメモリセルへのアクセスを制御する。また、ワード線ドライバ11cはメモリセルアレイ11g内のメモリセルのそれぞれと接続されているワード線を制御し、センスアンプ11dは信号の増幅を行う。なお、制御部11aの動作については後述する。
図1Bに示したメモリ入出力部12は、ロジックデバイス20との間の信号の入出力を仲介する。図3は、図1Bに示した半導体プログラマブルデバイス10のメモリ入出力部12の構成を示すブロック図である。
図3に示すようにメモリ入出力部12には、メモリマクロ11からスイッチファブリック13を経由してきた16ビットの読み出しデータ信号が入力され、ロジックデバイス20を構成するロジックマクロ21へ出力される。また、ロジックマクロ21からの16ビットの書き込みデータ信号、14ビットのアドレス信号及び2ビットのコマンド信号が入力され、スイッチファブリック13へ出力される。
ここで、ロジックマクロ21と半導体プログラマブルデバイス10との間の信号の入出力の一例として、ロジックマクロ21から半導体プログラマブルデバイス10へデータ信号の読み出しを指示する場合について図1Bから図3を参照しながら説明する。
データの読み出しを指示するロジックマクロ21は、図3に示すようにメモリ入出力部12へコマンド信号及びアドレス信号を出力する。このコマンド信号及びアドレス信号は、メモリ入出力部12を介して半導体プログラマブルデバイス10(図1B参照)内の全てのメモリマクロ11へ入力される。なお、ここではコマンド信号は、データの読み出し指示を示しているとする。
コマンド信号及びアドレス信号が入力されたメモリマクロ11の制御部11a(図2参照)は、予め記憶している自身のアドレスと、アドレス信号が示すデータの読み出しの対象となるメモリマクロ11のアドレスとを比較する。なお本実施形態では、アドレス信号は、メモリマクロ11を指定するための4ビットのメモリマクロアドレスと、メモリマクロ11内のワードアドレスを指定するための10ビットのワードアドレスとの合計14ビットで構成されていることとした。
アドレス信号のメモリマクロアドレスと、制御部11aが予め記憶している自身のアドレスとが一致した場合、後段にあるすべての回路を活性化する出力信号が、制御部11aから制御部11aに接続された出力側の全ての配線に出される。このとき制御部11aは、メモリセルアレイ11gの中のワードアドレスが示すメモリセルからデータを読み出す。これは、コマンド信号がデータの読み出し指示を示しているからである。そして、制御部11aは読み出したデータを読み出しデータ信号としてリードバッファ11fから出力する。
リードバッファ11fから出力された読み出しデータ信号は、OR回路11iへ入力される。また、制御部11aからの出力信号をインバータ11hによって反転させた信号がOR回路11iへ入力される。アドレスが一致した場合には、この信号はローレベルとなるので、制御部11aによって出力された読み出しデータ信号がOR回路11iからそのまま出力される。メモリマクロ11から出力された読み出しデータ信号は、スイッチファブリック13によって転送され、メモリ入出力部12を介してロジックマクロ21に出力される。なお、OR回路とは、入力された複数の信号の全てがローレベルの信号である場合にのみローレベルの信号を出力し、それ以外の場合にはハイレベルの信号を出力する回路のことをいう。
一方、アドレス信号のメモリマクロアドレスと制御部11aが予め記憶している自身のマクロアドレスとが一致しない場合、制御部11aからの出力信号をインバータ11hによって反転させた信号はハイレベルとなる。そのため、各OR回路11iの出力はいずれもハイレベルになり、メモリマクロ11からは全てのビットがハイレベルである信号が出力される。この全てのビットがハイレベルである信号は、直接接続されたスイッチファブリック13へ入力される。
スイッチファブリック13は、列配線14と行配線15との交点に設けられており、隣接するスイッチファブリック13及び直接接続されたメモリマクロ11から入力された複数の信号に応じて出力する信号を決定する。
図4は、図1Bに示したスイッチファブリック13の構成を示すブロック図である。図4に示すように、スイッチファブリック13はAND回路13aを備えている。AND回路13aは信号の入出力方向毎に設けられている。なお、AND回路とは、入力された複数の信号の全てがハイレベルの信号である場合にのみハイレベルの信号を出力し、それ以外の場合にはローレベルの信号を出力する回路のことである。
図4に示すようにスイッチファブリック13では、全部で5つの方向の入力及び出力がある。これは、図1Bに示したようにスイッチファブリック13は、メモリマクロ11との接続以外に、図1B中の上下方向では、隣接するスイッチファブリック13と列配線14で接続されており、図1B中の左右方向では、隣接するスイッチファブリック13と行配線15で接続されているためである。そのため、スイッチファブリック13は、信号の入出力方向の数と同じ5つのAND回路13aを備えている。
ここで、自身が信号を出力する方向以外の4つの方向からAND回路13aへ信号が入力された場合にAND回路13aが出力する信号について説明する。
まず、メモリ入出力部12を共有する複数のメモリマクロ11は1つのメモリ領域を構成するため、複数のメモリマクロ11が同時に読み出しデータ信号を出力することはない。このことについて、ロジックデバイス20の中の1つのロジックマクロ21が半導体プログラマブルデバイス10内のメモリマクロ11にデータ信号の読み出しを指示する場合について説明する。
この場合図3に示したように、ロジックマクロ21はデータ信号の読み出しを行いたいメモリマクロ11のアドレスを示すアドレス信号と、データの読み出しを示すコマンド信号とを、個々のロジックマクロ21と接続されたメモリ入出力部12を介してスイッチファブリック13へ出力する。ここで、メモリ入出力部12は、スイッチファブリック13および列配線14と行配線15によって、全てのメモリマクロ11と接続されている。つまり、半導体プログラマブルデバイス10内の全てのメモリマクロ11は、メモリ入出力部12を共有しており、1つのメモリ領域を構成していることとなる。
したがって、ロジックマクロ21から出力されたアドレス信号及びコマンド信号は、半導体プログラマブルデバイス10内の全てのメモリマクロ11に入力される。
そして、アドレス信号及びコマンド信号が入力されたメモリマクロ11は、上述したように自身のアドレスとアドレス信号が示すアドレスとを比較し、それらが一致した場合に読み出しデータ信号を出力する。つまり、ロジックマクロ21によってデータ信号の読み出しを指示されたメモリマクロ11以外のメモリマクロ11は、自身のアドレスとアドレス信号が示すアドレスが一致しないので、データ信号の読み出しを行うことはない。したがって、同時に複数のメモリマクロ11が読み出しデータ信号を出力することはない。
また、上述したように、ロジックマクロ21によってデータ信号の読み出しを指示されたメモリマクロ11以外のメモリマクロ11は、図2に示したOR回路11iから、全てのビットがハイレベルのハイレベル信号を出力する。
これにより、読み出しデータ信号を出力するメモリマクロ11から転送されてくる方向以外からスイッチファブリック13へ入力される信号は、全てのビットがハイレベルであるハイレベル信号となる。そのため、スイッチファブリック13からは、AND回路13aによって読み出しデータ信号がそのまま出力されて隣接するスイッチファブリック13へ転送される。
上述したように、図1Bに示した半導体プログラマブルデバイス10内の全てのメモリマクロ11はメモリ入出力部を共有しており、各ロジックマクロ21に対して1つのメモリ領域を構成している。よって、図3に示した書き込みデータ信号、アドレス信号及びコマンド信号についても、ロジックマクロ21から複数のメモリマクロ11へ同時に異なる信号が出力されることはない。従って、ロジックマクロ21から出力される書き込みデータ信号、アドレス信号及びコマンド信号に対しても、同じAND回路13aを用いてスイッチファブリック13を構成することができる。
なお、本実施形態では、図1Bに示した半導体プログラマブルデバイス10内の全てのメモリマクロ11が1つのメモリ領域を構成することとした。そのため、複数の異なるロジックマクロ21が別々のメモリマクロ11に対して同時にデータの読み出しを指示することはなかった。つまり、複数のメモリマクロ11が同時に読み出しデータ信号を出力することはなかった。
複数のロジックマクロ21が別々のメモリマクロ11に対して同時にデータの読み出しを指示し、複数のメモリマクロ11が同時に読み出しデータ信号を出力できるようにするために、半導体プログラマブルデバイス10を複数のメモリ領域に分割した構成とすることができる。
図5は、複数のメモリ領域に分割された半導体プログラマブルデバイスを備えた半導体集積回路装置の構成を示すブロック図である。図5に示すように、図1Bに示した半導体プログラマブルデバイス10内のメモリマクロ11がメモリ領域1とメモリ領域2とに分割されている。この場合、スイッチファブリック33に出力スイッチを備えることによってメモリ領域1とメモリ領域2とを切り離すことができる。
図6は、図5に示したスイッチファブリック33の構成を示すブロック図である。スイッチファブリック33は図6に示すように、AND回路13aの出力側に出力スイッチ34を備えている。これにより、図5に示したメモリ領域1とメモリ領域2とが電気的に分離される。一方、ロジックマクロはメモリ入出力部12を介してメモリ領域1またはメモリ領域2に接続される。
したがって、メモリ領域1に接続されたロジックマクロとメモリ領域2に接続されたロジックマクロは、それぞれ独立して読み出し動作を行うことができる。これにより、複数のロジックマクロが同時に読み出し動作を行う場合であっても、メモリ領域1内のメモリマクロと、メモリ領域2内のメモリマクロは読み出しデータ信号を同時に出力し、それぞれのメモリ領域内で読み出しデータ信号を転送することができる。
なお、本実施形態では、メモリマクロ11は1kワード16ビットのSRAMメモリマクロとしたが、メモリマクロ11は、任意のワード、ビット構成のものでも良い。
また、本実施形態では、メモリマクロ11内のメモリをSRAMとしたが、これをDRAM(Dynamic Random Access Memory)としても良い。DRAMは回路の面積が小さいために、より大容量のメモリを搭載できる。また、フラッシュメモリやMRAM(Magnetoresistive Random Access Memory)やReRAM(Resistance Random Access Memory)といった不揮発メモリとしても良い。不揮発メモリを使うことで、一時的に使われないメモリ領域の電源を止めて、省電力モードとすることが可能である。
また、本実施形態では、メモリマクロ11を4×4の2次元アレイとした場合について説明したが、この2次元アレイのサイズは、4×4の2次元アレイに限定されない。
以上述べたように本実施形態においては、スイッチファブリック13は、信号の転送を行うための回路としてセレクタよりも回路の規模が小さなAND回路13aを用いている。これにより、スイッチファブリック13の面積を小さくすることができる。また、スイッチファブリック13において、入力された信号の転送先を切り替える動作が不要となる。これにより、スイッチファブリック13で発生する消費電力を少なくすることができる。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。第1の実施形態では、半導体プログラマブルデバイスと、ロジックデバイスとが同一のチップ上に集積されている半導体集積回路装置について説明した。第2の実施形態では、半導体プログラマブルデバイスと、ロジックデバイスとをそれぞれ別のチップ上に集積し、それらのチップを積層した半導体集積回路装置について説明する。
図7は、本実施形態による半導体集積回路装置の構成を示すブロック図である。本実施形態の半導体集積回路装置では、ロジックデバイス60と半導体プログラマブルデバイス50とが積層されている。
第1の実施形態で説明した半導体集積回路装置は、半導体プログラマブルデバイス10(図1B参照)とロジックデバイス20とが同一のチップ上に集積されていたため、メモリ入出力部12がメモリマクロ11の周囲に配列されていた。
それに対して本実施形態では、図7に示すように、半導体プログラマブルデバイス50とロジックデバイス60とを別のチップ上に集積し、それらのチップを積層する構成とした。そのため、半導体プログラマブルデバイス50の内部にメモリ入出力部52をメモリマクロ51毎に配置することができる。
この場合、半導体プログラマブルデバイス50とロジックデバイス60との間の信号の転送は、メモリマクロ51毎に設けられたメモリ入出力部52とロジック入出力部62とを介して行われる。つまり、メモリ入出力部52は、複数のメモリマクロ51で共有されることがないため、第1の実施形態で説明した半導体集積回路装置に比べ、半導体プログラマブルデバイス50とロジックデバイス60との間の信号の転送量を大きくすることが可能となる。
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。第1の実施形態及び第2の実施形態では、半導体プログラマブルデバイスがメモリマクロで構成される場合について説明した。本実施形態では、半導体プログラマブルデバイスがプロセッサで構成されることとした。つまり、本実施形態においてはプロセッサが回路ブロックとなる。
図8は、半導体プログラマブルデバイスを備えた半導体集積回路装置の第3の実施の形態を示す図である。図8に示す半導体集積回路装置は、図1Bに示した半導体集積回路装置と比べ以下の点が異なる。すなわち、図1Bに示した半導体プログラマブルデバイス10におけるメモリマクロ11がプロセッサ81に置き換えられており、半導体プログラマブルデバイス80の周辺にメモリマクロ91からなるメモリデバイス90が配置されている点が異なっている。なお、プロセッサ81は例えば、16ビットのRISC(Reduced Instruction Set Computer)プロセッサである。
本実施形態のように回路ブロックがメモリからプロセッサに代わっても、第1の実施形態で説明したのと同様に、信号の転送を行うための回路としてセレクタよりも回路の規模が小さなAND回路を利用することが可能である。これにより、スイッチファブリック83の面積を小さくすることができる。また、スイッチファブリック83において入力された信号の出力先を切り替える動作が不要となることも、第1の実施形態で説明したのと同様である。これにより、スイッチファブリック83で発生する消費電力を少なくすることができる。
[第4の実施形態]
次に、本発明の第4の実施形態について説明する。上述した第1〜第3の実施形態では、スイッチファブリックにAND回路を備えた場合について説明した。第4の実施の形態では、スイッチファブリックにOR回路を備えた場合について説明する。
図9は、本実施形態によるスイッチファブリックの構成を示すブロック図である。図9に示すスイッチファブリック113は、図4に示したスイッチファブリック13と比べるとスイッチファブリック13が備えるAND回路13aがOR回路113aとなっている点が異なっている。
図10は、本発明の第4の実施形態に係る半導体プログラマブルデバイスのメモリマクロの構成を示すブロック図である。図10に示すメモリマクロ111は、図2に示したメモリマクロ11と比べると、図2に示したOR回路11iがAND回路111iとなっている点が異なっている。
また、図10に示すメモリマクロ111においては、制御部111aからの出力信号は直接AND回路111iへ入力される。アドレス信号のメモリマクロアドレスと制御部111aが予め記憶している自身のマクロアドレスが一致した場合には、制御部111aからの出力信号はハイレベルとなるので、制御部111aによって出力された読み出しデータ信号がAND回路111iからそのまま出力される。
一方、アドレスが一致しない場合、制御部111aからの出力信号はローレベルとなる。そのため、読み出しデータ信号を出力しているメモリマクロ111以外のメモリマクロ111は、全てのビットがローレベルである信号を出力する。これにより、読み出しデータ信号を出力するメモリマクロ111から転送されてくる方向以外からスイッチファブリック113へ入力される信号は、全てのビットがローレベルの信号となる。
以上より、図9に示したスイッチファブリック113からは、OR回路113aによって読み出しデータ信号がそのまま出力されて隣接するスイッチファブリック113へ転送される。
なお、本実施形態においては、スイッチファブリック113で転送する全てのビットについてOR回路による出力としたが、これをAND回路による出力ビットとOR回路による出力ビットとの混成としてもよい。この場合、AND回路による出力ビットについては、読み出しデータ信号を出力しているメモリマクロ以外は、ローレベルの信号を出力することとする。また、OR回路による出力ビットについては、読み出しデータ信号を出力しているメモリマクロ以外は、ハイレベルの信号を出力することとすればよい。
以上述べたように、本実施形態においては、スイッチファブリック113は信号の転送を行うための回路としてセレクタよりも回路の規模が小さなOR回路113aを備えている。これにより、スイッチファブリック113の面積を小さくすることができる。また、スイッチファブリック113において入力された信号の出力先を切り替える動作が不要となる。これにより、スイッチファブリック113で発生する消費電力を少なくすることができる。
[第5の実施形態]
次に、本発明の第5の実施形態について説明する。第1〜第4の実施形態では、スイッチファブリックにAND回路または、OR回路を備えた場合について説明した。本実施形態による半導体プログラマブルデバイス300は、図11に示すように、NAND回路を備えたスイッチファブリック313AとNOR回路を備えたスイッチファブリック313Bが互い違いに配置された構成となっている。
図12は、本実施形態によるNAND回路を備えたスイッチファブリック313Aの構成を示すブロック図である。NAND回路を備えたスイッチファブリック313Aは、図4に示したスイッチファブリック13と比べると、スイッチファブリック13が備えるAND回路13aがNAND回路320となっている点が異なる。
図13は、本実施形態によるNOR回路を備えたスイッチファブリック313Bの構成を示すブロック図である。NOR回路を備えたスイッチファブリック313Bは、図9に示したスイッチファブリック113と比べるとスイッチファブリック113が備えるOR回路113aがNOR回路330となっている点が異なる。
また、本実施形態に係る半導体プログラマブルデバイス300は、各スイッチファブリック313に接続されたメモリマクロ311を有する。ここで、NAND回路を備えたスイッチファブリック313Aに接続するメモリマクロ311Aの構成は、図2に示した第1の実施形態に係るメモリマクロ11と同様の構成である。したがって、データ読み出しの対象となっていないメモリマクロ311Aは、全てのビットがハイレベルである信号を出力する。
一方、NOR回路を備えたスイッチファブリック313Bに接続するメモリマクロ311Bの構成は、図10に示した第4の実施形態に係るメモリマクロ111と同様の構成である。したがって、データ読み出しの対象となっていないメモリマクロ311Bは、全てのビットがローレベルである信号を出力する。
メモリマクロ311から出力された読み出しデータ信号は、NAND回路を備えたスイッチファブリック313A、あるいは、NOR回路を備えたスイッチファブリック313Bを経由する度に信号が反転する。このとき、メモリ入出力部312が、入力された信号が経由してきたスイッチファブリック313の個数に応じて、入力された信号を反転させ、または、反転させずに、読み出しデータ信号として出力する。
具体的には、メモリ入出力部312はまず、読み出しデータ信号を出力するメモリマクロ311の番地を記憶する。この番地は半導体プログラマブルデバイス300を構成する配線マトリックス上における番地であり、ロジックマクロ21から出力されるアドレス信号に含まれている。メモリ入出力部312は、自身が接続されているスイッチファブリック313の番地と、読み出しデータ信号を出力するメモリマクロ311の番地とから、入力された信号が経由してきたスイッチファブリック313の個数を導出する。そして、入力された信号が奇数個のスイッチファブリック313を経由してきたときは、メモリ入出力部312は入力された信号を反転させてから読み出しデータ信号としてロッジクマクロ21に出力する。一方、入力された信号が偶数個のスイッチファブリック313を経由してきたときは、メモリ入出力部312は入力された信号をそのまま読み出しデータ信号としてロッジクマクロ21に出力する。
以上述べたように、本実施形態においては、スイッチファブリック313は信号の転送を行うための回路として、セレクタよりも回路の規模が小さなNAND回路320、あるいはNOR回路330を備えている。これにより、スイッチファブリック313の面積を小さくすることができる。また、スイッチファブリック313において入力された信号の出力先を切り替える動作が不要となる。これにより、スイッチファブリック313で発生する消費電力を少なくすることができる。
[第6の実施形態]
本発明の第6の実施形態に係る半導体プログラマブルデバイスは、チップ上に敷設された複数の行配線と複数の列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有し、スイッチファブリックは、入力された複数の信号のAND演算をビット毎に行うAND回路を備え、回路ブロックは、他の回路ブロックがデータ信号を出力している場合、全てのビットがハイレベルのビットであるハイレベル信号を出力し、スイッチファブリックは、直接接続された回路ブロックと、行配線上及び列配線上で隣接するスイッチファブリックとから入力されたデータ信号及びハイレベル信号をAND回路に入力し、このAND回路によるAND演算後の信号を出力する。
[第7の実施形態]
本発明の第7の実施形態に係る半導体プログラマブルデバイスは、チップ上に敷設された複数の行配線と複数の列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有し、スイッチファブリックは、入力された複数の信号のOR演算をビット毎に行うOR回路を備え、回路ブロックは、他の回路ブロックがデータ信号を出力している場合、全てのビットがローレベルのビットであるローレベル信号を出力し、スイッチファブリックは、直接接続された回路ブロックと、行配線上及び列配線上で隣接するスイッチファブリックとから入力されたデータ信号及びローレベル信号をOR回路に入力し、このOR回路によるOR演算後の信号を出力する。
[第8の実施形態]
本発明の第8の実施形態に係る半導体プログラマブルデバイスにおける信号転送方法は、チップ上に敷設された複数の行配線と複数の列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、回路ブロックが、他の回路ブロックがデータ信号を出力している場合、全てのビットがハイレベルのビットであるハイレベル信号を出力する処理と、スイッチファブリックが、直接接続された回路ブロックと、行配線上及び列配線上で隣接するスイッチファブリックとから入力されたデータ信号及びハイレベル信号のAND演算をビット毎に行い、このAND演算後の信号を出力する処理を行う。
[第9の実施形態]
本発明の第9の実施形態に係る半導体プログラマブルデバイスにおける信号転送方法は、チップ上に敷設された複数の行配線と複数の列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、複数のスイッチファブリックのそれぞれと直接接続され、複数のスイッチファブリックを介してデータ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、回路ブロックが、他の回路ブロックがデータ信号を出力している場合、全てのビットがローレベルのビットであるローレベル信号を出力する処理と、スイッチファブリックが、直接接続された回路ブロックと、行配線上及び列配線上で隣接するスイッチファブリックとから入力されたデータ信号及びローレベル信号のOR演算をビット毎に行い、このOR演算後の信号を出力する処理を行う。
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。
この出願は、2008年9月16日に出願された日本出願特願2008−236781を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、プロセッサやメモリからなる回路ブロックを複数集積した半導体プログラマブルデバイスに適用することができる。

Claims (10)

  1. チップ上に配置された複数の行配線と複数の列配線と、前記行配線と前記列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、前記複数のスイッチファブリックのそれぞれと直接接続され、前記複数のスイッチファブリックを介して前記データ信号の入出力を行う複数の回路ブロックとを有し、
    前記回路ブロックは、他の回路ブロックが前記データ信号を出力している場合は擬似データ信号を出力し、
    前記スイッチファブリックは、前記データ信号と前記擬似データ信号に演算を施し、前記データ信号を出力する
    半導体プログラマブルデバイス。
  2. 請求項1に記載の半導体プログラマブルデバイスにおいて、
    前記擬似データ信号は、全てのビットがハイレベルのビットであるハイレベル信号であり、
    前記データ信号は、直接接続された回路ブロックと、前記行配線上及び前記列配線上で隣接するスイッチファブリックとから入力され、
    前記演算は、前記データ信号と前記ハイレベル信号に対し、ビット毎に行うAND演算である
    半導体プログラマブルデバイス。
  3. 請求項1に記載の半導体プログラマブルデバイスにおいて、
    前記擬似データ信号は、全てのビットがローレベルのビットであるローレベル信号であり、
    前記データ信号は、直接接続された回路ブロックと、前記行配線上及び前記列配線上で隣接するスイッチファブリックとから入力され、
    前記演算は、前記データ信号と前記ローレベル信号に対し、ビット毎に行うOR演算である
    半導体プログラマブルデバイス。
  4. 請求項1から3のいずれか一項に記載の半導体プログラマブルデバイスにおいて、前記回路ブロックがメモリマクロである半導体プログラマブルデバイス。
  5. 請求項1から3のいずれか一項に記載の半導体プログラマブルデバイスにおいて、前記回路ブロックがプロセッサである半導体プログラマブルデバイス。
  6. チップ上に配置された複数の行配線と複数の列配線と、前記行配線と前記列配線との交点に設けられ、入力されたデータ信号の転送を行う複数のスイッチファブリックと、前記複数のスイッチファブリックのそれぞれと直接接続され、前記複数のスイッチファブリックを介して前記データ信号の入出力を行う複数の回路ブロックとを有する半導体プログラマブルデバイスにおける信号転送方法であって、
    前記回路ブロックは、他の回路ブロックが前記データ信号を出力している場合は擬似データ信号を出力し、
    前記スイッチファブリックは、前記データ信号と前記擬似データ信号に演算を施し、前記データ信号を出力する
    半導体プログラマブルデバイスにおける信号転送方法。
  7. 請求項6に記載の半導体プログラマブルデバイスにおける信号転送方法において、
    前記擬似データ信号は、全てのビットがハイレベルのビットであるハイレベル信号であり、
    前記データ信号は、直接接続された回路ブロックと、前記行配線上及び前記列配線上で隣接するスイッチファブリックとから入力され、
    前記演算は、前記データ信号と前記ハイレベル信号に対し、ビット毎に行うAND演算である
    半導体プログラマブルデバイスにおける信号転送方法。
  8. 請求項6に記載の半導体プログラマブルデバイスにおける信号転送方法において、
    前記擬似データ信号は、全てのビットがローレベルのビットであるローレベル信号であり、
    前記データ信号は、直接接続された回路ブロックと、前記行配線上及び前記列配線上で隣接するスイッチファブリックとから入力され、
    前記演算は、前記データ信号と前記ローレベル信号に対し、ビット毎に行うOR演算である
    半導体プログラマブルデバイスにおける信号転送方法。
  9. 請求項6から8のいずれか一項に記載の半導体プログラマブルデバイスにおける信号転送方法において、前記回路ブロックがメモリマクロである半導体プログラマブルデバイスにおける信号転送方法信号転送方法。
  10. 請求項6から8のいずれか一項に記載の半導体プログラマブルデバイスにおける信号転送方法において、前記回路ブロックがプロセッサである半導体プログラマブルデバイスにおける信号転送方法。
JP2010529832A 2008-09-16 2009-09-15 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法 Expired - Fee Related JP5365638B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010529832A JP5365638B2 (ja) 2008-09-16 2009-09-15 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008236781 2008-09-16
JP2008236781 2008-09-16
JP2010529832A JP5365638B2 (ja) 2008-09-16 2009-09-15 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法
PCT/JP2009/066578 WO2010032865A1 (ja) 2008-09-16 2009-09-15 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法

Publications (2)

Publication Number Publication Date
JPWO2010032865A1 true JPWO2010032865A1 (ja) 2012-02-16
JP5365638B2 JP5365638B2 (ja) 2013-12-11

Family

ID=42039682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010529832A Expired - Fee Related JP5365638B2 (ja) 2008-09-16 2009-09-15 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法

Country Status (2)

Country Link
JP (1) JP5365638B2 (ja)
WO (1) WO2010032865A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108469963B (zh) * 2018-03-28 2023-05-26 天津中德应用技术大学 一种集成尺寸可调节放置机构的芯片编程器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH098647A (ja) * 1995-06-21 1997-01-10 Nippon Telegr & Teleph Corp <Ntt> プログラマブル論理回路
JPH1082839A (ja) * 1996-09-06 1998-03-31 Hitachi Telecom Technol Ltd Fpgaを使用した電子装置の診断方式
JP3616518B2 (ja) * 1999-02-10 2005-02-02 日本電気株式会社 プログラマブルデバイス
GB2370380B (en) * 2000-12-19 2003-12-31 Picochip Designs Ltd Processor architecture
JP4104538B2 (ja) * 2003-12-22 2008-06-18 三洋電機株式会社 リコンフィギュラブル回路、リコンフィギュラブル回路を備えた処理装置、リコンフィギュラブル回路における論理回路の機能決定方法、回路生成方法および回路

Also Published As

Publication number Publication date
JP5365638B2 (ja) 2013-12-11
WO2010032865A1 (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
US6191998B1 (en) Programmable logic device memory array circuit having combinable single-port memory arrays
TWI590250B (zh) 用於組態用於混合記憶體模組之記憶體之輸入/輸出之裝置及方法
EP0910091A2 (en) Dual-port programmable logic device variable depth and width memory array
US7908453B2 (en) Semiconductor device having a dynamically reconfigurable circuit configuration
JP5599969B2 (ja) マルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステム
US10372658B2 (en) Method of reconfiguring DQ pads of memory device and DQ pad reconfigurable memory device
JP4205743B2 (ja) 半導体記憶装置及び半導体装置
US8036061B2 (en) Integrated circuit with multiported memory supercell and data path switching circuitry
KR20120002553A (ko) 멀티 포트 메모리 디바이스 및 방법
US6288970B1 (en) Programmable logic device memory array circuit having combinable single-port memory arrays
JP2012208975A (ja) 半導体装置
KR20160148344A (ko) 입출력 회로 및 이를 포함하는 입출력 장치
JP2009110570A (ja) 半導体記憶装置
JP5365638B2 (ja) 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法
JP2016038920A (ja) 半導体装置及び半導体システム
JP3872922B2 (ja) 半導体記憶装置及びメモリ混載ロジックlsi
JP5336398B2 (ja) 半導体集積回路、半導体集積回路の構成変更方法
US7814296B2 (en) Arithmetic units responsive to common control signal to generate signals to selectors for selecting instructions from among respective program memories for SIMD / MIMD processing control
JP2604468B2 (ja) 半導体集積回路装置
JP5365639B2 (ja) 半導体プログラマブルデバイス及び半導体プログラマブルデバイスにおける信号転送方法
JP4191218B2 (ja) メモリ回路及び半導体装置
US6839261B2 (en) Semiconductor memory device
JPH01143095A (ja) デユアルポートメモリ
US6687182B2 (en) Semiconductor memory device
KR100936790B1 (ko) 반도체 메모리 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130813

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees