(57)【要約】【課題】半導体装置に備えられた端子間の接続関係を切り換える際に、切換えに起因する半導体装置の誤動作を防止する。【解決手段】チップ１２０において、転送部１５０は、物理層処理部１３０とリンク部１８０の間に設けられ、物理層処理部１３０により処理された複数のレーンのデータをリンク部１８０に転送する。転送部１５０は、物理層処理部１３０により処理された複数のレーンのデータをそれぞれ入力する複数の転送部入力端子と、リンク部１８０の複数の入力端子とそれぞれ接続され、複数の転送部入力端子のいずれか１つから入力されたデータをリンク部１８０の複数の入力端子にそれぞれ出力する転送部出力端子と、制御信号端子１６０からの制御信号に従って、各転送部出力端子が、いずれの転送部入力端子から入力されたデータを出力するかの切換えを行う切換部を有する。【選択図】図１
2008294738.tif 000002
【特許請求の範囲】
【請求項１】
第１の処理部と、
該第１の処理部の動作周波数より低い周波数で動作する第２の処理部と、
前記第１の処理部と前記第２の処理部の間に設けられ、前記第１の処理部と前記第２の処理部間で複数のデータを転送する転送部と、
該転送部に制御信号を入力する制御信号端子とを備えた半導体チップにおいて、
前記転送部は、
前記第１の処理部と前記第２の処理部のうちの送信側となる送信側処理部からの前記複数のデータをそれぞれ入力する複数の転送部入力端子と、
前記複数の転送部入力端子にそれぞれ対応し、対応する前記転送部入力端子から入力したデータを、前記第１の処理部と前記第２の処理部のうちの受信側処理部に出力する複数の転送部出力端子と、
前記制御信号端子からの前記制御信号に従って、前記複数の転送部入力端子と前記複数の転送部出力端子間の対応関係を切り換える切換部とを有することを特徴とする半導体チップ。
【請求項２】
前記転送部は、前記転送部入力端子と、該転送部入力端子に対応する転送部出力端子との間の転送経路上の転送時間が前記複数のデータについて同一になるように、前記切換え部による前記切換えに応じて前記転送時間を補正するタイミング補正部をさらに有することを特徴とする請求項１に記載の半導体チップ。
【請求項３】
前記タイミング補正部は、前記複数のデータのそれぞれの前記転送経路に対して設けられたバッファであって、
前記バッファの数が、前記転送経路が長いほど多くなることを特徴とする請求項２に記載の半導体チップ。
【請求項４】
ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）に準拠したものであり、
前記複数のデータが、複数のレーンにそれぞれ対応するものであり、
前記送信側処理部は、物理層の処理を行う物理層処理部であり、
前記受信側処理部は、前記物理層処理部により得られた前記複数のデータに対してデータリンク層の処理を行うデータリンク層処理部であり、
前記転送部は、前記物理層処理部からの前記複数のデータを前記データリンク層処理部に転送するものであり、
各前記転送部入力端子と、各前記転送部出力端子は、１つの前記レーンに対応する複数の端子群であることを特徴とする請求項１から３のいずれか１項に記載の半導体チップ。
【請求項５】
ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）に準拠したものであり、
前記複数のデータが、複数のレーンにそれぞれ対応するものであり、
前記送信側処理部は、データリンク層の処理を行うデータリンク層処理部であり、
前記受信側処理部は、前記物理層処理部により得られた前記複数のデータに対して物理層の処理を行う物理層処理部であり、
前記転送部は、前記データリンク層処理部からの前記複数のデータを前記物理層処理部に転送するものであり、
各前記転送部入力端子と、各前記転送部出力端子は、１つの前記レーンに対応する複数の端子群であることを特徴とする請求項１から３のいずれか１項に記載の半導体チップ。
【請求項６】
転送部と、
該転送部に制御信号を入力する制御信号端子とを備えた半導体チップにおいて、
前記転送部は、
複数のデータをそれぞれ入力する複数の転送部入力端子と、
前記複数の転送部入力端子にそれぞれ対応し、対応する前記転送部入力端子から入力したデータを出力する複数の転送部出力端子と、
前記制御信号端子からの前記制御信号に従って、前記複数の転送部入力端子と前記複数の転送部出力端子間の対応関係を切り換える切換部と、
前記転送部入力端子と、該転送部入力端子に対応する転送部出力端子との間の転送経路上の転送時間が前記複数のデータについて同一になるように、前記切換え部による前記切換えに応じて前記転送時間を補正するタイミング補正部を有することを特徴とする半導体チップ。
【請求項７】
前記タイミング補正部は、前記複数のデータのそれぞれの前記転送経路に対して設けられたバッファであって、
前記バッファの数が、前記転送経路が長いほど多くなることを特徴とする請求項６に記載の半導体チップ。
【請求項８】
内蔵処理回路をさらに有し、
前記転送部は、前記内蔵処理回路と外部との間に設けられ、前記内蔵処理回路と外部間で前記複数のデータを転送することを特徴とする請求項６または７に記載の半導体チップ。
【請求項９】
前記内蔵処理回路は、
第１の処理部と、
該第１の処理部の動作周波数より低い周波数で動作する第２の処理部とを備え、
前記転送部は、前記第１の処理部と前記第２の処理部との間に設けられ、前記第１の処理部と前記第２の処理部のうちの送信側となる送信側処理部から、前記第１の処理部と前記第２の処理部のうちの受信側となる受信側処理部に前記複数のデータを転送することを特徴とする請求項６または７に記載の半導体チップ。
【請求項１０】
ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）に準拠したものであり、
前記複数のデータが、複数のレーンにそれぞれ対応するものであり、
前記送信側処理部は、物理層の処理を行う物理層処理部であり、
前記受信側処理部は、前記物理層処理部により得られた前記複数のデータに対してデータリンク層の処理を行うデータリンク層処理部であり、
前記転送部は、前記物理層処理部からの前記複数のデータを前記データリンク層処理部に転送するものであり、
各前記転送部入力端子と、各前記転送部出力端子は、１つの前記レーンに対応する複数の端子群であることを特徴とする請求項９に記載の半導体チップ。
【請求項１１】
ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）に準拠したものであり、
前記複数のデータが、複数のレーンにそれぞれ対応するものであり、
前記送信側処理部は、データリンク層の処理を行うデータリンク層処理部であり、
前記受信側処理部は、前記物理層処理部により得られた前記複数のデータに対して物理層の処理を行う物理層処理部であり、
前記転送部は、前記データリンク層処理部からの前記複数のデータを前記物理層処理部に転送するものであり、
各前記転送部入力端子と、各前記転送部出力端子は、１つの前記レーンに対応する複数の端子群であることを特徴とする請求項９に記載の半導体チップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体チップ、特に、ボードに装着して使用されるアドイン・チップに関する。
【背景技術】
【０００２】
従来、特定の処理を行う内蔵回路を有するチップと、このチップが装着された基板とを樹脂からなるパッケージで覆うようにして半導体装置を形成する手法が知られている。パッケージの側面から入力ピンと出力ピンが突出しており、入力ピンと出力ピンは、チップの内蔵回路の入力端子と出力端子とそれぞれ接続され、これらのピンを介して、内蔵回路へのデータ入力と、内蔵回路からのデータ出力ができるようになっている。入力ピンと出力ピン、および入力端子と出力端子は、通常複数あり、相対応するピンと端子が接続される。
【０００３】
近年、半導体装置の機能の高度化に伴い、開発プロセスも細分化される傾向にある。このような背景において、例えば、１つの半導体装置の開発は、チップ、チップを装着するためのボードは、別々に開発されることになり得る。この場合のチップは、ボードに装着されることを前提として開発されるものであり、アドイン・チップとも呼ばれる。図１２は、このように別々に開発されたものから構成された半導体装置１の模式を示す。なお、アドイン・チップは、パッケージで覆われるように形成されているが、本明細書の以下の説明において、分かりやすいように、パッケージの図示および説明を省略する。
【０００４】
図１２に示す半導体装置１は、受信用の半導体装置の例であり、ボード２０と、内蔵回路４０を有するアドイン・チップ（以下、単にチップという）３０を備える。ボード２０の複数の端子（図中ボード端子２１ａ〜２１ｎ）を介して、複数のデータＳａ〜Ｓｎがそれぞれ入力される。ボード端子２１ａ〜２１ｎは、チップ３０の複数の入力端子３１ａ〜３１ｎとそれぞれ接続されており、チップ３０の入力端子３１ａ〜３１ｎは、内部結線によって内蔵回路４０の入力端子４１ａ〜４１ｎとそれぞれ接続される。内蔵回路４０は、各入力端子４１ａ〜４１ｂからしかるべきデータが入力されることを前提にして開発されている。ここで例として、内蔵回路４０は、入力端子４１ａ〜４１ｎからデータＳａ、・・・、Ｓｎがそれぞれ入力されることを前提としたものである。
【０００５】
図１２に示すように、半導体装置１では、データＳａ〜Ｓｎは、ボード端子２１ａ〜２１ｎに入力され、入力端子３１ａ、・・・、３１ｎを介して、内蔵回路４０の入力端子４１ａ〜４１ｎに入力される。
【０００６】
ところで、ボードとチップが別々に開発された場合には、ボードに入力されるデータの配列順は必ずしも内蔵回路が要求する順と同じであるとは限らない。ここで、データが入力されるときの配列順が図１２に示す配列順と逆になった場合の半導体装置２の模式を示す。
【０００７】
半導体装置２は、ボード２５と、チップ３０を備える。ボード２５の複数のボード端子は、半導体装置１におけるボード２０の各ボード端子と逆順に配列されている。データＳａ〜Ｓｎを、内蔵回路４０の入力端子４１ａ〜４１ｎに対応した配列順で入力するためには、図１３に示すように、ボード２５のボード端子２１ａ〜２１ｎと、チップ３０の入力端子３１ａ〜３１ｎとをそれぞれ接続する配線を交差させなければいけない。または、図に示していないが、ボード２５のボード端子２１ａ〜２１ｎとチップ３０の入力端子３１ａ〜３１ｎ間の配線を交差させないために、チップ３０の入力端子３１ａ〜３１ｎと内蔵回路４０の入力端子４１ａ〜４１ｎ間の配線を交差させなければいけない。
【０００８】
また、チップをボードに装着する際に、ボードとチップの物理的な構造から、チップを裏返して装着せざるを得ない場合がある。図１４と図１５は、この場合の半導体装置３と半導体装置４の模式を示す。
【０００９】
図１４に示す半導体装置３を構成するボード２０、チップ３０は、図１２に示す半導体装置１の対応するものと同じであるが、チップ３０は、裏返してボード２０に装着されている。そのため、チップ３０の内蔵回路４０の各入力端子４１ａ〜４１ｂにしかるべきデータを入力するために、ボード２５のボード端子２１ａ〜２１ｎと、チップ３０の入力端子３１ａ〜３１ｎとをそれぞれ接続する配線を交差させなければいけない。または、図１５に示す半導体装置４のように、ボード２０のボード端子２１ａ〜２１ｎとチップ３０の入力端子３１ａ〜３１ｎ間の配線を交差させないために、チップ３０の入力端子３１ａ〜３１ｎと内蔵回路４０の入力端子４１ａ〜４１ｎ間の配線を交差させなければいけない。
【００１０】
特許文献１には、端子間の接続関係を切り換える技術が開示されている（特許文献１における図１を参照）。この技術は、チップの入力端子と、チップの内蔵回路の入力端子（チップの入力端子と区別するために内蔵回路入力端子という）との間に切換回路を設けている。この切換回路は、チップの入力端子毎に設けられ、１つの入力端子に対して２つの出力端子（第１端子、第２端子）を有する。切換回路は、第１端子と第２端子間で、チップの入力端子と接続される端子を切り換える。
【００１１】
チップの入力端子、切換回路、内蔵回路入力端子は、同じ番号順に配列されている。内蔵回路入力端子は切換回路の第１端子側には、番号順と同順に接続される一方、第２端子側には、番号順と逆順に接続される。
【００１２】
すなわち、チップの各入力端子が、対応する切換回路の第１端子と接続される状態では、内蔵回路入力端子はチップの各入力端子に番号順と同順に接続される。一方、チップの各入力端子が、対応する切換回路の第２端子と接続される状態では、内蔵回路入力端子はチップの各入力端子に番号順と逆順に接続される。
【００１３】
このような切換回路を、例えば図１３に示す半導体装置２に適用することが考えられる。具体的には、チップ３０の入力端子３１ａ〜３１ｎと、内蔵回路４０の入力端子４１ａ〜４１ｎの間に、それぞれの入力端子３１ａ、・・・、３１ｎに対して特許文献１の切換回路を設ければ、ボードとチップ間の配線を交差させずに、ボード端子２１ａ〜２１ｎと、チップ３０の入力端子３１ａ〜３１ｎを接続できる。
【００１４】
また、図１４と図１５に示す半導体装置３、半導体装置４の場合も同じである。
【特許文献１】特開平４−３４０２５３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
ところで、特許文献１により開示された技術を図１３に示す半導体装置２に適用した場合、ボードとチップ間の配線を交差させずに済むが、切換内部における結線が切換えによって交差する場合がある。切換内部の結線が交差する場合において、切換回路に入力されてから切換回路から出力されるまでの転送経路の長さは、チップの複数の入力端子にそれぞれ入力される複数のデータ間で異なってしまうことになり得る。そのため、複数のデータは、それぞれのチップ入力端子を介して同じタイミングで入力されても、互いに異なるタイミングで切換回路から出力される問題が生じる。
【００１６】
所定の同期関係をもって伝送される複数のデータの場合、チップの内蔵回路は、これらのデータが上記同期関係にあることを前提に処理をするため、切換回路によってデータの同期関係が崩れてしまっては、チップの内蔵回路は正常に動作できなくなる。また、近年、速いデータ伝送速度が要求され、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩ：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）などの高速データ伝送技術が実用されている。高速なデータ伝送に対応するように、半導体装置の高機能化が進み、チップの内蔵回路内において高い動作周波数で動作する機能ブロックも存在する。
【００１７】
そのため、上述した切換回路をチップに設けた際に、内蔵回路の高い動作周波数のため、それに追従した切換が難しいという問題がある。場合によっては切換がうまくできず、半導体装置が誤動作してしまう恐れもある。
【課題を解決するための手段】
【００１８】
本発明の１つの態様は、半導体チップである。この半導体チップは、第１の処理部と、該第１の処理部の動作周波数より低い周波数で動作する第２の処理部と、第１の処理部と第２の処理部の間に設けられ、第１の処理部と第２の処理部間で複数のデータを転送する転送部と、転送部に制御信号を入力する制御信号端子とを備える。転送部は、第１の処理部と第２の処理部のうちの送信側となる送信側処理部からの複数のデータをそれぞれ入力する複数の転送部入力端子と、複数の転送部入力端子にそれぞれ対応し、対応する転送部入力端子から入力したデータを、第１の処理部と前記第２の処理部のうちの受信側処理部に出力する複数の転送部出力端子と、制御信号端子からの制御信号に従って、複数の転送部入力端子と複数の転送部出力端子間の対応関係を切り換える切換部を有する。
【００１９】
本発明の別の態様も、半導体チップである。この半導体チップは、転送部と、該転送部に制御信号を入力する制御信号端子とを備える。転送部は、複数のデータをそれぞれ入力する複数の転送部入力端子と、複数の転送部入力端子にそれぞれ対応し、対応する転送部入力端子から入力したデータを出力する複数の転送部出力端子と、制御信号端子からの制御信号に従って、複数の転送部入力端子と複数の転送部出力端子間の対応関係を切り換える切換部と、タイミング補正部を有する。タイミング補正部は、転送部入力端子と、該転送部入力端子に対応する転送部出力端子との間の転送経路上の転送時間が複数のデータについて同一になるように、切換え部による切換えに応じて転送時間を補正する。
【００２０】
なお、上記半導体チップを方法、システム、プログラムに置き換えたものも、本発明の態様としては有効である。
【発明の効果】
【００２１】
本発明にかかる技術によれば、半導体装置に備えられた端子間の接続関係を切り換える際に、切換えに起因する半導体装置の誤動作を防止することができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して本発明の実施の形態について説明する。
＜第１の実施の形態＞
【００２３】
図１は、本発明の第１の実施の形態にかかる半導体チップ１２０を示す。チップ１２０は、ＰＣＩ  Ｅｘｐｒｅｓｓに準拠し、レーン単位でデータを受信して処理するものである。ここで例として、チップ１２０は、レーン１、レーン２、レーン３、レーン４の４レーンまでサポートするものとする。
【００２４】
ＰＣＩ  Ｅｘｐｒｅｓｓに準拠した半導体装置は、外部からの受信を担う回路と外部への送信を担う回路について、互いに独立している部分もあれば共有している部分あり得る。例えば、通常、物理層処理を担う回路は送信と受信で互いに独立しているが、リンク層以上の回路は送信と受信で共有している。図１は、説明を分かりやすくするために受信用の回路のみを示しているが、この回路のすべてが受信にのみ使用されることを意味せず、例えばリンク層以上の処理を担う後述のリンク部１８０と上位処理部１９０は受信と送信で共有されてもよい。
【００２５】
なお、ＰＣＩ  Ｅｘｐｒｅｓｓでは、データは、直列の低電圧差分信号に変換されて送信されるため、各レーンのデータは、ペア配線により伝送されるが、簡潔にするために、１つのレーンのデータを伝送する配線を１本の配線で示す。
【００２６】
チップ１２０は、物理層処理部１３０と、転送部１５０と、転送部１５０に制御信号（その詳細については後述する）を入力する制御信号端子１６０と、リンク部１８０と、上位処理部１９０を有する。
【００２７】
図１の矢印に示すように、データは、外部から物理層処理部１３０、転送部１５０、リンク部１８０、上位処理部１９０の順に伝送される。
【００２８】
図１に示す物理層処理部１３０は、入力データ（レーン１〜レーン４のデータ）に対して物理層の処理を行うものであり、ＳＥＲＤＥＳ（Ｓｅｒｉａｌｉｚｅｒ  ａｎｄ  Ｄｅｓｅｒｉａｌｉｚｅｒ：シリアル／パラレル相互変換回路）１３２とＰＣＳ（Ｐｈｙｓｉｃａｌ  Ｃｏｄｉｎｇ  Ｓａｂｌａｙｅｒ：物理コーディング・サブレイヤ）処理部１３６を備える。
【００２９】
レーン１〜レーン４のデータは、直列データであり、ＳＥＲＤＥＳ１３２は、それを１０ビット並列データに変換する。入力データの１つのレーンのビット幅が２．５ＧＢであるため、ＳＥＲＤＥＳ１３２は、１つのレーンのデータを、ビット幅が２５０ＭＢである１０つのデータに変換する。ＳＥＲＤＥＳ１３２は、各レーンのデータに対してこのような変換を行って、配線１３４Ａ〜１３４Ｄを介してＰＣＳ処理部１３６に出力する。
【００３０】
配線１３４Ａ〜１３４Ｄは、それぞれのレーンに対応する配線群であり、１つのレーンに対して１０本の配線が用いられる。
【００３１】
ＰＣＳ処理部１３６は、ＳＥＲＤＥＳから出力してきた１０ビットのデータに対して８ビット／１０ビットデコードし、得られた８ビットのデータを解読して出力する。
【００３２】
このようにして、物理層処理部１３０に入力されたデータは、８ビット幅のデータに変換されて物理層処理部１３０から出力される。物理層処理部１３０の各出力パス１４０Ａ〜１４０Ｄは、レーン１〜レーン４にそれぞれ対応したパス群であり、各パス群は、８ビット幅のデータが伝送される８本のパスを有する。
【００３３】
物理層処理部１３０から出力されるデータは、それぞれのレーンに対応するものであり、説明上の便宜のため、以下、各レーンのデータを変換して得たデータもこのレーンのデータとして説明する。
【００３４】
転送部１５０は、物理層処理部１３０から出力されたデータをリンク部１８０に転送するものであり、ここでまずリンク部１８０について説明する。
【００３５】
リンク部１８０は、ロジック回路であり、物理層処理部１３０から出力されたデータに対してデータリンク層の処理を行い、処理したデータをさらに内部パス１８５を介して上位処理部１９０に出力する。また、リンク部１８０は、データが所定の配列順で入力されることを前提として開発されたものであり、例としてこの所定の配列順が上からレーンＡ、レーンＢ、レーンＣ、レーンＤの順であるとする。
【００３６】
上位処理部１９０も、ロジック回路であり、リンク部１８０により処理されたデータに対してネットワーク層以上の処理を行う。
【００３７】
なお、物理層処理部１３０の後段の処理部は、物理層処理部１３０がシリアル／パラレル変換してデータを処理するので、後段の処理部の動作周波数が物理層処理部１３０具体的には物理層処理部１３０におけるＳＥＲＤＥＳ１３２の動作周波数より低い。そのため、ＰＣＳ処理部１３６には、ＳＥＲＤＥＳ１３２と後段の処理部のクロックドメインの境を越すためのエラスティック・バッファ（図示せず）が設けられている。
【００３８】
図２は、転送部１５０を示す。転送部１５０は、入力端子１５２Ａ〜１５２Ｄと、  分配器（以下ＭＵＸという。ＭＵＸ：Ｍｕｌｔｉｐｌｅｘｅｒ）１５４Ａ〜１５４Ｄと、出力端子１５６Ａ〜１５６Ｄを有する。
【００３９】
入力端子１５２Ａ〜１５２Ｄは、物理層処理部１３０により出力された各レーンのデータをそれぞれ入力する。例えば、レーン１のデータは、物理層処理部１３０により処理され、入力端子１５２Ａを介して転送部１５０に入力される。
【００４０】
出力端子１５６Ａ〜１５６Ｄは、リンク部１８０の入力端子１８２Ａ〜１８２Ｄにそれぞれ接続され、接続したＭＵＸからのデータをリンク部１８０に出力する。
【００４１】
ＭＵＸ１５４Ａ〜１５４Ｄは、切換部として機能し、入力端子１５２Ａ〜１５２Ｄのうちのいずか１つから入力されたデータを選択して、接続した出力端子から出力する。ここで、ＭＵＸ１５４Ａを例にして説明する。
【００４２】
ＭＵＸ１５４Ａは、一端がすべての入力端子１５２Ａ〜１５２Ｄと接続されており、他端が出力端子１５６Ａと接続されている。すべての入力端子１５２Ａ〜１５２ＤからのデータがＭＵＸ１５４Ａに入力され、ＭＵＸ１５４Ａは、これらの複数のデータから１つのみを選択して出力する。ＭＵＸ１５４Ａは、いずれの入力端子からのデータを選択するかは、制御信号端子１６０からの制御信号により制御される。ここで、デフォルトの設定では、ＭＵＸ１５４Ａが入力端子１５２Ａからのデータを選択するようになっており、制御信号次第で、他の入力端子からのデータも選択可能になっている。
【００４３】
ＭＵＸ１５４Ｂ、ＭＵＸ１５４Ｃ、ＭＵＸ１５４Ｄも同じように、一端がすべての入力端子１５２Ａ〜１５２Ｄと接続され、他端が出力端子１５６Ｂ、出力端子１５６Ｃ、出力端子１５６Ｄとそれぞれ接続され、入力端子１５２Ａ〜１５２Ｄのいずれかからのデータを選択して、接続された出力端子に出力する。
【００４４】
例えば、レーン１〜４がそれぞれレーンＡ〜Ｄであれば、４つのレーンのデータは、上からレーンＡ、レーンＢ、レーンＣ、レーンＤの順で転送部１５０に入力されることになる。この場合、ＭＵＸ１５４Ａ〜１５４Ｄが、デフォルトの設定のまま、それぞれ入力端子１５２Ａ、１５２Ｂ、１５２Ｃ、１５２Ｄからのデータを選択するようになっており、これらのデータが上からレーンＡ、レーンＢ、レーンＣ、レーンＤの順でリンク部１８０に入力される。
【００４５】
一方、レーン１〜４のデータがそれぞれレーンＤ〜Ａであれば、４つのレーンのデータは、上からレーンＤ、レーンＣ、レーンＢ、レーンＡの順で転送部１５０に入力されることになる。この場合、制御信号により、ＭＵＸ１５４Ａ〜１５４Ｄが、入力端子１５２Ｄ、１５２Ｃ、１５２Ｂ、１５２Ａからのデータをそれぞれ選択するように切り換えれば、リンク部１８０には、相変わらず上からレーンＡ、レーンＢ、レーンＣ、レーンＤの順でデータが入力される。
【００４６】
すなわち、４つのレーンのデータが「Ａ、Ｂ、Ｃ、Ｄ」、「Ｄ、Ｃ、Ｂ、Ａ」などのいかなるレーン間配列順で転送部１５０に入力されたとしても、制御信号によりＭＵＸ１５４Ａ〜１５４Ｄの選択を切り換えることによって、リンク部１８０に入力されるデータの配列順を一定にすることができる。
【００４７】
図１から分かるように、４つのレーンのデータが転送部１５０に入力される配列順と、この４つのデータがチップ１２０に入力される配列順と同じである。すなわち、４つのレーンのデータがいかなる配列順でチップ１２０に入力されても、上からレーンＡ〜Ｄの順でリンク部１８０に入力されるようにすることができる。
【００４８】
ところで、４つのレーンのデータ、および各レーンに対して処理されたデータが同期してチップ１２０の各処理部間を伝送され、それらの同期関係を維持することが、チップの誤動作を防ぐ上で重要であり、転送部１５０も、この同期関係を保ったまま物理層処理部１３０とリンク部１８０間で転送する必要がある。
【００４９】
転送部１５０の入力端子とＭＵＸの間に、この同期関係を保つためのバッファ（図中黒い三角形）が設けられている。バッファの出力方向はデータの伝送方向と同一である。バッファの数は、入力端子とＭＵＸ間の配線の長さに応じて異なり、配線が長いほど多くのバッファが設けられている。ここで入力端子１５２Ａを例にして具体的に説明する。
【００５０】
図２に示すように、入力端子１５２Ａと、各ＭＵＸ間の配線の長さは、ＭＵＸ１５４Ａから順に長くなっている。入力端子１５２ＡとＭＵＸ１５４Ｂの間に１つのバッファ（Ｔ１Ａ）、入力端子１５２ＡとＭＵＸ１５４Ｃの間に２つのバッファ（Ｔ２Ａ、Ｔ３Ａ）、入力端子１５２ＡとＭＵＸ１５４Ｄの間に３つのバッファ（Ｔ２Ａ、Ｔ４Ａ、Ｔ５Ａ）が設けられている。入力端子１５２ＡとＭＵＸ１５４Ａの間の配線の長さが最も短く、その上にはバッファが設けられていない。
【００５１】
配線が長いほどデータ転送にかかる時間が長い一方、配線の長さに応じて適切に多くのバッファを設けることによってデータを速く転送することができる。そのため、入力端子１５２Ａから入力されたデータが、いずれのＭＵＸにより選択されて出力されたとしても、入力端子１５２Ａからのデータが入力端子１５２Ａに入力されてから転送部１５０から出力されるまでにかかる時間をほぼ同様にできる。
【００５２】
他の３つの入力端子１５２Ｂ〜１５２Ｄも同じように、接続されるＭＵＸとの間の配線の長さに応じた数のバッファにより、この入力端子からのデータがいずれのＭＵＸにより選択されて出力されたとしても、転送部１５０に入力されてから転送部１５０から出力されるまでにかかる時間がほぼ同じである。
【００５３】
すなわち、これらのバッファは、タイミング補正部として動作し、ＭＵＸ１５４Ａ〜１５４Ｄがいかなる組合せの選択を行ったとしても、転送部１５０に入力された複数のデータ間の相対的なタイミング関係が変わらずに出力されるように、タイミングの補正を行っている。
【００５４】
例えば、レーン１〜４のデータが、上からレーンＡ、レーンＢ、レーンＣ、レーンＤの配列順で転送部１５０に入力されたとき、ＭＵＸ１５４Ａ〜１５４Ｄが、デフォルトの設定のまま、それぞれ入力端子１５２Ａ、１５２Ｂ、１５２Ｃ、１５２Ｄからのデータを選択するように制御信号により制御される。この場合、転送部１５０の各入力端子について、それに入力されたデータがリンク部１８０に入力されるまでの配線の長さが同じであるため、転送部１５０に入力された複数のデータ間の相対的なタイミング関係が保たれている。
【００５５】
一方、レーン１〜４のデータが、上からレーンＤ、レーンＣ、レーンＢ、レーンＡの配列順で転送部１５０に入力されたとき、ＭＵＸ１５４Ａ〜１５４Ｄが、それぞれ入力端子１５２Ｄ、１５２Ｃ、１５２Ｂ、１５２Ａからのデータを選択するように制御信号により制御される。この場合、入力端子１５２ＡとＭＵＸ１５４Ｄ間の配線の長さは、入力端子１５２ＤとＭＵＸ１５４Ａ間の配線の長さと同じであり、ここで第１の長さという。また、入力端子１５２ＢとＭＵＸ１５４Ｃ間の配線の長さは、入力端子１５２ＣとＭＵＸ１５４Ｂ間の配線の長さと同じであり、ここで第２の長さという。第１の長さは第２の長さより長いが、入力端子１５２ＡとＭＵＸ１５４Ｄの間、入力端子１５２ＢとＭＵＸ１５４Ｃの間、入力端子１５２ＣとＭＵＸ１５４Ｂの間、入力端子１５２ＤとＭＵＸ１５４Ａの間に、バッファがそれぞれ３つ、１つ、１つ、３つ設けられているため、配線の長さの差異によるデータ転送時間の差異が吸収される。そのため、ＭＵＸの選択の切換えがなされたにも関わらず、転送部１５０に入力された複数のデータ間の相対的なタイミング関係が保たれている。
【００５６】
このように、４つのレーンのデータがいかなる配列順でチップ１２０に入力されても、制御信号により転送部１５０における各ＭＵＸの選択を切り換えることによって、リンク部１８０が要求する配列順（上からレーンＡ、レーンＢ、レーンＣ、レーンＤ）でデータをリンク部１８０に入力することができると共に、これらのデータ間の相対的なタイミングのずれを防ぐことができる。
【００５７】
図３は、図１に示すチップ１２０を適用した半導体装置１００Ａを示す。半導体装置１００Ａは、ボード１１２Ａと、図１に示すチップ１２０を有する。アドイン・チップであるチップ１２０は、ボード１１２Ａに装着されている。
【００５８】
半導体装置１００Ａは、ＰＣＩ  Ｅｘｐｒｅｓｓに準拠したものであり、複数（ここで例として４つ）のレーンのデータを受信して処理する。ここで例として、半導体装置１００Ａは、４レーンのものであり、ボード１１２Ａには、レーンＡ〜レーンＤの４レーンのデータを受信してチップ１２０に出力するための４つのボード端子１１４Ａ〜１１４Ｄが設けられている。
【００５９】
図３に示すように、ボード１１２Ａにおける４つのボード端子１１４Ａ〜１１４Ｄは、上からレーンＡ、レーンＢ、レーンＣ、レーンＤの順で受信するように配列しており、ボード端子１１４Ａ〜１１４Ｄとチップ１２０を接続する各々の配線が交差していない。この場合、転送部１５０における各ＭＵＸの選択がデフォルトのままになっている。
【００６０】
図４は、図１に示すチップ１２０を適用した他の半導体装置１００Ｂを示す。半導体装置１００Ｂは、ボード１１２Ｂが図３に示す半導体装置１００Ａにおけるボード１１２Ａと異なる点を除き、同じ構成を有するので、ここでボード１１２Ｂについてのみ説明する。
【００６１】
ボード１１２Ｂにも、レーンＡ〜レーンＤの４レーンのデータを受信してチップ１２０に出力するための４つのボード端子１１４Ａ〜１１４Ｄが設けられている。これらの端子が、上からレーンＤ、レーンＣ、レーンＢ、レーンＡの順で受信するように配列している。この場合、転送部１５０では、制御信号端子１６０からの制御信号により、リンク部１８０にレーンＡ、レーンＢ、レーンＣ、レーンＤの配列順でデータが入力されるようにＭＵＸの選択が切り換えられているため、ボード端子１１４Ｄ〜１１４Ａとチップ１２０を接続する各々の配線が交差していない。
【００６２】
すなわち、図１に示すチップ１２０によれば、チップ１２０が装着されるボードにおけるボード端子の配列順が異なっても、ボード端子とチップ１２０間の配線を交差させずにリンク部１８０にデータをしかるべき配列順で入力することができる。
【００６３】
勿論、ボードとチップの形状などの物理的制限によりチップを裏返してボードに装着する必要がある場合においても同じである。
【００６４】
ここで、ボード端子１１４Ａ〜ボード端子１１４Ｄと物理層処理部１３０の間に転送部１５０を設ける場合について考える。この場合においても、各レーンのデータの配列順を変えることができる。しかし、物理層処理部１３０におけるＳＥＲＤＥＳ１３２の動作周波数が高いため、データの配列順の切換が難しく、場合によっては切換がうまくできず、半導体装置が誤動作してしまう恐れもある。それに対して、チップ１２０では、転送部１５０は、ＳＥＲＤＥＳ１３２より低い周波数で動作するリンク部１８０の直前に設けられているので、切換に起因する半導体装置の誤動作を防ぐことができる。
＜第２の実施の形態＞
【００６５】
図５は、本発明の第２の実施の形態にかかる半導体チップ３２０を示す。この半導体チップ３２０は、本発明の技術をＰＣＩ  Ｅｘｐｒｅｓｓの送信チップに適用したものである。ここも例として、チップ３２０は、レーン１、レーン２、レーン３、レーン４の４レーンまでサポートするものとする。
【００６６】
チップ３２０は、物理層処理部３３０と、転送部３５０と、転送部３５０に制御信号を入力する制御信号端子３６０と、リンク部３８０と、上位処理部３９０を有する。
【００６７】
図５の矢印に示すように、データは、上位処理部３９０、リンク部３８０、転送部３５０、物理層処理部３３０、外部の順に伝送される。
【００６８】
データの送信に際して、上位処理部３９０は、送信データをリンク部３８０に出力する。
【００６９】
リンク部３８０は、上位処理部３９０からのデータに対してデータリンク層の処理を行って出力する。リンク部３８０から出力されるデータの配列順は一定であり、例えば上からレーンＡ〜レーンＤである。
【００７０】
転送部３５０は、リンク部３８０により処理されたデータを物理層処理部３３０に転送する。
【００７１】
物理層処理部３３０は、転送部３５０により転送されてきたデータに対して物理層の処理を行って外部に出力する。
【００７２】
物理層処理部３３０は、図１に示すチップ１２０の物理層処理部１３０と逆の処理を行う。リンク部３８０は、図１に示すリンク部１８０と逆の処理を行う。チップ３２０における各機能ブロック間の配線の数は、図１に示すチップ１２０における各機能ブロック間の配線の数と同じである。
【００７３】
転送部３５０は、入力端子３５６Ａ〜３５６Ｄと、入力端子３５６Ａ〜３５６Ｄにそれぞれ接続されるＭＵＸ３５４Ａ〜３５４Ｄと、出力端子３１１〜３１４を有する。
【００７４】
入力端子３５６Ａ〜３５６Ｄは、リンク部３８０の各レーンのデータの出力端子にも接続され、接続した出力端子からのデータをＭＵＸに入力する。
【００７５】
前述したように、上からレーンＡ〜レーンＤの配列順でリンク部３８０からデータが出力されるので、ＭＵＸへ入力されるデータの配列順も上からレーンＡ〜レーンＢの順である。
【００７６】
ＭＵＸ３５４Ａ〜３５４Ｄは、切換部として機能し、入力端子３５６Ａ〜３５６Ｄから入力されたデータを、出力端子３１１〜３１４のうちのいずかに出力する。ここで、ＭＵＸ３５４Ａを例にして説明する。
【００７７】
ＭＵＸ３５４Ａは、一端がすべての出力端子３１１〜３１４と接続されており、他端が入力端子３５６Ａと接続されている。ＭＵＸ１５４Ａは、入力端子３５６Ａから入力されたデータを、出力端子３１１〜３１４から１つ選択してそれに出力する。ＭＵＸ３５４Ａがいずれの出力端子を選択するかは、制御信号端子３６０からの制御信号により制御される。
【００７８】
ＭＵＸ３５４Ｂ、ＭＵＸ３５４Ｃ、ＭＵＸ３５４Ｄも同じように、一端が入力端子３５６Ｂ、入力端子３５６Ｃ、入力端子３５６Ｄと接続され、一端がすべての出力端子３１１〜３１４と接続され、出力端子３１１〜３１４のいずれかを選択してデータを出力する。
【００７９】
例えば、ＭＵＸ３５４Ａ〜ＭＵＸ３５４Ｄがそれぞれ出力端子３１１、出力端子３１２、出力端子３１３、出力端子３１４を選択するようにすれば、転送部３５０から物理層処理部３３０へ出力されるデータの配列順は上からレーンＡ〜レーンＤの順となる。
【００８０】
一方、ＭＵＸ３５４Ａ〜ＭＵＸ３５４Ｄがそれぞれ出力端子３１４、出力端子３１３、出力端子３１２、出力端子３１１を選択するようにすれば、転送部３５０から物理層処理部３３０へ出力されるデータの配列順、および物理層処理部３３０から外部に出力されるデータの配列順は共に上からレーンＤ〜レーンＡの順となる。
【００８１】
すなわち、リンク部３８０から決まったレーン間配列順のデータが入力されるが、物理層処理部３３０から出力されるデータは、制御信号端子３６０から入力される制御信号によりレーン間配列順が制御され、レーン１〜レーン４は、「レーンＡ〜レーンＤ」、「レーンＤ〜レーンＡ」などいかなる組合せも可能である。
【００８２】
転送部３５０の出力端子とＭＵＸの間に、各レーンのデータ間の同期関係を保つためのバッファ（図中黒い三角形）が設けられている。バッファの出力方向は、データの伝送方向と同じである。バッファの数は、出力端子とＭＵＸ間の配線の長さに応じて異なり、配線が長いほど多くのバッファが設けられている。ここでＭＵＸ３５４Ａを例にして具体的に説明する。
【００８３】
図５に示すように、ＭＵＸ３５４Ａと各出力端子３１１〜３１４間の配線の長さは、出力端子３１１からの順に長くなっている。ＭＵＸ３５４Ａと出力端子３１１との間の配線が最も短く、その上にバッファが設けられていない。ＭＵＸ３５４Ａと出力端子３１２の間に１つのバッファ（Ｑ１）が設けられており、ＭＵＸ３５４Ａと出力端子３１３の間に２つのバッファ（Ｑ２、Ｑ３）が設けられており、ＭＵＸ３５４Ａと出力端子３１４の間に３つのバッファ（Ｑ４、Ｑ５、Ｑ６）が設けられており。
【００８４】
配線が長いほどデータ転送にかかる時間が長いが、配線の長さに応じて適切に多くのバッファを設けることによってデータを速く転送することができる。そのため、ＭＵＸ３５４Ａからいずれの出力端子にデータを出力しても、データがＭＵＸ３５４に入力されてから、選択された出力端子から出力されるまでにかかる時間がほぼ同じである。
【００８５】
他のＭＵＸ３５４Ｂ〜３５４Ｄについても同じである。
【００８６】
すなわち、これらのバッファは、タイミング補正部として動作し、ＭＵＸ３５４Ａ〜３５４Ｄがいかなる組合せの選択を行ったとしても、転送部３５０に入力された複数のデータ間の相対的なタイミング関係が変わらずに出力されるように、タイミングの補正を行っている。
【００８７】
例えば、レーン１〜４のデータが、上からレーンＡ、レーンＢ、レーンＣ、レーンＤの配列順で転送部１５０に入力されたとき、ＭＵＸ１５４Ａ〜１５４Ｄが、デフォルトの設定のまま、それぞれ入力端子１５２Ａ、１５２Ｂ、１５２Ｃ、１５２Ｄからのデータを選択するように制御信号により制御される。この場合、転送部１５０の各入力端子について、それに入力されたデータがリンク部１８０に入力されるまでの配線の長さが同じであるため、転送部１５０に入力された複数のデータ間の相対的なタイミング関係が保たれている。
【００８８】
すなわち、図５に示すチップ３２０は、外部に出力するデータのレーン間配列順を任意に切り換えることができる。そのため、チップ３２０が装着されるボードのボード端子がいかなるレーン間配列順であっても、ボードとチップ３２０間の配線を交差させずにボード端子とチップ３２０を接続することができる。
【００８９】
また、転送部３５０は、切換えがなされても、転送するデータの同期関係を維持することができるので、半導体装置の誤動作を防ぐことができる。
【００９０】
また、転送部３５０は、物理層処理部３３０より低い周波数で動作するリンク部３８０の直前に設けられているので、これも半導体装置の誤動作を防ぐことに貢献する。
＜第３の実施の形態＞
【００９１】
以上の２つの実施の形態は、ＰＣＩ  Ｅｘｐｒｅｓｓに準拠した半導体装置に本発明の技術を適用したものであるため、転送部は受信用回路または送信用回路に別々に設けられている。本発明の技術は、同じ回路で送受信を行う半導体装置にも適用することができる。
【００９２】
図６は、本発明の第３の実施の形態にかかるチップ４２０を示す。
【００９３】
このチップは、内部処理回路４８０と、内部処理回路４８０と外部（ボード端子）間で複数のデータを転送する転送部４５０と、転送部４５０に制御信号を入力する制御信号端子４６０を備える。ここで例としてデータの数を４つにし、１つのデータを１つのレーンのデータという。なお、本実施の形態では、１つのレーンのデータにさらに含まれるデータの数は、１以上の任意の数である。
【００９４】
転送部４５０は、外部と接続される外部端子４１１〜４１４と、内部処理回路４８０と接続される内部端子４６１〜４６４と、外部端子と内部端子間に接続されたＭＵＸ４５４Ａ〜４５４Ｄを有する。
【００９５】
ＭＵＸ４５４Ａ〜４５４Ｄは、一端がすべての外部端子４１１〜４１４に接続されており、他端が内部端子４６１、内部端子４６２、内部端子４６３、内部端子４６４にそれぞれ接続されている。
【００９６】
外部からのデータを受信する場合、ＭＵＸ４５４Ａ〜４５４Ｄは、図１に示すチップ１２０における転送部１５０と同じ動作をする。すなわち、外部端子４１１〜４１４のいずれかからのデータを選択して、接続された内部端子に出力する。これにより、レーン１〜レーン４の４つのデータがいなかる配列順であっても、内部処理回路４８０に所定の配列順で出力することができる。
【００９７】
データを外部に送信する場合、ＭＵＸ４５４Ａ〜４５４Ｄは、図５に示すチップ３２０における転送部３５０と同じ動作をする。すなわち、内部端子４６１〜４６４から入力されたデータに対して、外部端子４１１〜４１４のいずれかを選択して出力する。これにより、内部処理回路４８０から決まったレーン間配列順の４つのデータが転送部４５０に入力されるが、チップ４２０から外部に出力されるデータは、制御信号端子４６０から入力される制御信号によりレーン間配列順が制御され、レーン１〜レーン４は、いかなる配列順も有り得る。
【００９８】
転送部４５０の外部端子とＭＵＸの間に、各レーンのデータ間の同期関係を保つためのバッファ（図中黒い矩形）が設けられている。これらのバッファは、双方向バッファであり、それらの出力方向は、データ伝送方向と同じである。また。バッファの数は、出力端子とＭＵＸ間の配線の長さに応じて異なり、配線が長いほど多くのバッファが設けられている。
【００９９】
このように、図６に示すチップ４２０は、外部から入力されるデータのレーン間配列順を任意に変えることができると共に、外部に出力するデータのレーン間配列順も任意に変えることができる。そのため、送受信回路が共有される半導体装置において、チップ４２０が装着されるボードのボード端子がいかなるレーン間配列順であっても、ボードとチップ４２０間の配線を交差させずにボード端子とチップ４２０を接続することができる。
【０１００】
また、転送部４５０は、切換えがなされても、転送するデータの同期関係を維持することができるので、半導体装置の誤動作を防ぐことができる。
【０１０１】
なお、チップ４２０において、転送部４５０を外部と内部処理回路４８０の間に設けているが、内部処理回路４８０を、動作周波数の異なる２つの処理部に分けることができる場合には、転送部４５０をこの２つの処理部の間に設けることが好ましい。
【０１０２】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した各実施の形態に対して、さまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１０３】
例えば、上記において、４レーンのデータがいかなる配列順でチップ１２０に入力されても対応できることについて説明したが、本発明の技術を下記のような場合にも適用することができる。
【０１０４】
複数のレーンを有する半導体装置は、自身のレーン数よりも、接続先のデバイスのレーン数が少ない場合でも使用可能である。ＰＣＩ  Ｅｘｐｒｅｓｓにおいて、入力データがいずれのレーンのデータとして用いるかを設定できるオプションが規定されている。この設定は、データの中に付属された設定パラメータにより示される。例えば「０」である設定パラメータは、この設定パラメータが含まれるデータをレーンＡのデータとして使用することを示し、「１」である設定パラメータは、この設定パラメータが含まれるデータをレーンＢのデータとして使用することを示す。ＰＣＩ  Ｅｘｐｒｅｓｓに準拠した半導体装置は、データリンク層の処理をする際に、レーンＡのデータから処理するようになっているので、レーン数が異なるデバイス間でデータを伝送する際に、送信側のレーン数が少ないデバイスは、この設定パラメータをデータに付属させて、データをいずれのレーンとして使用することを設定することにより、通信を可能にしている。
【０１０５】
この場合、半導体装置内のチップのアーキテクチャによって、使用できるボード端子が制限される場合がある。ここで図７に示す半導体装置を例にする。
【０１０６】
図７に示す半導体装置は、ボード２１０と、アドイン・チップであるチップ２３０を備え、ボード２１０には、４つのボード端子２２０Ａ〜２２０Ｄが設けられている。チップ２３０に、物理層処理部２４０とリンク部２７０が設けられており、それらが図１に示すチップ１２０の相対応する処理部と同じ処理を行うので、ここで詳細な説明を省略する。また、パッケージや、ネットワーク層以上の処理部などについても省略する。
【０１０７】
まず、接続先のデバイスが１レーン接続しかサポートしない場合について説明する。この場合、半導体装置のいずれかのボード端子を用いて接続先のデバイスと接続することになるが、チップの構成、主にリンク部２７０などに用いられるＩＰコア（ＩＰ：Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ）の仕様などによって、使用できないボード端子がある。
【０１０８】
例えば、リンク部２７０の仕様は、１レーン接続の場合において、入力端子２６０Ａと２６０Ｄのいずれか一方のみが使用できるようになっているとする。この場合、図７に示す半導体装置と、接続先のデバイスとの接続形態が図８に示す２通りとなる。
【０１０９】
図８上部は、ボード端子２２０Ａが使用されるＡ接続を示し、この接続態様では、ボード端子２２０Ａと接続先のデバイスが接続されており、リンク部２７０には、入力端子２６０Ａを介してデータが入力される。また、設定パラメータ「０」によりデータがレーンＡのデータとして使用されることに設定されているため、接続先のデバイスと半導体装置間のデータ通信が可能である。
図８下部は、ボード端子２２０Ｄが使用されるＤ接続を示し、この接続態様では、ボード端子２２０Ｄと接続先のデバイスが接続されており、リンク部２７０には、入力端子２６０Ｄを介してデータが入力される。また、設定パラメータ「０」によりデータがレーンＡのデータとして使用されることに設定されているため、接続先のデバイスと半導体装置間のデータ通信が可能である。
ところで、例えば接続先のデバイスは、コネクタの構造や、レイアウトの都合などによって、ボード端子２２０Ｂ或いはボード端子２２０Ｃとしか接続できない場合には、チップ２３０におけるリンク部２７０の仕様の制限によって、接続先のデバイスをボード端子２２０Ｂまたはボード端子２２０Ｃと接続しても、通信ができない。
【０１１０】
そこで、図２に示すような転送部１５０を、図７に示すチップ２３０における物理層処理部２４０とリンク部２７０間に設け、ボード端子２２０Ｂと接続された入力端子２４４Ｂに入力されたデータを、リンク部２７０の入力端子２６０Ａと接続された出力端子２５０Ａから出力するようにし、あるいは、ボード端子２２０Ｃと接続された入力端子２４４Ｃに入力されたデータを、リンク部２７０の入力端子２６０Ｃと接続された出力端子２５０Ｃから出力するようにすれば、図９に示す２つの接続形態ができる。
【０１１１】
図９の上部は、接続先のデバイスをボード端子２２０Ｂに接続したＢ接続を示す。この接続態様では、入力端子２４４Ｂに入力されたデータが、転送部１５０によりリンク部２７０の入力端子２６０Ａに出力される。また、設定パラメータ「０」によりデータがレーンＡのデータとして使用されることに設定されているため、接続先のデバイスと半導体装置間のデータ通信が可能である。
【０１１２】
図９下部は、接続先のデバイスをボード端子２２０Ｃに接続したＣ接続を示す。この接続態様では入力端子２４４Ｃに入力されたデータが、転送部１５０によりリンク部２７０の入力端子２６０Ｄに出力される。同様に、設定パラメータ「０」によりデータがレーンＡのデータとして使用されることに設定されているため、接続先のデバイスと半導体装置間のデータ通信が可能である。
【０１１３】
このように、転送部１５０を設けることによって、１レーン接続の場合の接続態様を図８と図９に示す４通りに増やすことができ、接続先のデバイスと接続する際の柔軟性を増やすことができる。
【０１１４】
次に、接続先のデバイスが２レーンをサポートする場合について説明する。この場合、半導体装置の４つのボード端子のうちの２つを用いて接続先のデバイスと接続することになるが、１レーンのときと同じように、リンク部２７０の仕様によって、使用できないボード端子がある。
【０１１５】
例えば、リンク部２７０は、Ａ／Ｂ接続、Ｂ／Ａ接続、Ｄ／Ｃ接続しかサポートできない仕様になっているとする。Ａ／Ｂ接続は、リンク部２７０の２つの入力端子２６０Ａ、２６０ＢにそれぞれレーンＡとレーンＢのデータが入力される接続態様を意味する。レーンＢ／Ａ接続は、リンク部２７０の２つの入力端子２６０Ａ、２６０ＢにそれぞれレーンＢとレーンＡのデータが入力される接続態様を意味する。Ｄ／Ｃ接続は、リンク部２７０の２つの入力端子２６０Ｃ、２６０ＤにそれぞれレーンＢとレーンＡのデータが入力される接続態様を意味する。図１０には、この３つの接続態様を示す。
【０１１６】
図１０上部と中部に示すように、Ａ／Ｂ接続およびＢ／Ａ接続では、ボード端子２２０Ａ、２２０Ｂが接続先のデバイスと接続される。設定パラメータによって、ボード端子２２０Ａ、２２０Ｂに入力されるデータがそれぞれレーンＡとレーンＢ、またはレーンＢとレーンＡとして使用されることに設定されている。すなわち、ボード端子２２０Ａ、２２０ＢにそれぞれレーンＡとレーンＢのデータが入力されることによってＡ／Ｂ接続を実現し、ボード端子２２０Ａ、２２０ＢにそれぞれレーンＢとレーンＡのデータが入力されることによってＢ／Ａ接続を実現している。
【０１１７】
図１０下部に示すように、Ｄ／Ｃ接続では、ボード端子２２０Ｃ、２２０Ｄが接続先のデバイスと接続される。設定パラメータにより、ボード端子２２０Ｃ、２２０Ｄに入力されるデータがそれぞれレーンＢとレーンＡのデータとして使用されることに設定されている。すなわち、ボード端子２２０Ｃ、２２０ＤにそれぞれレーンＢとレーンＡのデータが入力されることによってＤ／Ｃ接続を実現している。
１レーンのときと同じように、接続先のデバイスのコネクタの構造や、レイアウトの都合などによって、ボード端子２２０Ｂとボード端子２２０Ｃの組合せを接続に使用せざるを得ない場合がある。また、ボード端子２２０Ｃ、２２０Ｄを用いる場合においても、ボード端子２２０Ｃ、２２０ＤにそれぞれレーンＡとレーンＢのデータが入力される場合もある。これらの場合には、単にボード端子と接続先のデバイスに接続したとしても、通信ができない。
【０１１８】
そこで、図２に示すような転送部１５０を、図７に示すチップ２３０における物理層処理部２４０とリンク部２７０間に設けることによって、接続先のデバイスと通信可能な接続態様を増やすことができる。図１１は、これらの態様すなわちＣ／Ｄ接続、Ｂ／Ｃ接続、Ｃ／Ｂ接続を示す。
【０１１９】
Ｃ／Ｄ接続では、ボード端子２２０Ｃ、２２０Ｄが接続先のデバイスと接続されており、設定パラメータにより、ボード端子２２０Ｃ、２２０Ｄに入力されるデータがそれぞれレーンＡとレーンＢのデータとして使用されることに設定されている。この場合、転送部１５０により、入力端子２４４Ｃに入力されたデータがリンク部２７０の入力端子２６０Ｄに出力されると共に、入力端子２４４Ｄに入力されたデータがリンク部２７０の入力端子２６０Ｃに出力されるようにすることによって、リンク部２７０の２つの入力端子２６０Ｃ、２６０ＤにそれぞれレーンＢとレーンＡのデータが入力されるようになる。この接続態様は、リンク部２７０部がサポートするＤ／Ｃ接続に相当するため、接続先のデバイスと半導体装置間のデータ通信が可能である。
【０１２０】
Ｂ／Ｃ接続では、ボード端子２２０Ｂ、２２０Ｃが接続先のデバイスと接続されており、設定パラメータにより、ボード端子２２０Ｂ、２２０Ｃに入力されるデータがそれぞれレーンＡとレーンＢのデータとして使用されることに設定されている。この場合、転送部１５０により、入力端子２４４Ｂに入力されたデータがリンク部２７０の入力端子２６０Ａに出力されると共に、入力端子２４４Ｃに入力されたデータがリンク部２７０の入力端子２６０Ｂに出力されるようにすることによって、リンク部２７０の２つの入力端子２６０Ａ、２６０ＢにそれぞれレーンＡとレーンＢのデータが入力されるようになる。この接続態様は、リンク部２７０がサポートするＡ／Ｂ接続に相当するため、接続先のデバイスと半導体装置間のデータ通信が可能である。
【０１２１】
Ｃ／Ｂ接続では、ボード端子２２０Ｂ、２２０Ｃが接続先のデバイスと接続されており、設定パラメータにより、ボード端子２２０Ｂ、２２０Ｃに入力されるデータがそれぞれレーンＢとレーンＡのデータとして使用されることに設定されている。この場合、転送部１５０により、入力端子２４４Ｂに入力されたデータがリンク部２７０の入力端子２６０Ａに出力されると共に、入力端子２４４Ｃに入力されたデータがリンク部２７０の入力端子２６０Ｂに出力されるようにすることによって、リンク部２７０の２つの入力端子２６０Ａ、２６０ＢにそれぞれレーンＢとレーンＡのデータが入力されるようになる。この接続態様は、リンク部２７０がサポートするＢ／Ａ接続に相当するため、接続先のデバイスと半導体装置間のデータ通信が可能である。
【０１２２】
このように、転送部１５０を設けることによって、２レーン接続の場合の接続態様を図１０と図１１に示す９通りに増やすことができ、接続先のデバイスと接続する際の柔軟性を増やすことができる。
【０１２３】
以上の説明において、４レーンをサポートする半導体装置に本発明の技術を適用することを例にしているが、本発明の技術は、４レーンに限らずいかなる数の複数のレーンをサポートする半導体装置にも適用することができる。
【図面の簡単な説明】
【０１２４】
【図１】本発明の第１の実施の形態にかかるチップを示す図である。
【図２】図１に示すチップにおける転送部を示す図である。
【図３】図１に示すチップを適用した半導体装置を示す図である（その１）。
【図４】図１に示すチップを適用した半導体装置を示す図である（その２）。
【図５】本発明の第２の実施の形態にかかるチップを示す図である。
【図６】本発明の第３の実施の形態にかかるチップを示す図である。
【図７】図１に示すチップが適用可能な他の半導体装置を説明するための図である（その１）。
【図８】図１に示すチップが適用可能な他の半導体装置を説明するための図である（その２）。
【図９】図１に示すチップが適用可能な他の半導体装置を説明するための図である（その３）。
【図１０】図１に示すチップが適用可能な他の半導体装置を説明するための図である（その４）。
【図１１】図１に示すチップが適用可能な他の半導体装置を説明するための図である（その５）。
【図１２】従来の半導体装置の問題点を説明するための図である（その１）。
【図１３】従来の半導体装置の問題点を説明するための図である（その２）。
【図１４】従来の半導体装置の問題点を説明するための図である（その３）。
【図１５】従来の半導体装置の問題点を説明するための図である（その４）。
【符号の説明】
【０１２５】
１００  半導体装置  １１２  ボード
１１４  ボード端子  １２０  チップ
１３０  物理層処理部  １３４  配線
１３６  ＰＣＳ処理部  １４０  出力パス
１５０  転送部  １５２  入力端子
１５４  ＭＵＸ  １５６  出力端子
１６０  制御信号端子  １８２  入力端子
１８０  リンク部  １８５  内部パス
１９０  上位処理部  ２１０  ボード
２２０  ボード端子  ２３０  チップ
２４０  物理層処理部  ２４４  入力端子
２５０  出力端子  ２７０  リンク部
３１１〜３１４  出力端子  ３２０  チップ
３３０  物理層処理部  ３５０  転送部
３５４  ＭＵＸ  ３５６  入力端子  
３８０  リンク部  ３９０  上位処理部
４２０  チップ  ４１１〜４１４  外部端子
４５０  転送部  ４５４  ＭＵＸ
４６１〜４６４  内部端子  ４８０  第２の内部処理回路
【図１】
2008294738.tif 000003
【図２】
2008294738.tif 000004
【図３】
2008294738.tif 000005
【図４】
2008294738.tif 000006
【図５】
2008294738.tif 000007
【図６】
2008294738.tif 000008
【図７】
2008294738.tif 000009
【図８】
2008294738.tif 000010
【図９】
2008294738.tif 000011
【図１０】
2008294738.tif 000012
【図１１】
2008294738.tif 000013
【図１２】
2008294738.tif 000014
【図１３】
2008294738.tif 000015
【図１４】
2008294738.tif 000016
【図１５】
2008294738.tif 000017