JP2020074091A - アクティブ・バイ・アクティブプログラマブルデバイス - Google Patents

アクティブ・バイ・アクティブプログラマブルデバイス Download PDF

Info

Publication number
JP2020074091A
JP2020074091A JP2019209873A JP2019209873A JP2020074091A JP 2020074091 A JP2020074091 A JP 2020074091A JP 2019209873 A JP2019209873 A JP 2019209873A JP 2019209873 A JP2019209873 A JP 2019209873A JP 2020074091 A JP2020074091 A JP 2020074091A
Authority
JP
Japan
Prior art keywords
circuit
sip
programmable
chip
coupled
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
JP2019209873A
Other languages
English (en)
Other versions
JP6957581B2 (ja
Inventor
カビアニ,アリレザ・エス
S Kaviani Alireza
マイディー,ポングストーン
Maidee Pngstorn
ボルセンス,イーボ
Bolsens Ivo
デリンガー,エリック・エフ
F Dellinger Eric
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.)
Xilinx Inc
Original Assignee
Xilinx Inc
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
Priority claimed from US15/013,690 external-priority patent/US10042806B2/en
Priority claimed from US15/013,696 external-priority patent/US10002100B2/en
Application filed by Xilinx Inc filed Critical Xilinx Inc
Publication of JP2020074091A publication Critical patent/JP2020074091A/ja
Application granted granted Critical
Publication of JP6957581B2 publication Critical patent/JP6957581B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • 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
    • H03K19/17744Structural details of routing resources for input/output signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • H01L2224/16227Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation the bump connector connecting to a bond pad of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/10Bump connectors; Manufacturing methods related thereto
    • H01L2224/15Structure, shape, material or disposition of the bump connectors after the connecting process
    • H01L2224/16Structure, shape, material or disposition of the bump connectors after the connecting process of an individual bump connector
    • H01L2224/161Disposition
    • H01L2224/16151Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive
    • H01L2224/16221Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked
    • H01L2224/16225Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation
    • H01L2224/16235Disposition the bump connector connecting between a semiconductor or solid-state body and an item not being a semiconductor or solid-state body, e.g. chip-to-substrate, chip-to-passive the body and the item being stacked the item being non-metallic, e.g. insulating substrate with or without metallisation the bump connector connecting to a via metallisation of the item
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L25/00Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
    • H01L25/03Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes
    • H01L25/04Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers
    • H01L25/065Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00
    • H01L25/0655Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof all the devices being of a type provided for in the same subgroup of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. assemblies of rectifier diodes the devices not having separate containers the devices being of a type provided for in group H01L27/00 the devices being arranged next to each other
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/1517Multilayer substrate
    • H01L2924/15192Resurf arrangement of the internal vias
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2924/00Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
    • H01L2924/15Details of package parts other than the semiconductor or other solid state devices to be connected
    • H01L2924/151Die mounting substrate
    • H01L2924/153Connection portion
    • H01L2924/1531Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface
    • H01L2924/15311Connection portion the connection portion being formed only on the surface of the substrate opposite to the die mounting surface being a ball array, e.g. BGA

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Combinations Of Printed Boards (AREA)
  • Information Transfer Systems (AREA)
  • Microcomputers (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】コストの増加を抑制するプログラマブルデバイスを提供する。【解決手段】集積回路(IC)システムは、プログラマブルIC101Aと、コンパニオンIC103Aと、を有する。プログラマブルICはプログラマブルファブリック404を含み、コンパニオンICはアプリケーション回路107Aを含む。ICシステムはシステムインパッケージ(SiP)ブリッジ144を備える。SiPブリッジは、プログラマブルIC内の第1のSiP IO回路140Aと、コンパニオンIC内の第2のSiP IO回路142と、第1のSiP IO回路と第2のSiP IO回路とを結合する相互接続138とを含む。プログラマブルIC内においてプログラマブルファブリックと第1のSiP IO回路との間に集約回路および分散回路を備える。コンパニオンIC内においてアプリケーション回路と第2のSiP IO回路との間に集約回路および分散回路を備える。【選択図】図4

Description

本開示の例は、概して電子回路に関し、特にアクティブ・バイ・アクティブプログラマブルデバイスに関する
背景
フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA
)といった現代のプログラマブルデバイスは、大型化が進み、異種性が増している。これらのデバイスのコストも急速に増加している。コスト増加の原因は、異種の回路ブロックすべてを必要とする訳ではない大多数のアプリケーションのプログラミング性のオーバヘッドの増加とプロセス技術の高コスト化との両方にある。汎用入出力(IO)またはマルチギガビットシリアルトランシーバ(multi-gigabit serial transceiver:MGT)といったこれらの大型回路ブロックの多くは、新たなプロセス技術の恩恵を必要としていない。このため、従来のモノリシックアーキテクチャはもはや市場のコスト要求を満たしておらず、結果としてシステム・イン・パッケージ(system-in-package:SiP)デバイス
の開発に至っている。しかしながら、大多数のSiPソリューションは、高価なインターポーザまたは複雑な3次元チップ積層の利用といった高度なパッケージング技術に依存している。そのため、これらのSiPソリューションのコストの増加が、生産量が少ないハイエンドのまたは特殊なアプリケーションにとっての利益を制限している。
概要
アクティブ・バイ・アクティブプログラマブルデバイスを提供する技術を説明する。一例において、集積回路(IC)システムはパッケージ基板を備え、パッケージ基板は、パッケージ基板上に設けられたプログラマブル集積回路(IC)チップとコンパニオンICチップとを有する。プログラマブルICチップはプログラマブルファブリックを含み、コンパニオンICチップはアプリケーション回路を含む。ICシステムはさらに、システムインパッケージ(SiP)ブリッジを備え、システムインパッケージブリッジは、プログラマブルICチップ内に配置された第1のSiP IO回路と、コンパニオンICチップ内に配置された第2のSiP IO回路と、パッケージ基板上において第1のSiP IO回路と第2のSiP IO回路とを電気的に結合する導電性相互接続とを含む。ICシステムは、プログラマブルICチップ内においてプログラマブルファブリックと第1のSiP IO回路との間に結合された第1の集約回路および第1の分散回路をさらに備える。ICシステムは、コンパニオンICチップ内においてアプリケーションIOと第2のSiP IO回路との間に結合された第2の集約回路および第2の分散回路をさらに備える。
別の例において、プログラマブル集積回路(IC)は、外部導電性相互接続を通してコンパニオンICに結合されたシステムインパッケージ(SiP)入出力(IO)回路と、アプリケーション回路のうちの少なくとも一部を含まないプログラマブルファブリックと、プログラマブルファブリックとSiP IO回路との間に結合された集約回路および分散回路とを備える。
別の例において、ICシステム内のプログラマブル集積回路(IC)からデータを送信する方法は、プログラマブルIC内の集約回路の複数のチャネルを通して第1のシステムインパッケージ(SiP)IO回路にデータを結合するステップを含む。この方法はさら
に、上記複数のチャネルからのデータを、プログラマブルICとコンパニオンICとの間のより少ない数の物理チャネルを通して送信するステップを含む。この方法はさらに、このデータを、コンパニオンIC内の第2のSiP IO回路において上記複数の物理チャネルから受信するステップを含む。この方法は、コンパニオンIC内の分散回路の複数のチャネルを通して、コンパニオンIC内のアプリケーション回路に対し、第2のSiP IO回路からのデータを結合するステップを含む。この方法はさらに、上記データをアプリケーションIO回路から送信するステップを含む。
別の例において、プログラマブル集積回路用のシステムレベル相互接続リングを提供するための技術を説明する。一例において、プログラマブル集積回路(IC)はプログラマブルファブリックを備え、プログラマブルファブリックは、プログラマブル相互接続と、プログラマブルファブリックの少なくとも1つのエッジに隣接するワイヤトラックとを有する。プログラマブルICはさらに、プログラマブルファブリックの少なくとも1つのエッジと一体化された少なくとも1つのリングノードを備える。少なくとも1つのリングノードは、プログラマブル相互接続とワイヤトラックとの間に結合されている。プログラマブルICはさらに、ワイヤトラックに結合されたシステムインパッケージ(SiP)入出力(IO)回路を備える。
別の例において、集積回路(IC)システムはパッケージ基板を備え、パッケージ基板は、パッケージ基板上に設けられたプログラマブル集積回路(IC)チップとコンパニオンICチップとを有する。プログラマブルICチップはプログラマブルファブリックを含み、コンパニオンICはアプリケーション回路を含む。ICシステムはシステムインパッケージ(SiP)ブリッジをさらに備え、システムインパッケージブリッジは、プログラマブルICチップ内に配置された第1のSiP IO回路と、コンパニオンICチップ内に配置された第2のSiP IO回路と、パッケージ基板上において第1のSiP IO回路と第2のSiP IO回路とを電気的に結合する導電性相互接続とを含む。プログラマブルICチップはプログラマブルファブリックを含み、プログラマブルファブリックは、プログラマブル相互接続と、プログラマブルファブリックの少なくとも1つのエッジに隣接するワイヤトラックと、少なくとも1つのリングノードとを有し、ワイヤトラックは第1のSiP IO回路に接続され、少なくとも1つのリングノードはプログラマブル相互接続とワイヤトラックとの間に結合されている。
別の例において、ICシステム内においてプログラマブル集積回路(IC)からデータを送信する方法は、このデータをリングノードに結合するステップを含む。リングノードはプログラマブルICのプログラマブルファブリックのエッジと一体化されている。リングノードは、プログラマブルファブリックのプログラマブル相互接続と、上記エッジに隣接するワイヤトラックとの間に結合されている。上記方法はさらに、リングノードからのデータを、ワイヤトラックの複数のチャネルを通して第1のシステムインパッケージ(SiP)IO回路に結合するステップを含む。上記方法はさらに、上記複数のチャネルからのデータを、プログラマブルICとコンパニオンICとの間のより少ない数の物理チャネルで送信するステップを含む。
上記およびその他の局面は、以下の詳細な説明を参照することによって理解し得る。
上記特徴が詳細に理解されるよう、先に簡単に概要を述べた、より具体的な説明を、例示としての実装例を参照しながら提供する。これらの実装例のうちのいくつかは添付の図面に示されている。しかしながら、添付の図面は、典型的な実装例を示しており、故に、その範囲を限定するとみなされてはならない。
一例に係る集積回路(IC)システムを示すブロック図である。 一例に係るマルチチップモジュール(MCM)の断面図である。 フィールドプログラマブルゲートアレイ(FPGA)アーキテクチャの一例を示す。 別の例に係るICシステムを示すブロック図である。 一例に係る図4のICチップのより詳細な図を示すブロック図である。 一例に係るシステムインパッケージ(SiP)積層体を示すブロック図である。 一例に係るデータリンク層をより詳細に示すブロック図である。 一例に係るSiPブリッジのデータリンク層内における調停方法を示すフロー図である。 別の例に係るSiPブリッジのデータリンク層内における調停方法を示すフロー図である。 一例に係るICシステム内のプログラマブルICからデータを送信する方法を示すフロー図である。 一例に係るICシステム内のプログラマブルICへのデータを受信する方法を示すフロー図である。 一実装例に係る物理層ロジックを示すブロック図である。 一例に係るプログラマブルファブリックの横方向エッジに対するシステムレベル相互接続の一体化を示すブロック図である。 一例に係るプログラマブルファブリックの縦方向エッジに対するシステムレベル相互接続の一体化を示すブロック図である。 一例に係るシステムレベル相互接続のリングサブノードを示すブロック図である。 システムレベル相互接続リング(SIR)の実装例を示す。 システムレベル相互接続リング(SIR)の実装例を示す。 システムレベル相互接続リング(SIR)の実装例を示す。 システムレベル相互接続リング(SIR)の実装例を示す。 システムレベル相互接続リング(SIR)の実装例を示す。 システムレベル相互接続リング(SIR)の実装例を示す。 一例に係るICシステム内のプログラマブルICからデータを送信する方法を示すフロー図である。
理解を助けるために、複数の図面に共通する同一の要素には、可能であれば同一の参照符号を付しているが、1つの例の要素がその他の例に好適に含まれ得ることが意図されている。
詳細な説明
以下、さまざまな特徴を図面を参照しながら説明する。図面は必ずしも正しい縮尺で描かれているとは限らないこと、および、上記図面において同様の構造または機能には同様の参照番号が付されていることに注意されたい。これらの図面は、特徴を説明し易くすることを意図しているに過ぎない。これらは、クレームされている発明を余すところなく説明することを意図している訳でも、クレームされている発明を限定することを意図している訳でもない。加えて、説明される例は、示されている局面または利点すべてを有する必要はない。特定の例との関連で説明されるある局面またはある利点は、必ずしもその例に限定される訳ではなく、そのように示されていなくても、またはそれほど明確に説明されていなくても、その他いずれの例でも実施することが可能である。
アクティブ・バイ・アクティブプログラマブルデバイスについて説明する。一例において、システムインパッケージ(SiP)に基づくプログラマブルデバイスは、マルチチッ
プモジュール(multi-chip module:MCM)パッケージを採用する。MCMパッケージ
は、パッケージ基板上に配置された、フィールドプログラマブルゲートアレイ(FPGA)等のプログラマブル集積回路(IC)と、1つ以上のコンパニオン集積回路(IC)デバイスとを含む。プログラマブルICおよびコンパニオンICは、パッケージ基板上において隣合うように(たとえばアクティブ・バイ・アクティブ)配置される。プログラマブルICと各コンパニオンICデバイスとの間の接続は、高帯域幅SiPブリッジを用いて実現する。SiPブリッジは、少数のワイヤを用いて実現することができるので、高価なインターポーザではなくMCMパッケージを使用することができる。あるデバイスから別のデバイスに送信すべきデータは、集合的な帯域幅に集約され、SiPブリッジを通して送られる。SiPブリッジ上で受けられた集約データは、体系化された分散機構を通して送られる。本明細書に記載の例において、SiPブリッジは、少なくとも物理層とデータリンク層とを含むプロトコルスタックを用いて実現する。トランスポート層等の、より高位の層を用いることもできる。物理層は、本明細書において詳述する特定の要求を満たすいずれかの超短距離(ultra-short reach:USR)シリアライザ/デシリアライザ(serializer/deserializer:SerDes)技術であってもよい。本明細書においてさらに説明するように、データリンク層は、宛先において輻輳が生じないように、利用できる物理チャネルにおいて集約データを時間多重化するように構成される。各デバイスは、アプリケーション回路とSiPブリッジとの間におけるデータの集約と分散とを容易にするシステムレベル相互接続を含み得る。
複数の例において、コンパニオンICチップは、SiPデバイスのアプリケーション入出力(IO)回路のうちのいくつかまたはすべてを含む。よって、プログラマブルICはこのようなアプリケーションIO回路なしで構成できる。プログラマブルICからアプリケーションIO回路を取除くことにより、他の回路用のチップ面積が得られる。また、プログラマブルICは、より新しいプロセス技術を用いかつより新しいプロセス技術の特徴を利用して製造することができる。一方、アプリケーションIO回路を有するコンパニオンICは、それよりも古くコストが低いプロセス技術を用いて製造することができる。結果として、この総合的なソリューションが、同じ機能をより低いコストで提供することになる。プログラマブルICおよびコンパニオンICデバイスは、SiPブリッジによって接続される。プログラマブルICおよびコンパニオンICデバイスは各々、SiPブリッジの終点を定めるSiP IO回路を含む。プログラマブルICおよびコンパニオンICは各々、システムレベル相互接続を含むことにより、アプリケーション回路とSiP IO回路との間におけるデータの集約および分散を提供することができる。プログラマブルICにおいて使用するシステムレベル相互接続の一例は、システムレベル相互接続リング(system-level interconnect ring:SIR)である。本明細書においてさらに説明するように、SIRにより、プログラマブルICのための回路を実現するために使用する設計ツールおよびプログラマブルファブリックの増大を最小に抑えることができる。上記およびその他の局面は以下の図面を参照することで理解できる。
図1は、一例に係る集積回路(IC)システム100を示すブロック図である。ICシステム100は、ICチップ103に結合されたICチップ101を含む。一例において、ICチップ101およびICチップ103は、システムインパッケージ(SiP)を形成するマルチチップモジュールの一部である。ICチップ101は、アプリケーション回路105と、集約回路110と、分散回路112と、SiP入出力回路(SiP IO140)とを含む。一例において、アプリケーション回路105は、1つ以上の処理素子(PE102)、メモリ(mem104)、サポート回路(SC106)、および入出力回路(IO108)等のさまざまな構成要素を含む。その他の例において、構成要素102〜108のうちの1つ以上がアプリケーション回路105から省略されてもよい。アプリケーション回路105の構成要素102〜108は各々、集約回路110および分散回路112双方に結合することができる。これに代えて、構成要素102〜108のうちの1
つ以上を、集約回路110または分散回路112のうちの一方のみに結合してもよい。集約回路110および分散回路112は各々、SiP IO140の内部インターフェイスに結合される。
一例において、SiP IO140は、トランスポートロジック114と、データリンクロジック116と、物理ロジック118とを有する多重化されたIOロジックを実現する。示されている例において、多重化されたIOロジックはその全体がSiP IO140内で実現される。その他の例において、多重化されたIOロジックの所定の層またはその一部をアプリケーション回路105内で実現することができる。一例において、トランスポートロジック114はアプリケーション回路105内で実現され、データリンクロジック116および物理ロジック118はSiP IO140内で実現される。一例において、データリンクロジック116の調停部分がアプリケーション回路105内で実現され、データリンクロジック116のための多重化ロジックがSiP IO140内で実現される。
ICチップ103はICチップ101と同様の回路を含む。図1に示す例において、ICチップ103は、アプリケーション回路107と、集約回路126と、分散回路128と、SiP IO142とを含む。一例において、アプリケーション回路107は、PE120、メモリ(mem132)、サポート回路(SC134)、および入出力回路(IO136)等のさまざまな構成要素を含む。その他の例において、構成要素130〜136のうちの1つ以上がアプリケーション回路107から省略されてもよい。アプリケーション回路107の構成要素130〜136は各々、集約回路126および分散回路128双方に結合することができる。これに代えて、構成要素130〜136のうちの1つ以上を、集約回路126または分散回路128のうちの一方のみに結合してもよい。集約回路126および分散回路128は各々、SiP IO142の内部インターフェイスに結合される。SiP IO140と同様に、SiP IO142は、トランスポートロジック124、データリンクロジック122、および物理ロジック120を有する多重化されたIOロジックを実現する。示されている例において、多重化されたIOロジックはその全体がSiP IO142内で実現される。その他の例においては、ICチップ101に関連して説明したように、多重化されたIOロジックの所定のロジック層またはその一部をアプリケーション回路107内で実現することができる。
ICチップ101とICチップ103とはSiPブリッジ144によって結合される。SiPブリッジ144は、SiP IO140と、SiP IO142と、信号経路138とを含む。SiP IO140の外部インターフェイスが、信号経路138によってSiP IO142の外部インターフェイスに結合される。物理ロジック118/120は、SiPブリッジ144の物理層を実現し、複数の物理チャネルをサポートする。データリンクロジック116/122は、SiPブリッジ144のデータリンク層を実現し、SiPブリッジ144の各側における複数のチャネル(集約チャネルおよび分散チャネルと呼ぶ)をサポートする。トランスポートロジック114/124は、SiPブリッジ144のトランスポート層を実現する。接続なしのまたは接続ベースのトランスポート層を含むさまざまなトランスポート層を用いることができる。トランスポート層は、当該技術では周知のパケット化(packetization)、デパケット化(depacketization)、エラー訂正、パケットの順序付け等を提供することができる。
アプリケーション回路105は、集約回路110のチャネルに結合された多数の出力を含み得る。集約回路110は、アプリケーション回路105の出力を、SiP IO140の内部入力(ソースポートと呼ぶ)に選択的に結合する。たとえば、SiP IO140は、集約回路110のM個の集約チャネルに結合されたM個のソースポートを含み得る。ここでMは正の整数である。集約回路110は、アプリケーション回路105の出力を
、M個の集約チャネルを通してSiP IO140のM個のソースポートに選択的に結合することができる。SiP IO140は、信号経路138を通して実現されるK個の物理チャネルを駆動するK個の外部出力を含み得る。ここでKは正の整数である。一例において、KはMよりも小さく、SiP IO140は、M個のソースポートをK個の外部出力に多重化する。SiP IO142は、K個の物理チャネルから受信するK個の外部入力を含み得る。SiP IO142は、K個の外部入力をN個の内部出力(宛先ポートと呼ぶ)に多重分離する。ここでNは正の整数である。一例において、NはKよりも大きい。分散回路128は、SiP IO142のN個の宛先ポートを、N個の分散チャネルを通してアプリケーション回路107の入力に選択的に結合する。
同様に、アプリケーション回路107は、集約回路126の集約チャネルに結合された多数の出力を含み得る。集約回路126は、アプリケーション回路107の出力を、SiP IO142のソースポートに選択的に結合する、たとえば、SiP IO142は、集約回路126のN’個の集約チャネルに結合されたN’個のソースポートを含み得る。集約回路126は、アプリケーション回路107の出力を、N’個の集約チャネルを通してSiP IO142のN’個のソースポートに選択的に結合することができる。SiP
142は、信号経路138を通して実現されるK’個の物理チャネルを駆動するK’個の外部出力を含み得る。ここでK’は正の整数である。一例において、K’はN’よりも小さく、SiP IO142は、N’個のソースポートをK’個の外部出力に多重化する。SiP IO140は、K’個の物理チャネルから受信するK’個の外部入力を含み得る。SiP IO140は、K’個の外部入力をM’個の宛先ポートに多重分離する。ここでM’は正の整数である。一例において、M’はK’よりも大きい。分散回路112は、SiP IO140のM’個の宛先ポートを、M’個の分散チャネルを通してアプリケーション回路105のM’個の入力に選択的に結合する。
いくつかの例において、SiPブリッジ144がICチップ101とICチップ103との間の各方向において同数の物理チャネルをサポートするよう、K=K’である。ICチップ101からデータを送信する場合、集約回路110は、アプリケーション回路105の出力をM個の集約チャネルに集約し、SiP IO140はM個の集約チャネルをK個の物理チャネルに多重化する。ICチップ103からデータを受信する場合、SiP IO142はK個の物理チャネルをN個のチャネルに多重分離し、分散回路128はN個の分散チャネルをアプリケーション回路107の入力に分散させる。同様に、ICチップ103からデータを送信する場合、集約回路126は、アプリケーション回路107の出力をN’個の集約チャネルに集約し、SiP IO142はN’個の集約チャネルをK’個の物理チャネルに多重化する。ICチップ101においてこのデータを受信するために、SiP140はK’個の物理チャネルから受信したK’個の物理チャネルをM’個の分散チャネルに多重分離し、分散回路112はM’個の分散チャネルをアプリケーション回路105の入力に分散させる。いくつかの例において、集約回路110および分散回路112がアプリケーション回路105に対して合計2M個のチャネルを提供しかつ集約回路126および分散回路128がアプリケーション回路107に対して合計2N個のチャネルを提供するように、M=M’およびN=N’である。いくつかの例において、M=M’=N=N’である。
一例において、アプリケーション回路105およびアプリケーション回路107は、パケット化されたデータをSiPブリッジ114を通してやり取りする。トランスポートロジック114はアプリケーション回路105の出力をパケットにする。このパケットは各々wビットを含み、wは正の整数である。トランスポートロジック114も、分散回路112から受けたデータをデパケット化する。トランスポートロジック124はトランスポートロジック114と同様に機能し得る。
データリンクロジック116は、集約回路110の出力を複数の集約チャネル(たとえばM個の集約チャネル)に編成し、ここで各集約チャネルは、wビットのパケットを提供するためにwビット幅を有する。すなわち、集約回路110はマルチチャネル出力を含む。同様に、データリンクロジック116は分散回路112の入力を複数の分散チャネル(たとえばM’個の分散チャネル)に分割し、ここで各分散チャネルはwビットのパケットを受信するためにwビット幅である。すなわち、分散回路112はマルチチャネル入力を含む。データリンクロジック116は集約チャネルごとに送信キューを管理する。データロジック116は、送信キュー間の調停を実行することにより、利用できる物理チャネルを通して物理ロジック118によって送信するパケットを選択する。データリンクロジック116はまた、物理チャネルを、分散回路112の利用できる分散チャネルに多重分離する。データリンクロジック122はデータリンクロジック116と同様に機能し得る。
物理ロジック118は、パケットを、信号経路138を通して信号として送信するために、利用できる出力物理チャネルにおいてシリアライズすることができる。物理ロジック118はまた、信号経路138から受信した信号を、利用できる入力物理チャネルにデシリアライズすることができる。物理ロジック120は物理ロジック118と同様に機能し得る。
一例において、アプリケーション回路105は、1つ以上の直接信号経路146を通してアプリケーション回路107に直接結合することができる。すなわち、ICチップ101とICチップ103との間にはSiPブリッジ144を通らない何らかの通信がある。さらに、ICチップ101は、信号をその他の外部回路との間で送受信するためならびに電源および接地を受けるために使用できる外部インターフェイス147を含み得る。同様に、ICチップ103は、信号をその他の外部回路との間で送受信するためならびに電源および接地を受けるために使用できる外部インターフェイス148を含み得る。
図1に示す例において、ICチップ101は、1つの他のICチップへの1つのSiPブリッジのためのSiP IOを含む。その他の例において、ICチップは、複数のICチップへの複数のSiPブリッジのための複数のSiP IOを含み得る。このような実施形態において、ICチップは、その内部のアプリケーション回路を複数のSiPブリッジに結合するための集約および分散回路の複数のインスタンスを含み得る。
図2は、一例に係るMCM200の断面図である。MCM200は上記ICシステム100を実現することができる。MCM200は、パッケージ基板202上に設けられたICチップ101とICチップ103とを含む。ICチップ101は、コンタクト214によってパッケージ基板202に電気的かつ機械的に結合される。ICチップ103は、コンタクト216によってパッケージ基板202に電気的かつ機械的に結合される。コンタクト214およびコンタクト216は、はんだボール、はんだバンプ等であればよい。パッケージ基板202は、ICチップ101およびICチップ103が設けられている表面にまたはその近傍に配置された導電性相互接続208を含む。パッケージ基板202は、反対側の表面にまたはその近傍に配置された導電性相互接続206を含む。導電性相互接続208および導電性相互接続206は各々、特定のパターンを有する1つ以上の金属層を含む。ICチップ101のコンタクト214のうちのいくつかは導電性相互接続208に電気的に結合される。ICチップ103のコンタクト216のうちのいくつかは導電性相互接続208に電気的に結合される。その他のコンタクト214はビア218を通して導電性相互接続206に電気的に結合される。その他のコンタクト216はビア220を通して導電性相互接続206に電気的に結合される。導電性相互接続206はコンタクト204に電気的に結合される。コンタクト204は、はんだボール、はんだバンプ等であればよい。
コンタクト204はMCM200の外部ピンを含む。MCM200は回路基板に設けることができる。回路基板上の導体は、パッケージ基板202のコンタクト204を通してICチップ101およびICチップ103に電気的に結合することができる。MCM200の内部において、ICチップ101は導電性相互接続208を通してICチップ103に電気的に結合される。上記ICシステム100を実現するために、導電性相互接続208をパターニングすることにより、ICチップ101とICチップ103との間の信号経路138を形成する。一例において、導電性相互接続208をパターニングして専用信号経路146(存在するのであれば)も形成する。SiP IO140の外部インターフェイスは、コンタクト214のうちのいくつかを通して、導電性相互接続208内に形成された信号経路138に結合される。同様に、SiP IO142の外部インターフェイスは、コンタクト216のうちのいくつかを通して、導電性相互接続208内に形成された信号経路138に結合される。
一例において、ICチップ101およびICチップ103のうちの少なくとも一方は、フィールドプログラマブルゲートアレイ(FPGA)等のプログラマブルICを含む。図3は、多数の異なるプログラマブルタイルを含むFPGAアーキテクチャ300を示す。上記プログラマブルタイルは、マルチギガビットトランシーバ(「MGT」)301、コンフィギュラブルロジックブロック(「CLB」)302、ランダムアクセスメモリブロック(「BRAM」)303、入出力ブロック(「IOB」)304、コンフィギュレーションおよびクロッキングロジック(「CONFIG/CLOCKS」)305、デジタル信号処理ブロック(「DSP」)306、特化された入出力ブロック(「I/O」)307(たとえばコンフィギュレーションポートおよびクロックポート)、および、デジタルクロックマネージャ、アナログデジタル変換器、システムモニタリングロジック等のその他のプログラマブルロジック308を含む。いくつかのFPGAは、専用プロセッサブロック(「PROC」)310も含む。
いくつかのFPGAにおいて、図3の上部に含まれる例によって示されるように、各プログラマブルタイルは、同一タイル内のプログラマブルロジック素子の入力および出力端子320への接続を有する少なくとも1つのプログラマブル相互接続素子(「INT」)311を含む。各プログラマブル相互接続素子311はまた、同一タイルまたはその他のタイル(1つまたは複数)における隣接するプログラマブル相互接続素子(1つまたは複数)の相互接続セグメント322への接続を含み得る。各プログラマブル相互接続素子311はまた、ロジックブロック(図示せず)間の包括ルーティングリソースの相互接続セグメント324への接続を含み得る。包括ルーティングリソースは、相互接続セグメント(たとえば相互接続セグメント324)のトラックを含むロジックブロック(図示せず)と、相互接続セグメントを接続するためのスイッチブロック(図示せず)との間のルーティングチャネルを含み得る。包括ルーティングリソースの相互接続セグメント(たとえば相互接続セグメント324)は1つ以上のロジックブロックに跨り得る。プログラマブル相互接続素子311は包括ルーティングリソースとともに、例示されているFPGAのためのプログラマブル相互接続構造(「プログラマブル相互接続」)を実現する。
ある実装例において、CLB302は、ユーザロジックを実装するようにプログラムすることができるコンフィギュラブルロジック素子(「CLE」)312と、1つのプログラマブル相互接続素子(「INT」)311とを含み得る。BRAM303は、1つ以上のプログラマブル相互接続素子に加えてBRAMロジック素子(「BRL」)313を含み得る。一般的に、1つのタイルに含まれる相互接続素子の数は、このタイルの高さによって決まる。図示されている例では、1つのBRAMタイルは、5つのCLBの高さと同一の高さを有するが、他の数(たとえば4)を用いることもできる。DSPタイル306は、適切な数のプログラマブル相互接続素子に加えてDSPロジック素子(「DSPL」)314を含み得る。IOB304は、たとえば、プログラマブル相互接続素子311の
1つのインスタンスに加えて、入出力ロジック素子(「IOL」)315の2つのインスタンスを含み得る。当業者にとっては明らかであるように、たとえば入出力ロジック素子315に接続される実際の入出力パッドは、一般的に、入出力ロジック素子315の領域に限られない。
図示されている例において、(図3に示される)チップの中心近くの横方向の領域は、コンフィギュレーション、クロック、およびその他の制御ロジックのために使用される。この横方向の領域または列から延びる縦方向の列309は、FPGAの幅全体にわたってクロックおよびコンフィギュレーション信号を分配するために使用される。
図3に示されるアーキテクチャを使用するいくつかのFPGAは、FPGAのかなりの部分を構成している規則的な列状構造を壊しているその他のロジックブロックを含む。その他のロジックブロックは、プログラマブルブロックおよび/または専用ロジックであってもよい。たとえば、プロセッサブロック310は、CLBおよびBRAMの数個の列に跨っている。プロセッサブロック310は、単一のマイクロプロセッサから、マイクロプロセッサ(1つまたは複数)、メモリコントローラ、周辺機器等の包括的なプログラマブル処理システムまでの範囲にわたるさまざまな構成要素であり得る。
なお、図3は、典型的なFPGAアーキテクチャのみを示すことを意図している。たとえば、1行のロジックブロックの数、行の相対的な幅、行の数および順序、行に含まれるロジックブロックの種類、ロジックブロックの相対的なサイズ、および図3の上部に含まれている相互接続/ロジックの実装は、代表的なものに過ぎない。たとえば、実際のFPGAでは一般的に、CLBがどこにあっても隣接する2行以上のCLBを含むことによってユーザロジックを効率的に実装し易くしているが、隣接するCLB行の数はFPGAの全体のサイズに応じて変化する。
一例において、ICチップ101は、FPGAアーキテクチャ300を有するプログラマブルファブリックを含む。よって、ICチップ101はさらに、SiP IO140とシステムレベル相互接続350とを含む。システムレベル相互接続350は、集約回路110と分散回路112とを含む。一例において、システムレベル相互接続350はシステムレベル相互接続リング(SIR)を含む。SIRのさまざまな例は以下で説明する。一般的に、システムレベル相互接続350は、プログラマブルファブリックとSiP IO140との間のインターフェイスを提供する。一例において、システムレベル相互接続350は、プログラマブルファブリックと同様のやり方で(たとえばコンフィギュレーションビットストリームをロードすることによって)構成することができる。その他の例において、システムレベル相互接続350は、ICチップ101の動作中に動的にプログラミングしてもよい。
一例において、SiP IO140はIOインターフェイスを提供する。プログラマブルファブリック内で構成されている回路は、このIOインターフェイスを用いて、SiPブリッジ144を通してICチップ103と通信することができる。回路は、その他の外部回路に対するさらに他のIOとして、IOB304、MGT301、およびその他のIO(たとえばメモリIO、カスタムIO等)といったFPGAアーキテクチャ300のアプリケーションIOを使用することができる。図3の例において、FPGAアーキテクチャ300は、SiP IO140およびアプリケーションIO双方を含む。
以下でより詳細に説明するその他の例において、アプリケーションIOの少なくとも一部を、MCMのコンパニオンICのように、FPGAの外部に配置してもよい。たとえば、FPGAアーキテクチャを有するICチップ101は、SiP IO140のみを有するように構成することができる。すなわち、IOB304およびMGT301はFPGA
アーキテクチャ300から取除く。アプリケーションIOすべてをICチップ103上に配置することができる。ICチップ101内のプログラマブルファブリックは、SiPブリッジ144を用いてICチップ103におけるアプリケーションIOにアクセスできる。いくつかの例において、FPGAアーキテクチャを有するICチップ101は、コンフィギュレーションIO、JTAG IO等の何らかの専用IO を、SiP IOに加えて含み得る。この専用IOはFPGAのプログラミングおよび/またはテストのために使用されるのであって、プログラマブルファブリック内に構成された回路のためのアプリケーションIOとして使用されるのではない。
図4は、別の例に係るICシステム400を示すブロック図である。図4において、図1および図3の要素と同一または同様の要素は同一の参照番号で示している。ICシステム400において、ICチップ101Aは、システムレベル相互接続350に結合されたプログラマブルファブリック404を有するFPGAチップである。ICチップ103Aは、アプリケーションIO107Aを含む特定用途向け集積回路(ASIC)チップ(「コンパニオンIC」とも呼ぶ)である。ICチップ103AはアプリケーションIO107Aを有するものとして説明しているが、一般的に、ICチップ103Aは、IO回路および/またはその他の種類の回路を含み得るアプリケーション回路を含むことができる。システムレベル相互接続350は、SiP IO140Aの内部インターフェイスに結合される。システムレベル相互接続350は、上記集約回路110および分散回路112の機能を果たす。SiP IO140Aは、上記SiP IO140と似ているが、トランスポートロジック114およびデータリンクロジック116の一部がない。トランスポートロジック114はプログラマブルファブリック404内において実現される。たとえば、プログラマブルファブリック404は、トランスポートロジック114を実現できるPE102等の回路で構成することができる。PE102は、メモリ104(たとえばBRAM303)および/またはサポート回路106(たとえばDSP306)に結合されてこれを使用することができる。別の例において、PE102、メモリ104、およびサポート回路106は、データリンクロジック116のための調停ロジック406を実現することもできる。SiP IO140Aは、データリンクロジック116および物理ロジック118の多重化ロジックを含む。さらに他の例において、プログラマブルファブリック404は、調停ロジック406およびトランスポートロジック114双方を実現することができる。
図4の例において、システムレベル相互接続350は、プログラマブルファブリック404の4辺すべてを囲むリングとして示されている。プログラマブルファブリック404は、その上辺、下辺、左辺、および右辺においてシステムレベル相互接続350に結合される。以下でさらに説明するその他の例において、システムレベル相互接続350は、SIRの各種実装例と言ったその他の形態を有していてもよい。別の例において、システムレベル相互接続350はネットワークオンチップ(network-on-chip:NoC)等を含み
得る。
一例において、プログラマブルファブリック404はアプリケーションIOを含まない。ICチップ103A内のアプリケーションIO107Aは、IOB304、MGT301、およびその他のIO402(たとえばメモリIO、カスタムIO等)といったアプリケーションIOを含む。アプリケーションIO107Aは集約回路126および分散回路128に結合される。プログラマブルファブリック404内に構成された回路は、システムレベル相互接続350およびSiPブリッジ144を通して、アプリケーションIO107Aとデータをやり取りすることができる。いくつかの例において、ICチップ101Aはまた、コンフィギュレーションIO、JTAG IO等といった専用IO108を含む。この専用IO108の一部またはすべてがICチップ103Aに結合されてもよい。
図5は、一例に係るICチップ104Aのより詳細な図を示すブロック図である。特に、示されているプログラマブルファブリック404は9個のファブリックサブ領域(fabric sub-region:FSR)508A、508B、...、508I(まとめてFSR508)を含む。一般的に、プログラマブルファブリック404は任意の数のFSRを含み得る。各FSR408は、図3に示すプログラマブルファブリックと同様に、CLB、BRAM、DSP等の列を含む。さらに、FSR508は各々、ゼロ以上のリングノード(ring node:RN)504を含む。このファブリックの中心にあるFSR508(たとえばFS
R508E)はRN504を含んでいない。このファブリックの内側のエッジに沿うFSR508(たとえばFSR508B、508D、508F、および508H)は1つのRN504を含む。このファブリックの角にあるFSR508は2つのRN504を含む。各RN504は複数のリングサブノード(ring sub-node:RSN)506を含む。以下
でさらに説明するように、RN504はそれぞれのFSR508内のファブリックコンポーネントのうちのいくつかに置換えて設けられている。
RN504はワイヤトラック502に結合される。この例において、ワイヤトラック502はプログラマブルファブリック404の周囲にリングを形成する。以下で説明するようにその他の相互接続構造を使用できる。RN504とワイヤトラック502とが合わさって、システムレベル相互接続350を実現できるシステムレベル相互接続を形成する。一例において、システムレベル相互接続は2つのチャネルセットをサポートする。この2つのチャネルセットのうちの一方は当該ファブリックからデータを送信するためのものであり他方は当該ファブリックへのデータを受信するためのものである。たとえば、ワイヤトラック502を256のトラックに構成することにより、各々の幅が128トラックである1つの受信チャネルセットと1つの送信チャネルセットとを実現できる。当然、これらのワイヤトラック502は256トラックよりも多いまたは少ないトラックに構成することができる。各RN504はワイヤトラック502に結合される。各RN504は、プログラマブルファブリック404とシステムレベル相互接続との間に双方向インターフェイスを提供するルータスイッチを含む。プログラマブルファブリック404内に構成された回路は、RN504をプログラミングすることによって特定のワイヤトラック502に結合できる。RN504は、FPGAにロードされたコンフィギュレーションデータを用いて、または、FPGAの動作中に動的に、プログラミングすることができる。
各RSN506は、RN504の繰返し可能な部分を含む。たとえば、ワイヤトラック502が256トラックになるように構成された場合、RN504は、各々が32のワイヤトラックを制御する8個のRSN506を含み得る。当然、1つのRN504はそれよりも多いまたは少ないRSN506を含み得るものであり、RSN506は32よりも多いまたは少ないワイヤトラックを制御できる。各RSN506は、プログラマブルファブリック404の横方向のエッジに沿うRN504の一部であるかプログラマブルファブリック404の縦方向のエッジに沿うRN504の一部であるかに関係なく、同一のレイアウトを有し得る。このように、FPGAにおける実装のための設計回路に使用する設計ツールは、横方向のエッジに沿うRN504と縦方向のエッジに沿うRN504とを区別する必要はない。以下、RSN506の構造例を説明する。
図6は、一例に係るSiPスタック601および603を示すブロック図である。SiPスタック601はSiP IO(たとえばSiP IO140または140A)の一部であってもよく、SiPスタック603は別のSiP IO(たとえばSiP IO142または142A)の一部であってもよい。明確にするために、例としてトランスポートロジック114/124は示されていない。
SiPスタック601は、データリンク回路602と物理回路604とを含む。SiPスタック603は、データリンクロジックを実現するデータリンク回路608と、物理ロ
ジックを実現する物理回路606とを含む。物理回路604および606は物理層を形成する。データリンク回路602および608はデータリンク層を形成する。
この例において、SiPスタック601はMwのソースポートとMwの宛先ポートとを含む。データリンク回路602のソースポートおよび宛先ポートはそれぞれ集約回路110および分散回路112に結合される(たとえばシステムレベル相互接続350)。データリンク回路602は、Kwの外部出力とKwの外部入力とを含む。データリンク回路602の外部出力および外部入力は物理回路604に結合される。物理回路604は、信号経路138によって物理回路606に結合される。物理層に応じて、信号経路138はおよそ2Kの信号経路を含み得る。データリンク回路608はKwの外部入力とKwの外部出力とを含む。データリンク回路608の外部入力および出力は物理回路606に結合される。データリンク回路608はNwの宛先ポートとNwのソースポートとを含む。データリンク回路608のソースポートおよび宛先ポートはそれぞれ集約回路126および分散回路128に結合される。
動作時において、データリンク回路602は、幅wのM個の集約チャネルを、幅wのK個の物理チャネルに多重化する。物理回路604は、K個の物理チャネル上のパケットを信号経路138上にシリアライズする。物理回路606は、信号経路138からの信号を幅wのK個の物理チャネルにデシリアライズする。データリンク回路608は、K個の物理チャネルを幅wのN個の分散チャネルに多重分離する。データリンク回路608からデータリンク回路602への(すなわち逆方向の)送信時の動作も同じである。
図7は、一例に係るデータリンク層をより詳細に示すブロック図である。図7の例において、M=N=3でありK=2である。データリンク回路602は、送信キュー702−1〜702−3(まとめて送信キュー702)と、マルチプレクサ704−1および704−2(まとめてマルチプレクサ704)と、調停ロジック406とを含む。データリンク回路608はマルチプレクサ706−1〜706−3(まとめてマルチプレクサ706)を含む。送信キュー702−1〜702−3の入力はそれぞれソースポート708−1〜708−3(まとめてソースポート708)に結合される。マルチプレクサ706−1〜706−3の出力はそれぞれ宛先ポート710−1〜710−3(まとめて宛先ポート710)に結合される。マルチプレクサ704の制御入力は調停ロジック406の出力に結合される。調停ロジック406の入力は送信キュー702の出力に結合される。一例において、調停ロジック406は、プログラマブルファブリック404におけるようにSiP IOとは別に実現される。
動作時において、調停ロジック406は、K個の物理チャネルを通して送信されるパケットに宛先コンフリクトが生じないようにマルチプレクサ704を制御する。送信されている各パケットは宛先ポートを含む。調停ロジック406は、調停アルゴリズムを実行することにより、確実に、K個の物理チャネルを通して並列に送信されている2つのパケットが同一の宛先ポートを有することがないようにする。以下、調停アルゴリズムの例を説明する。
図8は、一例に係るSiPブリッジのデータリンク層内における調停方法800を示すフロー図である。方法800は調停ロジック406によって実行することができる。方法800はステップ802から始まり、ステップ802において、調停ロジック406はすべての宛先ポートを未使用としてマークする。図7の例において、宛先ポートは出力710−1〜710−3を含む。一般的には合計N個の宛先ポートがあればよく、対応する分散回路の入力チャネルごとに1つの宛先ポートがある。
ステップ804において、調停ロジック406は、スケジュール用のマルチプレクサを
選択する。図7の例では、調停ロジック406によってスケジュールされることになる2つのマルチプレクサ704−1および704−2がある。一般的にはK個のマルチプレクサ704があればよく、物理チャネルごとに1つのマルチプレクサがある。
ステップ806において、調停ロジック406は送信準備ができている送信キューごとに宛先ポートを特定する。図7の例では3つの送信キュー702−1〜702−3がある。一般的にはM個の送信キューがあればよく、対応する集約回路の出力チャネルごとに1つの送信キューがある。送信キューが空でない場合、調停ロジック406はこの送信キューを送信準備ができているとみなすことができる。各送信キュー702は、特定の宛先ポートを有する1つ以上のパケットを格納する。調停ロジック406はこの(これらの)パケットを解析することによって宛先ポートを特定する。
ステップ808において、調停ロジック406は、送信のために未使用の宛先ポートをターゲットとする1つ以上の送信キューをスケジュールする。一例において、スケジュールは、最大マッチングアルゴリズムの変形を用いて並列に行なうことができる。送信キューが未使用の宛先ポートをターゲットとするパケットを含む場合、調停ロジック406は送信キューをホールドする。ステップ810において、調停ロジック406は、特定した宛先ポートを使用中としてマークする。ステップ812において、調停ロジックはスケジュールすべきマルチプレクサが他にあるか否かを判断する。ある場合、方法800はステップ804に戻り次のマルチプレクサを選択する。そうでなければ、方法800はステップ802に戻りすべての宛先ポートを未使用としてマークする。よって、調停ロジック406はスケジュールすべきマルチプレクサごとに(たとえば各マルチプレクサ704)ステップ804〜812を実行する。調停ロジック406は、ステップ802〜812を複数回のスケジュールラウンドにおいて実行する。このようにして、調停ロジック406は、物理チャネルを通して並列に送信されるパケットが異なる宛先ポートを有しマルチプレクサ706において輻輳またはコンフリクトが生じないようにするために、送信キュー702の出力をマルチプレクサ704が多重化するようマルチプレクサ704を制御するためのスケジュールを生成して実現する。
図9は、別の例に係るSiPブリッジのデータリンク層内における調停方法900を示すフロー図である。方法900は調停ロジック406によって実行することができる。方法900が方法800と異なる点は、調停ロジック406が、宛先ポートのコンフリクトを処理することに加えて、送信キュー702各々に重みを割当て、この重みに基づいて、物理チャネルを通して送信するために送信キューからパケットを選択する点にある。
方法900はステップ902から始まり、ステップ902において、調停ロジック406はすべての宛先ポートを未使用としてマークする。図7の例において、宛先ポートは出力710−1〜710−3を含む。一般的にはN個の宛先ポートがあればよく、対応する分散回路の入力チャネルごとに1つの宛先ポートがある。
ステップ904において、調停ロジック406は割当てた重みに基づいて各送信キューの不足カウントを更新する。即ち、調停ロジック406は重みを各送信キューに割当てることができる。送信キューのうちのいくつかはその他の送信キューと比べてより大きな重み(より高い優先順位)を有し得る。不足カウントを用いることにより、スケジューリング中の所定の時点で所定の送信キューから選択するパケットの数を制御する。
ステップ906において、調停ロジック406はスケジュール用のマルチプレクサを選択する。図7の例では、調停ロジック406によってスケジュールされることになる2つのマルチプレクサ704−1および704−2がある。一般的にはK個のマルチプレクサ704があればよく、物理チャネルごとに1つのマルチプレクサがある。
ステップ908において、調停ロジック406は送信キュー(たとえば送信キュー702のうちの1つ)を選択する。ステップ910において、調停ロジック406は、選択した送信キューの中のパケットがターゲットとする宛先ポートが未使用か否かを判断する。未使用でなければ、方法900はステップ908に戻り調停ロジック406は次の送信キューを選択する。そうでなければ、方法900はステップ912に進む。
ステップ912において、調停ロジック406は、特定した宛先ポートを使用中であるとしてマークする。ステップ914において、調停ロジック406は、送信のために選択した送信キューを、空になるまで、または対応する不足カウントがしきい値を満たすまで、スケジュールする。不足カウントが大きい場合、不足カウントが小さい場合よりも多くのパケットを所定の送信キューから選択することができる。
ステップ916において、調停ロジック406は、選択した送信キューが空か否かを判断する。空であれば、方法900はステップ918に進み調停ロジック406は、選択した送信キューの不足カウントを初期値にリセットする。選択した送信キューが空でなければ、方法900は代わりにステップ920に進む。
ステップ920において、調停ロジック406は、今回の繰返しにおいて処理すべき他の送信キューがあるか否かを判断する。すべての送信キューが処理済であれば、方法900はステップ922に進む。そうでなければ、方法900はステップ908に戻り次の送信キューを選択する。ステップ922において、調停ロジック406は、スケジュールすべきマルチプレクサが他にあるか否かを判断する。あれば、方法900はステップ906に戻り次のマルチプレクサを選択する。そうでなければ、方法900はステップ902に戻りすべての宛先ポートを未使用としてマークする。このように、調停ロジック406は、スケジュールすべきマルチプレクサごとに(たとえば各マルチプレクサ704)ステップ906〜922を実行する。調停ロジック406は、選択したマルチプレクサについて、送信キューごとにステップ902〜922を実行する。このようにして、調停ロジック406は、物理チャネルを通して並列に送信されるパケットが異なる宛先ポートを有しマルチプレクサ706において輻輳またはコンフリクトが生じないようにするために、送信キュー702の出力をマルチプレクサ704が多重化するようマルチプレクサ704を制御するためのスケジュールを生成して実現する。また、調停ロジック406は、重み付け手法を用いて、キューの優先順位および公平性を考慮する。
図10は、一例に係るICシステム内のプログラムICからデータを送信する方法1000を示すフロー図である。方法1000をICチップ101が実行することによってICシステム400のプログラマブルファブリック404からデータを送信してもよい。方法1000はステップ1002から始まり、ステップ1002において、システムレベル相互接続350は、その集約チャネルを通してデータをSiP IO140Aに結合する。一例において、プログラマブルファブリック404は、このデータをパケットに分割する(ステップ1004)に構成されたトランスポートロジック114を含む。
ステップ1006において、SiP IO140Aはこの集約チャネルからのデータを、SiPブリッジ144のより少ない数の物理チャネルを通して送信する。たとえば、ステップ1008において、データリンクロジック116は、集約チャネルからのデータを送信キューに入れる。ステップ1010において、データリンクロジック116は、これらの送信キューを物理チャネルに多重化し、一方、調停ロジック406は宛先コンフリクトを処理する。ステップ1012において、調停ロジック406はまた、送信キューに重みを割当て、この重みに基づいて送信するパケットを選択してもよい。
ステップ1014において、ICチップ103内のSiP IO142はSiPブリッジ144からデータを受信する。ステップ1016において、分散回路128は、SiP
IO142からのデータを、分散チャネルを通してアプリケーションIO107Aに結合する。ステップ1018において、アプリケーションIO107Aは、このデータを消費するおよび/またはこのデータを外部回路に送信する。
図11は、一例に係るICシステム内のプログラマブルICへのデータを受信する方法1100を示すフロー図である。方法1100をICチップ101が実行することによってアプリケーション回路107からデータを受信してもよい。方法1100はステップ1102から始まり、ステップ1102において、集約回路126は、アプリケーション回路107からのデータを、集約チャネルを通してSiP IO142に結合する。この例において、SiP IO142は、データをパケットに分割する(ステップ1104)ように構成されたトランスポートロジック124を含む。
ステップ1106において、SiP IO142は、集約チャネルからのデータを、SiPブリッジ144のより少ない数の物理チャネルを通して送信する。たとえば、ステップ1108において、データリンクロジック122は、集約チャネルからのデータを送信キューに入れる。ステップ1110において、データリンクロジック122は、これらの送信キューを物理チャネルに多重化する一方で、宛先コンフリクトを処理する。ステップ1112において、データリンクロジック122はまた、送信キューに重みを割当て、この重みに基づいて送信するパケットを選択することができる。すなわち、データリンクロジック122は、調停ロジック406と同様の調停ロジックを含み得る。
ステップ1114において、ICチップ101内のSiP IO140Aは、SiPブリッジ144からデータを受信する。ステップ1116において、システムレベル相互接続350は、SiP IO140Aからのデータを、分散チャネルを通してプログラマブルファブリック404に結合する。ステップ1118において、プログラマブルファブリック404はこのデータを消費する。
図12は、一実装例に係る物理層ロジック1200を示すブロック図である。物理ロジック1200は、複数のSerDesトランシーバ1201、たとえばSerDesトランシーバ1201−1〜1201Kを含む。各SerDesトランシーバ1201は、K個の出力物理チャネルとK個の入力物理チャネルとをサポートする。各SerDesトランシーバ1201は、複数の信号線、たとえば信号線1204−1〜1204−wを含むパラレルインターフェイス1204を含む。各SerDesトランシーバ1201はシリアルインターフェイス1202を含む。パラレルインターフェイス1204は、上記のようにデータリンク回路の外部ポートに結合される。各SerDesトランシーバ1201は、そのパラレル入力をシリアライズするかまたはそのシリアル入力をデシリアライズするように構成される。
先に述べたように、本明細書に記載のICシステムは、特定の要求を満たす何らかの種類のUSR SerDes技術を使用することができる。考慮すべき物理層のパラメータが3つあり、優先順位の順で、(1)1ピン当たりの帯域幅、(2)1ビット当たりの電力、および(3)面積である。性能指数(figure of merit:FoM)を、最初の2つの
ファクタを含むいずれかの物理ロジックに対して定めることができる、すなわち、FoM=(1ピン当たりの帯域幅)/(1ビット当たりの電力)。一例において、本明細書に記載の物理ロジックは、20(Gb/s)(pJ/ビット)以上のFoMを含み得る。
図13は、一例に係るプログラマブルファブリック404の横方向エッジに対するシステムレベル相互接続350の一体化を示すブロック図である。この例において、プログラ
マブルファブリック404は、相互接続素子311およびCLE312のファブリックを含む。各CLE312はスライス312Lとスライス312Mとを含む。CLEスライス312Lおよび312Mは、ルックアップテーブル(lookup table:LUT)、マルチプレクサ、フリップフロップ、組合わせロジック等を含み得る。相互絶族素子111は、(図3に示し先に説明した)CLE312をプログラマブル相互接続に結合するように構成される。
システムレベル相互接続350は、プログラマブルファブリック404の横方向エッジ(横方向のファブリックエッジ1308)と、ワイヤトラック502とを含む。横方向のファブリックエッジ1308は、相互接続素子311AとRSN506とを含む。各RSN506は、一対のCLE312Lおよび312Mに匹敵する領域を占める。各RSN506は、ワイヤトラック502の一部に結合されたスイッチ回路を含む。具体的には、各RSN506は、ワイヤトラック502を経由する隣りの回路への時計回り(clockwise
:CW)リンク1304を含む。各RSN506はまた、ワイヤトラック502を経由する隣りの回路への反時計回り(counter-clockwise:CCW)リンク1302を含む。隣
りの回路は、RSN506の位置に応じて、別のRN内のRSNであるかまたはSiP IO140Aとなり得る。相互接続素子311Aは、RSN506をプログラマブルファブリック404のプログラマブル相互接続に結合するように構成される。
一例において、ワイヤトラック502は、上述の例で説明したように256のトラックを含む。1つのRSN506は、CW方向およびCCW方向の両方においてワイヤトラック502の一部に結合される。たとえば、RSN506は、CW方向およびCCW方向の各々においてワイヤトラック502のうちの32のトラックに結合することができる(たとえば合計64リンク)。複数のRSN506は結合されてRN504を形成し、RN504はワイヤトラック502すべてに結合される。たとえば、RSN506が32のワイヤトラックを制御するのであれば、RN504は8個のRSN506を含む。
図13に示すように、RSN506の1つ以上のセットをプログラマブルファブリック404に統合することにより、横方向のエッジに沿って1つ以上のRNを構成してもよい。たとえば、プログラマブルファブリック404の各FSR508は1つのRN504を含む。CLE312の一部をファブリックエッジ1308から取除いてRSN506の回路に置換える。プログラマブル相互接続の一部(たとえば横方向の長いワイヤ)を取除いてワイヤトラック502を収容する。
図14は、一例に係るプログラマブルファブリック404の縦方向エッジに対するシステムレベル相互接続350の一体化を示すブロック図である。この例において、プログラマブルファブリック404は、相互接続素子111およびCLE312のファブリックを含む。各CLE312はスライス312Lとスライス312Mとを含む。CLEスライス312Lおよび312Mは、ルックアップテーブル(LUT)、マルチプレクサ、フリップフロップ、組合わせロジック等を含み得る。相互絶族素子311は、(図3に示し先に説明した)CLE312をプログラマブル相互接続に結合するように構成される。
システムレベル相互接続350は、プログラマブルファブリック404の縦方向エッジ(縦方向のファブリックエッジ1408)と、ワイヤトラック502とを含む。縦方向のファブリックエッジ1408は、相互接続素子311AとRSN506とを含む。各RSN506は、一対のCLE312Lおよび312Mに匹敵する領域を占める。各RSN506は、ワイヤトラック502の一部に結合されたスイッチ回路を含む。具体的には、各RSN506は、ワイヤトラック502を経由する隣りの回路へのCWリンク1404を含む。各RSN506はまた、ワイヤトラック502を経由する隣りの回路へのCCWリンク1402を含む。隣りの回路は、RSN506の位置に応じて、別のRN内のRSN
であるかまたはSiP IO140Aとなり得る。相互接続素子311Aは、RSN506をプログラマブルファブリック404のプログラマブル相互接続に結合するように構成される。
一例において、ワイヤトラック502は、上述の例で説明したように256のトラックを含み得る。1つのRSN506は、CW方向およびCCW方向の両方においてワイヤトラック502の一部に結合される。たとえば、RSN506は、CW方向およびCCW方向の各々においてワイヤトラック502のうちの32のトラックに結合することができる(たとえば合計64リンク)。複数のRSN506は結合されてRN504を形成し、RN504はワイヤトラック502すべてに結合される。たとえば、RSN506が32のワイヤトラックを制御するのであれば、RN504は8個のRSN506を含む。
図14に示すように、RSN506の1つ以上のセットをプログラマブルファブリック404に統合することにより、縦方向のエッジに沿って1つ以上のRNを構成してもよい。たとえば、プログラマブルファブリック404の各FSR508は、その縦方向エッジのうちの一方または双方に沿って1つのRN504を含む。CLE312の一部を縦方向のファブリックエッジ1408から取除いてRSN506の回路に置換える。プログラマブル相互接続の一部(たとえば縦方向の長いワイヤ)を取除いてワイヤトラック502を収容する。
図15は、一例に係るRSN506を示すブロック図である。RSN506は、アービタ1502と、バッファ1504と、フリップフロップ1506と、フリップフロップ1508と、バッファ1510と、バッファ1512と、フリップフロップ1514と、マルチプレクサ1516と、マルチプレクサ1518と、マルチプレクサ1520とを含む。バッファ1510は、(たとえば同一のRNまたは隣接するRNのいずれかにおける)左側RSNから16ビット入力を受ける。同様に、バッファ1504は、(たとえば同一のRNまたは隣接するRNのいずれかにおける)右側RSNから、またはSiP IO140から、16ビット入力を受ける。バッファ1510およびバッファ1504の出力はマルチプレクサ1518の入力に結合される。マルチプレクサ1518の出力はフリップフロップ1514の入力に結合される。フリップフロップ1514は相互接続素子311Aに結合された16ビット出力を含む。
バッファ1512は相互接続素子311Aに結合された16ビット入力を含む。バッファ1512の出力は、マルチプレクサ1520の入力およびマルチプレクサ1516の入力に結合される。マルチプレクサ1520のもう1つの入力はバッファ1504の出力に結合される。マルチプレクサ1516のもう1つの入力はバッファ1510の出力に結合される。マルチプレクサ1520の出力はフリップフロップ1508の入力に結合される。マルチプレクサ1516の出力はフリップフロップ1506の入力に結合される。フリップフロップ1508は左側のRSNに結合された16ビット出力を含む。フリップフロップ1506は右側のRSNまたはSiP IO140Aに結合された16ビット出力を含む。マルチプレクサ1516、1518、および1520の制御入力はアービタ1502の出力に結合される。アービタ1502の入力はバッファ1504、1510、および1512の出力に結合される。
動作時において、RSN506は、バッファ1512を用いて相互接続素子311Aを通してプログラマブルファブリック404から与えられた入力をバッファする。アービタ1502は、バッファされた入力を、フリップフロップ1508またはフリップフロップ1506いずれかにルーティングする。フリップフロップ1506はCWリンクを通してワイヤトラック502に結合される。フリップフロップ1508はCCWリンクを通してワイヤトラック502に結合される。フリップフロップ1506および1508は、送信
するデータを隣接する回路(たとえば隣接するRSNまたはSiP IO140A)に登録する。RSN506はまた、バッファ1504および1510を用いて隣接する回路(たとえば隣接するRSNまたはSiP IO140A)からの入力をバッファする。バッファ1504はCCWリンクを通してワイヤトラック502に結合される。バッファ1510はCWリンクを通してワイヤトラック502に結合される。アービタ1502は、バッファされた入力を、バッファ1504またはバッファ1510いずれかからフリップフロップ1514にルーティングする。フリップフロップ1514は、相互接続素子311Aを通して、登録された出力をプログラマブルファブリック404に与える。このように、RSN506は16ビットスイッチを実現する。その他の例において、RSN504は、幅が16ビットよりも小さいまたは大きいスイッチを実現することができる。図15に示すRSN506のレイアウトにより、プログラマブルファブリック404の横方向エッジまたは縦方向エッジいずれかに沿って同じRSNの実装が可能である。
図16A〜図16Fは、システムレベル相互接続350のSIR実装の例を示す。図16Aに示すように、ワイヤトラック502は、プログラマブルファブリック404の周囲のトラックのリングを含む。RN504は、プログラマブルファブリック404の横方向の2つのエッジと縦方向の2つのエッジとに沿って一体化されている。ワイヤトラック502はRN504とSiP IO140Aとの間に結合される。プログラマブルファブリック404内で構成されている回路1602は、上記エッジのうちのいずれかに沿って配置されたRN504のうちのいずれかを通してSiP IO150Aに結合することができる。
図16Bに示すように、ワイヤトラックの別の実装例(ワイヤトラック502A)は、プログラマブルファブリックの周りのトラックの部分的なリングを含む。示されている例において、ワイヤトラック502Aは、プログラマブルファブリック404の横方向の2つのエッジおよび縦方向のエッジを囲んでいる。その他の例において、ワイヤトラック502Aは、プログラマブルファブリック404の縦方向の2つのエッジと横方向のエッジとを囲んでいてもよい。さらに他の例において、ワイヤトラック502Aは、縦方向の1つのエッジおよび横方向の1つのエッジに隣接していてもよい。ワイヤトラック502AはRN504とSiP IO140Aとの間に結合される。プログラマブルファブリック404内で構成されている回路1604は、RN504のうちのいずれかを通してSiP
IO140Aに結合することができる。
図16Cに示すように、ワイヤトラックの別の実装例(ワイヤトラック502B)は、プログラマブルファブリック404の横方向の1つのエッジに隣接するトラックを含む。ワイヤトラック502BはRN504とSiP IO140Aとの間に結合される。プログラマブルファブリック404内で構成されている回路1606は、RN504のうちのいずれかを通してSiP IO140Aに結合することができる。
図16Dに示すように、ワイヤトラックの別の実装例(ワイヤトラック502C)は、プログラマブルファブリック404の縦方向の1つのエッジに隣接するトラックを含む。ワイヤトラック502CはRN504とSiP IO140Aとの間に結合される。プログラマブルファブリック404内で構成されている回路1608は、RN504のうちのいずれかを通してSiP IO140Aに結合することができる。
図16Eに示すように、SIRの別の実装例は2セットのワイヤトラック502Aおよび502Cを含む。ワイヤトラック502Aは、プログラマブルファブリック404の1つ以上の辺(たとえば図示のように横方向の2つの辺および縦方向の1つの辺)に隣接している。ワイヤトラック502Cは、プログラマブルファブリック404の1つ以上の辺(たとえば図示のように縦方向の1つの辺)に隣接している。ワイヤトラック502Aは
RN504とSiP IO140Aとの間に結合される。ワイヤトラック502Cは別の1セットのRN504と別のSiP IO回路104Bとの間に結合される。プログラマブルファブリック404内で構成されている回路1610は、ワイヤトラック502Aに結合されているRN504のうちのいずれかを通してSiP IO140Aに結合することができる。プログラマブルファブリック404内で構成されている回路1612は、ワイヤトラック502Cに結合されているRN504のうちのいずれかを通してSiP IO140Bに結合することができる。
図16Fに示すように、SIRの別の実装例はワイヤトラック502(たとえばワイヤトラック502−1〜502−4)のメッシュを含む。各セットのワイヤトラック502はプログラマブルファブリック404の1つ以上のFSR508を囲んでいる。各FSR508は、その1つ以上のエッジに沿って配置されたRN504を含む。RN504はそれぞれのワイヤトラック502−1〜502−4に結合される。ワイヤトラック502のメッシュはSiP IO140Aに結合される。FSR508のうちのいずれかの内部で構成されている回路(図示せず)は、1つ以上のRN504と1つ以上のワイヤトラック502−1〜502−4とを通してSiP IO140Aに結合することができる。4つのワイヤトラックリングが示されているが、SIRは4つよりも多いまたは少ないワイヤトラックリングを含み得る。
図17は、一例に係るICシステム内のプログラマブルICからデータを送信する方法1700を示すフロー図である。方法1700をICチップ101が実行することによってICシステム400のプログラマブルファブリック404からデータを送信してもよい。方法1700はステップ1702から始まり、ステップ1702において、プログラマブルファブリック内の回路は、プログラマブルファブリックのエッジと一体化されたリングノード504にデータを結合する。ステップ1703において、リングノード504はこのデータをワイヤトラック502のチャネルを通してSiP IO140Aに結合する。一例において、プログラマブルファブリック404は、データをパケットに分割する(ステップ1704)ように構成されたトランスポートロジック114を含む。
ステップ1706において、SiP IO140Aは、バスチャネルからのデータを、SiPブリッジ144のより少ない数の物理チャネルを通して送信する。たとえば、ステップ1708において、データリンクロジック116はバスチャネルからのデータを送信キューに入れる。ステップ1710において、データリンクロジック116がこれらの送信キューを物理チャネルに多重化する一方で、調停ロジック406は宛先コンフリクトを処理する。ステップ1712において、調停ロジック406はまた、送信キューに重みを割当て、この重みに基づいて送信するパケットを選択する。
ステップ1714において、ICチップ103内のSiP IO142はSiPブリッジ144からデータを受信する。ステップ1716において、分散回路128はSiP IO142からのデータを分散チャネルを通してアプリケーションIO107Aに結合する。ステップ1718において、アプリケーションIO107Aはデータを外部回路に送信する。
その他いくつかの例は次の通りである。
一例において、集積回路(IC)システムを提供することができる。このようなシステムはパッケージ基板を含み得る。パッケージ基板は、この基板上に設けられたプログラマブル集積回路(IC)チップとコンパニオンICチップとを有する。プログラマブルICチップはプログラマブルファブリックを含み、コンパニオンICチップはアプリケーション回路を含む。上記システムはさらにシステムインパッケージ(SiP)ブリッジを含み得る。SiPブリッジは、プログラマブルICチップ内に配置された第1のSiP IO
回路と、コンパニオンICチップ内に配置された第2のSiP IO回路と、パッケージ基板上において第1のSiP IO回路と第2のSiP IO回路とを電気的に結合する導電性相互接続とを含む。システムはさらに、プログラマブルICチップ内においてプログラマグルファブリックと第1のSiP IO回路との間に配置された第1の集約回路および第2の分散回路と、コンパニオンICチップ内においてアプリケーションIOと第2のSiP IO回路との間に配置された第2の集約回路および第2の分散回路とを含む。
このようなICシステムにおいて、第1および第2のSiP IO回路は、第1および第2の集約回路のマルチチャネル出力をそれぞれ、導電性相互接続において実現された第1の複数の物理チャネルに多重化し、導電性相互接続において実現された第2の複数の物理チャネルからの入力をそれぞれ、第1および第2の分散回路のマルチチャネル入力に多重分離するように構成されてもよい。
このようなICシステムにおいて、第1の集約回路および第1の分散回路は、プログラマブルファブリックのプログラマブル相互接続とSiP IO回路との間に結合されたシステムレベル相互接続を含み得る。
このようなICシステムにおいて、システムレベル相互接続はネットワークオンチップ(NoC)を含み得る。
このようなICシステムにおいて、プログラマブルICチップは、SiPブリッジとは別に、コンパニオンICチップへの直接接続を含み得る。
このようなICシステムにおいて、プログラマブルICチップは調停ロジックを含み得るものであり、第1のSiP IO回路はデータリンク回路とトランシーバ回路とを含み得る。データリンク回路の内部インターフェイスは第1の集約回路および第1の分散回路に結合されてもよく、データリンク回路の外部インターフェイスはトランシーバ回路の内部インターフェイスに結合されてもよく、トランシーバ回路の外部インターフェイスは導電性相互接続に結合されてもよく、データリンク回路の制御インターフェイスは調停ロジックに結合されてもよい。
このようなICシステムにおいて、調停ロジックはプログラマブルICチップのプログラマブルファブリック内で実現されてもよい。
このようなICシステムにおいて、プログラマブルICチップは、第1の集約回路に送信されるデータをパケット化し第1の分散回路から受信したデータをデパケット化するように構成されたトランスポートロジックを含み得る。
このようなICシステムにおいて、トランスポートロジックはプログラマブルICチップのプログラマブルファブリック内で実現されてもよい。
別の例においてプログラマブルICを提供することができる。このようなプログラマブルICは、外部導電性相互接続を通してコンパニオンICに結合されるように構成されたシステムインパッケージ(SiP)入出力(IO)回路と、アプリケーション回路のうちの少なくとも一部分を含まないプログラマブルファブリックと、プログラマブルファブリックとSiP IO回路との間に結合された集約回路および分散回路とを含み得る。
このようなプログラマブルICにおいて、集約回路および分散回路は、プログラマブルファブリックのプログラマブル相互接続とSiP IO回路との間に結合されたシステムレベル相互接続を含み得る。
このようなプログラマブルICにおいて、システムレベル相互接続はネットワークオンチップ(NoC)を含み得る。
このようなプログラマブルICにおいて、プログラマブルファブリックは、SiP IO回路とは別に、コンパニオンICに直接接続されてもよい。
このようなICにおいて、プログラマブルファブリックは調停ロジックを実現するように構成されてもよく、SiP IO回路はデータリンク回路とトランシーバ回路とを含み得る。データリンク回路の内部インターフェイスは、集約回路および分散回路に結合されてもよく、データリンク回路の外部インターフェイスはトランシーバ回路の内部インターフェイスに結合されてもよく、トランシーバ回路の外部インターフェイスは外部導電性相互接続に結合されてもよく、データリンク回路の制御インターフェイスは調停ロジックに結合されてもよい。
このようなプログラマブルICにおいて、プログラマブルファブリックは、集約回路に送信されるデータをパケット化し分散回路から受信されたデータをデパケット化するトランスポートロジックを実現するように構成されてもよい。
別の例において、ICシステム内のプログラマブルICからデータを送信する方法を提供することができる。この方法は、プログラマブルIC内の集約回路の複数のチャネルを通してデータを第1のシステムインパッケージ(SiP)IO回路に結合するステップと、これら複数のチャネルからのデータを、プログラマブルICとコンパニオンICとの間のより少ない数の物理チャネルを通して送信するステップと、コンパニオンICの第2のSiP IO回路において複数の物理チャネルからデータを受信するステップと、第2のSiP IO回路からのデータを、コンパニオンIC内の分散回路の複数のチャネルを通してコンパニオンIC内のアプリケーション回路に結合するステップとを含み得る。
あるこのような方法において、データはパケットに分割されてもよい。
あるこのような方法において、第2のSiP IO回路は、分散回路の複数のチャネルそれぞれに結合された複数の内部出力ポートを含み得る。パケットは各々、複数の内部出力ポートから選択された宛先ポートを有する。
あるこのような方法において、送信するステップは、集約回路の複数のチャネルからのデータを、複数の送信キューそれぞれに入れるステップと、複数の物理チャネルを通して並列に送信されるパケットが異なる宛先ポートを有するように、送信キューの出力を複数の物理チャネルに多重化するステップとを含み得る。
あるこのような方法において、多重化するステップはさらに、複数の送信キュー各々に重みを割当てるステップと、この重みに基づいて、複数の物理チャネルを通して送信するパケットを送信キューから選択するステップとを含み得る。
別の例において、プログラマブルICを提供することができる。このようなプログラマブルICは、プログラマブル相互接続を有するプログラマブルファブリックと、プログラマグルファブリックの少なくとも1つのエッジに隣接するワイヤトラックと、プログラマブルファブリックの少なくとも1つのエッジと一体化された少なくとも1つのリングノードとを含み、上記少なくとも1つのリングノードはプログラマブル相互接続とワイヤトラックとの間に結合され、さらに、ワイヤトラックに結合されたシステムインパッケージ(SiP)入出力(IO)回路を含む。
このようなプログラマブルICにおいて、ワイヤトラックは、プログラマブルファブリックの2つの横方向エッジと2つの縦方向エッジとに隣接し、上記少なくとも1つのリングノードは、プログラマブルファブリックの2つの横方向エッジおよび2つの縦方向エッジと一体化された複数のリングノードを含み得る。
このようなプログラマブルICにおいて、ワイヤトラックはプログラマブルファブリックの3つのエッジに隣接していてもよく、上記少なくとも1つのリングノードは、プログラマブルファブリックの上記3つのエッジと一体化された複数のリングノードを含み得る。
このようなプログラマブルICにおいて、ワイヤトラックは第1のワイヤトラックを含み得る。上記少なくとも1つのリングノードは少なくとも1つの第1のリングノードを含み得る。プログラマブルICはさらに、プログラマブルファブリックの少なくとも1つのエッジに隣接する第2のワイヤトラックと、プログラマブルファブリックの少なくとも1つのエッジと一体化された少なくとも1つの第2のリングノードとを含み得る。上記少なくとも1つの第2のリングノードはプログラマブル相互接続と第2のワイヤトラックとの間に結合される。
このようなプログラマブルICにおいて、SiP IO回路は第1のSiP IO回路を含み得る。プログラマブルICはさらに、第2のワイヤトラックに結合された第2のSiP IO回路を含み得る。
このようなプログラマブルICにおいて、少なくとも1つのリングノードは各々、複数のリングサブノードを含み得る。各リングサブノードはプログラマブルファブリック内において同一のレイアウトを有する。
このようなプログラマブルICにおいて、複数のリングサブノードは各々、プログラマブルファブリックの相互接続素子に結合されたスイッチ回路を含み得る。
別の例において、別のICシステムを提供することができる。このようなICはパッケージ基板を含み得る。パッケージ基板は、この基板上に設けられたプログラマブル集積回路(IC)チップとコンパニオンICチップとを有する。プログラマブルICチップはプログラマブルファブリックを含み、コンパニオンICチップはアプリケーション回路を含む。ICシステムはさらにシステムインパッケージ(SiP)ブリッジを含み得る。SIPブリッジは、プログラマブルICチップに配置された第1のSiP IO回路と、コンパニオンICチップに配置された第2のSiP IO回路と、パッケージ基板上におい第1のSiP IO回路と第2のSiP IO回路とを電気的に結合する導電性相互接続とを含む。プログラマブルICチップは、プログラマブル相互接続を有するプログラマブルファブリックと、プログラマブルファブリックの少なくとも1つのエッジに隣接するワイヤトラックとを含み、ワイヤトラックは第1のSiP IO回路に結合される。プログラマブルICチップはさらに、プログラマブルファブリックの少なくとも1つのエッジと一体化された少なくとも1つのリングノードを含む。この少なくとも1つのリングノードはプログラマブル相互接続とワイヤトラックとの間に結合される。
あるこのようなICにおいて、ワイヤトラックは、プログラマブルファブリックの2つの横方向エッジと2つの縦方向エッジとに隣接していてもよく、上記少なくとも1つのリングノードは、プログラマブルファブリックの2つの横方向エッジおよび2つの縦方向エッジと一体化された複数のリングノードを含み得る。
あるこのようなICにおいて、ワイヤトラックはプログラマブルファブリックの3つの
エッジに隣接していてもよく、上記少なくとも1つのリングノードは、プログラマブルファブリックの上記3つのエッジと一体化された複数のリングノードを含み得る。
あるこのようなICにおいて、ワイヤトラックは第1のワイヤトラックを含み得る。上記少なくとも1つのリングノードは少なくとも1つの第1のリングノードを含み得る。プログラマブルICはさらに、プログラマブルファブリックの少なくとも1つのエッジに隣接する第2のワイヤトラックと、プログラマブルファブリックの少なくとも1つのエッジと一体化された少なくとも1つの第2のリングノードとを含み得る。上記少なくとも1つの第2のリングノードはプログラマブル相互接続と第2のワイヤトラックとの間に結合される。
あるこのようなICにおいて、SiP IO回路は第1のSiP IO回路を含み得る。プログラマブルICはさらに、第2のワイヤトラックに結合された第2のSiP IO回路を含み得る。
あるこのようなICにおいて、少なくとも1つのリングノードは各々、複数のリングサブノードを含み得る。各リングサブノードはプログラマブルファブリック内において同一のレイアウトを有する。
あるこのようなICにおいて、複数のリングサブノードは各々、プログラマブルファブリックの相互接続素子に結合されたスイッチ回路を含み得る。
別の例において、プログラマブルICからデータを送信する方法を提供することができる。このような方法は、プログラマブルICのプログラマブルファブリックのエッジと一体化されたリングノードにデータを結合するステップを含み得る。このリングノードはプログラマブルファブリックのプログラマブル相互接続と、上記エッジに隣接するワイヤトラックとの間に結合される。上記方法はさらに、ワイヤトラックの複数のチャネルを通してリングノードからのデータを第1のシステムインパッケージ(SiP)IO回路に結合するステップと、上記複数のチャネルからのデータを、プログラマブルICとコンパニオンICとの間のより少ない数の物理チャネルを通して送信するステップとを含み得る。
このような方法は、コンパニオンIC内の第2のSiP IO回路において上記複数の物理チャネルからのデータを受信するステップと、第2のSiP IO回路からのデータを、コンパニオンIC内の分散回路の複数のチャネルを通してコンパニオンIC内のアプリケーション回路に結合するステップとを含み得る。
あるこのような方法において、データはパケットに分割されてもよい。
あるこのような方法において、第2のSiP IO回路は、分散回路の複数のチャネルそれぞれに結合された複数の内部出力ポートを含み得る。各パケットは、上記複数の内部出力ポートから選択された宛先ポートを有する。
あるこのような方法において、送信するステップは、上記複数のチャネルからのデータを複数の送信キューそれぞれに入れるステップと、複数の物理チャネルを通して並列に送信されるパケットが異なる宛先ポートを有するように、上記送信キューの出力を複数の物理チャネルに多重化するステップを含み得る。
あるこのような方法において、多重化するステップはさらに、複数の送信キュー各々に重みを割当てるステップと、この重みに基づいて複数の物理チャネルを通して送信するパケットを送信キューから選択するステップとを含み得る。
これまでの説明は特定の例に向けられているが、その他のおよびさらに追加の例がその基本的な範囲から逸脱することなく考案され得る。その範囲は以下の特許請求の範囲によって定められる。

Claims (14)

  1. 集積回路(IC)システムであって、
    パッケージ基板を備え、前記パッケージ基板は、前記パッケージ基板上に設けられたプログラマブル集積回路(IC)チップとコンパニオンICチップとを有し、前記プログラマブルICチップはプログラマブルファブリックを含み、前記コンパニオンICチップはアプリケーション回路を含み、前記ICシステムはさらに、
    システムインパッケージ(SiP)ブリッジを備え、前記システムインパッケージブリッジは、前記プログラマブルICチップ内に配置された第1のSiP IO回路と、前記コンパニオンICチップ内に配置された第2のSiP IO回路と、前記パッケージ基板上において前記第1のSiP IO回路と前記第2のSiP IO回路とを電気的に結合する導電性相互接続とを含み、前記ICシステムはさらに、
    前記プログラマブルICチップ内において前記プログラマブルファブリックと前記第1のSiP IO回路との間に結合された第1の集約回路および第1の分散回路と、
    前記コンパニオンICチップ内において前記アプリケーションIOと前記第2のSiP
    IO回路との間に結合された第2の集約回路および第2の分散回路とを備える、集積回路システム。
  2. 前記第1のSiP IO回路および前記第2のSiP IO回路はそれぞれ、
    前記第1の集約回路および前記第2の集約回路のマルチチャネル出力を、前記導電性相互接続において実現された第1の複数の物理チャネル上に多重化するように構成され、
    前記導電性相互接続において実現された第2の複数のチャネルからの入力を、前記第1の分散回路および前記第2の分散回路のマルチチャネル入力上に多重分離するように構成される、請求項1に記載のICシステム。
  3. 前記第1の集約回路および前記第1の分散回路は、前記プログラマブルファブリックのプログラマブル相互接続と前記SiP IO回路との間に結合されたシステムレベル相互接続を含む、請求項1に記載のICシステム。
  4. 前記システムレベル相互接続はネットワークオンチップ(NoC)を含む、請求項3に記載のICシステム。
  5. 前記プログラマブルICチップは、前記SiPブリッジとは別に、前記コンパニオンICチップへの直接接続を含む、請求項1に記載のICシステム。
  6. 前記プログラマブルICチップは調停ロジックを含み、前記第1のSiP IO回路はデータリンク回路とトランシーバ回路とを含み、
    前記データリンク回路の内部インターフェイスは前記第1の集約回路および前記第1の分散回路に結合され、
    前記データリンク回路の外部インターフェイスは前記トランシーバ回路の内部インターフェイスに結合され、
    前記トランシーバ回路の外部インターフェイスは前記導電性相互接続に結合され、
    前記データリンク回路の制御インターフェイスは前記調停ロジックに結合される、請求項1に記載のICシステム。
  7. 前記調停ロジックは、前記プログラマブルICチップの前記プログラマブルファブリック内で実現される、請求項6に記載のICシステム。
  8. 前記プログラマブルICチップは、前記第1の集約回路に送信されるデータをパケット化し前記第1の分散回路から受信されたデータをデパケット化するように構成されたトラ
    ンスポートロジックを含む、請求項1に記載のICシステム。
  9. 前記トランスポートロジックは、前記プログラマブルICチップの前記プログラマブルファブリック内で実現される、請求項8に記載のICシステム。
  10. ICシステム内のプログラマブル集積回路(IC)からデータを送信する方法であって、前記方法は、
    前記プログラマブルIC内の集約回路の複数のチャネルを通して第1のシステムインパッケージ(SiP)IO回路にデータを結合するステップと、
    前記複数のチャネルからのデータを、前記プログラマブルICとコンパニオンICとの間のより少ない数の物理チャネルを通して送信するステップと、
    前記データを、前記コンパニオンIC内の第2のSiP IO回路において前記複数の物理チャネルから受信するステップと、
    前記コンパニオンIC内の分散回路の複数のチャネルを通して、前記コンパニオンIC内のアプリケーション回路に対し、前記第2のSiP IO回路からのデータを結合するステップとを含む、方法。
  11. 前記データはパケットに分割される、請求項10に記載の方法。
  12. 前記第2のSiP IO回路は、前記分散回路の複数のチャネルそれぞれに結合された複数の内部出力ポートを含み、前記パケットは各々、前記複数の内部出力ポートのうちの1つから選択された宛先ポートを有する、請求項11に記載の方法。
  13. 前記送信するステップは、
    前記集約回路の複数のチャネルからのデータを、複数の送信キューそれぞれに入れるステップと、
    前記複数の物理チャネルを通して並列に送信されるパケットが異なる宛先ポートを有するように、前記送信キューの出力を前記複数の物理チャネルに多重化するステップとを含む、請求項12に記載の方法。
  14. 前記多重化するステップはさらに、
    前記複数の送信キュー各々に重みを割当てるステップと、
    前記重みに基づいて、前記複数の物理チャネルを通して送信するパケットを前記送信キューから選択するステップとを含む、請求項13に記載の方法。
JP2019209873A 2016-02-02 2019-11-20 アクティブ・バイ・アクティブプログラマブルデバイス Active JP6957581B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/013,690 US10042806B2 (en) 2016-02-02 2016-02-02 System-level interconnect ring for a programmable integrated circuit
US15/013,696 2016-02-02
US15/013,696 US10002100B2 (en) 2016-02-02 2016-02-02 Active-by-active programmable device
US15/013,690 2016-02-02
JP2018559174A JP6621943B2 (ja) 2016-02-02 2017-01-30 アクティブ・バイ・アクティブプログラマブルデバイス

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018559174A Division JP6621943B2 (ja) 2016-02-02 2017-01-30 アクティブ・バイ・アクティブプログラマブルデバイス

Publications (2)

Publication Number Publication Date
JP2020074091A true JP2020074091A (ja) 2020-05-14
JP6957581B2 JP6957581B2 (ja) 2021-11-02

Family

ID=58054513

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018559174A Active JP6621943B2 (ja) 2016-02-02 2017-01-30 アクティブ・バイ・アクティブプログラマブルデバイス
JP2019209873A Active JP6957581B2 (ja) 2016-02-02 2019-11-20 アクティブ・バイ・アクティブプログラマブルデバイス

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018559174A Active JP6621943B2 (ja) 2016-02-02 2017-01-30 アクティブ・バイ・アクティブプログラマブルデバイス

Country Status (5)

Country Link
EP (2) EP3780393A3 (ja)
JP (2) JP6621943B2 (ja)
KR (4) KR102663824B1 (ja)
CN (2) CN109075787B (ja)
WO (1) WO2017136289A2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753484B (zh) * 2020-06-30 2021-12-24 无锡中微亿芯有限公司 一种基于电路性能的多裸片结构fpga的布局方法
CN111755437B (zh) * 2020-07-01 2022-05-31 无锡中微亿芯有限公司 利用硅连接层形成片上网络的fpga装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502014A (ja) * 2003-07-31 2007-02-01 アクテル・コーポレイシヨン プログラマブルシステムオンチップ
JP2007089150A (ja) * 2005-09-19 2007-04-05 Altera Corp 特殊回路網適応用プログラマブルロジックデバイスのアーキテクチャ
JP2007534052A (ja) * 2004-03-26 2007-11-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路及びトランザクション撤回方法
JP2009032857A (ja) * 2007-07-26 2009-02-12 Hitachi Ltd 半導体集積回路および半導体装置
US7701252B1 (en) * 2007-11-06 2010-04-20 Altera Corporation Stacked die network-on-chip for FPGA
JP2013535811A (ja) * 2010-06-30 2013-09-12 ザイリンクス インコーポレイテッド マルチチップモジュールのダイのための静電放電保護

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570404B1 (en) * 1996-03-29 2003-05-27 Altera Corporation High-performance programmable logic architecture
JPH1022449A (ja) * 1996-07-02 1998-01-23 Matsushita Electric Ind Co Ltd 半導体装置
US6917219B2 (en) * 2003-03-12 2005-07-12 Xilinx, Inc. Multi-chip programmable logic device having configurable logic circuitry and configuration data storage on different dice
US7434192B2 (en) 2004-12-13 2008-10-07 Altera Corporation Techniques for optimizing design of a hard intellectual property block for data transmission
JP4983065B2 (ja) * 2006-03-29 2012-07-25 富士通セミコンダクター株式会社 半導体装置
US7954131B2 (en) * 2007-06-13 2011-05-31 Time Warner Cable Inc. Premises gateway apparatus and methods for use in a content-based network
US8412136B2 (en) * 2008-02-12 2013-04-02 Texas Instruments Incorporated Measuring load impedance of an amplifier driving a variable load
US9229887B2 (en) * 2008-02-19 2016-01-05 Micron Technology, Inc. Memory device with network on chip methods, apparatus, and systems
US7701251B1 (en) * 2008-03-06 2010-04-20 Xilinx, Inc. Methods and apparatus for implementing a stacked memory programmable integrated circuit system in package
US7969009B2 (en) 2008-06-30 2011-06-28 Qualcomm Incorporated Through silicon via bridge interconnect
US8237269B2 (en) * 2008-08-01 2012-08-07 Qualcomm Incorporated High Q transformer disposed at least partly in a non-semiconductor substrate
TWI441560B (zh) * 2011-06-30 2014-06-11 Interlight Optotech Corp 發光二極體模組及其操作方法
CN102543770A (zh) * 2012-01-18 2012-07-04 浙江阳光照明电器集团股份有限公司 一种紧凑型荧光灯专用半桥驱动集成电路的封装方法
KR101891862B1 (ko) * 2012-02-08 2018-08-24 자일링크스 인코포레이티드 다수의 인터포저를 갖는 적층형 다이 조립체
US9230609B2 (en) * 2012-06-05 2016-01-05 Rambus Inc. Memory bandwidth aggregation using simultaneous access of stacked semiconductor memory die
US9026872B2 (en) * 2012-08-16 2015-05-05 Xilinx, Inc. Flexible sized die for use in multi-die integrated circuit
CN103716919B (zh) * 2012-09-28 2018-10-30 德克萨斯仪器股份有限公司 无线桥式ic
US9153292B2 (en) * 2013-03-07 2015-10-06 Xilinx, Inc. Integrated circuit devices having memory and methods of implementing memory in an integrated circuit device
US8901748B2 (en) * 2013-03-14 2014-12-02 Intel Corporation Direct external interconnect for embedded interconnect bridge package
CN203800042U (zh) * 2013-07-01 2014-08-27 群丰科技股份有限公司 内嵌式封装体结构
US9699079B2 (en) 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007502014A (ja) * 2003-07-31 2007-02-01 アクテル・コーポレイシヨン プログラマブルシステムオンチップ
JP2007534052A (ja) * 2004-03-26 2007-11-22 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路及びトランザクション撤回方法
JP2007089150A (ja) * 2005-09-19 2007-04-05 Altera Corp 特殊回路網適応用プログラマブルロジックデバイスのアーキテクチャ
JP2009032857A (ja) * 2007-07-26 2009-02-12 Hitachi Ltd 半導体集積回路および半導体装置
US7701252B1 (en) * 2007-11-06 2010-04-20 Altera Corporation Stacked die network-on-chip for FPGA
JP2013535811A (ja) * 2010-06-30 2013-09-12 ザイリンクス インコーポレイテッド マルチチップモジュールのダイのための静電放電保護

Also Published As

Publication number Publication date
WO2017136289A3 (en) 2017-11-02
KR20180108705A (ko) 2018-10-04
EP3780393A2 (en) 2021-02-17
CN109075787A (zh) 2018-12-21
JP6621943B2 (ja) 2019-12-18
EP3411953B1 (en) 2021-03-03
JP2019507452A (ja) 2019-03-14
EP3411953A2 (en) 2018-12-12
EP3780393A3 (en) 2021-06-23
KR102093459B1 (ko) 2020-03-25
KR20200034815A (ko) 2020-03-31
CN109075787B (zh) 2022-04-29
WO2017136289A2 (en) 2017-08-10
CN114741344A (zh) 2022-07-12
WO2017136289A8 (en) 2018-09-13
KR20240063207A (ko) 2024-05-09
KR20230070047A (ko) 2023-05-19
KR102528542B1 (ko) 2023-05-02
KR102663824B1 (ko) 2024-05-03
JP6957581B2 (ja) 2021-11-02

Similar Documents

Publication Publication Date Title
US10042806B2 (en) System-level interconnect ring for a programmable integrated circuit
USRE49163E1 (en) Active-by-active programmable device
US9859896B1 (en) Distributed multi-die routing in a multi-chip module
US10784121B2 (en) Standalone interface for stacked silicon interconnect (SSI) technology integration
KR102381158B1 (ko) 적층형 실리콘 상호 연결(ssi) 기술 통합을 위한 독립형 인터페이스
US11062070B2 (en) Die to die interconnect structure for modularized integrated circuit devices
US12009298B2 (en) Fabric die to fabric die interconnect for modularized integrated circuit devices
US20180358313A1 (en) High bandwidth memory (hbm) bandwidth aggregation switch
US9911465B1 (en) High bandwidth memory (HBM) bandwidth aggregation switch
CN115525592A (zh) 用于集成电路装置的模块化外围片块
KR20210032396A (ko) 프로그래머블 디바이스를 위한 구성 가능한 네트워크-온-칩
JP6957581B2 (ja) アクティブ・バイ・アクティブプログラマブルデバイス
KR20220095203A (ko) 멀티칩 적층형 디바이스
US20210217729A1 (en) Multi-chip stacked devices
US20240213985A1 (en) Systems And Methods For Configuring Signal Paths In An Interposer Between Integrated Circuits
US9780040B1 (en) Integrated circuit package substrates having a common die dependent region and methods for designing the same

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191205

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210803

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: 20210907

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211006

R150 Certificate of patent or registration of utility model

Ref document number: 6957581

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150