(57)【要約】【課題】  外部信号を用いずにクロック信号のデューティを正確に測定及び自動補正する。【解決手段】  半導体装置３０には、クロックデューティ自動補正回路１及びＰＬＬ回路２が設けられている。クロックデューティ自動補正回路１は、クロック測定部１１、クロックデューティ特定部１２、及びクロック生成部１３から構成され、ＰＬＬ回路２から出力されるデューティ比が変化した補正前クロック信号ＣＬＫＡが入力される。補正前クロック信号ＣＬＫＡのデューティがクロック測定部１１で測定され、クロックデューティ特定部１２でデューティが特定される。クロックデューティ特定部１２から出力されるクロック切り替え信号ＳＣＬＫＳ２と遅延選択信号ＳＤＳ２をもとにして、クロック生成部１３で補正前クロック信号ＣＬＫＡのデューティ比の自動補正が外部信号を用いずに行われる。【選択図】  図１
2008040691.tif 000002
【特許請求の範囲】
【請求項１】
デューティ比５０％、５０％の第１のクロック信号よりもＨｉｇｈレベル期間或いはＬｏｗレベル期間の短い第２のクロック信号を入力し、前記第２のクロック信号を遅延させる遅延時間の異なる複数の第１の遅延手段を有し、出力信号が変化した直後に、前記複数の第１の遅延手段の中から選択される遅延手段の第１の遅延時間を前記第２のクロック信号のデューティとするクロック測定部と、
前記クロック測定部から出力される前記出力信号にもとづいて、前記第２のクロック信号のデューティを特定する遅延選択信号を生成するクロックデューティ特定部と、
前記第２のクロック信号を入力し、前記第２のクロック信号を遅延させる遅延時間の異なる複数の第２の遅延手段を有し、前記クロックデューティ特定部から出力される前記遅延選択信号にもとづいて、前記第１のクロック信号のデューティ比５０％の時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延手段を前記複数の第２の遅延手段の中から選択し、前記第２の遅延時間を用いて前記第２のクロック信号のデューティを自動補正するクロック生成部と、
を具備することを特徴とするクロックデューティ自動補正回路。
【請求項２】
デューティ比５０％、５０％の第１のクロック信号よりもＨｉｇｈレベル期間或いはＬｏｗレベル期間の短い第２のクロック信号を入力し、前記第２のクロック信号を遅延させる遅延時間の異なる複数の第１の遅延回路を有し、出力信号がＬｏｗレベルからＨｉｇｈレベル変化した直後に、前記複数の第１の遅延回路の中から選択される遅延回路の第１の遅延時間を前記第２のクロック信号のデューティとするクロック測定部と、
前記第２のクロック信号のＨｉｇｈレベル期間或いはＬｏｗレベル期間のデューティ測定を選択するクロック切り替え信号を生成し、前記クロック切り替え信号を前記クロック測定部に出力して測定する前記第２のクロック信号のデューティのＨｉｇｈレベル期間或いはＬｏｗレベル期間のいずれかを決定し、前記クロック測定部から出力される前記出力信号にもとづいて、前記第２のクロック信号のデューティを特定する遅延選択信号を生成するクロックデューティ特定部と、
前記第２のクロック信号を入力し、前記第２のクロック信号を遅延させる遅延時間の異なる複数の第２の遅延回路を有し、前記クロックデューティ特定部から出力される前記遅延選択信号及び前記クロック切り替え信号にもとづいて、前記第１のクロック信号のデューティ比５０％の時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延回路を前記複数の第２の遅延回路の中から選択し、前記第２の遅延時間を用いて前記第２のクロック信号のＨｉｇｈレベル期間或いはＬｏｗレベル期間のデューティを自動補正するクロック生成部と、
を具備することを特徴とするクロックデューティ自動補正回路。
【請求項３】
Ｈｉｇｈレベル期間或いはＬｏｗレベル期間の短い周波数の異なる複数のクロック信号を入力し、周波数設定信号にもとづいて前記複数のクロック信号中から１つを選択する周波数選択手段と、
前記周波数選択手段で選択された第１のクロック信号を入力し、前記第１のクロック信号を遅延させる遅延時間の異なる複数の第１の遅延手段を有し、出力信号が変化した直後に、前記複数の第１の遅延手段の中から選択される遅延手段の第１の遅延時間を前記第１のクロック信号のデューティとするクロック測定部と、
前記クロック測定部から出力される前記出力信号にもとづいて、前記第１のクロック信号のデューティを特定する第１の遅延選択信号を生成するクロックデューティ特定部と、
前記周波数設定信号と前記クロックデューティ特定部から出力される前記第１の遅延選択信号を入力し、複数の組み合わせテーブルを有し、前記複数の組み合わせテーブルの中から前記第１のクロック信号に対応する組み合わせテーブルを選択し、選択された組み合わせテーブルの中から前記第１のクロック信号のデューティに対応する第２の遅延選択信号を選択する組み合わせテーブル部と、
前記第１のクロック信号を入力し、前記第１のクロック信号を遅延させる遅延時間の異なる複数の第２の遅延手段を有し、前記組み合わせテーブル部から出力される前記第２の遅延選択信号にもとづいて、前記第１のクロック信号の１／２サイクル時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延手段を前記複数の第２の遅延手段の中から選択し、前記第２の遅延時間を用いて前記第１のクロック信号のデューティを自動補正するクロック生成部と、
を具備することを特徴とするクロックデューティ自動補正回路。
【請求項４】
Ｈｉｇｈレベル期間或いはＬｏｗレベル期間の短い周波数の異なる複数のクロック信号を入力し、周波数設定信号にもとづいて前記複数のクロック信号中から１つを選択する周波数選択手段と、
前記周波数選択手段で選択された第１のクロック信号を入力し、前記第１のクロック信号を遅延させる遅延時間の異なる複数の第１の遅延回路を有し、出力信号がＬｏｗレベルからＨｉｇｈレベル変化した直後に、前記複数の第１の遅延回路の中から選択される遅延回路の第１の遅延時間を前記第１のクロック信号のデューティとするクロック測定部と、
前記第１のクロック信号のＨｉｇｈレベル期間或いはＬｏｗレベル期間のデューティ測定を選択するクロック切り替え信号を生成し、前記クロック切り替え信号を前記クロック測定部に出力して測定する前記第１のクロック信号のデューティのＨｉｇｈレベル期間或いはＬｏｗレベル期間のいずれかを決定し、前記クロック測定部から出力される前記出力信号にもとづいて、前記第１のクロック信号のデューティを特定する第１の遅延選択信号を生成するクロックデューティ特定部と、
前記周波数設定信号と前記クロックデューティ特定部から出力される前記第１の遅延選択信号を入力し、複数の組み合わせテーブルを有し、前記複数の組み合わせテーブルの中から前記第１のクロック信号に対応する組み合わせテーブルを選択し、選択された組み合わせテーブルの中から前記第１のクロック信号のデューティに対応する第２の遅延選択信号を選択する組み合わせテーブル部と、
前記第１のクロック信号を入力し、前記第１のクロック信号を遅延させる遅延時間の異なる複数の第２の遅延回路を有し、前記組み合わせテーブル部から出力される前記第２の遅延選択信号及び前記クロック切り替え信号にもとづいて、前記第１のクロック信号の１／２サイクル時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延回路を前記複数の第２の遅延回路の中から選択し、前記第２の遅延時間を用いて前記第１のクロック信号のＨｉｇｈレベル期間或いはＬｏｗレベル期間のデューティを自動補正するクロック生成部と、
を具備することを特徴とするクロックデューティ自動補正回路。
【請求項５】
クロック測定部、クロックデューティ特定部、及びクロック生成部を有するクロックデューティ自動補正回路を用いたクロックデューティ自動補正方法であって、
デューティ比５０％、５０％の第１のクロック信号よりもＨｉｇｈレベル期間或いはＬｏｗレベル期間の短い第２のクロック信号を前記クロック測定部及び前記クロック測定部に入力するステップと、
前記クロック測定部に設けられる複数の第１の遅延回路の中の１つを選択し、選択された遅延回路により、前記第２のクロック信号を遅延させ、前記クロック測定部の出力信号がＬｏｗレベルからＨｉｇｈレベルへ変化した直後に、前記複数の第１の遅延回路の中から選択される遅延回路の第１の遅延時間を第２のクロック信号のデューティとするステップと、
前記クロック測定部から出力される前記出力信号をクロックデューティ特定部に入力して、前記出力信号にもとづいて、前記第２のクロック信号のデューティを特定する遅延選択信号を生成するステップと、
前記第２のクロック信号及び前記遅延選択信号を前記クロック生成部に入力し、前記クロック生成部に設けられた前記第２のクロック信号を遅延させる遅延時間の異なる複数の第２の遅延回路の中から、前記遅延選択信号にもとづいて前記第１のクロック信号のデューティ比５０％の時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延回路を選択し、前記第２の遅延時間を用いて前記第２のクロック信号のデューティを自動補正するステップと、
を具備することを特徴とするクロックデューティ自動補正回路を用いたクロックデューティ自動補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号のデューティを測定及び補正する技術に関する。
【背景技術】
【０００２】
デジタルＬＳＩやＳｏＣ（System  On  ａ  Chip）などの半導体装置では、種々のクロック供給回路が用いられ、ＰＬＬ（Phase  Locked  Loop）回路（周波数逓倍回路とも呼称される）やＤＬＬ（Delay  locked  Loop）回路が多用されている。近年、半導体素子の微細化、高集積化の進展に伴い、クロック供給回路から出力されるクロック信号の高周波化が進行し、製造上のばらつきによる回路閾値の変化などにより、クロック信号の周波数及びデューティ変動が発生する可能性がある。このため、クロック信号の周波数及びデューティの高精度な測定及び補正が重要となっている。デューティ測定としては、クロック信号よりも数倍以上大きな周波数を有する外部サンプリングクロック信号を用いて、デューティの高精度な測定が行われている（例えば、特許文献１参照。）。
【０００３】
特許文献１などに記載されているクロック信号のデューティ測定では、半導体装置の内部で発生した信号だけではデューティを測定できないという問題点がある。また、最先端のデジタルＬＳＩやＳｏＣの場合、クロック信号が高周波数化されているので、より高速な外部サンプリングクロック信号が必要となるという問題点がある。そして、デューティを補正できないという問題点がある。更に、高精度なデューティ測定及び補正を行うためには回路構成が複雑になり、これらの回路を半導体装置内に設けた場合、半導体装置のコストが上昇し、一方、これらの回路を半導体装置外に設けた場合、評価コストが上昇するという問題点がある。
【特許文献１】特開２００１−１２４８１３号公報（頁１３、図１、及び頁１４、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、外部信号を用いずにクロック信号のデューティを正確に測定及び自動補正できるクロックデューティ自動補正回路及びそれを用いたクロックデューティ自動補正方法を提供する。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の一態様のクロックデューティ自動補正回路は、デューティ比５０％、５０％の第１のクロック信号よりもＨｉｇｈレベル期間或いはＬｏｗレベル期間の短い第２のクロック信号を入力し、前記第２のクロック信号を遅延させる遅延時間の異なる複数の第１の遅延手段を有し、出力信号が変化した直後に、前記複数の第１の遅延手段の中から選択される遅延手段の第１の遅延時間を前記第２のクロック信号のデューティとするクロック測定部と、前記クロック測定部から出力される前記出力信号にもとづいて、前記第２のクロック信号のデューティを特定する遅延選択信号を生成するクロックデューティ特定部と、前記第２のクロック信号を入力し、前記第２のクロック信号を遅延させる遅延時間の異なる複数の第２の遅延手段を有し、前記クロックデューティ特定部から出力される前記遅延選択信号にもとづいて、前記第１のクロック信号のデューティ比５０％の時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延手段を前記複数の第２の遅延手段の中から選択し、前記第２の遅延時間を用いて前記第２のクロック信号のデューティを自動補正するクロック生成部とを具備することを特徴とする。
【０００６】
更に、上記目的を達成するために、本発明の一態様のクロックデューティ自動補正回路を用いたクロックデューティ自動補正方法は、クロック測定部、クロックデューティ特定部、及びクロック生成部を有するクロックデューティ自動補正回路を用いたクロックデューティ自動補正方法であって、デューティ比５０％、５０％の第１のクロック信号よりもＨｉｇｈレベル期間或いはＬｏｗレベル期間の短い第２のクロック信号を前記クロック測定部及び前記クロック測定部に入力するステップと、前記クロック測定部に設けられる複数の第１の遅延回路の中の１つを選択し、選択された遅延回路により、前記第２のクロック信号を遅延させ、前記クロック測定部の出力信号がＬｏｗレベルからＨｉｇｈレベルへ変化した直後に、前記複数の第１の遅延回路の中から選択される遅延回路の第１の遅延時間を第２のクロック信号のデューティとするステップと、前記クロック測定部から出力される前記出力信号をクロックデューティ特定部に入力して、前記出力信号にもとづいて、前記第２のクロック信号のデューティを特定する遅延選択信号を生成するステップと、前記第２のクロック信号及び前記遅延選択信号を前記クロック生成部に入力し、前記クロック生成部に設けられた前記第２のクロック信号を遅延させる遅延時間の異なる複数の第２の遅延回路の中から、前記遅延選択信号にもとづいて前記第１のクロック信号のデューティ比５０％の時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延回路を選択し、前記第２の遅延時間を用いて前記第２のクロック信号のデューティを自動補正するステップとを具備することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、外部信号を用いずにクロック信号のデューティを正確に測定及び自動補正できる。
【発明を実施するための最良の形態】
【０００８】
以下本発明の実施例について図面を参照しながら説明する。
【実施例１】
【０００９】
本発明の実施例１に係るクロックデューティ自動補正回路及びそれを用いたクロックデューティ自動補正方法について、図面を参照して説明する。図１は半導体装置の構成を示すブロック図、図２はクロック測定部を示すブロック図、図３はクロックデューティ特定部を示すブロック図、図４はクロック生成部を示すブロック図である。本実施例では、ＳｏＣ（System  On  ａ  Chip）としての半導体装置にクロックデューティ自動補正回路を設けている。
【００１０】
図１に示すように、半導体装置３０には、クロックデューティ自動補正回路１及びＰＬＬ回路２が設けられ、クロックデューティ自動補正回路１から出力される補正後クロック信号ＣＬＫＣにもとづいて、半導体装置３０の内部回路が動作する。
【００１１】
クロックデューティ自動補正回路１は、クロック測定部１１、クロックデューティ特定部１２、及びクロック生成部１３から構成され、ＰＬＬ回路２から出力され、例えば製造上のバラツキによる回路閾値変化などによりデューティ比５０％、５０％である理想的なクロック信号ＣＬＫに対して、デューティ比が変化した補正前クロック信号ＣＬＫＡが入力される。そして、クロックデューティ自動補正回路１は、補正前クロック信号ＣＬＫＡを測定し、デューティ比５０％、５０％に自動補正された補正後クロック信号ＣＬＫＣを出力する。ここで、ＰＬＬ回路２から出力される補正前クロック信号ＣＬＫＡの周波数は、例えば、８００ＭＨｚと高速な信号である。
【００１２】
クロック測定部１１は、図２に示すように、遅延回路ＤＡ０、遅延回路ＤＡ１、・・・遅延回路ＤＡｎ、ＸＯＲ回路ＥＸ１、フリップフロップＦＦ１乃至３、インバータＩＮＶ１、インバータＩＮＶ２、セレクタＳＥＬ１、及びセレクタＳＥＬ２から構成されている。
【００１３】
インバータＩＮＶ２は、補正前クロック信号ＣＬＫＡを入力し、その反転信号をセレクタＳＥＬ２に出力する。セレクタＳＥＬ２は、補正前クロック信号ＣＬＫＡ及びその反転信号を入力し、クロックデューティ特定部１２から出力されるクロック切り替え信号ＳＣＬＫＳ１にもとづいていずれかの信号を選択して補正前クロック信号ＣＬＫＢとして出力する。
【００１４】
リセット機能付きフリップフロップＦＦ１は、セレクタＳＥＬ２と遅延回路ＤＡ０、遅延回路ＤＡ１、・・・遅延回路ＤＡｎの間に設けられ、補正前クロック信号ＣＬＫＢをクロックとして入力し、出力された信号はインバータＩＮＶ１で反転され、反転された信号が再度データとして入力される。フリップフロップＦＦ１は、補正前クロック信号ＣＬＫＢが立ち上がるときにデータをラッチする。そして、リセット機能付きフリップフロップＦＦ１は、リセット信号を入力して、リセット信号の信号レベルに応じて、信号Ａを出力する。ここで、信号Ａは制御クロック信号ＳＳＣＬＫ信号としてクロックデューティ特定部１２に出力される。
【００１５】
遅延回路ＤＡ０、遅延回路ＤＡ１、・・・遅延回路ＤＡｎは、リセット機能付きフリップフロップＦＦ１とセレクタＳＥＬ１の間に並列に設けられ、遅延時間の異なるｎ個の遅延回路ＤＡであり、リセット機能付きフリップフロップＦＦ１から出力された信号Ａを所定期間遅延させる役目をする。ここで、遅延回路ＤＡ０、遅延回路ＤＡ１、・・・遅延回路ＤＡｎは、第１の遅延手段である。
【００１６】
ここで、遅延回路ＤＡ０乃至ＤＡｎには、例えば、インバータを最小遅延単位とするインバータチェーンを用いるのが好ましい。そして、インバータチェーンを構成するインバータの数はそれぞれ偶数個に設定するのが好ましい。遅延回路ＤＡ０乃至ＤＡｎの遅延時間の算出方法は、例えば、デバイスデータから回路シミュレータであるＳＰＩＣＥ（Simulation  Program  with  Integrated  Circuit  Emphasis）を用いて算出、或いはＴＥＧ（Test  Element  Group）評価から得られるデータなどを用いて算出してもよい。なお、クロック測定部１１に設けられているＸＯＲ回路ＥＸ１、フリップフロップＦＦ１乃至３、インバータＩＮＶ１、インバータＩＮＶ２、セレクタＳＥＬ１、及びセレクタＳＥＬ２の遅延時間は、遅延回路ＤＡ０乃至ＤＡｎの遅延時間よりも十分短く設定するのが好ましい。
【００１７】
セレクタＳＥＬ１は、遅延回路ＤＡ０乃至ＤＡｎとフリップフロップＦＦ３の間に設けられ、クロックデューティ特定部１２から出力される遅延選択信号ＳＤＳ１を入力し、この遅延選択信号ＳＤＳ１にもとづいて遅延回路ＤＡ０乃至ＤＡｎのいずれかを選択し、信号Ａより所定時間遅延した信号ＡＤを出力する。
【００１８】
フリップフロップＦＦ２は、フリップフロップＦＦ１とＸＯＲ回路ＥＸ１の間に設けられ、補正前クロック信号ＣＬＫＢをクロックとして入力し、補正前クロック信号ＣＬＫＢが立ち下がるときに信号Ａデータをラッチし、信号Ｂを出力する。
【００１９】
フリップフロップＦＦ３は、セレクタＳＥＬ１とＸＯＲ回路ＥＸ１の間に設けられ、補正前クロック信号ＣＬＫＢをクロックとして入力し、補正前クロック信号ＣＬＫＢが立ち下がるときに信号ＡＤデータをラッチし、信号Ｃを出力する。
【００２０】
ＸＯＲ回路ＥＸ１は、フリップフロップＦＦ２から出力される信号ＢとフリップフロップＦＦ３から出力される信号Ｃを入力し、論理演算した測定結果出力信号ＳＳＫをクロックデューティ特定部１２に出力する。この測定結果出力信号ＳＳＫは、デューティ測定用として用いられる。
【００２１】
ここで、ＸＯＲ回路ＥＸ１は、フリップフロップＦＦ２の信号Ｂの信号レベルとフリップフロップＦＦ３の信号Ｃの信号レベルとが異なる場合、“Ｈｉｇｈ”レベルの信号を出力し、フリップフロップＦＦ２の信号Ｂの信号レベルとフリップフロップＦＦ３の信号Ｂの信号レベルとが同一の場合、“Ｌｏｗ”レベルの信号を出力する。なお、ＸＯＲ回路は、Ｅｘｃｌｕｓｉｖｅ−ＯＲ回路、ＥＸ−ＯＲ回路、或いはＥｘ−ＯＲとも呼称される。
【００２２】
クロックデューティ特定部１２には、図３に示すように、立ち上がりサイクル検出部２１、同期カウンタＤＣＮ、及びロード付フリップフロップＬＦＦ１が設けられている。
【００２３】
立ち上がりサイクル検出部２１には、フリップフロップＦＦ４と２入力ＡＮＤ回路ＡＮＤ１が設けられている。
【００２４】
フリップフロップＦＦ４は、クロック測定部１１から出力される制御クロック信号ＳＳＣＬＫをクロックとして入力し、制御クロック信号ＳＳＣＬＫが立ち下がるときに、クロック測定部１１のＸＯＲ回路ＥＸ１から出力される測定結果出力信号ＳＳＫのデータをラッチする。
【００２５】
２入力ＡＮＤ回路ＡＮＤ１は、フリップフロップＦＦ４とロード付フリップフロップＬＦＦ１の間に設けられ、フリップフロップＦＦ４から出力される信号を反転した信号と測定結果出力信号ＳＳＫを入力し、論理演算した信号である立ち上がりサイクル検出信号ＳＴＡＣをロード付フリップフロップＬＦＦ１に出力する。ここで、立ち上がりサイクル検出信号ＳＴＡＣとは、測定結果出力信号ＳＳＫが“Ｈｉｇｈ”レベルになったときの立ち上がりのサイクルを検出する信号である。
【００２６】
同期カウンタＤＣＮは、クロック測定部１１から出力される制御クロック信号ＳＳＣＬＫをクロックとして入力し、カウンタ制御信号ＳＣＮＳに同期してアップカウントした信号を出力する。同期カウンタＤＣＮから出力される複数の信号の内、最上位Ｂｉｔの信号はクロック切り替え信号ＳＣＬＫＳ１として用いられ、残りの信号は遅延選択信号ＳＤＳ１として用いられる。クロック切り替え信号ＳＣＬＫＳ１と遅延選択信号ＳＤＳ１は、クロック測定部１１に出力される。
【００２７】
ロード付フリップフロップＬＦＦ１は、クロック測定部１１から出力される制御クロック信号ＳＳＣＬＫをクロックとして入力し、立ち上がりサイクル検出信号ＳＴＡＣの信号レベルが“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベル（ｅｎａｂｌｅ信号になったとき）に変化し、制御クロック信号ＳＳＣＬＫが立ち上がるときに、同期カウンタＤＣＮから出力される信号のデータをラッチする。ロード付フリップフロップＬＦＦ１から出力される複数の信号の内、最上位Ｂｉｔの信号はクロック切り替え信号ＳＣＬＫＳ２として用いられ、残りの信号は遅延選択信号ＳＤＳ２として用いられる。クロック切り替え信号ＳＣＬＫＳ２と遅延選択信号ＳＤＳ２は、クロック生成部１３に入力される。
【００２８】
クロック生成部１３には、図４に示すように、遅延回路ＤＢ０、遅延回路ＤＢ１、・・・遅延回路ＤＢｎ、２入力ＡＮＤ回路ＡＮＤ２、２入力ＯＲ回路ＯＲ１、セレクタＳＥＬ３、及びセレクタＳＥＬ４から構成され、遅延時間の異なる遅延回路ＤＡがｎ個設けられている。
【００２９】
遅延回路ＤＢ０、遅延回路ＤＢ１、・・・遅延回路ＤＢｎ（第２の遅延手段）は、それぞれ補正前クロック信号ＣＬＫＡを入力し、補正前クロック信号ＣＬＫＡを所定時間遅延させる。遅延回路ＤＢ０、遅延回路ＤＢ１、・・・遅延回路ＤＢｎは、第２の遅延手段である。
【００３０】
ここで、遅延回路ＤＢ０、遅延回路ＤＢ１、・・・遅延回路ＤＢｎには、例えば、インバータを最小遅延単位とするインバータチェーンを用いるのが好ましい。そして、インバータチェーンを構成するインバータの数はそれぞれ偶数個に設定するのが好ましい。遅延回路ＤＢ０、遅延回路ＤＢ１、・・・遅延回路ＤＢｎの遅延時間の算出方法は、例えば、デバイスデータから回路シミュレータであるＳＰＩＣＥを用いて算出、或いはＴＥＧ評価から得られるデータなどを用いて算出してもよい。なお、クロック生成部１３に設けられている２入力ＡＮＤ回路ＡＮＤ２、２入力ＯＲ回路ＯＲ１、セレクタＳＥＬ３、及びセレクタＳＥＬ４の遅延時間は、遅延回路ＤＢ０乃至ＤＢｎの遅延時間よりも十分短く設定するのが好ましい。
【００３１】
セレクタＳＥＬ３は、遅延回路ＤＢ０乃至ＤＢｎと２入力ＯＲ回路ＯＲ１及び２入力ＡＮＤ回路ＡＮＤ２の間に設けられ、遅延選択信号ＳＤＳ２を入力し、この遅延選択信号ＳＤＳ２にもとづいて遅延回路ＤＡ０乃至ＤＡｎのいずれかを選択し、補正前クロック信号ＣＬＫＡより所定時間遅延した信号Ｄを出力する。
【００３２】
２入力ＯＲ回路ＯＲ１は、セレクタＳＥＬ３とセレクタＳＥＬ４の間に設けられ、補正前クロック信号ＣＬＫＡと信号Ｄを入力し、論理演算した信号Ｅを出力する。ここで、信号Ｅの信号は、補正前クロック信号ＣＬＫＡと信号Ｄが“Ｌｏｗ”レベルのとき“Ｌｏｗ”レベルとなり、それ以外は“Ｈｉｇｈ”レベルとなる。
【００３３】
２入力ＡＮＤ回路ＡＮＤ２は、補正前クロック信号ＣＬＫＡと信号Ｄを入力し、論理演算した信号Ｆを出力する。ここで、信号Ｆの信号は、補正前クロック信号ＣＬＫＡと信号Ｄが“Ｈｉｇｈ”レベルのとき“Ｈｉｇｈ”レベルとなり、それ以外は“Ｌｏｗ”レベルとなる。
【００３４】
セレクタＳＥＬ４は、クロック切り替え信号ＳＣＬＫＳ２を入力し、このクロック切り替え信号ＳＣＬＫＳ２にもとづいて信号Ｅ或いは信号Ｆのいずれかを選択し、デューティ比５０％、５０％に自動補正された補正後クロック信号ＣＬＫＣを出力する。
【００３５】
次に、クロックデューティ自動補正回路の動作について図５乃至図９を参照して説明する、図５はクロック信号のデューティと遅延回路の遅延時間の関係を示す図、図６は遅延回路の遅延時間の程度を示す図、図７はデューティの測定・補正におけるクロック信号の“Ｈｉｇｈ”レベル期間と“Ｌｏｗ”レベル期間の切り替えを示す図、図７（ａ）は“Ｈｉｇｈ”レベル期間の補正を示す図、図７（ｂ）は“Ｌｏｗ”レベル期間の補正を示す図、図８はクロック信号の“Ｈｉｇｈ”レベル期間を用いたクロックデューティ自動補正回路の動作を示すタイミングチャート、図９はクロック信号の“Ｌｏｗ”レベル期間を用いたクロックデューティ自動補正回路の動作を示すタイミングチャートである。
【００３６】
図５に示すように、理想的なクロック信号ＣＬＫは、“Ｈｉｇｈ”レベル期間ＴＨのデューティが５０％で、“Ｌｏｗ”レベル期間ＴＬのデューティが５０％で、ＴＨ＝ＴＬである。既知であるクロック信号ＣＬＫに対し、遅延回路ＤＡの遅延時間ＴＤＡと遅延回路ＤＢの遅延時間ＴＤＢの和を、
ＴＬ、ＴＨ（５０％）＝ＴＤＡ＋ＴＤＢ・・・・・・・・・式（１）
と設定する。ここでは、和を“Ｌｏｗ”レベル期間ＴＬとしている。
【００３７】
図６に示すように、遅延回路ＤＡでは遅延回路ＤＡｎの遅延時間ＴＤＡｎを最大にし、徐々に遅延時間を減少させ、遅延回路ＤＡ０の遅延時間ＴＤＡ０を最小に設定する。一方、遅延回路ＤＢでは遅延回路ＤＢ０の遅延時間ＴＤＡ０を最大にし、徐々に遅延時間を減少させ、遅延回路ＤＡｎの遅延時間ＴＤＡｎを最小に設定する。遅延回路ＤＡは遅延選択信号ＳＤＳ１で選択され、遅延回路ＤＢは遅延選択信号ＳＤＳ２で選択され、例えば、遅延回路ＤＡ１と遅延回路ＤＢ１とが選択される。なお、遅延回路ごとの遅延時間間隔を、
ＴＤＡｍ＋１−ＴＤＡｍ＝ＴＤＢｍ−ＴＤＢｍ＋１・・・・・・・・・・式（２）
と同一に設定するのが好ましい。ここで、ｍの値は０から（ｎ−１）である。
【００３８】
図７（ａ）に示すように、補正前クロック信号ＣＬＫＡの“Ｈｉｇｈ”レベル期間がクロック信号の“Ｈｉｇｈ”レベル期間ＴＨ（５０％）に対して短い場合、遅延回路を選択して“Ｈｉｇｈ”レベル期間を補正してクロック信号の“Ｈｉｇｈ”レベル期間ＴＨ（５０％）に近づける。
【００３９】
一方、図７（ｂ）に示すように、補正前クロック信号ＣＬＫＡの“Ｌｏｗ”レベル期間がクロック信号ＣＬＫの“Ｌｏｗ”レベル期間ＴＬ（５０％）に対して短い場合、遅延回路を選択して“Ｌｏｗ”レベル期間を補正してクロック信号ＣＬＫの“Ｌｏｗ”レベル期間ＴＬ（５０％）に近づける。なお、“Ｈｉｇｈ”レベル期間の補正と“Ｌｏｗ”レベル期間の補正の選択は、クロック切り替え信号ＳＣＬＫＳ１、クロック切り替え信号ＳＣＬＫＳ２、遅延選択信号ＳＤＳ１、及び遅延選択信号ＳＤＳ２にもとづいて行われる。
【００４０】
図８に示すように、例えば補正前クロック信号ＣＬＫＡの“Ｈｉｇｈ”レベル期間が理想的なクロック信号ＣＬＫよりも短い場合のクロックデューティ自動補正回路１の動作では、まず、フリップフロップＦＦ１から出力される信号Ａである制御クロック信号ＳＳＣＬＫが同期カウンタＤＣＮに入力され、カウンタ制御信号ＳＣＮによりアップカウントした信号が同期カウンタＤＣＮから出力される。
【００４１】
次に、同期カウンタＤＣＮから出力される最上位Ｂｉｔの信号である“Ｌｏｗ”レベルのクロック切り替え信号ＳＣＬＫＳ１がセレクタＳＥＬ２に入力され、補正前クロック信号ＣＬＫＢは補正前クロック信号ＣＬＫＡと同じ信号レベルに維持される。同期カウンタＤＣＮから出力される遅延回路ＤＡ０を選択する遅延選択信号ＳＳＤ１（図８で“０”と表示）がセレクタＳＥＬ１に入力され、遅延回路ＤＡ０が選択され、遅延回路ＤＡ０で遅延された信号ＡＤがセレクタＳＥＬ１から出力される。ここでは、遅延回路ＤＡ０の遅延時間をゼロに設定しているので、信号ＡＤは信号Ａと同じ信号レベルである。補正前クロック信号ＣＬＫＢ（補正前クロック信号ＣＬＫＡ）が立ち下がるときに、フリップフロップＦＦ２は信号Ａの“Ｈｉｇｈ”レベルデータをラッチし、“Ｈｉｇｈ”レベルの信号Ｂを出力し、フリップフロップＦＦ３は信号ＡＤの“Ｈｉｇｈ”レベルデータをラッチし、“Ｈｉｇｈ”レベルの信号Ｃを出力する。このときＸＯＲ回路ＥＸ１から出力される測定結果出力信号ＳＳＫは“Ｌｏｗ”レベルに維持される。
【００４２】
続いて、同期カウンタＤＣＮから出力される遅延回路ＤＡ１を選択する遅延選択信号ＳＳＤ１（図８で“１”と表示）がセレクタＳＥＬ１に入力され、遅延回路ＤＡ１が選択され、遅延回路ＤＡ１で遅延時間ＴＤＡ１分遅延された信号ＡＤがセレクタＳＥＬ１から出力される。補正前クロック信号ＣＬＫＢ（補正前クロック信号ＣＬＫＡ）が立ち下がるときに、フリップフロップＦＦ２は信号Ａの“Ｈｉｇｈ”レベルデータをラッチし、“Ｈｉｇｈ”レベルの信号Ｂを出力し、フリップフロップＦＦ３は信号ＡＤの“Ｈｉｇｈ”レベルデータをラッチし、“Ｈｉｇｈ”レベルの信号Ｃを出力する。このときＸＯＲ回路ＥＸ１から出力される測定結果出力信号ＳＳＫは“Ｌｏｗ”レベルに維持される。
【００４３】
そして、同期カウンタＤＣＮから出力される遅延回路ＤＡ２を選択する遅延選択信号ＳＳＤ１（図８で“２”と表示）がセレクタＳＥＬ１に入力され、遅延回路ＤＡ２が選択され、遅延回路ＤＡ２で遅延時間ＴＤＡ２分遅延された信号ＡＤがセレクタＳＥＬ１から出力される。補正前クロック信号ＣＬＫＢ（補正前クロック信号ＣＬＫＡ）が立ち下がるときに、フリップフロップＦＦ２は信号Ａの“Ｈｉｇｈ”レベルデータをラッチし、“Ｈｉｇｈ”レベルの信号Ｂを出力し、フリップフロップＦＦ３は信号ＡＤの“Ｌｏｗ”レベルデータをラッチし、“Ｌｏｗ”レベルの信号Ｃを出力する。このときＸＯＲ回路ＥＸ１から出力される測定結果出力信号ＳＳＫは“Ｈｉｇｈ”レベルとなる。ここで、測定結果出力信号ＳＳＫが“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベルに変化するので、ＰＬＬ出力の“Ｈｉｇｈ”期間が特定される。遅延回路ＤＡ２の遅延時間ＴＤＡ２は、補正前クロック信号ＣＬＫの“Ｈｉｇｈ”レベル期間にもっとも近いものと判定される。
【００４４】
次に、“Ｈｉｇｈ”レベルの測定結果出力信号ＳＳＫが立ち上がりサイクル検出部２１に入力され、サイクル検出部２１から出力される立ち上がりサイクル検出信号ＳＴＡＣが“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベル（ｅｎａｂｌｅ信号）に変化する。この“Ｈｉｇｈ”レベル（ｅｎａｂｌｅ信号）信号により、ロード付フリップフロップＬＦＦ１が動作を開始し、最上位Ｂｉｔである“Ｌｏｗ”レベルのクロック切り替え信号ＳＣＬＫＳ２と遅延回路ＤＡ２の遅延時間ＴＤＡ２と対をなす遅延回路ＤＢ２の遅延時間ＴＤＢ２を選択する遅延選択信号ＳＤＳ２がクロック生成部１３に出力される。ここで、遅延時間ＴＤＡ２、遅延時間ＴＤＢ２、及び理想的なクロック信号ＣＬＫの“Ｈｉｇｈ”レベル期間ＴＨ（５０％）の関係係は、式（１）と同様に、ＴＤＡ２＋ＴＤＢ２＝ＴＨ（５０％）と表される。
【００４５】
続いて、遅延時間ＴＤＢ２を選択する遅延選択信号ＳＤＳ２がクロック生成部１３のセレクタ３に入力され、セレクタ３から補正前クロック信号ＣＬＫＡを遅延時間ＴＤＢ２分遅延させた信号Ｄが出力される。補正前クロック信号ＣＬＫＡを遅延時間ＴＤＢ２分遅延させた信号Ｄと補正前クロック信号ＣＬＫＡが２入力ＯＲ回路ＯＲ１と２入力ＡＮＤ回路ＡＮＤ２にそれぞれ入力され、２入力ＯＲ回路ＯＲ１で論理演算された信号Ｅと２入力ＡＮＤ回路ＡＮＤ２で論理演算された信号ＦがセレクタＳＥＬ４に出力される。“Ｌｏｗ”レベルのクロック切り替え信号ＳＣＬＫＳ２がセレクタＳＥＬ４に入力され、この信号にもとづいて信号Ｅが選択される。選択された信号Ｅは、補正前クロック信号ＣＬＫＡの“Ｈｉｇｈ”レベル期間に遅延時間ＴＤＢ２分が加算され、補正前クロック信号ＣＬＫＡの“Ｌｏｗ”レベル期間に遅延時間ＴＤＢ２分が減算された信号で、“Ｈｉｇｈ”レベル期間ＴＨ（５０％）及び“Ｌｏｗ”レベル期間ＴＬ（５０％）を有する自動補正された補正後クロック信号ＣＬＫＣとして、セレクタＳＥＬ４から半導体装置３０の内部回路に出力される。
【００４６】
図９に示すように、補正前クロック信号ＣＬＫＡの“Ｈｉｇｈ”レベル期間が理想的なクロック信号ＣＬＫよりも長い場合のクロックデューティ自動補正回路１の動作では、まず、フリップフロップＦＦ１から出力される信号Ａである制御クロック信号ＳＳＣＬＫが同期カウンタＤＣＮに入力され、カウンタ制御信号ＳＣＮによりアップカウントした信号が、同期カウンタＤＣＮからアップカウントが終了するまで実行される。ここでは、遅延選択信号ＳＤＳ１で一番遅延時間の長い遅延回路ＤＡｎの遅延時間ＴＤＡｎが選択され、クロック切り替え信号ＳＣＬＫＳ１が“Ｌｏｗ”レベルの場合でも測定結果出力信号ＳＳＫが“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベルに変化しない。
【００４７】
次に、同期カウンタＤＣＮがリセット信号によりリセットされる。リセット後新たにカウンタ制御信号ＳＣＮＳにもとづいて同期カウンタＤＣＮがアップカウントした信号を出力する。同期カウンタＤＣＮから出力される最上位Ｂｉｔの信号であるクロック切り替え信号ＳＣＬＫＳ１は、“Ｈｉｇｈ”レベルに変更される。
【００４８】
続いて、“Ｈｉｇｈ”レベルのクロック切り替え信号ＳＣＬＫＳ１がセレクタＳＥＬ２に入力され、補正前クロック信号ＣＬＫＢは補正前クロック信号ＣＬＫと逆位相の信号となる。同期カウンタＤＣＮから出力される遅延回路ＤＡ０を選択する遅延選択信号ＳＳＤ０（図９で“０”と表示）がセレクタＳＥＬ１に入力され、遅延回路ＤＡ０が選択され、遅延回路ＤＡ０で遅延された信号ＡＤがセレクタＳＥＬ１から出力される。ここでは、遅延回路ＤＡ０の遅延時間をゼロに設定しているので、信号ＡＤは信号Ａと同じ信号レベルである。補正前クロック信号ＣＬＫＢが立ち下がるとき（補正前クロック信号ＣＬＫＡが立ち上がるとき）に、フリップフロップＦＦ２は信号Ａの“Ｈｉｇｈ”レベルデータをラッチし、“Ｈｉｇｈ”レベルの信号Ｂを出力し、フリップフロップＦＦ３は信号ＡＤの“Ｈｉｇｈ”レベルデータをラッチし、“Ｈｉｇｈ”レベルの信号Ｃを出力する。このときＸＯＲ回路ＥＸ１から出力される測定結果出力信号ＳＳＫは“Ｌｏｗ”レベルに維持される。
【００４９】
そして、同期カウンタＤＣＮから出力される遅延回路ＤＡ１を選択する遅延選択信号ＳＳＤ１（図９で“１”と表示）がセレクタＳＥＬ１に入力され、遅延回路ＤＡ１が選択され、遅延回路ＤＡ１で遅延時間ＴＤＡ１分遅延された信号ＡＤがセレクタＳＥＬ１から出力される。補正前クロック信号ＣＬＫＢが立ち下がるとき（補正前クロック信号ＣＬＫＡが立ち上がるとき）に、フリップフロップＦＦ２は信号Ａの“Ｈｉｇｈ”レベルデータをラッチし、“Ｈｉｇｈ”レベルの信号Ｂを出力し、フリップフロップＦＦ３は信号ＡＤの“Ｌｏｗ”レベルデータをラッチし、“Ｌｏｗ”レベルの信号Ｃを出力する。このときＸＯＲ回路ＥＸ１から出力される測定結果出力信号ＳＳＫは“Ｈｉｇｈ”レベルとなる。ここで、測定結果出力信号ＳＳＫが“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベルに変化するので、ＰＬＬ出力の“Ｌｏｗ”期間が特定される。遅延回路ＤＡ１の遅延時間ＴＤＡ１は、補正前クロック信号ＣＬＫの“Ｌｏｗ”レベル期間にもっとも近いものと判定される。
【００５０】
次に、“Ｈｉｇｈ”レベルの測定結果出力信号ＳＳＫが立ち上がりサイクル検出部２１に入力され、サイクル検出部２１から出力される立ち上がりサイクル検出信号ＳＴＡＣが“Ｌｏｗ”レベルから“Ｈｉｇｈ”レベル（ｅｎａｂｌｅ信号）に変化する。この“Ｈｉｇｈ”レベル（ｅｎａｂｌｅ信号）信号により、ロード付フリップフロップＬＦＦ１が動作を開始し、“Ｈｉｇｈ”レベルのクロック切り替え信号ＳＣＬＫＳ２と遅延回路ＤＡ１の遅延時間ＴＤＡ１と対をなす遅延回路ＤＢ１の遅延時間ＴＤＢ１を選択する遅延選択信号ＳＤＳ１がクロック生成部１３に出力される。ここで、遅延時間ＴＤＡ１、遅延時間ＴＤＢ１、及び理想的なクロック信号ＣＬＫの“Ｌｏｗ”レベル期間ＴＬ（５０％）の関係係は、式（１）と同様に、ＴＤＡ１＋ＴＤＢ１＝ＴＬ（５０％）と表される。
【００５１】
続いて、遅延時間ＴＤＢ１を選択する遅延選択信号ＳＤＳ１がクロック生成部１３のセレクタ３に入力され、セレクタ３から補正前クロック信号ＣＬＫＡを遅延時間ＴＤＢ１分遅延させた信号Ｄが出力される。補正前クロック信号ＣＬＫＡを遅延時間ＴＤＢ１分遅延させた信号Ｄと補正前クロック信号ＣＬＫＡが２入力ＯＲ回路ＯＲ１と２入力ＡＮＤ回路ＡＮＤ２にそれぞれ入力され、２入力ＯＲ回路ＯＲ１で論理演算された信号Ｅと２入力ＡＮＤ回路ＡＮＤ２で論理演算された信号ＦがセレクタＳＥＬ４に出力される。“Ｈｉｇｈ”レベルのクロック切り替え信号ＳＣＬＫＳ２がセレクタＳＥＬ４に入力され、この信号にもとづいて信号Ｆが選択される。選択された信号Ｆは、補正前クロック信号ＣＬＫＡの“Ｌｏｗ”レベル期間に遅延時間ＴＤＢ１分が加算され、補正前クロック信号ＣＬＫＡの“Ｈｉｇｈ”レベル期間に遅延時間ＴＤＢ１分が減算された信号で、“Ｈｉｇｈ”レベル期間ＴＨ（５０％）及び“Ｌｏｗ”レベル期間ＴＬ（５０％）を有する自動補正された補正後クロック信号ＣＬＫＣとして、セレクタＳＥＬ４から半導体装置３０の内部回路に出力される。
【００５２】
なお、補正前クロック信号ＣＬＫＡの“Ｈｉｇｈ”レベル期間が理想的なクロック信号ＣＬＫよりも長い場合のクロックデューティ自動補正回路１の動作で、同期カウンタＤＣＮから出力される最上位Ｂｉｔのクロック信号ＳＣＬＫＳ１を最初“Ｌｏｗ”レベルに設定しているが、この設定を“Ｈｉｇｈ”レベルに設定してもよい。その場合、同期カウンタＤＣＮをリセットする必要がなくなり、補正前クロック信号ＣＬＫＡの測定及び自動補正するステップを簡略化することができる。
【００５３】
上述したように、本実施例のクロックデューティ自動補正回路及びクロックデューティ自動補正方法では、クロックデューティ自動補正回路１及びＰＬＬ回路２が半導体装置３０に設けられている。クロックデューティ自動補正回路１は、クロック測定部１１、クロックデューティ特定部１２、及びクロック生成部１３から構成されている。ＰＬＬ回路２から出力されるデューティ比が変化した補正前クロック信号ＣＬＫＡがクロック測定部１１及びクロック生成部１３に入力される。補正前クロック信号ＣＬＫＡのデューティがクロック測定部１１で測定され、クロックデューティ特定部１２でデューティが特定される。クロックデューティ特定部１２から出力されるクロック切り替え信号ＳＣＬＫＳ２と遅延選択信号ＳＤＳ２がクロック生成部１３に入力され、クロック生成部１３で補正前クロック信号ＣＬＫＡのデューティ比の自動補正が外部信号を用いずに行われる。
【００５４】
このため、従来のように半導体装置３０の内部クロック信号よりも数倍以上大きな周波数を有する外部サンプリングクロック信号を用いることなく、半導体装置内の信号だけを用いて、補正前クロック信号ＣＬＫＡのデューティ測定及び自動補正を高精度に行うことができる。また、従来よりも回路構成が比較的簡略であり、デューティ測定及び自動補正を簡略に行うことができ、高価な測定装置を用いる必要がない。
【００５５】
なお、本実施例では遅延回路にインバータチェーンを用いているが、ＭＯＳトランジスタから構成されるバッファ、抵抗、或いはＲＣ遅延回路などを用いてもよい。また、セレクタを用いて複数の遅延回路のいずれかを選択して、クロック信号を遅延させているが、セレクタを用いて複数の遅延回路のいずれかを選択する選択手段を複数段設けてもよい。この場合、１段目の遅延回路の遅延時間を大きくし、２段目以降の遅延回路の遅延時間を小さくすることにより、１段構成の場合と比較して遅延回路の数を削減することが可能となる。更に、クロックデューティ自動補正回路は、ＰＬＬ回路から直接補正前クロック信号を入力しているが、回路を介して間接的に補正前クロック信号を入力させてもよい。
【実施例２】
【００５６】
次に、本発明の実施例２に係るクロックデューティ自動補正回路について、図面を参照して説明する。図１０は半導体装置の構成を示すブロック図、図１１は遅延回路の遅延時間の程度を示す図、図１２は組み合わせテーブル部に格納されている遅延回路の組み合わせテーブルを示す図である。本実施例ではクロック信号がｋ種類、クロックデューティ自動補正回路に入力される。
【００５７】
図１０に示すように、半導体装置３０ａには、クロックデューティ自動補正回路１ａが設けられ、クロックデューティ自動補正回路１ａから出力される補正後クロック信号ＣＬＫＣａにもとづいて、半導体装置３０ａの内部回路が動作する。
【００５８】
ここでは、クロック測定部１１に設けられている遅延回路ＤＡの遅延時間ＴＤＡとクロック生成部１３に設けられている遅延回路ＤＢの遅延時間ＴＤＢの関係を図１１に示すように実施例１とは別構成にしている。即ち、クロック測定部１１に設けられている遅延回路ＤＡｎの遅延時間ＴＤＡｎを最大にし、徐々に遅延時間を減少させ、遅延回路ＤＡ０の遅延時間ＴＤＡ０を最小に設定する。同様に、クロック生成部１３に設けられている遅延回路ＤＢｎの遅延時間ＴＤＢｎを最大にし、徐々に遅延時間を減少させ、遅延回路ＤＢ０の遅延時間ＴＤＢ０を最小に設定する。なお、遅延回路ごとの遅延時間を、
ＴＤＡｍ＝ＴＤＢｍ・・・・・・・・・・・・・・・・・式（３）
と同一に設定するのが好ましい。ここで、ｍの値は０からｎである。遅延回路ごとの遅延時間間隔は同一に変化させるのが好ましい。
【００５９】
クロックデューティ自動補正回路１ａは、クロック測定部１１、クロックデューティ特定部１２、クロック生成部１３、組み合わせテーブル部１４、及びセレクタＳＥＬ５から構成され、図示しない複数のＰＬＬ回路から出力され、例えば製造上のバラツキによる回路閾値変化などによりデューティ比５０％、５０％である理想的なクロック信号に対して、デューティ比が変化した補正前クロック信号ＣＬＫＡａ、・・・補正前クロック信号ＣＬＫＡｋが入力される。そして、１つクロックデューティ自動補正回路１ａは、補正前クロック信号ＣＬＫＡａ、・・・補正前クロック信号ＣＬＫＡｋのいずれかを選択し、選択された補正前クロック信号を測定し、デューティ比５０％、５０％に自動補正された補正後クロック信号を出力する。
【００６０】
セレクタＳＥＬ（周波数選択手段）５は、複数のＰＬＬ回路から出力され、それぞれ周波数の異なるデューティ比が変化したｋ種類の補正前クロック信号ＣＬＫＡａ、・・・、補正前クロック信号ＣＬＫＡｋを入力し、周波数設定信号ＳＳＨＳにもとづいていずれか１つ補正前クロック信号ＣＬＫＡとして選択出力する。ここでは、補正前クロック信号ＣＬＫＡａが選択される。なお、補正前クロック信号ＣＬＫＡａ、・・・、補正前クロック信号ＣＬＫＡｋは、それぞれＰＬＬ回路から直接或いは回路を介して出力された信号である。
【００６１】
クロック測定部１１は、セレクタＳＥＬ５とクロックデューティ特定部１２の間に設けられ、セレクタＳＥＬ５で選択された補正前クロック信号ＣＬＫＡａを入力し、測定結果出力信号ＳＳＫａと制御クロック信号ＳＣＬＫａをクロックデューティ特定部１２に出力する。なお、クロック測定部１１の動作は実施例１と同様なので説明を省略する。
【００６２】
クロックデューティ特定部１２は、クロック測定部１１とクロック生成部１３及び組み合わせテーブル部１４の間に設けられ、クロック測定部１１から出力される測定結果出力信号ＳＳＫａと制御クロック信号ＳＣＬＫａを入力し、クロック切り替え信号ＳＣＬＫＳ１ａと遅延選択信号ＳＤＳ１ａをクロック測定部１１に出力し、遅延選択信号ＳＤＳ２ａを組み合わせテーブル部１４に出力し、クロック切り替え信号ＳＣＬＫＳ２ａをクロック生成部１３に出力する。なお、クロックデューティ特定部１２の回路動作は実施例１と同様であるので回路動作の説明を省略する。クロックデューティ特定部１２から出力される遅延選択信号ＳＤＳ２ａが組み合わせテーブル部１４に出力されるのと、クロックデューティ特定部１２から出力される遅延選択信号ＳＤＳ２ａが遅延回路ＤＡの遅延時間ＴＤＡを選択した信号であるというのが実施例１と異なる。
【００６３】
組み合わせテーブル部１４は、例えば、複数の組み合わせテーブルを記憶するレジスタから構成され、クロックデューティ特定部１２とクロック生成部１３の間に設けられ、クロックデューティ特定部１２から出力される遅延選択信号ＳＤＳ２ａと周波数設定信号ＳＳＨＳを入力し、周波数設定信号ＳＳＨＳに対応する組み合わせテーブルを選択する。そして、組み合わせテーブル部１４は遅延回路ＤＡの遅延時間ＴＤＡを選択した信号である遅延選択信号ＳＤＳ２ａと対をなす遅延回路ＤＢの遅延時間ＴＤＢを選択し、遅延選択信号ＳＤＳ２ｂをクロック生成部１３に出力する。
【００６４】
組み合わせテーブルは、図１２に示すように、周波数ごとに遅延回路ＤＡと遅延回路ＤＢがテーブルとしてそれぞれ設けられている。ここでは、補正前クロック信号ＣＬＫＡの数ｋを３とした場合を示している。周波数（ｆ）が、例えば８００ＭＨｚ、周波数（ｆ／２）が、例えば４００ＭＨｚ、周波数（ｆ／４）が、例えば、２００ＭＨｚに設定されている。
【００６５】
周波数（ｆ）での組み合わせテーブルでは、図１２（ａ）に示すように、遅延回路ＤＡとして（１／４）ｎ個の遅延回路（ＤＡ０乃至ＤＡ（（1/4）ｎ）が設けられ、遅延回路ＤＢとしてｎ個の遅延回路（ＤＢ０乃至ＤＢ（（1/4）ｎ）が設けられている。ここで、遅延回路ＤＡ（（1/4）ｎ）とは、遅延時間ＴＤＡｎの１／４の遅延時間を有する遅延回路であり、遅延回路ＤＢ（（1/4）ｎ）とは、遅延時間ＴＤＢｎの１／４の遅延時間を有する遅延回路である。そして、対をなす遅延時間の和は一定な値Ｔ１に保たれている。例えば、周波数設定信号ＳＳＨＳで周波数（ｆ）が選択され、クロックデューティ部１２で遅延時間ＴＤＡ０の遅延回路ＤＡ０を選択する遅延選択信号ＳＤＳ２ａが選択された場合、遅延時間ＴＤＢ（（1/4）ｎ）を有し、遅延回路ＤＡ０と対をなす遅延回路ＤＢ（（1/4）ｎ）を選択する遅延選択信号ＳＤＳ２ｂがクロック生成部１３に出力される。
【００６６】
周波数（ｆ／２）での組み合わせテーブルでは、図１２（ｂ）に示すように、遅延回路ＤＡとして（１／２）ｎ個の遅延回路（ＤＡ０乃至ＤＡ（（1/２）ｎ）が設けられ、遅延回路ＤＢとしてｎ個の遅延回路（ＤＢ０乃至ＤＢ（（1/２）ｎ）が設けられている。ここで、遅延回路ＤＡ（（1/２）ｎ）とは、遅延時間ＴＤＡｎの１／２の遅延時間を有する遅延回路であり、遅延回路ＤＢ（（1/２）ｎ）とは、遅延時間ＴＤＢｎの１／２の遅延時間を有する遅延回路である。そして、対をなす遅延時間の和は一定な値２×Ｔ１に保たれている。例えば、周波数設定信号ＳＳＨＳで周波数（ｆ／２）が選択され、クロックデューティ部１２で遅延時間ＴＤＡ０の遅延回路ＤＡ０を選択する遅延選択信号ＳＤＳ２ａが選択された場合、遅延時間ＴＤＢ（（1/２）ｎ）を有し、遅延回路ＤＡ０と対をなす遅延回路ＤＢ（（1/２）ｎ）を選択する遅延選択信号ＳＤＳ２ｂがクロック生成部１３に出力される。
【００６７】
周波数（ｆ／４）での組み合わせテーブルでは、図１２（ｃ）に示すように、遅延回路ＤＡとしてｎ個の遅延回路（ＤＡ０乃至ＤＡｎ）が設けられ、遅延回路ＤＢとしてｎ個の遅延回路（ＤＢ０乃至ＤＢｎ）が設けられている。ここで、対をなす遅延時間の和は一定な値である４×Ｔ１に保たれている。例えば、周波数設定信号ＳＳＨＳで周波数（ｆ／４）が選択され、クロックデューティ部１２で遅延時間ＴＤＡ０の遅延回路ＤＡ０を選択する遅延選択信号ＳＤＳ２ａが選択された場合、遅延時間ＴＤＢｎを有し、遅延回路ＤＡ０と対をなす遅延回路ＤＢｎを選択する遅延選択信号ＳＤＳ２ｂがクロック生成部１３に出力される。
【００６８】
ここでは、補正前クロック信号ＣＬＫＡの周波数が（ｆ／２）になった場合、周波数が（ｆ）のときよりも遅延回路の数を２倍、遅延時間の和を２倍に設定している。また、補正前クロック信号ＣＬＫＡの周波数が（ｆ／４）になった場合、周波数が（ｆ）のときよりも遅延回路の数を４倍、遅延時間の和を４倍に設定している。つまり、ギア比を変更し、例えば補正前クロック信号ＣＬＫＡの周波数が（ｆ／ｋ）になった場合、周波数が（ｆ）のときよりも遅延回路の数をｋ倍、遅延時間の和をｋ倍に設定すればよい。
【００６９】
上述したように、本実施例のクロックデューティ自動補正回路では、クロック測定部１１、クロックデューティ特定部１２、クロック生成部１３、組み合わせテーブル部１４、及びセレクタＳＥＬ５が設けられている。セレクタＳＥＬ５は、複数のＰＬＬ回路から出力され、それぞれ周波数の異なるデューティ比が変化した補正前クロック信号ＣＬＫＡａ、・・・、補正前クロック信号ＣＬＫＡｋを入力し、周波数設定信号ＳＳＨＳにもとづいていずれか１つ補正前クロック信号として選択出力する。セレクタＳＥＬ５で選択された補正前クロック信号がクロック測定部１１及びクロック生成部１３に入力される。選択された補正前クロック信号のデューティがクロック測定部１１で測定され、クロックデューティ特定部１２でデューティが特定される。クロックデューティ特定部１２から出力される遅延選択信号ＳＤＳ２ａと周波数設定信号ＳＳＨＳから、特定された周波数に対応するクロック測定部１１の遅延回路ＤＡと対をなす遅延回路ＤＢを選択する遅延選択信号ＳＤＳ２ｂが組み合わせテーブル部１４から出力される。組み合わせテーブル部１４から出力される遅延選択信号ＳＤＳ２ｂとクロックデューティ特定部１２から出力されるクロック切り替え信号ＳＣＬＫＳ２ａがクロック生成部１３に入力され、クロック生成部１３で選択された補正前クロック信号のデューティ比の自動補正が外部信号を用いずに行われる。
【００７０】
このため、従来のように半導体装置３０の内部クロック信号よりも数倍以上大きな周波数を有する外部サンプリングクロック信号を用いることなく、半導体装置内の信号だけを用いて、組み合わせテーブル部１４に記憶される遅延回路ＤＡ及び遅延回路ＤＢの組み合わせテーブルから異なる種類の補正前クロック信号のデューティ測定及び自動補正を高精度に行うことができる。また、従来よりも回路構成が比較的簡略であり、デューティ測定及び自動補正を簡略に行うことができ、高価な測定装置を用いる必要がない。
【００７１】
本発明は、上記実施例に限定されるものではなく、発明の趣旨を逸脱しない範囲で、種々、変更してもよい。
【００７２】
例えば、本実施例では、クロックデューティ自動補正回路を用いて、ＰＬＬ回路から出力されるクロック信号のデューティ比を自動補正しているが、ＤＬＬ（Delay  locked  Loop）回路やＳＭＤ（Synchronous  Mirror  Delay）回路などから出力されるクロック信号のデューティ比を自動補正することができる。また、実施例では、セレクタを用いて複数の遅延回路のいずれかを選択して、クロック信号を遅延させているが、セレクタを用いて複数の遅延回路のいずれかを選択する選択手段を複数段設けてもよい。この場合、１段目の遅延回路の遅延時間を大きくし、２段目以降の遅延回路の遅延時間を小さくすることにより、１段構成の場合と比較して遅延回路の数を削減することが可能となる。
【００７３】
本発明は、以下の付記に記載されているような構成が考えられる。  
（付記１）  デューティ比５０％、５０％の第１のクロック信号よりもＨｉｇｈレベル期間或いはＬｏｗレベル期間の短い第２のクロック信号を入力し、前記第２のクロック信号を遅延させる遅延時間の異なるインバータチェーンから構成される複数の第１の遅延回路を有し、出力信号が変化した直後に、前記複数の第１の遅延回路の中から選択される遅延回路の第１の遅延時間を前記第２のクロック信号のデューティとするクロック測定部と、前記クロック測定部から出力される前記出力信号にもとづいて、前記第２のクロック信号のデューティを特定する遅延選択信号を生成するクロックデューティ特定部と、前記第２のクロック信号を入力し、前記第２のクロック信号を遅延させる遅延時間の異なるインバータチェーンから構成される複数の第２の遅延回路を有し、前記クロックデューティ特定部から出力される前記遅延選択信号にもとづいて、前記第１のクロック信号のデューティ比５０％の時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延回路を前記複数の第２の遅延回路の中から選択し、前記第２の遅延時間を用いて前記第２のクロック信号のデューティを自動補正するクロック生成部とを具備するクロックデューティ自動補正回路。
【００７４】
（付記２）  Ｈｉｇｈレベル期間或いはＬｏｗレベル期間の短い周波数の異なる複数のクロック信号を入力し、周波数設定信号にもとづいて前記複数のクロック信号中から１つを選択するセレクタと、前記セレクタで選択された第１のクロック信号を入力し、前記第１のクロック信号を遅延させる遅延時間の異なるインバータチェーンから構成される複数の第１の遅延回路を有し、出力信号が変化した直後に、前記複数の第１の遅延回路の中から選択される遅延回路の第１の遅延時間を前記第１のクロック信号のデューティとするクロック測定部と、前記クロック測定部から出力される前記出力信号にもとづいて、前記第１のクロック信号のデューティを特定する第１の遅延選択信号を生成するクロックデューティ特定部と、前記周波数設定信号と前記クロックデューティ特定部から出力される前記第１の遅延選択信号を入力し、複数の組み合わせテーブルを有し、前記複数の組み合わせテーブルの中から前記第１のクロック信号に対応する組み合わせテーブルを選択し、選択された組み合わせテーブルの中から前記第１のクロック信号のデューティに対応する第２の遅延選択信号を選択するレジスタと、前記第１のクロック信号を入力し、前記第１のクロック信号を遅延させる遅延時間の異なるインバータチェーンから構成される複数の第２の遅延回路を有し、前記組み合わせテーブル部から出力される前記第２の遅延選択信号にもとづいて、前記第１のクロック信号の１／２サイクル時間から前記第１の遅延時間を引き算した値に対応する第２の遅延時間を有する遅延回路を前記複数の第２の遅延回路の中から選択し、前記第２の遅延時間を用いて前記第１のクロック信号のデューティを自動補正するクロック生成部とを具備するクロックデューティ自動補正回路。
【００７５】
（付記３）  前記レジスタに入力されるクロック周波数に対応する複数の組み合わせテーブルにおいて、クロック周波数（ｆ）に対応する第１の組み合わせテーブルとクロック周波数（ｆ／ｋ）に対応する第２の組み合わせテーブルの関係は、前記第２の組み合わせテーブルの前記第１及び第２の遅延回路の数が前記第１の組み合わせテーブルの前記第１及び第２の遅延回路よりもｋ倍多く設定され、前記第２の組み合わせテーブルで相対応する前記第１遅延回路の遅延時間と前記第２遅延回路の遅延時間の和が前記第１の組み合わせテーブルで相対応する前記第１遅延回路の遅延時間と前記第２遅延回路の遅延時間の和よりもｋ倍多く設定されている付記２に記載のクロックデューティ自動補正回路。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施例１に係る半導体装置の構成を示すブロック図。
【図２】本発明の実施例１に係るクロック測定部を示すブロック図。
【図３】本発明の実施例１に係るクロックデューティ特定部を示すブロック図。
【図４】本発明の実施例１に係るクロック生成部を示すブロック図。
【図５】本発明の実施例１に係るクロック信号のデューティと遅延回路の遅延時間の関係を示す図。
【図６】本発明の実施例１に係る遅延回路の遅延時間の程度を示す図。
【図７】本発明の実施例１に係るデューティの測定・補正におけるクロック信号の“Ｈｉｇｈ”レベル期間と“Ｌｏｗ”レベル期間の切り替えを示す図。
【図８】本発明の実施例１に係るクロック信号の“Ｈｉｇｈ”レベル期間を用いたデューティ自動補正回路の動作を示すタイミングチャート。
【図９】本発明の実施例１に係るクロック信号の“Ｌｏｗ”レベル期間を用いたデューティ自動補正回路の動作を示すタイミングチャート。
【図１０】本発明の実施例２に係る半導体装置の構成を示すブロック図。
【図１１】本発明の実施例２に係る遅延回路の遅延時間の程度を示す図。
【図１２】本発明の実施例２に係る組み合わせテーブル部に格納されている遅延回路の組み合わせテーブルを示す図。
【符号の説明】
【００７７】
１、１ａ  クロックデューティ自動補正回路
２  ＰＬＬ回路
１１  クロック測定部
１２  クロックデューティ特定部
１３  クロック生成部
１４  組み合わせテーブル部
２１  立ち上がりサイクル検出部
３０、３０ａ  半導体装置
ＡＮＤ１、２  ２入力ＡＮＤ回路
ＣＬＫ  クロック信号
ＣＬＫＡ、ＣＬＫＢ、ＣＬＫＡａ、ＣＬＫＡｋ  補正前クロック信号
ＣＬＫＣ、ＣＬＫＣａ  補正後クロック信号
ＤＡ０、ＤＡ１、ＤＡｎ、ＤＢ０、ＤＢ１、ＤＢｎ  遅延回路
ＤＣＮ  同期カウンタ
ＥＸ１  ＸＯＲ回路
ＦＦ１〜４  フリップフロップ
ＩＮＶ１、ＩＮＶ２  インバータ
ＬＦＦ１  ロード付フリップフロップ
ＯＲ１  ２入力ＯＲ回路
ＳＣＮＳ  カウンタ制御信号
ＳＣＬＫＳ１、ＳＣＬＫＳ２、ＳＣＬＫＳ１ａ、ＳＣＬＫＳ２ａ  クロック切り替え信号
ＳＤＳ１、ＳＤＳ２、ＳＤＳ１ａ、ＳＤＳ２ａ、ＳＤＳ２ｂ  遅延選択信号
ＳＥＬ１〜４  セレクタ
ＳＳＫ、ＳＳＫａ  測定結果出力信号
ＳＳＣＬＫ、ＳＳＣＬＫａ  制御クロック信号
ＳＳＨＳ  周波数設定信号
ＳＴＡＣ  立ち上がりサイクル検出信号
ＴＤＡ  遅延回路ＤＡの遅延時間
ＴＤＢ  遅延回路ＤＢの遅延時間
ＴＨ  “Ｈｉｇｈ”レベル期間
ＴＬ  “Ｌｏｗ”レベル期間
【図１】
2008040691.tif 000003
【図２】
2008040691.tif 000004
【図３】
2008040691.tif 000005
【図４】
2008040691.tif 000006
【図５】
2008040691.tif 000007
【図６】
2008040691.tif 000008
【図７】
2008040691.tif 000009
【図８】
2008040691.tif 000010
【図９】
2008040691.tif 000011
【図１０】
2008040691.tif 000012
【図１１】
2008040691.tif 000013
【図１２】
2008040691.tif 000014