(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-16
(45)【発行日】2023-10-24
(54)【発明の名称】半導体装置および半導体装置のデータ転送方法
(51)【国際特許分類】
H01L 23/52 20060101AFI20231017BHJP
H01L 25/04 20230101ALI20231017BHJP
H01L 25/18 20230101ALI20231017BHJP
G06F 13/36 20060101ALI20231017BHJP
G06F 13/38 20060101ALI20231017BHJP
【FI】
H01L23/52 D
H01L25/04 Z
G06F13/36 530C
G06F13/38 340A
(21)【出願番号】P 2018231125
(22)【出願日】2018-12-10
【審査請求日】2021-12-06
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】田中 伸宜
【審査官】正山 旭
(56)【参考文献】
【文献】米国特許出願公開第2016/0240497(US,A1)
【文献】特開2005-116003(JP,A)
【文献】特開2000-031382(JP,A)
【文献】米国特許出願公開第2017/0154868(US,A1)
【文献】米国特許出願公開第2018/0074895(US,A1)
【文献】米国特許出願公開第2017/0125393(US,A1)
【文献】米国特許出願公開第2015/0245487(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H01L 23/52
H01L 25/04
G06F 13/36
G06F 13/38
(57)【特許請求の範囲】
【請求項1】
第1のチップと、第2のチップと、第3のチップと、第4のチップとを備える半導体装置であって、
前記第1のチップは、前記第2のチップと前記第4のチップとに隣接して配置され、
前記第3のチップは、前記第2のチップと前記第4のチップとに隣接して前記第1のチップとは異なる位置に配置され、
前記第2のチップは、前記第1のチップから前記第3のチップにデータを転送する第1の転送回路を備え、
前記第4のチップは、前記第3のチップから前記第1のチップにデータを転送する第2の転送回路を備え、
前記第1のチップから前記第1の転送回路へのデータ、前記第1の転送回路から前記第3のチップへのデータ、前記第3のチップから前記第2の転送回路へのデータ、および、前記第2の転送回路から前記第1のチップへのデータは、前記第1のチップ、前記第2のチップ、前記第3のチップ及び前記第4のチップとは異なる位置にある
シリコンインタポーザ上に設けられた配線層を介して転送され、
前記第1の転送回路が転送するデータは、前記第2のチップの内部回路による演算には使用されずに、前記第1のチップから前記第1の転送回路を介して前記第3のチップに転送され、前記第3のチップの内部回路による演算に使用される、
半導体装置。
【請求項2】
前記第1から第4のチップは平面視において4つの辺を有する矩形であり、前記隣接するチップはそれぞれのチップの辺同士が対向し、前記第1のチップと前記第3のチップはそれぞれの角部同士が対向している、
請求項1に記載の半導体装置。
【請求項3】
前記第2の転送回路が転送するデータは、前記第4のチップの内部回路による演算には使用されずに、前記第3のチップから前記第2の転送回路を介して前記第1のチップに転送され、前記第1のチップの内部回路による演算に使用される、
請求項1または請求項2に記載の半導体装置。
【請求項4】
前記第3のチップは、前記第2のチップから前記第4のチップにデータを転送する第3の転送回路を備え、
前記第1のチップは、前記第4のチップから前記第2のチップにデータを転送する第4の転送回路を備える、
請求項1から請求項3のいずれか1項に記載の半導体装置。
【請求項5】
前記それぞれの転送回路は、
隣接するチップの一方から受けるデータの誤りを検出または訂正する誤り検出/訂正回路と、
前記誤り検出/訂正回路から出力されるデータを中継する中継回路と、
前記中継回路から出力されるデータの誤りを検出または訂正する誤り検出/訂正信号を生成する誤り検出/訂正信号生成回路と、を有し、
前記中継回路から出力されるデータと前記検出/誤り訂正信号とを隣接するチップの他方に転送する、
請求項1から請求項4のいずれか1項に記載の半導体装置。
【請求項6】
第1のチップと、第2のチップと、第3のチップと、第4のチップとを備える半導体装置であって、
前記第1のチップは、前記第2のチップと前記第4のチップとに隣接して配置され、
前記第3のチップは、前記第2のチップと前記第4のチップとに隣接して前記第1のチップとは異なる位置に配置され、
前記第2のチップは、前記第1のチップから前記第3のチップにデータを転送する第1の転送回路を備え、
前記第4のチップは、前記第3のチップから前記第1のチップにデータを転送する第2の転送回路を備え、
前記それぞれの転送回路は、
隣接するチップの一方から受けるデータの誤りを検出または訂正する誤り検出/訂正回路と、
前記誤り検出/訂正回路から出力されるデータを中継する中継回路と、
前記中継回路から出力されるデータの誤りを検出または訂正する誤り検出/訂正信号を生成する誤り検出/訂正信号生成回路と、を有し、
前記中継回路から出力されるデータと前記検出/誤り訂正信号とを隣接するチップの他方に転送する、
半導体装置。
【請求項7】
前記第1から第4のチップは平面視において4つの辺を有する矩形であり、前記隣接するチップはそれぞれのチップの辺同士が対向し、前記第1のチップと前記第3のチップはそれぞれの角部同士が対向している、
請求項6に記載の半導体装置。
【請求項8】
前記第1および第2の転送回路が転送するデータは、前記第1および第2の転送回路を含むチップ内の演算で使用されない、
請求項6または請求項7に記載の半導体装置。
【請求項9】
前記第3のチップは、前記第2のチップから前記第4のチップにデータを転送する第3の転送回路を備え、
前記第1のチップは、前記第4のチップから前記第2のチップにデータを転送する第4の転送回路を備える、
請求項6から請求項8のいずれか1項に記載の半導体装置。
【請求項10】
前記それぞれのチップは、他のチップのいずれかの前記転送回路に出力するデータの誤りを検出または訂正する誤り検出/訂正信号を生成する誤り検出/訂正信号生成回路を有し、データを誤り検出/訂正信号とともに前記他のチップのいずれかの前記転送回路に出力し、
前記それぞれの転送回路の前記誤り検出/訂正回路は、チップの前記一方からデータと前記誤り検出/訂正信号とを受け、誤り検出/訂正信号を用いてデータの誤りを検出または訂正する、
請求項5から請求項9のいずれか1項に記載の半導体装置。
【請求項11】
前記それぞれの転送回路からデータと前記誤り検出/訂正信号とを受信するチップは、前記誤り検出/訂正信号を用いて、受信したデータの誤りを検出または訂正する誤り検出/訂正回路を有する、
請求項5から請求項10のいずれか1項に記載の半導体装置。
【請求項12】
隣接して配置された2つのチップは、データを相互に入出力する入出力回路を有する、請求項1から請求項11のいずれか1項に記載の半導体装置。
【請求項13】
第1のチップと、第2のチップと、第3のチップと、第4のチップとを備える半導体装置のデータ転送方法であって、
前記第2のチップと前記第4のチップとに隣接して配置され前記第1のチップから、前記第2のチップに備えられた第1の転送回路を介して前記第3のチップにデータを転送し、
前記第2のチップと前記第4のチップとに隣接して前記第1のチップとは異なる位置に配置された前記第3のチップから、前記第4のチップに備えられた第2の転送回路を介して前記第1のチップにデータを転送し、
前記第1のチップから前記第1の転送回路へのデータ、前記第1の転送回路から前記第3のチップへのデータ、前記第3のチップから前記第2の転送回路へのデータ、および、前記第2の転送回路から前記第1のチップへのデータを、前記第1のチップ、前記第2のチップ、前記第3のチップ及び前記第4のチップとは異なる位置にある
シリコンインタポーザ上に設けられた配線層を介して転送し、
前記第1の転送回路が転送するデータは、前記第2のチップの内部回路による演算には使用されずに、前記第1のチップから前記第1の転送回路を介して前記第3のチップに転送され、前記第3のチップの内部回路による演算に使用される、
半導体装置のデータ転送方法。
【請求項14】
第1のチップと、第2のチップと、第3のチップと、第4のチップとを備える半導体装置のデータ転送方法であって、
前記第2のチップと前記第4のチップとに隣接して配置され前記第1のチップから、前記第2のチップに備えられた第1の転送回路を介して前記第3のチップにデータを転送し、
前記第2のチップと前記第4のチップとに隣接して前記第1のチップとは異なる位置に配置された前記第3のチップから、前記第4のチップに備えられた第2の転送回路を介して前記第1のチップにデータを転送し、
前記それぞれの転送回路が有する誤り検出/訂正回路が、隣接するチップの一方から受けるデータの誤りを検出または訂正し、
前記それぞれの転送回路が有する中継回路が、前記誤り検出/訂正回路から出力されるデータを中継し、
前記それぞれの転送回路が有する誤り検出/訂正信号生成回路が、前記中継回路から出力されるデータの誤りを検出または訂正する誤り検出/訂正信号を生成し、
前記中継回路から出力されるデータと前記検出/誤り訂正信号とを隣接するチップの他方に転送する、
半導体装置のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、半導体装置および半導体装置のデータ転送方法に関する。
【背景技術】
【0002】
基板上に複数のチップを搭載したマルチチップモジュール方式の半導体装置が知られている。例えば、複数のチップをシリコンインタポーザ等の基板上に並べたマルチチップモジュールでは、チップ間は、基板の配線層に形成される配線を使用して電気的に接続される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の実施形態は、チップ間の通信を良好に行うことができる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するため、本発明の実施形態の半導体装置は、第1のチップと、第2のチップと、第3のチップと、第4のチップとを備える半導体装置であって、前記第1のチップは、前記第2のチップと前記第4のチップとに隣接して配置され、前記第3のチップは、前記第2のチップと前記第4のチップとに隣接して前記第1のチップとは異なる位置に配置され、前記第2のチップは、前記第1のチップから前記第3のチップにデータを転送する第1の転送回路を備え、前記第4のチップは、前記第3のチップから前記第1のチップにデータを転送する第2の転送回路を備え、前記第1のチップから前記第1の転送回路へのデータ、前記第1の転送回路から前記第3のチップへのデータ、前記第3のチップから前記第2の転送回路へのデータ、および、前記第2の転送回路から前記第1のチップへのデータは、前記第1のチップ、前記第2のチップ、前記第3のチップ及び前記第4のチップとは異なる位置にあるシリコンインタポーザ上に設けられた配線層を介して転送され、前記第1の転送回路が転送するデータは、前記第2のチップの内部回路による演算には使用されずに、前記第1のチップから前記第1の転送回路を介して前記第3のチップに転送され、前記第3のチップの内部回路による演算に使用される。
【図面の簡単な説明】
【0006】
【
図1】本発明の一実施形態における半導体装置の例を示すブロック図である。
【
図2】
図1の転送回路とその周囲の回路の例を示すブロック図である。
【
図3】
図1のチップに設けられるバンプを信号線(配線)で相互に接続する例を模式的に示す説明図である。
【
図4】比較例として、
図1に示した転送回路を各チップに設けずに、対角線上に位置する2つのチップを信号線で接続する例を示すブロック図である。
【
図5】本発明の別の実施形態における半導体装置の例を示すブロック図である。
【
図6】本発明の別の実施形態における半導体装置の例を示すブロック図である。
【
図7】
図5の半導体装置が搭載されるシステム基板の例を示す斜視図である。
【
図8】本発明の別の実施形態における半導体装置の例を示すブロック図である。
【発明を実施するための形態】
【0007】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。以下では、信号線を示す符号は、信号名(データ名)としても使用される。また、以下では、特別に記載しない限り、平面視(例えば、
図1に示す基板BRDと基板BRD上に配置・実装されたチップCP(CP1-CP4)とが重なる方向に見た場合)においての説明を行う。
【0008】
図1は、本発明の一実施形態における半導体装置の例を示すブロック図である。
図1に示す半導体装置SEM1は、基板BRD上に平面視において2行2列に配置された4辺を有する略正方形状(矩形状の一種)の4つの半導体チップCP(第1のチップCP1、第2のチップCP2、第3のチップCP3、第4のチップCP4、以下においてそれぞれ単にチップCP1、チップCP2、チップCP3、チップCP4と呼ぶことがある。)を有している。つまり、それぞれのチップCP1-CP4は、平面視において基板BRD上の異なる位置に設けられている。
【0009】
例えば、各チップCP1-CP4は、基板BRDとの対向面である裏面に設けられたバンプを介して基板BRDの端子に接続されている。なお、基板BRDには、チップCP1-CP4以外の他の部品(電子部品、機械部品)が搭載されてもよい。また、例えば、各チップCP1-CP4は、演算器とメモリとをそれぞれ含む複数の演算ユニットを有してもよい。演算器は、積和演算器または内積演算器等である。
【0010】
チップCP1、CP3は、チップCP1-CP4の配置領域である矩形上の基板BRDの一方の対角線である第1の対角線D1上に位置し、チップCP2、CP4は、基板BRDの他方の対角線である第2の対角線D2上に位置する。以下では、第1の対角線D1、第2の対角線D2は、それぞれ単に対角線D1、D2と呼ぶことがある。また、対角線D1、D2を区別なく説明する場合、対角線Dと呼ぶことがある。なお、本実施形態においては、基板BRDの平面視における外形の形状とチップCP1-CP4の配置領域の形状は一致している。つまり、基板BRDの対角線とチップCP1-CP4の配置領域の対角線D1、D2とは一致している。また、本明細書において、チップCPが基板BRDの対角線D上に位置するとは、平面視において配置されたチップCPと基板BRDの対角線Dとが重なっていることを指し、チップCPの角部がBRDの対角線D上にあることに限られない。
【0011】
チップCP1は、内部回路INT1および転送回路TR1を有し、チップCP2は、内部回路INT2および転送回路TR2を有する。チップCP3は、内部回路INT3および転送回路TR3を有し、チップCP4は、内部回路INT4および転送回路TR4を有する。以下では、内部回路INT1-INT4の各々は、内部回路INTと呼ぶことがあり、転送回路TR1-TR4の各々は、転送回路TRと呼ぶことがある。
【0012】
それぞれの辺同士が対向して隣接する第1のチップCP1の内部回路INT1と、第2のチップCP2の内部回路INT2との間は、基板BRDに設けられる信号線S12、S21を介して接続される。第1のチップCP1は、信号線S12、S21にデータ等の信号を入出力する入出力回路IO12を有し、第2のチップCP2は、信号線S12、S21にデータ等の信号を入出力する入出力回路IO21を有する。
【0013】
それぞれの辺同士が対向して隣接する第2のチップCP2の内部回路INT2と、第3のチップCP3の内部回路INT3との間は、基板BRDに設けられる信号線S23、S32を介して接続される。第2のチップCP2は、信号線S23、S32にデータ等の信号を入出力する入出力回路IO23を有し、第3のチップCP3は、信号線S23、S32にデータ等の信号を入出力する入出力回路IO32を有する。
【0014】
それぞれの辺同士が対向して隣接する第3のチップCP3の内部回路INT3と、第4のチップCP4の内部回路INT4との間は、基板BRDに設けられる信号線S34、S43を介して接続される。第3のチップCP3は、信号線S34、S43にデータ等の信号を入出力する入出力回路IO34を有し、第4のチップCP4は、信号線S34、S43にデータ等の信号を入出力する入出力回路IO43を有する。
【0015】
それぞれの辺同士が対向して隣接する第4のチップCP4の内部回路INT4と、第1のチップCP1の内部回路INT1との間は、基板BRDに設けられる信号線S41、S14を介して接続される。第4のチップCP4は、信号線S41、S14にデータ等の信号を入出力する入出力回路IO41を有し、第1のチップCP1は、信号線S41、S14にデータ等の信号を入出力する入出力回路IO14を有する。各信号線S12、S21、S23、S32、S34、S43、S41、S14は、例えば、各チップCPに設けられるバンプBP(
図3)に接続される。以下では、各種の信号線を区別なく説明する場合、信号線Sと呼ぶことがある。
【0016】
一方、それぞれの角部同士が対向して配置され、基板BRDの第1の対角線D1上に位置する第1のチップCP1、第3のチップCP3間は、基板BRDに設けられる信号線S13aと、第2のチップCP2の第1の転送回路TR2と、基板BRDに設けられる信号線S13bとを介して接続される。また、第3のチップCP3、第1のチップCP1間は、基板BRDに設けられる信号線S31aと、第4のチップCP4の第2の転送回路TR4と、基板BRDに設けられる信号線S31bとを介して接続される。
【0017】
それぞれの角部同士が対向して配置され、基板BRDの第2の対角線D2上に位置する第2のチップCP2、第4のチップCP4間は、基板BRDに設けられる信号線S24aと、第3のチップCP3の第3の転送回路TR3と、基板BRDに設けられる信号線S24bとを介して接続される。また、第4のチップCP4、第2のチップCP2間は、基板BRDに設けられる信号線S42aと、第1のチップCP1の第4の転送回路TR1と、基板BRDに設けられる信号線S42bとを介して接続される。以下では、第1の転送回路TR2、第2の転送回路TR4、第3の転送回路TR3、第4の転送回路TR1は、それぞれ単に転送回路TR2、TR4、TR3、TR1と呼ぶことがある。
【0018】
以上の構成により、半導体装置SEM1は、4つのチップCP1-CP4間でデータ等の信号を相互に通信することができる。このため、例えば、各チップCP1-CP4に搭載される複数の演算器を用いて演算を実行する場合、演算器で使用するデータや演算結果を、他の全てのチップCPに入出力することができる。したがって、半導体装置SEM1は、例えば、多数のデータと多数のパラメータを使用してデータ処理を実行する機械学習、特にニューラルネットワークを用いた深層学習に適している。
【0019】
各信号線Sに付けた矢印は、信号線Sに伝送される信号の転送方向を示し、各信号線Sに付けた符号"/"は、信号線Sが複数ビットで構成されることを示す。信号線Sを伝送される信号Sはデータおよびクロック等を含む。データのビット数は、特に限定されないが、数十ビットから100ビット程度でもよい。
【0020】
転送回路TR1は、チップCP4の内部回路INT4から送信される信号S42aを信号S42bとしてチップCP2の内部回路INT2に転送する。転送回路TR2は、チップCP1の内部回路INT1から送信される信号S13aを信号S13bとしてチップCP3の内部回路INT3に転送する。転送回路TR3は、チップCP2の内部回路INT2から送信される信号S24aを信号S24bとしてチップCP4の内部回路INT4に転送する。転送回路TR4は、チップCP3の内部回路INT3から送信される信号S31aを信号S31bとしてチップCP1の内部回路INT1に転送する。
【0021】
そして、4つのチップCP1-CP4の配置領域において、一方の対角線D上に位置しない2つのチップCPの一方に設けられた転送回路TRを介して、一方の対角線D上に位置する2つのチップCPの一方から他方にデータを転送するデータ転送方法が実現される。
【0022】
例えば、信号線(配線)S13aは、チップCP1、CP2の互いに対向する辺の間に設けることができる。他の信号線S24a、S31a、S42a、S42b、S13b、S24b、S31bも同様に、チップCPの互いに対向する辺の間に設けることができる。このため、対角線D上に位置する2つのチップCP間の角部を斜めの配線で接続する場合に比べて、配線できる信号線S13a、S24a、S31a、S42a、S42b、S13b、S24b、S31bの本数を増加することができる。
【0023】
また、例えば、チップCP1、CP2の互いに対向する辺の間に配線される複数の信号線S13aは、長さを揃えることができる。信号線S13aの長さのばらつきを抑えることで、信号線S13aを介して伝送される信号のスキューを低減することができ、タイミング設計を容易にするとともに、半導体装置SEM1の高性能化に寄与することができる。他の信号線S24a、S31a、S42a、S42b、S13b、S24b、S31bも同様である。
【0024】
また、信号線S13a、S24a、S31a、S42a、S42b、S13b、S24b、S31bは、例えばチップCP1、CP2間を接続する信号線S12、S21の配線ルールと同様のルールを用いて配線することができる。したがって、信号線S13a、S24a、S31a、S42a、S42b、S13b、S24b、S31bのレイアウト設計を容易にすることができる。
【0025】
図1に示すように、本実施形態においては、対角線D上に位置する2つのチップCP間での信号の伝達経路は、時計回りであり、入力経路と出力経路が互いに異なる。これにより、各チップCPに転送回路TR(TR1-TR4のいずれか)を1つずつ配置することができ、4つのチップCPを共通のレイアウトデータを用いて設計することができる。この結果、チップコストを削減でき、半導体装置SEM1のコストを削減することができる。なお、対角線D上に位置する2つのチップCP間での信号の伝送経路は、反時計回りでもよい。
【0026】
例えば、転送回路TR2は、チップCP1から受ける信号S13aに含まれるデータをチップCP3の内部回路INT3のみに出力し、自チップCP2の内部回路INT2には出力しない。すなわち、内部回路INT2は、チップCP1、CP3間で転送される信号S13aに含まれるデータをデータ処理等に使用せず、転送回路TR2は、チップCP1、CP3間の信号S13a、S13bに含まれるデータの中継回路として機能する。なお、内部回路INT2は、転送回路TR2上を転送される信号S13aをモニタするなどしてもよい。
【0027】
転送回路TRは、各チップCPにおいて、配置領域の中央部側(
図1から
図3に示す実施形態においては基板BRDの中央部側)に配置されることが好ましい。これにより、配置領域の外周側(基板BRDの外周側)に転送回路TRを配置する場合に比べて、チップCP1、CP3間での信号の伝送経路およびチップCP2、CP4間での信号の伝送経路を短くすることができ、信号の伝送時間を短縮することができる。
【0028】
なお、基板BRDは、シリコンインタポーザでもよい。半導体装置SEM1は、チップCP1-CP4が搭載された基板BRDをパッケージングすることで形成されてもよい。また、チップCP1-CP4は、それぞれ樹脂等により封止されパッケージングされた状態であってもよい。さらに、半導体装置SEM1は、チップCP1-CP4が搭載された基板BRDの表面と反対側の面である裏面に設けられるバンプを介して、他の半導体部品等が搭載されたプリント基板等に接続されてもよい。
【0029】
なお、対角線D上に位置する2つのチップCP間での信号の伝達経路を双方向にした場合、例えば、チップCP2、CP4間で入出力される信号を転送する2つの転送回路TR1、TR3が、チップCP1、CP3の一方のみに設けられる。同様に、チップCP1、CP3間で入出力される信号を転送する2つの転送回路TR2、TR4が、チップCP2、CP4の一方のみに設けられる。
【0030】
例えば、チップCP1のみに転送回路TR1、TR3を設け、チップCP2のみに転送回路TR2、TR4を設ける場合、チップCP1、CP2のレイアウト設計と、チップCP3、CP4のレイアウト設計とをそれぞれ行わなくてはならない。また、基板BRDに、信号線Sが密に配線される領域と疎に配線される領域とが発生するため、配線のレイアウト設計が難しくなる。
【0031】
さらに、チップCP1、CP2の内部回路INT1、INT2は、チップCP3、CP4の内部回路INT3、INT4に比べて面積が小さくなる。このため、チップCP1-CP4を同じチップサイズにする場合、チップCP3、CP4の内部回路INT3、INT4の領域に、回路が形成されない無駄な領域ができてしまう場合がある。さらに、無駄な領域を無くすために、チップCP3、CP4のチップサイズをチップCP1、CP2のチップサイズより小さくする場合、2種類のチップを設計する必要がある。
【0032】
図2は、
図1の転送回路TR2とその周囲の回路の例を示すブロック図である。他の転送回路TR1、TR3、TR4とその周囲の回路も、
図2と同様の構成を有する。
【0033】
転送回路TR2は、入力バッファ21、入力フリップフロップ(FF)22、誤り検出/訂正回路23、クロック乗せ換え回路24、ステージングFF25、FF26、誤り検出/訂正信号生成回路27、出力FF28および出力バッファ29を有する。なお、転送回路TR2に挿入されるステージングFFの数は、信号の伝送経路の長さおよびクロック周波数に依存して決められればよく、
図2に示す数に限定されない。
【0034】
入力バッファ21は、信号線S13aを介してチップCP1から複数ビットの信号S13aを受信し、受信した信号S13aを入力FF22に出力する。入力FF22は、図示しないクロックに同期して信号S13aを取り込み、取り込んだ信号S13aを誤り検出/訂正回路23に出力する。なお、入力FF22が使用するクロックは、チップCP1から出力される信号S13aに含まれる、チップCP1で使用するクロックである。
【0035】
誤り検出/訂正回路23は、複数ビットの信号S13aに含まれる誤り検出/訂正信号を用いて、信号S13aに含まれるデータの誤りを検出または訂正し、訂正した場合には誤りを訂正したデータをクロック乗せ換え回路24に出力する。これにより、信号線S13aを介してチップCP1から受信するデータに誤りが発生する場合にも、誤りを訂正した正しいデータをチップCP3に転送することができる。
【0036】
なお、誤り検出/訂正回路23は、訂正できない誤りを検出した場合、訂正できない誤りの検出を示す誤り情報を生成してもよい。さらに、誤り検出/訂正回路23は、データの誤りを訂正した場合、誤りを訂正したことを示す訂正情報を生成してもよい。また、この場合、誤り情報または訂正情報は、チップCP2の内部回路INT2に出力されてもよい。また、チップCP2の内部回路INT2は、誤り検出/訂正回路23が誤り情報または訂正情報を生成した場合、誤り情報または訂正情報を保持してもよく、保持した誤り情報または訂正情報を用いて誤り訂正率の算出等の情報処理を行ってもよい。
【0037】
また、誤り検出/訂正回路23はデータの誤り検出のみを行ってもよく、この場合、内部回路INT1の誤り検出/訂正信号生成回路11は、パリティビット等の誤り検出のみを行う信号を生成してもよい。さらに、誤り検出/訂正回路23は、データの誤りを検出した場合、誤りを検出したことを示す検出情報を生成し、生成した検出情報を内部回路INT2に出力してもよい。内部回路INT2は、誤り検出/訂正回路23が検出情報を生成した場合、検出情報を保持してもよく、保持した検出情報を用いて誤り検出率の算出等の情報処理を行ってもよい。
【0038】
なお、誤り検出/訂正回路23が生成し、内部回路INT2に出力された誤り情報、訂正情報または検出情報、あるいは、誤り情報、訂正情報または検出情報に基づいて生成された情報は、内部回路INT2を経由して、チップCP3の内部回路INT3に出力されてもよい。この場合、例えば、誤り情報、訂正情報または検出情報、あるいは、誤り情報、訂正情報または検出情報に基づいて生成された情報は、
図1に示した内部回路INT2の入出力回路IO23、信号線S23および内部回路INT3の入出力回路IO32を介して内部回路INT3に伝達されてもよい。これにより、信号線S13bにデータ、誤り検出/訂正信号およびクロック以外の信号が伝達されることを抑止でき、信号線S13bの本数を最小限にすることができる。換言すれば、信号線S13bをチップCP1からチップCP3へのデータの転送する用途のみに使用することができる。
【0039】
クロック乗せ換え回路24は、チップCP1のクロックに同期した信号S13aに含まれるデータを、チップCP2のクロックに同期したデータに変換し、ステージングFF25に出力する。例えば、クロック乗せ換え回路24として、入力非同期FIFO(First-In First-Out)が使用されてもよい。なお、誤り検出/訂正回路23とクロック乗せ換え回路24との接続の順序は逆でもよい。すなわち、クロック乗せ換え回路24によりチップCP2のクロックに同期させたデータを、誤り検出/訂正回路23により誤り検出し、任意に誤り訂正してもよい。
【0040】
ステージングFF25、FF26は、データを順次中継する中継回路の一例である。なお、転送回路TR2内での信号の転送距離が短い場合、転送回路TR2は、ステージングFF25、FF26を持たなくてもよい。この場合、クロック乗せ換え回路24から出力されるデータは、誤り検出/訂正信号生成回路27に直接出力されてもよい。
【0041】
誤り検出/訂正信号生成回路27は、複数ビットのデータの誤りを訂正する誤り検出/訂正信号を生成し、生成した誤り検出/訂正信号をデータとともに出力FF28に出力する。例えば、誤り検出/訂正信号は、ECC(Error Correction Code)等である。出力FF28は、データ、誤り検出/訂正信号およびクロックを出力バッファ29に出力する。出力バッファ29は、データ、誤り検出/訂正信号およびクロックを信号S13bとしてチップCP3に出力する。
【0042】
なお、信号S13aを出力するチップCP1の内部回路INT1は、誤り検出/訂正信号生成回路11、出力FF12および出力バッファ13を有する。誤り検出/訂正信号生成回路11、出力FF12および出力バッファ13は、それぞれ転送回路TR2の誤り検出/訂正信号生成回路27、出力FF28および出力バッファ29と同様の機能を有する。
【0043】
チップCP3の内部回路INT3は、入力バッファ31、入力FF32、誤り検出/訂正回路33およびクロック乗せ換え回路34を有する。入力バッファ31、入力FF32、誤り検出/訂正回路33およびクロック乗せ換え回路34は、それぞれ転送回路TR2の入力バッファ21、入力FF22、誤り検出/訂正回路23およびクロック乗せ換え回路24と同様の機能を有する。
【0044】
入力バッファ31は、チップCP2の転送回路TR2を介してチップCP1から転送された複数ビットの信号S13bを受信し、受信した信号S13bを入力FF32に出力する。入力FF32は、信号S13bに含まれるチップCP2のクロックに同期して信号S13bを取り込み、取り込んだ信号S13bを誤り検出/訂正回路33に出力する。
【0045】
誤り検出/訂正回路33は、信号S13bに含まれる誤り検出/訂正信号を用いて、信号S13bに含まれるデータの誤りを検出または訂正し、誤りを訂正した場合には誤りを訂正したデータをクロック乗せ換え回路34に出力する。クロック乗せ換え回路34は、チップCP2のクロックに同期した信号S13bに含まれるデータを、チップCP3のクロックに同期したデータに変換する。そして、内部回路INT3は、チップCP2の転送回路TR2を介してチップCP1から転送された信号S13bを使用して、データ処理等を実行する。データ処理後のデータをチップCP1に戻す必要がある場合、内部回路INT3は、
図1に示したチップCP4の転送回路TR4を介して、データをチップCP1に転送する。また、誤り検出/訂正回路33は誤り検出のみを行ってもよく、この場合、転送回路TR2の誤り検出/訂正信号生成回路27は、パリティビット等の誤り検出のみを行う信号を生成してもよい。
【0046】
なお、誤り検出/訂正回路33とクロック乗せ換え回路34との接続の順序は逆でもよい。すなわち、クロック乗せ換え回路34によりチップCP3のクロックに同期させたデータを、誤り検出/訂正回路33により誤り検出し、任意に誤り訂正してもよい。また、転送回路TR2は、誤り検出/訂正回路23および誤り検出/訂正信号生成回路27を持たなくてもよく、転送回路TR1は、誤り検出/訂正信号生成回路11を持たなくてもよく、転送回路TR3は、誤り検出/検出/訂正回路33を持たなくてもよい。
【0047】
図3は、
図1のチップCP1-CP4に設けられるバンプBPを信号線S(配線)で相互に接続する例を模式的に示す説明図である。信号線Sは、例えば、シリコンインタポーザ等の基板BRDの配線層を用いて形成される。
図3に示すバンプBPに接続された信号線Sは、例えば、信号の転送先により区別されることなく、同じ配線ルールに基づいて配線される。これにより、
図1で説明したように、複数の信号線Sの長さのばらつきを低減でき、信号Sのスキューを低減することができる。なお、
図3は、説明を分かりやすくするために、各チップCP上にバンプBPを記載し、また、互いに対向するバンプBPのみを信号線Sで接続している。しかしながら、実際には、バンプBPは、各チップCPと基板BRDとの間に位置している。また、信号線Sの長さを揃えるために、例えば、チップCP2の右辺に並ぶバンプBPは、信号線Sを介して、チップCP3の左辺に並ぶバンプBPより奥側に位置するバンプBPに接続される。
【0048】
図4は、比較例として、
図1に示した転送回路TRを各チップCPに設けずに、対角線D1(またはD2)上に位置する2つのチップCP1、CP3(またはCP2、CP4)を信号線S13、S31(またはS24、S42)で接続する例を示すブロック図である。
【0049】
この場合、対角線D1、D2の交点に近いチップCP1-CP4の角部の領域に設けられるバンプ(図示せず)を使って、入力と出力の双方の信号線を斜めの配線で接続することになる。さらに、信号線S13、S31と信号線S24、S42とを交差させなくてはならない。このため、信号線S13、S31、S24、S42の数が多い場合には、配線が困難となる場合がある。また、配線を可能にするために、シリコンインタポーザ等の基板BRDの配線層の数を増やした場合、コストが増大し、信号の遅延量が増加する場合がある。さらに、信号線S13、S31(またはS24、S42)の長さがばらつく場合、信号にスキューが発生するおそれがある。これに対して、
図1から
図3に示した実施形態では、上記の問題を低減することができる。
【0050】
以上、
図1から
図3に示す実施形態では、対角線D上に位置しない2つのチップCPに設けられる転送回路TRを介して、対角線D上に位置する2つのチップCP間でデータを転送することができる。転送回路TRに接続される信号線Sは、対角線D上に位置する2つのチップCPにおける互いに対向する辺に設けられるため、対角線Dに略平行な斜め配線で接続する場合に比べて、配線できる信号線Sの本数を増加させることができる。また、互いに対向する辺を介して隣接する2つのチップCPは、入出力回路IOを介してデータを相互に入出力することができる。この結果、4つのチップCP1-CP4間で同等の情報量のデータを相互に通信することができ、チップCP1-CP4間での相互の通信を良好に行うことができる。
【0051】
4つのチップCP1-CP4間で同等の情報量のデータを相互に通信できるため、例えば、1つのチップで実現される機能を4つのチップCP1-CP4に分割して半導体装置SEM1にすることが可能になる。この場合、1つのチップで機能を実現する場合に比べて、チップCPの良品率である歩留まりを向上することが期待できる。歩留まりの向上により、チップコストを低減することができ、半導体装置SEM1のコストを低減することができる。
【0052】
対角線D上に位置する2つのチップCP間でデータを伝送する複数の信号線Sの長さのばらつきを低減できるため、信号線Sを介して伝送されるデータのスキューを低減することができる。この結果、タイミング設計を容易にすることができるとともに、半導体装置SEM1の高性能化に寄与することができる。
【0053】
転送回路TRをチップCPにおける基板BRDの中央部側(チップCPの配置領域の中央部側)に配置することで、転送回路TRを基板BRDの外周側(チップCPの配置領域の外周側)に配置する場合に比べて、チップCP間での信号の伝送経路を短くすることができ、信号の伝送時間を短縮することができる。各チップCPに転送回路TRを1つずつ配置することで、4つのチップCPを共通のレイアウトデータを用いて設計することができる。この結果、チップコストを削減でき、半導体装置SEM1のコストを削減することができる。
【0054】
各転送回路TRは、信号線Sを介して一方のチップCPから受信するデータに誤りが発生する場合にも、誤り検出/訂正回路23により誤りを検出し、または誤りを訂正した正しいデータを他方のチップCPに転送することができる。また、各転送回路TRは、誤り検出/訂正信号生成回路27により、他方のチップCPに転送するデータの誤りを検出または訂正する誤り検出/訂正信号を生成する。これにより、転送回路TRから出力するデータに誤りが発生した場合にも、データを受信した他方のチップCPの誤り検出/訂正回路33により誤りを検出または訂正することができる。したがって、対角線D上に位置する2つのチップCP間のデータ伝送を、他のチップCPを介して行う場合にも、データの信頼性が低下することを低減することができる。
【0055】
図5は、本発明の別の実施形態における半導体装置の例を示すブロック図である。
図1と同様の要素については、同じ符号を付し、詳細な説明を省略する。
図5に示す半導体装置SEM2は、転送回路TR(TR1-TR4)が、各チップCP(CP1-CP4)の配置領域の外周側(基板BRDの外周側)に設けられていることを除き、
図1に示した半導体装置SEM1と同様の構成である。
【0056】
この実施形態では、各転送回路TR内で信号Sが伝送される距離が長いため、各転送回路TRは、
図2よりも多い数のステージングFF(図示せず)を有する。各転送回路TRの構成は、ステージングFFの数が多いことを除き、
図2に示した転送回路TR2の構成と同じである。なお、各チップCPに設けられる転送回路TRの位置は、
図5に示す位置に限定されず、例えば、各チップCPの中央部等を含んでもよい。また、転送回路TRは、各チップCPの複数の領域に分散して設けられてもよい。
図5に示す半導体装置SEM2は、
図1に示した半導体装置SEM1と同様の効果を得ることができる。
【0057】
図6は、本発明の別の実施形態における半導体装置の例を示すブロック図である。
図1と同様の要素については、同じ符号を付し、詳細な説明を省略する。
図6に示す半導体装置SEM3は、基板BRD上に搭載された長手の辺と短手の辺とを有する長方形状(矩形状の一種)の4つのチップCP(CP1-CP4)を有する。各チップCPは、
図1および
図2と同様の転送回路TR(TR1-TR4)を有し、対角線D1(または、D2)上に位置する2つのチップCP間での信号の伝送を中継する。
【0058】
また、チップCP1-CP4の配置領域の周囲の形状が突出部を有さないよう、つまり配置領域の外周形状が略矩形状になるよう、基板BRDの中央部分(チップCPの配置領域の中央部)に、チップCP1-CP4が配置されない空き領域が設けられている。換言すれば、チップCP1-CP4が配置される矩形状の配置領域の各辺は、各チップCPの長手の辺の1つと短手の辺の1つとにより形成される。また、各チップCPの長手の辺の他の1つは、隣接するチップCPの短手の辺の他の1つに対向し、各チップCPの短手の辺の他の1つは、隣接するチップCPの長手の辺の他の1つに対向している。対角線D1(または、D2)上に位置する2つのチップCPの長手の辺の他の1つ同士は、空き領域を介して対向している。また、空き領域は、4つのチップCP1-CP4により囲繞されている。
【0059】
半導体装置SEM3のその他の構成は、
図1に示した半導体装置SEM1の構成と同様である。なお、各チップCPに設けられる転送回路TRの位置は、
図6に示す位置に限定されない。また、転送回路TRは、各チップCPの複数の領域に分散して設けられてもよい。
【0060】
図7は、
図6の半導体装置SEM3が搭載されるシステム基板SBRDの例を示す斜視図である。
図7では、半導体装置SEM3が、他の電子部品ICおよびコネクタCNとともにシステム基板SBRDに搭載されている。例えば、システム基板SBRDは、プリント基板である。システム基板SBRDは、コネクタCNを介して、図示しないラック等に設けられたバックパネルに接続されてもよい。また、ラック等に複数のシステム基板SBRDを接続することで、クラスタが構成されてもよい。
【0061】
なお、
図1の半導体装置SEM1、
図5の半導体装置SEM2および後述する
図8の半導体装置SEM4も、
図7と同様に、システム基板SBRDに搭載されてもよい。
【0062】
この実施形態の半導体装置SEM3においても、
図1に示した半導体装置SEM1と同様の効果を得ることができる。
【0063】
図8は、本発明の別の実施形態における半導体装置の例を示すブロック図である。
図1および
図6と同様の要素については、同じ符号を付し、詳細な説明を省略する。
図8に示す半導体装置SEM4は、基板BRD上に搭載された長方形状の4つのチップCP(CP1-CP4)を有する。各チップCPは、
図1および
図2と同様の転送回路TR(TR1-TR4)を有し、各転送回路TRは、対角線D1(または、D2)上に位置する2つのチップCP間での信号の伝送を中継する。
【0064】
この実施形態では、転送回路TRのサイズを最小限にし、転送回路TRを介して転送される信号Sの遅延量を最小限にするために、転送回路TRは、
図1と同様に、チップCP1-CP4の配置領域である基板BRDの中央部側に設けられる。このため、各チップCP1-CP4は、角部の1つを対角線D1、D2の交点に近接させて、基板BRDに搭載される。これにより、各チップCP1-CP4の外側の辺は、直線上に揃わず、チップCP1-CP4の配置領域の周囲は突出部を有し、突出部に合わせて基板BRDの大きさを決定することができる。また、配置領域内の空き領域を小さくすることで、基板BRD中に占めるチップCP1-CP4の面積を少なくすることができる。そのため、基板BRDにおいてその他の電子部品を搭載することができる面積を増やすことができる。半導体装置SEM4のその他の構成は、
図1および
図6に示した半導体装置SEM1の構成と同様である。この実施形態の半導体装置SEM4においても、
図1に示した半導体装置SEM1と同様の効果を得ることができる。
【0065】
なお、
図1、
図5、
図6および
図8に示した実施形態では、各チップCPに転送回路TRを設ける例について説明した。しかしながら、チップCP2、CP4間でのデータの転送が必要であるが、チップCP1、CP3間でのデータの転送が不要な場合、転送回路TRは、チップCP1、CP3に設けられ、チップCP2、CP4には設けられなくてもよい。また、チップCP1、CP3間でのデータの転送が必要であるが、チップCP2、CP4間でのデータの転送が不要な場合、転送回路TRは、チップCP2、CP4に設けられ、チップCP1、CP3には設けられなくてもよい。
【0066】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【0067】
11 誤り検出/訂正信号生成回路
12 出力フリップフロップ
13 出力バッファ
21 入力バッファ
22 入力フリップフロップ
23 誤り検出/訂正回路
24 クロック乗せ換え回路
25、26 ステージング
27 誤り検出/訂正信号生成回路
28 出力フリップフロップ
29 出力バッファ
31 入力バッファ
32 入力フリップフロップ
33 誤り検出/訂正回路
34 クロック乗せ換え回路
BP バンプ
BRD 基板
CP(CP1、CP2、CP3、CP4) チップ
D1、D2 対角線
INT(INT1、INT2、INT3、INT4) 内部回路
S 信号線
SEM1、SEM2、SEM3、SEM4 半導体装置
TR(TR1、TR2、TR3、TR4) 転送回路
IO 入出力回路