(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-06
(45)【発行日】2022-06-14
(54)【発明の名称】スタックド・シリコン・インターコネクト(SSI)技術集積化のためのスタンドアロンインターフェイス
(51)【国際特許分類】
H01L 25/18 20060101AFI20220607BHJP
H01L 25/04 20140101ALI20220607BHJP
H01L 21/82 20060101ALI20220607BHJP
【FI】
H01L25/04 Z
H01L21/82 P
(21)【出願番号】P 2019508260
(86)(22)【出願日】2017-07-20
(86)【国際出願番号】 US2017043096
(87)【国際公開番号】W WO2018034787
(87)【国際公開日】2018-02-22
【審査請求日】2020-06-15
(32)【優先日】2016-11-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2017-06-07
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2016-08-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】カマロタ,ラファエル・シィ
(72)【発明者】
【氏名】アーマド,サグヒーア
(72)【発明者】
【氏名】ニューマン,マーティン
【審査官】正山 旭
(56)【参考文献】
【文献】特表2015-507372(JP,A)
【文献】特表2016-516331(JP,A)
【文献】米国特許出願公開第2013/0214432(US,A1)
【文献】韓国公開特許第10-2014-0111716(KR,A)
【文献】米国特許出願公開第2014/0254232(US,A1)
【文献】韓国公開特許第10-2015-0126400(KR,A)
【文献】米国特許出願公開第2014/0177626(US,A1)
【文献】中国特許出願公開第104885212(CN,A)
【文献】特開2006-093659(JP,A)
【文献】米国特許出願公開第2008/0150834(US,A1)
【文献】韓国公開特許第10-2006-0050604(KR,A)
【文献】特表2016-502287(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 25/18
H01L 21/82
(57)【特許請求の範囲】
【請求項1】
集積回路(IC)パッケージであって、
パッケージ基板と、
前記パッケージ基板の上に配設された少なくとも1つのインターポーザと、
前記インターポーザの上に配設されたプログラマブルIC領域と、
前記インターポーザの上に配設された固定機能ダイと、
インターフェイス領域とを備え、前記インターフェイス領域は、前記インターポーザの上に配設され、前記インターポーザを介して前記プログラマブルIC領域と前記インターフェイス領域との間に配線された相互接続線の第1の組および前記インターポーザを介して前記インターフェイス領域と前記固定機能ダイとの間に配線された相互接続線の第2の組によって前記プログラマブルIC領域を前記固定機能ダイに結合するように構成され、前記プログラマブルIC領域および前記インターフェイス領域は、前記ICパッケージ内の同
じ半導体基板を共
有し、前記プログラマブルIC領域の層および前記インターフェース領域の層の両方が前記半導体基板上に配置される、パッケージ。
【請求項2】
前記プログラマブルIC領域および前記インターフェイス領域は、前
記半導体基板上でスクライブラインによって分離される、請求項1に記載のパッケージ。
【請求項3】
前記インターポーザを介して配線された前記相互接続線の第1の組および第2の組を、前記プログラマブルIC領域と前記インターフェイス領域と前記固定機能ダイとにおける回路に電気的に接続する複数のマイクロバンプをさらに備え、前記インターフェイス領域は、前記プログラマブルIC領域のための前記マイクロバンプの第1のパターンおよび前記相互接続線の第1の組と適合し、前記固定機能ダイのための前記マイクロバンプの第2のパターンおよび前記相互接続線の第2の組と適合する、請求項1に記載のパッケージ。
【請求項4】
前記プログラマブルIC領域は、フィールドプログラマブルゲートアレイ(FPGA)領域を備え、前記固定機能ダイは、高帯域幅メモリ(HBM)ダイを備え、前記インターフェイス領域は、HBMバッファ領域を備える、請求項1に記載のパッケージ。
【請求項5】
前記インターポーザを介して配線された前記相互接続線の第1の組によるもの以外に、前記プログラマブルIC領域と前記インターフェイス領域との間に電気的接続はない、請求項1に記載のパッケージ。
【請求項6】
前記プログラマブルIC領域および前記インターフェイス領域は、モノリシックダイの一部であり、
前記相互接続線の第1の組は、前記モノリシックダイの少なくとも1つの金属化層を介して配線される、請求項1に記載のパッケージ。
【請求項7】
前記相互接続線の第1の組は、前記インターフェイス領域の第1の複数のポートと前記プログラマブルIC領域との間に配線され、
前記相互接続線の第2の組は、前記インターポーザを介して前記インターフェイス領域の第2の複数のポートと前記固定機能ダイとの間に配線され、
前記インターフェイス領域は、前記第1の複数のポートと前記第2の複数のポートとの間にスイッチネットワークとして構成される、請求項1に記載のパッケージ。
【請求項8】
前記スイッチネットワークは、前記第1の複数のポートの各々が前記第2の複数のポートのうちのいずれか1つにアクセスできるように前記第1の複数のポートの各々と前記第2の複数のポートの各々との間の完全なアドレス指定能力を提供する、請求項7に記載のパッケージ。
【請求項9】
前記スイッチネットワークは、複数のフルクロスバースイッチネットワークを備える階層型スイッチネットワークとして実現される、請求項8に記載のパッケージ。
【請求項10】
前記フルクロスバースイッチネットワークの各々は、前記第1の複数のポートのサブセットと、前記第2の複数のポートのサブセットとを備え、
前記第1の複数のポートの前記サブセットにおける各ポートは、前記第2の複数のポートの前記サブセットにおけるいずれかのポートにアクセスすることができる、請求項9に記載のパッケージ。
【請求項11】
前記複数のフルクロスバースイッチネットワークの各隣接対は、複数の交差結合接続部によって接続される、請求項10に記載のパッケージ。
【請求項12】
前記第1の複数のポートの前記サブセットにおける各ポートは、前記第2の複数のポートの前記サブセットにおけるいずれかのポートおよび前記複数の交差結合接続部のうちの少なくとも1つにアクセスすることができる、請求項11に記載のパッケージ。
【請求項13】
前記プログラマブルIC領域は、複数のスプリッタを実装するように構成され、前記複数のスプリッタの各々は、前記複数のフルクロスバースイッチネットワークの各々における前記第1の複数のポートの指定されたポートにアクセスするように構成される、請求項9に記載のパッケージ。
【請求項14】
前記スイッチネットワークは、前記第1の複数のポートの各々が前記第2の複数のポートのうちの異なる1つにアクセスできるバイパスモードを提供する、請求項8に記載のパッケージ。
【請求項15】
前記スイッチネットワークは、アドバンスト・エクステンシブル・インターフェイス(AXI)タイプのスイッチネットワークまたはパケットプロトコルタイプのスイッチネットワークとして実現される、請求項7に記載のパッケージ。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示の例は、一般に、集積回路に関し、より特定的には、スタックド・シリコン・インターコネクト(stacked silicon interconnect:SSI)技術を使用した集積回路パッケージングに関する。
【背景技術】
【0002】
背景
電子デバイス(たとえば、コンピュータ、ラップトップ、タブレット、複写機、デジタルカメラ、スマートフォンなど)は、しばしば集積回路(IC、「チップ」としても知られている)を利用する。これらの集積回路は、典型的には、集積回路パッケージにパッケージングされた半導体ダイとして実現される。半導体ダイは、メモリ、論理回路、および/または、さまざまな他の好適な回路タイプのうちのいずれかを含み得る。
【0003】
多くの集積回路および他の半導体素子は、パッケージを回路基板(たとえば、印刷回路基板(PCB))に表面実装するためにボールグリッドアレイ(BGA)などのバンプの配列を利用する。(スタックド・シリコン・インターコネクト(SSI)アプリケーションで使用されているような)C4(controlled collapse chip connection)バンプまたはマイクロバンプなどのさまざまな好適なパッケージピン構造のうちのいずれかを使用して、集積回路(IC)ダイ(または、他のパッケージデバイス)上のチャネルとパッケージが実装されている回路基板との間で電気信号を伝えることができる。
【発明の概要】
【課題を解決するための手段】
【0004】
概要
本開示の一例は、集積回路(IC)パッケージである。上記ICパッケージは、一般に、パッケージ基板と、上記パッケージ基板の上に配設され、複数の相互接続線を備える少なくとも1つのインターポーザと、上記インターポーザの上に配設されたプログラマブルICダイと、上記インターポーザの上に配設された固定機能ダイと、インターフェイスダイとを含み、上記インターフェイスダイは、上記インターポーザの上に配設され、上記インターポーザを介して上記プログラマブルICダイと上記インターフェイスダイとの間に配線された相互接続線の第1の組および上記インターポーザを介して上記インターフェイスダイと上記固定機能ダイとの間に配線された相互接続線の第2の組を用いて上記プログラマブルICダイを上記固定機能ダイに結合するように構成される。
【0005】
任意に、上記プログラマブルICダイおよび上記インターフェイスダイは、同じウェハレベルの基板を共有してもよい。
【0006】
任意に、上記プログラマブルICダイおよび上記インターフェイスダイは、上記ウェハレベルの基板上でスクライブラインによって分離されてもよい。
【0007】
任意に、上記パッケージは、上記インターポーザを介して配線された上記相互接続線を、上記プログラマブルICダイと上記インターフェイスダイと上記固定機能ダイとにおける回路に電気的に接続する複数のマイクロバンプをさらに含んでもよい。
【0008】
任意に、上記インターフェイスダイは、上記プログラマブルICダイのための上記マイクロバンプの第1のパターンおよび上記相互接続線の第1の組と適合してもよく、上記固定機能ダイのための上記マイクロバンプの第2のパターンおよび上記相互接続線の第2の組とも適合してもよい。
【0009】
任意に、上記プログラマブルICダイは、フィールドプログラマブルゲートアレイ(FPGA)ダイを含んでもよく、上記固定機能ダイは、高帯域幅メモリ(HBM)ダイを含んでもよく、上記インターフェイスダイは、HBMバッファダイを含んでもよい。
【0010】
任意に、上記相互接続線の第2の組は、HBM JEDEC規格に従うものであってもよい。
【0011】
任意に、上記固定機能ダイは、特定用途向け集積回路(ASIC)を含んでもよい。
任意に、上記インターポーザを介して配線された上記相互接続線によるもの以外に、上記プログラマブルICダイと上記インターフェイスダイとの間に電気的接続はなくてもよい。
【0012】
本開示の別の例は、集積回路パッケージを作製する方法である。上記方法は、一般に、インターフェイスダイと対にされたプログラマブルICダイにマスクを提供するステップを含み、上記インターフェイスダイは、上記プログラマブルICダイを固定機能ダイに結合するためのものであり、上記方法はさらに、上記マスクを用いて、複数の上記対になったプログラマブルICダイおよびインターフェイスダイを有するウェハを生成するステップと、上記ウェハをダイシングして、上記複数の上記対になったプログラマブルICダイおよびインターフェイスダイのうちの1つを備えるウェハセクションを切り離すステップと、複数の相互接続線を備えるインターポーザの上に上記ウェハセクションを配設するステップとを含み、上記相互接続線の第1の組は、上記ウェハセクションにおける上記対になったプログラマブルICダイおよびインターフェイスダイを電気的に接続するために上記インターポーザを介して配線され、上記相互接続線の第2の組は、上記インターフェイスダイと上記固定機能ダイとを電気的に接続するために上記インターポーザを介して配線される。
【0013】
任意に、上記方法は、上記インターポーザの上に上記固定機能ダイを配設するステップをさらに含む。
【0014】
任意に、上記方法は、パッケージ基板の上に上記インターポーザを配設し、上記固定機能ダイ、上記ウェハセクション、上記インターポーザおよび上記パッケージ基板の少なくとも一部を封入して、上記集積回路パッケージを形成するステップをさらに含む。
【0015】
任意に、上記方法は、上記インターポーザの上に複数のマイクロバンプを配設するステップをさらに含み、上記複数のマイクロバンプは、上記インターポーザを介して配線された上記相互接続線を、上記プログラマブルICダイと上記インターフェイスダイと上記固定機能ダイとにおける回路に電気的に接続する。
【0016】
任意に、上記ウェハセクションにおける上記インターフェイスダイは、上記プログラマブルICダイのための上記マイクロバンプの第1のパターンおよび上記相互接続線の第1の組、ならびに、上記固定機能ダイのための上記マイクロバンプの第2のパターンおよび上記相互接続線の第2の組と適合してもよい。
【0017】
任意に、上記方法は、上記対になったプログラマブルICダイおよびインターフェイスダイの各々における上記プログラマブルICダイと上記インターフェイスダイとの間にスクライブラインを形成するステップをさらに含む。
【0018】
任意に、上記ウェハセクションにおける上記対になったプログラマブルICダイおよびインターフェイスダイは、同じウェハレベルの基板を共有してもよい。
【0019】
任意に、上記固定機能ダイは、高帯域幅メモリ(HBM)ダイを含んでもよく、上記インターフェイスダイは、HBMバッファダイを含んでもよい。
【0020】
任意に、上記固定機能ダイは、特定用途向け集積回路(ASIC)を含んでもよい。
本開示のさらに別の例は、集積回路パッケージである。上記パッケージは、一般に、パッケージ基板と、上記パッケージ基板の上に配設され、複数の相互接続線を備える少なくとも1つのインターポーザと、上記インターポーザの上に配設された少なくとも1つのフィールドプログラマブルゲートアレイ(FPGA)ダイと、上記インターポーザの上に配設された1つ以上の高帯域幅メモリ(HBM)ダイと、HBMバッファダイとを含み、上記HBMバッファダイは、上記インターポーザの上に配設され、上記インターポーザを介して上記FPGAダイと上記HBMバッファダイとの間に配線された相互接続線の第1の組および上記インターポーザを介して上記HBMバッファダイと上記1つ以上のHBMダイとの間に配線された相互接続線の第2の組を用いて上記FPGAダイを上記1つ以上のHBMダイに結合するように構成される。いくつかの例では、上記FPGAダイおよび上記HBMバッファダイは、同じウェハレベルの基板を共有する。いくつかの例では、上記FPGAダイおよび上記HBMバッファダイは、上記ウェハレベルの基板上でスクライブラインによって分離される。
【0021】
本開示のさらに別の例は、ウェハである。上記ウェハは、一般に、複数の論理領域を含み、各論理領域は、インターフェイスダイと対にされたプログラマブルICダイを備え、上記インターフェイスダイは、上記プログラマブルICダイを固定機能ダイに結合するためのものである。
【0022】
任意に、上記プログラマブルICダイは、スクライブラインによって上記インターフェイスダイから分離されてもよい。
【0023】
本開示のさらに別の例は、ICパッケージである。上記ICパッケージは、一般に、パッケージ基板と、上記パッケージ基板の上に配設された少なくとも1つのインターポーザと、上記インターポーザの上に配設されたプログラマブルIC領域と、上記インターポーザの上に配設された少なくとも1つの固定機能ダイと、インターフェイス領域とを含み、上記インターフェイス領域は、上記インターポーザの上に配設され、上記インターポーザを介して上記インターフェイス領域の第1の複数のポートと上記固定機能ダイとの間に配線された相互接続線の第1の組および上記インターフェイス領域の第2の複数のポートと上記プログラマブルIC領域との間に配線された相互接続線の第2の組によって上記プログラマブルIC領域を上記固定機能ダイに結合するように構成される。
【0024】
任意に、上記インターフェイス領域は、上記第1の複数のポートと上記第2の複数のポートとの間にスイッチネットワークとして構成されてもよい。
【0025】
任意に、上記スイッチネットワークは、上記第2の複数のポートの各々が上記第1の複数のポートのうちのいずれか1つにアクセスできるように上記第1の複数のポートの各々と上記第2の複数のポートの各々との間の完全なアドレス指定能力を提供してもよい。
【0026】
任意に、上記スイッチネットワークは、上記第2の複数のポートの各々が上記第1の複数のポートのうちの異なる1つにアクセスできるバイパスモードを提供してもよい。
【0027】
任意に、上記スイッチネットワークは、複数の接続されたフルクロスバースイッチネットワークを備える階層型スイッチネットワークとして実現されてもよい。
【0028】
任意に、上記スイッチネットワークは、アドバンスト・エクステンシブル・インターフェイス(AXI)タイプのスイッチネットワークとして実現されてもよい。
【0029】
任意に、上記スイッチネットワークは、パケットプロトコルタイプのスイッチネットワークとして実現されてもよい。
【0030】
任意に、上記プログラマブルIC領域および上記インターフェイス領域は、モノリシックダイの一部であってもよく、上記相互接続線の第2の組は、上記モノリシックダイの少なくとも1つの金属化層を介して配線されてもよい。
【0031】
任意に、上記相互接続線の第2の組はどれも、上記インターポーザを介して配線されなくてもよい。
【0032】
任意に、上記相互接続線の第2の組の少なくとも一部は、上記インターポーザを介して配線されてもよく、上記プログラマブルIC領域および上記インターフェイス領域は、同じウェハレベルの基板を共有してもよく、上記ウェハレベルの基板上でスクライブラインによって分離されてもよい。
【0033】
任意に、上記プログラマブルIC領域は、フィールドプログラマブルゲートアレイ(FPGA)領域を含んでもよく、上記固定機能ダイは、高帯域幅メモリ(HBM)ダイを含んでもよく、上記インターフェイス領域は、HBMバッファ領域を含んでもよく、上記第1の複数のポートは、HBMチャネルを含んでもよい。
【0034】
本開示のさらに別の例は、ICパッケージを作製する方法である。上記方法は、一般に、インターフェイス領域と対にされたプログラマブルIC領域にマスクを提供するステップを含み、上記インターフェイス領域は、上記プログラマブルIC領域を少なくとも1つの固定機能ダイに結合するためのものであり、上記方法はさらに、上記マスクを用いて、複数の上記対になったプログラマブルIC領域およびインターフェイス領域を有するウェハを生成するステップと、上記ウェハをダイシングして、上記複数の上記対になったプログラマブルIC領域およびインターフェイス領域のうちの1つを備えるウェハセクションを切り離すステップと、インターポーザの上に上記ウェハセクションを配設するステップとを含み、相互接続線の第1の組は、上記インターフェイス領域の第1の複数のポートと上記固定機能ダイとを電気的に結合するために上記インターポーザを介して配線され、相互接続線の第2の組は、上記インターフェイス領域の第2の複数のポートを上記ウェハセクションにおける上記対になったプログラマブルIC領域およびインターフェイス領域の上記プログラマブルIC領域に電気的に結合する。
【0035】
任意に、上記方法は、上記インターポーザの上に上記少なくとも1つの固定機能ダイを配設し、パッケージ基板の上に上記インターポーザを配設し、上記少なくとも1つの固定機能ダイ、上記ウェハセクション、上記インターポーザおよび上記パッケージ基板の少なくとも一部を封入して、上記集積回路パッケージを形成するステップをさらに含んでもよい。
【0036】
任意に、上記インターフェイス領域は、上記第1の複数のポートと上記第2の複数のポートとの間にスイッチネットワークとして構成されることができてもよい。
【0037】
任意に、上記スイッチネットワークは、上記第2の複数のポートの各々が上記第1の複数のポートのうちのいずれか1つにアクセスできるように上記第1の複数のポートの各々と上記第2の複数のポートの各々との間の完全なアドレス指定能力を提供してもよい。
【0038】
任意に、上記スイッチネットワークは、上記第2の複数のポートの各々が上記第1の複数のポートのうちの異なる1つにアクセスできるバイパスモードを提供してもよい。
【0039】
任意に、上記方法は、上記対になったプログラマブルIC領域およびインターフェイス領域の各々における上記プログラマブルIC領域と上記インターフェイス領域との間にスクライブラインを形成するステップをさらに含んでもよい。
【0040】
任意に、上記固定機能ダイは、高帯域幅メモリ(HBM)ダイを含んでもよく、上記インターフェイス領域は、HBMバッファ領域を含んでもよく、上記第1の複数のポートは、HBMチャネルを含んでもよい。
【0041】
本開示のさらに別の例は、ウェハである。上記ウェハは、一般に、複数の論理領域を含み、各論理領域は、インターフェイス領域と対にされたプログラマブルIC領域を備え、上記インターフェイス領域は、上記プログラマブルIC領域を固定機能ダイに結合するためのものであり、上記固定機能ダイに対応する第1の複数のポートと、上記プログラマブルIC領域に対応する第2の複数のポートとを備える。
【0042】
任意に、上記プログラマブルIC領域および上記インターフェイス領域は、モノリシックダイの一部であってもよく、上記ウェハは、上記モノリシックダイの少なくとも1つの金属化層を介して上記第2の複数のポートと上記プログラマブルIC領域との間に配線された複数の相互接続線をさらに含んでもよい。
【0043】
本開示のさらに別の例は、装置である。上記装置は、一般に、プログラマブルIC領域と、少なくとも1つの固定機能ダイに関連付けられた第1の複数のポートおよび上記プログラマブルIC領域に関連付けられた第2の複数のポートを介して上記プログラマブルIC領域を上記少なくとも1つの固定機能ダイに結合するように構成されたインターフェイス領域とを含み、上記インターフェイス領域は、上記第1の複数のポートと上記第2の複数のポートとの間にスイッチネットワークとして構成され、上記スイッチネットワークは、複数のフルクロスバースイッチネットワークを備える。
【0044】
任意に、上記フルクロスバースイッチネットワークの各々は、上記第1の複数のポートのサブセットと、上記第2の複数のポートのサブセットとを含む。上記第2の複数のポートの上記サブセットにおける各ポートは、上記第1の複数のポートの上記サブセットにおけるいずれかのポートにアクセスすることができてもよい。
【0045】
任意に、上記第1の複数のポートの上記サブセットは、4個のポートを含んでもよく、上記第2の複数のポートの上記サブセットは、4個のポートを含んでもよい。
【0046】
任意に、上記複数のフルクロスバースイッチネットワークの各隣接対は、複数の交差結合接続部によって接続されてもよい。
【0047】
任意に、上記複数の交差結合接続部は、少なくとも2つのアウトバウンド接続部と、少なくとも2つのインバウンド接続部とを含んでもよい。
【0048】
任意に、上記少なくとも2つのインバウンド接続部の各々は、上記第1の複数のポートの上記サブセットにおけるいずれかのポートおよび上記アウトバウンド接続部のうちの少なくとも1つにアクセスすることができてもよい。
【0049】
任意に、上記第2の複数のポートの上記サブセットにおける各ポートは、上記第1の複数のポートの上記サブセットにおけるいずれかのポートおよび上記複数の交差結合接続部のうちの少なくとも1つにアクセスすることができてもよい。
【0050】
任意に、上記複数のフルクロスバースイッチネットワークの第1のフルクロスバースイッチネットワークは、上記複数のフルクロスバースイッチネットワークの第2のフルクロスバースイッチネットワークとは異なる数のポートを上記第1の複数のポートの上記サブセットまたは上記第2の複数のポートの上記サブセットのうちの少なくとも1つに含んでもよい。
【0051】
任意に、上記プログラマブルIC領域は、複数のスプリッタを実装するように構成されてもよく、上記複数のスプリッタの各々は、上記複数のフルクロスバースイッチネットワークの各々における上記第2の複数のポートの指定されたポートにアクセスするように構成される。
【0052】
任意に、上記複数のフルクロスバースイッチネットワークは、4個のフルクロスバースイッチネットワークを含んでもよい。上記第2の複数のポートは、16個のポートを含んでもよく、上記複数のスプリッタは、2個のスプリッタを含んでもよく、上記2個のスプリッタの各々は、上記第2の複数のポートにおける4個の指定されたポートにアクセスするように構成される。
【0053】
任意に、上記スイッチネットワークは、アドバンスト・エクステンシブル・インターフェイス(AXI)タイプのスイッチネットワークまたはパケットプロトコルタイプのスイッチネットワークのうちの少なくとも1つとして構成されてもよい。
【0054】
本開示のさらに別の例は、ICパッケージである。上記ICパッケージは、一般に、プログラマブルIC領域と、少なくとも1つの固定機能ダイに関連付けられた第1の複数のポートおよび上記プログラマブルIC領域に関連付けられた第2の複数のポートを介して上記プログラマブルIC領域を上記少なくとも1つの固定機能ダイに結合するように構成されたインターフェイス領域とを含む。上記インターフェイス領域は、上記第1の複数のポートと上記第2の複数のポートとの間にスイッチネットワークとして構成され、上記スイッチネットワークは、複数のフルクロスバースイッチネットワークを含んでもよい。上記ICパッケージは、パッケージ基板と、上記パッケージ基板の上に配設された少なくとも1つのインターポーザとをさらに含む。上記少なくとも1つの固定機能ダイは、上記インターポーザの上に配設されてもよい。上記プログラマブルIC領域およびインターフェイス領域は、上記インターポーザの上に配設される。上記インターフェイス領域は、上記インターポーザを介して上記インターフェイス領域の上記第1の複数のポートと上記少なくとも1つの固定機能ダイとの間に配線された相互接続線の第1の組および上記インターフェイス領域の上記第2の複数のポートと上記プログラマブルIC領域との間に配線された相互接続線の第2の組によって上記プログラマブルIC領域を上記少なくとも1つの固定機能ダイに結合するように構成される。
【0055】
任意に、上記プログラマブルIC領域および上記インターフェイス領域は、モノリシックダイの一部であってもよく、上記相互接続線の第2の組は、上記モノリシックダイの少なくとも1つの金属化層を介して配線されてもよい。
【0056】
任意に、上記相互接続線の第2の組はどれも、上記インターポーザを介して配線されなくてもよい。
【0057】
任意に、上記相互接続線の第2の組の少なくとも一部は、上記インターポーザを介して配線されてもよい。上記プログラマブルIC領域および上記インターフェイス領域は、同じウェハレベルの基板を共有してもよく、上記ウェハレベルの基板上でスクライブラインによって分離されてもよい。
【0058】
任意に、上記プログラマブルIC領域は、フィールドプログラマブルゲートアレイ(FPGA)領域を含んでもよく、上記少なくとも1つの固定機能ダイは、少なくとも1つの高帯域幅メモリ(HBM)ダイを含んでもよく、上記インターフェイス領域は、HBMバッファ領域を含んでもよく、上記第1の複数のポートは、複数のHBMチャネルに関連付けられてもよい。
【0059】
本開示のさらに別の例は、ICパッケージを作製する方法である。上記方法は、一般に、インターフェイス領域と対にされたプログラマブルIC領域にマスクを提供するステップを含み、上記インターフェイス領域は、上記プログラマブルIC領域を少なくとも1つの固定機能ダイに結合するためのものであり、上記方法はさらに、上記マスクを用いて、複数の上記対になったプログラマブルIC領域およびインターフェイス領域を有するウェハを生成するステップと、上記ウェハをダイシングして、上記複数の上記対になったプログラマブルIC領域およびインターフェイス領域のうちの1つを備えるウェハセクションを切り離すステップと、インターポーザの上に上記ウェハセクションを配設するステップとを含み、相互接続線の第1の組は、上記インターフェイス領域の第1の複数のポートと上記固定機能ダイとを電気的に結合するために上記インターポーザを介して配線され、相互接続線の第2の組は、上記インターフェイス領域の第2の複数のポートを上記ウェハセクションにおける上記対になったプログラマブルIC領域およびインターフェイス領域の上記プログラマブルIC領域に電気的に結合し、上記インターフェイス領域は、上記第1の複数のポートと上記第2の複数のポートとの間にスイッチネットワークとして構成されることができ、上記スイッチネットワークは、複数のフルクロスバースイッチネットワークを備える。
【0060】
本開示のさらに別の例は、ウェハである。上記ウェハは、一般に、複数の論理領域を含み、各論理領域は、インターフェイス領域と対にされたプログラマブルIC領域を備え、上記インターフェイス領域は、上記プログラマブルIC領域を少なくとも1つの固定機能ダイに結合するためのものであり、上記少なくとも1つの固定機能ダイに対応する第1の複数のポートと、上記プログラマブルIC領域に対応する第2の複数のポートとを備え、上記インターフェイス領域は、上記第1の複数のポートと上記第2の複数のポートとの間にスイッチネットワークとして構成され、上記スイッチネットワークは、複数のフルクロスバースイッチネットワークを備える。
【0061】
本開示のさらに別の例は、装置と固定機能ダイとの間で信号をルーティングするための方法であって、上記装置は、プログラマブルIC領域と、上記プログラマブルIC領域を上記固定機能ダイに結合するように構成されたインターフェイス領域とを備える。上記方法は、一般に、アドレス部分とデータ部分とを有する信号を上記プログラマブルIC領域から上記インターフェイス領域の第1のポートにおいて受信するステップを含み、上記第1のポートは、上記プログラマブルIC領域に関連付けられ、上記方法はさらに、上記アドレス部分に基づいて、上記信号の少なくとも上記データ部分を上記インターフェイス領域を介して上記インターフェイス領域の第2のポートにルーティングするステップを含み、上記第2のポートは、上記固定機能ダイに関連付けられ、上記インターフェイス領域は、上記第1のポートと上記第2のポートとの間にスイッチネットワークとして構成され、上記スイッチネットワークは、複数のフルクロスバースイッチネットワークを備える。
【0062】
任意に、上記プログラマブルIC領域は、フィールドプログラマブルゲートアレイ(FPGA)領域を含んでもよく、上記固定機能ダイは、高帯域幅メモリ(HBM)ダイを含んでもよく、上記インターフェイス領域は、HBMバッファ領域を含んでもよく、上記第2のポートは、HBMチャネルに関連付けられてもよい。
【0063】
任意に、上記ルーティングするステップは、アドバンスト・エクステンシブル・インターフェイス(AXI)プロトコルまたはパケットプロトコルのうちの少なくとも1つを使用することを含んでもよい。
【0064】
任意に、上記方法は、上記プログラマブルIC領域に実装され、上記インターフェイス領域の上記第1のポートにアクセスするように構成されたスプリッタを介して上記信号をルーティングするステップをさらに含んでもよい。
【0065】
これらのおよび他の局面は、以下の詳細な説明を参照して理解することができる。
本開示の上記の特徴を詳細に理解することができるように、上で簡単に要約した本開示について例を参照することによってより特定的に説明し、当該例のうちのいくつかは添付の図面に示されている。しかし、添付の図面は、本開示の典型例を示しているに過ぎず、そのためその範囲を限定するものと考えられるべきではなく、本開示について他の同様に効果的な例を認めてもよい、ということに留意すべきである。
【図面の簡単な説明】
【0066】
【
図1】プログラマブルデバイスのための例示的なアーキテクチャを示すブロック図である。
【
図2】先行技術に係るスタックド・シリコン・インターコネクト(SSI)技術を利用した例示的な集積回路(IC)パッケージの断面図である。
【
図3A】本開示の一例に係る、インターフェイスダイを介して固定機能ダイに結合されたプログラマブルICダイを備える例示的なICパッケージの一部の上面図を示す。
【
図3B】本開示の一例に係る、インターフェイスダイを介して固定機能ダイに結合されたプログラマブルICダイを備える例示的なICパッケージの一部の断面図を示す。
【
図4】本開示の一例に係る、各々がプログラマブルICダイと高帯域幅メモリ(HBM)バッファダイとを含む一対の論理領域のための例示的なマスクを示す。
【
図5A】本開示の一例に係る、HBMバッファダイをプログラマブルICダイから分離して論理領域を作成するスクライブカットを示す、プログラマブルICダイがHBMバッファダイと対にされたウェハの上面図である。
【
図5B】本開示の一例に係る、HBMバッファダイがプログラマブルICダイと対になったままでウェハをダイシングして、HBMインターフェイスを有する論理領域を作成するスクライブカットを示す
図5Aのウェハの上面図である。
【
図6】本開示の一例に係る、第1の論理領域とHBMインターフェイスを有する第2の論理領域とHBMダイとを備える、SSI技術を利用した例示的なICパッケージの一部の上面図を示す。
【
図7】本開示の一例に係る例示的なHBMバッファダイのブロック図である。
【
図8】本開示の一例に係るICパッケージを作製するための例示的な動作のフロー図である。
【
図9】本開示の一例に係る、各プログラマブルIC相互接続チャネルがただ一つのHBMチャネルに接続される例示的なHBMバッファ領域のブロック図である。
【
図10】本開示の一例に係る、1つのプログラマブルIC相互接続チャネルが全てのHBMチャネルにアクセスできる例示的なHBMバッファ領域のブロック図である。
【
図11】本開示の一例に係る、1つ1つのプログラマブルIC相互接続チャネルが全てのHBMチャネルにアクセスできる例示的なHBMバッファ領域のブロック図である。
【
図12】本開示の一例に係る、プログラマブルIC相互接続チャネルとHBMチャネルとの間にスイッチネットワークの階層型実現例を有する例示的なHBMバッファ領域のブロック図である。
【
図13】本開示の一例に係る、HBMダイに結合された例示的なHBMバッファ領域であって、プログラマブルIC相互接続チャネルとHBMダイにおけるHBMメモリコントローラに結合されたHBMチャネルとの間にスイッチネットワークを有するHBMバッファ領域のブロック図である。
【
図14】本開示の一例に係る、スイッチネットワークの例示的な階層型実現例を示す、2つのHBMダイに結合された
図13の例示的なHBMバッファ領域のブロック図である。
【
図14A】本開示の一例に係る、
図14の階層型実現例におけるさまざまなフルクロスバースイッチ内のマスタユニットからスレーブユニットにアクセスする例を示す。
【
図14B】本開示の一例に係る、
図14の階層型実現例におけるさまざまなフルクロスバースイッチ内のマスタユニットからスレーブユニットにアクセスする例を示す。
【
図15A】本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ内の各マスタユニット(MU)のアクセス能力を示す。
【
図15B】本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ内の各マスタユニット(MU)のアクセス能力を示す。
【
図15C】本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ内の各マスタユニット(MU)のアクセス能力を示す。
【
図15D】本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ内の各マスタユニット(MU)のアクセス能力を示す。
【
図15E】本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ内の各マスタユニット(MU)のアクセス能力を示す。
【
図15F】本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ内の各マスタユニット(MU)のアクセス能力を示す。
【
図15G】本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ内の各マスタユニット(MU)のアクセス能力を示す。
【
図15H】本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ内の各マスタユニット(MU)のアクセス能力を示す。
【
図16】本開示の一例に係る、
図15A~
図15Hに示される各MUのさまざまなアクセス能力を定義する例示的な表である。
【
図17】本開示の一例に係る、プログラマブルIC相互接続チャネルとHBMチャネルとの間にスイッチネットワークの階層型実現例を有する例示的なHBMバッファ領域と接続された複数のスプリッタを示すブロック図である。
【
図18】本開示の一例に係る、信号をルーティングするための例示的な動作のフロー図である。
【発明を実施するための形態】
【0067】
詳細な説明
本開示の例は、1つ以上の構成(たとえば、高帯域幅メモリ(HBM))を、既存の認定スタックド・シリコン・インターコネクト(SSI)技術論理回路(たとえば、超論理領域(super logic region:SLR)などのプログラマブル集積回路(IC))に論理回路を変更する(たとえば、ブロックを追加または除去する)ことなく、追加するための技術および装置を提供する。論理回路に対するアプリケーションインターフェイスおよびプラグイン追加物(たとえば、HBMバッファおよびコントローラ)は、これらがあたかも単一のダイであるかのように同じマスクセット上に設計されてもよく、標準的なスクライブラインが論理回路ダイのアプリケーションプラグイン部分とインターフェイスダイとを分離する。アプリケーションプラグインとインターフェイスダイとの間の接続は、インターポーザ相互接続を用いてスクライブにわたってなされてもよい。
【0068】
例示的な集積回路パッケージ
集積回路(IC)ダイは、典型的には、回路基板(たとえば、印刷回路基板(PCB))との電気的接続のためにパッケージ内に配設される。パッケージは、腐食を引き起こすおそれがある潜在的な物理的損傷および湿気から集積回路ダイを保護する。
【0069】
図2は、スタックド・シリコン・インターコネクト(SSI)技術を利用した例示的なICパッケージ200の断面図である。ICパッケージ200は、パッケージ基板202と、基板202の上に配設されたインターポーザ204と、インターポーザ204の上に配設された複数のICダイ206と、封入材料(図示せず)とを含む。封入材料は、ICダイ206を封入して保護するためのさまざまな好適な物質のうちのいずれか(たとえば、樹脂)であってもよい。ICダイ206は、超論理領域(SLR)と称される製造性の高いフィールドプログラマブルゲートアレイ(FPGA)ダイスライスを含むさまざまな好適なダイのうちのいずれかを含み得る。
図2の例示的なICパッケージ200では4個のICダイ206(IC0~IC3)が示されているが、パッケージは5個以上のICダイまたは4個未満のICダイを含んでもよい。SSI技術は、さまざまなタイプまたはシリコンプロセスのダイをインターポーザ204上で相互接続することも可能にする。
【0070】
インターポーザ204は、ICダイ206が横並びにセットされて相互接続される相互接続媒体物(インターコネクトビークル)の役割を果たす。インターポーザ204は、たとえばパッシブシリコンインターポーザであってもよい。
図2にはインターポーザ204が1つだけ示されているが、ICパッケージ200は、いくつかの例では、インターポーザ204の代わりに複数のインターポーザで実現されてもよい。インターポーザ204は、インターポーザ204を介して高帯域幅・低レイテンシ接続を提供することができる複数の相互接続線208を含み得る。インターポーザ204の上には、ICダイ206の導電性パッドを相互接続線208に接続するための複数のマイクロバンプ210が配設されてもよい。インターポーザ204は、インターポーザ204とパッケージ基板202との間に配設された複数の共晶バンプ214(C4(controlled-collapse chip connection)バンプ)とICダイ206との間の接続をルーティングするための複数の貫通シリコンビア(TSV)212も含んでもよい。TSV212は、並列および直列I/O、電源/接地、クロッキング、構成信号などのために、ICダイ206と基板202との間の接続を提供することができる。複数の共晶バンプ214は、インターポーザ204を基板202に、より特定的には基板の表面上の導電性要素および基板のビアに電気的に接続する。
【0071】
ICパッケージ200は、パッケージ基板202の下に配設された複数のはんだボール216も有する。はんだボール216は、たとえば回路基板(たとえば、PCB)の表面上に配設された導電性パッドの対応する配列と電気的に接触するために行および列のアレイの形態で配置されてもよい。
【0072】
例示的なプログラマブル集積回路
多くの異なるタイプの集積回路(IC)ダイ206がインターポーザ204上に配設され、ICパッケージ200内にパッケージングされ得る。1つの好適なタイプのICは、フィールドプログラマブルゲートアレイ(FPGA)などのプログラマブルICである。FPGAは、典型的には、プログラマブルタイルのアレイを含む。これらのプログラマブルタイルは、たとえば入力/出力ブロック(IOB)、コンフィギュラブル論理ブロック(CLB)、専用のランダムアクセスメモリブロック(BRAM)、乗算器、デジタル信号処理ブロック(DSP)、プロセッサ、クロックマネージャ、遅延ロックループ(DLL)などを含んでもよい。別のタイプのプログラマブルICは、複合プログラマブル論理デバイスまたはCPLDである。CPLDは、ともに接続され、相互接続スイッチマトリックスによって入力/出力(I/O)リソースに接続された2つ以上の「機能ブロック」を含む。CPLDの各機能ブロックは、プログラマブル論理アレイ(PLA)およびプログラマブルアレイ論理(PAL)デバイスで使用されるものと同様の二段AND/OR構造を含む。他のプログラマブルICは、デバイス上のさまざまな要素をプログラム可能に相互接続する金属層などの処理層を適用することによってプログラムされる。これらのプログラマブルICは、マスクプログラマブルデバイスとして知られている。「プログラマブルIC」という表現は、特定用途向け集積回路(ASIC)などの、部分的にのみプログラム可能なデバイスも包含することができる。
【0073】
図1は、
図2のICパッケージ200に実装され得るプログラマブルデバイスのための例示的なアーキテクチャ100を示すブロック図である。アーキテクチャ100は、たとえばフィールドプログラマブルゲートアレイ(FPGA)内に実装されてもよい。示されるように、アーキテクチャ100は、いくつかの異なるタイプのプログラマブル回路、たとえば論理回路、ブロック、を含む。たとえば、アーキテクチャ100は、多数の異なるプログラマブルタイルを含んでもよく、当該プログラマブルタイルは、マルチギガビットトランシーバ(MGT)101と、コンフィギュラブル論理ブロック(CLB)102と、ランダムアクセスメモリブロック(BRAM)103と、入力/出力ブロック(IOB)104と、構成およびクロッキング論理回路(CONFIG/CLOCKS)105と、デジタル信号処理(DSP)ブロック106と、専門のI/Oブロック107(たとえば、構成ポートおよびクロックポート)と、デジタルクロックマネージャ、アナログデジタルコンバータ(ADC)、システムモニタリング論理回路などの他のプログラマブル論理回路108とを含む。
【0074】
いくつかのFPGAでは、各プログラマブルタイルは、各々の隣接するタイルにおける対応するプログラマブル相互接続要素(INT)111へ/からの標準的な接続を有するINT111を含む。したがって、INT111は、ひとまとめにして、示されているFPGAのためのプログラマブル相互接続構造を実現する。
図1の右端に含まれる例によって示されるように、各INT111は、同じタイル内のプログラマブル論理要素へ/からの接続も含む。
【0075】
たとえば、CLB102は、ユーザロジック+単一のINT111を実現するようにプログラム可能なコンフィギュラブル論理要素(CLE)112を含んでもよい。BRAM103は、1つ以上のINT111に加えて、BRAM論理要素(BRL)113を含んでもよい。典型的には、タイルに含まれるINT111の数は、タイルの幅に左右される。示されている例では、BRAMタイルは、5個のCLBと同じ幅を有しているが、他の数(たとえば、4個)も使用されてもよい。DSPブロック106は、適切な数のINT111に加えて、DSP論理要素(DSPL)114を含んでもよい。IOB104は、たとえば、INT111の1つのインスタンスに加えて、I/O論理要素(IOL)115の2つのインスタンスを含んでもよい。当業者に明らかであるように、たとえばIOL115に接続された実際のI/Oパッドは、典型的には、IOL115の領域に制限されるものではない。
【0076】
図1に示される例示的なアーキテクチャ100では、ダイの中央付近の水平な領域(
図1に斜線で図示)が構成、クロックおよび他の制御論理(CONFIG/CLOCKS105)に使用される。この中央領域から延在する他の垂直な領域109は、FPGAの幅にわたってクロックおよび構成信号を分散させることに使用され得る。
【0077】
図1に示されるアーキテクチャ100を利用したいくつかのFPGAは、FPGAの大部分を構成する規則正しい行構造を乱すさらなる論理ブロックを含む。当該さらなる論理ブロックは、プログラマブルブロックおよび/または専用回路であってもよい。たとえば、PROC110として示されているプロセッサブロックがCLB102およびBRAM103のいくつかの行にわたっている。
【0078】
PROC110は、FPGAのプログラマブル回路を実現するダイの一部として作製されるハードワイヤードプロセッサとして実現されてもよい。PROC110は、複雑さの点で個々のプロセッサ(たとえば、プログラムコードを実行することができるシングルコア)から1つ以上のコア、モジュール、コプロセッサ、インターフェイスなどを有する処理システム全体までの範囲にわたるさまざまな異なるプロセッサタイプおよび/またはシステムのうちのいずれかを表すことができる。
【0079】
より複雑な配列では、たとえば、PROC110は、1つ以上のコア(たとえば、中央処理装置)、キャッシュメモリ、メモリコントローラ、ICのI/Oピン(たとえば、I/Oパッド)に直接結合するように、および/または、FPGAのプログラマブル回路に結合するように構成可能な一方向および/または二方向インターフェイスを含んでもよい。「プログラマブル回路」という表現は、IC内のプログラマブル回路要素(たとえば、本明細書に記載されているさまざまなプログラマブルまたはコンフィギュラブル回路ブロックまたはタイル)を指すことができ、FPGAにロードされる構成データに従ってさまざまな回路ブロック、タイルおよび/または要素を選択的に結合する相互接続回路を指すこともできる。たとえば、PROC110の外部にある
図1に示される部分は、FPGAのプログラマブル回路の一部であると考えてもよく、またはFPGAのプログラマブル回路であると考えてもよい。
【0080】
図1は、プログラマブル回路(たとえば、プログラマブルファブリック)と処理システムとを含むFPGAを実現するために使用することができる例示的なアーキテクチャ100を示すよう意図されている。たとえば、ある行における論理ブロックの数、行の相対幅、行の数および順序、行に含まれる論理ブロックのタイプ、論理ブロックの相対サイズ、および
図1の右側に含まれる相互接続/論理実現例は、例示である。実際のFPGAでは、たとえば、ユーザ回路設計の効率的な実現を容易にするために、CLBがどこに現れても、典型的にはCLB102の2つ以上の隣接する行が含まれる。しかし、隣接するCLB行の数は、FPGAの全体サイズによっていろいろであってもよい。さらに、FPGA内のPROC110のサイズおよび/または位置決めは、例示を目的としているに過ぎず、本開示の1つ以上の例を限定するものとして意図されているわけではない。
【0081】
SSI技術集積化のための例示的なスタンドアロンインターフェイス
上記のように、スタックド・シリコン・インターコネクト(SSI)技術デバイスは、インターポーザを使用して、複数の集積回路(IC)ダイを微少なマイクロバンプおよび金属トレースを用いて従来のICパッケージ技術またはPCB技術で利用できるものよりもはるかに高密度に接続する。PCB上のパッケージピンに接続された従来のI/Oを使用して可能になるものよりも実質的に高密度かつ高速の接続により、さらなる能力を有する固定機能ダイ(たとえば、ASIC)をプログラマブルICダイ(たとえば、FPGA SLR)に接続することによって、特定のアプリケーションでSSI技術を活用することが望ましいであろう。いくつかの例では、当該さらなる能力がプログラマブルICダイに付加される場合、固定機能ダイと一致した機能およびパターンを有するマイクロバンプと接続するように固定機能ダイに接続されるさらなる回路(たとえば、バッファ)をプログラマブルICダイに追加する必要があるかもしれない。特定のアプリケーションでは、新たな能力をサポートするために必要になるであろう多数のさらなる接続は、プログラマブルICアーキテクチャにとって非常に破壊的であるおそれがあり、論理および/またはDSPブロックの除去ならびにクロッキングネットワークの変更を伴う可能性がある。既存の運用中のプログラマブルICダイに対してこのような変更がなされる場合、ダイ全体を完全に再認定することが望ましいが、これは複雑でコストがかかる。
【0082】
本開示の例は、プログラマブルICアーキテクチャのこの破壊および再認定を回避し、その代わりにプログラマブルICダイを元のままにする。一方の側ではプログラマブルICダイ(たとえば、FPGA SLR)のインターポーザ相互接続データとクロッキングマイクロバンプと相互接続パターンとに適合し、他方の側では固定機能ダイのマイクロバンプと相互接続パターンとに適合するインターフェイスダイが設計される。当該インターフェイスダイは、固定機能プロトコルをインターポーザ相互接続適合プロトコルに変換するように機能する。プログラマブルICダイおよびインターフェイスダイは、ウェハダイシング後は同じウェハレベルの基板(たとえば、半導体材料の同じモノリス)を共有してもよいが、スクライブライン(標準的なスクライブ)によって分離されてもよい。
【0083】
図3Aおよび
図3Bは、それぞれ、本開示の一例に係る、インターフェイスダイ306を介して固定機能ダイ304に結合されたプログラマブルICダイ302を備える(たとえば、インターポーザレベルにおける)例示的なICパッケージの一部の上面図および断面図を示す。マスクを使用して、インターフェイスダイ306と対にされたプログラマブルICダイ302のいくつかのインスタンスを有するウェハを生成してもよい。ダイシング後は、プログラマブルICダイ302およびインターフェイスダイ306は、
図3Bに示されるように同じウェハレベルの基板を共有してもよい。スクライブライン308は、インターフェイスダイ306をプログラマブルICダイ302から分離してもよく、ウェハセクションを通る2つのダイ間に直接的な電気的接続はなくてもよい。その代わりに、プログラマブルICダイ302およびインターフェイスダイ306における回路を電気的に接続するために、インターポーザ204を介した相互接続線の第1の組310が使用されてもよい。インターフェイスダイ306の一方の側は、プログラマブルICダイ302のためのマイクロバンプ210のパターンと相互接続線の第1の組310とに適合するように設計される。固定機能ダイ304およびインターフェイスダイ306における回路を電気的に接続するために、インターポーザ204を介して配線された相互接続線の第2の組312が使用されてもよい。インターフェイスダイの別の側は、固定機能ダイ304のためのマイクロバンプ210のパターンと相互接続線の第2の組312とに適合するように設計される。このように、インターフェイスダイ306の設計およびインターポーザ204での相互接続線208の使用により、プログラマブルICダイ302に対していかなる変更を加えることなく、固定機能ダイ304のさらなる能力をSSI技術ICパッケージに統合することが可能になる。したがって、既存の運用中のプログラマブルICダイを再認定する必要がない。
【0084】
SSI技術を利用することができる1つの例示的なアプリケーションは、高帯域幅メモリ(HBM)を含む。HBMは、高性能グラフィックアクセラレータおよびネットワークデバイスなどのさまざまな好適なアプリケーションのうちのいずれかで使用することができる三次元(3D)積層型ダイナミックRAM(DRAM)のための高性能ランダムアクセスメモリ(RAM)インスタンスである。HBMでは、8個までのDRAMダイが積層されてもよく、それらは貫通シリコンビア(TSV)およびマイクロバンプによって相互接続されてもよい。
【0085】
HBMデバイスは、SSI技術を活用して、PCB上のパッケージピンに接続された従来のI/Oを用いて従来のDRAMが可能にするものよりも8~10倍(8~10×)高密度かつ高速にDRAMをプログラマブルICダイ(たとえば、FPGAダイ)に接続することができる。HBMがFPGAに追加される場合には、HBMに接続されたFPGAにバッファを追加することが望ましいであろう。これらのバッファは、隣接するHBMと一致した機能およびパターンを有するマイクロバンプを駆動するであろう。HBMから入来するデータは、非常に高い帯域幅(たとえば、HBMデバイス当たり6テラビット/秒(Tbps))を有するであろう。FPGAへの何万もの求められる接続を追加することは、FPGAアーキテクチャにとって非常に破壊的であり、FPGAファブリックの規則性から論理およびDSPブロックを除去してHBMバッファからの接続を追加することを伴うであろう。当該追加は、FPGAクロッキングネットワークも破壊するおそれがある。新たなHBMバッファを設計しなければならないことに加えて、IC製造業者は、HBMサポートを追加するために、クロッキング、CLEおよび/またはDSPに関連する新たなブロックも開発するかもしれない。上記のように、FPGA(SLR)の認定は非常に複雑である。さらに、HBM規格は、典型的なFPGA製品の寿命期間にわたって変化することが予想される。規格の変化は、HBMバッファおよびFPGA(SLR)全体の再設計ならびに完全な再認定を伴う可能性がある。
【0086】
本開示の例は、FPGA(SLR)を元のままにする。一方の側ではFPGA(SLR)のインターポーザ相互接続データとクロッキングマイクロバンプと相互接続パターンとに適合し、他方の側ではHBMメモリ(または、複数のメモリ)のマイクロバンプと相互接続パターンとに適合するHBMバッファダイが設計され得る。HBMバッファダイの機能は、HBMプロトコルをAXI(アドバンスト・エクステンシブル・インターフェイス)のようなインターポーザ相互接続適合プロトコルに変換するというものである。上記のように、FPGAおよびHBMバッファデバイスは、同じウェハレベルの基板を共有してもよいが、スクライブラインによって分離されてもよい。本開示全体を通してHBMアプリケーションおよびHBMバッファダイが例として使用されているが、好適なインターフェイスダイを用いて任意の好適なアプリケーション(および特定用途向け集積回路(ASIC)ダイ)がSSI技術ICパッケージに統合されてもよいということが理解される。
【0087】
図4は、本開示の一例に係る、一対の論理領域のための例示的なマスク400を示す。各論理領域は、プログラマブルICダイ402と、HBMバッファダイ404とを含む。
図4の例示的なマスク400では一対の論理領域が示されているが、マスクは、論理領域を1つだけ有していてもよく、または3個以上の論理領域を有していてもよい。
図4は、プログラマブルICダイ402およびHBMバッファダイ404を、同じ幅405を有してスクライブライン406によって分離されるものとして示している。このスクライブライン406は、標準的な幅を有してもよい。他の例では、HBMバッファダイ404は、プログラマブルICダイ402とは異なる幅を有してもよい。HBMバッファダイ404およびプログラマブルICダイ402は、適合したインターポーザ相互接続マイクロバンプパターンを有してもよい。
図4におけるマスク400を使用して、
図5Aおよび
図5Bに示されるウェハを作成することができる。
【0088】
図5Aおよび
図5Bは、1つのマスクセットを使用して2つの異なる論理領域を作成する方法を示す。
図5Aは、本開示の一例に係る、HBMバッファダイ504と対にされたプログラマブルICダイ502を含む論理領域(たとえば、SLR)を有するウェハ500の上面図である。破線506は、ウェハ500がダイシングされるスクライブカットを表し、HBMバッファダイ504は、プログラマブルIC(PIC)ダイ502から分離される。
図5Aにおけるウェハ500を使用して、たとえば従来のSSI技術FPGA SLRを製造することができる。分離されたHBMバッファダイ504は、廃棄されてもよい。
【0089】
図5Bは、本開示の一例に係るHBMインターフェイスを有するウェハ520の上面図である。ウェハ520は、
図5Aのウェハ500と同じ開始ウェハであってもよいが、スクライブカットが異なっている。
図5Bにおけるウェハ520は、PLダイ502およびHBMバッファダイ504が単一の論理領域(たとえば、SLR)として対にされるようにダイシングされる。HBMバッファおよびPL部分は、スクライブによって分離されてもよく、ダイシングされたウェハセクションにいかなる直接的な電気的接続も持たなくてもよい。それどころか、2つの部分間の接続は、SSIインターポーザにおける相互接続線によってなされてもよい。
【0090】
インターポーザ204におけるこれらの相互接続線310は、ダイ間に幅広の高帯域幅の接続を作成するように設計される。さらに、相互接続線310は、HBMの驚異的な帯域幅を吸収するのに十分なプログラマブル論理回路(たとえば、FPGA)にわたって接続の帯域幅を分散させるように設計されてもよい。(たとえば、スクライブラインによる)プログラマブルICダイとHBMバッファダイとの分離は、リスクを減少させてベンダーフレキシビリティを向上させることにも役立つ。このように、HBMもしくはHBMバッファダイに関連する問題またはHBM規格の変化は、プログラマブル論理回路の有用性に影響を及ぼさない。さらに、HBMベンダーの違いまたはHBM規格の進化によりHBM設計が変更されても、プログラマブル論理回路を破壊する必要がない。これは、膨大な量の認定時間を節約することになる。その理由は特に、インターポーザ相互接続線310上のHBMとPICとの接続がソフトであり得て、改良のためのマスク変更を伴わなくてもよいというものである。相互接続線310上のこのソフトな接続は、どの線が接続されるかを調節するように制御可能な、各相互接続線の端部における二方向ドライバで実現されてもよい。
【0091】
図6は、本開示の一例に係る、SSI技術を利用した(たとえば、インターポーザレベルにおける)例示的なICパッケージの一部の上面図を示す。ICパッケージの一部は、第2の論理領域608(HBMバッファダイ606と対にされた第2のプログラマブルICダイ604を備える)に結合された第1の論理領域602(第1のプログラマブルICダイを備える)を含み、第2の論理領域は、HBMインターフェイスを有する論理領域と称されることができる。HBMバッファダイ606は、2つのHBMダイ610,612に結合されている。プログラマブルICダイ604およびHBMバッファダイ606は独立しているが、これらのダイは、単一の論理領域608としてウェハからダイシングされてもよい。第2の論理領域608における2つのダイ604,606は、インターポーザ615を介して配線された相互接続線の第1の組614を用いて接続されてもよい。プログラマブルICダイ604とHBMバッファダイ606との間に配線される相互接続線614は、
図2におけるICダイ206間で使用される相互接続線208と同じタイプであってもよい。いくつかの例では、HBMチャネルは、デバイス当たり8個のチャネルを有する状態で、500メガビット/秒(Mbps)で1440個の相互接続信号を伴ってもよい。したがって、論理領域602と論理領域608との間には1440個の信号を有する16個のプログラマブルIC相互接続チャネルがあってもよい。HBMバッファダイ606とHBMダイ610,612との間の相互接続線616は、インターポーザ204に関するHBM JEDEC規格を使用してもよい。いくつかの例では、HBMデバイス当たり8個のチャネルを有する状態で、2ギガビット/秒(Gbps)でHBMチャネル当たり212本の相互接続線があってもよい。
【0092】
好適なプロセスでのインターポーザ相互接続(たとえば、65nm以下)は、HBM帯域幅および密度と非常に適合し得る。
図7は、本開示の一例に係る例示的なHBMバッファダイ700の最上階層の設計を示す。HBMバッファダイ700は、
図6におけるHBMバッファダイ606の1つの例示的な実現例であってもよい。HBMダイ610,612から入来する信号総数および帯域幅は、相互接続信号の帯域幅によってプログラマブルIC(たとえば、FPGA)に対してうまくバランスがとられている。当該回路は、HBMチャネル704とプログラマブルIC相互接続チャネル706との間にスイッチネットワーク702(たとえば、AXIスイッチネットワーク)を有してもよい。HBM設計は、HBM配置とプログラマブルIC相互接続配置とを独立したものにすることも可能にする。
【0093】
図7における各マスタユニット(MU)708は、たとえば500MHzで動作する512ビットAXIバスであってもよく、これは、プログラマブルIC相互接続チャネル706における1440個の信号のうちの大半を占め得る。各HBM出力におけるスレーブユニット(SU)710も、たとえば500MHzで動作する512ビットAXIバスであってもよい。2ギガビット/秒(Gbps)での128ビットのHBMアプリケーションは、500MHzでの512ビットAXIインターフェイスをもたらすことができる。
【0094】
本開示の例によって、論理回路を変更する(たとえば、ブロックを追加または除去する)ことなく、HBMメモリまたは別の好適な能力を既存の認定SSI技術論理回路に追加することができる。アプリケーションインターフェイスおよび論理回路へのプラグイン追加物(たとえば、HBMバッファおよびコントローラ)は、これらがあたかも単一のダイであるかのように同じマスクセット上に設計されてもよく、標準的なスクライブラインが、論理回路ダイのアプリケーションプラグイン部分とインターフェイスダイとを分離する。アプリケーションプラグインとインターフェイスダイとの間の接続は、インターポーザ相互接続を用いてスクライブ上でなされてもよい。
【0095】
本開示の例に係るスタンドアロンインターフェイスアプローチによって提供される利点は数多くある。プログラマブルICダイが複数のテープアウト(たとえば、エンジニアリングサンプルおよび製造)を有し得るので、追加のマスクコストなしに、製造を含む任意のテープアウトにインターフェイスダイ(たとえば、HBMバッファダイ)を追加することができる。プログラマブルIC(たとえば、FPGA)にさらなる構成のサポート(たとえば、HBMサポート)を導入することは、新たなプログラマブルICの設計ならびにその後のモデリングおよび認定を含む必要はない。インターポーザ相互接続が既にサポートされモデリングされているので、能力(たとえば、HBM)の追加は、ICパッケージ設計者および/または製造業者におけるさまざまなグループからのいかなる追加作業も伴う必要はない。設計ガイドライン(たとえば、HBM規格)およびプログラマブルIC上の相互接続信号のパターンを理解している1つのグループだけがインターフェイスダイ(たとえば、HBMバッファダイ)を設計することができてもよい。また、当該設計は、外部ベンダーにとって非常に移植性が高く(ポータブルで)あり得る。設計に対するさらなる変更(たとえば、HBM規格の改訂)は、プログラマブルIC設計または認定に影響を及ぼさなくて済む。スタンドアロンインターフェイス設計は、相互接続サポートを有するいかなる論理回路にも適用することができる。
【0096】
ICパッケージを作製するための例示的な動作
図8は、本開示の一例に係る、ICパッケージを作製するための例示的な動作800のフロー図である。動作800は、たとえば半導体処理室を含み得るICパッケージを作製するためのシステムによって実行されてもよい。
【0097】
動作800は、ブロック802から開始し得て、ブロック802において、インターフェイスダイと対にされたプログラマブルICダイにマスクを提供する。インターフェイスダイは、プログラマブルICダイを少なくとも1つの固定機能ダイに結合するためのものである。ブロック804において、マスクを使用して、複数の対になったプログラマブルICダイおよびインターフェイスダイを有するウェハを生成する。ブロック806において、ウェハをダイシングして、複数の対になったプログラマブルICダイおよびインターフェイスダイのうちの1つを備えるウェハセクションを切り離し得る。ブロック808において、複数の相互接続線を備えるインターポーザの上にウェハセクションを配設し得る。ウェハセクションにおける対になったプログラマブルICダイおよびインターフェイスダイを電気的に接続するために、相互接続線の第1の組がインターポーザを介して配線されてもよい。インターフェイスダイと固定機能ダイとを電気的に接続するために、相互接続線の第2の組がインターポーザを介して配線されてもよい。
【0098】
いくつかの例によれば、動作800は、固定機能ダイをインターポーザの上に配設することをさらに伴ってもよい。いくつかの例では、動作は、インターポーザをパッケージ基板の上に配設すること、および/または、固定機能ダイ、ウェハセクション、インターポーザおよびパッケージ基板の少なくとも一部を封入して、集積回路パッケージを形成することをさらに含んでもよい。いくつかの例では、複数のマイクロバンプがインターポーザの上に配設されてもよい。この場合、複数のマイクロバンプは、インターポーザを介して配線された相互接続線を、プログラマブルICダイとインターフェイスダイと固定機能ダイとにおける回路に電気的に接続することができる。いくつかの例では、ウェハセクションにおけるインターフェイスダイは、プログラマブルICダイのためのマイクロバンプの第1のパターンおよび相互接続線の第1の組と適合し、固定機能ダイのためのマイクロバンプの第2のパターンおよび相互接続線の第2の組と適合する。
【0099】
いくつかの例によれば、動作800は、対になったプログラマブルICダイおよびインターフェイスダイの各々におけるプログラマブルICダイとインターフェイスダイとの間にスクライブラインを形成することをさらに含んでもよい。
【0100】
いくつかの例によれば、ウェハセクションにおける対になったプログラマブルICダイおよびインターフェイスダイは、同じウェハレベルの基板を共有する。
【0101】
いくつかの例によれば、固定機能ダイは、HBMダイを備える。この場合、インターフェイスダイは、HBMバッファダイを備えてもよい。いくつかの例では、相互接続線の第2の組は、HBM JEDEC規格に従ったものである。
【0102】
いくつかの例によれば、固定機能ダイは、特定用途向け集積回路(ASIC)を備える。
【0103】
いくつかの例によれば、インターポーザを介して配線された相互接続線によるもの以外に、ウェハセクションにおける対になったプログラマブルICダイおよびインターフェイスダイの間に電気的接続はない。
【0104】
例示的なHBM帯域幅集約スイッチ
上記のように、HBMは、高性能グラフィックアクセラレータおよびネットワークデバイスなどのさまざまな好適なアプリケーションのうちのいずれかで使用することができる3D DRAMのための高性能RAMインスタンスである。HBMでは、8個までのDRAMダイが積層されてもよく、それらは貫通シリコンビア(TSV)およびマイクロバンプによって相互接続されてもよい。HBMデバイスは、SSI技術を活用して、PCB上のパッケージピンに接続された従来のI/Oを使用して従来のDRAMが可能にするものよりも8~10倍(8~10×)高密度かつ高速に積層型DRAMをプログラマブルICダイに接続してもよい。1つのHBMデバイスが16個の疑似メモリチャネルを有することができ、その各々は、1600Mbps64ビットダブルデータレート(DDR)デュアルインラインメモリモジュール(DIMM)と同じ帯域幅を有し、これは相当に高い帯域幅である。
【0105】
しかし、HBMにおける各メモリチャネルは、分離されたメモリアレイに達し、各HBMチャネルは、そのパーティションの中のアドレスを有するメモリにのみアクセスできる。HBMデバイスの全ての帯域幅およびビットを十分に利用するために、システムは、たとえば各チャネルにアクセスする16個の独立したエージェントを有してもよい。プログラマブルICにおけるシステムがエージェントを4個しか持たない場合には、チャネルのグループを各エージェントに接続して全てのビットおよび帯域幅を使用することは非常に困難であるかもしれない。各エージェントへのHBMチャネルの集約は、プログラマブルIC内の相当なファブリックリソースを利用し得るが、これはHBMの帯域幅要件によってさらに難しくなる可能性がある。HBMスイッチ(たとえば、スイッチネットワーク702)がなければ、各HBM疑似チャネルは、プログラマブルICダイの境界のファブリック論理回路および他の論理回路と入力/出力(I/O)との間のインターフェイス(境界論理インターフェイス(BLI)と称される)を介してプログラマブルICファブリックに接続されてもよい。BLIは、非常に大型で複雑なHBM疑似チャネル論理回路およびI/OをプログラマブルICのファブリックアレイ内のCLEまたはDSPL(たとえば、
図1におけるCLE112またはDSPL114)などのはるかに小さなブロックとしてとらえることを可能にすることができる。
【0106】
本開示の例は、プログラマブルIC相互接続チャネル(たとえば、FPGA BLI)とHBM疑似チャネル(PC)との間のスイッチ(たとえば、スイッチネットワーク702)を利用する。いくつかの例では、当該スイッチは、いずれかのプログラマブルIC相互接続チャネルがいずれかのHBM疑似チャネルにアクセスすることを可能にすることができる。したがって、どの疑似チャネルからビットがアクセスされるかにかかわらず、いずれかの相互接続チャネルがHBM内のいずれかのビットにアクセスすることができる。
【0107】
現行のPCBベースの設計環境では、4個の64ビットDDR DIMMを有することは、パッケージおよびPCB技術の限界を押し広げる。いくつかの例では、HBMを有するプログラマブルICは、そこに接続された16個の64ビットDDR DIMMの等価物を可能にすることができる。顧客およびアプリケーションの中には16個のHBMインターフェイスの使用を見出すものもいると思われるが、大半のアプリケーションは、4個のインターフェイスを使い続けるか、またはこれを二倍にして8個にし得る。したがって、4個のメモリを望む顧客は、4個のHBM疑似チャネルの帯域幅およびビットを組み合わせて仮想メモリを作成し得る。4個からなる4つのグループから13個からなる1つのグループおよび1個からなる3つのグループまで、多くの組み合わせが可能であるということが理解される。各HBM疑似チャネル(PC)は、BLIを介してプログラマブルICのファブリック領域に入ってもよく、500MHzで動作する256ビットフルデュプレックスAXIバスであってもよい。4個のHBM疑似チャネルBLIを組み合わせることは、プログラマブルICの相当なリソースを消費する可能性があり、非常に困難なタイミングクロージャを有する可能性がある。プログラマブルIC相互接続チャネル(たとえば、FPGA BLI)とHBM PCとの間のスイッチをハード化することによって、ファブリックリソースを節約してタイミングクロージャ問題を除去することができる。
【0108】
理想的なスイッチネットワークが有するべきである主な特徴が2つある。第一に、美しい(idyllic)ケースでは、スイッチネットワークへのBLIマスタ入力はどれもみな、ありとあらゆるHBM疑似チャネルスレーブポートにアクセスできる。第二に、各BLIがただ一つのHBM PCに直接接続されるケース(「アフィニティケース」とも称される)では、スイッチネートワークを介したレイテンシは最小であるべきである。
【0109】
図9は、本開示の一例に係る、アフィニティケースの場合の例示的なHBMバッファ領域900のブロック図である。当該回路は、HBMチャネル704(たとえば、HBM PC)とプログラマブルIC相互接続チャネル906(たとえば、BLIポート)との間にスイッチネットワーク902を有し得る。スイッチネットワーク902では、各プログラマブルIC相互接続チャネル906は、ただ一つのHBMチャネル704に直接接続されている。
【0110】
図9のアフィニティケースは、HBMデバイスから利用できる最大帯域幅を使用するアプリケーションである。アフィニティケースを使用するアプリケーションは、最小限のレイテンシを予想することができる。下記の他のHBMバッファ領域では、任意に、
図9に示されるアフィニティケースで動作するようにスイッチネットワーク902を構成することによって最小限のレイテンシでスイッチを事実上迂回してもよい。
【0111】
上記の他の例と同様に、(HBMバッファ領域900を含む)本明細書に記載されているHBMバッファ領域は、一方の側ではプログラマブルICのインターポーザ相互接続データとクロッキングマイクロバンプと相互接続パターンとに適合し、他方の側ではHBMメモリ(または、複数のメモリ)のマイクロバンプと相互接続パターンとに適合し得る。HBMバッファ領域の機能は、HBMプロトコルをAXI(アドバンスト・エクステンシブル・インターフェイス)のようなインターポーザ相互接続適合プロトコルに変換するというものである。いくつかの例では、上記のように、プログラマブルICおよびHBMバッファ領域900は、同じウェハレベルの基板を共有してもよいが、スクライブラインによって分離されてもよく、それらの間の接続のためにインターポーザに依拠してもよい。この場合、HBMバッファ領域900は、別個のHBMバッファダイであってもよい。他の例では、HBMバッファ領域900は、単一のモノリシックダイにおけるプログラマブルICと統合されてもよい。この場合、プログラマブルICおよびHBMバッファは、それらの間の接続のためにインターポーザに依拠する必要はなく、いくつかの例では、プログラマブルICとHBMバッファとを接続するためにインターポーザを介して配線された電気的接続はなくてもよい。その代わりに、IC金属化(メタライゼーション)を使用して、HBMバッファ回路をプログラマブルIC回路と接続してもよい。IC金属化は、1つ以上の金属化層を利用してもよい。他の例では、IC金属化とインターポーザ相互接続線との組み合わせを利用して、プログラマブルIC回路をHBMバッファ回路と接続してもよい。
【0112】
スイッチネットワーク902は、たとえばAXIタイプのスイッチネットワークまたはパケットプロトコルタイプのスイッチネットワークであってもよい。AXIタイプのスイッチネットワークでは、信号は、各マスタユニット708から駆動され、アービタによって制御されるマルチプレクサ(MUX)によって共通のアドレス/データ/制御バス上に多重化されてもよい。マルチプレクサの出力は、スレーブユニット710に広げられてもよい。バスは、データ、アドレスおよび制御信号を別々にMUX構造を介して転送する。アドレスおよび制御は、アービトレーションシステムとともに、一連のMUXおよびバッファを介してマスタユニット708からスレーブユニット710にデータバスを仕向ける。パケットプロトコルタイプのスイッチネットワークでは、データ、アドレスおよび制御は、パケット内で一組のフロー制御ディジット(「フリット」とも称される)と組み合わせられてもよい。当該パケットは、たとえばフリットに基づいてマスタユニット708からスレーブユニット710に送信されてもよい。
【0113】
図10は、本開示の一例に係る、1つのプログラマブルIC相互接続チャネル906
Aが全てのHBMチャネル704にアクセスできるようにスイッチネットワーク902が構成された例示的なHBMバッファ領域1000を示す。このように、この特定のチャネル906
Aは、完全なアドレス指定能力を有する。しかし、この場合、帯域幅は、HBM PCではなくBLIポートによって制限され得る。他の例では、特定のプログラマブルIC相互接続チャネルが相互接続チャネル906のうちのいずれか1つであってもよいということが理解される。
【0114】
図11は、本開示の一例に係る、1つ1つのプログラマブルIC相互接続チャネル906が全てのHBMチャネル704にアクセスすることができるようにスイッチネットワーク902が構成された例示的なHBMバッファ領域1100を示す。「フルクロスバースイッチ」と称されるこのタイプのスイッチは、
図9および
図10に示される両方のケースおよびそれらの間の全ての組み合わせを実現することができる。フルクロスバースイッチは非常に柔軟性があるが、2つの欠点がある。第一に、フルクロスバースイッチは、たとえハードブロックとして実装されたとしても、アクセス経路のさまざまな組み合わせを実現するために非常に大きな実装を有するであろう。第二に、アフィニティケースを含む全ての経路のレイテンシは比較的高く(すなわち、スロー経路)、そのためフルクロスバースイッチは相当なレイテンシを有するであろう。
【0115】
フルクロスバースイッチの1つの代替案は、階層型スイッチである。
図12は、本開示の一例に係る、プログラマブルIC相互接続チャネル906とHBMチャネル704との間に階層型スイッチを実現するようにスイッチネットワーク902が構成された例示的なHBMバッファ領域1200を示す。この例示的な実現例では、階層型スイッチは、2つの5:5フルクロスバースイッチ1210と、2つの6:6フルクロスバースイッチ1212とを備え、隣接するフルクロスバースイッチの間に交差結合接続部1214を有する。当該配置は、依然として、
図9のアフィニティケースおよび
図11の完全なアドレス指定能力ケースを提供する。
図12には2つの5:5フルクロスバースイッチ1210および2つの6:6フルクロスバースイッチ1212が示されているが、代替案において階層型スイッチを実現するためにさまざまな好適なフルクロスバー構成(たとえば、2つの9:9フルクロスバースイッチ、または2つの3:3フルクロスバースイッチおよび6個の4:4フルクロスバースイッチ)のうちのいずれかが使用されてもよいということが理解される。階層型スイッチの完全なアドレス指定能力ケースのレイテンシは、プログラマブルIC相互接続チャネル906とHBMチャネル704との間にカスケード接続されたスイッチの数の関数である。階層型スイッチを用いたアフィニティケースは、かなり少ないレイテンシを有する。なぜなら、6:6フルクロスバースイッチは、(
図11に示される)16:16フルクロスバースイッチよりもかなり少ないレイテンシを有するからである。
【0116】
図11の柔軟な実現例では、フルクロスバースイッチは、あらゆるマスタユニット708とスレーブユニット710との間に「専用の」経路を提供する。したがって、遮断(ブロッキング)がない。これに対して、
図12の階層型スイッチは、いくらかの遮断を有する。遮断の一例は、5:5フルクロスバースイッチ1210左端における2つのマスタユニット708が、6:6フルクロスバースイッチ1212左端における2つのスレーブユニット710にアクセスしたい場合である。この場合、スイッチネットワーク
902を通る両方の経路は、5:5フルクロスバースイッチ1210左端と6:6フルクロスバースイッチ1212左端との間の交差結合接続部1214のうちの1つを共有するであろう。2つのマスタユニット708が同時に同じリソースを使用することはできないので、一方の経路は、左端の6:6フルクロスバースイッチ1212におけるスレーブユニット710への他方の経路のアクセスを「遮断する(ブロッキングする)」と言われる。
【0117】
遮断を回避するために、いくつかの方法を利用してもよい。1つの方法は、あるマスタユニットが別のマスタユニットを遮断しないようにマスタユニット708を順序付ける優れたスケジューラを有することを伴う。別の方法は、輻輳点において(たとえば、交差結合接続部1214において)バッファを使用することを含む。バッファによって、スイッチが受信した後続のデータセットを、(たとえば、スイッチが受信した以前のデータセットが除去され)スイッチリソースが空くまでバッファリングすることができる。
【0118】
上記の例に基づいて、本開示の例は、最小限の遮断およびレイテンシ特性で、優れたアフィニティレイテンシおよび任意のチャネルからの完全なアドレス指定能力を有する無数のスイッチ実現例を提供する。さらに、いくつかの例示的なスイッチ実現例は、アフィニティバイパスモードを提供することができる。アフィニティバイパスモードは、スイッチアーキテクチャから独立して、可能な限り低いレイテンシでアフィニティケースを提供することができる。
【0119】
図8を再検討して、上記のようにブロック808においてインターポーザの上にウェハセクションを配設する代わりに、動作800は、代替的に、インターポーザの上にウェハセクションを配設し、インターフェイス領域の第1の複数のポートと固定機能ダイとを電気的に結合するために相互接続線の第1の組がインターポーザを介して配線され、相互接続線の第2の組が、インターフェイス領域の第2の複数のポートをウェハセクションにおける対になったプログラマブルIC領域およびインターフェイス領域のプログラマブルIC領域に電気的に結合することを含んでもよい。
【0120】
いくつかの例によれば、相互接続線の第2の組の少なくとも一部は、インターポーザを介して配線される。
【0121】
いくつかの例によれば、プログラマブルIC領域およびインターフェイス領域は、モノリシックダイの一部である。この場合、相互接続線の第2の組は、モノリシックダイの少なくとも1つの金属化層を介して配線されてもよい。いくつかの例では、相互接続線の第2の組はどれも、インターポーザを介して配線されない。
【0122】
いくつかの例によれば、動作800は、さらに、インターポーザの上に少なくとも1つの固定機能ダイを配設することを伴ってもよい。この場合、動作800は、さらに、パッケージ基板の上にインターポーザを配設し、少なくとも1つの固定機能ダイ、ウェハセクション、インターポーザ、およびパッケージ基板の少なくとも一部を封入して、集積回路パッケージを形成することを含んでもよい。
【0123】
いくつかの例によれば、インターフェイス領域は、第1の複数のポートと第2の複数のポートとの間のスイッチネットワークとして構成されることができる。いくつかの例では、スイッチネットワークは、第2の複数のポートの各々が第1の複数のポートのうちのいずれか1つにアクセスできるように第1の複数のポートの各々と第2の複数のポートの各々との間の完全なアドレス指定能力を提供する。いくつかの例では、スイッチネットワークは、第2の複数のポートの各々が第1の複数のポートのうちの異なる1つにアクセスできるバイパスモードを提供する。いくつかの例では、スイッチネットワークは、複数の接続されたフルクロスバースイッチネットワークで構成され得る階層型スイッチネットワークとして実現される。いくつかの例では、スイッチネットワークは、AXIタイプのスイッチネットワークとして実現される。他の例では、スイッチネットワークは、パケットプロトコルタイプのスイッチネットワークとして実現される。
【0124】
いくつかの例によれば、動作800は、さらに、対になったプログラマブルIC領域およびインターフェイス領域の各々におけるプログラマブルIC領域とインターフェイス領域との間にスクライブラインを形成することを含む。
【0125】
いくつかの例によれば、固定機能ダイは、HBMダイである。この場合、インターフェイス領域は、HBMバッファ領域であってもよく、第1の複数のポートは、HBMチャネル(たとえば、HBM PC)を含んでもよい。第2の複数のポートは、プログラマブルIC相互接続チャネルを含んでもよい。
【0126】
例示的な階層型スイッチの実現例
上記のように、HBMデバイスの各々(たとえば、第二世代のHBMデバイスの場合、「HBM2」または「HBM Gen2」と称される)は、16個の独立したチャネルに分割される1024ビットデータバスをサポートし得る。これらのHBM疑似チャネルの各々は、HBMデバイスアドレス空間のうちの1/16にのみアクセスし得る。したがって、HBMバッファ領域は、単一の「カーネル」(たとえば、プログラマブルICのユーザソフトロジックにおける相互接続チャネル)が(たとえば、
図10に示される1×16クロスバースイッチを用いて)HBMデバイスのいずれかの部分にアクセスできることを可能にするスイッチネットワークを含み得る。プログラマブルICがn個のHBMデバイスをサポートする場合、このスイッチネットワークは、1×16nクロスバースイッチ(たとえば、2つのHBMデバイスをサポートするための1×32クロスバースイッチ)に拡張されてもよい。(2Gbpsで動作する)HBM Gen2では、各HBM疑似チャネルは、(たとえば、HBMデータレートの周波数の1/4で動作する)256ビットデータバスである。
【0127】
32個のカーネルが2つのHBMデバイスにアクセスし得ると仮定すると、(たとえば、
図11に示される)フルクロスバースイッチの実現例は、256ビットデータバスを有する32×32フルクロスバースイッチを必要とし得る。このようなフルクロスバースイッチは、面積および電力の観点で実現するのが非常に高価であるかもしれない。いくつかのプログラマブルIC/HBMユースケースは、HBMアドレス空間への統合アクセスを包含し得るが、全てのユースケースが統合アドレス指定により全帯域幅を指定するとは限らない。さらに、プログラマブルICのソフトロジックの中に全てのHBMスイッチ相互接続を有することも、非常に高価であるかもしれず、パフォーマンスボトルネックを生じさせる可能性がある。
【0128】
上記のように、フルクロスバースイッチの1つの代替案は、(たとえば、
図12に示される)階層型スイッチである。本開示の例は、このような階層型スイッチのためのさまざまな好適な実現例を提供する。
【0129】
各HBMメモリスタックは、8個の128ビット長の独立したメモリパーティションに分割されてもよい。これらの独立したメモリパーティションの各々は、独立したクロックおよびタイミング、独立したコマンド、ならびに独立したメモリアレイを有してもよい。言い換えれば、1つのメモリパーティション内で起こることが別のメモリパーティションに影響を及ぼすことはない。これら8個のパーティションの各々は、2つの64ビット長の独立したパーティションにさらに細分されてもよく、本明細書に記載されているスイッチネットワークなどのインターフェイス(たとえば、AXIインターフェイス)を介してホスト(たとえば、プログラマブルICのファブリック)と接続されてもよい。これらの細分されたものの各々は、HBM疑似チャネル(たとえば、HBMチャネル704)と称される。
【0130】
図13は、本開示の一例に係る、例示的なHBMダイ1304に結合された例示的なHBMバッファ領域1302のブロック図である。HBMバッファ領域1302は、(たとえば、プログラマブルICのファブリックからの)16個のプログラマブルIC相互接続チャネル906と16個のHBMチャネル704との間のスイッチネットワークで実現されてもよい。HBMダイ1304は、複数のメモリコントローラ1306(8個が示されており、MC0~MC7と表記されている)と、メモリコントローラ1306に結合された物理層(PHY)1308と、PHY1308に結合された入力/出力層(IO)1310とを含む。
【0131】
上記の説明により、各メモリスタックは、16個のAXIスレーブを含んでもよい。(たとえば、
図11のフルクロスバースイッチまたは
図12の階層型スイッチに示される)AXIポートの16個のマスタ×16個のスレーブのクロスバーは、各マスタポート(たとえば、各マスタユニット708)からのフルメモリ空間アクセスを有する疑似チャネル毎の完全な制御を提供するであろう。HBMメモリスタックが複数である場合、このクロスバースイッチは、拡張されてもよい。たとえば、HBMメモリスタックが2つであれば、クロスバースイッチは、
図14に示されるように32×32AXIポートに拡張されてもよい。
【0132】
図14は、本開示の一例に係る、複製されて2つのHBMダイ1304に結合された
図13の例示的なHBMバッファ領域1302およびスイッチネットワークのブロック
図1400を提供する。スイッチネットワークは、それらの間の相互接続のためにパイプライン1402を介して結合されてもよい。この場合、各々が32個のHBMチャネル704のうちのいずれかにアクセスすることができる32個のプログラマブルIC相互接続チャネル906があってもよい。
【0133】
図14におけるブロック
図1450は、複製されたスイッチネットワークの例示的な階層型実現例を示す。各スイッチネットワークは、4個のフルクロスバースイッチ1452で実現される。各フルクロスバースイッチ1452は、(対応するプログラマブルIC相互接続チャネル906に結合され得る)4個のマスタポート(たとえば、MU708)、および、(対応するHBMチャネル704に結合され得る)4個の対応するスレーブポート(たとえば、SU710)に結合されてもよい。32個のプログラマブルIC相互接続チャネル906および32個のHBMチャネルによって、8個のフルクロスバースイッチ1452は、示されるように32個のマスタポート(M0~M31と表記)および32個のスレーブポート(S0~S31と表記)に結合されることができる。
【0134】
隣接するフルクロスバースイッチ1452の各対は、交差結合接続部1453を介して接続されてもよい。たとえば、隣接するフルクロスバースイッチ1452間の交差結合接続部1453は、4個の接続、すなわち左から右への2つの接続および右から左への2つの接続、を含んでもよい。これらの各々は、各フルクロスバースイッチ1452の観点によって、アウトバウンド接続であると考えられる場合もあれば、インバウンド接続であると考えられる場合もある。2つのスイッチネットワークは、交差結合接続部1453と同様の接続部で実現され得るパイプライン1454を介して相互接続されてもよい。ブロック
図1450における端部のフルクロスバースイッチ1452は、他のフルクロスバースイッチに結合されていない。したがって、いくつかの例では、端部のフルクロスバースイッチ1452は、隣接するフルクロスバースイッチに関連付けられない側には、交差結合接続部1453を結合させていなくてもよい。言い換えれば、
図14に示されるように、端部のフルクロスバースイッチ1452は、1つの隣接するフルクロスバースイッチに交差結合されてもよいのに対して、スイッチネットワークの中央のフルクロスバースイッチは、2つの隣接するフルクロスバースイッチに交差結合されてもよい。他の例では、端部のフルクロスバースイッチ1452は、隣接するフルクロスバースイッチに関連付けられない側に交差結合接続部1453を有してもよいが、これらの交差結合接続部は、他の何にも結合されていない。
【0135】
図15A~
図15Hは、本開示の一例に係る、
図14の実現例における例示的なフルクロスバースイッチ1452内の各マスタポート(たとえば、MU708)およびマスタ交差結合接続ポートのさまざまなアクセス能力を示す。
図16は、本開示の一例に係る、
図15A~
図15Hに示される各マスタポートおよびマスタ交差結合接続ポートのさまざまなアクセス能力を定義する例示的な表1600である。表1600において、行と列との交差点における「1」は、当該行におけるマスタポートまたはマスタ交差結合接続ポートが、交差点に対応する当該列におけるスレーブポートまたはスレーブ交差結合接続ポートにアクセスできることを意味する。交差点における「0」は、アクセス能力がないことを意味する。いくつかの例では、これらのアクセス能力は、(たとえば、各フルクロスバースイッチ1452における)割り当てられたハードウェア接続に従って実現されてもよい。言い換えれば、アクセス能力が無い特定のポート間には利用可能なハードウェア接続が無くてもよい。
【0136】
図15A~
図15Hの各々は、4個のマスタポート(M0~M3と表記)および4個のスレーブポート(S0~S3と表記)を示しているが、
図15A~
図15Hのいずれかが
図14のブロック
図1450におけるフルクロスバースイッチ1452のうちのいずれか1つを表してもよい。フルクロスバースイッチ1452の左側の交差結合接続部1453は、この特定のスイッチの観点から、2つのインバウンドポート(たとえば、LM_0およびLM_1と表記された左側のマスタ交差結合接続ポート)と2つのアウトバウンドポート(たとえば、LS_0およびLS_1と表記された左側のスレーブ交差結合接続ポート)とを含む。フルクロスバースイッチ1452の右側の交差結合接続部1453は、2つのインバウンドポート(たとえば、RM_0およびRM_1と表記された右側のマスタ交差結合接続ポート)と2つのアウトバウンドポート(たとえば、RS_0およびRS_1と表記された右側のスレーブ交差結合ポート)とを含む。
【0137】
マスタポート(たとえば、上部入力)の各々は、6個のポートの各々(たとえば、4個の下部出力、1つの左側出力および1つの右側出力)にアクセスすることができてもよい。たとえば、
図15Aにおけるマスタポート0(M0)は、スレーブポート(S0~S3)、LS_0またはRS_0のうちのいずれかにアクセスすることができる。
図15Bにおけるマスタポート1(M1)のルーティングは、
図16における表1600に従って
図15Aと同様である。別の例として、
図15Cにおけるマスタポート2(M2)は、S0~S3、LS_1またはRS_1のうちのいずれかにアクセスすることができる。
図15Dにおけるマスタポート3(M3)のルーティングは、
図15Cと同様である。
【0138】
マスタ交差結合接続ポート(たとえば、側部入力)の各々は、5個のポートの各々(たとえば、4個の下部出力およびフルクロスバースイッチ1452の反対側の1つの側部出力)にアクセスすることができてもよい。フルクロスバースイッチ1452の反対側の側部出力は、マスタ交差結合接続ポートに対応するスレーブ交差結合ポートであってもよい。たとえば、
図15EにおけるLM_1は、S0~S3またはRS_1のうちのいずれかにアクセスすることができ、
図15FにおけるLM_0は、S0~S3またはRS_0のうちのいずれかにアクセスすることができ、
図15GにおけるRM_0は、S0~S3またはLS_0のうちのいずれかにアクセスすることができ、
図15HにおけるRM_1は、S0~S3またはLS_1のうちのいずれかにアクセスすることができる。
【0139】
図14における4個の4×4フルクロスバースイッチ1452として実現される各スイッチネットワークは、一例として提供されているに過ぎない。(たとえば、4個以外の)異なる数のフルクロスバースイッチを使用してスイッチネットワークを実現してもよい。さらに、フルクロスバースイッチのうちの1つ、複数または全てが、(たとえば、4個以外の)異なる数のマスタポートおよび/またはそれに関連付けられたスレーブポートを有してもよい。たとえば、16×16スイッチネットワークは、代替的に、2つの3×3フルクロスバースイッチおよび2つの5×5フルクロスバースイッチで実現されてもよい。さらに、
図15A~
図15Hに示されるさまざまなアクセス能力および
図16における表1600も、一例として提供されているに過ぎない。特にフルクロスバースイッチが異なる数のマスタポート、異なる数のマスタ交差結合接続ポート、異なる数のスレーブポートおよび/または異なる数のスレーブ交差結合接続ポートで実現される場合には、示されているさまざまなマスタポートおよびマスタ交差結合接続ポートの各々は、異なるアクセス能力を有していてもよい。
【0140】
上記のように、スイッチネットワークは、AXIタイプのスイッチネットワークまたはパケットプロトコルタイプのスイッチネットワークとして実現されてもよい。プログラマブルICソフトロジック(たとえば、カーネルマスタ)は、各インスタンス(たとえば、各パケット)のためのアドレスおよびデータビットを有してもよく、当該インスタンスは、当該アドレスに基づいて適切なプログラマブルIC相互接続チャネルおよび関連付けられたマスタポートにルーティングされる。この同じアドレスに基づいて、スイッチネットワークは、AXIまたはパケットプロトコルを用いてインスタンスを適切なスレーブポート(および関連付けられたHBMチャネル)にルーティングしてもよい。
【0141】
図14のブロック
図1450に示される階層型スイッチネットワークの実現例では、マスタアドレスおよびAXI IDを変更して、プログラマブルICファブリックからの全ての可能なマスタにわたって均一な隣接アドレス指定を提供することができる。AXIスイッチアドレス復号化は、Nビットだけ拡張されてもよく、N=log
2(スレーブの数)である。したがって、2つのHBMスタックにわたってスレーブが32個である場合、N=5拡張アドレスビットを使用してスレーブターゲットを選択することができる。単純にハード化スイッチには、32ビットの固定バイトアドレスがHBM疑似チャネル当たり割り当てられてもよく、そのため、スイッチフルアドレス空間はN+32ビットである。
【0142】
所与のHBMメモリスタックにおける実際のチャネル当たりの合計アドレス空間は、スイッチにおいて提供されるアドレス指定のうち32ビット以下を必要とし得る。Pアドレスビット(P<32)のみを利用するスイッチでは、スレーブアドレスをフル32ビットに拡張するために32-P「0」ビットがホストによって挿入されてもよい。たとえば、スレーブ当たりアドレス指定のうち29ビットしか利用しないHBM構成は、ホストアドレス{Nビット,29ビット}を作成してもよい。次いで、このアドレスは、スイッチに接続する前に{Nビット,b000,29ビット}に拡張されてもよい。
【0143】
ハード化スイッチ内で、アドレスは、均一なアドレス指定を提供するようにさらにマッピングされてもよい。たとえば、マスタポート番号Mがスレーブ選択アドレスSから減算されて、符号付きの再マッピングされたスレーブ選択を形成する。この再マッピングされた値S’=S-Mは、N+1ビットの符号付き番号である。マイナスS’は現在のマスタ番号未満のスレーブ番号をアドレス指定するのに対して、プラスのS’は現在のマスタ番号よりも大きなスレーブ番号をアドレス指定する。たとえば、-4というS’は、現在のマスタ接続よりも4つ小さい位置のスレーブポートをアドレス指定する。
【0144】
N個のスレーブをカバーするためのマスタアドレス拡張に加えて、マスタAXI IDもNビットだけ拡張されて、スレーブからマスタへの返却データおよび応答をマッピングしてもよい。この拡張は、各マスタの入力における拡張ID(たとえば、{N,AXI ID})によって実現されてもよい。このAXI ID拡張は、任意のマスタのスレーブ経路への固定ルーティングとともに、任意のさらなるスイッチAXI IDタグを提供して、不必要なAXIコマンドを適切にルーティングすることができる。
【0145】
図14における32×32階層型クロスバースイッチの実現例に戻って、いずれかのマスタポートは、いずれかのスレーブポート、したがっていずれかのHBM疑似チャネルにアクセスすることができる。たとえば、
図14Aは、マスタポート1(M1)が異なるフルクロスバースイッチ1452内のスレーブポート11(S11)にアクセスすることを示す。この例では、M1からのルーティングは、
図15Bにおけるルーティングと一致し、S11が右側の異なるフルクロスバースイッチ1452内にあるので、M1は出力ポートRS_0にルーティングされる。マスタポート4~7(M4~M7)を有するフルクロスバースイッチ1452では、(交差結合接続部1453を介して、M1を有するフルクロスバースイッチの出力ポートRS_0に接続された)入力ポートLM_0は、
図15Fにおけるルーティングに従って出力ポートRS_0にルーティングされる。マスタポート8~11(M8~M11)を有するフルクロスバースイッチ1452では、(M4~M7を有するフルクロスバースイッチの出力ポートRS_0に接続された)入力ポートLM_0は、
図15Fにおけるルーティングに従ってS11にルーティングされる(S3はS11に対応するであろう)。
【0146】
別の例として、
図14Bは、マスタポート23(M23)が、パイプライン1454を介して異なるHBMダイ1304に関連付けられた、異なるフルクロスバースイッチ1452内のスレーブポート6(S6)にアクセスすることを示す。この例では、M23はM3に対応するため、M23からのルーティングは、
図15Dにおけるルーティングと一致する。S6が左側の異なるフルクロスバースイッチ1452内にあるので、M23は、
図15Dにおけるルーティングに従って出力ポートLS_1にルーティングされる。マスタポート16~19(M16~M19)を有するフルクロスバースイッチ1452では、(交差結合接続部1453を介して、M23を有するフルクロスバースイッチの出力ポートLS_1に接続された)入力ポートRM_1は、
図15Hにおけるルーティングに従って出力ポートLS_1にルーティングされる。同様に、マスタポート12~15(M12~M15)および8~11(M8~11)を有するフルクロスバースイッチ1452では、(M16~19およびM12~15をそれぞれ有するフルクロスバースイッチの出力ポートLS_1に接続された)入力ポートRM_1は、
図15Hにおけるルーティングに従って出力ポートLS_1にルーティングされる。M4~M7を有するフルクロスバースイッチ1452では、(M8~M11を有するフルクロスバースイッチの出力ポートLS_1に接続された)入力ポートRM_1は、
図15Hにおけるルーティングに従ってS6にルーティングされる(S2はS6に対応するであろう)。
【0147】
上記のようにいずれかのマスタポートがいずれかのスレーブポートにアクセスすることができるが、断面帯域幅は、この実現例に向けられるチャネルの数によって制限される場合がある。FPGAなどのプログラマブルICでは、マスタユニットがHBMにアクセスする観点から、より多くの帯域幅が望まれるかもしれない。いくつかの例によれば、「チャネルギャンギング(channel ganging)」と称される技術を使用してスループットを増加させてもよい。
【0148】
図17は、本開示の一例に係る、
図14の2つのスイッチネットワークのうちの1つのためのチャネルギャンギングの概念を示すブロック
図1700である。この例では、プログラマブルICは、HBM疑似チャネルにアクセスしたいプログラマブルIC内のマスタである複数のカーネルマスタ1702を含み得る。各カーネルマスタ1702は、スプリッタ/ルータ1704に結合され得て、カーネルマスタもスプリッタ/ルータもソフトロジックに実装され得る。
図17の例では、(スレーブポートS0~S15に結合された)16個のHBM疑似チャネルは、4個の疑似チャネル(たとえば、S0~S3に関連付けられたチャネル)がまとめられて(ganged)1つの4倍幅チャネルとして扱われるようにグループ化される。したがって、チャネルギャンギングありのカーネルマスタ1702は、チャネルギャンギングなしのカーネルマスタと比較して、HBMチャネルの数が事実上1/4になる。したがって、4個のフルクロスバースイッチ1452で実現される16×16階層型スイッチネットワークの代わりに、チャネルギャンギングは、フルアクセスを有しかつ帯域幅が増大したデュアル4×4スイッチネットワークを提供する。1つの4×4スイッチネットワークを最下位ビット(LSB)等に使用してもよい。
【0149】
チャネルギャンギングおよびスプリッタ/ルータ1704によって、要求は、スプリッタ/ルータから特定の象限(たとえば、4個のフルクロスバースイッチ1452のうちの1つ)にルーティングされるが、この象限の左側または右側にはルーティングされない。各象限は、上記のように上から4×4接続されている。このようにスプリッタ/ルータ1704を利用することによって、左側および/または右側の帯域幅は不要であるが、16×16スイッチネットワークと等価のアクセスが依然として実現される。スプリッタ/ルータ1704の各々は、フルクロスバースイッチ1452の各々における指定のマスタポートにアクセスするように構成され得る。たとえば、
図17に示されるように、1つのスプリッタ/ルータ1704は、M0、M4、M8およびM12(各フルクロスバースイッチ1452における上部入力のうちの左端のもの)にアクセスするように構成されてもよい。示されるように、別のスプリッタ/ルータ1704は、M1、M5、M9およびM13にアクセスするように構成されてもよい。
【0150】
プログラマブルICのファブリックベースのソフトロジック内で、たとえばAXIブリッジアービトレーションによって任意の数のAXIマスタが各AXIスイッチマスタポートに結合されてもよい。この柔軟性は、スイッチポート当たり複数のAXI IDをサポートして、各マスタポートと内部グローバルスイッチクロックとの間の同期を提供することによって、促進することができる。複数のAXI IDをサポートすることにより、複数の独立した処理カーネルをより容易に集中させることができる。
【0151】
本開示のいくつかの例は、(i)全てのHBMアドレス空間への任意のユーザカーネルの統合アクセス、(ii)グループ化されたチャネル(たとえば、まとめられた4倍チャネル)内の全帯域幅、および(iii)統合アドレス指定可能なHBMスループットを増大させるためのプログラマブルICファブリックへのスイッチ相互接続拡張を有する、部分集合8×8クロスバー(または256ビットデータバス)に基づいたスイッチネットワークを提供する。
【0152】
信号をルーティングするための例示的な動作
図18は、本開示の一例に係る、装置と固定機能ダイとの間で信号をルーティングするための例示的な動作1800のフロー図である。動作1800は、たとえば、上記のようにプログラマブルIC領域とプログラマブルIC領域を固定機能ダイに結合するように構成されたインターフェイス領域とを含む装置によって実行されてもよい。
【0153】
動作1800は、ブロック1802から開始し得て、ブロック1802において、インターフェイス領域の第1のポートは、アドレス部分とデータ部分とを有する信号をプログラマブルIC領域から受信する。第1のポートは、プログラマブルIC領域に関連付けられ得る。ブロック1804において、アドレス部分に基づいて、少なくとも信号のデータ部分をインターフェイス領域を介してインターフェイス領域の第2のポートにルーティングし得る。第2のポートは、固定機能ダイに関連付けられ得る。インターフェイス領域は、第1のポートと第2のポートとの間のスイッチネットワークとして構成され得て、スイッチネットワークは、複数のフルクロスバースイッチネットワークを備え得る。
【0154】
いくつかの例によれば、プログラマブルIC領域は、FPGA領域を備え、固定機能ダイは、HBM)ダイを備える。この場合、インターフェイス領域は、HBMバッファ領域を含んでもよく、第2のポートは、HBMチャネルに関連付けられてもよい。
【0155】
いくつかの例によれば、ブロック1804におけるルーティングは、AXIプロトコルまたはパケットプロトコルのうちの少なくとも1つを使用することを含む。
【0156】
いくつかの例によれば、動作1800は、さらに、プログラマブルIC領域に実装されるスプリッタを介して信号をルーティングすることを伴う。スプリッタは、インターフェイス領域の第1のポートにアクセスするように構成されてもよい。
【0157】
(以下の特許請求の範囲を含む)本明細書で使用されている項目のリスト「のうちの少なくとも1つ」に関する表現は、単一の部材を含むそれらの項目の任意の組み合わせを指す。一例として、「x、yまたはzのうちの少なくとも1つ」は、x、y、z、x-y、x-z、y-z、x-y-zおよびそれらの任意の組み合わせ(たとえば、x-y-yおよびx-x-y-z)を包含するよう意図されている。
【0158】
上記は本開示の例に向けられるが、本開示の他のおよびさらなる例がその基本的範囲から逸脱することなく考案されてもよく、その範囲は以下の特許請求の範囲によって決定される。