(57)【要約】【課題】電力の集中を避けるようにした、データ幅が設定可能なシリアル−パラレル変換回路の実現。【解決手段】Ｋビットの入力データをＮビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段51-54と（ＫおよびＮは正の整数で、Ｋ＜Ｎ）、複数の変換段の最終段の出力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の出力選択回路を有し、複数の変換段の最終段の出力データと最終段より前の変換段の出力データの一方を選択して出力する出力回路と、を有し、最終段より前の変換段の出力データが、出力回路の物理的に不連続な出力選択回路に入力するシリアル−パラレル変換回路。【選択図】図８
2015075862.tif 000002
【特許請求の範囲】
【請求項１】
Ｋビットの入力データをＮビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段と（ＫおよびＮは正の整数で、Ｋ＜Ｎ）、
前記複数の変換段の最終段の出力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の出力選択回路を有し、前記複数の変換段の最終段の出力データと前記最終段より前の変換段の出力データの一方を選択して出力する出力回路と、を備え、
前記最終段より前の変換段の出力データが、前記出力回路の物理的に不連続な前記出力選択回路に入力することを特徴とするシリアル−パラレル変換回路。
【請求項２】
前記出力回路の前記最終段より前の変換段の出力データが入力しない前記出力選択回路には、所定の固定値が入力することを特徴とする請求項１に記載のシリアル−パラレル変換回路。
【請求項３】
Ｎビットの入力データをＫビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段と（ＮおよびＫは正の整数で、Ｎ＞Ｋ）、
前記複数の変換段の初段の入力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の入力選択回路を有し、入力データの一方を選択して前記複数の変換段の初段と前記初段より後の変換段に入力させる入力回路と、を備え、
前記初段より後の変換段への入力データが、前記入力回路の物理的に不連続な前記入力選択回路に入力することを特徴とするパラレル−シリアル変換回路。
【請求項４】
Ｋビットの入力データをＮビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段と（ＫおよびＮは正の整数で、Ｋ＜Ｎ）、
前記複数の変換段の最終段の出力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の出力選択回路を有し、前記複数の変換段の最終段の出力データと前記最終段より前の変換段の出力データの一方を選択して出力する出力回路と、を備え、
前記最終段より前の変換段の出力データが、前記出力回路の物理的に不連続な前記出力選択回路に入力するシリアル−パラレル変換回路と、
Ｎビットの入力データをＫビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段と（ＮおよびＫは正の整数で、Ｎ＞Ｋ）、
前記複数の変換段の初段の入力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の入力選択回路を有し、入力データの一方を選択して前記複数の変換段の初段と前記初段より後の変換段に入力させる入力回路と、を備え、
前記初段より後の変換段への入力データが、前記入力回路の物理的に不連続な前記入力選択回路に入力するパラレル−シリアル変換回路と、
を備えることを特徴とするシリアライザ／デシリアライザ。
【請求項５】
Ｋビットの入力データをＮビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段と（ＫおよびＮは正の整数で、Ｋ＜Ｎ）、
前記複数の変換段の最終段の出力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の出力選択回路を有し、前記複数の変換段の最終段の出力データと前記最終段より前の変換段の出力データの一方を選択して出力する出力回路と、を備え、
前記最終段より前の変換段の出力データが、前記出力回路の物理的に不連続な前記出力選択回路に入力するシリアル−パラレル変換回路と、
Ｎビットの入力データをＫビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段と（ＮおよびＫは正の整数で、Ｎ＞Ｋ）、
前記複数の変換段の初段の入力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の入力選択回路を有し、入力データの一方を選択して前記複数の変換段の初段と前記初段より後の変換段に入力させる入力回路と、を備え、
前記初段より後の変換段への入力データが、前記入力回路の物理的に不連続な前記入力選択回路に入力するパラレル−シリアル変換回路と、
前記シリアル−パラレル変換回路から出力されるパラレルデータを受けて処理を行い、パラレルデータを前記パラレル−シリアル変換回路に出力するコア回路と、
を備えることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル−パラレル変換回路、パラレル−シリアル変換回路、シリアライザ／デシリアライザおよび半導体装置に関する。
【背景技術】
【０００２】
ＬＳＩ内およびＬＳＩ間の通信は、送信側で、パラレル−シリアル変換で多ビットデータを１ビットデータに変換した後、差動伝送線路を介して送信し、受信側では、受信した１ビットデータをシリアル−パラレル変換して多ビットデータを生成する。従って、送受信回路を有するＬＳＩは、シリアル−パラレル変換を行い回路およびパラレル−シリアル変換を行う回路を有しており、シリアライザ／デシリアライザ（ＳＥＲＤＥＳ）マクロとして実現され、ＬＳＩに搭載される。
【０００３】
有線通信の高速化が進む中、ＬＳＩに搭載するＳＥＲＤＥＳマクロの高速化、汎用化が求められている。そこで、伝送速度が広いレンジに対応でき、かつＡＳＩＣ内部のコア部（コアロジック）とのインターフェイス部分であるパラレルデータのビット幅が可変であるマクロを準備し、ユーザーの仕様に合わせて設定することにより、幅広い用途に対応できることが考えられる。このようなＳＥＲＤＥＳマクロは、例えば、伝送速度が５Ｇｂｐｓ〜３２Ｇｂｐｓ（ｂｐｓ：bit per second)の広いレンジに対応でき、パラレルデータのビット幅が１６ビット／３２ビットの間で可変であるマクロである。以下このようなＳＥＲＤＥＳマクロを例として説明を行う。
【０００４】
例えば、ＳＥＲＤＥＳマクロとコアロジックとの間で３２Ｇビット／ｓの速度でデータを入出力する場合、コアロジックと接続されるパラレル信号１本（１ビット）当たりの最大速度は、ビット幅が１６ビットの時には２ＧＨｚに、３２ビットの時には１ＧＨｚになる。
【０００５】
一般的に、ビット幅を多くすればパラレル信号一本当たりの速度は遅くなり、コアロジックのタイミング設計が容易になる利点がある。しかし、ビット幅を多くすれば、処理をする信号の本数が多くなり、シリアル信号の入力からパラレル信号の出力あるいはパラレル信号の入力からシリアル信号の出力までの時間（レイテンシ）が長くなってしまうデメリットがある。これは、高速のシリアル−パラレル変換およびパラレル−シリアル変換では、１ビットから１６／３２ビットへの変換あるいは１６／３２ビットから１ビットへの変換を１段で行うことが難しく、複数段に分割して変換を行うため、段数が増加するためである。そのため、システム設計全体の観点から最適なビット幅が決定され、それに応じてＳＥＲＤＥＳマクロのビット幅を設定することが求められる。そこで、ＳＥＲＤＥＳマクロのビット幅を可変にし、ユーザーの要求に応じて設定することが考えられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−２１２８０号公報
【特許文献２】特表２００３−５１０９３４号公報
【特許文献３】特開２００９−１３０１９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＳＥＲＤＥＳマクロのビット幅を可変にした場合、ハードマクロのレイアウト設計あるいは、ハードマクロに接続するコアロジックのレイアウト設計において、ビット幅の選択によっては、電力が局所的に集中する場合が生じる。そのような場合、ＬＳＩにおいてＥ−ＭＩＧ(Electromigration)や電圧降下の問題が発生する。
【０００８】
開示の実施形態によれば、ＬＳＩでＥ−ＭＩＧや電圧降下の問題を引き起こす、電力の集中を避けるようにしたＳＥＲＤＥＳマクロ、およびそこで使用するシリアル−パラレル変換回路およびパラレル−シリアル変換回路が提供される。
【課題を解決するための手段】
【０００９】
第１の態様によれば、シリアル−パラレル変換回路は、複数の変換段と、出力回路と、を有する。複数の変換段は、Ｋビットの入力データをＮビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続したものであり、ＫおよびＮは正の整数で、Ｋ＜Ｎである。出力回路は、複数の変換段の最終段の出力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の出力選択回路を有し、複数の変換段の最終段の出力データと最終段より前の変換段の出力データの一方を選択して出力する。シリアル−パラレル変換回路では、最終段より前の変換段の出力データが、出力回路の物理的に不連続な出力選択回路に入力する。
【００１０】
第２の態様によれば、パラレル−シリアル変換回路は、複数の変換段と、入力回路と、を有する。複数の変換段は、Ｎビットの入力データをＫビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続したものであり、ＮおよびＫは正の整数で、Ｎ＞Ｋである。入力回路は、複数の変換段の初段の入力データのビット数である所定ビット数Ｍに対応した個数の物理的に連続した２M個の入力選択回路を有し、入力データの一方を選択して複数の変換段の初段と初段より後の変換段に入力させる。パラレル−シリアル変換回路では、初段より後の変換段への入力データが、入力回路の物理的に不連続な入力選択回路に入力する。
【発明の効果】
【００１１】
実施形態の態様によれば、ビット幅が変更できるシリアル−パラレル変換回路およびパラレル−シリアル変換回路、およびそれらを利用するＳＥＲＤＥＳマクロにおいて、電力の集中を回避し、Ｅ−ＭＩＧや電圧降下の問題を生じないようにできる。
【図面の簡単な説明】
【００１２】
【図１】図１は、ＳＥＲＤＥＳマクロを有するＬＳＩの構成例を示す図である。
【図２】図２は、ＳＥＲＤＥＳマクロの構成例を示す図である。
【図３】図３は、ビット幅を３２ビットと１６ビットの間で切り替え可能にしたＤＥＳの構成および動作タイムチャートである。
【図４】図４は、デシリアライザ（ＤＥＳ）において、出力データのビット幅を３２ビットと１６ビットの間で切り替え可能にするための回路構成を示す図である。
【図５】図５は、ビット幅を３２ビットと１６ビットの間で切り替え可能にしたＳＥＲの構成および動作タイムチャートである。
【図６】図６は、シリアライザ（ＳＥＲ）において、入力データのビット幅を３２ビットと１６ビットの間で切り替え可能にするための回路構成を示す図である。
【図７】図７は、ＤＥＳにおける電力の局所的な集中を説明する図であり、（Ａ）は出力データを３２ビット幅に設定した場合を、（Ｂ）は出力データを１６ビット幅に設定した場合を示す。
【図８】図８は、ビット幅を３２ビットと１６ビットの間で切り替え可能な実施形態のＳＥＲＤＥＳを、３２ビット幅と１６ビット幅に設定した時の、ＤＥＳの出力回路（端子）とコアロジックの入力回路（端子）との間の、信号の配置を示す図である。
【図９】図９は、ビット幅を３２ビットと１６ビットの間で切り替え可能な実施形態のＳＥＲＤＥＳ１２のＤＥＳにおいて、図８の信号配置を実現する１つの構成例を示す図である。
【図１０】図１０は、ビット幅を３２ビットと１６ビットの間で切り替え可能な実施形態のＳＥＲＤＥＳのＳＥＲにおいて、前述の信号配置を実現する１つの構成例を示す図である。
【図１１】図１１は、ＳＥＲのＭＵＸの変形例の構成を示す図である。
【発明を実施するための形態】
【００１３】
実施形態を説明する前に、図を参照して一般的なシリアライザ／デシリアライザ(SERDES)マクロの構成および使用例について説明する。
図１は、ＳＥＲＤＥＳマクロを有するＬＳＩの構成例を示す図である。
【００１４】
ＬＳＩ１０は、コアロジック１１と、２個のＳＥＲＤＥＳマクロ１２Ｌおよび１２Ｒと、を有する。ＳＥＲＤＥＳマクロ１２Ｌおよび１２Ｒは、同じ構成を有し、２つの外部入出力チャネルを実現するために設けられる。ＳＥＲＤＥＳマクロ１２Ｌおよび１２Ｒは、外部との間では差動信号の形で１ビットシリアルデータを入出力し、コアロジック１１との間ではＮビットパラレルデータを入出力する。
【００１５】
図２は、ＳＥＲＤＥＳマクロ１２の構成例を示す図である。図２のＳＥＲＤＥＳマクロ１２は４個のデシリアライザ(DES)２０Ａ−２０Ｄと、４個のシリアライザ(SER)３０Ａ−３０Ｄと、クロック部４０を有し、４チャネルの入出力インターフェースを形成する。ＤＥＳ２０Ａ−２０Ｄは、それぞれ外部から入力される差動信号ＩＮＰおよびＩＮＮの１ビットシリアルデータを、ＮビットパラレルデータＤＯＵＴに変換してコアロジック１１に出力する。ＳＥＲ３０Ａ−３０Ｄは、それぞれコアロジック１１から出力されるＮビットパラレルデータＤＩＮを、差動信号ＯＵＴＰおよびＯＵＴＮの１ビットシリアルデータに変換して外部に出力する。
【００１６】
ＤＥＳ２０Ａ−２０Ｄは、それぞれ、入力部２１と、デマルチプレクサ(DEMUX)２２と、クロック生成部２３と、クロックデータリカバリィ（ＣＤＲ）部２４と、を有する。入力部２１は、差動信号ＩＮＰおよびＩＮＮを受け、１ビットシリアルデータとして出力する。ＤＥＭＵＳ２２は、入力部２１からの１ビットシリアルデータをＮビットパラレルデータに変換し、出力データＤＯＵＴとしてコアロジック１１に出力する。クロック生成部２３は、クロック部４０から内部クロックを受けて分周クロックを生成し、ＤＥＭＵＸ２２に供給する。ＣＤＲ部２４は、入力部２１で生成された１ビットシリアルデータから、差動信号ＩＮＰおよびＩＮＮの受信クロックを再生する。再生された受信クロックは、入力部２１が差動信号ＩＮＰおよびＩＮＮを最適な位相で取り込むための制御等に使用される。
【００１７】
ＳＥＲ３０Ａ−３０Ｄは、それぞれマルチプレクサ(MUX)３１と、出力部３２と、クロック生成部３３と、を有する。ＭＵＸ３１は、コアロジック１１から出力されるＮビットパラレルデータを１ビットシリアルデータに変換して、出力部３２に出力する。出力部３２は、１ビットシリアルデータを受け、差動信号ＯＵＴＰおよびＯＵＴＮとして外部に出力する。クロック生成部３３は、クロック部４０から内部クロックを受けて分周クロックを生成し、ＭＵＸ３１に供給する。
【００１８】
クロック部４０は、外部から供給される差動外部クロックＣＬＫ、／ＣＬＫを受けるクロック入力部４１と、クロック入力部４１からのクロックに基づいて内部クロックを発生するＰＬＬ回路４２と、を有する。
【００１９】
以下、Ｎ＝３２として、３２Ｇｂｐｓで送信される１ビットシリアルデータを３２ビットパラレルデータに変換する場合、および３２ビットパラレルデータを１ビットシリアルデータに変換し、３２Ｇｂｐｓで送信する場合を例として説明する。
【００２０】
一般的に、ビット幅を多くすれば、パラレル信号一本当たりの速度は遅くなり、コアロジックのタイミング設計が容易になるという利点がある。しかし、反面ビット幅を多くすれば、処理をする信号の本数が多くなる、シリアル信号の入力からパラレル信号の出力あるいは、パラレル信号の入力からシリアル信号の出力までの時間（レイテンシと呼ばれる）が長くなってしまう問題点がある。そのため、システム設計全体の観点から最適なビット幅が求められる。ここで、コアロジック１１に出力する出力データＤＯＵＴのビット幅を３２ビットと１６ビットのいずれかに設定できるようにする場合を考える。
【００２１】
図３の（Ａ）は、ビット幅を３２ビットと１６ビットの間で切替可能にしたＤＥＳ２０の構成を示す図であり、ＤＥＭＵＸ２２の構成をより詳細に示した図である。図３の（Ｂ）は、ＤＥＭＵＸ２２の動作を示すタイムチャートである。
ＴＥＲＭ２５は、入力部２１の直前に設けられた差動信号ＩＮＰおよびＩＮＮの終端部である。
【００２２】
３２ＧＨｚの１ビットシリアルデータを、１段で３２ビットパラレルデータに変換するのは難しいため、ＤＥＭＵＸ２２は、Ｋビットの入力データをＮビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段を有する。ここでは、ＤＥＭＵＸ２２は、ＤＥＭＵＸ５１−５４を有する。ＤＥＭＵＸ５１は、１ビットシリアルデータを４ビットパラレルデータに変換する。ＤＥＭＵＸ５２は、ＤＥＭＵＸ５１の出力する４ビットパラレルデータを８ビットパラレルデータに変換する。ＤＥＭＵＸ５３は、ＤＥＭＵＸ５２の出力する８ビットパラレルデータを１６ビットパラレルデータに変換する。ＤＥＭＵＸ５４は、ＤＥＭＵＸ５３の出力する１６ビットパラレルデータを３２ビットパラレルデータ３２ＯＤに変換する。３２ビットパラレルデータ３２ＯＤが、出力データＤＯＵＴとしてコアロジック１１に出力される。
【００２３】
図３の（Ａ）の回路では、ＤＥＭＵＸ５１が出力する４ビットパラレルデータが２セット揃った時に、ＤＥＭＵＸ５２が８ビットパラレルデータを出力する。さらに、ＤＥＭＵＸ５２が出力する８ビットパラレルデータが２セット揃った時に、ＤＥＭＵＸ５３が１６ビットパラレルデータを出力する。さらに、図３の（Ｂ）に示すように、ＤＥＭＵＸ５３が出力する１６ビットパラレルデータ１６ＯＤが２セット揃った時に、ＤＥＭＵＸ５４が３２ビットパラレルデータ３２ＯＤを出力する。そのため、３２ビットパラレルデータ３２ＯＤは、対応する１６ビットパラレルデータ１６ＯＤが出力されてから３２シリアルデータ分、すなわち１ｎｓ遅れて出力される。この遅れがレイテンシである。
【００２４】
図４は、デシリアライザ（ＤＥＳ）２０において、出力データＤＯＵＴのビット幅を３２ビットと１６ビットの間で切り替え可能にするための回路構成を示す図である。ＤＥＳ２０は、ＤＥＭＵＸ５３およびＤＥＭＵＸ５４に加えて、３２個のセレクタを有する。３２個のセレクタは、信号遅延を考慮してコアロジック１１の接続端子と対応して配置され、図示のような順番で物理的に連続して配置されているものとする。これは、後述するシリアライザ（ＳＥＲ）においても同様である。
【００２５】
前述のように、ＤＥＭＵＸ５３は、８ビットパラレルデータ８ＯＤ０−８ＯＤ７を受け、１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５を出力する。１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５は、ＤＥＭＵＸ５４に入力すると共に、３２個のセレクタの下位１６ビットに対応する１６個のセレクタに入力する。ＤＥＭＵＸ５４は、１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５を受け、３２ビットパラレルデータ３２ＯＤ０−３２ＯＤ３１を出力する。３２ビットパラレルデータ３２ＯＤ０−３２ＯＤ３１は、３２個のセレクタに入力する。３２個のセレクタの上位１６ビットに対応する１６個のセレクタには、クリップ固定値ＣＬＰが入力される。
【００２６】
３２ビットの出力データＤＯＵＴを出力する場合には、３２個のセレクタがＤＥＭＵＸ５４からの３２ビットパラレルデータ３２ＯＤ０−３２ＯＤ３１を選択するように、切替信号を設定する。１６ビットの出力データＤＯＵＴを出力する場合には、下位１６ビットに対応する１６個のセレクタが１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５を選択し、上位１６ビットに対応する１６個のセレクタがクリップ固定値ＣＬＰを選択するように設定する。このようにして、出力データＤＯＵＴのビット幅を３２ビットと１６ビットの間で切り替えることができる。
【００２７】
図５の（Ａ）は、ビット幅を３２ビットと１６ビットの間で切り替え可能にしたＳＥＲ３０の構成を示す図であり、ＭＵＸ３１の構成をより詳細に示した図である。図５の（Ｂ）は、ＭＵＸ３１の動作を示すタイムチャートである。
【００２８】
ＭＵＸ３１も、Ｋビットの入力データをＮビットのデータに変換する変換段を、前段の出力データが後段の入力データとなるように接続した複数の変換段を有する。ここでは、ＭＵＸ３１は、ＭＵＸ６１−６６と、バッファ６７と、セレクタ６８と、を有する。ＭＵＸ６１は、コアロジック１１からの３２ビットパラレルデータ３２ＩＤを１６ビットパラレルデータに変換する。ＭＵＸ６２は、ＭＵＸ６１の出力する１６ビットパラレルデータを８ビットパラレルデータに変換し、セレクタ６８に出力する。ＭＵＸ６３は、コアロジック１１からの１６ビットパラレルデータ１６ＩＤを８ビットパラレルデータに変換し、セレクタ６８に出力する。セレクタ６８は、切替信号に応じて、一方の８ビットパラレルデータを選択し、ＭＵＸ６４に出力する。ＭＵＸ６４は、８ビットパラレルデータを４ビットパラレルデータに変換し、ＭＵＸ６５は、４ビットパラレルデータを２ビットパラレルデータに変換し、ＭＵＸ６６は、２ビットパラレルデータを１ビットシリアルデータに変換する。バッファ６７は、１ビットシリアルデータを受けて、出力部３２に出力する。
【００２９】
ＴＥＲＭ３４は、出力部３２の直後に設けられた差動信号ＯＵＴＰおよびＯＵＴＮの終端部である。
図５の（Ａ）の回路では、図５の（Ｂ）に示すように、ＭＵＸ６１が２セットの１６ビットパラレルデータを続けて出力し、ＭＵＸ６２が２セットの１６ビットパラレルデータを受けて４セットの８ビットパラレルデータとして順次出力する。また、ＭＵＸ６３は、コアロジック１１からの１６ビットパラレルデータ１６ＩＤを受けて、８ビットパラレルデータを順次出力する。そのため、ＭＵＸ３１でも、３２ビットパラレルデータ３２ＩＤを受けてから対応する１６ビットパラレルデータ１６ＸＤが出力されるまで、１．５ｎｓの遅れ（レイテンシ）がある。
【００３０】
図６は、シリアライザ（ＳＥＲ）３０において、入力データＤＩＮのビット幅を３２ビットと１６ビットの間で切り替え可能にするための回路構成を示す図である。ＳＥＲ３０は、ＭＵＸ６１−６４およびセレクタ６８に加えて、３２個のフリップフロップ（ＦＦ）を有する。
【００３１】
３２個のＦＦは、データ端子で３２ビットパラレルデータ３２ＩＤ０−３２ＩＤ３１を受ける。３２個のＦＦの下位１６ビットに対応する１６個のＦＦのクロック端子には、コアクロックＩＣＬＫが入力される。３２個のＦＦの上位１６ビットに対応する１６個のＦＦのクロック端子には、コアクロックＩＣＬＫと切替信号を入力とするＡＮＤゲートの出力が入力される。これにより、上位１６ビットに対応する１６個のＦＦのクロック端子には、切替信号が３２ビット幅に設定する時にはコアクロックＩＣＬＫが入力され、切替信号が３２ビット幅に設定する時にはクロックが入力されず、ＦＦの出力は変化しない。一方、下位１６ビットに対応する１６個のＦＦは、３２ビット幅の時も１６ビット幅の時も、コアクロックＩＣＬＫが入力され、出力が変化する。なお、３２個のＦＦは、コアロジック１１からの信号が入力されるため、コアクロックＩＣＬＫをクロック信号として動作する。
【００３２】
３２ビット幅に設定する切替信号の時、ＭＵＸ６１は、３２個のＦＦから３２ビット入力パラレルデータ３２ＩＤ０−３２ＩＤ３１を受け、１６ビットパラレルデータ１６ＩＤ０−１６ＩＤ１５をＭＵＸ６２に出力する。ＭＵＸ６２は、１６ビットパラレルデータ１６ＩＤ０−１６ＩＤ１５を８ビットパラレルデータ８ＩＤ０−８ＩＤ７に変換し、８個のセレクタに出力する。一方、１６ビット幅に設定する切替信号の時、ＭＵＸ６３は、下位１６個のＦＦから３２ビットパラレルデータ３２ＩＤ０−３２ＩＤ３１の下位１６ビットである１６ビット入力パラレルデータ１６ＩＤ０−３２ＩＤ１５を受ける。ＭＵＸ６３は、１６ビット入力パラレルデータ１６ＩＤ０−３２ＩＤ１５を８ビットパラレルデータ８ＩＤ０−８ＩＤ７に変換し、８個のセレクタに出力する。８個のセレクタは、３２ビット幅に設定する切替信号の時には、ＭＵＸ６２の出力する８ビットパラレルデータ８ＩＤ０−８ＩＤ７を選択し、１６ビット幅に設定する切替信号の時には、ＭＵＸ６３の出力する８ビットパラレルデータ８ＩＤ０−８ＩＤ７を選択する。ＭＵＸ６４は、８個のセレクタから入力する８ビットパラレルデータ８ＩＤ０−８ＩＤ７を４ビットパラレルデータ４ＩＤ０−４ＩＤ３に変換し、後段に出力する。
【００３３】
３２ビットの入力データＤＩＮが入力する場合には、３２個のＦＦにコアクロックＩＣＬＫが入力し、８個のセレクタがＭＵＸ６２の出力する８ビットパラレルデータ８ＩＤ０−８ＩＤ７を選択するように、切替信号を設定する。１６ビットの入力データＤＩＮが入力する場合には、下位１６個のＦＦにコアクロックＩＣＬＫが入力し、上位１６個のＦＦにはクロックが入力せず、８個のセレクタがＭＵＸ６３の出力する８ビットパラレルデータを選択するように、切替信号を設定する。このようにして、入力データＤＩＮのビット幅を３２ビットと１６ビットの間で切り替えることができる。
【００３４】
ユーザーは、コアロジック１１でのタイミング設計、上記のレイテンシを勘案して、コアロジックがＤＥＳから受けるパラレルデータのビット幅およびコアロジックがＳＥＲＤＥＳマクロに出力するパラレルデータのビット幅を設定する。ユーザーの幅広い要求に対応できるマクロを提供するため、上記のように、ビット幅を１６ビットと３２ビットの間で切替えが可能なＳＥＲＤＥＳマクロを準備しておき、ユーザーの要求に応じて、いずれかに設定して出荷するようにする。これにより、ＳＥＲＤＥＳマクロの設計リードタイムを短縮することができる。
【００３５】
しかし、ＳＥＲＤＥＳマクロのハードウエアのレイアウト設計あるいは、ＳＥＲＤＥＳマクロに接続するコアロジックのレイアウト設計において、ビット幅の選択によっては、電力が局所的に集中する場合がある。電力が局所的に集中すると、Ｅ−ＭＩＧ (Electromigration)や電圧ドロップの問題が発生する。以下、この問題を説明する。
【００３６】
図７は、図４のＤＥＳ２０における電力の局所的な集中を説明する図であり、（Ａ）は出力データＤＯＵＴを３２ビット幅に設定した場合を、（Ｂ）は出力データＤＯＵＴを１６ビット幅に設定した場合を示す。
【００３７】
出力データＤＯＵＴを３２ビット幅に設定する場合、ＤＥＳ２０の３２個のセレクタに３２ビットパラレルデータ３２ＯＤ０−３２ＯＤ３１が入力し、３２ビットパラレルデータ３２ＯＤ０−３２ＯＤ３１は１ＧＨｚで変化する。したがって、データの変化に伴い発生する消費電力は、３２個のセレクタの全体に分布する。
【００３８】
これに対して、出力データＤＯＵＴを１６ビット幅に設定する場合、ＤＥＳ２０の３２個のセレクタに１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５が入力し、１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５は２ＧＨｚで変化する。したがって、データの変化に伴い発生する消費電力は、下位ビットの１６個のセレクタに集中し、上位ビットの１６個のセレクタでは電力は発生しない。言い換えれば、出力データＤＯＵＴを１６ビット幅に設定する場合に下位ビットの１６個のセレクタで発生する電力は、動作周波数が２倍となるので、３２ビット幅に設定する場合に比べて２倍となる。
【００３９】
電力が集中すると、ＬＳＩにおいてＥ−ＭＩＧ(Electromigration)や電圧降下の問題が発生する。
以下に説明する実施形態のＳＥＲＤＥＳマクロは、電力の集中を避けるよう改良し、上記の問題の発生を回避する。
【００４０】
図８は、ビット幅を３２ビットと１６ビットの間で切り替え可能な実施形態のＳＥＲＤＥＳ１２を、３２ビット幅と１６ビット幅に設定した時の、ＤＥＳ２０の出力回路（端子）とコアロジック１１の入力回路（端子）との間の、信号の配置を示す図である。
【００４１】
図８に示すように、３２ビット幅に設定する時には、３２個の端子に順に３２ビットのパラレルデータ３２ＯＤ０−３２ＯＤ３１を割り当てる。これは、図７の（Ａ）と同じである。これに対して、１６２ビット幅に設定する時には、３２個の端子に入れ子に１６ビットのパラレルデータ１６ＯＤ０−３２ＯＤ１５を割り当てる。
【００４２】
したがって、３２ビット幅に設定した時には、ＤＥＳ２０でシリアル−パラレル変換により生成された３２ビットパラレルデータ３２ＯＤ０−３２ＯＤ３１は３２個の端子に並列に出力される。コアロジック１１は、３２個の端子から入力する３２ＯＤ０−３２ＯＤ３１を、３２ビットパラレルデータとして処理する。
【００４３】
一方、１６ビット幅に設定した時には、ＤＥＳ２０でシリアル−パラレル変換により生成された１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５は、３２個の端子のうちの奇数番目の１６個の端子に並列に出力される。コアロジック１１は、奇数番目の１６個の端子から入力する１６ＯＤ０−１６ＯＤ１５を、１６ビットパラレルデータとして処理する。この場合、コアロジック１１は、３２個の端子のうちの偶数番目の１６個の端子自体を有さないか、有していても入力回路を有さないようにする。
【００４４】
上記の例では、１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５は、３２個の端子のうちの奇数番目の１６個の端子に出力されたが、偶数番目の１６個の端子に出力することも可能である。
【００４５】
ビット幅を切り替え可能で、実際に出力するデータのビット数が、存在している出力回路（端子）数より小さい場合、図８に示すように、出力するデータ信号を、物理的に不連続な出力回路から出力することにより、電力の集中を回避できる。
上記の構成は、コアロジック１１の出力回路（端子）とＳＥＲ３０の入力回路（端子）との間でも有効である。
【００４６】
図９は、ビット幅を３２ビットと１６ビットの間で切り替え可能な実施形態のＳＥＲＤＥＳ１２のＤＥＳ２０において、図８の信号配置を実現する１つの構成例を示す図である。
【００４７】
ＤＥＳ２０は、図４と同様に、ＤＥＭＵＸ５３、ＤＥＭＵＸ５４、および３２個のセレクタを有する。ＤＥＭＵＸ５３、ＤＥＭＵＸ５４および３２個のセレクタの構成は、図４の場合と同様であるが、ここでは、ＤＥＭＵＸ５３の出力する１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５の３２個のセレクタへの入力位置が異なる。具体的には、１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５は、３２個のセレクタの奇数番目の１６個のセレクタの一方の入力端子に入力される。１６ビットパラレルデータが入力されない偶数番目の１６個のセレクタの一方の入力端子には、クリップ固定値ＣＬＰが入力される。また、３２個のセレクタの他方の入力端子には、ＤＥＭＵＸ５４の出力する３２ビットパラレルデータ３２ＯＤ０−３２ＯＤ３１が入力される。
【００４８】
したがって、図９のＤＥＳ２０では、３２ビット幅に設定する切替信号の時には、３２個のセレクタは、３２ビットパラレルデータ３２ＯＤ０−３２ＯＤ３１を出力する。また、１６ビット幅に設定する切替信号の時には、３２個のセレクタの奇数番目の１６個のセレクタは、１６ビットパラレルデータ１６ＯＤ０−１６ＯＤ１５を出力が、偶数番目の１６個のセレクタは、クリップ固定値ＣＬＰを出力する。
【００４９】
図１０は、ビット幅を３２ビットと１６ビットの間で切り替え可能な実施形態のＳＥＲＤＥＳ１２のＳＥＲ３０において、前述の信号配置を実現する１つの構成例を示す図である。
【００５０】
ＳＥＲ３０は、図６と同様に、ＭＵＸ６１−６４、および３２個のフリップフロップ（ＦＦ）を有する。図１０では、ＭＵＸ６１−６３をまとめて１つのブロックで示し、ＭＵＸ６４は図示を省略している。ＭＵＸ６１−６４、および３２個のＦＦの構成は、図６の場合と同様であるが、ＡＮＤゲートを設けるＦＦの位置が異なる。具体的には、３２個のＦＦの奇数番目１６個のＦＦのクロック端子には、コアクロックＩＣＬＫが入力される。したがって、奇数番目１６個のＦＦは、３２ビット幅の時も１６ビット幅の時も、コアクロックＩＣＬＫが入力され、出力が変化する。
【００５１】
一方、３２個のＦＦの偶数番目の１６個のＦＦのクロック端子には、コアクロックＩＣＬＫと切替信号を入力とするＡＮＤゲートの出力が入力される。これにより、偶数番目の１６個のＦＦのクロック端子には、切替信号が３２ビット幅に設定する時にはコアクロックＩＣＬＫが入力され、切替信号が３２ビット幅に設定する時にはクロックが入力されず、ＦＦの出力は変化しない。
【００５２】
３２ビット幅の時には、コアロジック１１からの３２ビットパラレルデータ３２ＩＤ０−３２ＩＤ３１は、３２個のＦＦに入力され、コアクロックＩＣＬＫにより、３２個のＦＦにラッチされ、ＭＵＸ６１に供給される。
【００５３】
１６ビット幅の時には、コアロジック１１からの１６ビットパラレルデータ１６ＩＤ０−１６ＩＤ１５は、奇数番目１６個のＦＦに入力し、コアクロックＩＣＬＫにより、奇数番目１６個のＦＦにラッチされ、ＭＵＸ６３に供給される。
【００５４】
上記の実施形態では各種の変形例があり得る。例えば、図５の（Ａ）に示した実施形態のＳＥＲ３０のＭＵＸ３１は、１６ビットパラレルデータを８ビットパラレルデータに変換する２個のＭＵＸ６２および６３を有したが、ＭＵＸ６３を設けない変形例もあり得る。
【００５５】
図１１は、ＳＥＲ３０のＭＵＸ３１Ａの変形例の構成を示す図である。
変形例のＳＥＲ３０のＭＵＸ３１Ａは、ＭＵＸ６３を有さず、ＭＵＸ６１の代わりにＭＵＸ６９を有することが、実施形態のＭＵＸ３１と異なる。
ＭＵＸ６９は、ＭＵＸ６１と同様の構成を有するが、１６ビット幅の時、コアロジック１１からの１６ビットパラレルデータ１６ＩＤを下位１６ビットでラッチすることが異なる。ＭＵＸ６９は、３２ビット幅の時には上記の実施形態と同様に動作し、１６ビット幅の時には、ＦＩＦＯ(First-In-First-Out)として動作する。１６ビット幅の時、ＭＵＸ６９の出力は、セレクタ６８に出力される。
変形例のＭＵＸ３１Ａの動作タイムチャートは、図５の（Ｂ）と同じである。
【００５６】
さらに、他にも各種の変形例があり得る。例えば、記載した例では、データ幅を３２ビットと１６ビットのいずれかに設定する例を示したが、３２ビット、１６ビットまたは８ビットのいずれかに設定するようにしてもよい。また、最大ビットは、３２ビットに限定されず、例えば６４ビットでも、１６ビットでもよい。
また、変換段は４ビットから８ビット、８ビットから１６ビット、１６ビットから３２ビットというようにビット数が１増加する変換段またはビット数が１減少する変換段に限定されず、２ビット以上変化する変換段でも、それらの組合せでもよい。
【００５７】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に、記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００５８】
１０    ＬＳＩ
１１    コアロジック
１２、１２Ｌ、１２Ｒ    ＳＥＲＤＥＳマクロ
２０、２０Ａ−２０Ｄ    デシリアライザ（ＤＥＳ）
２２、５１−５４    ＤＥＭＵＸ
３０、３０Ａ−３０Ｄ    シリアライザ（ＳＥＲ）
３１、６１−６７    ＭＵＸ
【図１】
2015075862.tif 000003
【図２】
2015075862.tif 000004
【図３】
2015075862.tif 000005
【図４】
2015075862.tif 000006
【図５】
2015075862.tif 000007
【図６】
2015075862.tif 000008
【図７】
2015075862.tif 000009
【図８】
2015075862.tif 000010
【図９】
2015075862.tif 000011
【図１０】
2015075862.tif 000012
【図１１】
2015075862.tif 000013