以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.集積回路装置の構成
図1に本実施形態のマクロセルが適用される集積回路装置の構成例を示す。この集積回路装置は、マクロセルMC1と第2のマクロセルMC2を含む。なお、これらのマクロセルMC1、MC2(メガセル、マクロブロック)は、論理機能を有する中規模又は大規模な回路の単位である。また、本実施形態の集積回路装置は3個以上のマクロセルを含むようにしてもよい。
図1においてマクロセルMC1は、差動信号(シリアルバス)を用いてデータ転送を行うインターフェース規格(例えばUSB又はIEEE1394等)の物理層の回路を少なくとも含むマクロセルである。この物理層回路は、例えばUSBのFS(フルスピード)モードやHS(ハイスピード)モードを実現する送信回路(第1、第2の送信ドライバ)や受信回路(差動レシーバ、第1、第2のシングルエンドレシーバ)や抵抗回路(プルアップ用抵抗回路、プルダウン用抵抗回路)などを含むことができる。なおマクロセルMC1は、物理層回路以外の回路(論理層回路等)を含むこともできる。
マクロセルMC1は、例えばその配線及び回路セル配置が固定化されるハードマクロになっている。より具体的には、例えば、配線や回路セル配置が手作業のレイアウトにより行われる(配線、配置の一部を自動化してもよい)。
一方、マクロセルMC2は、物理層よりも上位層(論理層、リンク層、トランザクション層又はアプリケーション層等)の回路を含むマクロセルである。USBを例にとれば、マクロセルMC2は、SIE(Serial Interface Engine)やユーザロジック(デバイス固有の回路)などの論理層回路(MC1が含む論理層回路の他の部分)を含むことができる。
マクロセルMC2は、例えばその配線及び回路セル配置が自動配置配線されるソフトマクロになっている。より具体的には、例えば、ゲートアレイの自動配置配線ツールにより基本セル間の配線等が自動的に行われる(配置、配線の一部を固定化してもよい)。
なお、図1において、マクロセルMC1として、物理層の回路のみを含むマクロセルを用いてもよい。またマクロセルMC2は、少なくとも物理層よりも上位の層の回路を含むものであればよい。
図1では集積回路装置の四辺に沿ってI/O領域が設けられている。このI/O領域には複数のI/Oセル(入力専用セル、出力専用セル、入出力兼用セル)が並んで配置される。またI/O領域の外側には、差動信号DP(D+)、DM(D−)用のパッドP1、P2(端子)を含む複数のパッドが並んで配置される。そして図1ではマクロセルMC1のI/O領域の全体がマクロセルMC2のI/O領域の一部にオーバラップするようにMC1が配置される。なおパッドをI/O領域内(I/Oセル内)に設ける構成としてもよい。
2.データ転送制御装置の構成
図2に、図1の集積回路装置により実現されるデータ転送制御装置の構成例を示す。なお本実施形態の集積回路装置により実現される装置は図2の構成に限定されない。例えば図2とは異なる構成のデータ転送制御装置を実現してもよい。或いは図2の構成にアプリケーション層デバイスやCPU(広義にはプロセッサ)などの構成を加えて、集積回路装置として1チップ化してもよい。
図2のデータ転送制御装置(集積回路装置)は、トランシーバ200と転送コントローラ210とバッファコントローラ220とデータバッファ230とインターフェース回路240を含む。なおこれらの回路ブロックの一部を省略したり、これらの回路ブロック間の接続形態を変更してもよい。
トランシーバ200は、差動信号DP、DM(差動データ信号)を用いてデータを送受信するための回路である。このトランシーバ200は、例えばUSB(広義には所与のインターフェース規格)の物理層回路(アナログフロントエンド回路)を含むことができる。なおトランシーバ200に物理層以外の層の回路を含めてもよい。
転送コントローラ210は、USBを介したデータ転送を制御するためのコントローラであり、いわゆるSIE(Serial Interface Engine)の機能などを実現するためのものである。例えば転送コントローラ210は、パケットハンドル処理、サスペンド&レジューム制御、或いはトランザクション管理などを行う。
バッファコントローラ220は、データバッファ230に記憶領域(エンドポイント領域等)を確保したり、データバッファ230の記憶領域に対するアクセス制御を行う。より具体的にはバッファコントローラ220は、インターフェース回路240を介したアプリケーション層デバイス側からのアクセスや、インターフェース回路240を介したCPU側からのアクセスや、USB(転送コントローラ210)側からのアクセスを制御したり、これらのアクセスの調停を行ったり、アクセス・アドレスの生成・管理を行う。
データバッファ230(パケットバッファ)は、USBを介して転送されるデータ(送信データ又は受信データ)を一時的に格納(バッファリング)するためバッファ(FIFO)である。このデータバッファ230はRAMなどのメモリにより構成できる。
インターフェース回路240は、アプリケーション層デバイスが接続されるDMA(DirectMemoryAccess)バスや、CPUが接続されるCPUバスを介したインターフェースを実現するための回路である。このインターフェース回路240には、DMA転送のためのDMAハンドラ回路などを含めることができる。
図1のマクロセルMC1は、図2のトランシーバ200の一部又は全部を含むことができる。またマクロセルMC2は、転送コントローラ210、バッファコントローラ220、データバッファ230、インターフェース回路240の一部又は全部を含むことができる。なおマクロセルMC2にアプリケーション層デバイスなどの回路を含ませてもよい。
3.トランシーバの構成
図3にトランシーバ200(物理層回路)の詳細な構成例を示す。
図3において送信回路10は、例えばUSBのFSモードにおいて差動信号DP、DMを用いてデータの送信処理を行うための回路である。この送信回路10は、差動信号を構成する信号DP(広義には第1の信号)のパッドに接続される信号ラインを駆動する第1の送信ドライバ12と、差動信号を構成する信号DM(広義には第2の信号)のパッドに接続される信号ラインを駆動する第2の送信ドライバ14を含む。これらの送信ドライバ12、14によりDP、DMのパッドの信号ラインを駆動することで、DP、DMのパッド(データ端子)を用いた差動信号の伝送が可能になる。
また送信回路10は、DP、DMのパッド(広義には第1、第2のパッド)に接続される第1のダンピング抵抗RDP1と第2のダンピング抵抗RDP2を含む。これらのダンピング抵抗RDP1、RDP2の一端は送信ドライバ12、14の出力に接続され、他端はDP、DMのパッドに接続される。なお送信回路10(集積回路装置)にダンピング抵抗RDP1、RDP2を含ませない構成としてもよい。この場合には、ダンピング抵抗RDP1、RDP2を外付けのパーツで実現すればよい。
第1、第2の送信制御回路22、24は、第1、第2の送信ドライバ12、14の制御用の回路である。具体的には送信制御回路22は、前段の回路(例えばマクロセルMC2内の回路)から送信データ信号DOUT1とアウトプットディスイネーブル信号OUTDISを受け、制御信号OP1、ON1を送信ドライバ12に出力する。送信制御回路24は、前段の回路から信号DOUT2とOUTDISを受け、制御信号OP2、ON2を送信ドライバ14に出力する。
受信回路30は、例えばUSBのFSモードにおいて差動信号DP、DMを用いてデータの受信処理を行うための回路である。この受信回路30は、差動レシーバ32と第1、第2のシングルエンドレシーバ34、36を含む。
差動レシーバ32(差動コンパレータ)は、DP、DMのパッドを介して入力される差動信号を差動増幅して、データ信号DINとして後段の回路(例えばマクロセルMC2内の回路)に出力する。この差動レシーバ32は、差動信号DP、DMがその第1、第2の差動入力に入力される演算増幅回路により実現できる。なお差動レシーバ32は、イネーブル信号COMPENBにより、その動作がイネーブル又はディスエーブルされる。
シングルエンドレシーバ34は、DPのパッドを介して入力されるシングルエンドの信号を増幅して、データ信号SEDIN1として後段の回路(例えばマクロセルMC2内の回路)に出力する。シングルエンドレシーバ36は、DMのパッドを介して入力されるシングルエンドの信号を増幅して、データ信号SEDIN2として後段の回路に出力する。これらのシングルエンドレシーバ34、36は、例えば入力電圧の立ち上がり時と立ち下がり時とでしきい値が異なるヒステリシス特性を有するバッファ回路などにより実現できる。またシングルエンドレシーバ34、36は、イネーブル信号SEENB1、SEENB2により、その動作がイネーブル又はディスエーブルされる。
プルアップ用の抵抗回路40は、DPの信号ラインをプルアップするための回路であり、DPのパッド(第1のパッド)に接続される。この抵抗回路40は、トランジスタ等で実現されるスイッチ素子SUP1と、例えば1.5Kオームのプルアップ用の抵抗RUP1を含む。具体的にはスイッチ素子SUP1の一端はDPのパッドに接続され、他端は抵抗RUP1の一端に接続される。また抵抗RUP1の他端は電源VDDに接続される。
抵抗回路42は、抵抗回路40がDPの信号ラインに接続されることで形成される寄生容量と等価な寄生容量等を、DMの信号ラインに形成するためのダミーの抵抗回路であり、DMの信号ラインに接続される。この抵抗回路42は、抵抗回路40のスイッチ素子SUP1、抵抗RUP1と同一構成(同一のゲート長・ゲート幅、同一の抵抗)のスイッチ素子SUP2、抵抗RUP2を含む。具体的にはスイッチ素子SUP2の一端はDMのパッドに接続され、他端は抵抗RUP2の一端に接続される。
なお図3では抵抗RUP1、RUP2が電源VDD側に設けられているが、スイッチ素子SUP1、SUP2の方を電源VDD側に設けるようにしてもよい。
抵抗制御回路50、52は抵抗回路40、42の制御用の回路である。具体的には抵抗制御回路50、52は、スイッチ素子SUP1、SUP2のオン・オフを制御する信号RUPSW1、RUPSW2を生成して抵抗回路40、42に出力する。
なお抵抗制御回路50は、前段の回路(例えばマクロセルMC2内の回路)からのプルアップイネーブル信号RUPENB1に基づいて信号RUPSW1を出力し、スイッチ素子SUP1のオン・オフを制御する。一方、抵抗制御回路52は、前段の回路からのプルアップイネーブル信号RUPENB2に基づいて信号RUPSW2を出力し、スイッチ素子SUP2のオン・オフを制御する。
図4(A)に送信回路10(FS用)の具体的な回路構成例を示す。送信ドライバ12は、電源VDD、VSS(広義には第1、第2の電源)間に直列接続されたP型トランジスタTPTR1とN型トランジスタTNTR1を含む。そしてその出力ノードTN1とDPのノードとの間にダンピング抵抗RDP1が設けられる。送信ドライバ14は、電源VDD、VSS間に直列接続されたP型トランジスタTPTR2とN型トランジスタTNTR2を含む。そしてその出力ノードTN2とDMのノードとの間にダンピング抵抗RDP2が設けられる。
送信制御回路22は、前段の回路から信号DOUT1、OUTDISを受け、図4(B)に示す真理値表にしたがった論理演算を行って、送信ドライバ12に信号OP1、ON1を出力する。送信制御回路24は、前段の回路から信号DOUT2、OUTDISを受け、図4(B)に示す真理値表にしたがった論理演算を行って、送信ドライバ14に信号OP2、ON2を出力する。例えばOUTDISがローレベル(Lレベル)であるとする。すると、DOUT1がローレベルの場合はDPがローレベルになり、DOUT1がハイレベル(Hレベル)の場合はDPがハイレベルになる。またDOUT2がローレベルの場合はDMがローレベルになり、DOUT2がハイレベルの場合はDMがハイレベルになる。一方、OUTDISがハイベルの場合にはDP、DMは共にハイインピーダンス状態になる。
図5に差動レシーバ32(FS用)の具体的な回路構成例を示す。この差動レシーバ32は演算増幅回路120、122と、出力回路124と、インバータ回路126、128と基準電圧発生回路130を含む。なおこれらの一部を省略する構成としてもよい。
ここで演算増幅回路120は、カレントミラー回路を構成するトランジスタTA1、TA2と、差動対を構成するトランジスタTA3、TA4と、電流源を構成するトランジスタTA5を含む。演算増幅回路122は、カレントミラー回路を構成するトランジスタTA6、TA7と、差動対を構成するトランジスタTA8、TA9と、電流源を構成するトランジスタTA10を含む。出力回路124は、駆動用のトランジスタTA11と、TA11に直列接続され電流源を構成するトランジスタTA12を含む。また出力回路124は、イネーブル信号ENB(COMPENB)がローレベル(ノンアクティブ)の場合に、出力回路124の出力ノードNA5を所定電圧(VDD)に設定するためのトランジスタTA13を含む。
信号DP、DM(第1、第2の信号)は、演算増幅回路120の第1、第2の差動入力であるトランジスタTA3、TA4のゲートに入力される。演算増幅回路120の出力ノードNA2、NA1からの出力信号は、演算演算回路122の第1、第2の差動入力であるトランジスタTA8、TA9のゲートに入力される。演算演算回路122の出力ノードNA4からの出力信号は、出力回路124のトランジスタTA11のゲートに入力される。そして出力回路124の出力ノードNA5からの出力信号は、トランジスタTA14、TA15により構成されるインバータ回路126とトランジスタTA16、TA17により構成されるインバータ回路128によりバッファリングされて、信号DINとして出力される。
基準電圧発生回路130は、コンパレータイネーブル信号COMPENBを受け、基準電圧VREFとイネーブル信号ENBを出力する。基準電圧VREFは、電流源を構成するトランジスタTA5、TA10、TA12のゲートに入力される。イネーブル信号ENBは出力回路124のトランジスタTA13のゲートに入力される。
図6に基準電圧発生回路130の回路構成例を示す。基準電圧発生回路130は、カレントミラー回路を構成するトランジスタTB1、TB2と、TB1に直列接続されるトランジスタTB3と、TB2に直列接続されるトランジスタTB4と、出力ノードNB2に接続されるトランジスタTB5を含む。
信号COMPENBがハイレベル(アクティブ)になると、トランジスタTB3がオンになり、トランジスタTB1、TB3に流れる電流がカレントミラーによりトランジスタTB2、TB4に流れ、これにより基準電圧VREFが出力ノードNB2に発生する。一方、信号COMPENBがローレベル(ノンアクティブ)になると、トランジスタTB3がオフになると共にトランジスタTB5がオンになる。これにより基準電圧VREFがVSS(例えば0V)に設定されると共に基準電圧発生回路130において流れる電流が遮断される。また基準電圧VREFがVSSになることで図5のトランジスタTA5、TA10、TA12がオフになり、演算増幅回路120、122、出力回路124において流れる電流が遮断される。また信号ENBがローレベルになり、図5のトランジスタTA13がオンになることで、出力ノードNA5の電圧がVDDになり、NA5の電圧が不安定になることによる貫通電流の発生が防止される。以上により、差動レシーバ32のディスエーブル時に差動レシーバ32において流れる電流を遮断(制限)することができ、低消費電力化を図れる。
図7にシングルエンドレシーバ34(36)の回路構成例を示す。このシングルエンドレシーバ34(36)は、しきい値電圧のヒステリシス特性を有するバッファ回路140と、インバータ回路142、144を含む。
バッファ回路140は、直列接続されたトランジスタTC1、TC2、TC3、TC4と、TC1に並列接続されたトランジスタTC5と、TC2に並列接続されたトランジスタTC6と、TC4に並列接続されたトランジスタTC7を含む。またバッファ回路140は、トランジスタTC8、TC9、TC10、TC11で構成されるフィードバック用のインバータ回路141を含む。なおトランジスタTC1のゲートにはVSSが接続され、TC4のゲートにはVDDが接続される。
信号DP(DM)はバッファ回路140のトランジスタTC2、TC3のゲートに入力される。そしてバッファ回路140の出力ノードNC2からの出力信号は、トランジスタTC12、TC13により構成されるインバータ回路142とトランジスタTC14,TC15により構成されるインバータ回路144によりバッファリングされて、信号SEDIN1(SEDIN2)として出力される。
なお信号DP(DM)がローレベルの場合には、出力ノードNC2の電圧がローレベルになり、トランジスタTC5がオンになり、P型トランジスタ側のオン抵抗が小さくなる。これにより、信号DP(DM)がローレベルからハイレベルに変化する時のしきい値電圧が高くなる。一方、信号DP(DM)がハイレベルの場合には、出力ノードNC2の電圧がハイレベルになり、トランジスタTC7がオンになり、N型トランジスタ側のオン抵抗が小さくなる。これにより、信号DP(DM)がハイレベルからローレベルに変化する時のしきい値電圧が低くなる。以上によりバッファ回路140のしきい値電圧のヒステリシス特性が実現される。
またイネーブル信号SEENB1がローレベル(ノンアクティブ)になると、トランジスタTC6がオンになり、ノードNC1の電圧がVDDに設定される。またトランジスタTC11がオンになり、ノードNC2の電圧がVSSに設定される。またトランジスタTC8がオフになり、フィードバック用インバータ回路141において流れる電流が遮断される。以上により、シングルエンドレシーバ34(36)のディスエーブル時にシングルエンドレシーバ34(36)において流れる電流を遮断(制限)することができ、低消費電力化を図れる。
4.マクロセルMC1の回路構成
さて図1の集積回路装置を回路基板に実装する際に以下のような課題がある。例えば図8(A)では、集積回路装置500とUSBのレセプタクル510が、回路基板520の一方の面側(例えば表面側)に同面実装されている。そして図8(A)のE1に示すような配線WL1、WL2により、集積回路装置500のDP、DM用の端子と、レセプタクル510のDP、DM用の端子とが接続される。なおUSBのレセプタクル510としては、Aレセプタクル、Bレセプタクル、Mini-Aレセプタクル、Mini-Bレセプタクル、Mini-ABレセプタクルなどがある。
一方、図8(B)では、集積回路装置500が回路基板520の一方の面側(例えば表面側)に実装され、USBのレセプタ510が回路基板520の他方の面側(例えば裏面側)に逆面実装されている。そして図8(B)のE2に示すような配線WL1、WL2により、集積回路装置500のDP、DM用の端子と、レセプタクル510のDP、DM用の端子が接続される。
この場合に図8(A)のE3と図8(B)のE4を比べれば明らかなように、集積回路装置500のDP、DMの端子の配列が異なっている。従って図8(A)(B)のような種々の実装形態に対応するためには、DP、DMの端子の配列や、これらの端子にボンディングワイヤを介して接続されるパッドの配列を変更する必要がある。
ところがこれまでの集積回路装置では、DP、DMのパッド配列は固定されていた。従って図8(A)(B)に示すような同面実装や逆面実装などの種々の実装形態に対応するためには、配線WL1、WL2をクロスさせることなどが必要になり、これはDP、DMの信号特性の劣化を招く。
また図8(A)のE3の配列でDP、DMのパッドが配置される集積回路装置(マクロセル)と図8(B)のE4の配列でDP、DMのパッドが配置される集積回路装置とを、別機種で用意すると、製品の高コスト化や開発期間の長期化を招く。またDP、DMのパッドの配列を変更することで、DP、DMの信号特性の対称性が崩れ、信号特性が劣化してしまうおそれもある。
そこで本実施形態では、マクロセルMC1のレイアウトを変更することなく、セレクト信号を入力するだけで、DP、DMの配列を任意に変更できる手法を採用している。図9にこの手法を用いたマクロセルMC1の回路構成例を示す。なお図9では、図3で説明した各種のイネーブル信号(OUTDIS、COMPENB等)については省略して示してある。
図9において、第1のパッドP1は、差動信号を構成する信号DP、DM(広義には第1、第2の信号)のいずれか一方用のパッドであり、第2のパッドP2は、この一方とは異なる他方用のパッドである。例えば第1のモードでは、パッドP1がDP用のパッドになり、パッドP2がDM用のパッドになる。一方、第2のモードでは、パッドP1がDM用のパッドになり、パッドP2がDP用のパッドになる。これらの第1、第2のモードはセレクト信号SELにより切り替えることができ、信号SELが第1のレベル(例えばハイレベル)の場合には第1のモードになり、信号SELが第2のレベル(例えばローレベル)の場合には第2のモードになる。
第1のシングルエンドレシーバ34は、パッドP1(P1に接続される信号ラインSL1)に、その入力が接続され、第1の出力信号SEQ1を出力する。第2のシングルエンドレシーバ36は、パッドP2(P2に接続される信号ラインSL2)に、その入力が接続され、第2の出力信号SEQ2を出力する。なお、これらのシングルエンドレシーバ34、36としては例えば図7のような構成の回路を採用できるが、これに限定されない。
セレクタ100は、セレクト信号SELが第1のレベルになり第1のモードに設定されると、シングルエンドレシーバ34、36からの出力信号SEQ1、SEQ2のうちSEQ1を第1のセレクタ出力信号SLQ1として出力する。また出力信号SEQ2を第2のセレクタ出力信号SLQ2として出力する。一方、セレクト信号SELが第2のレベルになり第2のモードに設定されると、出力信号SEQ1、SEQ2のうちSEQ2をセレクタ出力信号SLQ1として出力する。また出力信号SEQ1をセレクタ出力信号SLQ2として出力する。
以上のようにすれば、第1のモードでは、パッドP1からの信号(例えばDP)がシングルエンドレシーバ34により増幅されてセレクタ出力信号SLQ1として出力され、パッドP2からの信号(例えばDM)がシングルエンドレシーバ36により増幅されてセレクタ出力信号SLQ2として出力されるようになる。一方、パッド配列が変更されて第2のモードになると、パッドP2からの信号(例えばDP)がシングルエンドレシーバ36により増幅されてセレクタ出力信号SLQ1として出力され、パッドP1からの信号(例えばDM)がシングルエンドレシーバ34により増幅されてセレクタ出力信号SLQ2として出力されるようになる。
また図9において差動レシーバ32は、パッドP1に、その第1の差動入力が接続され、パッドP2に、その第2の差動入力が接続され、第1の出力信号DFQと、DFQの反転信号である第2の出力信号XDFQを出力する。この差動レシーバ32としては、例えば図5のような構成の回路を採用できるが、これに限定されない。また出力信号XDFQとしては、例えば図5のインバータ回路126の出力信号などを用いることができる。
セレクタ102は、第1のモードに設定されると、差動レシーバ32からの出力信号DFQ、XDFQのうちDFQをセレクタ出力信号SLQ3として出力する。一方、第2のモードに設定されると、差動レシーバ32からの出力信号DFQ、XDFQのうちXDFQをセレクタ出力信号SLQ3として出力する。
以上のようにすれば、第1のモードでは、パッドP1からの信号(例えばDP)を正極性としパッドP2からの信号(例えばDM)を負極性とする適正な差動増幅が差動レシーバ32により行われて、差動増幅された信号がセレクタ出力信号SLQ3として出力されるようになる。一方、パッド配列が変更されて第2のモードになると、パッドP2からの信号(例えばDP)を正極性としパッドP1からの信号(例えばDM)を負極性とする適正な差動増幅が差動レシーバ32により行われて、差動増幅された信号がセレクタ出力信号SLQ3として出力されるようになる。
なおセレクト信号SELの設定情報は、例えば集積回路装置(マクロセルMC1)が内蔵するEEPROM(書き換え可能な不揮発性メモリ)やマスクROMなどのメモリ(レジスタ)に記憶できる。例えばパッドP1をDP用のパッドに設定し、パッドP2をDM用のパッドに設定する場合には、セレクト信号SELを例えば第1のレベルにして第1のモードに設定する情報を、上記メモリに記憶すればよい。また例えばパッドP1をDM用のパッドに設定し、パッドP2をDP用のパッドに設定する場合には、セレクト信号SELを例えば第2のレベルにして第2のモードに設定する情報を、上記メモリに記憶すればよい。
また図9のマクロセルMC1は、セレクタ100からのセレクタ出力信号SLQ1、SLQ2や、セレクタ102からのセレクタ出力信号SLQ3を、図1のマクロセルMC2に出力するための出力端子TM1、TM2、TM3を含むことができる。ここでマクロセルMC2は、前述したように、物理層よりも上位層(論理層、リンク層、トランザクション層又はアプリケーション層等)の回路を含むマクロセルである。
そしてセレクタ100は、第1のモードでは、出力信号SEQ1をセレクタ出力信号SLQ1として出力端子TM1を介してマクロセルMC2に出力する。また出力信号SEQ2をセレクタ出力信号SLQ2として出力端子TM2を介してマクロセルMC2に出力する。一方、第2のモードでは、出力信号SEQ2をセレクタ出力信号SLQ1として出力端子TM1を介してマクロセルMC2に出力する。また出力信号SEQ1をセレクタ出力信号SLQ2として出力端子TM2を介してマクロセルMC2に出力する。
またセレクタ102は、第1のモードでは、出力信号DFQをセレクタ出力信号SLQ3として出力端子TM3を介してマクロセルMC2に出力する。一方、第2のモードでは、出力信号XDFQをセレクタ出力信号SLQ3として出力端子TM3を介してマクロセルMC2に出力する。
そしてこれらの出力端子TM1、TM2、TM3は、マクロセルMC1の四辺のうちの一辺(例えば第3の辺)に沿って設けられる受信インターフェース領域に固定配置することができる。なお出力端子TM1、TM2、TM3は、実際のレイアウトでは信号SLQ1、SLQ2、SLQ3の出力用の信号ラインであり、例えばマクロセルMC1のネットリストなどにおいて出力端子として定義されるものである。また受信インターフェース領域については後述する。
出力端子TM1を介して出力されるセレクタ出力信号SLQ1は、図3の信号SEDIN1に相当し、出力端子TM2を介して出力されるセレクタ出力信号SLQ2は、信号SEDIN2に相当する。また出力端子TM3を介して出力されるセレクタ出力信号SLQ3は、信号DINに相当する。なおこれらの信号のバッファリングを行うバッファ回路や電圧のレベルシフトを行う回路などを、セレクタ100、102内に含めることができる。
また図9においてセレクタ104は、第1のモードに設定されると、第1、第2の入力信号SLI4、SLI5(データ信号)のうちSLI4を第1のセレクタ出力信号SLQ4として出力する。また入力信号SLI5を第2のセレクタ出力信号SLQ5として出力する。一方、第2のモードに設定されると、入力信号SLI4、SLI5のうちSLI5をセレクタ出力信号SLQ4として出力する。また入力信号SLI4をセレクタ出力信号SLQ5として出力する。
また送信ドライバ12には、セレクタ出力信号SLQ4に対応した送信制御信号OP1、ON1が入力され、パッドP1に接続される信号ラインSL1を駆動する。また送信ドライバ14には、セレクタ出力信号SLQ5に対応した送信制御信号OP2、ON2が入力され、パッドP2に接続される信号ラインSL2を駆動する。
以上のようにすれば、第1のモードでは、パッドP1(例えばDP)に接続される信号ラインSL1が、入力信号SLI4に応じた電圧で送信ドライバ12により駆動され、パッドP2(例えばDM)に接続される信号ラインSL2が、入力信号SLI5に応じた電圧で送信ドライバ14により駆動されるようになる。一方、パッド配列が変更されて第2のモードになると、パッドP2(例えばDP)に接続される信号ラインSL2が、入力信号SLI4に応じた電圧で送信ドライバ14により駆動され、パッドP1(例えばDM)に接続される信号ラインSL1が、入力信号SLI5に応じた電圧で送信ドライバ12により駆動されるようになる。
また図9において、セレクタ106は、第1のモードに設定されると、第1、第2の入力信号SLI6、SLI7のうちSLI6を第1のセレクタ出力信号SLQ6として出力する。また入力信号SLI7を第2のセレクタ出力信号SLQ7として出力する。一方、第2のモードに設定されると、入力信号SLI6、SLI7のうちSLI7をセレクタ出力信号SLQ6として出力する。また入力信号SLI6をセレクタ出力信号SLQ7として出力する。
また第1の抵抗回路40には、セレクタ出力信号SLQ6に対応した抵抗制御信号RUPSW1が入力される。そしてこの第1の抵抗回路40は、パッドP1に接続されるプルアップ用又はダミー用の抵抗回路として機能する。また第2の抵抗回路42には、セレクタ出力信号SLQ7に対応した抵抗制御信号RUPSW2が入力される。そしてこの第2の抵抗回路42は、パッドP2に接続されるプルアップ用又はダミー用の抵抗回路として機能する。
以上のようにすれば、第1のモードでは、パッドP1(例えばDP)に接続される抵抗回路40が、例えばプルアップ用の抵抗回路として機能し、信号ラインSL1がプルアップされ、パッドP2(例えばDM)に接続される抵抗回路42が例えばダミー用の抵抗回路として機能するようになる。一方、パッド配列が変更されて第2のモードになると、パッドP2(例えばDP)に接続される抵抗回路42が例えばプルアップ用の抵抗回路として機能し、パッドP1(例えばDM)に接続される抵抗回路40が例えばダミー用の抵抗回路として機能するようになる。これにより、パッド配列が変更されても適正なプルアップ制御を実現できるようになる。
また図9のマクロセルMC1は、図1のマクロセルMC2から入力信号SLI4、SLI5,SLI6、SLI7を入力するための入力端子TM4、TM5、TM6、TM7を含むことができる。
そしてセレクタ104は、第1のモードでは、入力端子TM4を介して入力された入力信号SLI4をセレクタ出力信号SLQ4として出力する。また入力端子TM5を介して入力された入力信号SLI5をセレクタ出力信号SLQ5として出力する。一方、第2のモードでは、入力端子TM5を介して入力された入力信号SLI5をセレクタ出力信号SLQ4として出力する。また入力端子TM4を介して入力された入力信号SLI4をセレクタ出力信号SLQ5として出力する。
またセレクタ106は、第1のモードでは、入力端子TM6を介して入力された入力信号SLI6をセレクタ出力信号SLQ6として出力する。また入力端子TM7を介して入力された入力信号SLI7をセレクタ出力信号SLQ7として出力する。一方、第2のモードでは、入力端子TM7を介して入力された入力信号SLI7をセレクタ出力信号SLQ6として出力する。また入力端子TM6を介して入力された入力信号SLI6をセレクタ出力信号SLQ7として出力する。
そしてこれらの入力端子TM4〜TM7は、マクロセルMC1の四辺のうちの一辺(例えば第3の辺)に沿って設けられる送信インターフェース領域に固定配置することができる。なお入力端子TM4〜TM7は実際のレイアウトでは信号SLQ4〜SQ7の入力用の信号ラインであり、例えばマクロセルMC1のネットリストなどにおいて入力端子として定義されるものである。また送信インターフェース領域については後述する。
また入力端子TM4を介して入力される信号SLI4は、図3の信号DOUT1に相当し、入力端子TM5を介して入力される信号SLI5は、信号DOUT2に相当する。また入力端子TM6を介して入力される信号SLI6は、信号RUPENB1に相当し、入力端子TM7を介して入力される信号SLI7は、信号RUPENB2に相当する。
図10(A)に図9のセレクタ100、104、106の回路構成例を示し、図10(B)にセレクタ102の回路構成例を示す。なおこれらのセレクタの構成は図10(A)(B)に示す構成に限定されない。
例えば図10(A)において、信号S(セレクト信号SEL)がハイレベル(第1のレベル)になると、P型トランジスタとN型トランジスタにより構成されるトランスファー・ゲートTG1、TG4がオン(導通状態)になり、TG2、TG3がオフ(非導通状態)になる。これにより、入力信号I1、I2が、各々、出力信号Q1、Q2として出力されるようになる。一方、信号Sがローレベル(第2のレベル)になると、トランスファー・ゲートTG2、TG3がオンになり、TG1、TG4がオフになる。これにより、入力信号I1,I2が、各々、出力信号Q2、Q1として出力されるようになる。
また図10(B)において、信号Sがハイレベルになると、入力信号I1が選択されて出力信号Qとして出力され、信号Sがローレベルになると、入力信号I2が選択されて出力信号Qとして出力されるようになる。
以上のように説明した図9のマクロセルMC1によれば、マクロセルMC1のレイアウト等を変更することなく、セレクト信号SELの設定を変えるだけで、DP、DMのパッド配列を任意に変更できる。
例えばセレクト信号を第1のレベルにして第1のモードに設定すれば、パッドP1をDP用のパッドとして使用でき、パッドP2をDM用のパッドとして使用できる。一方、セレクト信号を第2のレベルにして第2のモードに設定すれば、パッドP2をDP用のパッドとして使用でき、パッドP1をDM用のパッドとして使用できる。これにより図8(A)(B)のような種々の実装形態に柔軟に対応できる。
そしてこのようにパッド配列が変更されても、本実施形態によれば、端子TM1、TM4、TM6についてはDP用の専用端子として使用でき、端子TM2、TM5、TM7についてはDM用の専用端子として使用できるという利点がある。また端子TM3からは、信号DP、DMの極性に応じた適正な差動増幅信号を出力できるという利点がある。
即ち本実施形態によれば、第1のモードでは、パッドP1に入力された信号DPに対応する信号SLQ1が、端子TM1から出力され、パッドP2に入力された信号DMに対応する信号SLQ2が、端子TM2から出力される。そして第2のモードに設定されてパッド配列が変更された場合にも、パッドP2に入力された信号DPに対応する信号SLQ1が、端子TM1から出力され、パッドP1に入力された信号DMに対応する信号SLQ2が、端子TM2から出力される。即ち第1、第2のモードのいずれのモードに設定されたとしても、常に、端子TM1からは信号DPに対応する信号が出力され、端子TM2からは信号DMに対応する信号が出力されるようになる。
また本実施形態によれば、第1のモードでは、パッドP1に入力された信号DPを正極性とし、パッドP2に入力された信号DMを負極性として差動増幅された信号SLQ3が、端子TM3から出力される。そして第2のモードに設定されてパッド配列が変更された場合にも、パッドP2に入力された信号DPを正極性とし、パッドP1に入力された信号DMを負極性として差動増幅された信号SLQ3が、端子TM3から出力されるようになる。即ち第1、第2のモードのいずれのモードに設定されたとしても、常に、端子TM3からは信号DP、DMの極性に応じた適正な差動増幅信号が出力されるようになる。
また本実施形態によれば、第1のモードでは、端子TM4から入力されたDP用の入力信号SLI4に基づいて、DP用のパッドP1の信号ラインSL1が駆動され、端子TM5から入力されたDM用の入力信号SLI5に基づいて、DM用のパッドP2の信号ラインSL2が駆動される。そして第2のモードに設定されてパッド配列が変更された場合にも、端子TM4から入力されたDP用の入力信号SLI4に基づいて、DP用のパッドP2の信号ラインSL2が駆動され、端子TM5から入力されたDM用の入力信号SLI5に基づいて、DM用のパッドP1の信号ラインSL1が駆動される。即ち第1、第2のモードのいずれのモードに設定されたとしても、常に、端子TM4にはDP用の信号を入力でき、端子TM5にはDM用の信号を入力できるようになる。
また本実施形態によれば、第1のモードでは、端子TM6から入力されたDP用の入力信号SLI6に基づいて、DP用のパッドP1の信号ラインSL1がプルアップされ、端子TM7から入力されたDM用の入力信号SLI7に基づいて、DM用のパッドP2の信号ラインSL2がプルアップされないようになる。そして第2のモードに設定されてパッド配列が変更された場合にも、端子TM6から入力されたDP用の入力信号SLI6に基づいて、DP用のパッドP2の信号ラインSL2がプルアップされ、端子TM7から入力されたDM用の入力信号SLI7に基づいて、DM用のパッドP1の信号ラインSL1がプルアップされないようになる。即ち第1、第2のモードのいずれのモードに設定されたとしても、常に、端子TM6にはDP用の信号を入力でき、端子TM7にはDM用の信号を入力できるようになる。
以上のように本実施形態によれば、DP、DMのパッド配列を任意に変更できる一方で、端子TM1〜TM7については、それぞれDP用、DM用の端子として固定できる。従って上位層の回路を含むマクロセルMC2とのインターフェース部分(端子と配線の接続部分)を固定化でき、DP、DMのパッド配列を変更した場合にも、マクロセルMC2に影響が及ぶのを防止できる。
また本実施形態では、セレクト信号SELの設定を変えるだけで、DP、DMのパッド配列の変更を実現でき、差動レシーバ32、シングルエンドレシーバ34、36、送信ドライバ12、14、抵抗回路40、42などの物理層回路のレイアウトを変更する必要がない。従って、信号DP、DMの良好な信号特性を維持できるという利点がある。
5.マクロセルMC1のレイアウト
図11に本実施形態のマクロセルMC1のレイアウト例を示す。なおマクロセルMC1のレイアウトは図11の例に限定されず、種々の変形実施が可能である。
図11のマクロセルMC1は、複数(N個)のI/Oセルが配置されるI/O領域を含む。これらの複数のI/OセルはI/O領域の長手方向に沿って並んで配置される。またI/O領域の外側にはDP、DM用のパッドP1、P2を含む複数のパッドが配置される。なおI/O領域(I/Oセル)がパッドを含む構成にしてもよい。
マクロセルMC1の第1の辺SD1から、SD1に対向する第3の辺SD3へと向かう方向を第1の方向DR1としたとする。すると、送信回路10が含む送信ドライバ12、14は、パッドP1、P2(I/O領域)の第1の方向DR1側に配置される。具体的にI/O領域に隣接するように送信ドライバ12、14が配置される。
また第1の方向DR1に沿ったラインを第1のラインSYLとする。すると送信ドライバ12、14は、ラインSYLを対称軸として線対称(実質的に線対称である場合も含む)に配置される。また送信回路10(集積回路装置)がダンピング抵抗RDP1、RDP2を内蔵する場合には、ダンピング抵抗RDP1、RDP2もラインSYLを対称軸として線対称に配置される。また、パッドP1、P2もラインSYLを対称軸として線対称に配置することができる。
また本実施形態では受信回路30が、送信回路10(送信ドライバ12、14)の第1の方向DR1側に配置される。より具体的には送信回路10の第1の方向DR1側に隣接するように受信回路30が配置される。この受信回路30は、差動レシーバ32やシングルエンドレシーバ34、36を含む。
また本実施形態では、送信ドライバ12、14の制御用の送信制御回路22、24も、送信回路10の第1の方向DR1側に配置される。より具体的には送信回路10の第1の方向DR1側に隣接するように送信制御回路22、24が配置される。そして受信回路30は、これらの送信制御回路22、24の間の領域に配置される。
なお送信制御回路22と受信回路30との間の領域や、送信制御回路24と受信回路30との間の領域に、他の回路ブロック(例えば信号のレベルを変換するレベルシフタ等)を配置してもよい。また送信回路10と、受信回路30、送信制御回路22、24との間の領域に他の回路ブロックを配置することも可能である。
また本実施形態では、受信回路30とパッドP1、P2とを接続する信号ラインを配線するための配線領域60が、送信ドライバ12と送信ドライバ14との間の領域に設けられている。なお配線領域60を他の場所(例えば送信ドライバ12の左側や送信ドライバ14の右側)に設ける構成とすることもできる。
またマクロセルMC1の第2の辺SD2から、SD2に対向する第4の辺SD4へと向かう方向を第2の方向DR2としたとする。すると本実施形態では、抵抗回路40と抵抗回路42が、送信回路10(送信ドライバ12、14)の第2の方向DR2側に配置される。そして抵抗制御回路50、52が、抵抗回路40、42の第1の方向DR1側に配置される。
なお図11ではマクロセルMC1の左側辺が第2の辺SD2となり、右側辺が第4の辺SD4になっているが、左側辺を第4の辺SD4、右側辺を第2の辺SD2としてもよい。この場合には、送信回路10の左側に抵抗回路40、42が配置されることになる。また送信回路10と抵抗回路40、42との間の領域や、抵抗回路40、42と抵抗制御回路50、52の間の領域に、他の回路ブロックを配置してもよい。また抵抗回路40(及び抵抗制御回路50)と、抵抗回路42(及び抵抗制御回路52)とを、第1のラインSYLを対称軸として線対称に配置することも可能である。
さて、従来ではFSモード用の物理層回路は、ゲートアレイ(シーオブゲート)などの自動配置配線手法により配置されていた。従って、送信回路10や受信回路30を構成する回路セルが、集積回路装置の色々な場所に散在してしまうと共にその散在する配置位置も集積回路装置の機種毎に変化してしまう。この結果、差動信号DP、DMの信号特性も集積回路装置の機種毎に変化してしまい、新たな集積回路装置を製品化する毎にDP、DMの信号特性を再評価しなければならないという課題があった。
これに対して本実施形態では図11に示すように、送信回路10、受信回路30などの物理層回路が、その配線及び回路セル配置が固定化されるハードマクロとしてマクロセル化されている。従って、送信回路10や受信回路30を構成する回路セルの配置位置が集積回路装置内で散在してしまう事態を防止でき、差動信号DP、DMの信号特性を機種間で一定に保つことが容易になる。この結果、ASICとして新たな集積回路装置を製品化した場合に、DP、DMの信号特性を再評価しなくても済むようになり、開発コストの低減化や開発期間の短縮化を図れる。
またダンピング抵抗RDP1、RDP2や、抵抗回路40内のプルアップ抵抗RUP1を、集積回路装置の外付けパーツで実現する手法では、ユーザによって千差万別の種類の抵抗が使われる可能性があるため、DP、DMの信号特性を保証することが難しくなる。これに対して本実施形態では、ダンピング抵抗RDP1、RDP2やプルアップ抵抗RUP1がオンチップの抵抗としてマクロセルMC1内に内蔵される。従って、これらの抵抗を集積回路装置の外付けパーツで実現する手法に比べて、DP、DMの信号特性を保証することが容易になる。
なおダンピング抵抗RDP1、RDP2は、例えば所定の極性の不純物が導入された拡散領域により構成される拡散抵抗により実現できる。このようにすれば、拡散抵抗を構成する拡散領域と基板との間に形成される寄生ダイオードを、DP、DMの信号ラインの静電保護回路として活用でき、集積回路装置の信頼性を向上できる。即ち拡散抵抗で構成されるダンピング抵抗RDP1、RDP2を集積回路装置に内蔵することで、DP、DMの信号特性の保証と集積回路装置の信頼性の向上とを両立できるという利点がある。
また本実施形態では、送信ドライバ12、14を、ラインSYLを対称軸として対称に配置している。従って、パッドP1、P2からの信号ラインについても、ラインSYLを対称軸として線対称に配線でき、これらの信号ラインの配線長を同等にできる。この結果、DPの信号ラインの寄生容量や寄生抵抗とDMの信号ラインの寄生容量や寄生抵抗を同等(実質的に同等の場合も含む)にすることができ、DP、DMの信号特性を向上できる。
例えば図12(A)は、送信回路10や受信回路30をゲートアレイなどの自動配置配線手法で配置した場合のDP、DMの信号特性(アイパターン)である。図12(A)では、C1、C2に示すようにDP、DMの信号波形の対称性を維持できず、これらの信号のクロスポイントが理想値(例えばフルスイング電圧である3.3Vの半分の1.65V)からずれてしまう。この結果、例えばC3、C4に示すように、DP、DMの信号波形と禁止領域(六角形の領域)との間の余裕が少なくなってしまい、良好な信号特性を得ることができない。
一方、図12(B)は、本実施形態の手法で送信回路10や受信回路30を配置した場合のDP、DMの信号特性である。図12(B)では、C5、C6に示すようにDP、DMの信号波形の対称性が維持され、これらの信号のクロスポイントを理想値に近づけることができる。この結果、例えばC7、C8に示すように、DP、DMの信号波形と禁止領域との間の余裕が大きくなり、良好な信号特性を得ることができる。
また本実施形態では送信回路10がパッドP1、P2の第1の方向DR1側に配置され、受信回路30が送信回路10の第1の方向DR1側に配置されており、これにより、マクロセルMC1のレイアウト面積を格段に小さくできる。
即ち送信回路10の送信ドライバ12、14は、USBのDP、DMラインを駆動する必要があるため、一定の電流駆動能力(例えば18mA)が必要になる。従ってパッドP1、P2と送信回路10とを接続する信号ラインSLT1、SLT2の線幅が細いと、エレクトロンマイグレーションにより信号ラインが切断されてしまうおそれがある。このため、信号ラインSLT1、SLT2の線幅についてはなるべく太くすることが望ましい。
一方、受信回路30側においては、DP、DMの信号は、受信回路30を構成するCMOSトランジスタのゲートに入力される。従ってパッドP1、P2と受信回路30とを接続する配線領域60内の信号ラインSLR1、SLR2については、送信回路10側の信号ラインSLT1、SLT2に比べて、その線幅を細くできる。即ち例えばデザインルール上の最小線幅にできる。
従って例えば図11とは逆に送信回路10の方を受信回路30の第1の方向DR1側に配置するレイアウトにすると、太い線幅の信号ラインSLT1、SLT2を送信回路10に接続するための配線領域が必要になってしまう。このため、太い線幅の信号ラインSLT1、SLT2の分だけ、マクロセルMC1の幅(SD1の長さ)が太くなってしまい、集積回路装置の回路面積が大きくなり製品の高コスト化を招く。
これに対して本実施形態では図11に示すように、送信回路10の第1の方向DR1側に受信回路30を配置している。従って、太い線幅の信号ラインSLT1、SLT2については、パッドP1、P2の近くに配置される送信回路10までにだけ配線すれば済む。この結果、これらの太い線幅の信号ラインSLT1、SLT2の配線領域が要因となってマクロセルMC1の幅が太くなってしまうという事態を防止できる。そして、送信ドライバ12、14間に設けられる配線領域60に配線される信号ラインSLR1、SLR2の線幅は細くできる。従って、配線領域60の幅が細くなるため、これらの配線領域60を送信ドライバ12、14間に設けても、マクロセルMC1の幅はそれほど太くならない。この結果、集積回路装置の回路面積を小さくでき、製品の低コスト化を実現できる。
また送信ドライバ12、14には大きな電流供給能力が要求されるため、送信ドライバ12、14を構成するトランジスタ(図4(A)のTPTR1、TNTR1、TPTR2、TNTR2)のサイズ(W/L)は大きくする必要がある。従って図11に示すように、送信ドライバ12、14を含む送信回路10のレイアウト面積は、受信回路30のレイアウト面積に比べて大きくなる。従って、図11のように送信回路10の第1の方向DR1側に受信回路30を配置する手法によれば、受信回路30の両側に空きスペースを形成できる。そして受信回路30の両側の空きスペースに送信制御回路22、24を配置するようにすれば、空きスペースを有効活用でき、レイアウト効率を高めることができる。
なお図11では、抵抗回路40、42(及び抵抗制御回路50、52)については、ラインSLYを対称軸として線対称には配置されていない。この点、DP、DMの信号ラインの寄生抵抗や寄生容量を同等にする目的のためには、抵抗回路40、42についてもSLYに対して線対称に配置することが望ましい。しかしながら、このように線対称に配置すると、抵抗回路40、42間の距離が離れてしまう。このため、製造プロセスのばらつきが要因となって、抵抗回路40の抵抗や寄生容量と抵抗回路42の抵抗や寄生容量とが同等にならなくなり、DP、DMの信号特性が劣化するおそれがある。
これに対して図11では、抵抗回路40、42については線対称に配置せずに、送信回路10の第2の方向DR2側に設けている。従って、抵抗回路40、42が互いに近くに配置されるようになり、製造プロセスがばらついても、抵抗回路40の抵抗や寄生容量と抵抗回路42の抵抗や寄生容量とをほぼ同等にできる。また図11のA1に示すように、本来は必要の無いダミーの配線を設ければ、抵抗回路40、42を線対称に配置しなくても、DP、DMの配線長を同等にできる。この結果、DP、DMの信号特性が劣化する事態を防止できる。
6.マクロセルMC1の配置
図11のレイアウトのマクロセルMC1を用いれば、図1や図13に示すように、マクロセルMC1を集積回路装置の任意の場所(任意の四辺の任意の場所)に配置できるという利点がある。
即ち集積回路装置を使用するユーザが、マクロセルMC1を図1のように集積回路装置の下辺に配置するのではなく、図13のように集積回路装置の右辺に配置することを要求してくる場合がある。このような要求に応えるためには、マクロセルMC1は、集積回路装置の任意の四辺に配置できることが望ましい。またパッドP1、P2がコーナーに配置されると、DP、DMのボンディングワイヤが配線できなくなったり、DP、DMのボンディングワイヤの長さに差が生じてしまいDP、DMの負荷バランスが崩れてしまう場合がある。従ってマクロセルMC1は、集積回路装置の四辺の各辺の任意の場所に配置できることが望ましい。
この点、本実施形態では、マクロセルMC2は、その配線及び回路セル配置が自動配置配線されるマクロセルとなっており、このマクロセルMC2の四辺の内周には、図13に示すように、I/Oセルが並んで配置されるI/O領域が設けられている。そしてマクロセルMC1のI/O領域の全体が、マクロセルMC2のI/O領域の一部にオーバラップするように、マクロセルMC1が配置される。即ち、マクロセルMC1のI/O領域の長手方向に伸びる上下のラインと、マクロセルMC2のI/O領域の長手方向に伸びる上下のラインとが一致するように、マクロセルMC1が配置される。
そしてマクロセルMC1の第1の辺SD1の長さをLとし、マクロセルMC2のI/O領域に配置されるI/Oセルのピッチ幅をPLとした場合に、L=PL×N(Nは2以上の整数)の関係が成り立つようになっている。
このようにすることで、マクロセルMC1を集積回路装置(マクロセルMC2)の任意の四辺の任意の場所に配置することが可能になる。そしてMC1は、その配線や回路セル配置が固定されたマクロセルであるため、MC1を任意の場所に配置しても、DP、DMの信号特性を一定に保つことができ、信号特性の再評価が不要になるという利点がある。
7.インターフェース領域
図11では、マクロセルMC1とMC2との間での信号をやり取りするためのインターフェース領域IFRX、IFTX1、IFTX2、IFRCがマクロセルMC1に設けられている。これらのインターフェース領域IFRX、IFTX1、IFTX2、IFRCは、マクロセルMC1からの信号をバッファリングしてマクロセルMC2に出力するバッファや、マクロセルMC2からの信号をバッファリングしてマクロセルMC1に入力するバッファなどを含む領域である。
例えば受信インターフェース領域IFRXは、受信回路30とマクロセルMC2との間で信号をインターフェースするための領域である。この受信インターフェース領域IFRXには、例えば図9のセレクタ100、102や、端子TM1、TM2、TM3を配置できる。
また送信インターフェース領域IFTX1、IFTX2は、送信制御回路22、24とマクロセルMC2との間で信号をインターフェースするための領域である。この送信インターフェース領域IFTX1、IFTX2には、例えば図9のセレクタ104や、端子TM4、TM5を配置できる。
また抵抗制御インターフェース領域IFRCは、抵抗制御回路50、52とマクロセルMC2との間で信号をインターフェースするための領域である。この抵抗制御インターフェース領域IFRCには、例えば図9のセレクタ106や、端子TM6、TM7を配置できる。
本実施形態ではこのようなインターフェース領域IFRX、IFTX1、IFTX2、IFRCを、マクロセルMC1の例えば第3の辺(広義にはMC1の四辺のうちのいずれか一辺)に沿って設けている。より具体的には第3の辺に沿って固定配置している。このようにすれば、マクロセルMC1、MC2間でやり取りされる信号の遅延や受け渡しタイミングを許容範囲内に収めることが容易になり、マクロセルMC2の回路構成や規模が変化した場合にも、安定した回路動作を保証できるようになる。
即ち、インターフェース領域IFRX、IFTX1、IFTX2、IFRCの場所が固定化されていれば、マクロセルMC1、MC2間の信号ラインの寄生容量を容易に見積もることが可能になる。従って、これらの信号ラインの寄生容量が許容範囲内に収まるように設定して、ソフトマクロであるマクロセルMC2の自動配置配線を行うことが可能になり、信号タイミングの設計を容易化できる。またマクロセルMC2の自動配置配線の際のルーティング条件の設定が容易になり、マクロセルMC2の自動配置配線の配線効率を向上できる。
8.HSモード
USBでは、転送レートが12MbpsであるFS(Full Speed)モードが定義されている。そしてUSB2.0では、このFSモードに加えて、転送レートが480MbpsであるHS(High Speed)モードが定義されている。
図14に、このHSモードを実現する場合の物理層回路の構成例を示す。図3と異なるのは、図14では、HS用の送信回路70及びその送信制御回路82、84と、HS用の受信回路90と、検出回路98が更に設けられている点である。
HS用の送信回路70は、DP、DMのパッドに接続され、電流源76(定電流源)と、第1、第2の送信ドライバ72、74(電流ドライバ)を含む。電流源76は、イネーブル信号HSENBがアクティブになると、送信ドライバ72、74に電流を供給する。
HS用の第1、第2の送信制御回路82、84は、第1、第2の送信ドライバ72、74の制御用の回路である。具体的には送信制御回路82は、前段の回路から送信データ信号HSDOUT1とアウトプットディスイネーブル信号HSOUTDISを受け、制御信号GC1を送信ドライバ72に出力する。送信制御回路84は、前段の回路から信号HSDOUT2とHSOUTDISを受け、制御信号GC2を送信ドライバ74に出力する。
受信回路90は、USBのHSモードにおいて受信処理を行うための回路であり、差動レシーバ92を含む。差動レシーバ92(差動コンパレータ)は、DP、DMのパッドを介して入力される差動信号を差動増幅して、データ信号HSDINとして後段の回路に出力する。この差動レシーバ92は、差動信号DP、DMがその第1、第2の差動入力に入力される演算増幅回路により実現できる。なお差動レシーバ92は、イネーブル信号HSCOMPENBにより、その動作がイネーブル又はディスエーブルされる。
検出回路98(スケルチ回路)は、USB上の信号(DP、DM)が有効なデータなのかノイズなのかを区別するための回路である。より具体的には検出回路98は、USBの信号のピーク値を保持し、信号の包絡線を検波することで、信号の振幅を検出する。そして例えば、その振幅が100mV以下であれば信号はノイズであると判断し、150mV以上であれば有効なデータであると判断する。そして有効なデータであると判断した場合には、出力信号HSSQをアクティブにする。なお検出回路98は、イネーブル信号HSSQENBにより、その動作がイネーブル又はディスエーブルされる。
図15に送信回路70の構成例を示す。図15において、ISは電流源76に相当し、トランジスタTE1は送信ドライバ72に相当し、トランジスタTE2は送信ドライバ74に相当する。
制御信号GC1がハイレベル(アクティブ)になると、電流源ISからトランジスタTE1を介してDPに電流(定電流)が流れ、USBのバスステートがJ状態になる。一方、制御信号GC2がハイレベルになると、電流源ISからトランジスタTE2を介してDMに電流が流れ、USBのバスステートがK状態になる。そして、送信データに応じてUSBのバスステートをJ又はK状態にすることで、HSモードでの送信が可能になる。一方、送信(HS送信)期間以外の期間では、制御信号GC3がアクティブになり、電流源ISからトランジスタTE3を介してVSS(AVSS)に電流が流れる。これにより、送信開始時に直ぐに安定した電流を流すことができ、送信回路70のレスポンスを向上できる。
HSモードに対応したマクロセルMC1は、図9に示す回路に加えて、図16の示す回路を含むことができる。
図16において差動レシーバ70は、パッドP1にその第1の差動入力が接続され、パッドP2にその第2の差動入力が接続され、第1の出力信号HSDFQと、HSDFQの反転信号である第2の出力信号HSXDFQを出力する。
セレクタ110は、第1のモードでは、差動レシーバ70からの出力信号HSDFQをセレクタ出力信号SLQ8として出力する。一方、第2のモードでは、差動レシーバ70からの出力信号HSXDFQをセレクタ出力信号SLQ8として出力する。なお出力信号SLQ8は出力端子TM8を介してマクロセルMC2に出力される。
また図16においてセレクタ112は、第1のモードでは、入力信号SLI9、SLI10のうちSLI9をセレクタ出力信号SLQ9として出力し、SLI10をセレクタ出力信号SLQ10として出力する。一方、第2のモードでは、SLI10をセレクタ出力信号SLQ9として出力し、SLI9をセレクタ出力信号SLQ10として出力する。
また送信ドライバ72には、セレクタ出力信号SLQ9に対応した送信制御信号GC1が入力され、パッドP1に接続される信号ラインSL1を駆動する。また送信ドライバ74には、セレクタ出力信号SLQ10に対応した送信制御信号GC2が入力され、パッドP2に接続される信号ラインSL2を駆動する。
なお図16では検出回路98に対応するセレクタは設けられていないが、検出回路98の回路構成によっては、このようなセレクタを設けるようにしてもよい。
9.OTG(On-The-Go)
USB規格は、パーソナルコンピュータなどのホストとペリフェラルとの間でデータ転送を行うための規格であり、データ転送制御の主導権はホストが有している。一方、USB規格においてペリフェラルであった携帯機器などの電子機器が、ホストを介在させることなくUSB規格のデータ転送を行うことができれば、ユーザの利便性が向上する。
このような背景の下、OTG規格はUSB2.0規格の追加規格として策定された。OTG規格では、ホスト機能をペリフェラルに持たせるデュアルロールデバイス等についての規格が新たに盛り込まれている。
図17に、USBのOTGを実現する場合の物理層回路の構成例を示す。図3と異なるのは、図17ではプルダウン用の第3、第4の抵抗回路44、46と、抵抗制御回路54、56が更に設けられている点である。即ちOTGにおいてデュアルロールデバイスは、ペリフェラルとしての動作のみならず、ホストとしても動作する。そしてこのホスト動作時(ホストコントローラ214が動作している時)に、プルダウン用の抵抗回路44等が必要になる。
プルダウン用の抵抗回路44は、DPの信号ラインをプルダウンするための回路であり、DPのパッド(第1のパッド)に接続される。この抵抗回路44は、トランジスタ等で実現されるスイッチ素子SDW1と、例えば15Kオームのプルダウン用の抵抗RDW1を含む。具体的にはスイッチ素子SDW1の一端はDPのパッドに接続され、他端は抵抗RDW1の一端に接続される。また抵抗RDW1の他端は電源VSSに接続される。
抵抗回路46は、DMの信号ラインをプルダウンするための回路であり、DMのパッド(第2のパッド)に接続される。この抵抗回路46は、トランジスタ等で実現されるスイッチ素子SDW2と、プルダウン用の抵抗RDW2を含む。具体的にはスイッチ素子SDW2の一端はDMのパッドに接続され、他端は抵抗RDW2の一端に接続される。また抵抗RDW2の他端は電源VSSに接続される。
なお図17では抵抗RDW1、RDW2が電源VSS側に設けられているが、スイッチ素子SDW1、SDW2の方を電源VSS側に設けるようにしてもよい。
抵抗制御回路54、56は抵抗回路44、46の制御用の回路である。具体的には抵抗制御回路54、56は、前段の回路(例えばマクロセルMC2内の回路)から、プルダウンイネーブル信号RDWENB1、RDWENB2を受ける。そして、スイッチ素子SDW1、SDW2のオン・オフを制御する信号RDWSW1、RDWSW2を生成して、抵抗回路44、46に出力する。
図18に、USBのOTG(FSモードのOTG)を実現する場合のマクロセルMC1の構成例を示す。なおHSモードのOTGを実現する場合には、図18に示す回路に加えて、図16に示す回路をマクロセルMC1に含ませればよい。
図18において、セレクタ108は、第1のモードに設定されると、第3、第4の入力信号SLI14、SLI15のうちSLI14を第3のセレクタ出力信号SLQ14として出力する。また入力信号SLI15を第4のセレクタ出力信号SLQ15として出力する。一方、第2のモードに設定されると、入力信号SLI14、SLI15のうちSLI15をセレクタ出力信号SLQ14として出力する。また入力信号SLI14をセレクタ出力信号SLQ15として出力する。
また第3の抵抗回路44にはセレクタ出力信号SLQ14に対応した抵抗制御信号RDWSW1が入力され、第3の抵抗回路44はパッドP1に接続される信号ラインSL1のプルダウン用の抵抗回路として機能する。また第4の抵抗回路46にはセレクタ出力信号SLQ15に対応した抵抗制御信号RDWSW2が入力され、第4の抵抗回路46はパッドP2に接続される信号ラインSL2のプルダウン用の抵抗回路として機能する。
以上のようにすれば、第1のモードでは、パッドP1(例えばDP)に接続される抵抗回路44が、プルダウン用の抵抗回路として機能し、信号ラインSL1がプルダウンされる。一方、パッド配列が変更されて第2のモードになると、パッドP2(例えばDP)に接続される抵抗回路46が、プルダウン用の抵抗回路として機能し、信号ラインSL2がプルダウンされるようになる。これにより、パッド配列が変更されても、OTGにおける適正なプルダウン制御を実現できるようになる。
10.電子機器
図19に、本実施形態の集積回路装置(マクロセル)により実現されるデータ転送制御装置を含む電子機器の構成例を示す。この電子機器300は、本実施形態で説明したデータ転送制御装置310(集積回路装置)、ASICなどで構成されるアプリケーション層デバイス320、CPU330、ROM340、RAM350、表示部360、操作部370を含む。なおこれらの機能ブロックの一部を省略する構成としてもよい。
ここでアプリケーション層デバイス320は、例えば、携帯電話のアプリケーションエンジンを実現するデバイスや、情報記憶媒体(ハードディスク、光ディスク)のドライブを制御するデバイスや、プリンタを制御するデバイスや、MPEGエンコーダ、MPEGデコーダ等を含むデバイスなどである。処理部330(CPU)はデータ転送制御装置310や電子機器全体の制御を行う。ROM340は制御プログラムや各種データを記憶する。RAM350は処理部330やデータ転送制御装置310のワーク領域やデータ格納領域として機能する。表示部360は種々の情報をユーザに表示する。操作部370はユーザが電子機器を操作するためのものである。
なお図19ではDMAバスとCPUバスが分離されているが、これらを共通化してもよい。またデータ転送制御装置310を制御する処理部と、電子機器を制御する処理部とを別々に設けてもよい。また本実施形態が適用できる電子機器としては、携帯電話、光ディスクドライブ(CD−ROM、DVD)、光磁気ディスクドライブ(MO)、ハードディスクドライブ、TV、TVチューナ、VTR、ビデオカメラ、オーディオ機器、プロジェクタ、パーソナルコンピュータ、電子手帳、或いはワードプロセッサなどの種々のものがある。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
例えば明細書や図面中の記載において広義又は同義な用語(所与のインターフェース規格、第1の信号、第2の信号、第1のパッド、第2のパッド、第1の電源、第2の電源等)として引用された用語(USB、DP、DM、DPのパッド、DMのパッド、VDD、VSS等)は、明細書や図面中の他の記載においても広義又は同義な用語に置き換えることができる。
また本発明により実現されるデータ転送制御装置は、図2等で説明した構成に限定されるものではなく、種々の変形実施が可能である。また本発明のマクロセルの回路構成やレイアウトも、図9、図11、図16等で説明したものに限定されず、種々の変形実施が可能である。