(58)【調査した分野】(Int.Cl.,DB名)
外部からの切替信号に基づいて、前記タイミング制御部による前記定電圧部が出力する定電圧の変化を、電圧を上昇させる第1のモードと降下させる第2のモードとに切り替える切替部
を備えた請求項1から請求項4のいずれか1項に記載の動作マージン制御回路。
外部からの切替信号に基づいて、前記タイミング制御部による前記発振部が出力するクロック信号の周波数の変化を、周波数を順次に高くする第1のモードと順次に低くする第2のモードとに切り替える切替部
を備えた請求項6から請求項8のいずれか1項に記載の動作マージン制御回路。
【背景技術】
【0002】
携帯電話や火災警報器等の電気機器に設けられるマイクロコントローラ等の半導体装置(以下、デバイスともいう)には、定電圧回路やクロック発振回路が備えられ、定電圧回路及びクロック発振回路により、当該デバイスを構成するトランジスタ等に対して安定した電源電圧と動作クロック信号を供給する。これにより、当該デバイス及び当該デバイスを用いた電子機器を安定して動作させることができる。
【0003】
定電圧回路の出力電圧を安定させるために、
図8のブロック図に示す構成での制御が行なわれる。この構成において、半導体デバイス80の内部に設けられたトリミング制御回路81に対し、外部端子83a〜83cを介して、半導体デバイス80の外部からトリミングコードを入力し、定電圧回路82からの出力が目標とする電圧値となるように、トリミング制御回路81におけるヒューズの切断あるいはフラッシュメモリ(揮発性半導体メモリ)のデータの書き換え等を行なっている。
【0004】
図9のフローチャートでは、
図8における構成で内部定電圧回路の電圧調整を行なう際の動作例を示しており、検査工程等において、トリミングモードに設定した後に、外部端子83a〜83cを介して入力される外部からのトリミングコードを変化させながら、定電圧回路82からの出力電圧VDDLをモニタし、目標とする設定値、例えば1.60Vに一番近い電圧が出力された際のトリミングコードを特定し、特定したトリミングコードが出力されるようトリミング制御回路81におけるヒューズカットを行なう、もしくは、特定したトリミングコードをフラッシュメモリに書き込む。
【0005】
また、クロック発振回路の発振動作を安定させるよう制御する際にも、同様に、半導体デバイスの内部に設けられたトリミング制御回路に対し、外部端子を介して、半導体デバイスの外部からトリミングコードを入力し、当該クロック発振回路からのクロック信号が目標とする周波数となるように、トリミング制御回路におけるヒューズの切断あるいはフラッシュメモリのデータの書き換え等を行なう。
【0006】
しかし、このように検査工程において特定したトリミングコードに応じてヒューズカットを行なうもしくは特定したトリミングコードをフラッシュメモリに書き込む技術では以下の問題等がある。
【0007】
例えば、
図8のブロック構成で内部定電圧(VDDL)のトリミングを行なう場合、定電圧回路82で生成される電圧で動作するデバイスを構成するトランジスタの製造時に生じる閾値(Vt値)のばらつきに関係なく、当該定電圧回路82を備えたデバイス及び当該デバイスが設けられた電子機器(携帯電話、火災警報器等)の仕様電圧に合わせる。
【0008】
そのため、デバイスを構成するトランジスタの閾値(Vt値)が製造時のばらつきにより高くなることで、そのスイッチング動作が遅くなり、定電圧(VDDL)に対し、当該トランジスタで構成される回路の動作マージンがなくなり、結果として、当該デバイス及び電子機器の量産時の歩留まりが低下するという問題がある。
【0009】
また、定電圧回路82を設けたデバイスの使用環境の変化により周辺温度が変化することによっても、定電圧回路82からの電圧で動作するトランジスタの閾値(Vt値)が変化するため、温度変化に対しても当該回路の動作マージンが影響を受けるという問題がある。
【0010】
このような問題は、クロック発振回路に関しても同様である。
【0011】
なお、定電圧回路の制御に関する従来の技術として、例えば、特許文献1,2に記載の技術が開示されている。
【0012】
特許文献1においては、第1の基準電圧を発生する第1の基準電圧発生部と、前記第1の基準電圧発生部により発生された第1の基準電圧のアナログ値をデジタル値に変換するアナログ/デジタル変換部と、前記アナログ/デジタル変換部により変換されたデジタル値と目標電圧値との差分に対応したトリミング値を発生するトリミング値発生部と、前記トリミング値発生部からのトリミング値を受けて、第2の基準電圧を発生する第2の基準電圧発生部とを備えたことを特徴とする内部電圧発生回路に関しての技術が記載されている。
【0013】
この技術によれば、電源投入と同時に電圧補正が可能となり、検査によってトリミング値を算出して格納することや、ヒューズ切断などの特別な工程は不要となり、使用環境でのリアルタイムな補正が可能となる。
【0014】
また、特許文献2においては、データレジスタにロードされる電源トリミング情報としての制御データに基づいて電圧を生成可能な電圧生成手段と、前記制御データを保有する不揮発性記憶手段と、前記不揮発性記憶手段に保有させる前記制御データの生成に利用される処理回路とを1個の半導体基板に有する半導体集積回路を複数個並列的にテストする方法であって、前記半導体集積回路各々に有する電圧生成手段が生成する前記不揮発性記憶手段に情報を書き込む際に使用する高電圧をトリミングするための電源トリミング情報の決定において、前記複数個の半導体集積回路に端子を介して外部から判定基準電圧を並列的に入力する第1処理と、夫々の半導体集積回路の処理回路にテスト動作を実行させ、前記データレジスタに設定された前記制御データに基づいて前記電圧生成手段で生成される電圧と前記判定基準電圧とを比較判定し、判定結果が目的状態に達するまで前記制御データを更新し、判定結果が目的状態に達したときの前記制御データを前記不揮発性記憶手段に格納する第2処理と、を含むことを特徴とする半導体集積回路のテスト方法に関しての技術が記載されている。
【0015】
この技術によれば、外部から期待値の電圧を入力し、トリミングプログラムを内蔵CPUで実行するだけで、期待値と一致するトリミング値を得ることができ、また、トリミングプログラムは内蔵CPUで実行するため、複数のLSIで並列的に実行できるので、複数のLSIを並列的にトリミングすることが容易になり、全体としてテスト時間を短縮できる。
【発明を実施するための形態】
【0030】
以下、図を用いて本発明の実施の形態について説明する。
【0031】
図1は、本実施の形態に係る動作マージン制御回路の構成を示しており、遅延素子(図中、「Delay素子1,2」と記載)1,2、比較回路3、トリミング制御回路4、定電圧回路5、トリミングタイミング制御回路6を設けた構成となっている。
【0032】
なお、遅延素子1,2は本発明に係る第1、第2の遅延部に相当し、比較回路3は本発明に係る比較部に相当し、トリミング制御回路4は本発明に係るトリミング制御部に相当し、定電圧回路5は本発明に係る定電圧部に相当し、トリミングタイミング制御回路6は本発明に係るタイミング制御部と調整部に相当する。
【0033】
このように、本実施形態では、
図8に示した従来の定電圧制御回路に、主として遅延素子1,2、比較回路3、及びトリミングタイミング制御回路6を設けた構成であり、また、トリミング制御回路4は、遅延素子1,2に対して入力信号Cを入力すると共に、比較回路3及びトリミングタイミング制御回路6から出力される信号を入力して定電圧回路5に出力するトリミングコードの値を特定する。また、定電圧回路5から出力される定電圧が遅延素子1,2の電源電圧として用いられる。
【0034】
なお、トリミングタイミング制御回路6は、トリミングスタート信号生成部6a、トリミングイネーブル信号生成部6b、コードイネーブル信号生成部6c、サンプリングクロック生成部6dを備えており、各々の生成部により
図3で詳細を示す各信号を生成して出力する。
【0035】
例えば、トリミングスタート信号生成部6aは、1秒毎にトリミングスタート信号を生成して比較回路3とトリミング制御回路4に出力し、また、トリミングイネーブル信号生成部6bは、トリミングスタート信号生成部6aによりトリミングスタート信号が生成されてから比較回路3から一致信号Dが出力されるまでの間、トリミングイネーブル信号を生成して比較回路3とトリミング制御回路4に出力する。
【0036】
コードイネーブル信号生成部6cは、トリミング制御回路4からのトリミングコードの出力を制御するコードイネーブル信号を生成してトリミング制御回路4に出力し、また、サンプリングクロック生成部6dは、比較回路3による遅延素子1,2から出力される遅延信号の各々の遅延量を求める際のタイミングの制御に用いられるサンプリングクロック信号を生成して比較回路3に出力する。
【0037】
このような構成からなる動作マージン制御回路では、定電圧回路5において、トリミング制御回路4から入力されたトリミングコードに応じた値の定電圧を生成して出力し、遅延素子1,2においては、定電圧回路5から出力される電圧の変化に応じて入力信号Cを各々異なる遅延量で遅延させた第1、第2の遅延信号A,Bを出力する。
【0038】
比較回路3では、遅延素子1,2から出力される第1、第2の遅延信号の遅延量の差を求め、求めた差が予め最適なマージン値として定められた目標値になったときに一致信号Dを出力する。
【0039】
また、トリミングタイミング制御回路6は、トリミング制御回路4が生成するトリミングコードを予め定められた時間間隔T1で変化させて定電圧回路5が出力する定電圧を変化させると共に、比較回路3から一致信号が出力されるとトリミングコードの変化及び定電圧の変化を停止させ、かつ、時間間隔T1でトリミングコードを変化させる動作を、予め定められた時間周期T2で繰り返す。
【0040】
なお、図示していないが、他のトリミング制御回路から入力されたトリミングコードに応じた周波数のクロック信号を生成して出力する発振回路を設けた構成としても良い。
【0041】
本例における遅延素子1は、定電圧回路5から出力される定電圧を電源電圧として用いる図示していないマイクロコントローラ等の半導体装置(以下、デバイスともいう)に対して予め設定されるクリティカルパスの遅延値Zに予め定められた下限値αを加算した値以上で遅延させ、遅延素子2は、クリティカルパスの遅延値Zに予め定められた上限値βを加算した値以上で遅延させる。
【0042】
なお、クリティカルパスとは、半導体装置内部の配線やゲート、フリップフロップなどを経由する信号の伝播が最も遅くなる経路であり、クリティカルパスの信号伝播時間の逆数が、当該半導体装置が動作できる最大クロック周波数(最大動作周波数)となり、当該半導体装置に対してクリティカルパスの遅延値Zが予め設定される。
【0043】
また、本例では、図示していない外部からの切替信号に基づいて、タイミング制御回路4が定電圧回路5の出力電圧を順次に上昇させる第1のモードと順次に降下させる第2のモードとに切り替える。
【0044】
また、本例では、遅延素子1,2は、デバイス(半導体装置)に設けられたトランジスタと同等のトランジスタを1以上設けてなり、それぞれの遅延値(第1,第2の遅延信号の遅延量)は、設けるトランジスタの段数、またはディメンジョンで、以下のようにして調整している。
【0045】
遅延素子1の遅延値は、デバイス内部で最もクリティカルなパス(クリティカルパス)の遅延値Zに対し、動作マージンの最小値αを加算した値であり、動作マージンの下限値となる。
【0046】
また、遅延素子2の遅延値は、クリティカルパスの遅延値Zに対し、動作マージンが過剰にならない程度の値βを加算した値であり、動作マージンの上限値となる。
【0047】
これらの遅延素子1,2の加算値α,βは、プロセス特性や製品仕様を考慮して、製品ごとに設定する。
【0048】
本例では、遅延素子1,2から出力される遅延信号A,Bの差、すなわち、β−αが動作マージンとなり、この動作マージン(β−α)を、
図1の定電圧回路5を備えた半導体装置や製品の実際の使用環境の変化に応じて、調整する。例えば、環境温度が高くなるとトランジスタの動作速度が速くなるので動作マージンが大きくなるよう、定電圧回路5の出力電圧を低く調整する。
【0049】
定電圧回路5の出力電圧が低くければ低いほど、遅延素子1,2からの遅延信号A,Bの各々の出力タイミングが遅れる割合が増加する。すなわち、定電圧回路5の出力電圧が低くければ低いほど、加算値α,βの値が増加する。そのため、加算値α,βの差に基づいて動作マージン値を調整することができる。
【0050】
図2に例示するように、遅延素子1から遅延信号Aが出力されて遅延素子1の出力状態が「1」となった後、遅延素子2から遅延信号Bが出力されて遅延素子2の出力状態が「1」となるまでの間が動作マージン値(β−α)となる。従って、この動作マージン値(β−α)の間は、遅延素子1,2から出力される遅延信号A,Bの組み合わせは「A=1,B=0」の状態となる。
【0051】
本例では、遅延信号A,Bの組み合わせが「A=1,B=0」の状態であるか否かを判別するタイミングをずらし、そのタイミングで「A=1,B=0」の状態であることを判別した場合に、遅延信号A,Bの差(β−α)が目標値と一致したとして、比較回路3から一致信号Dを出力する。
【0052】
この一致信号Dが入力されたトリミング制御回路4は、その時点で定電圧回路5に出力していたトリミングコードを、次の調整時まで、継続的に出力する。このように、遅延素子1,2の電源電圧である定電圧回路5から出力される内部定電圧VDDLをトリミング制御回路4からのトリミングコードにより調整して、遅延素子1,2の遅延量を、合わせ込んでゆく。
【0053】
このような動作を、
図3を用いて詳細に説明する。なお、ここでは、予め定められる時間周期T2として1秒を用い、1秒毎に、定電圧回路5から出力される内部定電圧VDDLをトリミングする例について説明する。また、
図3では、2ビットのトリミング信号に基づく動作を示している。
【0054】
トリミングタイミング制御回路6は、トリミングスタート信号生成部6aにより水晶発振器で生成される例えば32.768kHzの原振からタイムベースカウンタを用いて1秒毎に生成される信号に基づいてトリミングスタート信号を生成して比較回路3とトリミング制御回路4に出力する。このトリミングスタート信号により、1秒毎のトリミング動作が開始される。
【0055】
トリミングスタート信号を受けて、トリミングイネーブル信号生成部6bからのトリミングイネーブル信号は「H」に立ち上がり、比較回路3、及びトリミング制御回路4はイネーブル状態となる。
【0056】
また、トリミングスタート信号を受けて、コードイネーブル信号生成部6cにおいてコード0イネーブル信号が生成されてトリミング制御回路4に出力され、このコード0イネーブル信号に基づいてトリミング制御回路4は、トリミングコード「0H(16進数)」を定電圧回路5へ出力すると共に、その1クロック後に遅延素子1,2への入力信号Cを出力する。
【0057】
定電圧回路5は、トリミングコード「0H」に対応した出力電圧VDDLを出力し、遅延素子1,2に供給する。なお、本例では、トリミングコード「0H」は、後述のトリミングコード「1H」、トリミングコード「2H」よりも、定電圧回路5の出力電圧VDDLを高くする設定となっている。
【0058】
遅延素子1,2は、トリミングコード「0H」時のVDDLを受けて、入力信号Cを遅延させた出力信号A,Bを出力する。
【0059】
比較回路3は、遅延素子1,2から出力された出力信号A,Bを、トリミングタイミング制御回路6のサンプリングクロック生成部6dにより生成され出力されてきたサンプリングクロックに従ってサンプリングし、出力信号A,Bが目標値の(A=1、B=0)と比較し、一致した場合、一致信号Dを出力する。
【0060】
図3に示す例では、トリミングコード「0H」時には、サンプリング結果が「01」となる。本例では、
図2に示すように、目標値として、遅延素子1から出力される出力信号Aが「1」、遅延素子2から出力される出力信号Bが「0」となるように設定している。そのため、トリミングコード「0H」時には、サンプリング結果(「01」)は目標値(「10」)とは異なり、一致信号Dは出力されない。
【0061】
本例では、トリミングタイミング制御回路6は、サンプリングクロック生成部6dによりコードイネーブル信号の立ち上から立ち下げまでの期間を原振5クロックで行なっており、コード0イネーブル信号は原振5クロックで「L」に立ち下がり、同時に、コード1イネーブル信号が「H」に立ち上がる。
【0062】
コード1イネーブル信号が「H」に立ち上がった後は、コード0イネーブル信号の場合と同様にして、1クロック後に、トリミング制御回路4から出力された入力信号Cが遅延素子1,2に入力され、定電圧回路5からはトリミングコード「1H」時の出力電圧VDDLが出力されて遅延素子1,2に供給される。
【0063】
比較回路3においても、コード0イネーブル信号の場合と同様の動作を行い、
図3に示す例では、トリミングコード「1H」時においても、サンプリング結果が「11」となり、目標値(「10」)とは異なり、一致信号Dは出力されない。
【0064】
その後、コード1イネーブル信号は原振5クロックで「L」に立ち下がり、同時に、コード2イネーブル信号が「H」に立ち上がる。
【0065】
コード2イネーブル信号が「H」に立ち上がった後は、コード0,1イネーブル信号の場合と同様にして、1クロック後に、トリミング制御回路4から出力された入力信号Cが遅延素子1,2に入力され、定電圧回路5からはトリミングコード「2H」時の出力電圧VDDLが出力されて遅延素子1,2に供給される。
【0066】
そして、比較回路3において、コード0,1イネーブル信号の場合と同様の動作を行う。
図3に示す例では、トリミングコード「2H」時においては、サンプリング結果が「10」となるので、目標値(「10」)とは一致するので、一致信号Dが出力される。
【0067】
この一致信号Dを受けて、トリミングイネーブル信号は「L」に立ち下がり、比較回路3、及びトリミング制御回路4はディセーブル状態となる。
【0068】
このようにして、本例の動作マージン制御回路では、常に同じタイミングで目標値が出るように、1秒毎に自動的に定電圧回路5の出力電圧VDDLのトリミングを行なう。これにより、自動的に、使用環境に適した動作マージンが得られるように出力電圧VDDLが設定される。
【0069】
これにより、本例の動作マージン制御回路を備えたマイクロコントローラ等の半導体装置(デバイス)の構成素子のばらつきや温度変化があっても、一定のデバイス内部の回路の動作マージンを保持することが可能となる。
【0070】
このように、動作マージン制御回路を備えたデバイスを構成するトランジスタの閾値Vtのばらつきや温度変化にも適宜対応できるよう定電圧回路5に対するトリミングコードを自動的に調整しているので、デバイス毎に、常に一定の周波数で動作するよう制御できる。その結果、歩留まり向上を図ることも可能となる。
【0071】
なお、
図3の説明では、トリミングコード「0H」は、後述のトリミングコード「1H」、トリミングコード「2H」よりも、定電圧回路5の出力電圧VDDLを高くする設定とし、順次に出力電圧VDDLを低くして遅延素子1,2の遅延量の差を増加させることで、適切な動作マージンを特定するよう制御しているが、逆に、定電圧回路5の出力電圧VDDLを低くい設定から順次に高くして遅延素子1,2の遅延量の差を低減させることで、適切な動作マージンを特定するよう制御しても良い。
【0072】
また、
図3におけるサンプリングクロックは、本例の動作マージン制御回路を備えたデバイスや製品の仕様に応じて適宜設定されるものであり、
図3においては、コード0,1,2イネーブル信号の立ち上がりの後、4クロック目の立ち下がり時において、出力信号A,Bの状態を比較するよう設定されているが、他のタイミングであっても良い。
【0073】
例えば、
図3のタイミングチャートにおいては、遅延素子1の出力信号Aは、トリミングコード「0=00」においては、入力信号Cに対して0.5クロック遅延し、遅延素子2の出力信号Bは1.5クロック遅延している。
【0074】
同様に、トリミングコード「1=01」においては遅延素子1の出力信号Aは1.0クロック遅延し、遅延素子2の出力信号Bは2.5クロック遅延し、トリミングコード「2=11」においては遅延素子1の出力信号Aは1.5クロック遅延し、遅延素子2の出力信号Bは3.5クロック遅延している。
【0075】
このように、トリミングコードが「0H」〜「2H」に変わる毎に、遅延素子1の出力信号Aは0.5クロックずつ遅延量が増え、遅延素子2の出力信号Aは1.0クロックずつ遅延量が増えている。
【0076】
この結果、
図3においては、コード2イネーブル信号の立ち上がりの後の4クロック目の立ち下がり時において、出力信号A,Bの状態を比較した場合に、一致信号Dが出力される。
【0077】
ここで、遅延素子1の出力信号Aが立ち下がる手前(0.5クロック分)のタイミングで、比較回路3が、遅延素子1の出力信号Aと遅延素子2の出力信号Bとを比較するよう設定した場合でも、最適なマージン値(出力信号A=1、出力信号B=0)を得ることができる。
【0078】
なお、この場合、例えば、トリミングコード11の場合においても、「出力信号A=1、出力信号B=0」となるが、先にトリミングコード10で設定されるので、出力電圧が低くなりすぎることは回避できる。
【0079】
また、例えば、遅延素子2における上限値βを小さくして、トリミングコード00の場合に1.0クロックの遅延、トリミングコード01の場合に2.0クロック、トリミングコード10の場合に3.0クロックの遅延とした場合、
図3に示すトリミングコード10での電圧値では、まだ、「出力信号A=1、出力信号B=1」の状態となり、その後のトリミングコード11の電圧値まで低くなった時点で、「出力信号A=0、出力信号B=1」の状態となり、設定完了する。
【0080】
なお、
図3の説明では、トリミングコード「0H」は、後述のトリミングコード「1H」、トリミングコード「2H」よりも、定電圧回路5の出力電圧VDDLを高くする設定とし、順次に出力電圧VDDLを低くして遅延素子1,2の遅延量の差を増加させることで、適切な動作マージンを特定するよう制御しているが、逆に、定電圧回路5の出力電圧VDDLを低くい設定から順次に高くして遅延素子1,2の遅延量の差を低減させることで、適切な動作マージンを特定するよう制御しても良い。
【0081】
図1においては、周波数は固定で、定電圧回路5の出力電圧VDDLを調整することで、動作マージン制御回路を備えたデバイスを構成するトランジスタの閾値Vtのばらつきや温度変化があっても、一定の動作マージンを保持できる例を説明したが、以下の
図4に示す構成により、定電圧回路の出力電圧VDDLを固定して、動作周波数を調整することで、同様に、一定の動作マージンを保持することも可能である。
【0082】
次に、
図4を用いて別の実施の形態例について説明する。
【0083】
図4においては、本実施の形態に係る動作マージン制御回路の他の構成を示しており、遅延素子(図中、「Delay素子41,42」と記載)41,42、比較回路43、トリミング制御回路44、発振回路45、トリミングタイミング制御回路46を設けた構成となっている。
【0084】
なお、遅延素子41,42は本発明に係る第1、第2の遅延部に相当し、比較回路43は本発明に係る比較部に相当し、トリミング制御回路44は本発明に係るトリミング制御部に相当し、発振回路45は本発明に係る発振部に相当し、トリミングタイミング制御回路46は本発明に係るタイミング制御部と調整部に相当する。
【0085】
このように、本実施形態では、
図1に示した動作マージン制御回路における定電圧回路5の代わりに、発振回路45を設けた構成であり、トリミング制御回路44は、遅延素子41,42に対して入力信号Cを入力すると共に、比較回路43及びトリミングタイミング制御回路46から出力される信号を入力して発振回路45に出力するトリミングコードの値を特定する。また、発振回路45から出力されるクロック信号が遅延素子41,42の動作用クロックとして用いられる。
【0086】
このような構成からなる動作マージン制御回路では、発振回路45において、トリミング制御回路44から入力されたトリミングコードに応じた周波数値のクロック信号を生成して出力し、遅延素子41,42においては、発振回路45から出力されるクロック信号の周波数の変化に応じて入力信号Cを各々異なる遅延量で遅延させた第1、第2の遅延信号を出力する。
【0087】
比較回路43では、遅延素子41,42から出力される第1、第2の遅延信号の遅延量の差を求め、求めた差が予め最適なマージン値として定められた目標値になったときに一致信号を出力する。
【0088】
また、トリミングタイミング制御回路46は、トリミング制御回路44が生成するトリミングコードを予め定められた時間間隔T1で変化させて発振回路45が出力するクロック信号の周波数を変化させると共に、比較回路43から一致信号が出力されるとトリミングコードの変化及び定電圧の変化を停止させ、かつ、時間間隔T1でトリミングコードを変化させる動作を、予め定められた時間周期T2で繰り返す。
【0089】
なお、
図1における定電圧回路5を併設した構成としても良い。
【0090】
本例における遅延素子41は、発振回路45から出力されるクロック信号を動作用クロックとして用いる図示していないマイクロコントローラ等の半導体装置(デバイス)におけるクリティカルパスの値に予め定められた下限値αを加算した値以上で遅延させ、遅延素子42は、クリティカルパスの値に予め定められた上限値βを加算した値以上で遅延させる。
【0091】
また、本例では、図示していない外部からの切替信号に基づいて、タイミング制御回路44による発振回路45が出力するクロック信号の周波数の変化を、順次に高くする第1のモードと順次に低くする第2のモードとに切り替える。
【0092】
また、本例では、遅延素子41,42は、デバイス(半導体装置)に設けられたトランジスタと同等のトランジスタを1以上設けてなり、それぞれの遅延値(第1,第2の遅延信号の遅延量)は、当該トランジスタの段数、またはディメンジョンで、
図2で説明した内容と同様にして調整している。
【0093】
このような構成からなる本例の動作マージン制御回路の動作は、
図3を用いて説明したものと同様であり、ここでの詳細な説明は行なわず、
図5,
図6のフローチャートを用いて説明する。
【0094】
図5を用いて
図1における動作マージン制御回路の動作を説明する。まず定電圧回路5により、トリミング制御回路4から入力されたトリミングコードに応じた値の定電圧を生成して出力する(ステップS102)。
【0095】
次に、遅延素子1,2により、定電圧回路5から出力される電圧の変化に応じて入力信号Cを各々異なる遅延量で遅延させた第1、第2の遅延信号としての出力信号A,Bを出力する(ステップS104)。
【0096】
また、比較回路3により、遅延素子1,2から出力される出力信号A,Bの遅延量の差を求め、求めた差が予め定められた目標値に一致するか否かを判別して(ステップS106)、一致しなければ、予め定められた時間間隔T1後に、トリミングタイミング制御回路6により、トリミング制御回路4が生成するトリミングコードを変化させて(ステップS108)、ステップS102の動作に戻る。
【0097】
ステップS106において一致しているとの判別結果であれば一致信号Dを出力し(ステップS110)、1秒間待機した後(ステップS112)。ステップS102の動作に戻る。
【0098】
次に
図6を用いて
図4における動作マージン制御回路の動作を説明する。まず発振回路45により、トリミング制御回路44から入力されたトリミングコードに応じた周波数値のクロック信号を生成して出力する(ステップS202)。
【0099】
次に、遅延素子41,42により、発振回路45から出力されるクロック信号の周波数の変化に応じて入力信号Cを各々異なる遅延量で遅延させた第1、第2の遅延信号としての出力信号A,Bを出力する(ステップS204)。
【0100】
また、比較回路43により、遅延素子41,42から出力される出力信号A,Bの遅延量の差を求め、求めた差が予め定められた目標値に一致するか否かを判別して(ステップS206)、一致しなければ、予め定められた時間間隔T1後に、トリミングタイミング制御回路46により、トリミング制御回路44が生成するトリミングコードを変化させて(ステップS208)、ステップS202の動作に戻る。
【0101】
ステップS206において一致しているとの判別結果であれば一致信号Dを出力し(ステップS210)、1秒間待機した後(ステップS212)。ステップS202の動作に戻る。
【0102】
次に、別の実施の形態例として、
図1と
図4に示した動作マージン制御回路を用いた半導体装置、及びその半導体装置を設けた電子機器について
図7を用いて説明する。
【0103】
図7においては、電子機器としての火災警報器70の構成が示されており、火災警報器70の全体の動作制御を行なう制御部(マイクロコントローラ)71が、半導体装置として一体化されたマイクロコントローラで構成され、制御部(マイクロコントローラ)71には、センサ73、スピーカ74が接続されており、センサ73での検知信号が制御部(マイクロコントローラ)71に入力されると、制御部(マイクロコントローラ)71はスピーカ74から、センサ73の検知結果を示す音声情報を出力させる。
【0104】
制御部(マイクロコントローラ)71には、CPU(中央処理装置)71a、メモリ71b、及び検出部71cと共に、
図1と
図4において示された動作マージン制御回路を構成する定電圧回路71d、発振回路71e、及びトリミングコード調整回路71fが設けられており、メモリ71bに記憶されたプログラムに基づくCPU71aのコンピュータ処理により、検出部71c、定電圧回路71d、発振回路71e、及びトリミングコード調整回路71fの動作が制御される。
【0105】
トリミングコード調整回路71fは、
図1における遅延素子1,2、比較回路3、トリミング制御回路4、トリミングタイミング制御回路6、もしくは、
図4における遅延素子41,42、比較回路43、トリミング制御回路44、トリミングタイミング制御回路46のいずれか一方の機能として動作し、その機能の切替は、図示していない切替スイッチ等を介して行なわれる。
【0106】
例えば、定電圧回路71dを用いた動作マージン制御を行なう場合には、
図1における遅延素子1,2、比較回路3、トリミング制御回路4、トリミングタイミング制御回路6としての機能で動作し、発振回路71eを用いた動作マージン制御を行なう場合には、
図4における遅延素子41,42、比較回路43、トリミング制御回路44、トリミングタイミング制御回路46としての機能で動作する。
【0107】
トリミングコード調整回路71fは、当該火災警報器70が設置された状態で、1秒間隔で、
図3で示した動作を繰り返して、定電圧回路71dの出力電圧値もしくは発振回路71eのクロック信号の周波数を調整し、調整完了後には、CPU71aが、定電圧回路71dの出力電圧及び発振回路71eからの発振信号に基づき、検出部71cの動作を制御する。
【0108】
そして、検出部71cは、センサ73からの入力信号に基づいて、火災の発生を検出し、CPU71aは、検出部71cからの検出結果に基づいて、スピーカ74を介して、火災の発生を通知する。
【0109】
以上、各図を用いて説明したように、本例の動作マージン制御回路は、例えば
図1に示すように、トリミング制御回路4から入力されたトリミングコードに応じた値の定電圧を生成して出力する定電圧回路5と、定電圧回路5から出力される電圧の変化に応じて入力信号を各々異なる遅延量で遅延させた第1、第2の遅延信号としての出力信号A,Bを出力する遅延素子線1,2と、遅延素子1,2から出力される出力信号A,Bの遅延量の差を求め、求めた差が予め定められた目標値になったときに一致信号Dを出力する比較回路3と、トリミング制御回路4が生成するトリミングコードを予め定められた時間間隔T1で変化させて定電圧回路5が出力する定電圧を変化させると共に、比較回路3から一致信号Dが出力されるとトリミングコードの変化及び定電圧の変化を停止させ、さらに、トリミング制御回路4の時間間隔T1でトリミングコードを変化させる動作を、予め定められた時間周期T2、すなわち1秒周期で繰り返させるトリミングタイミング制御回路6と、を備えた構成とする。
【0110】
あるいは、
図4に示すように、トリミング制御回路44から入力されたトリミングコードに応じた周波数のクロック信号を生成して出力する発振回路45と、発振回路45から出力されるクロック信号の周波数の変化に応じて入力信号を各々異なる遅延量で遅延させた第1、第2の遅延信号としての出力信号A,Bを出力する遅延素子41,42と、遅延素子41,42から出力される出力信号A,Bの遅延量の差を求め、求めた差が予め定められた目標値になったときに一致信号を出力する比較回路43と、トリミング制御回路44が生成するトリミングコードを予め定められた時間間隔T1で変化させて発振回路45が出力するクロック信号の周波数を変化させると共に、比較回路43から一致信号Dが出力されるとトリミングコードの変化及びクロック信号の周波数の変化を停止させ、さらに、トリミング制御回路44の時間間隔T1でトリミングコードを変化させる動作を、予め定められた時間周期T2で繰り返させるトリミングタイミング制御回路46と、を備えた構成とする。
【0111】
そして、本例の半導体装置としての制御部(マイクロコントローラ)は、このような動作マージン制御回路と、当該動作マージン制御回路の動作制御を行なう中央処理装置(CPU)と、を備え、例えば、火災警報器等の電子機器に設けられる。
【0112】
このような構成からなる動作マージン制御回路によれば、定電圧回路やクロック発振回路を備えたデバイスを構成するトランジスタの製造ばらつきや、当該デバイスが設けられた電子機器の実際の使用環境に合わせて、当該デバイスの動作マージンを確保することができるので、トランジスタの製造ばらつきや、当該デバイスが設けられた電子機器の実際の使用環境の変化に影響されることなく、当該デバイス及び電子機器を安定して動作させることが可能となる。
【0113】
なお、本発明は、
図1〜
図7を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、
図3で示した例では、2ビットのトリミング信号に基づく構成としているが、4ビット、8ビット等、より高精度なトリミング制御を行なう発振周波数調整回路にも適用可能である。
【0114】
また、本例では、入力信号Cをトリミング制御回路4,44から遅延素子1,2,41,42へ入力する構成としているが、トリミング制御回路4,44から定電圧回路5あるいは発振回路45へのトリミングコードの出力に合わせて、入力信号Cを遅延素子1,41,42へ入力するものであれば、別の回路から入力する構成としても良い。
【0115】
また、このような動作マージン制御回路を備えた半導体装置としての制御部(マイクロコントローラ)は、火災警報器以外の例えば携帯電話等の電子機器にも設けることができる。