[go: up one dir, main page]

JP2004159071A - Clock generation circuit and semiconductor integrated circuit - Google Patents

Clock generation circuit and semiconductor integrated circuit Download PDF

Info

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
Application number
JP2002322578A
Other languages
Japanese (ja)
Inventor
Ichiro Kumada
一郎 隈田
Yosuke Morita
陽介 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002322578A priority Critical patent/JP2004159071A/en
Publication of JP2004159071A publication Critical patent/JP2004159071A/en
Pending legal-status Critical Current

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と、を有する。
【選択図】 図1
A 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 clock generation circuit 56 illustrated in FIG. 1 has an edge detector 61 that receives a reference clock signal CLKR and detects a voltage change of the reference clock signal CLKR, a counter 62, and an oscillator 63 with an enable terminal.
The output of the edge detector 61 is connected to the clear inverting input terminal C_X of the counter 62. The reset signal RST_X is input to the reset inverting input terminal R_X of the counter 62.
The output terminal CO_X of the counter 62 is connected to the enable terminal EN of the oscillator 63, and the clock signal GENCK generated from the output of the oscillator 63 is output. The clock signal GENCK is input to the clock input CK of the counter 62, and the counter 62 counts the number of pulses.
[0011]
FIG. 2 is a circuit diagram illustrating a configuration example of the edge detector.
The edge detector 61 has a NAND gate circuit 71 to which one input receives the reference clock signal CLKR. An inverter 72 and a delay circuit 73 are connected in series between the reference clock input terminal and the other terminal of the NAND gate circuit 71.
[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 inverter 72 and the delay circuit 73 elapses from the rise of the pulse of the reference clock, the other input of the NAND gate circuit 71 changes to “L”. The signal CNTSTA is returned to "H". As described above, the edge detector 61 detects the rise of the pulse of the reference clock signal CLKR and outputs a negative pulse of a predetermined length.
[0013]
FIG. 3 is a circuit diagram showing a configuration example of the counter.
The counter 62 includes, for example, four flip-flops 81, 82, 83 and 84 connected in series, and an inverter 85 connected between the Q terminal of the flip-flop 84 at the last stage and the output terminal CO_X of the counter. Have.
An “H” level voltage VE is applied to the D terminal of the first-stage flip-flop 81. An inverted signal of the reset signal RST_X can be applied to the set terminals S of the four flip-flops, and an inverted signal of the edge detection signal CNTSTA of the counter can be applied to the reset terminals R of the four flip-flops.
[0014]
In this counter 62, when the reset signal RST_X becomes “L”, all flip-flops are set to “H (1)” by the inverted signal. When the edge detection signal CNTSTA becomes "L", all flip-flops are reset to "L (0)" by the inverted signal (clear signal), and thereafter, every time the pulse of the clock signal GENCK rises to the clock input CK. Then, the “H” level potential applied to the D terminal of the first-stage flip-flop 81 is transferred to the D terminal of the flip-flop 82, the D terminal of the flip-flop 83, the D terminal of the flip-flop 84, and the input of the inverter 85. .
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 inverter 85 at the rise of the fourth pulse of the clock signal GENCK, the output signal OSC_EN switches from “H” to “L”.
As described above, the counter 62 counts four pulses for each clear operation.
[0015]
FIG. 4 is a circuit diagram showing a configuration example of an oscillator with an enable terminal EN.
In the oscillator 63, a NAND gate circuit 81, a delay circuit 82, and an inverter 83 are connected in series between an enable terminal EN and an output terminal of a clock signal GENCK. One terminal of the NAND gate circuit 81 is connected to the enable terminal EN, and the other terminal is connected to the output of the delay circuit 82.
The oscillator 63 oscillates with a pulse width determined by the delay amount D of the delay circuit 82 while the signal OSC_EN input to the enable terminal EN is “H”, and outputs the clock signal GENCK.
[0016]
Note that, as shown in FIG. 5, a configuration in which the clock signal GENCK is extracted through the inverter 83 from the connection point between the NAND gate circuit 81 and the delay circuit 82 may be employed.
When the enable signal OCN_EN changes to “H (high)” level, the output voltage of the NAND gate circuit 81 changes in accordance with the change in the voltage of one input of the NAND gate circuit 81, and this change in the output voltage is delayed by the delay circuit 82. The signal is fed back to the other input of the NAND gate circuit 81 with a delay of the amount D. Therefore, the output of the NAND gate circuit 81 oscillates with a pulse width determined by the delay amount D. An inverted signal of the oscillation signal is output from the output of the inverter 83 as a clock signal GENCK.
[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 edge detector 61 shown in FIG. 1, the reset signal RST_X shown in FIG. When the signal changes from "H" to "L", "H" is set in the four flip-flops of FIG. 3 as described above. The edge detection signal CNTSTA, which is the output signal of the NAND gate circuit 71 in FIG. 2, is generated for a short period determined by the delay amount of the inverter 72 and the delay circuit 73 by the rising edge of the pulse of the first reference clock signal CLKR. It changes from “H” to “L”.
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 oscillator 63 shown in FIG. 4 or 5 starts oscillating.
As described above, the enable signal OSC_EN output from the counter 62 shown in FIG. 3 changes from “H” to “L” at the rising edge of the fourth pulse of the clock signal GENCK from the oscillator 63. Therefore, the oscillator 63 stops oscillating until the enable signal OSC_EN becomes “H” next.
[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 clock generation circuit 56, the number of flip-flop stages of the counter 62 is set in advance according to the frequency of the clock signal GENCK to be generated. When the frequency of the clock signal GENCK to be generated is high, the delay amount of the oscillator 63 is reduced in advance at the time of design to cope with the problem.
[0019]
FIGS. 7A to 7E are timing charts of respective signals when the delay amount of the oscillator 63 is smaller than expected. FIGS. 8A to 8E show the delay amount of the oscillator 63. The timing chart of each signal when it becomes larger than expected is shown.
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 oscillator 63 can be changed.
[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 selector 84 that receives the potential of the output node of each of the delay circuits as an input is provided. . The selector 84 changes the amount of delay given to the other terminal of the NAND gate circuit 81 by changing the combination of inputs according to the control signal S6. As a result, the delay amount can be changed.
[0021]
Note that, as shown in FIG. 10, a configuration may be employed in which the clock signal GENCK is extracted through the inverter 83 from the connection point between the NAND gate circuit 81 and the delay circuit 82-3.
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 selector 84 as means for determining a combination of delay amounts is connected between three outputs of each delay circuit and the other input of the NAND gate circuit 81. The selector 84 is controlled by a control signal S6 input from outside.
[0022]
The delay amount D of the delay circuit 82 of the oscillator 63 is based on a value obtained by adding a slight margin with reference to the critical path of the circuit. In the oscillator 63-1 shown in FIG. 9, the entire delay amount can be changed according to the circuit margin. However, the oscillation frequency itself does not change.
[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 comparator 64 for 4-bit data. A 4-bit output of the counter 62-1 is input to the comparator 64 as one input A0 to A3, and bit strings B0 to B3 of a 4-bit selection signal are input to the other input of the comparator 64. A clock signal GENCK to be generated is set by the selection signals B0 to B3. The comparator 64 compares the counter values A0 to A3 of the input counter pulses with the bit strings B0 to B3 of the selection signal. More specifically, a logical operation is performed on the exclusive OR of two inputs. As a result, the output of the comparator 64, that is, the enable signal OSC_EN is “1 (H)” when the counter values A0 to A3 of the counter pulses match the bit strings B0 to B3 of the selection signal, and is “0” when they do not match. (L) ". The start and stop of the oscillation of the oscillator 63 are controlled by the enable signal OSC_EN.
[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-input selector 86 that receives the outputs of the four flip-flops 81 to 84 as inputs. The selector 86 selects and outputs any one of the four input signals of the selector 86 according to the input count number control signal S7. For this reason, the enable signal OSC_EN output from the inverter 85 changes from “H” to “L” every count of an arbitrary pulse within the range of 1 to 4 pulses. Oscillation of the oscillator 63 in the next stage is stopped at every arbitrary number of pulses selected within the range of 1 to 4, so that the oscillation frequency can be changed.
[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 edge detector 61 and the clear inverted input terminal C_X of the counter 62. The set signals ST_X and RST_X are both low active but inverted signals, and the counter is set or reset according to the state. In the configuration example of the counter 62 shown in FIG. 3, when the reset signal RST_X changes from “H” to “L”, the flip-flops 81 to 84 are set, and the counter itself is reset, that is, the output of the counter 62 changes from “H”. It becomes “L”. Conversely, when the set signal ST_X input to the terminal C_X changes from “H” to “L”, the flip-flops 81 to 84 are reset, and the counter itself is set, that is, the output of the counter 62 changes from “L” to “H”. ".
[0027]
With the above configuration and control, the oscillator 63 can be maintained in the continuous oscillation state or the continuous stop state even when the reference clock signal CLKR is input. Thereby, there is an advantage that the oscillation frequency of the oscillator 63 itself can be determined from the output clock signal.
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 selector 64 that selects the clock signal GENCK output from the oscillator 63 and the reference clock signal CLKR. The selector 64 switches between the clock signal GENCK and the reference clock signal CLKR according to the clock bypass control signal S8, and outputs the same to the outside.
[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 LSI 55 illustrated in FIG. 15 has a plurality of functional blocks, here, block A, block B, and block C. In this LSI 55, a circuit for generating a high-frequency clock signal such as a PLL circuit is omitted, and instead, a clock having a frequency suitable for the corresponding block is provided immediately near each of the clock input terminals of the plurality of blocks A to C. Clock generation circuits 56A, 56B and 56C for generating clock signals are provided.
[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 internal bus 4. A RAM 5 as a storage circuit and an input / output (I / O) interface 6 are further connected to the internal bus 4.
The input / output interface 6 is connected to data and program input / output terminals of the external tester 100. The CPU 3 and the tester 100 are connected such that a reset signal SR supplied to a reset terminal of the CPU 3 is supplied from an external tester 100.
Information including a test program and data (test pattern) is stored in the RAM 5.
[0036]
A clock supply unit 10 that supplies an operation clock signal to each functional block is connected.
The clock supply unit 10 includes a PLL circuit 11, a test clock generation circuit 12, two selectors 13 and 14, and two frequency dividers 15 and 16.
The PLL circuit 11 generates a high-frequency operation clock CLK1 during normal operation of the CPU 3 based on a reference clock signal that is not input during the test of this example but is input during normal operation. Therefore, the input of the PLL circuit 11 is connected to the first external clock input terminal 1a. The output of the PLL circuit 11 is connected to one input of the selector 13.
[0037]
The illustrated LSI 1 has another external clock input terminal 1b as another means for inputting an external clock signal CLK2 input from the outside. The external clock input terminal 1b is connected to the other input of the selector 13. The external clock signal CLK2 is a low-frequency first test clock signal supplied from the tester 100 at the time of test data and program loading, which will be described later. In addition, when the external clock input means is used during the normal operation, in order to confirm the operation of the PLL circuit 11, a clock signal having the same high frequency as the operation clock CLK1 to be output from the PLL circuit 11 is used as the external clock signal CLK2. You can also enter.
The selector 13 selects and outputs either the clock signal CLK1 or CLK2 input to the two inputs according to the control signal S1 input from the external tester 100.
[0038]
The output of the selector 13 is connected to one input of the selector 14. The other input of the selector 14 is connected to the output of the test clock generation circuit 12.
The output of the selector 14 is connected to the clock input of the CPU 3. A 1 / n frequency divider 15 is connected between the output of the selector 14 and the functional block 2-1. A 1 / m frequency divider 16 is connected between the output of the selector and the functional block 2-2. The CPU 3 operates by the operation clock signal CLK1 having the highest frequency generated by the PLL 11, for example, a frequency of 100 to 200 MHz. The function block 2-1 operates with an operation clock signal in which the frequency of the operation clock signal CLK1 has been reduced to 1 / n, and the function block 2-2 has an operation clock signal in which the frequency of the operation clock signal CLK1 has been reduced to 1 / m. Works with As described above, the clock signal supply unit 10 generates a clock signal suitable for each of a plurality of functional blocks including the CPU 3, or supplies the clock signal from the outside.
[0039]
The test clock generation circuit 12 constitutes an embodiment of the clock generation circuit of the present invention. The test clock generation circuit 12 inputs a reference clock signal (or control signal) S2 synchronized with the external clock signal CLK2 from the external tester 100, and based on the reference clock signal S2, for example, is equivalent to the operation clock signal of the CPU 3 described above. A high test clock signal CLK1T of 100 to 200 MHz is generated. The test clock signal CLK1T is input to the other input of the selector 14.
[0040]
As the test clock generation circuit 12, the clock generation circuits of the above-described first to fifth embodiments or a clock generation circuit obtained by combining these can be used.
[0041]
Hereinafter, an operation test (operating frequency guarantee test) of the LSI 1 illustrated in FIG. 16 using the tester 100 at the same high frequency as that of the operation of the LSI 1 will be described.
First, in order to directly input the low frequency test clock signal CLK2 from the tester 100 to the CPU 3, the control signals S1 and S2 input from the tester 100 are both disabled. Thus, the selector 13 selects the input side of the first test clock CLK2, and the first test clock CLK2 is sent to the selector 14. Further, the selector 14 selects the normal clock side, that is, the output side of the tester 13. As a result, the first test clock signal CLK2 is input to the CPU 3. The CPU 3 is configured to select between a low-speed operation mode and a high-speed normal operation mode according to the frequency of the input clock. In this case, it operates in the low-speed operation mode. More specifically, a program and data (test pattern) for the operating frequency assurance test are temporarily stored (loaded) from the tester 100 to the RAM 5 via the input / output interface 6 and the internal bus 4 in synchronization with the test clock signal CLK2. ).
[0042]
Next, the tester 100 changes the control signal S2 to the enable state in synchronization with the test clock signal CLK2. As a result, the test clock generation circuit 12 operates, and the test clock generation circuit 12 generates and outputs the test clock signal CLK1T. At this time, since the selector 14 is switched by the change of the control signal S2 to the enable state, the generated test clock signal CLK1T is input to the CPU 3 via the selector 14. When the test clock signal CLK1T having a high frequency is input, the CPU 3 switches from the low-speed operation mode to the high-speed operation mode.
[0043]
After that, the reset signal SR is input from the tester 100 to the CPU 3. As a result, the CPU 3 calls the operating frequency guarantee test program and the test pattern from the RAM 5 and executes the program.
The operating frequency assurance test checks the function of the CPU 3 itself, or checks the function of the CPU 3 controlling other functional blocks. Therefore, the test is performed under the environment of the test clock signal CKL1T having the same high frequency as the normal operating clock signal CLK1. Executed in
The result of the test is temporarily written in the RAM 5 or a storage circuit in the input / output interface 6.
[0044]
When the operation frequency guarantee test is completed, the tester 100 returns the control signal S2 to the disabled state. As a result, the input signal of the selector 14 switches, and the first test clock signal CLK2 is input to the CPU 3 again.
In the low-speed operation mode based on the first test clock signal CLK2, the CPU 3 reads a test result from the RAM 5 or the input / output interface 6 via the internal bus 4. The CPU 3 determines whether the operation frequency assurance test is successful or not based on the read test result.
[0045]
In the seventh embodiment, a dedicated test clock generation circuit 12 generates a test clock signal CLK1T having the same high frequency as in a normal operation. The test clock generation circuit 12 has a smaller and simpler configuration than a PLL circuit or a VCO, and has an advantage that it can output a clock signal CLK1T having a predetermined frequency immediately after an oscillation command is issued. Therefore, even when the operation mode is switched from the low-speed operation mode to the high-speed operation mode, the test clock signal CLK1T required for the high-speed operation mode is quickly input, and almost no waiting time occurs.
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 tester 100. The frequency of the test clock signal CLK2 is, for example, one digit lower than that of the high-speed test clock signal. In addition, there is no need to use a large-scale, high-precision and expensive tester having a large internal clock generation unit.
Further, the built-in PLL circuit 11 used during normal operation is not used. Instead of the high-speed clock signal CLK1 generated by the PLL circuit 11, a test clock signal CLK1T is generated as a signal synchronized with the test clock signal CLK2 and the reference clock signal S2. As described above, since the test clocks are synchronized with each other, there is no fear of a synchronization shift during the test, and the test proceeds smoothly and accurately.
[0046]
Note that the test clock generation circuit 12 oscillates only when necessary under the control of the reference clock signal and / or the selection signal S2 and stops it when unnecessary, from the viewpoint of suppressing power consumption. Even if the oscillation is stopped frequently, the test clock generation circuit 12 rises, that is, the time until the predetermined frequency is stabilized is short, so that no time loss occurs.
Further, in the seventh embodiment, the PLL circuit 11 itself is omitted, and the oscillator 12 can be used during normal operation.
[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 signal supply unit 30 of the semiconductor integrated circuit illustrated in FIG. 17 includes a test clock output unit (T.CK output unit) 31 that inputs the test clock signal CLK1T generated by the test clock oscillator (T.OSC) 12. Have. The test clock output unit 31 has a buffer or a frequency dividing circuit inside, and holds or divides the generated test clock signal CLK1T in this buffer. The tester 100 extracts a signal for confirming the frequency of the test clock signal CLK1T (or the test clock signal CLK1T itself) when necessary, and directly or indirectly measures the frequency of the test clock signal CLK1T. When the frequency of the test clock signal CLK1T is significantly different from the operation clock signal CLK1, an instruction to correct the frequency is issued. In this case, the test clock generation circuit 12 has a configuration in which the oscillation frequency is variable as described above, and the tester 100 controls the control signal S3 to change the oscillation frequency of the test clock signal CLK1T.
The other configuration of the clock signal supply unit 30 of this example is the same as that of the clock signal supply unit 10 shown in FIG.
[0048]
In the semiconductor integrated circuit shown in FIG. 17, a ROM 7 is connected to an internal bus 4. A test program is stored in the ROM 7 in advance, so that it is not necessary to load the program into the RAM 5 every time the operation frequency assurance test is performed as in the seventh embodiment, and the test time can be reduced. Further, the function of the tester 100 to load the program can be omitted. Note that the ROM 7 is not an essential component, and a program may be downloaded to the RAM 5 as in the seventh embodiment.
[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 CPU 3 in advance. An interface (TI / F) 45 for the JTAG test is connected between the reset input of the CPU 3 and the reset terminal 1c of the LSI. The test interface 45 is connected to the test clock generation circuit 12 and the selector 14 to supply a control signal S2 for permitting oscillation and switching of the selector and a control signal S4 for changing the frequency.
On the other hand, a JTAG debugger 101 is provided in the tester 100 in advance as a serial port for JTAD debugging. The tester 100 controls the DUT 40 and the test interface 45 via the JTAG debugger 101, thereby performing initialization (reset), control (reading of programs and test patterns, etc.) of the LSI necessary for the operation frequency guarantee test, and results. Is executed in the background of the CPU operation. Therefore, in the case of FIG. 17, it is not necessary to input the first test clock signal CLK1T having a low frequency, and it is not necessary to synchronize the test clocks.
[0051]
FIG. 18 is a block diagram showing an internal configuration of the DSU 40 and a partial configuration of the CPU.
The DSU 40 includes a control port 41 called a TAP (Test Access Port), a data holding register (D.REG, hereinafter referred to as a DSU data register) 42, a control unit (CON) 43, and an instruction code holding A register (C.REG, hereinafter referred to as a DSU instruction register) 44 is provided. The TAP 41 is connected to the external JTAG debugger 101. The TAP 41 is connected to a DSU data register 42, a control unit 43, and a DSU instruction register 44.
[0052]
The CPU 3 is connected to a general-purpose register (REG) 51, an instruction register (C.REG) 52, a selector 53 for switching between the input of the instruction register 52 and the input of the DSU instruction register 44, and the output of the selector 53. An instruction decoder (C. DEC) 54 is provided.
[0053]
In the operation frequency guarantee test (JTAG debug test) using the JTAG architecture, first, the JTAG debugger 101 sets the JTAG debug control input / output line L DI / F To the test interface 45 to output a clock signal CLK1T of a high frequency (100 to 200 MHz) at which an operation frequency assurance test is to be performed (transmission command of the control signal S2). Then, the test clock generation circuit 12 receiving the control signal S2 starts oscillating at the designated frequency. The clock signal CLK1T is input to the CPU 3 via the selector 14 by the operation of the selector 14 receiving the control signal S2.
Subsequently, the JTAG debugger 101 inputs the reset signal SR to the CPU 3 via the test interface 45. As a result, the CPU 3 is reset and enters the high-speed operation mode.
[0054]
Next, a program for an operating frequency guarantee test is downloaded from the JTAG debugger 101. This download is unnecessary when the program is already stored in the ROM 7. When the ROM 7 is not provided, the JTAG debugger 101 sends the JTAG debug control input / output line L DI / F , DSU 40, the CPU, and the internal bus 4, the program is downloaded to the RAM 5.
[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 JTAG debugger 101 to the JTAG debug control input / output line L DI / F Is written to the DSU data register 42 via the TAP 41. Since the DSU data register usually has a small capacity, a program for operating frequency guarantee test cannot be written at a time. Therefore, a part of this program is written to the DSU data register 42.
[0056]
Next, from the JTAG debugger 101 to the JTAG debug control input / output line L DI / F Is written to the DSU instruction register 44 via the TAP 41. The data transfer instruction is an instruction for transferring data from the DSU register 42 to the general-purpose register 51 in the CPU. At this stage, data transfer has not yet started.
After that, the JTAG debugger 101 instructs the control unit 43 to execute via the TAP 41. Accordingly, the control signal S5 is input from the control unit 43 to the selector 53, and the input of the selector 53 is switched to the DSU side. As a result, the data transfer instruction in the DSU instruction register is sent to the instruction decoder 54 of the CPU via the selector 53, where the data transfer instruction is executed. As a result, the operating frequency guarantee test program written in the DSU data register 42 is transferred to the general-purpose register 51 of the CPU.
[0057]
Similarly, the JTAG debugger 101 writes a store instruction to the DSU instruction register 44 via the TAP 41 and instructs the control unit 43 to execute. As a result, the selector 53 is switched by the control signal S5, and the store instruction in the DSU instruction register is sent to the instruction decoder 54, where the store instruction is executed. As a result, the operating frequency assurance test program transferred and held in the general-purpose register 51 is written from the CPU 3 via the internal bus 4 to a predetermined address in the RAM 5 and stored.
[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 RAM 5.
Through a similar procedure, data (test pattern) describing test conditions and the like is downloaded from the JTAG debugger 101 into the RAM 5.
[0059]
When the download of the program and the test data is completed, the JTAG debugger instructs the CPU 3 via the DSU 40 to execute the program. This execution instruction is transmitted to the CPU 3 through the same route as the above-described program transfer and store instructions. When decoding the execution instruction, the CPU 3 reads out the program and necessary test data from the RAM 5 and executes the program. This test result is written to a predetermined address in the RAM 5 by the CPU 3.
[0060]
After the execution of the program, the test result is read from the RAM 5 to the JTAG debugger 101. At this time, the program data is read out from the RAM 5 to the JTAG debugger 101 via a procedure and a path reverse to the above-described download of the program data.
The JTAD debugger 101 determines whether the test is successful or not by comparing the test result with an expected value. At this time, a signal is output from the test clock output unit 31, the frequency of the clock signal CLK <b> 1 </ b> T at the time of the test is confirmed based on the signal, and it is determined whether or not the test result is performed at an appropriate clock frequency.
[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 CPU 3 by one digit, for example, from the JTAG debugger 101 and is executed in synchronization therewith. However, the JTAG operation itself does not need to be synchronized with the CPU operation. Further, it is not necessary to input the low-frequency clock signal CLK2 from the tester 100, and the selector 13 for switching the clock signal CLK2 becomes unnecessary. When the PLL circuit 11 is omitted, the selector 14 becomes unnecessary.
The tester 100 does not need to exchange data via the input / output interface 6 of the LSI, and does not need to input the control signal S1. Therefore, the necessary functions of the tester 100 in the eighth embodiment are collected in the JTAG debugger 101, and the tester 100 itself is basically unnecessary if the JTAG debugger 101 is provided. As a result, a high-frequency operation test of the CPU built in the LSI can be performed without using an expensive high-speed tester.
[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 DSU 40 built in the CPU 3 and its interface are made common, so that if the CPU 3 is the same, the test data for the high-speed operation test is performed. And one set of expected value may be prepared for each function to be checked.
[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 SYMBOLS 1 ... Semiconductor integrated circuit, 2-1 etc .... Functional block, 3 ... CPU as one of functional blocks, 4 ... Internal bus, 5 ... RAM, 6 ... Input / output interface, 7 ... ROM, 10 ... Clock signal supply part , 11 PLL circuit, 12 test clock oscillator, 13, 14 selector, 15, 16 frequency divider, 30 clock signal supply unit, 31 test clock output unit as output means, 40 DSU, 41 .. TAP, 42... DSU data register, 43... DSU control unit, 44... DSU instruction register, 45... JTAG test interface as an input / output circuit dedicated to inspection, 51. 54: instruction decoder, 55: semiconductor integrated circuit, 56, 56-1 to 56-3, 56A to 56C: clock generation circuit, 61 Edge detector, 62,62-1 ... counter, 63,63-1 ... oscillator 81 ... gate circuit, 82,82-1~82-3 ... delay circuit, 100 ... tester, 101 ... JTAG debugger.

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.
上記カウンタは、入力されたカウント出力制御信号によってカウンタの出力を0または1に固定する制御入力を有する
請求項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.
JP2002322578A 2002-11-06 2002-11-06 Clock generation circuit and semiconductor integrated circuit Pending JP2004159071A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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