JP2004159071A - Clock generation circuit and semiconductor integrated circuit - Google Patents
Clock generation circuit and semiconductor integrated circuit Download PDFInfo
- Publication number
- JP2004159071A JP2004159071A JP2002322578A JP2002322578A JP2004159071A JP 2004159071 A JP2004159071 A JP 2004159071A JP 2002322578 A JP2002322578 A JP 2002322578A JP 2002322578 A JP2002322578 A JP 2002322578A JP 2004159071 A JP2004159071 A JP 2004159071A
- Authority
- JP
- Japan
- Prior art keywords
- oscillator
- circuit
- clock
- signal
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】PLLやVCOといったクロック生成回路では、回路規模が大きくてコストが高く、消費電力が大きく、同期がとれないなどの不利益がある。
【解決手段】基準クロック信号CLKRのパルスを検出する検出部61と、上記検出部61の検出結果に基づいて発振し始める発振器63と、上記発振器63の発振信号GENCKを入力してパルス数を計数し、当該パルス数が所定数に達すると発振の停止を上記発振器63に指示するカウンタ62と、を有する。
【選択図】 図1A clock generation circuit such as a PLL or a VCO has disadvantages such as a large circuit scale, high cost, high power consumption, and loss of synchronization.
A detection unit detects a pulse of a reference clock signal, an oscillator that starts oscillating based on a detection result of the detection unit, and an oscillation signal GENCK of the oscillator to be input and count the number of pulses. A counter 62 for instructing the oscillator 63 to stop the oscillation when the number of pulses reaches a predetermined number.
[Selection diagram] Fig. 1
Description
【0001】
【発明の属する技術分野】
本発明は、必要な周波数のクロック信号を生成するクロック生成回路、および、クロック生成回路を有する半導体集積回路に関する。
【0002】
【従来の技術】
例えばCPU(central processing unit)を含む複数の機能ブロックを有する大規模半導体集積回路(LSI)において、動作に必要な最高周波数が近年、益々高くなっている。
このため、LSIの多くでは外部から与えられた基準クロック信号を元に高い周波数のクロック信号を生成する信号源として、PLL(Phase−Locked Loop)回路が使用されている。
さらに高速なクロックを用いたテストでは、外部のテスタから直接高速クロックを入力することが困難なため、上記PLL回路あるいはVCO(voltage−controlled oscillator)を用いてテストを行う場合も多い。
【0003】
【発明が解決しようとする課題】
ところが、PLL回路あるいはVCOを用いる多くの半導体集積回路では、以下の課題を有している。
通常のPLL回路やVCOはアナログ回路で構成され、ディジタル回路に比較して設計が難しく、設計や動作検証に時間がかかる。
また、PLL回路は占有面積が大きい。半導体製造プロセスの進化によってディジタル回路の面積はどんどん縮小されてゆくが、アナログ回路の面積は縮小しにくい。
VCOのみの場合、PLL回路に比べて相対的に面積は小さくなるが、VCOのみでは外部の基準クロックと同期がとれないため通常動作やテストにおいて何らかの外部データとの同期をとるための手段が必要になる。
また、複数の機能ブロックに異なる周波数のクロックを分配する場合にブロックごとにVCOやPLL回路を用意することは面積的に不利なため、多くの場合、各ブロックで必要なクロック周波数の最小公倍数の周波数を持つ基準クロック信号を1つのPLLで生成し、それを分周して分配する手法が採用されている。
最小公倍数の基準クロックの周波数が非常に高い場合は、基準クロック信号の生成が困難である、あるいは、消費電力が大きくなるなどの不利益がある。かかる不利益を避けて基準クロックの周波数(最小公倍数)を決定すると、選択できるクロック周波数の種類が狭められてしまう。
さらに、従来のPLL回路では発振周波数が安定するまでに時間がかかり、周波数を短時間で切り替えることができない。そのため高い周波数での動作テストを行う場合にPLL回路を用いると、テストに時間がかかる。
【0004】
本発明の第1の目的は、PLL回路やVCOといった大規模な回路を用いることなく、小規模の回路により高速なクロック信号を生成することができるクロック生成回路を提供することにある。
本発明の第2の目的は、複数の機能ブロックに適した周波数のクロック信号を生成でき、高速のクロック信号の分配に伴う消費電力を低減した半導体集積回路を提供することにある。
【0005】
【課題を解決するための手段】
本発明の第1の観点のクロック生成回路は、上記第1の目的を達成するためのものであり、基準クロック信号のパルスを検出する検出部と、上記検出部の検出結果に基づいて発振し始める発振器と、上記発振器の発振信号を入力してパルス数を計数し、当該パルス数が所定数に達すると発振の停止を上記発振器に指示するカウンタと、を有する。
好適に、上記発振器は、ゲート回路と、上記ゲート回路の出力と入力との間に接続され、遅延量に応じてゲート回路の上記出力のオンとオフとを切り替え、遅延量に応じたパルス長のクロック信号を上記ゲート回路の出力に生成させる遅延回路と、を有する。
【0006】
本発明の第2の観点の半導体集積回路は、上記第2の目的を達成するためのものであり、複数の機能ブロックと、複数の上記機能ブロックのクロック入力端子にそれぞれ接続され、接続された機能ブロックに適した周波数のクロック信号を外部から供給される基準信号に基づいて生成する複数のクロック生成回路と、を有する。
好適に、上記複数のクロック生成回路のそれぞれが、基準クロック信号のパルスを検出する検出部と、上記検出部の検出結果に基づいて発振し始める発振器と、上記発振器の発振信号を入力してパルス数を計数し、当該パルス数が所定数に達すると発振の停止を上記発振器に指示するカウンタと、を含む。
【0007】
第1の観点のクロック生成回路は、検出部と、発振器と、カウンタとを有する。
検出部は、入力される基準クロック信号のパルスを検出し、その結果を出力する。発振器は、検出部の検出結果に基づいて発振を開始し始める。カウンタは、発振器の出力をモニタすることにより発振信号のパルス数を計数する。このパルス数が予め決められた所定数に達すると、カウンタは発振の停止を発振器に指示する。これにより、発振器は発振を停止する。つぎに、基準クロックが検出されるたびに、上記した動作、即ち発振の開始、発振信号のカウント、発振の停止が繰り返される。この発振器は、好適に、ゲート回路と遅延回路からなる。この場合、遅延回路の遅延量に応じたパルスのクロック信号がゲート回路から出力される。カウンタにより当該クロック信号の発生と停止が制御され、カウンタは基準クロック信号に同期して動作しているため、ゲート回路から出力されるクロック信号は基準クロック信号に同期している。
【0008】
第2の観点のクロック生成回路は、複数の機能ブロックと、それぞれのクロック入力端子に接続されたクロック生成回路とを有する。
クロック生成回路は、好適に、ゲート回路と、ゲート回路の出力と入力との間に接続されている遅延回路とを有するため、遅延回路の遅延量に応じてゲート回路の出力のオンとオフとが切り替えられ、これにより遅延量に応じたパルス長のクロック信号がゲート回路の出力に生成される。このクロック信号の生成は、共通の基準信号に基づいて生成される。複数のクロック生成回路のそれぞれは、接続された機能ブロックに適した周波数のクロック信号を生成し出力すると、すぐに、出力されたクロック信号がクロック入力端子から機能ブロック内に供給される。
【0009】
【発明の実施の形態】
以下、本発明に係る半導体集積回路の実施の形態を、図面を参照して説明する。
【0010】
[第1の実施の形態]
図1は、第1の実施の形態におけるクロック発生回路の構成を示すブロック図である。
図1に図解したクロック生成回路56は、基準クロック信号CLKRを入力し、基準クロック信号CLKRの電圧変化を検出するエッジ検出器61、カウンタ62、および、イネーブル端子付き発振器63を有する。
エッジ検出器61の出力が、カウンタ62のクリアの反転入力端子C_Xに接続されている。カウンタ62のリセットの反転入力端子R_Xにリセット信号RST_Xが入力される。
カウンタ62の出力端子CO_Xが発振器63のイネーブル端子ENに接続され、発振器63の出力から生成したクロック信号GENCKが出力される。このクロック信号GENCKは、カウンタ62のクロック入力CKに入力され、カウンタ62によりパルス数がカウントされる。
【0011】
図2は、エッジ検出器の一構成例を示す回路図である。
エッジ検出器61は、一方の入力に基準クロック信号CLKRが入力されるNANDゲート回路71を有している。基準クロックの入力端子とNANDゲート回路71の他方端子との間に、インバータ72と遅延回路73が直列に接続されている。
【0012】
基準クロック信号CLKRが“L(ロー)”の初期状態では、遅延回路73の出力(NANDゲート回路71の他方入力)が“H”となっているから、基準クロックパルスが立ち上がるとNANDゲート回路71の出力信号(エッジ検出信号)CNTSTAが“L”となる。この基準クロックのパルスの立ち上がりから、インバータ72と遅延回路73により遅延量に応じた時間が経過すると、NANDゲート回路71の他方入力が“L”に変化するため、NANDゲート回路71からのエッジ検出信号CNTSTAが“H”に戻される。このようにエッジ検出器61は、基準クロック信号CLKRのパルスの立ち上がりを検出して、所定長さの負のパルスを出力する。
【0013】
図3は、カウンタの一構成例を示す回路図である。
カウンタ62は、直列接続された、例えば4個のフリップフロップ81,82,83,84と、最も後段のフリッププロップ84のQ端子とカウンタの出力端子CO_Xとの間に接続されたインバータ85とを有する。
初段のフリップフロップ81のD端子に“H”レベルの電圧VEが印加されている。4つのフリップフロップのセット端子Sにリセット信号RST_Xの反転信号が印加可能であり、4つのフリップフロップのリセット端子Rにカウンタのエッジ検出信号CNTSTAの反転信号が印加可能な構成となっている。
【0014】
このカウンタ62では、リセット信号RST_Xが“L”となると、その反転信号により全てのフリップフロップが“H(1)”にセットされる。また、エッジ検出信号CNTSTAが“L”となると、その反転信号(クリア信号)により全てのフリップフロップが“L(0)”にリセットされ、以後、クロック入力CKにクロック信号GENCKのパルスが立ち上がるたびに、初段のフリップフロップ81のD端子に印加されている“H”レベルの電位をフリップフロップ82のD端子、フリップフロップ83のD端子、フリップフロップ84のD端子、インバータ85の入力に転送する。
インバータの出力、即ちカウンタ62の出力信号OSC_ENは上記クリア時に“L”から“H”に変化している。その後、クロック信号GENCKの4パルス目の立ち上がりでインバータ85に“H”電位が転送されると、この出力信号OSC_ENが“H”から“L”に切り替わる。
以上のように、カウンタ62は、クリア動作ごとに4つのパルスをカウントする。
【0015】
図4は、イネーブル端子EN付きの発振器の一構成例を示す回路図である。
発振器63において、イネーブル端子ENとクロック信号GENCKの出力端子との間に、NANDゲート回路81、遅延回路82、インバータ83が直列に接続されている。NANDゲート回路81の一方端子がイネーブル端子ENに接続され、他方端子が遅延回路82の出力に接続されている。
この発振器63では、イネーブル端子ENに入力される信号OSC_ENが“H”の期間では、遅延回路82の遅延量Dで決まるパルス幅で発振し、クロック信号GENCKが出力される。
【0016】
なお、図5に示すように、NANDゲート回路81と遅延回路82との接続中点から、インバータ83を通してクロック信号GENCKを取り出す構成でもよい。
イネーブル信号OCN_ENが“H(ハイ)”レベルになると、NANDゲート回路81の一方入力の電圧変化に応じてNANDゲート回路81の出力の電圧が変化し、この出力電圧の変化が遅延回路82の遅延量Dだけ遅れてNANDゲート回路81の他方の入力に帰還される。このため、NANDゲート回路81の出力は、遅延量Dにより決まるパルス幅で発振する。この発振信号の反転信号がインバータ83の出力から、クロック信号GENCKとして出力される。
【0017】
図6(A)〜図6(E)は、図1に示すクロック生成回路の各信号のタイミングチャートである。
図6(B)に示すように、比較的に低い周波数の基準クロック信号CLKRが、図1に示すエッジ検出器61に入力されているときに、図6(A)に示すリセット信号RST_Xが“H”から“L”に変化すると、前述したように図3の4つのフリップフロップに“H”がセットされる。その後の最初の基準クロック信号CLKRのパルスの立ち上がりによって、前述したように図2のNANDゲート回路71の出力信号であるエッジ検出信号CNTSTAが、インバータ72と遅延回路73の遅延量で決まる短い期間だけ“H”から“L”に変化する。
エッジ検出信号が“H”から“L”に変化すると、前述したように図3の4つのフリップフロップにリセットがかかり、それらの保持データが一斉に“L”に変化する。同時に、カウンタの出力信号OSC_ENが“L”から“H”に変化して、図4または図5に示す発振器63が発振を開始する。
前述したように、発振器63からのクロック信号GENCKの4パルス目の立ち上がりで図3に示すカウンタ62から出力されるイネーブル信号OSC_ENが“H”から“L”に変化する。このため、次にイネーブル信号OSC_ENが“H”になるまで発振器63が発振を停止する。
【0018】
図6(A)〜図6(E)に示すように、以上の一連の動作が基準クロック信号CLKRのパルスが立ち上がるたびに繰り返される。その結果、本例では、基準クロック信号CLKRの4倍の周波数のクロック信号GENCKが生成される。
以上のクロック生成回路56では、生成したいクロック信号GENCKの周波数に応じてカウンタ62のフリップフロップの段数を予め設定する。生成したいクロック信号GENCKの周波数が高い場合は、発振器63の遅延量を予め設計時に小さくして対処する。
【0019】
図7(A)〜図7(E)に、発振器63の遅延量が予定より小さくなった場合の各信号のタイミングチャート、図8(A)〜図8(E)に発振器63の遅延量が予定より大きくなった場合の各信号のタイミングチャートを示す。
発振パルス長が短くなった場合は問題ないが、発振パルス長が長くなった場合は、図8(E)のように、これ以上パルス長が長くなると予定した周波数のクロック信号が得られなくなる可能性がある。この場合、発振器63の遅延量を変更できれば便利である。
【0020】
[第2の実施の形態]
第2の実施の形態は、クロック生成に用いる発振器の遅延量の変更に関する。
図9に、遅延量を変更できる発振器の一構成例を示す。
図9に示した発振器63−1は、例えば3つの遅延回路82−1,82−2,82−3を直列接続させ、その各々の遅延回路の出力ノードの電位を入力とするセレクタ84を設ける。セレクタ84は、制御信号S6により、入力の組み合わせを変化させてNANDゲート回路81の他方端子に与える遅延量を変化させる。これにより、遅延量の変更が可能となる。
【0021】
なお、図10に示すように、NANDゲート回路81と遅延回路82−3との接続中点から、インバータ83を通してクロック信号GENCKを取り出す構成でもよい。
図10に示す発振器63−1において、遅延回路82−1は遅延量D1を有し、遅延回路82−2は遅延量D2を有し、遅延回路82−3は遅延量D3を有している。全体の遅延量は、この3つの遅延量D1、D2、D3の組み合わせにより決まる。
遅延量の組み合わせを決める手段としてのセレクタ84が、各遅延回路の3つの出力と、NANDゲート回路81の他方入力との間に接続されている。セレクタ84は、外部から入力される制御信号S6により制御される。
【0022】
発振器63の遅延回路82の遅延量Dは、回路のクリティカルパスを参考に若干のマージンを加えた値を目安とする。図9に示した発振器63−1では、回路のマージンに合わせて全体の遅延量が変更できる。ところが、発振周波数自体は変わらない。
【0023】
[第3の実施の形態]
クロック生成回路では、回路の最高動作可能周波数の測定やテストの高速化、その他の理由で意図的に発振器の出力周波数を変更したい場合がある。第3の実施の形態は、クロック生成回路の発振周波数の変更に関する。
【0024】
図11に、パルスのカウント数が変更可能なクロック生成回路の一構成例を示す。
図11に示すクロック生成回路56−1は、カウントパルス数を4ビットY0〜Y3で出力するカウンタ62−1と、4ビットデータの比較器64を設ける。カウンタ62−1の4ビットの出力を、一方の入力A0〜A3として比較器64に入力し、比較器64の他方の入力に4ビットの選択信号のビット列B0〜B3を入力する。この選択信号B0〜B3によって生成したいクロック信号GENCKを設定する。比較器64は、入力されるカウンタのパルスのカウンタ値A0〜A3を、選択信号のビット列B0〜B3と比較する。より詳細には、2つの入力の排他的論理和の反転を論理演算する。これにより、比較器64の出力、即ちイネーブル信号OSC_ENは、カウンタのパルスのカウンタ値A0〜A3が選択信号のビット列B0〜B3と一致するときは“1(H)”、一致しないときは“0(L)”となる。発振器63は、このイネーブル信号OSC_ENにより発振の開始と停止が制御される。
【0025】
図12に、クロック周波数を、パルスのカウント数を変えることにより変更するための発振器の構成例を示す。
図12に示す発振器62−1において、4つのフリップフロップ81〜84のそれぞれの出力を入力とする、4入力のセレクタ86を有する。セレクタ86は、入力されるカウント数制御信号S7に応じてセレクタ86の4つの入力信号の何れかを選択し出力する。このため、インバータ85から出力されるイネーブル信号OSC_ENは、1〜4パルスの範囲内で任意のパルスのカウント数ごとに“H”から“L”に変化する。次の段の発振器63の発振が、この1〜4の範囲内で選択された任意の数のパルスごとに停止する結果、発振周波数が変更できる。
【0026】
[第4の実施の形態]
図13は、第4の実施の形態におけるクロック生成回路の構成を示すブロック図である。
図13に図解したクロック生成回路56−2は、エッジ検出器61の出力と、カウンタ62のクリアの反転入力端子C_Xとの間に、セット信号ST_Xが入力可能になっている。このセット信号ST_XおよびRST_Xは、ともにローアクティブであるが互いに反転した信号であり、その状態に応じてカウンタがセットまたはリセットされる。図3に示すカウンタ62の構成例では、リセット信号RST_Xが“H”から“L”となることによりフリップフロップ81〜84がセットされ、カウンタ自身がリセット、即ちカウンタ62の出力が“H”から“L”となる。逆に、端子C_Xに入力されるセット信号ST_Xが“H”から“L”となることによりフリップフロップ81〜84がリセットされ、カウンタ自身がセット、即ちカウンタ62の出力が“L”から“H”となる。
【0027】
以上の構成および制御により、基準クロック信号CLKRが入力されている場合でも、発振器63を連続発振状態または連続停止状態に維持できる。これにより、発振器63自体の発振周波数を出力クロック信号から判別できる利点がある。
なお、図13におけるリセット信号RST_Xおよびセット信号ST_Xが、本発明における“カウント出力制御信号”の一例に該当する。
【0028】
[第5の実施の形態]
図14は、第5の実施の形態におけるクロック生成回路の構成を示すブロック図である。
図14に図解したクロック生成回路56−3においては、発振器63から出力されるクロック信号GENCKと、基準クロック信号CLKRとを選択するセレクタ64を有する。セレクタ64は、クロックバイパス制御信号S8に応じてクロック信号GENCKと基準クロック信号CLKRとを切り替えて、外部に出力する。
【0029】
以上の構成および制御により、生成したクロック信号GENCKと基準クロック信号CLKRとの双方を切り替えて出力できるため、発振周波数の自動検出が可能となる。
【0030】
以上の第1から第5の実施の形態のクロック生成回路について、以下の利益が得られる。
第1の利益として、クロック生成回路が、基準クロック信号の検出部と、発振器と、簡単なカウンタで構成できることから、回路の占有面積がPLL回路等に比べ格段に小さい。
第2の利益として、特に第2の実施の形態のクロック生成回路では、発振器の遅延量を変更して発振周波数を変更できることから、発振器の発振周波数(あるいはパルス幅)が目標とする値と異なる場合でも、LSIを形成後に、電気的に発振周波数を変更できる。
第3の利益として、特に第3の実施の形態のクロック生成回路では、カウンタのカウント値を制御できることから、クロック生成回路から出力されるクロック信号の周波数を変更できる。例えば、周囲の温度環境などによりパルス長、即ち遅延回路の遅延量が多少なりとも変化する場合、基準クロック信号のエッジを検出してから一定の期間に必要数のパルスを生成する必要がある。このような場合、パルスのカウント値とパルス幅の双方が調整できると周波数の調整の自由度が格段に高まる。したがって、第2の実施の形態と第3の実施の形態の組み合わせは、特に好ましい。
第4の利益として、特に第4の実施の形態のクロック生成回路では、発振器の連続発振、連続停止の制御が出来ることから、発振周波数と同じまでクロック生成回路からのクロック信号の周波数を発振周波数と同じまで高くすることが出来る。また、発振周波数を調べるテストなどが容易である。
第5の利益として、特に第5の実施の形態のクロック生成回路では、クロック生成回路で生成したクロック信号と基準クロック信号との選択的な出力が可能であることから、発振周波数の自動検出が可能となる。
【0031】
つぎに、以上のクロック生成回路を用いた半導体集積回路について、以下の第6〜第8の実施の形態にて説明する。
【0032】
[第6の実施の形態]
図15は、第6の実施の形態の半導体集積回路(LSI)の概略構成を示すブロック図である。
図15に図解したLSI55は、複数の機能ブロック、ここではブロックA、ブロックBおよびブロックCを有している。このLSI55では、PLL回路等の高い周波数のクロック信号を生成する回路を省いて、その代わりに、複数のブロックA〜Cのそれぞれのクロック入力端子の直ぐ近くに、対応するブロックに適した周波数のクロック信号を生成するクロック生成回路56A,56B,56Cを設けている。
【0033】
第6の実施の形態においては、複数の機能ブロックのそれぞれにクロック生成回路を設ける。クロック生成回路は、上述した第1〜第5の実施の形態に示すクロック生成回路を用いることができる。あるいは、第1〜第5の実施の形態を任意に組み合わせたクロック生成回路を用いることができる。
【0034】
いずれの場合でも、基準クロックの検出回路、発振器およびカウンタを組み合わせた簡単で小規模な回路で構成できる。このような小規模なクロック生成回路は、機能ブロックと他の構成部分との隙間のスペースに容易に配置でき、LSIの面積をほとんど増大させない。
また、低い周波数の基準クロック信号を機能ブロックの近くまで配線により供給し、必要な機能ブロックの近くで、基準クロック信号より高い周波数のクロック信号を生成させるため、クロックの配線による遅延がなくまた、高い周波数のクロック信号により電力の消費も低減されている。
さらに、アナログ回路とディジタル回路が混在したPLL回路が不要であることから、プロセスコストが下がり、また電源をアナログ回路とディジタル回路で分ける必要もなく、占有面積の削減とともに、大幅なコスト低減が可能となる。
【0035】
[第7の実施の形態]
図16は、第7の実施の形態における半導体集積回路の構成を示すブロック図である。この図は、CPUの動作テスト時にテスタを接続した状態を示す。
図16に図解した半導体集積回路(以下、LSI)1は、複数の機能ブロックとして、第1ブロック2−1、第2ブロック2−2、および、CPU(中央処理装置)3を有する。これら機能ブロック2−1,2−2,3は、内部バス4に接続されている。内部バス4に、さらに、記憶回路としてのRAM5、入出力(I/O)インターフェイス6が接続されている。
入出力インターフェイス6は、外部のテスタ100のデータおよびプログラムの入出力端子に接続されている。また、CPU3のリセット端子に供給されるリセット信号SRが、外部のテスタ100から与えられるようにCPU3とテスタ100が接続されている。
RAM5に、テスト用プログラムおよびデータ(テストパターン)を含む情報が記憶されている。
【0036】
各機能ブロックに動作クロック信号供給するクロック供給部10が接続されている。
クロック供給部10は、PLL回路11、テスト用クロック生成回路12、2つのセレクタ13と14、および、2つの分周器15と16を有する。
PLL回路11は、本例のテスト時には入力されないが、通常動作時に入力される基準クロック信号を基にCPU3の通常動作時の高い周波数の動作クロックCLK1を生成させる。このため、PLL回路11の入力は、第1の外部クロック入力端子1aに接続されている。PLL回路11の出力は、セレクタ13の一方の入力に接続されている。
【0037】
図解したLSI1は、もう1つ、外部から入力される外部クロック信号CLK2を入力する手段として、外部クロック入力端子1bを有している。外部クロック入力端子1bはセレクタ13の他方の入力と接続されている。外部クロック信号CLK2は、後述するテスト時のデータおよびプログラムロード時にテスタ100から供給される、低い周波数の第1テストクロック信号である。なお、通常動作時に、外部クロック入力の手段を用いると、PLL回路11の動作を確認するために、PLL回路11から出力されるべき動作クロックCLK1と同じ高い周波数のクロック信号を外部クロック信号CLK2として入力することも出来る。
セレクタ13は、外部のテスタ100から入力される制御信号S1により、2つの入力に入力されたクロック信号CLK1またはCLK2の何れかを選択し、出力する。
【0038】
セレクタ13の出力が、セレクタ14の一方の入力に接続されている。セレクタ14の他方の入力は、テスト用クロック生成回路12の出力に接続されている。
セレクタ14の出力がCPU3のクロック入力に接続されている。セレクタ14の出力と機能ブロック2−1との間に1/n分周器15が接続されている。セレクタの出力と機能ブロック2−2との間に1/m分周器16が接続されている。PLL11で生成された最高周波数、例えば100〜200MHzの周波数の動作クロック信号CLK1によってCPU3が動作する。機能ブロック2−1は、動作クロック信号CLK1の周波数を1/nに落とした動作クロック信号で動作し、機能ブロック2−2は、動作クロック信号CLK1の周波数を1/mに落とした動作クロック信号で動作する。このように、クロック信号供給部10は、CPU3を含めた複数の機能ブロックにそれぞれ適したクロック信号を生成し、または外部から入力して供給する。
【0039】
テスト用クロック生成回路12は、本発明のクロック生成回路の一実施形態を構成する。テスト用クロック生成回路12は、外部クロック信号CLK2に同期した基準クロック信号(または制御信号)S2を外部のテスタ100から入力し、これを基に、前述したCPU3の動作クロック信号と等価な、例えば100〜200MHzの高いテストクロック信号CLK1Tを生成する。テストクロック信号CLK1Tは、セレクタ14の他方入力に入力される。
【0040】
テスト用クロック生成回路12としては、前述した第1から第5の実施の形態のクロック生成回路、あるいは、これらを組み合わせたクロック生成回路を用いることができる。
【0041】
以下、図16に図解したLSI1に対して、テスタ100により、LSI1の動作時と同じ高い周波数による動作テスト(動作周波数保証テスト)について説明する。
まず、低い周波数のテストクロック信号CLK2をテスタ100からCPU3に直接入力するために、テスタ100から入力される制御信号S1とS2を共にディスイネーブル状態にする。これにより、セレクタ13が第1のテストクロックCLK2の入力側を選択し、第1のテストクロックCLK2がセレクタ14に送られる。また、セレクタ14が通常クロック側、即ちテスタ13の出力側を選択する。その結果、第1のテストクロック信号CLK2がCPU3に入力される。CPU3は、入力クロックの周波数に応じて低速の動作モードと高速の通常動作モードを選択できるように構成されている。今の場合、低速動作モードで動作する。より詳細には、テストクロック信号CLK2に同期して動作周波数保証テスト用のプログラムおよびデータ(テストパターン)を、テスタ100から、入出力インターフェイス6、内部バス4を経由してRAM5に一時記憶(ロード)させる。
【0042】
つぎに、テストクロック信号CLK2に同期して、テスタ100が制御信号S2をイネーブル状態に変化させる。これによりテスト用クロック生成回路12が動作し、テスト用クロック生成回路12でテストクロック信号CLK1Tが生成され、出力される。このとき、制御信号S2のイネーブル状態への変化によりセレクタ14が切り替わっているため、生成されたテストクロック信号CLK1Tは、セレクタ14を経由してCPU3に入力される。高い周波数のテストクロック信号CLK1Tが入力されると、CPU3が低速の動作モードから高速の動作モードに切り替わる。
【0043】
その後、リセット信号SRがテスタ100からCPU3に入力される。これにより、CPU3がRAM5から動作周波数保証テスト用のプログラムおよびテストパターンを呼び出して、このプログラムを実行する。
動作周波数保証テストは、CPU3自身の機能をチェックする、あるいは、CPU3が他の機能ブロックを制御する機能をチェックするため、通常の動作クロック信号CLK1と同じ高い周波数を有するテストクロック信号CKL1Tの環境下で実行される。
テストの結果は、RAM5内に、あるいは、入出力インターフェイス6内の記憶回路に一旦書き込まれる。
【0044】
テスタ100は、動作周波数保証テストが終了すると、制御信号S2をディスイネーブル状態に戻す。これにより、セレクタ14の入力信号が切り替わり、第1のテストクロック信号CLK2が、再度、CPU3に入力されるようになる。
第1のテストクロック信号CLK2による低速の動作モードにおいて、RAM5あるいは入出力インターフェイス6から、内部バス4を経由してテスト結果をCPU3が読み取る。CPU3は、読み取ったテスト結果から動作周波数保証テストの合否を判定する。
【0045】
第7の実施の形態では、通常の動作と同じ高い周波数のテストクロック信号CLK1Tを専用のテスト用クロック生成回路12により生成する。このテスト用クロック生成回路12は、PLL回路やVCOより小型で簡素な構成を有し、発振指令が出てから直ぐに所定の周波数のクロック信号CLK1Tを出力できる利点がある。このため、低速の動作モードから高速の動作モードに切り替えられた場合でも、高速の動作モードに必要な上記テストクロック信号CLK1Tが速やかに入力され、待ち時間が殆ど発生しない。
テスト時のプログラムやデータのロード、テスト結果の読み出しは、テスタ100からのクロック信号CLK2により実行されるが、このテストクロック信号CLK2は、高速のテストクロック信号より、例えば1桁ほど周波数が低いため、内部のクロック生成部の構成が大規模で高精度な高価なテスタを用いる必要がない。
さらに、通常動作時に用いる内蔵のPLL回路11を用いない。PLL回路11で生成する高速クロック信号CLK1の代わりに、テストクロック信号CLK2および基準クロック信号S2に同期がとれた信号としてテストクロック信号CLK1Tが生成される。このようにテストクロック同士の同期がとれているため、テスト中の同期ずれの懸念がなく、テストがスムーズに、かつ正確に進行する。
【0046】
なお、テスト用クロック生成回路12は、基準クロック信号および/または選択信号S2による制御で必要なときだけ発振し、不必要なときは停止させることが消費電力の抑制の面から望ましい。このように発振の停止を頻繁に行っても、テスト用クロック生成回路12は立ち上がり、即ち所定周波数が安定するまでの時間が短いため時間ロスとならない。
また、第7の実施の形態では、PLL回路11自体を省略し、通常の動作時も発振器12を用いることが出来る。
【0047】
[第8の実施の形態]
図17は、第8の実施の形態における半導体集積回路の構成を示すブロック図である。この図は、CPUの動作テスト時にテスタを接続した状態を示す。
図17に図解した半導体集積回路のクロック信号供給部30は、テスト用クロック発振器(T.OSC)12で生成されたテストクロック信号CLK1Tを入力するテストクロック出力部(T.CK出力部)31を有する。テストクロック出力部31は、内部にバッファまたは分周回路を有し、生成されたテストクロック信号CLK1Tを、このバッファに保持し、あるいは分周する。テスタ100は、テストクロック信号CLK1Tの周波数を確認するための信号(あるいは、テストクロック信号CLK1Tそのもの)を必要なときに取り出して、テストクロック信号CLK1Tの周波数を直接的にあるいは間接的に測定する。テストクロック信号CLK1Tの周波数が動作クロック信号CLK1と大きく異なっている場合は、周波数を修正する指示を出す。なお、この場合のテスト用クロック生成回路12は、前述したように発振周波数が可変となる構成をとり、テスタ100は制御信号S3を制御してテストクロック信号CLK1Tの発振周波数を変更する。
なお、本例のクロック信号供給部30の他の構成は、図1に示すクロック信号供給部10と同じである。
【0048】
図17に示す半導体集積回路において、内部バス4にROM7が接続されている。テスト用のプログラムをROM7に予め記憶させ、これにより、第7の実施の形態のように動作周波数保証テストのたびにプログラムをRAM5にロードする手間を省き、テスト時間を短縮できる。また、テスタ100がプログラムをロードする機能を省略できる。なお、ROM7は必須な構成ではなく、第7の実施の形態のように、RAM5内にプログラムをダウンロードしてもよい。
【0049】
図17に示す半導体集積回路に、オンチップデバック用のアーキテクチャと、そのシリアルポートが組み込まれている。このアーキテクチャは、以下、CPUデバッグテストで説明するが、いわゆるバウンダリ・スキャンテストの実行もできる。バウンダリ・スキャンテストとは、各機能ブロックのI/O境界(バウンダリ)に対し、あたかもテスタが接続されているときと同じようにIC内部からスキャンテストを実行でき、テスタを不要としたセルフ・スキャンテストを言う。
【0050】
このようなセルフ・テストを実行するアーキテキチャおよびシリアルポートの代表的なものとして、いわゆるJTAG(Joint Test Action Group)仕様のものがある。
JTAGに対応した構成として、DUT(Debug Support Unit)40がCPU3内に予め組み込まれている。また、JTAGテストのインターフェイス(T.I/F)45が、CPU3のリセット入力と、LSIのリセット端子1cとの間に接続されている。このテストインターフェイス45は、発振およびセレクタの切り替えの許可のための制御信号S2および周波数を変更するための制御信号S4を供給するために、テスト用クロック生成回路12およびセレクタ14と接続されている。
一方、JTADデバッグ用のシリアルポートとして、JTAGデバッガ101がテスタ100内に予め設けられている。テスタ100は、JTAGデバッガ101を経由してDUT40およびテストインターフェイス45を制御し、これによって、動作周波数保証テストに必要なLSIの初期化(リセット)、制御(プログラムおよびテストパターンの読み出し等)、結果の取り出しをCPU動作のバックグラウンドで実行する。このため、図17の場合、低い周波数の第1のテストクロック信号CLK1Tの入力自体を不要とし、テストクロック同士の同期をとる必要もなくなる。
【0051】
図18は、DSU40の内部構成とCPUの一部の構成を示すブロック図である。
DSU40は、TAP(Test Access Port)と称される制御ポート41、データ保持用のレジスタ(D.REG、以下、DSUデータレジスタという)42、制御部(CON)43、および、命令コード保持用のレジスタ(C.REG、以下、DSU命令レジスタという)44を有する。TAP41は、外部の前記JTAGデバッガ101に接続されている。また、TAP41に、DSUデータレジスタ42、制御部43およびDSU命令レジスタ44が接続されている。
【0052】
CPU3は、汎用レジスタ(REG)51、命令レジスタ(C.REG)52、この命令レジスタ52の入力と上記DSU命令レジスタ44の入力とを切り替えるためのセレクタ53、セレクタ53の出力に接続されている命令デコーダ(C.DEC)54を有する。
【0053】
JTAGアーキテクチャを用いた動作周波数保証テスト(JTAGデバッグテスト)においては、まず、JTAGデバッガ101がJTAGデバッグ制御入出力ラインLDI/Fを使って、テストインターフェイス45に対し、動作周波数保証テストを行いたい高い周波数(100〜200MHz)のクロック信号CLK1Tを出力するよう指示(制御信号S2の発信指令)を出す。すると、制御信号S2を受けたテスト用クロック生成回路12が、指示された周波数で発振を開始する。また、制御信号S2を受けたセレクタ14の動作により、クロック信号CLK1Tがセレクタ14を経由してCPU3に入力される。
続いて、JTAGデバッガ101が、リセット信号SRを、テストインターフェイス45を経由してCPU3に入力する。これにより、CPU3がリセットされ、高速動作モードに入る。
【0054】
つぎに、JTAGデバッガ101から動作周波数保証テスト用のプログラムをダウンロードする。このダウンロードは、ROM7内に既にプログラムが記憶されている場合は不要である。ROM7が設けられていない場合、JTAGデバッガ101から、JTAGデバッグ制御入出力ラインLDI/F、DSU40、CPU内部、内部バス4を経由して、プログラムがRAM5にダウンロードされる。
【0055】
以下、このプログラムをJTAGデバッガからRAMにダウンロードする手順を、図18を用いて詳細に説明する。
最初に、JTAGデバッガ101からJTAGデバッグ制御入出力ラインLDI/Fに出力されたプログラムデータが、TAP41を経由してDSUデータレジスタ42に書き込まれる。このDSUデータレジスタは、通常、容量が小さいため動作周波数保証テスト用のプログラムを一度に書き込めない。したがって、このプログラムの一部がDSUデータレジスタ42に書き込まれる。
【0056】
つぎに、JTAGデバッガ101からJTAGデバッグ制御入出力ラインLDI/Fに出力されたデータ転送命令が、TAP41を経由してDSU命令レジスタ44に書き込まれる。データ転送命令は、DSUレジスタ42からCPU内の汎用レジスタ51にデータを転送する命令である。この段階でデータ転送は未だ開始されない。
その後、JTAGデバッガ101が、TAP41を経由して制御部43に実行を指示する。これにより、制御信号S5が制御部43からセレクタ53に入力され、セレクタ53の入力がDSU側に切り替わる。その結果、DSU命令レジスタ内のデータ転送命令がセレクタ53を経由して、CPUの命令デコーダ54に送られ、ここでデータ転送命令が実行される。その結果、DSUデータレジスタ42に書き込まれている動作周波数保証テスト用のプログラムがCPUの汎用レジスタ51に転送される。
【0057】
同様にして、JTAGデバッガ101が、TAP41を経由してストア命令をDSU命令レジスタ44に書き込み、制御部43に実行を指示する。これにより、制御信号S5によってセレクタ53が切り替わり、DSU命令レジスタ内のストア命令が命令デコーダ54に送られ、ここでストア命令が実行される。その結果、汎用レジスタ51に転送されて保持されていた動作周波数保証テスト用のプログラムがCPU3から内部バス4を経由してRAM5内の所定のアドレスに書き込まれ、ストアされる。
【0058】
以上の手順、即ち、プログラムデータのDSUレジスタ内への書き込み、データ転送命令の保持と実行によるプログラムデータの汎用レジスタへの転送、ストア命令の保持と実行によるプログラムデータのRAM内への転送とストアが、必要な回数繰り返され、動作周波数保証テスト用プログラムの全てがRAM5にダウンロードされる。
同様な手順を経て、JTAGデバッガ101からRAM5内にテストの条件等を記述したデータ(テストパターン)がダウンロードされる。
【0059】
プログラムおよびテストデータのダウンロードが終了すると、JTAGデバッガがDSU40を介してCPU3にプログラムの実行を指示する。この実行命令は、上述したプログラムの転送やストアの命令と同様な経路によりCPU3に伝達される。CPU3は、実行命令をデコードすると、プログラムおよび必要なテストデータをRAM5から読み出し、プログラムを実行する。このテスト結果は、CPU3によりRAM5内の所定のアドレスに書き込まれる。
【0060】
プログラム実行終了後、テスト結果を、RAM5からJTAGデバッガ101に読み出す。このとき、前述したプログラムデータのダウンロードと逆の手順、経路を経て、RAM5からJTAGデバッガ101に読み出される。
JTADデバッガ101は、テスト結果を期待値と比較することによりテストの合否を判定する。このとき、テストクロック出力部31から信号を出力させ、この信号によりテスト時のクロック信号CLK1Tの周波数を確認し、テスト結果が適正なクロック周波数下で行われたかを判断する。
【0061】
第8の実施の形態では、JTAG等のオンチップデバック用のアーキテクチャと、そのシリアルポートを利用して動作周波数保証テストをCPUのバックグラウンドで実行する。JTAG動作は、CPU3の動作周波数より、例えば1桁低度低い周波数をJTAGデバッガ101から供給し、これに同期して実行されるが、このJTAG動作自身はCPU動作と同期をとる必要がない。また、低い周波数のクロック信号CLK2をテスタ100から入力することが不要で、その切り替えのためのセレクタ13も不要となる。また、PLL回路11を省略した場合は、セレクタ14も不要となる。
テスタ100は、LSIの入出力インターフェイス6を介したデータのやり取りが不要で、制御信号S1の入力も必要ない。このため、第8の実施の形態におけるテスタ100の必要な機能はJTAGデバッガ101に集約され、JTAGデバッガ101さえあれば、テスタ100自体は基本的に不要となる。その結果、高価な高速テスタを使わずにLSIに内蔵されたCPUの高周波動作テストが可能になる。
【0062】
また、第7の実施の形態と同様に、PLL回路などの大規模なクロック生成回路を不要とし、クロック信号の安定化のための待ち時間が殆ど必要なく、短時間でテストが可能である。
【0063】
ところで、従来の動作周波数保証テストの場合、CPUと外部とのインターフェイスやPLL回路などクロック供給系の回路はLSI毎に異なるため、同じCPUを用いLSIでも、その高速動作テストのためのテストデータや期待値はLSI毎に用意しなければならない。
ところが、本実施の形態のように、JTAG仕様のオンチップデバッグを行うと、CPU3に内蔵されたDSU40およびそのインターフェイスを共通にすることで、CPU3が同じならば、その高速動作テスト用のテストデータと期待値はチェックする機能ごとに1組用意すればよい。
【0064】
【発明の効果】
本発明に係るクロック生成回路によれば、PLL回路やVCOより少ないゲート回路数で、小型で占有面積が狭くできる簡素な構成を有する。このため、このクロック生成回路をLSIに搭載すれば、消費電力が低減され、コスト的に有利で、かつクロック信号が安定するまでの待ち時間が短いクロック信号の内部生成が出来る。また、VCOと異なり、基準クロック信号に同期が取れた信号を生成できる。さらに、アナログ回路を必要としないため、一般のディジタル論理回路と同様に設計ができ、アナログ回路とディジタル回路で電源分離の必要が無い。
【0065】
本発明に係る半導体集積回路によれば、複数の機能ブロックそれぞれにクロック生成回路が設けられているため、大規模なPLL回路等が不要であり、占有面積、コスト、消費電力が低減され、クロックの同期ずれが解消される。また、共通の基準クロック信号で発振するため、複数の機能ブロック間で動作を同期させたい場合に都合がよい。基準クロック信号は、より低い周波数を有するため、配線遅延、配線での電力消費が少ない。
【図面の簡単な説明】
【図1】第1の実施の形態のクロック生成回路の一構成例を示す回路図である。
【図2】エッジ検出器の一構成例を示す回路図である。
【図3】カウンタの一構成例を示す回路図である。
【図4】イネーブル端子付きの発振器の一構成例を示す回路図である。
【図5】発振器の一構成例を示す回路図である。
【図6】(A)〜(E)は、クロック生成回路の各信号のタイミングチャートである。
【図7】(A)〜(E)は、クロック生成回路の遅延量が予定より小さくなった場合の各信号のタイミングチャートである。
【図8】(A)〜(E)は、発振器の遅延量が予定より大きくなった場合の各信号のタイミングチャートである。
【図9】第2の実施の形態において、遅延量を変更できる発振器の回路図である。
【図10】遅延量を変更できる他の構成の発振器の回路図である。
【図11】第3の実施の形態において、パルスのカウント数が変更可能なクロック生成回路のブロック図である。
【図12】第3の実施の形態において、パルスのカウント数が変更可能なカウンタの回路図である。
【図13】第4の実施の形態におけるクロック生成回路の構成を示すブロック図である。
【図14】第5の実施の形態におけるクロック生成回路の構成を示すブロック図である。
【図15】第6の実施の形態の半導体集積回路の概略構成を示すブロック図である。
【図16】第7の実施の形態における半導体集積回路の構成を示すブロック図である。
【図17】第8の実施の形態における半導体集積回路の構成を示すブロック図である。
【図18】DSUの内部構成とCPUの一部の構成を示すブロック図である。
【符号の説明】
1…半導体集積回路、2−1等…機能ブロック、3…機能ブロックの1つとしてのCPU、4…内部バス、5…RAM、6…入出力インターフェイス、7…ROM、10…クロック信号供給部、11…PLL回路、12…テスト用クロック発振器、13,14…セレクタ、15,16…分周器、30…クロック信号供給部、31…出力手段としてのテストクロック出力部、40…DSU、41…TAP、42…DSUデータレジスタ、43…DSU制御部、44…DSU命令レジスタ、45…検査専用の入出力回路としてのJTAGテストのインターフェイス、51…汎用レジスタ、52…命令レジスタ、53…セレクタ、54…命令デコーダ、55…半導体集積回路、56,56−1〜56−3,56A〜56C…クロック生成回路、61…エッジ検出部、62,62−1…カウンタ、63,63−1…発振器、81…ゲート回路、82,82−1〜82−3…遅延回路、100…テスタ、101…JTAGデバッガ。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a clock generation circuit that generates a clock signal having a required frequency, and a semiconductor integrated circuit having the clock generation circuit.
[0002]
[Prior art]
For example, in a large-scale semiconductor integrated circuit (LSI) having a plurality of functional blocks including a CPU (central processing unit), the highest frequency required for operation has been increasingly higher in recent years.
For this reason, in many LSIs, a PLL (Phase-Locked Loop) circuit is used as a signal source for generating a high-frequency clock signal based on a reference clock signal supplied from the outside.
In a test using a higher-speed clock, it is difficult to directly input a high-speed clock from an external tester. Therefore, the test is often performed using the PLL circuit or a VCO (voltage-controlled oscillator).
[0003]
[Problems to be solved by the invention]
However, many semiconductor integrated circuits using a PLL circuit or a VCO have the following problems.
Normal PLL circuits and VCOs are composed of analog circuits, are more difficult to design than digital circuits, and require more time for design and operation verification.
Further, the occupied area of the PLL circuit is large. Although the area of digital circuits is steadily reduced due to the evolution of semiconductor manufacturing processes, the area of analog circuits is not easily reduced.
In the case of only a VCO, the area is relatively smaller than that of a PLL circuit. However, since the VCO alone cannot synchronize with an external reference clock, a means for synchronizing with some external data in a normal operation or a test is required. become.
In addition, when distributing clocks of different frequencies to a plurality of functional blocks, it is disadvantageous in terms of area to prepare a VCO or PLL circuit for each block, so that in many cases, the least common multiple of the clock frequency required for each block is used. A method is used in which a reference clock signal having a frequency is generated by one PLL, and the frequency is divided and distributed.
When the frequency of the least common multiple reference clock is very high, there are disadvantages such as difficulty in generating the reference clock signal or an increase in power consumption. If the frequency of the reference clock (the least common multiple) is determined while avoiding such disadvantages, the types of clock frequencies that can be selected are narrowed.
Further, in the conventional PLL circuit, it takes time until the oscillation frequency is stabilized, and the frequency cannot be switched in a short time. Therefore, if a PLL circuit is used in performing an operation test at a high frequency, the test takes a long time.
[0004]
A first object of the present invention is to provide a clock generation circuit capable of generating a high-speed clock signal with a small-scale circuit without using a large-scale circuit such as a PLL circuit or a VCO.
A second object of the present invention is to provide a semiconductor integrated circuit capable of generating a clock signal having a frequency suitable for a plurality of functional blocks and reducing power consumption accompanying high-speed clock signal distribution.
[0005]
[Means for Solving the Problems]
A clock generation circuit according to a first aspect of the present invention achieves the first object, and includes a detection unit that detects a pulse of a reference clock signal, and an oscillator that oscillates based on a detection result of the detection unit. It has an oscillator to start, and a counter that counts the number of pulses by inputting an oscillation signal of the oscillator, and instructs the oscillator to stop oscillation when the number of pulses reaches a predetermined number.
Preferably, the oscillator is connected between a gate circuit and an output and an input of the gate circuit, and switches the output of the gate circuit on and off according to a delay amount, and a pulse length according to the delay amount. And a delay circuit for generating the clock signal at the output of the gate circuit.
[0006]
A semiconductor integrated circuit according to a second aspect of the present invention achieves the second object, and is connected to and connected to a plurality of functional blocks and clock input terminals of the plurality of functional blocks, respectively. And a plurality of clock generation circuits for generating a clock signal having a frequency suitable for the function block based on a reference signal supplied from the outside.
Preferably, each of the plurality of clock generation circuits detects a pulse of a reference clock signal, an oscillator that starts oscillating based on a detection result of the detection unit, and a pulse that receives an oscillation signal of the oscillator and receives a pulse. A counter for counting the number of pulses and instructing the oscillator to stop oscillation when the number of pulses reaches a predetermined number.
[0007]
A clock generation circuit according to a first aspect includes a detection unit, an oscillator, and a counter.
The detection unit detects a pulse of the input reference clock signal and outputs the result. The oscillator starts to oscillate based on the detection result of the detection unit. The counter counts the number of pulses of the oscillation signal by monitoring the output of the oscillator. When the number of pulses reaches a predetermined number, the counter instructs the oscillator to stop oscillation. As a result, the oscillator stops oscillating. Next, each time the reference clock is detected, the above-described operation, that is, the start of the oscillation, the counting of the oscillation signal, and the stop of the oscillation are repeated. This oscillator preferably comprises a gate circuit and a delay circuit. In this case, a clock signal of a pulse corresponding to the delay amount of the delay circuit is output from the gate circuit. The generation and stop of the clock signal are controlled by the counter, and the counter operates in synchronization with the reference clock signal. Therefore, the clock signal output from the gate circuit is synchronized with the reference clock signal.
[0008]
A clock generation circuit according to a second aspect has a plurality of functional blocks and a clock generation circuit connected to each clock input terminal.
Since the clock generation circuit preferably includes a gate circuit and a delay circuit connected between the output and the input of the gate circuit, the output of the gate circuit is turned on and off according to the delay amount of the delay circuit. Is switched, whereby a clock signal having a pulse length corresponding to the delay amount is generated at the output of the gate circuit. This clock signal is generated based on a common reference signal. When each of the plurality of clock generation circuits generates and outputs a clock signal having a frequency suitable for the connected functional block, the output clock signal is immediately supplied from the clock input terminal into the functional block.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of a semiconductor integrated circuit according to the present invention will be described with reference to the drawings.
[0010]
[First Embodiment]
FIG. 1 is a block diagram illustrating a configuration of the clock generation circuit according to the first embodiment.
The
The output of the
The output terminal CO_X of the
[0011]
FIG. 2 is a circuit diagram illustrating a configuration example of the edge detector.
The
[0012]
In the initial state where the reference clock signal CLKR is “L (low)”, the output of the delay circuit 73 (the other input of the NAND gate circuit 71) is “H”. Output signal (edge detection signal) CNTSTA becomes “L”. When a time corresponding to the delay amount by the
[0013]
FIG. 3 is a circuit diagram showing a configuration example of the counter.
The
An “H” level voltage VE is applied to the D terminal of the first-stage flip-
[0014]
In this
The output of the inverter, that is, the output signal OSC_EN of the counter 62 changes from "L" to "H" at the time of the above-described clearing. Thereafter, when the “H” potential is transferred to the
As described above, the
[0015]
FIG. 4 is a circuit diagram showing a configuration example of an oscillator with an enable terminal EN.
In the
The
[0016]
Note that, as shown in FIG. 5, a configuration in which the clock signal GENCK is extracted through the
When the enable signal OCN_EN changes to “H (high)” level, the output voltage of the
[0017]
FIGS. 6A to 6E are timing charts of each signal of the clock generation circuit shown in FIG.
As shown in FIG. 6B, when the reference clock signal CLKR having a relatively low frequency is input to the
When the edge detection signal changes from "H" to "L", the four flip-flops shown in FIG. 3 are reset as described above, and their held data simultaneously changes to "L". At the same time, the output signal OSC_EN of the counter changes from “L” to “H”, and the
As described above, the enable signal OSC_EN output from the
[0018]
As shown in FIGS. 6A to 6E, the above series of operations is repeated every time the pulse of the reference clock signal CLKR rises. As a result, in this example, a clock signal GENCK having a frequency four times the frequency of the reference clock signal CLKR is generated.
In the above
[0019]
FIGS. 7A to 7E are timing charts of respective signals when the delay amount of the
There is no problem when the oscillation pulse length becomes short, but when the oscillation pulse length becomes long, as shown in FIG. 8 (E), if the pulse length becomes longer, a clock signal of a predetermined frequency may not be obtained. There is. In this case, it is convenient if the delay amount of the
[0020]
[Second embodiment]
The second embodiment relates to changing the amount of delay of an oscillator used for clock generation.
FIG. 9 shows a configuration example of an oscillator that can change the delay amount.
In the oscillator 63-1 shown in FIG. 9, for example, three delay circuits 82-1, 82-2, and 82-3 are connected in series, and a
[0021]
Note that, as shown in FIG. 10, a configuration may be employed in which the clock signal GENCK is extracted through the
In the oscillator 63-1 shown in FIG. 10, the delay circuit 82-1 has a delay amount D1, the delay circuit 82-2 has a delay amount D2, and the delay circuit 82-3 has a delay amount D3. . The total delay amount is determined by a combination of these three delay amounts D1, D2, and D3.
A
[0022]
The delay amount D of the
[0023]
[Third Embodiment]
In a clock generation circuit, there is a case where it is desired to intentionally change the output frequency of an oscillator for measuring the maximum operable frequency of the circuit, increasing the speed of a test, or for other reasons. The third embodiment relates to changing the oscillation frequency of a clock generation circuit.
[0024]
FIG. 11 shows a configuration example of a clock generation circuit capable of changing the pulse count.
The clock generation circuit 56-1 shown in FIG. 11 includes a counter 62-1 for outputting the number of count pulses in four bits Y0 to Y3 and a
[0025]
FIG. 12 shows an example of the configuration of an oscillator for changing the clock frequency by changing the pulse count.
The oscillator 62-1 shown in FIG. 12 includes a four-
[0026]
[Fourth Embodiment]
FIG. 13 is a block diagram illustrating a configuration of a clock generation circuit according to the fourth embodiment.
In the clock generation circuit 56-2 illustrated in FIG. 13, the set signal ST_X can be input between the output of the
[0027]
With the above configuration and control, the
Note that the reset signal RST_X and the set signal ST_X in FIG. 13 correspond to an example of the “count output control signal” in the present invention.
[0028]
[Fifth Embodiment]
FIG. 14 is a block diagram illustrating a configuration of a clock generation circuit according to the fifth embodiment.
The clock generation circuit 56-3 illustrated in FIG. 14 includes a
[0029]
With the above configuration and control, both the generated clock signal GENCK and the reference clock signal CLKR can be switched and output, so that the oscillation frequency can be automatically detected.
[0030]
The following advantages can be obtained from the clock generation circuits according to the first to fifth embodiments.
As a first advantage, since the clock generation circuit can be configured by a reference clock signal detection unit, an oscillator, and a simple counter, the area occupied by the circuit is significantly smaller than that of a PLL circuit or the like.
As a second advantage, in particular, in the clock generation circuit according to the second embodiment, the oscillation frequency (or pulse width) of the oscillator differs from the target value because the oscillation frequency can be changed by changing the delay amount of the oscillator. Even in such a case, the oscillation frequency can be changed electrically after forming the LSI.
As a third advantage, in particular, in the clock generation circuit according to the third embodiment, since the count value of the counter can be controlled, the frequency of the clock signal output from the clock generation circuit can be changed. For example, when the pulse length, that is, the amount of delay of the delay circuit slightly changes due to the surrounding temperature environment or the like, it is necessary to generate a required number of pulses in a certain period after detecting the edge of the reference clock signal. In such a case, if both the pulse count value and the pulse width can be adjusted, the degree of freedom in adjusting the frequency is greatly increased. Therefore, the combination of the second embodiment and the third embodiment is particularly preferable.
As a fourth advantage, in particular, in the clock generation circuit of the fourth embodiment, since the continuous oscillation and the continuous stop of the oscillator can be controlled, the frequency of the clock signal from the clock generation circuit is changed to the oscillation frequency until the oscillation frequency becomes the same. Can be as high as. Further, a test for examining the oscillation frequency is easy.
As a fifth advantage, in particular, in the clock generation circuit according to the fifth embodiment, since the clock signal generated by the clock generation circuit and the reference clock signal can be selectively output, the automatic detection of the oscillation frequency is not performed. It becomes possible.
[0031]
Next, a semiconductor integrated circuit using the above clock generation circuit will be described in the following sixth to eighth embodiments.
[0032]
[Sixth Embodiment]
FIG. 15 is a block diagram illustrating a schematic configuration of a semiconductor integrated circuit (LSI) according to the sixth embodiment.
The
[0033]
In the sixth embodiment, a clock generation circuit is provided for each of a plurality of functional blocks. As the clock generation circuit, the clock generation circuits described in the above first to fifth embodiments can be used. Alternatively, a clock generation circuit obtained by arbitrarily combining the first to fifth embodiments can be used.
[0034]
In any case, a simple and small-scale circuit combining a detection circuit for the reference clock, an oscillator, and a counter can be used. Such a small-scale clock generation circuit can be easily arranged in the space between the functional block and other components, and hardly increases the area of the LSI.
In addition, a low-frequency reference clock signal is supplied to the vicinity of a functional block by wiring, and a clock signal of a higher frequency than the reference clock signal is generated near a required functional block, so that there is no delay due to clock wiring. High frequency clock signals also reduce power consumption.
Furthermore, the need for a PLL circuit in which analog and digital circuits coexist is not required, which reduces process costs, and eliminates the need to divide the power supply between analog and digital circuits, reducing the occupied area and significantly reducing costs. It becomes.
[0035]
[Seventh Embodiment]
FIG. 16 is a block diagram illustrating a configuration of a semiconductor integrated circuit according to the seventh embodiment. This figure shows a state in which a tester is connected during the operation test of the CPU.
A semiconductor integrated circuit (hereinafter, LSI) 1 illustrated in FIG. 16 includes a first block 2-1, a second block 2-2, and a CPU (central processing unit) 3 as a plurality of functional blocks. These functional blocks 2-1, 2-2, and 3 are connected to the
The input /
Information including a test program and data (test pattern) is stored in the
[0036]
A
The
The
[0037]
The illustrated
The
[0038]
The output of the
The output of the
[0039]
The test
[0040]
As the test
[0041]
Hereinafter, an operation test (operating frequency guarantee test) of the
First, in order to directly input the low frequency test clock signal CLK2 from the
[0042]
Next, the
[0043]
After that, the reset signal SR is input from the
The operating frequency assurance test checks the function of the
The result of the test is temporarily written in the
[0044]
When the operation frequency guarantee test is completed, the
In the low-speed operation mode based on the first test clock signal CLK2, the
[0045]
In the seventh embodiment, a dedicated test
Loading of programs and data and reading of test results at the time of a test are executed by the clock signal CLK2 from the
Further, the built-in
[0046]
Note that the test
Further, in the seventh embodiment, the
[0047]
[Eighth Embodiment]
FIG. 17 is a block diagram showing a configuration of a semiconductor integrated circuit according to the eighth embodiment. This figure shows a state in which a tester is connected during the operation test of the CPU.
The clock
The other configuration of the clock
[0048]
In the semiconductor integrated circuit shown in FIG. 17, a
[0049]
An on-chip debugging architecture and its serial port are incorporated in the semiconductor integrated circuit shown in FIG. This architecture will be described below with reference to a CPU debug test, but can also execute a so-called boundary scan test. A boundary scan test is a self-scan that can execute a scan test on an I / O boundary (boundary) of each functional block from within the IC as if a tester is connected, and eliminates the need for a tester. Say test.
[0050]
A typical example of an architecture and a serial port for executing such a self test is a so-called JTAG (Joint Test Action Group) specification.
As a configuration corresponding to JTAG, a DUT (Debug Support Unit) 40 is incorporated in the
On the other hand, a
[0051]
FIG. 18 is a block diagram showing an internal configuration of the
The
[0052]
The
[0053]
In the operation frequency guarantee test (JTAG debug test) using the JTAG architecture, first, the
Subsequently, the
[0054]
Next, a program for an operating frequency guarantee test is downloaded from the
[0055]
Hereinafter, a procedure for downloading this program from the JTAG debugger to the RAM will be described in detail with reference to FIG.
First, from the
[0056]
Next, from the
After that, the
[0057]
Similarly, the
[0058]
The above procedure, ie, writing program data into the DSU register, transferring program data to the general-purpose register by holding and executing a data transfer instruction, transferring and storing program data into the RAM by holding and executing a store instruction Is repeated a required number of times, and the entire operating frequency assurance test program is downloaded to the
Through a similar procedure, data (test pattern) describing test conditions and the like is downloaded from the
[0059]
When the download of the program and the test data is completed, the JTAG debugger instructs the
[0060]
After the execution of the program, the test result is read from the
The
[0061]
In the eighth embodiment, an operating frequency assurance test is executed in the background of the CPU using an on-chip debugging architecture such as JTAG and its serial port. The JTAG operation is performed by supplying a frequency lower than the operating frequency of the
The
[0062]
Further, as in the seventh embodiment, a large-scale clock generation circuit such as a PLL circuit is not required, and a waiting time for stabilizing a clock signal is almost unnecessary, and a test can be performed in a short time.
[0063]
By the way, in the case of the conventional operating frequency assurance test, since a clock supply system circuit such as an interface between the CPU and the outside and a PLL circuit is different for each LSI, even if the same CPU is used for the LSI, test data for the high-speed operation test is The expected value must be prepared for each LSI.
However, when the on-chip debugging of the JTAG specification is performed as in the present embodiment, the
[0064]
【The invention's effect】
The clock generation circuit according to the present invention has a simple configuration that can be small and occupy a small area with a smaller number of gate circuits than a PLL circuit or a VCO. Therefore, if this clock generation circuit is mounted on an LSI, power consumption can be reduced, cost can be reduced, and the clock signal can be internally generated with a short waiting time until the clock signal is stabilized. Further, unlike the VCO, a signal synchronized with the reference clock signal can be generated. Further, since an analog circuit is not required, the design can be performed in the same manner as a general digital logic circuit, and there is no need to separate power supplies between the analog circuit and the digital circuit.
[0065]
According to the semiconductor integrated circuit of the present invention, since a clock generation circuit is provided for each of a plurality of functional blocks, a large-scale PLL circuit or the like is not required, and the occupied area, cost, and power consumption are reduced. Is eliminated. In addition, since oscillation is performed with a common reference clock signal, it is convenient when operations are to be synchronized among a plurality of functional blocks. Since the reference clock signal has a lower frequency, wiring delay and power consumption in the wiring are small.
[Brief description of the drawings]
FIG. 1 is a circuit diagram illustrating a configuration example of a clock generation circuit according to a first embodiment.
FIG. 2 is a circuit diagram illustrating a configuration example of an edge detector.
FIG. 3 is a circuit diagram illustrating a configuration example of a counter.
FIG. 4 is a circuit diagram illustrating a configuration example of an oscillator having an enable terminal.
FIG. 5 is a circuit diagram illustrating a configuration example of an oscillator.
FIGS. 6A to 6E are timing charts of respective signals of the clock generation circuit.
FIGS. 7A to 7E are timing charts of signals when the delay amount of the clock generation circuit is smaller than expected.
FIGS. 8A to 8E are timing charts of signals when the delay amount of the oscillator is larger than expected.
FIG. 9 is a circuit diagram of an oscillator capable of changing a delay amount in the second embodiment.
FIG. 10 is a circuit diagram of an oscillator having another configuration that can change a delay amount.
FIG. 11 is a block diagram of a clock generation circuit capable of changing a pulse count in the third embodiment.
FIG. 12 is a circuit diagram of a counter capable of changing a pulse count in the third embodiment.
FIG. 13 is a block diagram illustrating a configuration of a clock generation circuit according to a fourth embodiment.
FIG. 14 is a block diagram illustrating a configuration of a clock generation circuit according to a fifth embodiment.
FIG. 15 is a block diagram illustrating a schematic configuration of a semiconductor integrated circuit according to a sixth embodiment;
FIG. 16 is a block diagram showing a configuration of a semiconductor integrated circuit according to a seventh embodiment.
FIG. 17 is a block diagram showing a configuration of a semiconductor integrated circuit according to an eighth embodiment.
FIG. 18 is a block diagram showing an internal configuration of a DSU and a partial configuration of a CPU.
[Explanation of symbols]
DESCRIPTION OF
Claims (9)
上記検出部の検出結果に基づいて発振し始める発振器と、
上記発振器の発振信号を入力してパルス数を計数し、当該パルス数が所定数に達すると発振の停止を上記発振器に指示するカウンタと、
を有する
クロック生成回路。A detection unit that detects a pulse of the reference clock signal;
An oscillator that starts oscillating based on the detection result of the detection unit,
A counter for inputting an oscillation signal of the oscillator, counting the number of pulses, and instructing the oscillator to stop oscillation when the number of pulses reaches a predetermined number;
A clock generation circuit having:
ゲート回路と、
上記ゲート回路の出力と入力との間に接続され、遅延量に応じてゲート回路の上記出力のオンとオフとを切り替え、遅延量に応じたパルス長のクロック信号を上記ゲート回路の出力に生成させる遅延回路と、
を有する
請求項1に記載のクロック生成回路。The oscillator is
A gate circuit,
The output of the gate circuit is connected between the output and the input of the gate circuit, and the output of the gate circuit is turned on and off according to the delay amount, and a clock signal having a pulse length corresponding to the delay amount is generated at the output of the gate circuit. A delay circuit for
The clock generation circuit according to claim 1, further comprising:
請求項2に記載のクロック生成回路。3. The clock generation circuit according to claim 2, wherein the oscillator further includes a circuit for selecting a delay amount of the delay circuit fed back to an input of the gate circuit.
請求項1に記載のクロック生成回路。2. The clock generation circuit according to claim 1, wherein said counter includes means for setting and changing a count number according to an input count number control signal.
請求項1に記載のクロック生成回路。2. The clock generation circuit according to claim 1, wherein the counter has a control input for fixing the output of the counter to 0 or 1 according to the input count output control signal.
請求項1に記載のクロック生成回路。2. The clock generation circuit according to claim 1, wherein the oscillator includes means for selecting and outputting either the output of the oscillator or a reference clock input from outside according to the input clock bypass control signal.
複数の上記機能ブロックのクロック入力端子にそれぞれ接続され、接続された機能ブロックに適した周波数のクロック信号を外部から供給される基準信号に基づいて生成する複数のクロック生成回路と、を有する
半導体集積回路。Multiple functional blocks,
A plurality of clock generation circuits respectively connected to clock input terminals of the plurality of functional blocks and generating a clock signal having a frequency suitable for the connected functional blocks based on a reference signal supplied from outside; circuit.
基準クロック信号のパルスを検出する検出部と、
上記検出部の検出結果に基づいて発振し始める発振器と、
上記発振器の発振信号を入力してパルス数を計数し、当該パルス数が所定数に達すると発振の停止を上記発振器に指示するカウンタと、を含む
請求項7に記載の半導体集積回路。Each of the plurality of clock generation circuits,
A detection unit that detects a pulse of the reference clock signal;
An oscillator that starts oscillating based on the detection result of the detection unit,
8. The semiconductor integrated circuit according to claim 7, further comprising: a counter that counts the number of pulses by inputting an oscillation signal of the oscillator, and instructs the oscillator to stop oscillation when the number of pulses reaches a predetermined number.
請求項7に記載の半導体集積回路。8. The semiconductor integrated circuit according to claim 7, further comprising output means for outputting the clock signal or a frequency-divided signal thereof to the outside in order to check the frequency of the clock signal generated by the clock generation circuit.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002322578A JP2004159071A (en) | 2002-11-06 | 2002-11-06 | Clock generation circuit and semiconductor integrated circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002322578A JP2004159071A (en) | 2002-11-06 | 2002-11-06 | Clock generation circuit and semiconductor integrated circuit |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004159071A true JP2004159071A (en) | 2004-06-03 |
Family
ID=32802726
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2002322578A Pending JP2004159071A (en) | 2002-11-06 | 2002-11-06 | Clock generation circuit and semiconductor integrated circuit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2004159071A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012134723A (en) * | 2010-12-21 | 2012-07-12 | Rohm Co Ltd | Control circuit and data holding device using the same |
| CN113258916A (en) * | 2021-05-07 | 2021-08-13 | 上海艾为电子技术股份有限公司 | Capacitive touch detection circuit, chip and electronic equipment |
| CN119811268A (en) * | 2024-12-27 | 2025-04-11 | 芜湖天马汽车电子有限公司 | A detection compensation module and method thereof, a display control system and an electronic device |
-
2002
- 2002-11-06 JP JP2002322578A patent/JP2004159071A/en active Pending
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012134723A (en) * | 2010-12-21 | 2012-07-12 | Rohm Co Ltd | Control circuit and data holding device using the same |
| CN113258916A (en) * | 2021-05-07 | 2021-08-13 | 上海艾为电子技术股份有限公司 | Capacitive touch detection circuit, chip and electronic equipment |
| CN119811268A (en) * | 2024-12-27 | 2025-04-11 | 芜湖天马汽车电子有限公司 | A detection compensation module and method thereof, a display control system and an electronic device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7788558B2 (en) | Semiconductor integrated circuit and control method thereof | |
| US9684033B2 (en) | Low power scan path cells with hold state multiplexer circuitry | |
| US7155651B2 (en) | Clock controller for at-speed testing of scan circuits | |
| US8065549B2 (en) | Scan-based integrated circuit having clock frequency divider | |
| US20070245180A1 (en) | Circuitry and method for an at-speed scan test | |
| US7299392B2 (en) | Semiconductor integrated circuit device and method of design of semiconductor integrated circuit device | |
| US7586337B2 (en) | Circuit for switching between two clock signals independently of the frequency of the clock signals | |
| US6756827B2 (en) | Clock multiplier using masked control of clock pulses | |
| US7574638B2 (en) | Semiconductor device tested using minimum pins and methods of testing the same | |
| US7162705B2 (en) | Dynamically reconfiguring clock domains on a chip | |
| CN101536310B (en) | Digital dll circuit | |
| US6047382A (en) | Processor with short set-up and hold times for bus signals | |
| JP2000132265A (en) | Microprocessor capable of changing clock and operating | |
| JP2004159071A (en) | Clock generation circuit and semiconductor integrated circuit | |
| JPH10133768A (en) | Clock system, semiconductor device, semiconductor device test method, and CAD device | |
| EP4182801B1 (en) | High bandwidth ijtag through high speed parallel bus | |
| JP2001319494A (en) | Built-in self-test device for memory circuit | |
| JP2002139557A (en) | Semiconductor device | |
| JP2001257566A (en) | Latch circuit with enable | |
| JP4820808B2 (en) | Data output circuit | |
| US20070300112A1 (en) | Semiconductor integrated circuit apparatus, test circuit of semiconductor integrated circuit apparatus and test method of semiconductor integrated circuit apparatus | |
| JP3869387B2 (en) | Semiconductor integrated circuit | |
| Sunjianhui et al. | A robust and flexible clock realization used for the complex set-top-box HDSOC | |
| US20080270860A1 (en) | Integrated Circuit for Writing and Reading Registers Distributed Across a Semiconductor Chip | |
| JPH08213895A (en) | Signal timing adjustment circuit |