しかしながら、上記特開平5―265579号公報には、トリミングによって得られる電圧と目標値電圧とを比較するコンパレータをオンチップにしても、或はテスタ上のコンパレータを用いてもよい、と記載されるだけで、双方の相違点については全く着目されていない。これに対し、本発明者は以下の点に着眼している。即ち、電圧トリミング等のための測定動作を伴うテスト時間の短縮には、評価装置1台で複数のLSIを同時にトリミングすることが有効であるが、この電圧トリミングは外部の評価装置が電圧を測定する関係から、並列的にトリミング動作を行うことはできない。リレーで切り替えて順番に電圧測定およびトリミングレジスタ値の調節を行うのが限度である。内部の発振器から生成されるクロック周波数を分周して作る書き込みパルス幅及び消去パルス幅、或はLSIの製造条件で決まるMOSトランジスタの電流値に対するトリミング等についても事情は同じである。このため、LSIを1個づつ順番にトリミングしていたのではテスト時間が大幅に増大してしまう。
また、特開平5―265579号公報記載の技術は、ハードウエアで構成されたカウンタとヒューズを用いているため、一旦トリミング値が決定されると変更することができない。昇圧電圧に応用する場合は、その電圧値を合わせ込んだ後に、書き込み時間などが目標を満足しない場合には、さらにトリミング値に補正を加えることが必要となる。
本発明の目的は、電圧やパルス幅などを決定する制御情報の設定を自己完結的に行うことができ、制御情報の手直しも容易な半導体集積回路を提供することにある。
本発明の別の目的は、電圧やパルス幅などを決定する制御情報の設定を並列的に且つ容易に行うことができ、その手直しも容易な半導体集積回路のテスト方法を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
〔1〕本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
例えばCPUとフラッシュメモリを有する半導体集積回路の外部の評価装置から期待値の電圧を複数の半導体集積回路に並列的に与える。そのために、半導体集積回路の内部には、この期待値電圧と内部で発生する昇圧(降圧)電圧とを比較する判定回路を内蔵する。この比較判定結果を記憶するレジスタを持ち、内蔵CPUのような制御回路でこの結果を判定できる仕組みを採用する。例えば、昇圧(降圧)電圧値を変更するデータレジスタ(トリミングレジスタ)を内蔵し、内蔵CPUでそのトリミングレジスタを書き換え可能とする。上記の比較器やレジスタを内蔵CPUで制御し、トリミングを自己完結で行うため、セルフトリミングプログラムを、複数のLSIのメモリ(RAMなど)に転送し並列的に実行することができる。このプログラムでは、トリミングレジスタの値を設定し、電圧判定回路が比較結果を確定するのを待って、判定結果のレジスタの値を判定する。その結果により再度トリミングレジスタの値を更新し、LSI外部の評価装置から入力した期待値の電圧と内部で発生する電圧が等しくなるまで、若しくは所望の状態になるまで、上記処理を繰り返す。等しくなった時点のトリミングレジスタの値をトリミング値として記憶する。この記憶は、例えばフラッシュメモリのトリミングエリアにその情報を書き込むことで実現される。
同様に、MOSトランジスタの電流に対しても、例えば外部から基準となる電流を複数のLSIに対して同時に与え、夫々のLSIで内蔵MOSトランジスタの電流との比較を行い、電流トリミングを実施する。ここで、外部から一定電流を複数のLSIに対して並列的に供給するため、それぞれのLSIの入力端子に一定抵抗を付加し、これに一定電圧を印加し、一定電流を生成する方法でもよい。
また同様に、書き込みパルス幅、消去パルス幅を生成する制御クロックに対しても、基準時間と内部の発振器で発生した時間との比較を行い、制御クロックの周波数のトリミングを実施する。ここで、基準時間は、テスト時に外部から供給する特定周波数のクロックを元に内部で生成するか、または外部から基準パルスとして直接供給してよい。
上記より、外部から期待値の電圧、電流を入力し、トリミングプログラムを内蔵CPUで実行するだけで、期待値と一致するトリミング値を得ることができる。書き込み、消去パルスを生成する制御クロックの周波数トリミングも同様である。外部から与えられる期待値の電圧、電流、パルスは、複数のLSIに対して共通に供給できる。また、トリミングプログラムは内蔵CPUで実行するため、複数のLSIで並列的に実行できる。このため、複数のLSIを並列的にトリミングすることが容易になり、全体としてテスト時間を短縮できる。また、評価装置にリレーなどの切り替え装置を持たせる必要がなくなる。
〔2〕本発明を具体的な態様に分けて更に詳細に説明する。先ず第1の態様として、CPUと共にフラッシュメモリなどをオンチップで有するデータプロセッサのような半導体集積回路を想定する。
《データプロセッサ》半導体集積回路は、データレジスタにロードされる制御データに基づいて電圧を生成可能な電圧生成手段と、前記制御データを保有する不揮発性記憶手段と、前記不揮発性記憶手段に保有させる前記制御データの生成に利用される処理回路とを1個の半導体基板に有する。前記処理回路は、半導体基板の外部から与えられる判定基準電圧と前記電圧生成手段で生成される電圧との関係を判定する判定回路と、判定回路の出力を参照しながらデータレジスタ上で制御データを決定し、前記決定された制御データを前記データレジスタから前記不揮発性記憶手段に格納する制御回路とを有する。制御回路はプログラムにしたがってその動作が決定される。
半導体基板の外部から与えられる判定基準電圧と前記電圧生成手段で生成される電圧との関係を判定する判定回路は、判定基準電圧と前記電圧生成手段で生成される電圧とを直接比較する構成、或は、前記電圧生成手段で生成される電圧によって電流が制御される経路の電圧を前記判定基準電圧と比較する構成の何れであってもよい。前者は電圧トリミングに、後者は電流トリミングに最適である。
半導体集積回路は判定回路を内蔵するからテスタなどの評価装置に複数個接続して並列的にトリミング処理が可能になる。データレジスタ、判定回路及び制御回路を有するから、トリミングを自己完結的に行うことができ、制御回路のプログラム次第で一旦設定した制御情報の手直しも容易である。
《制御データのイニシャルロード》前記制御回路は、テストモードのような第1動作モードに応答して前記判定回路の出力を参照しながらデータレジスタ上で制御データを決定し、前記決定された制御データを前記データレジスタから前記不揮発性記憶手段に格納する処理を行い、リセット動作若しくはリセット指示解除のような第2動作モードに応答して前記不揮発性記憶手段から制御データを前記データレジスタにロードする処理を行うことが可能である。
《CPU》前記制御回路は例えば中央処理装置である。このとき、前記中央処理装置によってアクセス可能なRAMを有し、前記中央処理装置は、前記第1動作モードに応答して前記RAMの所定領域に保持されているプログラムを実行する。
前記第2動作モードに応答して、前記不揮発性記憶手段から制御データを前記データレジスタにロードする処理を行う。
《昇圧》前記電圧生成回路は外部から供給される電源電圧を昇圧する昇圧回路である。このとき、前記不揮発性記憶手段はフラッシュメモリであり、前記電圧生成手段はフラッシュメモリの消去及び書き込みのための高電圧を供給可能である。
〔3〕本発明の第2の態様として単体フラッシュメモリのような半導体集積回路を想定する。
《フラッシュッメモリ》半導体集積回路は、電気的に消去及び書き込み可能な複数の不揮発性記憶素子と、前記複数の不揮発性記憶素子の一部の不揮発性記憶素子からデータレジスタにロードされる制御データに基づいて前記複数の不揮発性記憶素子に対する消去及び書き込み用の高電圧を生成可能な電圧生成手段と、前記一部の不揮発性記憶素子に保持させる前記制御データの生成に利用される処理回路とを1個の半導体基板に有し、前記処理回路は、半導体基板の外部から与えられる判定基準電圧と前記電圧生成手段で生成される電圧との関係を判定する判定回路と、前記判定回路の出力を参照しながら制御データを決定する制御回路とを有する。前記制御回路はプログラムによってその動作が決定される。
《制御データのイニシャルロード》前記制御回路は、第1動作モードに応答して前記判定回路の出力を参照しながら前記データレジスタ上で制御データを決定し、決定した制御データを前記データレジスタから前記一部の不揮発性記憶素子に格納する処理を行い、第2動作モードに応答して前記一部の不揮発性記憶素子から制御データを前記データレジスタにロードする処理を行う。
例えば、前記電圧生成回路は外部から供給される電源電圧を昇圧する昇圧回路である。このとき、前記不揮発性記憶素子はフラッシュメモリ素子であり、前記電圧生成手段はフラッシュメモリ素子の消去及び書き込みのための高電圧を供給可能である。
〔4〕本発明の第3の態様としてパルス幅トリミングを想定する。半導体集積回路は、データレジスタにロードされる制御データに応じた信号周期のクロック信号を出力するクロック生成回路と、前記制御データを保有する不揮発性記憶手段と、前記不揮発性記憶手段に保有させる前記制御データの生成に利用する処理回路とを1個の半導体基板に有する。前記処理回路は、基準パルス信号のパルス幅と前記クロック生成回路で生成されるクロック信号のパルス幅との関係を判定する判定回路と、前記判定回路の出力を参照しながらデータレジスタ上で制御データを決定する制御回路とを有する。前記制御回路はプログラムによってその動作が決定される。例えば、前記クロック生成回路は、発振回路と、前記発振回路から出力される発振信号をデータレジスタにロードされる制御データに基づいて分周する分周回路とから構成してよい。
前記制御回路は、前記決定した制御データを前記不揮発性記憶手段に格納する。このとき、前記制御回路は、第1動作モードに応答して前記判定回路の出力を参照しながら制御データを決定し、決定した制御データを前記不揮発性記憶手段に格納する処理を行い、第2動作モードに応答して前記不揮発性記憶手段から制御データを前記データレジスタにロードする処理を行う。
前記制御回路は中央処理装置である。例えば、前記中央処理装置によってアクセス可能なRAMを有し、前記中央処理装置は、前記第1動作モードに応答して前記RAMの所定領域に保持されているプログラムを実行する。前記分周回路の出力信号は書き込み制御クロック信号であり、前記不揮発性記憶手段はフラッシュメモリであり、前記書き込み制御クロック信号は前記フラッシュメモリの書き込みのための書き込みパルスのパルス幅を決定する。
〔5〕本発明に係るテスト方法は複数個の半導体集積回路に対して並列的にトリミング処理を行う。
第1の態様は電圧トリミングである。即ち、データレジスタにロードされる制御データに基づいて電圧を生成可能な電圧生成手段と、前記制御データを保有する不揮発性記憶手段と、前記不揮発性記憶手段に保有させる前記制御データの生成に利用される処理回路とを1個の半導体基板に有する半導体集積回路を複数個並列的にテストする方法は、前記複数個の半導体集積回路に外部から判定基準電圧を並列的に入力する第1処理と、夫々の半導体集積回路の処理回路にテスト動作を実行させ、前記データレジスタに設定された制御データに基づいて前記電圧生成手段で生成される電圧と前記判定基準電圧との関係を判定し、判定結果が目的状態に達するまで制御データを更新し、判定結果が目的状態に達したときの制御データを前記不揮発性記憶手段に格納する第2処理と、を含む。これにより、電圧やパルス幅などを決定する制御情報の設定を複数個の半導体集積回路に対して並列的に且つ容易に行うことができる。
前記夫々の半導体集積回路にテストプログラムをロードする第3処理を更に含み、前記第2処理は、前記判定を前記処理回路の判定回路を用いて行う処理と、前記制御データの更新及び不揮発性記憶手段への格納を前記処理回路の中央処理装置に前記テストプログラムを実行させて行う処理とを含む。
前記電圧生成回路は外部から供給される電源電圧を昇圧する昇圧回路である。前記不揮発性記憶手段はフラッシュメモリであり、前記電圧生成手段はフラッシュメモリの消去及び書き込みのための高電圧を供給可能である。
第2の態様はパルス幅トリミングである。発振回路と、前記発振回路から出力される発振信号の分周比をデータレジスタにロードされる制御データに基づいて制御する分周回路と、前記制御データを保有する不揮発性記憶手段と、前記不揮発性記憶手段に保有させる前記制御データの生成に利用する処理回路とを1個の半導体基板に有する半導体集積回路を複数個並列的にテストする方法は、前記夫々の半導体集積回路にテスト動作を指示する第1処理と、夫々の半導体集積回路の処理回路にテスト動作を実行させ、前記データレジスタに設定された制御データに基づいて前記分周回路で生成される周期信号のパルス幅と前記基準パルス信号のパルス幅との関係を判定させ、判定結果が目的状態に達するまで制御データを更新させ、判定結果が目的状態に達したときの制御データを前記不揮発性記憶手段に格納する第2処理と、を含む。例えば、前記夫々の半導体集積回路にテストプログラムをロードする第3処理を更に含み、前記第2処理は、前記判定を前記処理回路の判定回路を用いて行う処理と、前記制御データの更新及び不揮発性記憶手段への格納を前記処理回路の中央処理装置に前記テストプログラムを実行させて行う処理とを含む。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、外部から期待値の電圧、電流等を入力し、所定のプログラムを内蔵CPU等で実行するだけで、期待値と一致するトリミングの値を得ることができる。書き込み、消去パルスを生成する制御クロックの周波数トリミングも同様である。外部から与える期待値の電圧、電流、パルスは、複数のLSIに対して共通に供給できる。また、トリミングプログラムは内蔵CPU等の制御回路で実行するため、複数のLSIで並列的に実行できる。このため、複数のLSIの並列トリミングが容易であり、全体としてのテスト時間を短縮できる。また、評価装置にリレーなどの切り替え装置を持たせる必要もない。
したがって、電圧やパルス幅などを決定する制御情報の設定を自己完結的に行うことができ、電圧やパルス幅などを決定する制御情報の設定を並列的に且つ容易に行うことができ、制御情報の手直しも容易である。
《マイクロコンピュータ》図1には本発明の半導体集積回路の一例であるデータプロセッサとしてのマイクロコンピュータが例示される。同図に示されるマイクロコンピュータ1は、単結晶シリコンのような1個の半導体基板(半導体チップ)に例えば公知のCMOS集積回路製造技術によって形成される。同図に従えば、マイクロコンピュータ1は、演算制御回路若しくは制御回路としてのCPU2、システムコントローラ3、揮発性メモリとしてのRAM4、不揮発性メモリとしてのフラッシュメモリ5、昇圧回路6、電圧トリミング回路7、分周回路8、分周比トリミング回路9、発振器10、フラッシュメモリコントローラ11、バスコントローラ12、入出力ポート13、及びタイマなどの其の他の周辺回路14を有し、それら回路モジュールはバス15に接続される。バス15はアドレスバス、データバス、コントロールバスを含んでいる。特に図示はしないが、バス15はそれに接続される回路モジュールの動作速度や処理能力等に応じて複数種類に階層化されて構成されてよい。
前記システムコントローラ3には外部から複数ビットのモード信号17及びリセット信号16などが入力される。マイクロコンピュータ1のパワーオンリセット或はハードウェアリセットによりリセット信号16がローレベルにされると、そのローレベル期間においてマイクロコンピュータ1の内部でリセット動作が行われる。リセット信号16によるリセットの解除後、複数ビットのモード信号17の状態に応じて、マイクロコンピュータ1の動作モードが決定される。CPU2は、その動作モードに応じたプログラム領域の先頭ベクタをリードし、そのアドレスの命令をフェッチし、フェッチした命令を解読して、命令実行を開始する。RAM4はCPU2のワーク領域若しくはデータ又はプログラムの一時記憶領域としても利用される。
前記フラッシュメモリ5はCPU2のプログラムやデータの記憶領域とされ、電気的に書換え可能にされる。フラッシュメモリコントローラ11は、CPU2の初期設定にしたがってフラッシュメモリ5に対する消去及び書込み動作手順を制御する。フラッシュメモリ5に対する消去及び書込みのための高電圧Vppは、電源電圧を昇圧する昇圧回路6で生成する。ここで、高電圧Vppとは正の高電圧及び負の高電圧を意味する。電圧トリミング回路7は昇圧回路6による書圧電圧を微調整する回路である。分周回路8は発振回路10で生成される発振信号φを分周して消去・書込み制御クロック信号φ/nを生成し、フラッシュメモリ5に与える。消去・書込み制御クロック信号φ/nは、フラッシュメモリ5に対する消去電圧印可時間を規定する消去パルス信号、そしてフラッシュメモリ5に対する書込み電圧印可時間を規定する書込みパルス信号を生成するための基準とされる。
入出力ポート13は外部アドレスバス及び外部データバスへの接続、周辺回路14の外部インタフェース等に用いられる。
CPU2は、特に図示はしないが、算術論理演算器ALU等の演算器や汎用レジスタ及びプログラムカウンタ等のレジスタ類を有する演算部と、プログラムカウンタで示される命令アドレスの命令を解読して命令実行手順を制御する命令制御部とを有する。
図2にはフラッシュメモリ5のブロック図が示される。フラッシュメモリ5は、メモリセルアレイ20、データラッチアレイ(DLA)21、センスアンプアレイ(SAA)22、ワード線デコーダ(WDEC)23、ウェルデコーダ(SDEC)24、ビット線デコーダ(CDEC)25、カラムスイッチアレイ(CSW)26、データバッファ(DBUF)27、アドレスバッファ(ABUF)28、及びタイミングコントローラ(TCNT)29を有する。メモリセルアレイ20はマトリクス配置された不揮発性記憶素子としてのフラッシュッメモリセル(図示せず)を有する。フラッシュメモリセルは、特に制限されないが、半導体基板若しくはウェル領域にソース、ドレインを有し、チャネルの上方に夫々絶縁膜を介してフローティングゲート及びコントロールゲートが形成されたスタック構造を有し、ソースをソース線に、ドレインをビット線に、コントロールゲートをワード線に接続して構成される。
フラッシュメモリセルはその閾値電圧がプログラム可能にされ、プログラムされた閾値電圧に応じて情報を保持する。例えば、1個のフラッシュメモリセルが1ビットの情報を保持する場合に、相対的に高い閾値電圧状態を書き込み状態、相対的に低い閾値電圧状態を消去状態と称する。書き込み状態を得る為の書き込み動作は、特に制限されないが、コントロールゲートに10V、ドレインに例えば5V、ソース及び基板に例えば0Vを印加して、ドレイン・ソース間に電流を流し、これによってホットエレクトロン注入が起こり、フローティングゲートに電子が蓄積され、メモリセルの閾値電圧が高くなる。前記消去状態を得る為の消去動作は、特に制限されないが、コントロールゲートに−10V、基板に例えば+10Vを印加し、さらにソースとドレインを例えば開放(フローティング)にして、フローティングゲートに蓄積された電子を基板に放出させ、これによってメモリセルの閾値電圧が低くなる。
前記TCNT29は、前記バス15に含まれるコントロールバス15Cからメモリアクセスなどに関するバスコマンドが入力され、また、フラッシュメモリコントローラ11から書き込み及び消去動作の制御情報11Cが供給される。更に消去及び書き込み用の前記高電圧Vpp及び制御クロック信号φ/nが供給される。TCNT29は、制御情報11C及びバスコマンドによりフラッシュメモリ5に指示される読み出し、消去、又は書き込み動作に応じて、必要な動作電圧と動作タイミングを生成して各部に供給する。
アドレスバッファ28は前記バス15に含まれるアドレスバス15Aからアドレス信号を入力する。アドレスバッファ28に入力されたアドレス信号はWDEC23、CDEC25に入力されて夫々デコードされる。WDEC23はそのデコード結果に従ってワード線を選択する。CDEC25はそのデコード結果に従ってCSW26を介してビット線を選択する。ワード線選択及びビット線選択によってフラッシュメモリセルが選択される。読み出し動作では、前記選択されたフラッシュメモリセルの読み出しデータは、SAA22にて検出され、データバッファ27を経て前記バス15に含まれるデータバス15Dに出力される。書き込み動作では、前記データバス15Dからデータバッファ27に与えられる書き込みデータがデータラッチアレイ21にラッチされ、ワード線選択されたメモリセルに対し、ラッチデータに従って書き込み・書き込み阻止が制御される。消去はウェル単位で行われ、制御情報11Cに含まれる消去ブロック情報がTCNT29経由でWEDEC24に与えられ、WEDEC24で選択されたウェル内のメモリセルブロックが消去対象とされる。
図3にはフラッシュメモリのメモリマットが例示される。フラッシュメモリ5のメモリセルアレイ20は、第1記憶領域としてのブートマットTmatと、第2記憶領域としてのユーザマットMmatと、第3記憶領域としてのリペア及びトリミングマットRmatとを有する。前記ブートマットTmat及びユーザマットMmatは夫々CPU2のアドレス空間における先頭アドレスである0番地(H’0000000)をスタートアドレスとしてメモリ空間が割り当てられる。要するに、前記ブートマットTmat及びユーザマットMmatはアドレス空間がオーバラップされ、前記アドレスデコーダWDEC23、CDEC25はどのマットを利用するかの指示に応答してアドレスデコード論理が選択されることになる。どのマットを利用するかは前記モード信号17で指示されるマイクロコンピュータの動作モードなどによって決まる。前記ブートマットTmatには、フラッシュッメモリ15の消去及び書込み処理プログラムやテスト用のプログラム等が格納されている。リペア及びトリミングマットRmatはメモリセルアレイにおける欠陥救済アドレスや回路の特性に応じた合わせ込みのためのトリミング回路、例えば前記電圧トリミング回路7及び分周比トリミング回路9に設定すべき制御データが格納される。個々に格納された制御データは、リセット解除後に所定のシーケンスで読み出されて、夫々前記電圧トリミング回路7及び分周比トリミング回路9のトリミングレジスタにイニシャルロードされる。これにより、それ以降、前記電圧トリミング回路7及び分周比トリミング回路9は、イニシャルロードされた制御データにより、予め回路特性に合わせ込みされた、高電圧Vpp及び制御クロック信号φ/nを電圧トリミング回路7及び分周比トリミング回路9から発生させ、これがフラッシュメモリ5に供給される。
《電圧トリミング》次に前記リペア及びトリミングマットRmatに格納すべき電圧トリミング回路のための制御データの生成について説明する。
図4には電圧トリミングのための回路構成が例示される。昇圧6回路は60〜66で示される回路要素により構成される。即ち、昇圧回路6はチャージポンプ回路などを用いた昇圧部60を有する。昇圧部60は電圧発生制御レジスタ61に動作開始の指示データをセットすることによりチャージポンプ動作が可能になる。昇圧部60から出力される昇圧電圧Vppは分圧回路62で分圧され、分圧された複数の分圧電圧の一つがセレクタ63で選択される。選択された分圧電圧と基準電圧との差電圧が差動アンプ64で形成されて昇圧部60に帰還され、この負帰還制御により、昇圧電圧Vppのレベルが決定される。セレクタ63はデコーダ65の出力で選択され、デコーダ65にはトリミングレジスタ66の設定値が供給される。トリミングレジスタ66に設定される制御データの値に応じて帰還量が変化される。制御データを適当に選ぶことによって、高電圧Vppの値を微調整(トリミング調整)することができる。
上記微調整により高電圧Vppに目標値を得るために、外部の評価装置18から与えたれる比較用電圧としての期待電圧Vrefと前記昇圧部60で生成される電圧Vppとを比較する判定回路としての比較回路70と、比較回路70による比較結果が保持される判定レジスタ71とが設けられる。判定レジスタ71は、トリミングレジスタ66、電圧発生制御レジスタ61と同様に、バス15に接続され、CPU2によってアクセス可能にされる。トリミング調整処理にとって前記CPU2は、判定レジスタ71の値を参照しながらトリミングレジスタ66上で制御データを決定し、前記決定された制御データを前記トリミングレジスタ66から前記フラッシュメモリ5のリペア及びトリミングマットRmatに格納する制御回路としての機能を実現する。
特に制限されないが、CPU2によるトリミング調整処理の動作は、モード信号17でシステムコントローラ3にテストモードが指示されることに応答して可能にされる。
図5にはトリミング調整用の制御データを取得する処理の全体的なフローチャートが例示される。評価装置18はマイクロコンピュータ1にテストモードを設定し、トリミング調整処理のためのプログラム(トリミングプログラム)をRAM4の所定エリアにダウンロードする(S1)。次いで、評価装置18は期待電圧Vrefをボンディングパッドのような電極パッドPadを介して比較回路70に供給し(S2)、CPU2にトリミングプログラムの実行を指示する(S3)。
CPU2はトリミングプログラムを実行し、先ず、電圧発生制御レジスタ61に動作開始データをセットし(S4)、トリミングレジスタ66に最小電圧を指定する制御データをセットする(S5)。CPU2は所定時間NOP(ノンオペレーション)命令を実行して昇圧部60による昇圧動作の安定を待つ(S6)。この間、比較回路70は生成される昇圧電圧Vppと期待電圧Vrefを比較し、Vref>Vppであれば判定レジスタ71に“0”がセットされ、Vref≦Vppであれば判定レジスタ71に“1”がセットされる。CPU2は、所定時間NOP命令を実行した後、判定レジスタ71の値を判定し(S7)、“0”ならトリミングレジスタ66の制御データを更新して昇圧電圧Vppに次に高い電圧を指定し、所定時間NOP(ノンオペレーション)命令を実行して昇圧部60による昇圧動作の安定を待ち(S8)、上記判定動作(S7)を繰り返す。判定動作(S7)により“1”を判別すると、判定処理のループを抜け、トリミング調整用の制御データを取得する処理を終了する。
上述のようにマイクロコンピュータ1は、トリミングレジスタ66、比較回路70及びCPU2を有するから、トリミング調整用の制御データの取得処理を自己完結的に行うことができる。従って、図6に例示されるように評価装置18に複数個のマイクロコンピュータを接続して、それらを並列動作させて能率的にトリミング調整処理を行うことができる。
各マイクロコンピュータ1がトリミング調整用の制御データを取得した後、夫々のマイクロコンピュータ1にトリミングレジスタ66の制御データをフラッシュメモリのリペア及びトリミングマットRmatの所定エリアに書込みをする指示を与える。その指示を受けると、CPU2は前記トリミング処理プログラムの対応する処理ルーチンを実行し、トリミングレジスタ66の制御データをフラッシュメモリ5のデータラッチ回路21にラッチさせ、データラッチ回路21の前記データをリペア及びトリミングマットRmatの所定エリアに書込みをする。
一旦制御データをリペア及びトリミングマットRmatに書込んだ後も、マイクロコンピュータ1がパッケージングされる前であれば、電極パッドPadが露出している限り、制御データの書換えも可能である。制御データの取得及び書込み処理は評価装置18からダウンロードされるプログラム次第で任意に行うことが可能だからである。
比較例として、従来は図7に例示されるように測定端子から昇圧電圧を評価装置に与え、図8に例示されるように評価装置に判定させて、その結果にしたがってトリミングレジスタの値を更新させなければならない。それ故に、図9に例示されるように、評価装置はマイクロコンピュータを1個ずつ順番にトリミング調整していかなければならない。
図10には図4の構成の変形例に係るマイクロコンピュータ1Aが示される。図4との相違点は、比較回路70の入力電圧を分圧回路62による一つの分圧電圧としたことである。例えば昇圧電圧Vppが10Vのような高電圧であっても、比較回路70の耐圧を低くすることが可能になり、評価装置18も電圧レベルの低い期待電圧Vrefを出力すれば済むようになる。
図11には図4の構成の別の変形例に係るマイクロコンピュータ1Bが示される。図4との相違点は複数の昇圧部60,60に対応する構成とされる。即ち、期待電圧Vrefを入力する電極パッドPadを複数個の比較回路70,70に共通化し、選択スイッチ72で選択された一つの比較回路70に期待電圧Vrefを供給可能にされる。選択スイッチ72はCPU2のアドレス空間に配置された選択レジスタ73の設定値に従って選択される。図11の例では判定レジスタ71は複数個の比較回路70,70に共有される。図11の例では、選択スイッチ72はVref入力を切り換えているが、分圧回路62の出力を切り換えて、比較回路70を1個にすることも可能である。図11の構成により、トリミング処理のみに利用される電極パッドPadの数を減らすことができる。
図12には図4の構成の更に別の変形例に係るマイクロコンピュータ1Cが示される。同図に示される例は電流トリミングに適用されるものである。例えば周辺回路14に含まれる回路の電流源MOSトランジスタ140の電流値が回路特性に大きな影響を与える場合に、そのバイアス電圧発生部60Cのバイアス電圧Vbasを微調整可能にする。そのために、前記電流源MOSトランジスタ140と同一プロセスで形成されるダミーMOSトランジスタ74を用意し、バイアス電圧発生部60Cのバイアス電圧VbasをダミーMOSトランジスタ74のゲート電極に印可する。ダミーMOSトランジスタ74のドレイン電極は電極パッドPadに接続される。電極パッドPadには評価装置18より抵抗素子を介して定電流が供給される。比較回路70はダミーMOSトランジスタ74に流れる電流に応じて形成される電圧を期待電圧Vrefと比較する。この構成において、期待電圧VrefはダミーMOSトランジスタ74とVbasを共用するMOSトランジスタ140の電流値を規定するものである。
この構成において、比較回路70の比較結果に応じてバイアス電圧Vbasを更新することにより、MOSトランジスタ140の電流を規定の電流値とするバイアス電圧Vbasを生成する制御データをトリミングレジスタ66に得ることができる。トリミング手順は図4の場合と同じであり、それと同様の効果を得ることができる。
図13には図4の構成の別の変形例に係るマイクロコンピュータ1Dが示される。図4との相違点は電圧トリミングの構成を負電圧昇圧にも適用した点である。負電圧昇圧のために、負電圧昇圧部60Dと負電圧に対応する分圧回路62Dが用意されている。負電圧昇圧を用いる場合にも、トリミング手順は図4の場合と同じであり、それと同様の効果を得ることができる。
図14には図4の構成の別の変形例に係るマイクロコンピュータ1Eが示される。図4と図13を組み合わせた構成を有する。判定レジスタ71は正電圧昇圧のトリミングと負電圧昇圧のトリミングに共用される。
《分周比トリミング》次に分周比トリミング回路9のための制御データの生成について説明する。
図15には分周比トリミングのための回路構成が例示される。発振回路10は例えばリングオシレータにより構成され、クロック信号φを出力する。分周回路8は分周部80と分周比トリミングレジスタ81によって構成される。発振回路10の発振周波数は図16に例示されるように、それを構成するMOSトランジスタのゲート長寸法(Lg)のばらつきにより変動する。分周部80は前記クロック信号φを分周して、書込み制御クロック信号φ/nと、比較パルスφ/mを生成する。n≦mであり、比較パルスφ/mは制御クロック信号φ/nに対して更にn/m分周された関係にある。書込み制御クロック信号φ/nはフラッシュメモリ5において、図17に例示されるように書込みパルス信号のパルス幅を規定するクロック信号として利用される。制御クロック信号φ/nが比較的遅いクロックの場合、パルス幅の頻度を十分とることができない。このため、さらに分周比を上げたφ/nを比較パルスとして使用する。
パルス幅を微調整するためにパルス幅比較回路78と判定レジスタ77が設けられる。パルス幅比較回路78は電極パッドPad3を介して評価装置18から供給される基準パルスPLSと前記比較パルスφ/mとのパルス幅(例えば正極性パルス幅)を比較し、比較結果を判定レジスタ77に返す。例えば分周比トリミングレジスタ81にパルス幅最大の制御データから設定していく場合には、比較パルスφ/mの正極性パルス幅が基準パルスPLSの正極性パルス幅よりも小さくなったか否かを判定し、大きいときは“0”、小さいときは“1”を設定する。CPU2は、判定レジスタ77から判定結果を参照しながら分周比トリミングレジスタ81上で制御データを決定する演算処理を行う。例えば、判定結果が“0”なら、比較パルス幅を小さくするように制御データを更新し、比較結果が“0”から“1”に変化したときの制御データをフラッシュメモリ5の前記リペア及びトリミングマットRmatに格納する制御を行う。
分周比トリミング調整用の制御データを取得するとき、評価装置18は、分周比トリミング調整処理のためのプログラムをRAM4の所定エリアにダウンロードする。CPU2に分周比トリミングプログラムの実行を指示する。CPU2はトリミングプログラムを実行し、先ず、分周比トリミングレジスタ81に例えば最大パルス幅を指定する制御データをセットする。次いで、評価装置18は基準パルスPLSをボンディングパッドのような電極パッドPad3を介してパルス幅比較回路78に供給し、この間、パルス幅比較回路78は生成された比較パルスφ/mの正極性パルス幅が基準パルスPLSの正極性パルス幅よりも小さくなったか否かを判定する。大きければ判定レジスタ77に“0”をセットし、小さくければ判定レジスタ77に“1”をセットする。CPU2は、判定レジスタ77の値を検査し、“0”なら分周比トリミングレジスタ81の制御データを更新して、比較パルスφ/mのパルス幅を1段階狭め、再度上記判定動作を繰り返す。判定動作により“1”を判別すると、判定処理のループを抜け、分周比トリミング調整用の制御データを取得する処理を終了する。
上述のようにマイクロコンピュータ1は、分周比トリミングレジスタ81、パルス幅比較回路78及びCPU2を有するから、分周比トリミング調整用の制御データの取得処理を自己完結的に行うことができる。従って、評価装置18に複数個のマイクロコンピュータ1を接続して、それらを並列動作させて能率的に分周比トリミング調整処理を行うことができる。
各マイクロコンピュータ1が分周比トリミング調整用の制御データを取得した後、夫々のマイクロコンピュータ1に分周比トリミングレジスタ81の制御データをフラッシュメモリ5のリペア及びトリミングマットRmatの所定エリアに書込みする指示を与える。その指示を受けると、CPU2は前記トリミング処理プログラムの対応する処理ルーチンを実行し、分周比トリミングレジスタ81の制御データをフラッシュメモリ5のデータラッチ回路21にラッチさせ、データラッチ回路21の前記データをリペア及びトリミングマットRmatの所定エリアに書込みする。
一旦制御データをリペア及びトリミングマットRmatに書込んだ後も、マイクロコンピュータ1がパッケージングされる前に前であれば、電極パッドPad3が露出している限り、制御データの書換えも可能である。制御データの取得及び書込み処理は評価装置18からダウンロードされるプログラムの内容にしたがって任意に行うことが可能だからである。
図18には分周比トリミングのための別の回路構成が例示される。図15との相違点は基準パルスを生成する基準時間生成レジスタ79をマイクロコンピュータ1に内蔵したことである。この基準時間生成レジスタ79の1ビットは基準時間生成ビットとされ、そのビットが基準パルスPLS1としてパルス幅比較回路78に供給される。基準時間生成ビットはバス15を介してCPU2により設定される。CPU2が基準時間生成ビットに“1”をセットしてから、所定のサイクル数だけCPU2にNOP命令を実行させ、其の後、基準時間生成ビットを“0”にクリアすれば、前記NOP命令の連続実行時間に呼応する正極性パルス状の基準パルスPLS1を生成することができる。これを外部からの基準パルスPLSに代えて利用する。その他の構成は図15と同じであり同一機能を有する回路要素には同一符号を付してその詳細な説明を省略する。
図19には図18において分周比トリミング調整用の制御データを取得する処理の全体的なフローチャートが例示される。
分周比トリミング調整用の制御データを取得するとき、評価装置18は、分周比トリミング調整処理のためのプログラムをRAM4の所定エリアにダウンロードする(S11)。そして、CPU2に分周比トリミングプログラムの実行を指示する(S12)。CPU2はトリミングプログラムを実行し、先ず、分周比トリミングレジスタ81に例えば最大パルス幅を指定する制御データをセットする(S13)。そしてCPU2は基準時間生成ビットに“1”をセットし(S14)、分周部80に分周動作を開始させると共に所定のサイクル数だけNOP命令を実行し(S15)、其の後、基準時間生成ビットを“0”にクリアする(S16)。これにより、前記NOP命令の連続実行時間に呼応する正極性パルス状の基準パルスPLS1を生成することができる。パルス幅比較回路78では、分周部80で生成される比較パルスφ/mの正極性パルス幅(分周回路出力幅)が基準パルスPLS1の正極性パルス幅(基準時間)よりも小さいか否かを判定する(S17)。大きければ判定レジスタ77に“0”をセットし(S18)、小さくければ判定レジスタ77に“1”をセットする(S19)。CPU2は、判定レジスタ77の値を判定し(S20)、“0”なら分周比トリミングレジスタ81の制御データを更新して、比較パルスφ/mのパルス幅を1段階狭め(S21)、上記判定動作を繰り返す。判定動作により“1”を判別すると、判定処理のループを抜け、分周比トリミング調整用の制御データを取得する処理を終了する。
マイクロコンピュータ1が分周比トリミング調整用の制御データを取得した後、マイクロコンピュータ1に分周比トリミングレジスタ81の制御データをフラッシュメモリ5のリペア及びトリミングマットRmatの所定エリアに書込みをする指示を与える。その指示を受けると、CPU2は前記トリミング処理プログラムの対応する処理ルーチンを実行し、分周比トリミングレジスタ81の制御データをフラッシュメモリ5のデータラッチ回路21にラッチさせ、データラッチ回路21の前記データをリペア及びトリミングマットRmatの所定エリアに書込みする。
図20には前記分周比トリミングレジスタ81の設定値とそれによって得られる分周比都の関係が例示される。図20に従えば、分周比トリミングレジスタ81は3ビットであり、其の設定値に応じて分周比は1/64〜1/36に変化される。したがってトリミング後の書込み制御クロックφ/nとして周波数1.0MHzを目標値とする場合を想定するとき、図20には、リングオシレータ発振周波数と分周比との関係が例示列挙されている。
図21には基準時間生成ビットで規定される基準パルスPLS1と、比較パルスφ/mのパルス幅の関係が例示される。トリミング処理の最初は(A)のように、分周比トリミングレジスタ81の設定値は(0,0,0)にされ、比較パルスφ/mのパルス幅は最大にされる。(B)にはトリミングレジスタの設定値を順次更新して、比較パルスφ/mのパルス幅が基準パルスPLS1のパルス幅よりも小さくなった直後の状態が例示される。
図22には前記分周部80の詳細が例示される。図23には図22の回路の動作タイミングチャートが例示される。分周部80は、カウンタ82を主体に構成され、分周比(パルス幅)を調整するためのデコーダ83及び一致判定回路84を有する。カウンタ82はクロック信号φの2相クロックφ1、φ2をカウントするφ/2〜φ/128の7段のカウンタ段を有する。ここでは、例えばφ/64をφ/n=φ/mと考える。デコーダ83は分周比トリミングレジスタ81の制御データをデコードし、その制御データに応ずる一つの信号を活性化して出力する。一致判定回路84はデコーダ83から出力される活性化信号の位置が、クロック信号φの第1サイクルから第16サイクルまでのどのサイクルの位置に一致するかを判定する。判定結果は、φ2同期でラッチされ、φ/2、φ/4、φ/8のカウンタ段に計数値のリセット信号として与えられる。図23の例では、クロック信号φの第13サイクルがリセットタイミングとされ、そこで、φ/2、φ/4、φ/8のカウンタ段の計数値がリセットされ、その状態が上位カウンタ段に伝達される。この結果、φ/16のクロック信号の1サイクルが更新され、φ/32のクロック信号の半サイクルが更新され、φ/64は更新されたφ/32のサイクルに依存し、φ/128は更新されたφ/64のサイクルに依存して、φ/n、φ/mのパルス幅が微調整される。要するに、φ/n、φ/mの分周比が微調整される。
図24には図18の構成の別の変形例に係るマイクロコンピュータ1Fが示される。図18との相違点は、発振周波数に対するトリミング機能付きの発振回路10Aを採用し、制御データを周波数トリミングレジスタ100に設定するようにした点である。周波数をトリミング可能にするには、リングオシレータの発振ループに挿入する容量素子などの遅延素子の数もしくは遅延量を、トリミングレジスタ100内の制御データの値に応じて変更可能にすればよい。
《フラッシュッメモリチップ》図25には本発明の半導体集積回路の一例であるフラッシュメモリチップが例示される。同図に示されるフラッシュッメモリチップ5Aは単体のフラッシュッメモリを構成する。フラッシュッメモリチップ5Aは基本的な構成として図2と同様の、メモリセルアレイ20、DLA21、SAA22、WDEC23、WEDEC24,CDEC25、CSW26、DBUF27、ABUF28を有する。ABUSはアドレスバス、DBUSはデータバス、CBUSはコントロールバスを意味する。
フラッシュッメモリチップ5Aは昇圧回路6A及びトリミング回路7Aを有する。昇圧回路6Aは消去及び書込みに必要な高電圧Vppを生成してタイミングコントローラ50に与える。トリミング回路7Aはその高電圧Vppを微調整するための回路である。トリミング回路7Aによるトリミング調整に利用される期待電圧Vrefを入力するテスト用ボンディングパッドのような電極パッドPad1が設けられ、また、テストモードを指示するテスト用ボンディングパッドのような電極パッドPad2が設けられている。
タイミングコントローラ(TCNT)50はコントロールバスバッファ(CBUF)51を介してデータバスDBUSから消去及び書込み動作の制御情報が設定され、コントロールバスCBUSからバスコマンド等が供給される。要するに、タイミングコントローラ50は、それに与えられる制御情報及びバスコマンドに応答して、リード動作、消去動作、及び書込み動作等を行うための制御手順にしたがって内部タイミング信号及び書込み電圧や消去電圧などの動作電圧を生成して各部に供給する。前記書込み電圧や消去電圧などの動作電圧は昇圧回路6Aで生成された高電圧Vppを利用して生成される。
図26には電圧トリミングのための回路構成が例示される。トリミング回路7A及び昇圧回路6Aの基本的な構成は図4と同じであり、それと同一機能を有する回路要素には同一符号を付して其の詳細な説明を省略する。相違点は、図4のCPU2に代えて専用シーケンサ76とフラッシュヒューズ回路52を搭載した点である。この専用シーケンサ76は、判定レジスタ71の値を参照しながらトリミングレジスタ66上で制御データを決定し、前記決定された制御データを前記トリミングレジスタ66からフラッシュヒューズ回路52に格納する制御回路としての機能を実現する処理に特化した、例えばハードワイヤードロジックにより構成される。前記専用シーケンサ76及びフラッシュヒューズ回路77はタイミングコントローラ50に内蔵されている。前記専用シーケンサ76による処理は電極パッドPad2から与えられるテストモードの指示などに応答して開始される。前記フラッシュヒューズ回路52はフラッシュメモリセルのような電気的に書込み可能な不揮発性記憶素子によって構成される。コントロールバスCBUSなどを介してリセット信号が入力され、或は電源が投入されると、フラッシュヒューズ回路52に記憶された制御データがトリミングレジスタにイニシャルロードされるようになっている。これにより、それ以降、前記電圧トリミング回路7Aは、イニシャルロードされた制御データにより、予め回路特性に合わせ込みされた高電圧Vppをタイミングコントローラ50に供給可能になる。
図27にはトリミング調整用の制御データを取得する処理の全体的なフローチャートが例示される。評価装置18は、期待電圧Vrefをボンディングパッドのような電極パッドPadを介して比較回路70に供給し(S21)、専用シーケンサ76にトリミング調整処理のための処理の開始を指示する。専用シーケンサ76は、先ず、電圧発生制御レジスタ61に動作開始データをセットし(S22)、トリミングレジスタ66に最小電圧を指定する制御データをセットする(S23)。専用シーケンサ76は昇圧部60による昇圧動作の安定を待つ(S24)。この間、比較回路70は生成される昇圧電圧Vppと期待電圧Vrefを比較し、Vref>Vppであれば判定レジスタ71に“0”がセットされ、Vref≦Vppであれば判定レジスタ71に“1”がセットされる。専用シーケンサ76は、判定レジスタ71の値を判定し(S25)、“0”ならトリミングレジスタ66の制御データを更新して昇圧電圧Vppに次に高い電圧を指定し、昇圧部60による昇圧動作の安定を待ち(S26)、上記判定動作(S25)を繰り返す。判定動作(S25)により“1”を判別すると、判定処理のループを抜け、トリミング調整用の制御データを取得する処理を終了する。調整用の制御データを取得した後、専用シーケンサ76はトリミングレジスタ66の制御データをフラッシュヒューズ回路52に書込みする。
フラッシュッメモリチップ1は、トリミングレジスタ66、比較回路70及び専用シーケンサ76を有するから、トリミング調整用の制御データの取得処理を自己完結的に行うことができる。従って、評価装置18に複数個のフラッシュッメモリチップを接続して、それらを並列動作させて能率的にトリミング調整処理を行うことができる。
図28には図26の構成の別の変形例に係るフラッシュメモリチップ5Bが示される。図26との相違点は専用シーケンサ76が設けられていない点である。前記電圧発生制御レジスタ61、トリミングレジスタ66、判定レジスタ71、及びフラッシュヒューズ回路52は内部バス51を介して評価装置18に接続される。前記専用シーケンサ76の機能は評価装置18が担うことになる。この時のトリミング調整用の制御データを取得する処理の全体的なフローチャートは図29のようになる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、昇圧電圧トリミング用の制御データを格納する不揮発性メモリはプログラムとデータを格納する不揮発性メモリとは異なる別の不揮発性記憶手段であってよい。例えば電気的にプログラム可能な電気ヒューズもしくは電気的に絶縁破壊可能なアンチヒューズであってもよい。不揮発性記手段は所謂フラッシュメモリに限定されず、強誘電体メモリ等の別の記憶形式のメモリであってもよい。また、トリミング対象とされる回路は昇圧回路や分周回路に限定されずバイアス回路等であってもよい。また、不揮発性記憶素子もしくは不揮発性記憶手段は2値の情報記憶を行うものに限定されず、4値以上の情報記憶を行うものであってもよい。