【手続補正書】
【提出日】平成29年3月24日(2017.3.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリを有する集積回路デバイスであって、
第１の複数のデータ線を有するプログラム可能なリソースと、
前記プログラム可能なリソースに結合されたプログラム可能なインターコネクト・エレメントとを備え、前記プログラム可能なインターコネクト・エレメントは、前記プログラム可能なリソースとの信号の通信を可能にし、前記集積回路デバイスはさらに、
複数のメモリブロックと、
前記第１の複数のデータ線からのデータの多重化を可能にするように前記プログラム可能なリソースと前記複数のメモリブロックの各メモリブロックとの間に結合された専用のインターコネクト・エレメントとを備え、前記専用のインターコネクト・エレメントは、第１の複数の入力と第２の複数の出力とを有し、前記複数のメモリブロックの各メモリブロックへのアクセスを可能にし、
前記専用のインターコネクト・エレメントの前記第１の複数の入力の各入力は、前記プログラム可能なリソースの前記第１の複数のデータ線の対応するデータ線に結合され、前記専用のインターコネクト・エレメントの前記第２の複数の出力の各出力は、前記複数のメモリブロックの対応するメモリブロックに結合された第２の複数のデータ線のデータ線に結合される、集積回路デバイス。
【請求項２】
前記複数のメモリブロックは、複数のＳＲＡＭブロックを備える、請求項１に記載の集積回路デバイス。
【請求項３】
前記専用のインターコネクト・エレメントは、クロスバースイッチを備える、請求項１または２に記載の集積回路デバイス。
【請求項４】
前記複数のメモリブロックと前記プログラム可能なリソースとの間に結合された出力インターコネクト・エレメントをさらに備える、請求項１から３のいずれか１項に記載の集積回路デバイス。
【請求項５】
前記プログラム可能なリソースは、各々が第１のメモリサイズを有する複数のＳＲＡＭブロックを備え、前記複数のメモリブロックの各メモリブロックは、前記第１のメモリサイズよりも大きな第２のメモリサイズを有するＳＲＡＭブロックである、請求項１から４のいずれか１項に記載の集積回路デバイス。
【請求項６】
前記プログラム可能なリソースは、ＤＲＡＭブロックを備え、前記専用のインターコネクト・エレメントは、前記ＤＲＡＭブロックと前記複数のメモリブロックとの間の信号の通信を可能にする、請求項１から５のいずれか１項に記載の集積回路デバイス。
【請求項７】
前記ＤＲＡＭブロックは、前記集積回路デバイスの第１のダイ上にあり、前記プログラム可能なリソースは、前記集積回路デバイスの第２のダイ上にある、請求項１から６のいずれか１項に記載の集積回路デバイス。
【請求項８】
集積回路デバイスにメモリを実装する方法であって、
第１の複数のデータ線を有し、プログラム可能なインターコネクト・エレメントに結合されたプログラム可能なリソースを実装するステップを備え、前記プログラム可能なインターコネクト・エレメントは、前記プログラム可能なリソースとの信号の通信を可能にし、前記方法はさらに、
複数のメモリブロックを設けるステップと、
前記第１の複数のデータ線からのデータの多重化を可能にするように前記プログラム可能なリソースと前記複数のメモリブロックの各メモリブロックとの間に専用のインターコネクト・エレメントを結合するステップとを備え、前記専用のインターコネクト・エレメントは、第１の複数の入力と第２の複数の出力とを有し、前記複数のメモリブロックの各メモリブロックへのアクセスを可能にし、
前記専用のインターコネクト・エレメントの前記第１の複数の入力の各入力は、前記プログラム可能なリソースの前記第１の複数のデータ線の対応するデータ線に結合され、前記専用のインターコネクト・エレメントの前記第２の複数の出力の各出力は、前記複数のメモリブロックの対応するメモリブロックに結合された第２の複数のデータ線のデータ線に結合される、方法。
【請求項９】
プログラム可能なリソースを実装するステップは、各々が第１のメモリサイズを有する第１の複数のＳＲＡＭブロックを実装するステップを備え、複数のメモリブロックを設けるステップは、各々が前記第１のメモリサイズよりも大きな第２のメモリサイズを有する複数のＳＲＡＭブロックを設けるステップを備える、請求項８に記載の方法。
【請求項１０】
前記複数のメモリブロックの間に専用のインターコネクト・エレメントを結合するステップは、前記プログラム可能なインターコネクト・エレメントから分離した前記専用のインターコネクト・エレメントを設けるステップを備える、請求項８または９に記載の方法。
【請求項１１】
専用のインターコネクト・エレメントを前記複数のメモリブロックに結合するステップは、クロスバースイッチを前記複数のメモリブロックに結合するステップを備える、請求項８から１０のいずれか１項に記載の方法。
【請求項１２】
前記プログラム可能なリソースは、ＤＲＡＭブロックを備え、前記専用のインターコネクト・エレメントは、前記ＤＲＡＭブロックと前記複数のメモリブロックとの間に第２のクロスバースイッチを備える、請求項８から１１のいずれか１項に記載の方法。
【請求項１３】
プログラム可能なリソースを実装するステップは、前記集積回路デバイスの第１のダイ上にプログラム可能なリソースを実装するステップを備え、ＤＲＡＭブロックを実装するステップは、前記集積回路デバイスの第２のダイ上にＤＲＡＭブロックを実装するステップを備える、請求項８から１１のいずれか１項に記載の方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
ここで図７を参照して、複数のＳＲＡＭブロックに結合され、別々の読出および書込制御を有する集積回路デバイスの一部のブロック図が示されている。すなわち、図７の構成は、別々のルーティング回路を介したデータビットおよび制御ビットの別々のルーティングを可能にし、制御ビットは、例えばアドレスビットを含む別々の読出および書込制御ビットを含む。特に、プログラム可能なリソース６０２から書込制御信号ＷＣ１〜ＷＣ８を受取るようにルーティング回路７０２が結合されており、ルーティング回路７０２の複数の出力ポートのうちの代表的なものは、制御線７０４によって、ここではＳＲＡＭ０と表わされる複数のメモリエレメント６０６のメモリエレメントの対応する制御信号入力に結合されている。別のルーティング回路７０８が、ルーティング回路７０８の入力ポートにおいてデータ入力Ｄ１〜Ｄ８を受取るように結合されている。ここでは対応する出力ポートにおける複数のデータ線の代表的なデータ線７１０によって示されているルーティング回路７０８の出力ポートは、ここではＳＲＡＭ０と表わされる第１のメモリブロックに結合されている。したがって、ルーティング回路７０２は、データおよび制御信号の任意の対を、複数のメモリエレメント６０６のうちの１つ以上の選択されたメモリエレメントのデータおよび制御入力にルーティングすることを可能にする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
ルーティング回路は、複数のメモリブロックからデータを読出すためにも設けられている。読出制御信号ＲＣ１〜ＲＣ８を含む制御信号を、プログラム可能なリソースの部分６１０から受取るように、ルーティング回路７１４が結合されている。ルーティング回路７１４は、選択されたメモリブロックに読出制御信号をルーティングすることを可能にし、ルーティング回路７１４の出力ポートは、制御線（ここではＳＲＡＭ３１と表わされる最後のメモリブロックに結合された代表的な制御線７１６としてここでは示されている）によってメモリに結合されている。複数のメモリ７２０から出力を受取るようにルーティング回路７１８が結合されており、代表的なデータ線７２０は、最後のメモリブロックの出力からルーティング回路７１８の入力にデータを提供する。メモリブロック６０６によって提供されたデータＱ１〜Ｑ８は、８本の出力線のうちの１本によって、ルーティング回路７１８からプログラム可能なリソース６１０に提供される。制御信号は、プログラム可能なリソースによってルーティング回路に提供される。より特定的には、書込制御信号は、プログラム可能なリソース６０２によって、制御線７２０および７２２を介して、ルーティング回路７０２および７０８にそれぞれ提供されるのに対して、読出制御信号は、プログラム可能なリソース６１０によって、７２４および７２６を介して、ルーティング回路７１４および７１８にそれぞれ提供される。代替的には、制御信号は、回路のプロセッサなどの回路の別の要素によって提供されてもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
ここで図８を参照して、単一のクロスバースイッチに関連付けられたデータならびに読出および書込制御を有する複数のＳＲＡＭブロックを備える集積回路デバイスの一部のブロック図が示されている。したがって、データＤ１〜Ｄ８も書込制御信号ＷＣ１〜ＷＣ８もルーティング回路８０２に提供される。例えば、データＤ１および書込制御信号ＷＣ１は、代表的な信号線対８０３によってルーティング回路８０２に提供される。次いで、ルーティング回路８０２の対応する入力ポートにおける信号線対上の信号は、信号線対８０４によって、（一例としてＳＲＡＭ０であり得る）選択されたメモリエレメントに提供される。読出制御信号ＲＣ１〜ＲＣ８は、プログラム可能なリソース６１０によって生成され、プログラム可能なリソース６１０と複数のメモリエレメント６０６との間に制御信号線によって結合される。一例として、代表的な制御信号線８１０は、（プログラム可能なリソース８０６の出力ポートとルーティング回路８０６の入力ポートとの間に読出制御線８１１を介して提供される読出制御信号ＲＣ１であり得る）選択された読出制御信号をＳＲＡＭ０の読出入力に結合し、ＳＲＡＭ０のデータ出力に結合された出力信号線８１２は、ＳＲＡＭ０からのデータがルーティング回路８０６を介してプログラム可能なリソースに結合されることを可能にする。例えば、出力信号線８１２上に提供される出力データは、Ｑ１であり得て、Ｑ１は、ルーティング回路８０６によって、信号線８１４に沿って、ルーティング回路８０６の出力ポートとプログラム可能なリソース６１０の対応する入力ポートとの間でルーティングされる。制御信号は、読出データを制御するために、制御信号線８１６および８１８によってルーティング回路８０２および８０６にそれぞれ提供される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
図示されている実施例において、ダイの中心付近の列領域は、コンフィギュレーション、クロック、および他の制御ロジックに使用される。この列から延在するｃｏｎｆｉｇ／ｃｌｏｃｋ分配領域１７０９は、ＦＰＧＡの幅方向にわたってクロックおよびコンフィギュレーション信号を分配するために使用される。図１７に示されるアーキテクチャを利用するいくつかのＦＰＧＡは、ＦＰＧＡの大部分を構成する規則的な列構造を分断させる追加のロジックブロックを含む。追加のロジックブロックは、プログラム可能なブロックおよび／または専用のロジックであり得る。例えば、図１７に示されるプロセッサブロックＰＲＯＣ１７１０は、ＣＬＢおよびＢＲＡＭのいくつかの列に及ぶ。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
図示されている実施例において、メモリエレメント１８０２Ａ〜１８０２Ｄの各々は、同期または非同期フリップフロップまたはラッチとして機能するようにプログラムされ得る。同期機能と非同期機能との間の選択は、Ｓｙｎｃ／Ａｓｙｎｃｈ選択回路１８０３をプログラムすることによって、スライス中の全ての４つのメモリエレメントに対してなされる。メモリエレメントがプログラムされて、Ｓ／Ｒ（セット／リセット）入力信号がセット機能を提供する場合、ＲＥＶ入力端子はリセット機能を提供する。メモリエレメントがプログラムされて、Ｓ／Ｒ入力信号がリセット機能を提供する場合、ＲＥＶ入力端子はセット機能を提供する。メモリエレメント１８０２Ａ〜１８０２Ｄは、クロック信号ＣＫによってクロックされ、当該クロック信号ＣＫは、例えばグローバルクロックネットワークまたはインターコネクト構造によって提供され得る。このようなプログラム可能なメモリエレメントは、ＦＰＧＡ設計の分野において周知である。各々のメモリエレメント１８０２Ａ〜１８０２Ｄは、登録された出力信号ＡＱ〜ＤＱをインターコネクト構造に提供する。ＬＵＴ  １８０１Ａ〜１８０１Ｄの各々が２つの出力信号Ｏ５およびＯ６を提供するので、ＬＵＴは、５つの共有入力信号（ＩＮ１〜ＩＮ５）を有する２つの５入力ＬＵＴ、または入力信号ＩＮ１〜ＩＮ６を有する１つの６入力ＬＵＴとして機能するように構成され得る。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
図１９の実施例によれば、印刷回路基板などの回路基板１９０２は、マルチダイ集積回路１９０４を受けるように構成されている。マルチダイ集積回路１９０４は、インターポーザ回路１９０８を受けるように結合された基板１９０６を備える。インターポーザ１９０８は、ＦＰＧＡチップ１９１０およびＤＲＡＭチップ１９１２回路などの複数の集積回路チップまたはダイを基板１９０６に結合することを可能にする。はんだボール１９１４は、シリコンビア（ＴＳＶ）などのさまざまなインターコネクト１９１６を介して、さまざまなチップから回路基板１９０２に信号を結合することを可能にする。また、インターコネクト１９１８は、マルチダイ集積回路のさまざまなチップ間の信号のルーティングを可能にする。インターポーザ回路１９０８は、さまざまな金属層を有するシリコン基板であってもよく、当該金属層は、ＦＰＧＡチップとＤＲＡＭチップとの間、またはチップのうちの１つと基板１９０６との間での信号のルーティングを可能にするインターコネクト・エレメントを備える。しかし、インターポーザ回路は、示されているように信号のルーティングを可能にする導電性要素を有するいかなる材料であってもよい。ＦＰＧＡチップ１９１０およびＤＲＡＭチップ１９１２の全ての回路は単一のダイ上に実装され得るが、図１９の実施例では、ＦＰＧＡチップ１９１０およびＤＲＡＭチップ１９１２のさまざまな回路のより効率的な実装が可能になる。例えば、いくつかの回路は、特定の寸法のトランジスタを形成するプロセスなどの１つのプロセスに従って製造された集積回路チップにより効率的に実装され得るが、他の回路は、別のプロセスに従って製造された集積回路チップにより効率的に実装され得る。したがって、図１９の構成は、図９の回路を実現するために使用され得て、ＤＲＡＭ９０２は、ＤＲＡＭ１９１２として実現され、複数のメモリエレメント９２４〜９３０は、基板１９０６ではＳＲＡＭまたはＥＤＲＡＭとして実現される。ＤＲＡＭインターフェース９２２およびプログラム可能なリソースインターフェース９３２は、基板１９０６上に、またはインターポーザ１９０８の一部として実装され得る。