(57)【要約】【課題】集積回路において、回路規模を増大させることなくクロック等の信号タイミングを連続的に調整する。【解決手段】回路ブロックＣＢ１からのデータを測定レジスタＭＲ１に取り込んだタイミングと、回路ブロックＣＢ１からのデータをデータラッチＤＬ２に取り込んだタイミングに基づいて、回路ブロックＣＢ１にデータが入力されてから出力されるまでの遅延時間を測定する。ＬＳＩテスタ２は、回路ブロックＣＢ１〜ＣＢ３の各遅延時間が平均化されるようにウエル電圧調整値を設定する。セレクタ１２は、ウエル電圧調整値に応じた電圧を調整電圧発生回路１１で発生した電圧から選択する。クロックタイミング調整回路ＣＴＡ１〜ＣＴＡ３におけるＣＭＯＳトランジスタのウエルに選択された電圧を印加することで、入力されるクロックのタイミングの遅延時間を調整する。【選択図】  図１
2004303055.tif 000002
【特許請求の範囲】
【請求項１】
複数の調整電圧を発生する電圧発生部と、
集積回路の各回路ブロックにデータが入力されてから出力されるまでの遅延時間が各回路ブロック間でその平均値に近づくように設定された遅延時間調整量に応じた調整電圧を前記調整電圧から選択する電圧選択部と、
選択された調整電圧の値に応じて閾値電圧が変化するトランジスタによって信号の遅延時間を増減する遅延調整部とを備えていることを特徴とする信号タイミング調整装置。
【請求項２】
前記遅延時間を測定する遅延測定部を備えていることを特徴とする請求項１に記載の信号タイミング調整装置。
【請求項３】
前記遅延測定部は、
パルスを高速クロックに同期して発生し、前記パルスの発生タイミングを前記高速クロックの１クロック単位でシフトするパルス発生部と、
前記回路ブロックから出力されたデータを低速クロックに同期して取り込んで保持するラッチと、
前記回路ブロックから出力されたデータを前記パルスに同期して取り込んで保持するレジスタとを有していることを特徴とする請求項３に記載の信号タイミング調整装置。
【請求項４】
前記トランジスタのウエルが同一基板に形成される他の回路のウエルから分離され、前記調整電圧が前記トランジスタのウエルに印加されることを特徴とする請求項１に記載の信号タイミング調整装置。
【請求項５】
前記集積回路に内蔵されることを特徴とする請求項１ないし４のいずれか１項に記載の信号タイミング調整装置。
【請求項６】
前記遅延時間調整量を固定する固定部を備えていることを特徴とする請求項５に記載の信号タイミング調整装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の信号タイミング調整装置と、
前記測定回路で測定された前記遅延時間の平均値を算出する平均値算出部と、
前記遅延時間と算出された平均値との差が少なくなるように前記遅延時間調整量を設定する調整量設定部とを備えていることを特徴とする信号タイミング調整システム。
【請求項８】
請求項７に記載の信号タイミング調整システムにおいて、コンピュータを前記平均値算出部、前記調整量設定部として機能させるための信号タイミング調整量設定プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵ、ＡＳＩＣ、ＤＳＰ、メモリ、アナログＬＳＩなどの集積回路における信号タイミング調整に関するものである。
【０００２】
【従来の技術】
従来、ＬＳＩのプロセスの超微細化によって、動作周波数の急激な向上が求められる一方で、配線抵抗による配線遅延時間が増大するという相反する現象が生じている。このため、ＬＳＩの動作周波数、消費電力などの特性を設計段階において同時に最適化することは非常に困難な状況になりつつある。特に最近の高性能ＬＳＩでは、消費電力削減が最重要課題であるため、設計段階にて消費電力削減のための設計を行い、ウエハプロセス工程終了後にタイミング調整を実施して動作周波数の最適化を行うケースが現れている。
【０００３】
クロックスキュー調整に関する従来技術としては、例えば特許文献１ならびに非特許文献１および２に開示されている。
【０００４】
図１８および図１９は、上記の米国特許および論文からクロックスキュー調整に関する技術を抜粋して示している。
【０００５】
図１８は、上記の従来技術のクロックスキュー検出および補償回路の概要を示している。図１８において、２個のクロックドメインであるＬＯＣＡＬ  ＣＬＯＣＫ  ＤＯＭＡＩＮ  １  とＬＯＣＡＬ  ＣＬＯＣＫ  ＤＯＭＡＩＮ  ２とのクロックスキューの値はＳＫＥＷ  ＤＥＴＥＣＴＩＯＮにおいて検出され、ＴＥＳＴＥＲ  ＩＮＴＥＲＦＡＣＥに転送される。また、ＧＬＯＢＡＬ  ＣＬＯＣＫ  ＤＵＴＹ  ＣＹＣＬＥ  ＣＯＮＴＲＯＬは、ＬＳＩ全体に供給されるクロックのデューティサイクルの比率を調整する。
【０００６】
図示しないテスタでは、スキューの値をできる限り小さくするようにクロックスキュー補正コントロール回路ＣＯＭＰ１  ＣＯＮＴＲＯＬまたはＣＯＭＰ２  ＣＯＮＴＲＯＬの調整値を設定する。後述する図１９の回路では、その設定値に基づいて、ＬＯＣＡＬ  ＣＬＯＣＫ  ＤＯＭＡＩＮ  １またはＬＯＣＡＬ  ＣＬＯＣＫ  ＤＯＭＡＩＮ  ２の立上り時間または立下り時間を調整することにより各クロックのタイミングを調整する。ＰＲＯＭ  ＣＯＭＰ１  ＳＥＴＴＩＮＧおよびＰＲＯＭ  ＣＯＭＰ２  ＳＥＴＴＩＮＧは、それぞれテスタによって与えられた値を、保存するためにＰＲＯＭに固定的にプログラムする。
【０００７】
図１９は、図１８のクロックスキュー補償回路の詳細を示している。
【０００８】
図１９において、ＰＲＯＧＲＡＭＭＡＢＬＥ  ＤＥＬＡＹ  ＢＵＦＦＥＲ  ２００の前段は立下り時間の調整用に設けられ、後段は立上り時間の調整用に設けられている。前段および後段の回路は、各々１個のＰＭＯＳプルアップトランジスタ、８個のインバータ２１５，２２５および８個のスイッチ（プルダウンパスｓ０〜ｓ７）から構成されている。また、５−ＢＩＴ  ＣＯＮＴＲＯＬ  ＲＥＧＩＳＴＥＲ  １３０および３−ＴＯ−８  ＤＥＣＯＤＥＲ  １４０は、制御信号（ＣＯＮＴＲＯＬ  ＢＩＴＳ）をデコードしてＰＲＯＧＲＡＭＭＡＢＬＥ  ＤＥＬＡＹ  ＢＵＦＦＥＲ２００に与える部分であって、ＣＯＭＰ１  ＣＯＮＴＲＯＬおよびＣＯＭＰ２  ＣＯＮＴＲＯＬに相当する。
【０００９】
この構成において、テスタから与えられた調整値によって８個のスイッチのうち、何個のスイッチをＯＮさせるかによって立下り時間および立上り時間の調整が行われる。
【００１０】
【特許文献１】
米国特許第６，１９２，０９２号明細書（２００１年２月２０日公開）
【００１１】
【非特許文献１】
Ｎａｓｓｅｒ  Ａ．  Ｋｕｒｄ，  Ｊａｖｅｄ  Ｓ．  Ｂａｒｋａｔｕｌｌａｈ，  Ｒｏｍｍｅｌ  Ｏ．  Ｄｉｚｏｎ，  Ｔｈｏｍａｓ  Ｄ．  Ｆｌｅｔｃｈｅｒ，  ａｎｄ  Ｐａｕｌ  Ｄ．  Ｍａｄｌａｎｄ，“Ａ  Ｍｕｌｔｉｇｉｇａｈｅｒｔｚ  Ｃｌｏｃｋｉｎｇ  Ｓｃｈｅｍｅ  ｆｏｒ  ｔｈｅ  Ｐｅｎｔｉｕｍ（Ｒ）  ４  Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ”ＩＥＥＥ  ＪＯＵＲＮＡＬ  ＯＦ  ＳＯＬＩＤ  ＳＴＡＴＥ  ＣＩＲＣＵＩＴＳ，  ＶＯＬ．３６，
ＮＯ．１１，  ＮＯＶＥＭＢＥＲ，  ２００１，  ｐ１６４７−１６５３
【００１２】
【非特許文献２】
Ｄａｎｉｅｌ  Ｄｅｌｅｇａｎｅｓ，  Ｊｏｎａｔｈａｎ  Ｄｏｕｇｌａｓ，  Ｂａｄａｒｉ  Ｋｏｍｍａｎｄｕｒ，  Ｍａｒｅｋ  Ｐａｔｙｒａ，“Ｄｅｓｉｇｎｉｎｇ  ａ  ３ＧＨｚ，  １３０ｎｍ，  Ｐｅｎｔｉｕｍ（Ｒ）  ４  Ｐｒｏｃｅｓｓｏｒ”，  ２００２  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔｓ  Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ
【００１３】
【発明が解決しようとする課題】
しかしながら、この調整方法においては、スイッチやインバータを多く使用するため、クロックスキューの調整に必要な回路の規模が大きくなるという問題がある。
【００１４】
また、この問題と関連して、調整の自由度（調整範囲およびステップ）と回路規模の増大とのトレードオフの問題がある。例えば、図１９の回路にて調整の自由度（調整範囲またはステップ）を２倍向上するためには、スイッチの数を８個から１６個に増やす必要があり、調整部分の回路規模が２倍になる。逆に、スイッチの数を減らせば、回路規模を小さくすることができるものの、調整範囲やステップが不十分であるために十分な調整ができないという不都合が生じる。
【００１５】
本発明は、上記の問題点に鑑みてなされたものであって、回路規模を増大させることなくクロックなどのタイミングを連続的にまたは微小間隔に調整することにより、上記の調整の自由度（調整範囲およびステップ）と回路規模とのトレードオフの問題を解決する信号タイミング調整装置を提供することを目的としている。
【００１６】
【課題を解決するための手段】
本発明の信号タイミング調整装置は、上記の課題を解決するために、複数の調整電圧を発生する電圧発生部と、集積回路の各回路ブロックにデータが入力されてから出力されるまでの遅延時間が各回路ブロック間でその平均値に近づくように設定された遅延時間調整量に応じた調整電圧を前記調整電圧から選択する電圧選択部と、選択された調整電圧の値に応じて閾値電圧が変化するトランジスタによって前記遅延時間を増減する遅延調整部とを備えていることを特徴としている。
【００１７】
各回路ブロックの動作速度がそれぞれ異なっておれば、遅延時間もそれぞれ異なる。そこで、上記の構成では、まず、測定された各遅延時間に基づいて、外部装置などによって、各回路ブロックの遅延時間がそれらの平均値に近づくように遅延時間調整量が設定されると、電圧選択部によって、電圧発生部で発生した複数の調整電圧から、その遅延時間調整量に応じた調整電圧が選択される。すると、遅延調整部によって、選択された調整電圧の値に応じて前記信号の遅延時間の増減が調整される。
【００１８】
ＭＯＳトランジスタのウエル（または基板）電圧を変えることにより、ＭＯＳトランジスタの閾値電圧を変化させることができることは既知の事実であるが、本発明では、この作用を遅延調整部に応用している。遅延調整部が、調整電圧の値に応じてトランジスタに対して閾値電圧を変化させると、次のように遅延時間が変化する。すなわち、閾値電圧の上昇によってトランジスタのＯＮ開始が遅れるために遅延時間が増加し、閾値電圧の低下によってトランジスタのＯＮ開始が早まるために遅延時間が減少する。
【００１９】
これにより、各回路ブロックの遅延時間がその平均値に近い値に調整される。このように、予め各回路ブロック間の差が小さくなるように設定された調整電圧の値に応じて信号の遅延時間を調整するので、調整パラメータが電圧のみとなる。それゆえ、調整電圧を連続的に変化させたり、調整電圧の数を増加させたりするだけで、調整範囲やステップを増加させることができる。
【００２０】
前記の信号タイミング調整装置においては、遅延時間を測定する遅延測定部を備えていることが好ましい。これにより、遅延時間の測定から、調整電圧の発生、調整電圧の選択および遅延時間の調整に至る処理を信号タイミング調整装置において一貫して行うことができる。
【００２１】
前記の信号タイミング調整装置において、前記遅延測定部は、パルスを高速クロックに同期して発生し、前記パルスの発生タイミングを前記高速クロックの１クロック単位でシフトするパルス発生部と、前記回路ブロックから出力されたデータを低速クロックに同期して取り込んで保持するラッチと、前記回路ブロックから出力されたデータを前記パルスに同期して取り込んで保持するレジスタとを有していることが好ましい。
【００２２】
上記の構成では、回路ブロックから出力されたデータが、パルス発生部で発生したパルスに同期してレジスタに取り込まれ保持される一方、低速クロックに同期してラッチに取り込まれる。ラッチは、低速クロックに同期してデータを取り込むことから、常に安定して正しいデータを取り込むことができる。そこで、この正しいデータとレジスタに保持されたデータとを比較して、両者が一致していれば、レジスタにも正しいデータが保持されていたことになる。そして、その場合のラッチにデータが取り込まれたタイミングとレジスタに正しいデータが取り込まれたタイミングとで回路ブロックの遅延時間を測定することができる。
【００２３】
また、レジスタにデータを取り込むタイミングが高速クロックに同期したパルスで定まるので、回路ブロックからデータが出力されてから最短で高速クロック１クロック以内にそのデータをレジスタに取り込むことができる。それゆえ、遅延時間の特定を高速クロックの精度で行うことができる。
【００２４】
さらに、パルスの発生タイミングが高速クロックの１クロック単位でシフトする。これにより、レジスタのデータとラッチのデータとが一致していなければ、パルスをシフトさせることで、レジスタによるデータの取り込みタイミングを調整することで、両データが一致する時期を特定することができる。また、両データが一致していても、レジスタが回路ブロックによるデータの出力時点から最短のタイミングでデータを取り込むことができていなければ、同様にパルスをシフトさせることで、上記の最短のタイミングを特定することができる。
【００２５】
前記の信号タイミング調整装置において、前記トランジスタのウエルが同一基板に形成される他の回路のウエルから分離され、前記調整電圧が前記トランジスタのウエルに印加されることが好ましい。遅延調整部のトランジスタのウエルを他の回路のウエルから分離させることにより、その遅延時間調整量に対応したウエル電圧値を他の回路と独立して印加することができる。
【００２６】
前記の信号タイミング調整装置は、いずれも前記集積回路に内蔵されることが好ましい。これにより、集積回路のパッケージや測定装置に起因する浮遊容量などの影響を受けることがなく、正確に遅延時間に測定することができる。
【００２７】
また、集積回路に内蔵された信号タイミング調整装置は、前記遅延時間調整量を固定する固定部を備えていることが好ましい。これにより、集積回路の出荷後でも、外部装置から遅延時間調整量が与えられなくても、固定部により固定された遅延時間調整量を用いて遅延調整部による信号のタイミング調整を行うことができる。
【００２８】
本発明の信号タイミング調整システムは、前記のいずれかの信号タイミング調整装置と、前記遅延測定部によって測定された前記遅延時間の平均値を算出する平均値算出部と、前記遅延時間と算出された平均値との差が少なくなるように前記遅延時間調整量を設定する調整量設定部とを備えていることを特徴としている。
【００２９】
上記の構成では、信号タイミング調整装置における遅延測定部で測定された各回路ブロックの遅延時間が平均値算出部によって算出される。すると、調整量設定部によって、遅延時間調整量が遅延時間と算出された平均値との差が少なくなるように調整される。これにより、信号タイミング調整装置に与える遅延時間調整量が生成される。このように、複雑な演算処理を必要とする平均値算出部および調整量設定部を信号タイミング調整装置と別途設けることにより、タイミング調整処理を効率的に行うことができる。
【００３０】
本発明の信号タイミング調整理量設定プログラムは、前記の信号タイミング調整システムにおいて、コンピュータを前記平均値算出部、前記調整量設定部として機能させるので、ＬＳＩテスタなどの外部装置によって、容易に遅延時間調整量や設定値を設定することができる。
【００３１】
【発明の実施の形態】
本発明の実施の一形態について図１ないし図１７に基づいて説明すれば、以下の通りである。
【００３２】
図２は、本発明におけるタイミング調整システムの構成を示している。
【００３３】
図２に示すように、本タイミング調整システムは、集積回路としてのＬＳＩ１における各ブロックに供給されるクロック間のタイミング調整およびクロック波形の調整を行う。このタイミング調整システムは、調整の対象となるＬＳＩ１に内蔵されたタイミング調整部１０と、ＬＳＩテスタ２とによって構成されている。
【００３４】
タイミング調整部１０は、各ブロックにおけるクロックの遅延時間をタイミング情報としてＬＳＩテスタ２に供給する。また、タイミング調整部１０は、ＬＳＩテスタ２から与えられるテストパターンに基づいて遅延時間の測定を行う。さらに、タイミング調整部１０は、ＬＳＩテスタ２から与えられるウエル電圧調整値に基づいて、クロックのタイミングを調整用のインバータを構成するＮＭＯＳトランジスタおよびＰＭＯＳトランジスタのウエル電圧を設定する。
【００３５】
ＬＳＩテスタ２は、ＬＳＩ１の論理機能、電気特性等を測定する試験装置であって、その測定のために、パターン発生器、タイミング発生器、波形整形器、論理比較器、電源ユニット等からなるテストユニットを備えている。また、ＬＳＩテスタ２は、プログラムにしたがって設定された条件で自動的に測定を行うために、テストユニットを制御する制御部を備えている。この制御部は、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  ）を中心とするコンピュータ機能を有する部分である。
【００３６】
また、上記のＬＳＩテスタ２は、調整プログラムが組み込まれることによって、タイミング調整のための処理を行う。ＬＳＩテスタ２は、平均値算出部２１と、ウエル電圧値設定部２２と、調整制御部２３とを調整プログラムによって実現される機能ブロックとして有している。これらの機能ブロックは、前述のＭＰＵ等のハードウエアを利用してタイミング調整のための各種の処理を行う。
【００３７】
平均値算出部２１は、前記のタイミング調整部１０からのタイミング情報に基づいて遅延時間の平均値を算出する。調整量設定部としてのウエル電圧値設定部２２は、タイミング調整部１０に与える前記のウエル電圧調整値を設定する。調整制御部２３は、各部２１，２２による処理の制御や、動作周波数の評価などを行う。また、調整制御部２３は、後述するサンプリングパルス発生回路１３１（図８参照）に与えるサンプリングパルス設定値を発生する。上記の各部２１〜２３が行う処理については、後に詳しく説明する。
【００３８】
なお、上記の調整プログラムは、記録媒体に格納された状態で提供されてもよい。記録媒体は、調整プログラムを記録可能であり、かつコンピュータ（ＬＳＩテスタ２のコンピュータ部）により記録された調整プログラムが読み取り可能であれば、書き換え（書き込み）可能か否か、揮発性か否か、記録方法および形状を問わない。記録媒体の一例として、磁気テープやカセットテープなどのテープ、あるいは、フレキシブルディスクやハードディスクなどの磁気ディスク、または、ＣＤ−ＲＯＭや光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）やデジタルビデオディスク（ＤＶＤ）などのディスクが挙げられる。また、記録媒体は、ＩＣカードや光カードのようなカード、あるいはマスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどのような半導体メモリであってもよい。
【００３９】
図３は、上記のタイミング調整システムが行うタイミング調整の手順を大まかに示したフローチャートである。
【００４０】
図３に示すように、まず、タイミング調整部１０でＬＳＩ１における各回路ブロックの遅延時間を測定し（Ｓ１）、その結果をＬＳＩテスタ２に伝える。ＬＳＩテスタ２では、各回路ブロック間のデータ伝送順序などを考慮しながらＬＳＩ１全体の動作周波数を最高にするための回路ブロック間の遅延時間の貸し借りを計算し、その結果に基づいて、タイミング調整部に供給するウエル電圧調整値を生成する（Ｓ２）。タイミング調整部１０は、そのウエル電圧調整値に基づいて、後述するクロックタイミング調整回路ＣＴＡ１〜３（図１参照）に与えるウエル電圧値を選択する（Ｓ３）。
【００４１】
本タイミング調整システムは、上記のような処理を行うことによって、ＬＳＩ１における各回路ブロック間のクロックタイミングの調整を行い、動作周波数の平均値を下回る回路ブロックの周波数を、上記の平均値を上回る余裕のある回路ブロックから補填する。これにより、各回路ブロックの動作周波数が平均化され、ＬＳＩ１全体の動作周波数を高めることができる。
【００４２】
図１は、本タイミング調整システムにおけるＬＳＩ１側のタイミング調整部１０の構成を示している。
【００４３】
図１に示すように、タイミング調整部１０は、調整電圧発生回路１１、セレクタ１２、プログラマブルタイミング発生回路１３、クロックタイミング調整回路ＣＴＡ１〜ＣＴＡ３および測定レジスタＭＲ１〜ＭＲ３を備えている。クロックタイミング調整回路ＣＴＡ１〜ＣＴＡ３および測定レジスタＭＲ１〜ＭＲ３は、説明の便宜上３個ずつ設けられているが、回路ブロックＣＢ１〜ＣＢ３の個々に対応して設けられるので、それらの数は３個に限定されない。
【００４４】
なお、クロックタイミング調整回路ＣＴＡ１〜ＣＴＡ３、測定レジスタＭＲ１〜ＭＲ３、比較回路ＣＭＰ１〜ＣＭＰ３および回路ブロックＣＢ１〜ＣＢ３については、代表して説明する場合、それぞれＣＴＡ、ＭＲ、ＣＭＰ、ＣＢの符号を用いる。また、“回路ブロック”という呼称については、説明の便宜上、単に“ブロック”と称することもある。
【００４５】
電圧発生部としての調整電圧発生回路１１は、タイミング調整に必要な種々の電圧を発生させる回路である。電圧選択部としてのセレクタ１２は、ＬＳＩテスタ２からのウエル電圧調整値（遅延時間調整量）に基づいて、調整電圧発生回路１１で発生した種々の電圧から１つを選択してクロックタイミング調整回路ＣＴＡ１〜３に与える。クロックタイミング調整回路ＣＴＡ１〜３は、セレクタ１２からのウエル電圧により各回路ブロックＣＢ１〜３に供給するクロックのタイミング調整を行う回路である。
【００４６】
プログラマブルタイミング発生回路１３は、ＰＬＬなどで発生させた高速クロックＨＳＣＬＫからクロックタイミング調整回路ＣＴＡ１〜３に供給するシステムクロックＳＹＳＣＬＫや測定レジスタＭＲ１〜ＭＲ３に供給するサンプリングパルスＳＭＰを発生する回路である。遅延測定部としての測定レジスタＭＲ１〜ＭＲ３は、各回路ブロックＣＢ１〜ＣＢ３にデータが入力されてから出力されるまでの、実際のデータの処理に要する遅延時間を測定して、ＬＳＩテスタ２にその遅延時間をタイミング情報として提供する回路である。
【００４７】
以下に、図１に示した各回路について詳しく説明する。
【００４８】
図４（ａ）および（ｂ）は、クロックタイミング調整回路ＣＴＡ１〜３の構成の一例を示している。図４（ａ）は、クロックタイミング調整回路ＣＴＡ１〜３に共通する構成としてクロックタイミング調整回路ＣＴＡを示している。
【００４９】
図４（ａ）に示すように、クロックタイミング調整回路ＣＴＡは、入力電圧ＶＩＮを反転させて出力電圧ＶＯＵＴを得る回路である。この出力電圧ＶＯＵＴは、負荷（各回路ブロックＣＢ１〜ＣＢ３）としての静電浮遊容量Ｃに与えられる。上記のクロックタイミング調整回路ＣＴＡは、直列接続された５段のインバータ３１〜３５から構成されている。このうち、インバータ３２，３３によって調整部３０が構成されている。
【００５０】
図５は、クロックタイミング調整回路ＣＴＡにおける要部（調整部３０）のデバイス構造を示す断面図である。
【００５１】
図４（ｂ）および図５に示すように、インバータ３１，３２は、ＮＭＯＳトランジスタＴＲＮとＰＭＯＳトランジスタＴＲＰとが直列に接続されたＣＭＯＳ構造をなしている。ＮＭＯＳトランジスタＴＲＮのＰウエル４１にはＰウエル電圧ＶＰＷが印加され、ＰＭＯＳトランジスタＴＲＰのＮウエル４２にはＮウエル電圧ＶＮＷが印加される。
【００５２】
ＮＭＯＳトランジスタＴＲＮのＰウエル４１およびＰＭＯＳトランジスタＴＲＰのＮウエル４２は、一体に形成されているが、これらと同一基板に形成される他の回路のウエル４３，４４から分離されており、Ｐウエル４１とＮウエル４２とにそれぞれＰウエル電圧ＶＰＷとＮウエル電圧ＶＮＷとを他の回路から独立して印加することができる。ＮＭＯＳトランジスタＴＲＮおよびＰＭＯＳトランジスタＴＲＰは、Ｐウエル電圧ＶＰＷおよびＮウエル電圧ＶＮＷの値によって信号のタイミング特性が変わる。
【００５３】
ここで、Ｎウエル電圧ＶＮＷおよびＰウエル電圧ＶＰＷとインバータ３２，３３の遅延特性について説明する。
【００５４】
通常、ＣＭＯＳインバータにおけるＮＭＯＳトランジスタのＰウエルにはＧＮＤレベルの電位が付与される。これに対して、Ｐウエルに正電圧を印加した場合には、閾値電圧が低下してＣＭＯＳインバータの遅延時間が減少し、逆にＰウエルに負電圧を供給した場合には、閾値電圧が上昇してＣＭＯＳインバータの遅延時間が増加する。また、通常、ＣＭＯＳインバータにおけるＰＭＯＳトランジスタのＮウエルにはＶＤＤ（電源電圧）レベルの電位が付与される。これに対して、Ｎウエルに負電圧を印加した場合には、閾値電圧の絶対値が低下してＣＭＯＳインバータの遅延時間が減少し、逆にＮウエルに正電圧を印加した場合には、閾値電圧の絶対値が上昇してＣＭＯＳインバータの遅延時間が増加する。このような現象は、閾値電圧の変化に伴って電流値が変化することによりトランジスタの動作速度が変化することで生じる。また、ウエル電圧とインバータの遅延時間とは、ほぼ比例関係にある。
【００５５】
最近のＬＳＩでは、プロセスの微細化に伴う電源電圧の低下が著しいため、電源電圧に対する閾値電圧の占める割合が大きい。従って、閾値電圧を変動させると、トランジスタ遅延特性の変動による効果も大きくなる。
【００５６】
図６は、調整電圧発生回路１１およびセレクタ１２の構成を示している。
【００５７】
図６に示すように、調整電圧発生回路１１は、分割抵抗回路を有しており、−１．０Ｖ，０Ｖ，１．２Ｖ，３．３Ｖの入力電圧から、−１．０Ｖ〜２．２Ｖの範囲で０．１Ｖずつ異なる３２の調整電圧を発生する。調整電圧発生回路１１は、具体的には、−１．０Ｖ〜０Ｖの範囲の調整電圧を−１．０Ｖ〜０Ｖの入力電圧に基づいて発生し、０．１Ｖ〜１．２Ｖの調整電圧を０Ｖ〜１．２Ｖの入力電圧に基づいて発生し、１．３Ｖ〜２．２Ｖの調整電圧を０Ｖ〜３．３Ｖの入力電圧に基づいて発生する。調整電圧発生回路１１の抵抗分割回路は、ＬＳＩプロセス工程によってポリシリコンなどで形成可能であり、高精度の電圧を容易に発生することができる。
【００５８】
なお、上記の例では、ＬＳＩ１の電源電圧として、内部回路用電源電圧が１．２Ｖであり，Ｉ／Ｏ用電源電圧が３．３Ｖである場合を想定しており、これらの電圧を調整電圧発生回路１１の入力電圧に利用している。また、−１．０Ｖを発生するための負電源は、スイッチドキャパシタ技術を用いたブートストラップ回路などにより簡単に構成することができる。
【００５９】
電圧選択部としてのセレクタ１２は、調整電圧発生回路１１で発生した調整電圧から１つを選択することにより、前述のＮウエル電圧ＶＮＷおよびＰウエル電圧ＶＰＷをクロックタイミング調整回路ＣＡＴに与えるため、ｎ個のセレクタ回路１２１とｎ個のセレクタ回路１２２とを有している。セレクタ回路１２１は、ＬＳＩテスタ２からの４ビットのウエル電圧調整値に基づいて、０．７Ｖ〜２．２Ｖの範囲の１６の調整電圧から１つを選択してＮウエル電圧ＶＮＷ（ＶＮＷ１〜ＶＮＷｎ）として出力する。一方、セレクタ回路１２２は、４ビットのウエル電圧調整値に基づいて、−０．１Ｖ〜０．５Ｖの範囲の１６の調整電圧から１つを選択してＰウエル電圧ＶＰＷ（ＶＰＷ１〜ＶＰＷｎ）として出力する。ここで、ｎは、クロックタイミング調整回路ＣＴＡの数（回路ブロックＣＢの数）であり、図１の例では３となる。
【００６０】
図７は、セレクタ回路１２１，１２２の構成を示す回路図である。
【００６１】
図７に示すように、セレクタ回路１２１，１２２は、トランジスタＴＲと、抵抗Ｒと、固定部としてのヒューズＦとを、調整電圧発生回路１１からの調整電圧と同数（上記の例では１６個）有している。トランジスタＴＲは、入力端に調整電圧が個々に入力され、ゲートに抵抗Ｒの一端とヒューズＦの一端とが接続されている。抵抗Ｒの他端には定電圧（例えば、３．３Ｖ）が印加され、ヒューズＦの他端にはＧＮＤレベルの電位が付与されている。
【００６２】
上記のように構成されるセレクタ回路１２１，１２２では、ＬＳＩ１の出荷前に、最終的に決定したウエル電圧調整値に応じていずれか１つのヒューズＦをカットすることによって、そのヒューズＦに接続されるトランジスタＴＲのゲートがＨｉｇｈレベルとなる。また、カットされないヒューズＦが接続されたトランジスタＴＲのゲートは、Ｌｏｗレベルとなる。このように、ヒューズＦをカットすることでウエル電圧調整値がプログラムされるので、ＬＳＩ１の出荷後もウエル電圧調整値を保持できる。
【００６３】
なお、ウエル電位の保持のためだけにウエルへ電圧を印加すればよいので、ウエルへの電流供給能力は小さくてもよい。このため、バッファ回路等は不要であり、その結果として回路規模を小さくすることができる。
【００６４】
また、電圧選択部としては、上記のセレクタ１２による構成以外に、例えばウエル電圧調整値を連続して変化する周波数で与えられ、その周波数を電圧に変化する回路を有する構成が考えられる。このような電圧選択部を用いることにより、クロックのタイミングを連続的に調整することが可能になる。
【００６５】
図８はプログラマブルタイミング発生回路１３の構成を示しており、図９および図１０はタイミング調整部１０における遅延時間測定時の動作タイミングを示している。
【００６６】
図８に示すように、プログラマブルタイミング発生回路１３は、同期式ダウンカウンタ１３１と、サンプリングパルス発生回路１３２とを有している。
【００６７】
同期式ダウンカウンタ１３１は、ＬＳＩ１内のＰＬＬ回路などから供給される高速クロックＨＳＣＬＫを２分周、４分周、８分周、１６分周、３２分周、６４分周、１２８分周して、図９に示す分周クロック（１／２ＣＬＫ，１／４ＣＬＫ，１／８ＣＬＫ，１／１６ＣＬＫ，１／３２ＣＬＫ，１／６４ＣＬＫ，１／１２８ＣＬＫ）を出力する。これらの７つの分周クロックは、比較データ（比較値）として一致検出回路１３３に与えられる。
【００６８】
パルス発生部としてのサンプリングパルス発生回路１３２は、ＬＳＩテスタ２の調整制御部２３から与えられたサンプリングパルス設定値に基づいて、同期式ダウンカウンタ１３１からの各クロックから後述するＴ１２５〜Ｔ０（図９参照）のタイミングで高速クロックＨＳＣＬＫの１周期をパルス幅とするサンプリングパルスＳＭＰを発生する回路である。このような回路は、例えば、上記のサンプリングパルスＳＭＰを発生して、それらから１つを選択するというような動作を行えばよく、論理回路を適宜組み合わせることによって構成される。
【００６９】
測定レジスタＭＲ１〜ＭＲ３は、回路ブロックＣＢ１〜ＣＢ３で処理されたデータを上記のサンプリングパルスＳＭＰの立ち上がりのタイミングで取り込んで保持するレジスタである。
【００７０】
比較回路ＣＭＰ１は、測定レジスタＭＲ１に保持されたデータと、回路ブロックＣＢ２のデータラッチＤＬ２に取り込まれるデータとを比較し、両者の一致（ＧＯ），不一致（ＮＧ）をＬＳＩテスタ２に通知する回路である。比較回路ＣＭＰｎ（ｎは整数）は、測定レジスタＭＲｎに保持されたデータと、回路ブロックＣＢｎの次の回路ブロックＣＢｎ＋１のデータラッチＤＬｎに取り込まれるデータとを比較し、その結果をＬＳＩテスタ２に通知する。比較回路ＣＭＰは、両データを図９に示すＴ１２６のタイミングで比較する。また、比較回路ＣＭＰは、例えば、一致の結果をＨｉｇｈ（一致検出パルスＤＥＴ）で出力し、不一致の結果をＬｏｗで出力する。
【００７１】
ここで、上記のように構成されるタイミング調整部１０における遅延時間の測定動作について図９および図１０を参照しながら説明する。図９および図１０は、回路ブロックにおいて加算演算を行う場合の遅延時間測定動作を示している。
【００７２】
全回路ブロックＣＢの遅延時間測定は、遅延時間調整の前段階として行われるので、遅延時間の測定時にはクロックのタイミング調整は行われない。また、遅延時間の測定段階では、全体の回路を確実に動作させるため、動作のタイミングを司るシステムクロックＳＹＳＣＬＫは低速に設定される。
【００７３】
以降、説明を具体化するために、回路ブロックＣＢ１はＡおよびＢの２値の加算演算を行うものとする。
【００７４】
図９に示すように、各サイクル（システムクロックＳＹＳＣＬＫの１周期）は、システムクロックＳＹＳＣＬＫに同期しており、図１に示す入力データは、システムクロックＳＹＳＣＬＫに同期してデータラッチＤＬ１に取り込まれる（データＡ，Ｂ）。これらのデータは回路ブロックＣＢ１において加算されて、その加算値（Ａ＋Ｂ）が出力される（回路ブロックＣＢ１出力）。
【００７５】
ただし、最初の回路ブロックＣＢ１では遅延時間が不明であるため、どのタイミング（サンプリングパルスＳＭＰ）で測定レジスタＭＲ１に取り込めばよいかは不明である。
【００７６】
回路ブロックＣＢ１から出力された加算値（Ａ＋Ｂ）のデータは、次のサイクルの初めにデータラッチＤＬ２に取り込まれる。システムクロックＳＹＳＣＬＫの周期は十分長いので、このとき、データラッチＤ２には必ず正しいデータが取り込まれる。
【００７７】
例えば、図９に示すようにＴ１２４（サンプリングパルスＳＭＰと同じタイミング）にて、データが測定レジスタＭＲ１に取り込まれた場合、次のサイクルの最初の時間帯において、データラッチＤＬ２に取り込まれたデータと測定レジスタＭＲ１に保持されたデータとが一致する期間が存在する。したがって、この期間に、１サイクルの最初の比較タイミング（Ｔ１２６）にて比較回路ＣＭＰ１によって、両データをサンプルして比較すれば、一致検出パルスＤＥＴが出力される。これにより、両データが一致していること、すなわち測定レジスタＭＲ１が正しいデータを取り込んだことが判明する。この結果は、ＬＳＩテスタ２に通知される。
【００７８】
なお、１サイクルの最初の比較タイミングをＴ１２６とするのは、Ｔ１２７では、データラッチＤＬがデータを取り込んだばかりでデータが安定していないからである。
【００７９】
次に、タイミング調整部１０において、測定レジスタＭＲに正しいデータを取り込むタイミングを決定する動作について説明する。
【００８０】
図１０に示すように、まず、プログラマブルタイミング発生回路１３から、サンプリングパルスＳＭＰとしてＴ１２５が与えられる。現サイクルにおいて、回路ブロックＣＢ１から出力されたデータは、Ｔ１２５（サンプリングパルスＳＭＰ）の立ち上がりで取り込まれる。このとき、測定レジスタＭＲ１には、加算値（Ａ＋Ｂ）の前に出力された前データが取り込まれている。この前データは、１サイクルの間、すなわち次のサイクルのＴ１２５の立ち上がりまで保持される。
【００８１】
一方、データラッチＤＬ２には、回路ブロックＣＢ１の正しい演算結果であるＡ＋Ｂが入力される。このため、データラッチＤＬ２に取り込まれたデータと測定レジスタＭＲ１に保持されたデータとが、比較回路ＣＭＰ１によって、次のサイクルにおけるＴ１２６で比較された結果、不一致と判定される。ＬＳＩテスタ２は、この不一致の結果を受けると、調整制御部２３によって、サンプリングパルスＳＭＰを高速クロックＨＳＣＬＫの１クロック分遅らせる指示をサンプリングパルス発生回路１３２に与える。
【００８２】
サンプリングパルス発生回路１３２は、この指示を受けると、サンプリングパルスＳＭＰとしてＴ１２４を出力する。すると、図９に示すように、測定レジスタＭＲ１には、回路ブロックＣＢ１から正しい加算値（Ａ＋Ｂ）が取り込まれる。したがって、データラッチＤＬ２に取り込まれたデータと測定レジスタＭＲ１に保持されたデータとが、比較回路ＣＭＰ１によって、次のサイクルにおけるＴ１２６で比較されると、一致の結果が得られる。これにより、測定レジスタＭＲ１が回路ブロックＣＢ１から出力されたデータを取り込む最も早いタイミングで一致が検出されるので、正確な遅延時間の検出が可能になる。
【００８３】
そして、ＬＳＩテスタ２は、調整制御部２３によって、一致検出パルスＤＥＴのＴｄａｔａの期間を遅延時間として認識することができる。このとき、ＬＳＩテスタ２は、現在、どのサンプリングパルスＳＭＰのタイミングでテストを実行しているかということや、同期式ダウンカウンタ１３１からの各種のクロックを把握しているので、これらのタイミングから容易に遅延時間を認識することが可能である。
【００８４】
ところで、最初に設定したサンプリングパルスＳＭＰによって正しいデータが測定レジスタＭＲに取り込まれることがある。しかしながら、そのデータがどのタイミングで取り込まれたかは不明である。したがって、この場合には、調整制御部２３によって、高速クロックＨＳＣＬＫの１クロック分進ませる指示をサンプリングクロック発生回路１３２に与える。この動作を比較回路ＣＭＰによる一致の結果が得られるまで繰り返すことにより、最も速いタイミングで遅延時間が測定される。
【００８５】
このように、遅延時間の測定においては、サンプリングパルスＳＭＰを高速クロックＨＳＣＬＫの１クロックずつシフトさせながら、測定レジスタＭＲに保持されたデータと、時間的に余裕のあるシステムクロックＳＹＳＣＬＫにて次の回路ブロックＣＢのデータラッチＤＬに取り込まれたデータとを比較している。これにより、高速クロックＨＳＣＬＫのタイミングに基づいて高精度に遅延時間を測定することができる。
【００８６】
なお、いずれの回路ブロックＣＢの遅延時間も、最低で高速クロックＨＳＣＬＫの数クロック分はあるとすれば、Ｔ１２５からサンプリングパルスＳＭＰの発生を開始させることにより、図１０に示すように、最初はどの回路ブロックＣＢについても必ず不一致の結果が得られる。それゆえ、その次にＴ１２４，Ｔ１２３，…というように順次タイミングを遅らせて２つのデータを比較することができる。これにより、上記のように、最初に設定したサンプリングパルスＳＭＰによって一致の結果が得られるようなことはないので、測定のシーケンスを単純化することができる。
【００８７】
また、サンプリングパルスＳＭＰの発生タイミングとしては、前述のように、Ｔ１２５〜Ｔ０が用いられるが、Ｔ１２６は使用できない。これは、以下の理由によるものである。Ｔ１２６のタイミングでデータを取り込んだ場合、そのデータは次のサイクルのＴ１２６まで保持される。一方、比較回路ＣＭＰによる一致，不一致のテストは、Ｔ１２６のタイミングで行われるため、Ｔ１２６の立ち下がり時点で測定レジスタＭＲに保持されたデータが不安定になる。
【００８８】
このように、タイミング調整部１０では、回路ブロックＣＢ毎に遅延時間を測定している。これにより、後に述べるブロック間タイミング調整の基礎データの収集が可能となる。
【００８９】
なお、タイミング調整部１０は、ＬＳＩ１に内蔵されているが、外部装置としてＬＳＩ１と独立して設けられていてもよい。しかしながら、タイミング調整部１０部が外部装置として設けられる構成では、ＬＳＩ１から外部装置に情報を伝送するときにＬＳＩパッケージや測定系による浮遊容量の影響を受けるおそれがある。これに対し、タイミング調整部１０がＬＳＩ１に内蔵されていることにより、そのような測定系などの影響を受けることなく、回路ブロックＣＢ内部の遅延時間を正確に測定することができる。
【００９０】
続いて、ＬＳＩテスタ２における平均値算出部２１、ウエル電圧値設定部２２および調整制御部２３による処理について説明する。
【００９１】
図１１は、上記の各部２１〜２３（調整プログラム）による処理の手順を示すフローチャートである。
【００９２】
まず、平均値算出部２１により、調整処理を行うための目標値の目安として取得した各回路ブロックの遅延時間の平均値および偏差を算出する（Ｓ１１）。次いで、ウエル電圧値設定部２２により、各回路ブロックの遅延時間が平均化される方向に各回路ブロックの遅延時間調整値をある程度ランダムに設定し、それらの値に対応する各ウエル電圧値を設定する（Ｓ１２）。
【００９３】
そして、ＬＳＩ１では、ウエル電圧値設定部２２から上記のように設定されたウエル電圧値に応じたウエル電圧調整値が与えられると、そのウエル電圧調整値に基づいてクロックタイミング調整回路ＣＴＡ１〜ＣＴＡ３によるクロックタイミングの調整が行なわれる。その状態で、測定レジスタＭＲ１〜ＭＲ３による遅延時間の調整が行なわれると、平均値算出部２１により、各回路ブロックＣＢ１〜ＣＢ３の遅延時間に基づいて再び平均値および偏差を算出する（Ｓ１３）。さらに、ウエル電圧値設定部２２により、各回路ブロックＣＢ１〜ＣＢ３の遅延時間が平均化される方向ではあるが、各回路ブロックＣＢ１〜ＣＢ３の遅延時間調整値を前回と異なる値に設定し、それらの値に対応する各ウエル電圧値を設定する（Ｓ１４）。
【００９４】
以後、調整制御部２３により、Ｓ１４ないしＳ１６が所定回数繰り返されたかを確認する（Ｓ１５）。所定回数の処理が繰り返された結果、各回路ブロックＣＢ１〜ＣＢ３に対して最適な動作速度を与えるウエル電圧値の組み合わせが決定する（Ｓ１６）。
【００９５】
上記の処理において、調整開始時には、最適なウエル電圧値が明確でないために、まずランダムな遅延時間の調整を行なう。このときの遅延時間調整値の設定は、遺伝的アルゴリズムなどの手法が用いられる。そして、これ以降は、その調整値に対する各回路ブロックＣＢ１〜ＣＢ３の遅延時間に基づいて以前と異なる調整値を設定することにより遅延時間の調整が行われる。このような調整値の変更により、直ちに良い結果が得られなくても、複数回同様な処理を繰り返すことにより、最終的に得られた最適なウエル電圧調整値がＬＳＩ１にプログラムされる。
【００９６】
調整値の設定については、具体的には、例えば、回路ブロックＣＢ１の遅延時間が６０ｎｓ（１６．７ＭＨｚ）であり、回路ブロックＣＢ２の遅延時間が４０ｎｓである場合、平均値算出部２１により算出された遅延時間の平均値は５０ｎｓ（２０ＭＨｚ）であり、それぞれの偏差は１０ｎｓである。理想的には、この偏差の１０ｎｓを遅延時間の調整値として、ウエル電圧値設定部２２により、回路ブロックＣＢ１の遅延時間から減じ、回路ブロックＣＢ２の遅延時間に加えればよい。
【００９７】
図１２は、試作後のあるＬＳＩのｎ個のブロックの遅延時間を上記のような遅延時間の調整処理前後の動作周波数の比較を示している。
【００９８】
図１２に示すように、初期状態では、各ブロックの遅延時間が大きくばらついており、各ブロックの動作周波数の平均値が高くても、最も動作の遅い（遅延時間の長い）第５ブロックによって、このＬＳＩの動作周波数（仕様値）が決定される。そこで、前述の処理によって、動作の速いブロックと動作の遅いブロックとの間で遅延時間の貸し借り（調整）が行われた結果、第５ブロックの動作周波数が上記の平均値近くまで高められる。従って、このＬＳＩの動作周波数（仕様値）も同様に、調整前の値よりも高くなる。調整制御部２３は、遅延時間を収集するときに、併せてＬＳＩ１の各ブロックの動作周波数も収集して、動作周波数が最高値になったか否かを確認（評価）する。
【００９９】
なお、前述の調整プログラムによる処理においては、測定された遅延時間に基づいて最適な遅延時間の配分を与えるようにウエル電圧値を調整することを繰り返す。しかしながら、本タイミング調整システムにおいては、遅延時間に基づいてウエル電圧値を調整することにより動作周波数を高めることができれば、上記のように平均値の算出からウエル電圧値の調整に至る処理を繰り返すことに限定されない。
【０１００】
例えば、遅延時間の貸し借りの対象となるブロックを特定したデータを予め用意しておき、そのデータに遅延時間の平均値や偏差を当てはめることが考えられる。この場合、さらに、遅延時間の貸し借り量とウエル電圧値との対応をテーブルに記憶させておき、上記のデータに当てはめた遅延時間の貸し借り量に対応するウエル電圧値をテーブルから読み出す。このような処理は、例えば、ウエル電圧値設定部２２により行われる。
【０１０１】
続いて、上記のように構成されるタイミング調整システムによるタイミング調整の具体例について説明する。
【０１０２】
図１３は、タイミング調整の実際の具体例としてＤＳＰ（Ｄｉｇｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などに用いられる積和演算器の構成を示している。また、図１４（ａ）は、積和演算器の各ブロックに供給するクロックを調整するクロックタイミング調整回路ＣＴＡ１〜ＣＴＡ３を示し、図１４（ｂ）は、クロックタイミング調整回路ＣＴＡ１〜ＣＴＡ３によるクロック調整動作のタイムチャートを示している。図１５は、積和演算器の動作を示すタイムチャートである。
【０１０３】
図１３に示すように、積和演算器は、アドレス発生器（ＡＤＤ）５１，５２、ＲＡＭ５３，５４、乗算器（ＭＰＹ）５５およびアキュムレータ（ＡＣＣ）５６によって構成されている。アドレス発生器５１，５２は、クロックＣＬＫ（ＲＡ）のタイミングで６ビットのアドレスを発生する。ＲＡＭ５３，５４は、それぞれアドレス発生器５１，５２で発生したアドレスに応じた１６ビットのデータを読み出す。乗算器５５は、クロックＣＬＫ（ＭＰＹ）のタイミングでＲＡＭ５３，５４からの２つのデータを乗算する。アキュムレータ５６は、クロックＣＬＫ（ＡＣＣ）のタイミングで乗算器５５の３２ビットの乗算データに自己の出力データを加算する。また、上記のアドレス発生器５１，５２、乗算器５５、アキュムレータ５６に入力されたデータは、それぞれクロックＣＬＫ（ＲＡ），ＣＬＫ（ＭＰＹ），ＣＬＫ（ＡＣＣ）の立ち上がりにてラッチされる。つまり、アドレス発生器５１，５２、乗算器５５およびアキュムレータ５６は、ラッチとしての機能を有している。
【０１０４】
上記の積和演算器において、アドレス発生器５１，５２およびＲＡＭ５３，５４は回路ブロックＣＢ１に含まれ、乗算器５５は回路ブロックＣＢ２に含まれ、アキュムレータ５６は回路ブロックＣＢ３に含まれるとする。また、乗算器５５の遅延時間はＲＡＭ５３，５４やアキュームレータ５６の遅延時間と比較して長いと仮定し、現状のクロック周波数においては乗算器５５の動作速度が不足しているものとする。
【０１０５】
図１４（ａ）に示すように、クロックタイミング調整回路ＣＴＡ１，ＣＴＡ２，ＣＴＡ３は、入力クロックＣＬＫＩＮの調整を行うことによって、それぞれ、アドレス発生器５１，５２へのクロックＣＬＫ（ＲＡ），乗算器５５へのクロックＣＬＫ（ＭＰＹ），アキュムレータ５６へのクロックＣＬＫ（ＡＣＣ）を出力する。クロックタイミング調整回路ＣＴＡ１〜ＣＴＡ３によるクロックタイミングの調整では、図１４（ｂ）に示すように、クロックＣＬＫ（ＲＡ）をクロックＣＬＫ（ＭＰＹ）に対して時間Ｔｐｄ１だけ遅らせ、クロックＣＬＫ（ＡＣＣ）をクロックＣＬＫ（ＭＰＹ）に比較して時間Ｔｐｄ２だけ遅らせている。これにより、図１５に示すように、時間がかかる乗算器５５の処理に、アキュムレータ５６の速い処理に対して恒常的に時間Ｔｐｄ２の余裕が生じることがわかる。これにより、乗算器５５は正しく動作するようになる。また、このとき、外部から見たクロック周波数は不変であるため、実質的に積和演算器の動作周波数が高くなったことになる。
【０１０６】
このように、本タイミング調整システムを用いて、動作の遅いブロックと早いブロックとで遅延時間の貸し借りを行うことによって、ＬＳＩ１全体の処理時間の最適化を行うことができる。
【０１０７】
なお、ブロックの数が非常に多くなり、時間の貸し借りのアルゴリズムが複雑になる場合には、データ伝送経路などと組合わせた多くのパラメータを調整するための遺伝的アルゴリズムなどの手法を用いて処理を行うことが好ましい。
【０１０８】
図１６は、クロックタイミング調整回路ＣＴＡによる遅延時間調整効果（シミュレーション結果）を示している。
【０１０９】
図１６に示すように、ウエル電圧未調整の場合（Ｐウエル電圧＝０Ｖ，Ｎウエル電圧＝１．２Ｖ）の遅延時間は、パルスの立ち上がりの遅延時間１．１２ｎｓとパスルの立ち下がりの遅延時間１．０８との平均の遅延時間１．１０ｎｓである。しかしながら、両方のウエルに逆方向バイアス電圧（閾値電圧が高くなる方向で、Ｐウエル電圧＝−０．５Ｖ，Ｎウエル電圧＝１．７Ｖ）を印加した場合の遅延時間（立ち上がり遅延時間１．９２ｎｓと立ち下がり遅延時間１．８８との平均）は１．９０ｎｓであり、７４％増加する。逆に、両方のウエルに順方向バイアス電圧（閾値電圧が低くなる方向で、Ｐウエル電圧＝０．５Ｖ，Ｎウエル電圧＝０．７Ｖ）を印加した場合の遅延時間（立ち上がり遅延時間０．９ｎｓと立ち下がり遅延時間０．９との平均）は０．９０ｎｓであり、２０％の減少となる。以上の結果から、ウエル電圧の調整によって十分な調整範囲を確保できることがわかる。
【０１１０】
順方向のバイアス電圧は、ＰＮ接合のリーク電流の関係で各々０．５Ｖ付近が限界と考えられるが、逆方向のバイアス電圧は更にバイアス値を大きくして遅延量を増加させることができる。
【０１１１】
図１７は、本タイミング調整システムが、タイミング遅延のみならず、波形の立ち上りおよび立ち下り特性を調整することにより、クロックのデューティサイクルの調整にも大きな効果を発揮することを示している。
【０１１２】
図１７に示すように、両方のウエルに順方向バイアス電圧（タイプＩ）を印加した場合、および両方のウエルに逆方向バイアス電圧（タイプＩＩ）を印加した場合は、図１６に示すようなタイミング遅延の増減の調整であるが、タイプＩＩＩ  およびタイプＩＶのように一方のウエルに順方向バイアス電圧、他方のウエルに逆方向バイアス電圧をかけた場合には、波形のデューティサイクルを変化させることができる。これにより、高速回路などでよく用いられるクロックの両エッジを用いた回路のタイミング調整に大きな効果を発揮する。
【０１１３】
なお、本タイミング調整システムによるタイミング調整は、クロック以外の信号のタイミング調整やデューティサイクル調整にも適用が可能であるし、ＬＳＩの不良解析、信号波形のスルーレート調整などにも適用が可能である。
【０１１４】
【発明の効果】
以上のように、本発明の信号タイミング調整装置は、複数の調整電圧を発生する電圧発生部と、集積回路の各回路ブロックにデータが入力されてから出力されるまでの遅延時間が各回路ブロック間でその平均値に近づくように設定された遅延時間調整量に応じた調整電圧を前記調整電圧から選択する電圧選択部と、選択された調整電圧の値に応じて閾値電圧が変化するトランジスタによって前記遅延時間を増減する遅延調整部とを備えている構成である。
【０１１５】
このように、電圧選択部によって複数の調整電圧から設定された遅延時間調整量に応じた調整電圧を選択して、遅延調整部によって、選択された調整電圧の値に応じてトランジスタの閾値電圧を変化させることで信号の遅延時間の増減が調整される。これにより、各回路ブロックの遅延時間がその平均値に近い値に調整される。このように、予め各回路ブロック間の差が小さくなるように設定された調整電圧の値に応じて信号の遅延時間を調整するので、調整パラメータが電圧のみとなる。それゆえ、調整電圧を連続的に変化させたり、調整電圧の数を増加させたりするだけで、調整範囲やステップを増加させることができる。したがって、回路規模を増大させることなく、調整の自由度を確保することができるという効果を奏する。
【０１１６】
前記の信号タイミング調整装置においては、遅延時間を測定する遅延測定部を備えていることにより、遅延時間の測定から、調整電圧の発生、調整電圧の選択および遅延時間の調整に至る処理を信号タイミング調整装置において一貫して行うことができる。
【０１１７】
前記の信号タイミング調整装置において、前記遅延測定部は、パルスを高速クロックに同期して発生し、前記パルスの発生タイミングを前記高速クロックの１クロック単位でシフトするパルス発生部と、前記回路ブロックから出力されたデータを低速クロックに同期して取り込んで保持するラッチと、前記回路ブロックから出力されたデータを前記パルスに同期して取り込んで保持するレジスタとを有している。
【０１１８】
これにより、ラッチに低速クロックに同期してデータを取り込まれた正しいデータとレジスタに保持されたデータとを比較して、両者が一致していれば、レジスタにも正しいデータが保持されていたことになる。そして、その場合のラッチにデータが取り込まれたタイミングとレジスタに正しいデータが取り込まれたタイミングとで回路ブロックの遅延時間を測定することができる。また、レジスタにデータを取り込むタイミングが高速クロックに同期したパルスで定まるので、回路ブロックからデータが出力されてから最短で高速クロック１クロック以内にそのデータをレジスタに取り込むことができる。それゆえ、遅延時間の特定を高速クロックの精度で行うことができる。さらに、パルスの発生タイミングが高速クロックの１クロック単位でシフトするので、パルスをシフトさせることで、レジスタによるデータの取り込みタイミングを調整することにより、両データが一致する時期を特定することができる。また、レジスタによるデータの取り込みタイミングの調整により、両データが一致した状態で、レジスタが回路ブロックによるデータの出力時点から最短にデータを取り込むタイミング特定することができる。したがって、高精度に遅延時間を測定することができる。
【０１１９】
前記の信号タイミング調整装置において、前記トランジスタのウエルが同一基板に形成される他の回路のウエルから分離され、前記調整電圧が前記トランジスタのウエルに印加されることにより、その遅延時間調整量に対応したウエル電圧値を他の回路と独立して印加することできる。したがって、目標とする調整を容易に行うことができる。
【０１２０】
前記の信号タイミング調整装置は、いずれも前記集積回路に内蔵されることにより、集積回路のパッケージや測定装置に起因する浮遊容量などの影響を受けることがなく、正確に遅延時間に測定することができる。
【０１２１】
また、集積回路に内蔵された信号タイミング調整装置は、前記遅延時間調整量を固定する固定部を備えていることにより、集積回路の出荷後でも、外部装置から遅延時間調整量が与えられなくても、固定部により固定された遅延時間調整量を用いて遅延調整部による信号のタイミング調整を行うことができる。
【０１２２】
本発明の信号タイミング調整システムは、前記のいずれかの信号タイミング調整装置と、前記遅延測定部によって測定された前記遅延時間の平均値を算出する平均値算出部と、前記遅延時間と算出された平均値との差が少なくなるように前記遅延時間調整量を設定する調整量設定部とを備えている構成である。
【０１２３】
これにより、調整量設定部によって、遅延時間調整量が、遅延時間と平均値算出部によって算出された平均値との差が少なくなるように調整された結果、信号タイミング調整装置に与える遅延時間調整量が生成される。このように、複雑な演算処理を必要とする平均値算出部および調整量設定部を信号タイミング調整装置と別途設けることにより、タイミング調整処理を効率的に行うことができる。
【０１２４】
本発明の信号タイミング調整理量設定プログラムは、前記の信号タイミング調整システムにおいて、コンピュータを前記平均値算出部、前記調整量設定部として機能させるので、ＬＳＩテスタなどの外部装置によって、容易に遅延時間調整量や設定値を設定することができる。
【図面の簡単な説明】
【図１】本発明の実施の一形態に係るタイミング調整システムにおいてＬＳＩ側のタイミング調整部の構成を詳しく示したブロック図である。
【図２】上記タイミング調整システムの概略構成を示すブロック図である。
【図３】上記タイミング調整システムによるタイミング調整の手順を大まかに示したフローチャートである。
【図４】（ａ）は上記タイミング調整部におけるクロックタイミング調整回路の構成を示す回路図であり、（ｂ）は上記クロックタイミング調整回路における調整部のインバータの構成を示す回路図である。
【図５】上記クロックタイミング調整回路における要部のデバイス構造を示す断面図である。
【図６】上記タイミング調整部における調整電圧発生回路およびセレクタの構成を示すブロック図である。
【図７】上記セレクタにおけるセレクタ回路の構成を示す回路図である。
【図８】上記タイミング調整部におけるプログラマブルタイミング発生回路の構成を示すブロック図である。
【図９】上記プログラマブルタイミング発生回路で発生した各種クロックに基づく各回路ブロックでの遅延時間の測定時の上記タイミング調整部における各部の動作を示すタイムチャートである。
【図１０】上記プログラマブルタイミング発生回路で発生した各種クロックに基づく各回路ブロックでの遅延時間の測定時の上記タイミング調整部における各部の他の動作を示すタイムチャートである。
【図１１】上記タイミング調整システムにおけるＬＳＩテスタが行うタイミング調整処理の手順を示すフローチャートである。
【図１２】上記遅延時間の調整処理の前後でのＬＳＩの各ブロックの動作周波数を示すグラフである。
【図１３】上記タイミング調整システムによる遅延時間調整の対象となる積和演算器の構成を示すブロック図である。
【図１４】（ａ）は積和演算器の各ブロックに供給するクロックを調整するクロックタイミング調整回路の構成を示すブロック図であり、（ｂ）は上記クロックタイミング調整回路によるクロック調整動作を示すタイムチャートである。
【図１５】上記積和演算器の動作を示すタイムチャートである。
【図１６】上記タイミング調整システムによる遅延時間の調整効果を示すグラフである。
【図１７】上記タイミング調整システムによるクロックのディーティサイクルの調整効果を示す図である。
【図１８】従来のクロックスキュー検出および調整のための回路の構成を示す回路図である。
【図１９】従来のクロックスキュー補償回路の構成を示す回路図である。
【符号の説明】
１                ＬＳＩ（集積回路）
２                ＬＳＩテスタ
１１                調整電圧発生回路（電圧発生部）
１２                セレクタ（電圧選択部）
１３                プログラマブルタイミング発生回路
２１                平均値算出部
２２                ウエル電圧値設定部（調整量設定部）
２３                調整制御部
３０                調整部
３２                インバータ
３３                インバータ
４１                Ｐウエル（ウエル）
４２                Ｎウエル（ウエル）
１３１                同期式ダウンカウンタ
１３２                サンプリングパルス発生回路（パルス発生部）
１３３                一致検出回路
ＣＢ１〜ＣＢ３        回路ブロック
ＣＰＭ１〜ＣＰＭ３    比較回路
ＣＴＡ１〜ＣＴＡ３    クロックタイミング調整回路（遅延調整部）
ＤＬ１〜ＤＬ３        データラッチ（ラッチ）
Ｆ                    ヒューズ（固定部）
ＭＲ１〜ＭＲ３        測定レジスタ（レジスタ）
ＴＲＮ                ＮＭＯＳトランジスタ（トランジスタ）
ＴＲＰ                ＰＭＯＳトランジスタ（トランジスタ）
ＶＮＷ                Ｎウエル電圧
ＶＰＷ                Ｐウエル電圧
【図１】
2004303055.tif 000003
【図２】
2004303055.tif 000004
【図３】
2004303055.tif 000005
【図４】
2004303055.tif 000006
【図５】
2004303055.tif 000007
【図６】
2004303055.tif 000008
【図７】
2004303055.tif 000009
【図８】
2004303055.tif 000010
【図９】
2004303055.tif 000011
【図１０】
2004303055.tif 000012
【図１１】
2004303055.tif 000013
【図１２】
2004303055.tif 000014
【図１３】
2004303055.tif 000015
【図１４】
2004303055.tif 000016
【図１５】
2004303055.tif 000017
【図１６】
2004303055.tif 000018
【図１７】
2004303055.tif 000019
【図１８】
2004303055.tif 000020
【図１９】
2004303055.tif 000021