説明

半導体装置

【課題】USBクロックやシステムクロック等を使用する半導体装置において、汎用性を向上することができる技術を提供する。
【解決手段】複数のクロック(入力クロック1、入力クロック2)を入力とし、その複数のクロックのそれぞれを入力クロック1カウンタ110a及び入力クロック2カウンタ110bで一定期間計測し、その計測結果を用いて複数のクロックのそれぞれの周波数を検出し、その検出結果に基づいて、クロックソース選択回路107bで複数のクロックのいずれかを選択し、PLL回路2(108b)で逓倍し、分周回路2(109b)で分周し、USBクロックを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置(以下、LSIともいう)に関し、特にその装置のクロック生成部分の構成に適用して有効な技術に関する。
【背景技術】
【0002】
本発明者が検討した技術として、例えば、半導体装置のUSB(Universal Serial Bus)クロック生成部分に関しては、以下の技術が考えられる。
【0003】
例えば、USBモジュールを有するLSI(Large Scale Integrated Circuit)において、USBクロックをLSI外部端子から専用に入力して、システムクロックとは異なる外部発振子によりUSBクロックを供給する方法がある。
【0004】
また、LSIのシステムクロックのソースとして、48MHz系(12MHz、24MHz等)のクロックを使用し、PLL(Phase Locked Loop)からUSBクロックを生成する方法がある。
【0005】
なお、システムクロックは、CPUクロック、バスクロック等の周波数可変のクロックである。USBクロックは、規格により周波数が定められており、周波数固定のクロックである。
【0006】
また、このようなクロック生成技術としては、例えば、特許文献1及び2に記載される技術などが挙げられる。
【特許文献1】特開2005−301592号公報
【特許文献2】特開2002−278645号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
ところで、前記のような半導体装置の技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【0008】
例えば、LSIのテスト機能として、USBブートと呼ばれるテストモードがある。このUSBブートは、LSIなどからなる携帯端末(携帯電話等)を、出荷時にセットとしての動作チェックをする際に使用するテストモードである。よって、USBブートは、出荷後にエンドユーザーが使用する動作モードではない。
【0009】
また、携帯端末でのテストモードのため、外部に繋がるインターフェイスは限られており、現在はUSBインターフェイス(USBモジュール)を使用してチェックプログラムを転送してテストすることが一般的である。
【0010】
USBブート時は、以下の手順で動作する。
【0011】
(1)外部端子でテストモードに設定する。
【0012】
(2)携帯端末の電源をオンにする。
【0013】
(3)内蔵ROMブートが開始する。
【0014】
(4)USBモジュールの設定を行う。
【0015】
(5)USBインターフェイス経由でチェックプログラムを転送し、携帯端末の内部フラッシュメモリへ書き込む。
【0016】
(6)フラッシュメモリに書き込まれたチェックプログラムを展開/実行し、携帯端末機能の各チェックを行う。
【0017】
(7)チェック完了後に外部へチェック結果を出力して終了する。
【0018】
以上のように、通常、USBブートは内蔵ROM(マスクROM等)から行われる。内蔵ROMの設定は固定化されるため、携帯端末の種々のテスト仕様に応じたLSIの汎用性が低下する。すなわち、携帯端末におけるLSI使用想定を事前に考慮しなければならないため、携帯端末のテスト仕様に応じて、種々の内蔵ROMが必要となる。
【0019】
また、携帯端末のクロック仕様はさまざまであり、ノイズ対策/コスト低減のため、USB専用に48MHzのクロックが供給されるか否かは、携帯端末の仕様次第である。また、システムクロックと共用する場合も考えられる。
【0020】
そこで、本発明の目的は、USBクロックやシステムクロック等を使用する半導体装置において、汎用性を向上することができる技術を提供することにある。
【0021】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0022】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【0023】
すなわち、本発明による半導体装置は、複数のクロックを入力とし、前記複数のクロックのそれぞれを一定期間計測し、その計測結果を用いて前記複数のクロックのそれぞれの周波数を検出する検出部(クロック制御部)と、前記検出部の検出結果に基づいて、前記複数のクロックのいずれかを選択し、特定周波数のクロックを生成するクロック生成部とを有するものである。
【発明の効果】
【0024】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【0025】
半導体装置を組み込んだ装置の種々の製品仕様によって変化するクロック仕様に対して柔軟に対応することができる。
【発明を実施するための最良の形態】
【0026】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には原則として同一の符号を付し、その繰り返しの説明は省略する。なお、以下の説明において、特に断らない限り、端子名を表す記号は同時に配線名、信号名も兼ね、電源の場合はその電圧値も兼ねるものとする。
【0027】
図1は本発明の一実施の形態による半導体装置の構成を示すブロック図である。
【0028】
まず、図1により、本実施の形態による半導体装置の構成の一例を説明する。本実施の形態の半導体装置は、例えば、周知の半導体製造技術によって1つの半導体チップ上に形成されたLSI100とされる。LSI100は、例えば、入力クロック1及び入力クロック2からバスクロック、CPUクロック及びUSBクロック等を生成するクロック生成回路101と、USBブートの設定が格納される内蔵ROM102と、内蔵されるROMや図示しない外付けのメモリに格納されたプログラムを実行し種々の演算処理を行うCPU103と、半導体装置の外部とのUSB通信の制御を行うUSBモジュール104などから構成されている。
【0029】
クロック生成回路101は、入力クロック1及び入力クロック2からバスクロック、CPUクロック及びUSBクロック等を生成するクロック生成部105と、入力クロック1及び入力クロック2の周波数を検出してクロック生成部105で生成されるクロックの設定・制御を行うクロック制御部106などから構成されている。
【0030】
クロック生成部105は、クロック制御部106の設定により入力クロック1及び入力クロック2から1つのクロックソースを選択するクロックソース選択回路107a,107bと、選択されたクロックソースの周波数逓倍を行うPLL回路1(108a),PLL回路2(108b)と、PLL回路1(108a),PLL回路2(108b)の出力から1つのクロックを選択する選択回路107cと、PLL回路1(108a),PLL回路2(108b)で逓倍されたクロックの周波数分周を行う分周回路1(109a),分周回路2(109b)などから構成されている。
【0031】
クロック制御部106は、RTCクロック(基準クロック)により、入力クロック1を計測する入力クロック1カウンタ110aと、入力クロック2を計測する入力クロック2カウンタ110bと、制御回路111などから構成されている。
【0032】
制御回路111は、CPU103の制御又は入力クロック1及び入力クロック2の計測結果に基づいて、クロックソース選択回路107bの選択値が設定されるレジスタ112aと、PLL回路2(108b)の逓倍率が設定されるレジスタ112bと、分周回路2(109b)の分周率が設定されるレジスタ112cと、CPU103の制御により、クロックソース選択が設定されるレジスタ112dと、逓倍率が設定されるレジスタ112eと、分周率が設定されるレジスタ112fなどから構成されている。
【0033】
LSI100の外部から供給されるクロックは、RTCクロック(32.768kHz)、入力クロック1、入力クロック2の3種類が供給される。また、LSI100の外部からはリセット信号が入力される。
【0034】
分周回路1(109a)からはバスクロック及びCPUクロックが出力され、分周回路2(109b)からはUSBクロック(48MHz/12MHz)が出力されている。
【0035】
次に、LSI100の動作の一例を説明する。
【0036】
LSI100では、USBクロックは入力クロック1、入力クロック2のどちらかから供給されることを想定している。
【0037】
まず、入力クロック1カウンタ110a及び入力クロック2カウンタ110bにおいて、RTCクロックのクロック1周期サイクルで入力クロック1、入力クロック2それぞれのクロックでカウントアップを行う。この値をもとにして、入力クロック1、入力クロック2の周波数が求められる。この2つの値をもとに、クロック制御部106において、どちらのクロックソースがUSBクロックの48MHzに適したクロックであるかを逓倍率/分周率から判定する。判定方法としては、例えば、USBクロックに近い周波数のものや、周波数が整数倍のものなど作り易い方を選択するようにする。この判定されたクロックソース選択/逓倍率/分周率の設定値をレジスタ112a〜112cに保存し、クロック生成部105に伝える。
【0038】
クロック生成部105は、この設定をもとに、クロックソース選択回路107bにおいて、入力クロック1、入力クロック2のいずれかを選択する。そして、PLL回路2(108b)において、選択したクロックソースをレジスタ112bからの逓倍率設定値の設定をもとに逓倍する。そして、分周回路2(109b)において、逓倍したクロックをレジスタ112cからの分周率設定値により分周を行って48MHz/12MHzのUSBクロックを生成し、USBモジュール104に供給する。なお、USBクロックのクロックソース選択/逓倍設定/分周設定は、CPU103からも設定可能である。
【0039】
なお、本実施の形態では基準クロックとなるRTCクロックを、外部から入力しているが、RTCクロックの代わりに、内部にリングオシレータを持たせるような構成をとっても良い。
【0040】
また、CPU103の制御によりレジスタ112d〜112fを更新し、クロックソース選択/逓倍設定/分周設定を行うことにより、バスクロック及びCPUクロックが生成される。
【0041】
また、PLL回路2(108b)を使用しなくてもPLL回路1(108a)のみでUSBクロックが生成できるときは、選択回路107cでクロックを切り換えて、システムクロックからUSBクロックを生成することにより、消費電力を低減することができる。
【0042】
本実施の形態による半導体装置は、以上のような構成・動作により、入力クロック1/入力クロック2のどちらにUSB用クロックが接続されていても、USBモジュール104に対してUSBクロックを供給することができる。例えば、入力クロック1に48MHzを接続し、入力クロック2に何も繋がなかった場合、クロック制御部106において、入力クロック1カウンタ110aは48MHzでカウントした値を保持する。一方、入力クロック2カウンタ110bはクロックが供給されていないのでカウントアップしない。この結果をクロック制御部106が判断し、現在、入力クロック1に対して48MHzが接続されていることを判定する。
【0043】
そして、クロック制御部106は、PLL回路2(108b)に対して逓倍設定1逓倍、分周設定1分周を分周回路2(109b)に伝え、USBクロック48MHz/12MHzを生成する。これにより、ユーザプログラムは、クロックソースの設定については手をふれずにUSBクロックを供給して動作できるため、内蔵ROM102にはクロックソース/逓倍/分周の設定のソースコードを書き込む必要がない。よって。内蔵ROM102のソースコードには、純粋にUSBモジュール104が動作するための、汎用的な設定のみを行えば良いので、クロック仕様に柔軟に対応できるハードウェア/内蔵ROMの構成にすることができる。
【0044】
すなわち、顧客のニーズ(製品仕様)によって変化するクロック仕様に対して柔軟に対応するために、USBクロックソースの検出をハードウェアで行い、製品共通のUSBブートの動作プログラムを内蔵ROMに配置する。このように不変なソースコードを内蔵ROMに配置し、変更要素のあるクロック仕様をハードウェアで吸収することで、柔軟なチップ(LSI)仕様を提供することができる。内蔵ROMにUSBブートプログラムを配置する以上、チップが出てきてから顧客の仕様を満たすためにソフトを組む手順では間に合わない。チップ設計の段階でUSBブートを行うためのハードウェア的な仕掛けが必要になる。このチップ設計段階と顧客のクロック仕様決定との間をUSBクロックのクロック制御部を使用することで吸収できる。つまり、どんなクロック仕様においてもUSBブートが対応できるハードウェア/内蔵ROMの構成にすることができる。
【0045】
次に、図2及び図3により、LSI100の他の動作例を説明する。図2は本発明の一実施の形態による半導体装置の動作を示すフローチャート、図3は、そのタイミングチャートである。
【0046】
図2及び図3は、USBブートモード(テストモード)動作時におけるUSBクロック検出動作を示す。また、図1には図示していないが、LSI100にはテストモードを設定するUSBブートモード端子がある。また、RTCクロックには32KHz、入力クロック1には32MHz、入力クロック2には80MHzのクロックが入力されているものとする。
【0047】
まず、USBブートモード端子がHIGH(ハイ)に設定されることにより、USBブートモードが選択される。そして、リセット端子がLOW(ロウ)になると、入力クロック1カウンタ110a及び入力クロック2カウンタ110bなどがリセットされる(ステップS201)。この時、クロック生成回路101及びCPU103の状態は、リセット状態となる。
【0048】
そして、LSI内部の初期化が完了したら(ステップS202)、リセット端子をHIGHにすることによりリセットが解除される(ステップS203)。
【0049】
すると、入力クロック1カウンタ110a及び入力クロック2カウンタ110bが入力クロック1及び入力クロック2によりカウントアップを開始する(ステップS204)。この時、クロック生成回路101の状態は、クロック検出期間となる。
【0050】
RTCクロックの1周期分、クロック1及び入力クロック2をカウントして、入力クロック1カウンタ110a及び入力クロック2カウンタ110bはカウントを終了する(ステップS205)。
【0051】
入力クロック1カウンタ110a及び入力クロック2カウンタ110bのカウント結果に基づいて、クロック制御部106で、クロック1及び入力クロック2の周波数を検出して判定を行う(ステップS206)。
【0052】
その判定結果に基づいて、クロック設定の更新を行う(ステップS207)。具体的には、レジスタ112a〜112cの値を更新することにより、クロックソース選択回路107bの切り換えを行い、PLL回路2(108b)の逓倍設定を更新して引き込みし直し(再発振し)、分周回路2(109b)の分周設定を切り換える。図3の例では、入力クロック1が選択され、逓倍設定は3逓倍、分周設定は2分周となっている(入力クロック1(32MHz)×3逓倍×2分周=48MHz)。この時、クロック生成回路101の状態は、検出結果からUSBクロック生成中(発振安定期間)となる。
【0053】
クロックの設定変更が完了して(ステップS208)、USBクロックが安定したら、CPU103を起動する(ステップS209)。この時、クロック生成回路101の状態は、USBクロック48MHz出力、CPU103の状態は、CPU動作状態(内部ROMブート)となる。
【0054】
なお、以上では、USBブートモード(テストモード)の例を示したが、通常のUSB動作の場合は、USBブートモード端子をLOWにすることにより、同様にして、USBクロックが出力され、CPU103が起動し、CPU103が外部/内部プログラムを実行する。
【0055】
次に、図4により、本実施の形態による半導体装置を応用した携帯電話の構成例と、その携帯電話におけるUSBブート動作を説明する。図4は、本発明の一実施の形態による半導体装置を搭載した携帯電話の構成例及びUSBブート動作を示すブロック図である。
【0056】
この携帯電話113は、例えば、LSI100と、フラッシュメモリ(FLASH)114と、SDRAM115と、RTCクロック発振器(OSC)116と、20MHzクロック発振器117と、48MHzクロック発振器118などから構成されている。また、LSI100は、前述の構成以外に、外部メモリインターフェイス(I/F)119を含み、USBモジュール104はバッファ(BUF)120を含んで構成されている。
【0057】
この装置において、USBブートは以下の手順で実行される。なお、図4に、以下の動作に対応する箇所にその番号を付した。
【0058】
(1)パワーオンリセットで、LSI100のリセット端子にリセット信号が入力され、LSI100が動作開始する。
【0059】
(2)クロック生成回路101で、入力クロック2からの48MHzを検出して、USBモジュール104へ48MHzのUSBクロックを供給する。
【0060】
(3)CPU103が内蔵ROM102からブートを行う。
【0061】
(4)CPU103がUSBモジュール104の各設定を行い、USBが外部へ接続できるようにする。
【0062】
(5)外部からUSBを接続する。
【0063】
(6)USB経由で、BUF120を通してUSBモジュール104から外部メモリインターフェイス(I/F)119、FLASH114経路で、チェックプログラムをFLASH114へ転送する。
【0064】
(7)CPU103がFLASH114に書き込まれたチェックプログラムを実行して、携帯電話の機能チェックを行う。
【0065】
(8)チェック結果を、USB経由で外部に出力し携帯電話のチェックを完了する。
【0066】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、 本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0067】
例えば、前記実施の形態においては、携帯電話に応用した場合について説明したが、これに限定されるものではなく、他の携帯端末装置についても適用可能である。
【0068】
また、前記実施の形態においては、周波数が確定しているクロックとしてUSBクロックについて説明したが、これに限定されるものではなく、周波数が確定しているクロックであれば、他のクロックについても適用可能である。
【0069】
また、本発明は、動作周波数が確定しているIPを搭載している半導体製品についても適用可能である。なぜなら、固定動作周波数が必要なIPは、外部/内部から特定のクロック周波数を供給する必要があり、また、CPUからの制御なしに自動で動作しなければならない場合があるからである。
【0070】
また、本発明は、IPの動作周波数が決定していない場合でも、自分の動作周波数を自動設定する半導体製品にも適用可能である。なぜなら、外部クロックに何MHzの信号が接続されているかにより、IPの動作可能なクロック周波数になるように、PLLを逓倍/分周してIPへ供給する場合があるからである。
【産業上の利用可能性】
【0071】
本発明は、半導体装置、電子機器等の製造業において利用可能である。
【図面の簡単な説明】
【0072】
【図1】本発明の一実施の形態による半導体装置の構成を示すブロック図である。
【図2】本発明の一実施の形態による半導体装置の動作を示すフローチャートである。
【図3】本発明の一実施の形態による半導体装置の動作を示すタイミングチャートである。
【図4】本発明の一実施の形態による半導体装置を搭載した携帯電話の構成例及びUSBブート動作を示すブロック図である。
【符号の説明】
【0073】
100 LSI
101 クロック生成回路
102 内蔵ROM
103 CPU
104 USBモジュール
105 クロック生成部
106 クロック制御部
107a,107b クロックソース選択回路
107c 選択回路
108a PLL回路1
108b PLL回路2
109a 分周回路1
109b 分周回路2
110a 入力クロック1カウンタ
110b 入力クロック2カウンタ
111 制御回路
112a〜112f レジスタ(REG)
113 携帯電話
114 フラッシュメモリ(FLASH)
115 SDRAM
116 RTCクロック発振器
117 20MHzクロック発振器
118 48MHzクロック発振器
119 外部メモリインターフェイス(I/F)
120 バッファ(BUF)

【特許請求の範囲】
【請求項1】
複数のクロックを入力とし、前記複数のクロックのそれぞれを一定期間計測し、その計測結果を用いて前記複数のクロックのそれぞれの周波数を検出する検出部と、
前記検出部の検出結果に基づいて、前記複数のクロックのいずれかを選択し、特定周波数のクロックを生成するクロック生成部とを有することを特徴とする半導体装置。
【請求項2】
請求項1記載の半導体装置において、
前記検出部は、カウンタを有し、
前記カウンタは、基準クロックにより前記複数のクロックのそれぞれを計測することを特徴とする半導体装置。
【請求項3】
請求項1記載の半導体装置において、
前記クロック生成部は、前記検出部の検出結果に基づいて、選択されたクロックの逓倍率、及び/又は分周率を設定し、前記特定周波数のクロックを生成するものであることを特徴とする半導体装置。
【請求項4】
請求項3記載の半導体装置において、
前記クロック生成部は、選択回路と、PLL回路と、分周回路とを有し、
前記検出部の検出結果に基づいて、前記複数のクロックのいずれかを前記選択回路で選択し、選択されたクロックを前記PLL回路で逓倍し、逓倍されたクロックを前記分周回路で分周し、前記特定周波数のクロックを生成することを特徴とする半導体装置。
【請求項5】
請求項3記載の半導体装置において、
USBモジュールを有し、
前記特定周波数のクロックが、前記USBモジュールに入力されていることを特徴とする半導体装置。
【請求項6】
請求項5記載の半導体装置において、
前記USBモジュールは、バッファを有し、
テストモード時にチェックプログラムが、前記USBモジュールにより外部から入力され、前記バッファを通して外部メモリに転送されることを特徴とする半導体装置。
【請求項7】
請求項6記載の半導体装置において、
CPUを有し、
テストモード時に前記CPUは、前記チェックプログラムを前記外部メモリから読み出して実行することを特徴とする半導体装置。
【請求項8】
請求項3記載の半導体装置において、
前記クロック生成部は、第1及び第2の選択回路と、第1及び第2のPLL回路と、第1及び第2の分周回路とを有し、
前記検出部の検出結果に基づいて、前記複数のクロックのいずれかを前記第1の選択回路で選択し、選択されたクロックを前記第1のPLL回路で逓倍し、逓倍されたクロックを前記第1の分周回路で分周し、前記特定周波数のクロックを生成し、
予め設定された条件に基づいて、前記複数のクロックのいずれかを前記第2の選択回路で選択し、選択されたクロックを前記第2のPLL回路で逓倍し、逓倍されたクロックを前記第2の分周回路で分周し、システムクロックを生成することを特徴とする半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−188220(P2007−188220A)
【公開日】平成19年7月26日(2007.7.26)
【国際特許分類】
【出願番号】特願2006−4831(P2006−4831)
【出願日】平成18年1月12日(2006.1.12)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】