(57)【要約】【課題】クロックスキューによる誤動作防止を、装置規模の増大や、転送効率の悪化を抑制しつつ、実現する半導体装置を提供する。【解決手段】複数の機能ブロック２，３と、インターフェース部４、クロック生成部１１、および、各機能ブロック２、３用のクロック遅延調整部１２、１３により構成される。クロック遅延調整部１２，１３は、第１、第２の機能ブロック２，３からの第１、第２の遅延調整制御信号６０，７０に基づいて、クロック遅延の切り替えを行い、インターフェース部４は、第１の機能ブロック２からの同期要求信号５０に基づいて、インターフェースプロトコルの、同期インターフェースと、非同期インターフェースの切り替えを行う。【選択図】      図１
2005010958.tif 000002
【特許請求の範囲】
【請求項１】
クロックを生成するクロック生成部と、
その動作にそれぞれ前記クロックを必要とする複数の機能ブロックと、
前記各機能ブロック間のインターフェースを行うインターフェース部と、
前記クロック生成部で生成されたクロックを、それぞれ遅延調整して前記各機能ブロックに供給する複数のクロック遅延調整部とを備え、
前記各クロック遅延調整部が、前記各機能ブロックからの遅延調整制御信号に基づいて、クロック遅延の切り替えを行い、
前記インターフェース部が、
前記各機能ブロック間のインターフェースを行い、かつ、
前記各機能ブロックからの同期要求信号に基づいて、インターフェースプロトコルの、非同期インターフェースと、同期インターフェースとの切り替えを行う、
ことを特徴とする半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記各機能ブロックは、該半導体装置の起動時には、前記同期要求信号を、非同期インターフェース要求とする、
ことを特徴とする半導体装置。
【請求項３】
請求項１記載の半導体装置において、
前記各機能ブロックは、それぞれ遅延調整制御レジスタを有し、該遅延調整制御レジスタの値により決定される前記遅延調整制御信号を、それぞれ出力する、
ことを特徴とする半導体装置。
【請求項４】
請求項３記載の半導体装置において、
前記各機能ブロックは、前記各遅延調整制御レジスタの値を書き換える命令を、実行しうるものである、
ことを特徴とする半導体装置。
【請求項５】
請求項３記載の半導体装置において、
前記各機能ブロックは、前記各遅延調整制御信号の値の書き換えを行うときに、その本来の機能の動作を停止する、
ことを特徴とする半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同期設計された半導体装置に関し、特に、プロセスばらつきによるクロックスキューが問題となる半導体装置の対策を図ったものに関する。
【０００２】
【従来の技術】
微細プロセスによるＬＳＩでは、プロセスばらつきによるクロックスキューが原因で、誤動作を起こすことが問題になっている。
【０００３】
従来、このような問題を解決するため、特許文献１に記載されるような、ＬＳＩ製造後にクロック遅延を調整し、クロックスキユーを補正する方法が知られている。
【０００４】
この従来例は、クロック信号の配線経路にヒューズと遅延素子とを備えた遅延時間調整回路を設け、半導体チップ製造後のクロック信号の測定結果に応じてヒューズを切断処理することで、クロックスキューを極力小さくできるようにしたものである。
【０００５】
【特許文献１】
特開平３−７６１４４号公報（第２頁、第１図−第３図）
【０００６】
【発明が解決しようとする課題】
しかしながら、上記従来の技術では、ＬＳＩ上での回路、たとえばヒューズセルや、パッドや、ＬＳＩチップ外からクロック調整を行うための装置などを必要とし、調整のための工程増加も含め、ＬＳＩ製造のコストを増大させるという問題があった。
【０００７】
本発明は、上記のような従来の問題点に鑑みてなされたもので、クロック遅延調整のための装置規模の増大を抑制でき、かつクロックスキューによる誤動作や、クロック遅延調整による転送効率の低下等をも防止することのできる半導体装置を提供するものである。
【０００８】
【課題を解決するための手段】
本発明の請求項１にかかる半導体装置は、クロックを生成するクロック生成部と、その動作にそれぞれ前記クロックを必要とする複数の機能ブロックと、前記各機能ブロック間のインターフェースを行うインターフェース部と、前記クロック生成部で生成されたクロックを、それぞれ遅延調整して前記各機能ブロックに供給する複数のクロック遅延調整部とを備え、前記各クロック遅延調整部が、前記各機能ブロックからの遅延調整制御信号に基づいて、クロック遅延の切り替えを行い、前記インターフェース部が、前記各機能ブロック間のインターフェースを行い、かつ、前記各機能ブロックからの同期要求信号に基づいて、インターフェースプロトコルの、非同期インターフェースと、同期インターフェースとの切り替えを行う、ことを特徴とするものである。
【０００９】
本発明の請求項２にかかる半導体装置は、請求項１記載の半導体装置において、前記各機能ブロックは、該半導体装置起動時には、前記同期要求信号を、非同期インターフェース要求とする、ことを特徴とするものである。
【００１０】
本発明の請求項３にかかる半導体装置は、請求項１記載の半導体装置において、前記各機能ブロックは、それぞれ遅延調整制御レジスタを有し、該遅延調整制御レジスタの値により決定される前記遅延調整制御信号を、それぞれ出力する、ことを特徴とするものである。
【００１１】
本発明の請求項４にかかる半導体装置は、請求項３記載の半導体装置において、前記各機能ブロックは、前記各遅延調整制御レジスタの値を書き換える命令を、実行しうるものである、ことを特徴とするものである。
【００１２】
本発明の請求項５にかかる半導体装置は、請求項３記載の半導体装置において、前記各機能ブロックは、前記各遅延調整制御信号の値の書き換えを行うときに、その本来の機能の動作を停止する、ことを特徴とするものである。
【００１３】
【発明の実施の形態】
（実施の形態１）
図１は、本発明の実施の形態１による半導体装置を示す。
図１に示す本実施の形態１の半導体装置１０００は、第１の機能ブロック２と、第２の機能ブロック３と、インターフェース部４と、クロック生成部１１と、第１のクロック遅延調整部１２と、第２のクロック遅延調整部１３と、から構成される。
【００１４】
ここで、第１の機能ブロック２は、たとえばＣＰＵであり、第２の機能ブロック３は、たとえば外部メモリインターフェースなどである。
【００１５】
第１の機能ブロック２は、第１のクロック遅延調整部１２から供給されるクロック１２０に同期して動作し、第１のインターフェース信号２０によって、インターフェース部４を介して、第２の機能ブロック３とインターフェースを行う。また、第１の機能ブロック２は、第１のクロック遅延調整制御信号６０を第１のクロック遅延調整部１２に、第２のクロック遅延調整制御信号７０を第２のクロック遅延調整部１３に、同期要求信号５０をインターフェース部４に供給する。なお、インターフェース部４は第２のインターフェース信号３０により機能ブロック３と、機能ブロック３は第３のインターフェース信号４０により半導体装置１０００外部とインターフェースを行う。
【００１６】
図２に、第１の機能ブロック２の構成を示す。
第１の機能ブロック２は、ＣＰＵコア等のコア部２０１、第１の遅延調整制御レジスタ２０２、タイマ２０３、割り込み制御部２０４、および、同期転送制御レジスタ２０５から構成され、コア部２０１、第１の遅延調整制御レジスタ２０２、および、同期転送制御レジスタ２０５は、クロック遅延調整部１２からのクロック１２０に同期して、タイマ２０３は、原振クロック１００に同期して、それぞれ動作する。コア部２０１は、第１のインターフェース信号２０により、命令、データの転送要求を行い、転送された命令を実行する。該コア部２０１は、第１の遅延調整制御レジスタ２０２への転送命令があると、遅延調整制御レジスタインターフェース信号２１０によって第１の遅延調整制御レジスタ２０２へのアクセスを行う。この時点では、第１、第２の遅延調整制御信号６０，７０の値は更新されない。
【００１７】
また、コア部２０１は、同期転送制御レジスタ２０５への転送命令があると、同期転送制御レジスタインターフェース信号２１５によって同期転送制御レジスタ２０５へのアクセスを行う。この後、コア部２０１は、命令実行、および転送要求を停止し、この停止後に、タイマ２０３をタイマ起動信号２１２を介して起動し、同期転送制御レジスタ２０５がセットされた場合は、同期要求信号５０をアサートし、同期転送制御レジスタ２０５がクリアされた場合は、同期要求信号５０をネゲートする。
【００１８】
そして、第１の遅延調整制御レジスタ２０２に遅延調整制御レジスタラッチイネーブル信号２１１をアサートし、第１の遅延調整制御レジスタ２０２の値を、第１、第２の遅延調整制御信号６０，７０に反映させる。
【００１９】
なお、リセット時には、同期要求信号５０はネゲートされており、クロックスキューの影響により、起動直後にコア部２０１が動作しなくなるのを防止している。
【００２０】
タイマ２０３は、原振クロック１００によってカウントを行い、オーバーフローすると、タイマ割り込み信号２１３がアサートされ、割り込み制御部２０４は割り込み信号２１４をアサートする。コア部２０１は、割り込み信号２１４がアサートされると、命令実行、および転送要求を再開する。
【００２１】
第２の機能ブロック３は、第２のクロック遅延調整部１３から供給されるクロック１３０に同期して動作し、第２のインターフェース信号３０によってインターフェース部４を介して、第１の機能ブロック２と、インターフェースを行う。また、第３のインターフェース信号４０によって、半導体装置１０００の外部資源、たとえば外部メモリとのインターフェースを行う。また、インターフェース部４は、クロック１２０，１３０に同期して動作し、第１，第２のインターフェース信号２０，３０のクロック間の乗せ変えを行う。
【００２２】
図３に、インターフェース部４の構成を示す。インターフェース部４は、マスタインターフェース部４０１と、スレーブインターフェース部４０２とで構成され、マスタインターフェース部４０１は、クロック１２０に同期して、マスタインターフェース部４０２は、クロック１３０に同期して、動作する。
【００２３】
図４に、同期要求信号５０がネゲートされた場合のインターフェース部４のタイミングチャートを示す。この場合のインターフェースは、非同期で行われる。負論理のリクエスト４１０をマスタインターフェース部４０１がアサートし、リード４１１をＨにした場合は、アドレス４１３へのリード転送要求となる。
【００２４】
スレーブインターフェース部４０２は、要求を受け付け可能であれば、負論理のリクエストａｃｋ４１２をアサートする。リクエスト４１０は、マスタインターフェース部４０１がリクエストａｃｋ４１２のアサートを検出した次のクロック１２０の立ち上がりでネゲートされ、リクエストａｃｋ４１２はスレーブインターフェース部４１１がリクエスト４１０のネゲートを検出した次のクロック１３０の立ち上がりでネゲートされる。スレーブインターフェース部４１１はリードデータが準備できたら、負論理のリードａｃｋ４２０をアサートし、データ４２２にリードデータを出力する。マスタインターフェース部４１０は、リードａｃｋ４２０のアサートを検出した次のクロック１２０の立ち上がりから、ａｃｋリリース４２１をアサートする。スレーブインターフェース部４０２はａｃｋリリース４２１を検出した次のクロック１３０の立ち上がりからリードａｃｋ４２０をネゲートし、マスタインターフェース部４０１はリードａｃｋ４２０のネゲートを検出した次のクロック１２０の立ち上がりからａｃｋリリース４２１をネゲートする。
【００２５】
リクエスト４１０をマスタインターフェース部４０１がアサートし、リード４１１をＬにした場合は、アドレス４１３へのデータ４１４のライト転送要求となる。リクエスト４１０と、リクエストａｃｋ４１２のタイミングは、リードの場合と同様で、ライトの場合は、リクエストａｃｋ４１２のネゲートにより、インターフェースとしては完了する。
【００２６】
図５に、同期要求信号５０がアサートされた場合のインターフェース部４のタイミングチャートを示す。この場合のインターフェースは同期で行われる。非同期の場合と異なるのは、リクエストａｃｋ４１２はアサートされてから、１サイクルでネゲートされ、リクエストも同時にネゲートされる点と、リードａｃｋ４２０が１サイクルのみのアサートで、これに対するａｃｋリリース４２１がアサートされない点である。
【００２７】
クロック生成部１１は、たとえばＰＬＬであり、原振クロック１００を逓倍したクロック１１０を、第１、第２のクロック遅延調整部１２０，１３０に供給する。
【００２８】
第１、第２のクロック遅延調整部１２，１３は、それぞれ、第１、第２の遅延調整制御信号６０，７０に基づいて、クロック１１０の遅延の調整を行い、それぞれクロック１２０，１３０を出力する。
【００２９】
図６に、第１のクロック遅延調整部１２の構成を示す。第１のクロック遅延調整部１２は、第１、第２の遅延バッファ１２００，１２０１と、セレクタ１２０２とで構成され、第１の遅延バッファ１２００と、第２の遅延バッファ１２０１は、それぞれ異なる遅延値で構成されており（図６の例では、第１の遅延バッファ１２００はバッファ１段分、第２の遅延バッファ１２０１はバッファ２段分）、セレクタ１２０２は、第１の遅延調整制御信号６０に基づいて、第１の遅延バッファ１２００と、第２の遅延バッファ１２０１のいずれかを通ったクロックをセレクトし、クロック１２０として出力する。この第１の遅延バッファ１２００および第２の遅延バッファ１２０１の選択は、予め、この半導体装置の特性の解析を行い、スキューがより小さくなるように上記第１，第２の遅延バッファ１２００，１２０１のいずれか一方を選択するように、第１の機能ブロック２のプログラムでクロック遅延調整部１２を制御すればよい。このプログラムは第１の機能ブロック２内部のＲＡＭやＲＯＭに蓄えていてもよいし、外部から第１の機能ブロック２に供給してもよい。また、遅延バッファの系統は、調整したいクロック遅延幅、最大遅延値に応じて、系統数を増減させてもよい。
【００３０】
第２のクロック遅延調整部１３も、第１のクロック遅延調整部１２のクロック１２０を、クロック１３０に、第１の遅延調整制御信号６０を、第２の遅延調整制御信号７０に、置き換えて考えればよい。
【００３１】
図７に、本半導体装置の動作モードの推移を示す。まず、電源オンにより基本的な立ち上げ動作に入り、インターフェース部４を非同期で動作させる（ステップ７０１参照）。次に、クロックスキューを抑えるように、クロック遅延調整部１２，１３の設定を変更する（ステップ７０２参照）。その後、機能ブロック２はインターフェース部４を非同期での動作状態から同期での動作状態に変更し、定常動作状態に移行する（ステップ７０３参照）。
【００３２】
そして、これら一連のクロック遅延調整は機能ブロックのプログラムにより実現されているので、ヒューズセルや、パッド等のハードウエアが不要となり、さらにはヒューズの切断処理が不要となり、ハードウエアの調整，操作により遅延量を調整する工程が少なくて済む。
【００３３】
なお、ステップ７０１は、機能ブロック２が同期要求信号５０をネゲートすることで非同期要求信号を発生することにより行われる。これにより上述のようにインターフェース部４が非同期で動作するので、起動時のクロックスキューによる誤動作を防止できる。
【００３４】
また、ステップ７０２は、機能ブロック２のコア部２０２が命令を実行することで、遅延調整制御レジスタ２０２の値を書き換え、この遅延調整制御レジスタ２０２の値により決定される遅延調整制御信号６０，７０を出力することで行われる。この遅延調整制御信号６０，７０の値を更新する際、機能ブロック２は、一旦、その機能を停止する。これにより、クロック遅延切り替え時のクロック波形により各機能がその動作に受ける影響をなくすことができる。
【００３５】
このような、本実施の形態１による半導体装置においては、クロックを生成するクロック生成部１１と、その動作にそれぞれ前記クロックを必要とする複数の機能ブロック２，３と、前記各機能ブロック２，３間のインターフェースを行うインターフェース部４と、前記クロック生成部１１で生成されたクロック１１０を、それぞれ遅延調整して前記各機能ブロック２，３に供給する複数のクロック遅延調整部１２，１３とを備え、前記各クロック遅延調整部１２，１３が、前記各機能ブロック２，３からの遅延調整制御信号６０，７０に基づいて、クロック遅延の切り替えを行い、前記インターフェース部４が、前記各機能ブロック２，３間のインターフェースを行い、かつ、前記各機能ブロック２，３からの同期要求信号５０に基づいて、インターフェースプロトコルの、非同期インターフェースと、同期インターフェースとの切り替えを行うようにしたので、機能ブロックに供給されるクロック遅延が、機能ブロックからの遅延調整制御信号により切り替えられる構成となっていることにより、本半導体装置製造後のクロック遅延の調整を行うことが可能となる。このため、クロック遅延調整のための装置規模の増大を抑制できる。また、インターフェース部でのインターフェースプロトコルが、機能ブロックからの同期要求信号により切り替えられる構成となっていることにより、同期インターフェースによる転送のスループットを向上できる効果がある。また、各機能ブロックは、該半導体装置の起動時には、前記同期要求信号を、非同期インターフェース要求とする、ものとしているので、起動時のクロックスキューによる誤動作は、これを防止することができる。
【００３６】
さらに、各機能ブロックは、それぞれ遅延調整制御レジスタを有し、該遅延調整制御レジスタの値により決定される前記遅延調整制御信号を、それぞれ出力するようにしているので、クロック遅延調整に必要な装置規模を大きく削減できる効果がある。
【００３７】
さらには、各機能ブロックは、各遅延調整制御レジスタの値を、命令実行により書き換えうるものとしているので、プログラムによってクロック遅延調整を行うことにより、本半導体装置製造後にクロック遅延調整を行う工程を削減することができる。
【００３８】
さらには、各機能ブロックは、遅延調整制御信号の値を更新する際に、一旦その機能を停止するようにしているので、クロック遅延切り替え時のクロック波形により各機能ブロックがその動作に受ける影響をなくすことができる。
【００３９】
なお、上記実施の形態では、同一の半導体装置内での複数の機能ブロック間に適用するようにものを示したが、複数の半導体装置に供給するクロックのスキューをプログラムで抑えるのに用いてもよい。
【００４０】
【発明の効果】
以上のように、本発明の請求項１にかかる半導体装置によれば、クロックを生成するクロック生成部と、その動作にそれぞれ前記クロックを必要とする複数の機能ブロックと、前記各機能ブロック間のインターフェースを行うインターフェース部と、前記クロック生成部で生成されたクロックを、それぞれ遅延調整して前記各機能ブロックに供給する複数のクロック遅延調整部とを備え、前記各クロック遅延調整部が、前記各機能ブロックからの遅延調整制御信号に基づいて、クロック遅延の切り替えを行い、前記インターフェース部が、前記各機能ブロック間のインターフェースを行い、かつ、前記各機能ブロックからの同期要求信号に基づいて、インターフェースプロトコルの、非同期インターフェースと、同期インターフェースとの切り替えを行うものとしたので、機能ブロックに供給されるクロック遅延が、機能ブロックからの遅延調整制御信号により切り替えられる構成となっていることにより、本半導体装置製造後のクロック遅延調整が可能となるとともに、インターフェース部でのインターフェースプロトコルが、機能ブロックからの同期要求信号により切り替えられる構成となっていることにより、同期インターフェースによる転送のスループットを向上できる効果がある。
【００４１】
本発明の請求項２にかかる半導体装置によれば、前記各機能ブロックは、該半導体装置の起動時には、前記同期要求信号を、非同期インターフェース要求とする、ものとしたので、起動時のクロックスキューによる誤動作を防止できる効果がある。
【００４２】
本発明の請求項３にかかる半導体装置によれば、前記各機能ブロックは、それぞれ、遅延調整制御レジスタを有し、該遅延調整制御レジスタの値により決定される前記遅延調整制御信号を、それぞれ出力する、ものとしたので、クロック遅延調整に必要な装置規模を削減できる効果がある。
【００４３】
本発明の請求項４にかかる半導体装置によれば、前記各機能ブロックは、前記各遅延調整制御レジスタの値を、命令実行により書き換えるようにしたので、プログラムによってクロック遅延調整を行うことにより、本半導体装置製造後にクロック遅延調整を行う工程を削減できる効果がある。
【００４４】
本発明の請求項５にかかる半導体装置によれば、各機能ブロックは、遅延調整制御信号の値を更新する際に、一旦その機能を停止するようにしたので、クロック遅延切り替え時のクロック波形により各機能がその動作に受ける影響をなくすことができる効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１による半導体装置の構成を示す図
【図２】上記実施の形態１における第１の機能ブロックの構成を示す図
【図３】上記実施の形態１におけるインターフェース部の構成を示す図
【図４】上記実施の形態１におけるインターフェース部の非同期インターフェースのタイミングを示す図
【図５】上記実施の形態１におけるインターフェース部の非同期インターフェースのタイミングを示す図
【図６】上記実施の形態１におけるクロック遅延調整部の構成を示す図
【図７】上記実施の形態１における動作モードの推移のフローチャートを示す図
【符号の説明】
１０００  半導体装置
２      第１の機能ブロック
３      第２の機能ブロック
４      インターフェース部
１１    クロック生成部
１２    第１のクロック遅延調整部
１３    第２のクロック遅延調整部
２０，３０，４０    第１、第２、第３のインターフェース信号
５０    同期要求信号
６０，７０    第１、第２の遅延調整制御信号
１００    原振クロック
１１０，１２０，１３０    クロック
２０１    コア部
２０２    遅延調整制御レジスタ
２０３    タイマ
２０４    割り込み制御部
２０５    同期転送制御レジスタ
２１０    遅延調整制御レジスタインターフェース信号
２１１    遅延調整制御レジスタラッチイネーブル信号
２１２    タイマ起動信号
２１３    タイマ割り込み信号
２１４    割り込み信号
２１５    同期転送制御レジスタインターフェース信号
４０１    マスタインターフェース部
４０２    スレーブインターフェース部
４１０    リクエスト
４１１    リード
４１２    クエストａｃｋ
４１３    アドレス
４１４，４２２    データ
４２０    リードａｃｋ
４２１    ａｃｋリリース
１２００，１２０１    第１、第２の遅延バッファ
１２０２    セレクタ
【図１】
2005010958.tif 000003
【図２】
2005010958.tif 000004
【図３】
2005010958.tif 000005
【図４】
2005010958.tif 000006
【図５】
2005010958.tif 000007
【図６】
2005010958.tif 000008
【図７】
2005010958.tif 000009