JP2009004038A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2009004038A
JP2009004038A JP2007164818A JP2007164818A JP2009004038A JP 2009004038 A JP2009004038 A JP 2009004038A JP 2007164818 A JP2007164818 A JP 2007164818A JP 2007164818 A JP2007164818 A JP 2007164818A JP 2009004038 A JP2009004038 A JP 2009004038A
Authority
JP
Japan
Prior art keywords
data
flash memory
trimming
control
semiconductor integrated
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.)
Granted
Application number
JP2007164818A
Other languages
English (en)
Other versions
JP5052221B2 (ja
Inventor
Koichi Kawano
光一 川野
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.)
New Japan Radio Co Ltd
Original Assignee
New Japan Radio Co Ltd
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 New Japan Radio Co Ltd filed Critical New Japan Radio Co Ltd
Priority to JP2007164818A priority Critical patent/JP5052221B2/ja
Publication of JP2009004038A publication Critical patent/JP2009004038A/ja
Application granted granted Critical
Publication of JP5052221B2 publication Critical patent/JP5052221B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)

Abstract

【課題】 不揮発性メモリを効率的に使用することができ、かつ書き換えの利便性を向上させた半導体集積回路を提供する。
【解決手段】 マイクロコントローラとレジスタと、プログラムデータとトリミングデータとが混在して格納されるフラッシュメモリと、プログラムデータやトリミングデータの書込みあるいは読出しを制御する制御回路とを備えた半導体集積回路において、フラッシュメモリの初期化要求の信号を検知し、初期化前に、フラッシュメモリからトリミングデータを読出し、レジスタに書込む制御を行うとともに、フラッシュメモリの初期化後に、レジスタのトリミングデータを読出し、フラッシュメモリに書込む制御を行う制御回路を備える。
【選択図】 図1

Description

本発明はマイクロコントローラと不揮発性メモリとその制御回路とを備えた半導体集積回路に関し、特に、データの書込みあるいは読出しを自動的に行う制御回路を備えた半導体集積回路に関する。
無線やオーディオ等のアナログ回路とマイクロコントローラや各種メモリ等のデジタル回路を一つの半導体集積回路にまとめて実装する場合、製造プロセスのばらつきによってアナログ回路の特性が変動し、特性が劣化することがある。そのため、予め、アナログ回路に抵抗やコンデンサ等の値を調整するトリミング回路を形成しておき、トリミングによりアナログ回路の特性改善を図っている。
図9は従来のこの種の半導体集積回路の説明図である。半導体集積回路100には、トリミング回路を含むアナログ回路200とマイクロコントローラ10や各種記憶装置等を含むデジタル回路300が実装されている。デジタル回路300内のマイクロコントローラ10は、ブロック毎にデータの消去、書込みが可能な不揮発性メモリであるフラッシュメモリ20へのアクセス制御、プログラミング装置400からフラッシュメモリ20へのプログラムの書込み制御、トリミング用のレジスタ40、42の制御等を行っている。フラッシュメモリプログラミング回路22は、プログラミング装置400から送られてくるプログラムやデータをフラッシュメモリ制御回路用データに変換するインターフェース回路であり、フラッシュメモリ制御回路用データは、フラッシュメモリ20のプログラム領域30及びデータ領域31に記憶(格納)される。
図10はトリミング回路の一例であり、トリミング制御回路45としてトランジスタを使った抵抗50のトリミング回路を示す。図10に示すように各抵抗50間にトランジスタ52が接続されており、レジスタ40(「レジスタ1」と表示)の端子54〜58から各トラジスタ52のゲートに所定のゲート電圧を印加することにより、各トランジスタ52をオン/オフ制御し、端子47と端子48に必要な抵抗値を生成し、アナログ回路200の特性改善を図ることができる。
同様に図11は別のトリミング回路の一例であり、トランジスタ52を使ったコンデンサ51のトリミング回路を示す。図11に示すように各コンデンサ51にトランジスタ52が接続されており、レジスタ42(「レジスタ2」と表示)の端子54〜58から各トラジスタ52のゲートに所定のゲート電圧を印加することにより、各トランジスタ52をオン/オフ制御し、端子47と端子48に必要なコンデンサ値を生成し、アナログ回路200の特性改善を図ることができる。
この種の半導体集積回路100では、半導体集積回路の製造が終わると、トリミング調整装置500を使い、アナログ回路200の特性試験を行い、アナログ回路200が正常に動作するかを確認する。アナログ回路200の特性が規定値からずれている場合、アナログ回路200の特性が規定値となるようにレジスタ40、42の値を調整し、これをトリミングデータとしてレジスタ40、42に記憶される。
ここで、通常のレジスタは半導体集積回路に供給する電源を遮断するとトリミングデータが消えてしまう揮発性メモリであるので、このトリミングデータを不揮発メモリに保持しておく必要がある。図9に示す回路では、後述するフラッシュメモリの書込み工程に従い、フラッシュメモリ20のトリミングデータ領域32にトリミングデータ33、34が保持されている。そして半導体集積回路を使用する時(電源が投入される毎)に、フラッシュメモリ20に記憶されたトリミングデータをレジスタ40、42に転送し、アナログ回路の特性が規定値となるようにしている。例えば、特許文献1の段落番号0070にフラッシュメモリに記憶されたトリミングデータをレジスタに転送する記述がある。また、マイクロコントローラのプログラムの一部にトリミングデータを格納しておき、プログラムを実行することで、トリミングデータをレジスタに設定する方法もある。
フラッシュメモリの書込み工程は、次のように行われる。図12は、フラッシュメモリ20にトリミングデータとマイクロコントローラ10のプログラムデータを書込むフローチャートである。半導体集積回路100が完成すると、アナログ回路の特性評価を行い(工程81)、アナログ回路の特性が規定値を満たしていることを確認する。ここで特性値が規定値を満たしていない場合は、トリミング用レジスタの値(トリミングデータ)を変更して(工程82)、再度アナログ回路の特性評価を行う(工程81)。アナログ回路の特性が規定値を満たすトリミングデータが見つかると、トリミングデータを確定する(工程83)。次に、フラッシュメモリ20の初期化を行い(工程84)、フラッシュメモリ20へ工程83で確定したトリミングデータの書込みを行う(工程85)。一般的にはこの段階で、半導体集積回路100がユーザーに提供される。
ユーザーに提供された半導体集積回路100は、ユーザーの仕様に合わせて、プログラミング装置2によってフラッシュメモリ20のプログラム領域30にマイクロコントローラ10を制御するためのプログラムの書込みが行われる(工程95)。さらにデータ領域があれば、データ領域31にデータ書込みも行われる(工程96)。ここで、破線90で囲まれた処理は、一般的には、ユーザーが行う処理を示している。一旦書込んだプログラムを書換える場合は、半導体集積回路内あるいは外付けの記憶装置に、一旦トリミングデータを読み出し(工程91)、フラッシュメモリを初期化(工程93)した後、記憶装置からフラッシュメモリへトリミングデータの書込みを行うことになる(工程94)。
特開2002−74997号公報
以上のように従来の半導体集積回路では、トリミングデータをフラッシュメモリ20のトリミングデータ領域に保持していた。図13に従来のフラッシュメモリのデータ構成を示す。例えば64Kバイトのフラッシュメモリ20の場合、マイクロコントローラ10のプログラム領域30、プログラム以外のデータ領域31、トリミングデータ領域32から構成され、左側に示す値は、アドレスを示している。一般的にフラッシュメモリは、256バイトや512バイトと一定のサイズで消去される。そのため、トリミングデータが数バイトの場合であっても、トリミングデータ領域を一定サイズ確保する必要があり、プログラム領域30やデータ領域31が相対的に小さくなるという問題がある。
また、フラッシュメモリ20を効率的に使用するため、トリミングデータ領域32とプログラム領域30を区分させず、混在させて記憶させる場合がある。その場合、プログラムデータの書換えが必要となったときには、外付けの記憶装置にトリミングデータ33、34を一旦読み出し、プログラム内にその読み出したトリミングデータを書込んだプログラムとトリミングデータをフラッシュメモリに書込むという工程が必要となる。
さらにまた、フラッシュメモリ20に書込まれているトリミングデータ33、34を外部から読み出せない構造としている場合、予めトリミングデータを別の記憶装置に記憶しておき、プログラムの書換え時に、そのトリミングデータを書込む必要がある。多数の半導体集積回路毎にそれぞれ異なるトリミングデータを管理することは、非常に煩雑になるという問題があった。さらにトリミングデータが不明となった場合は、再度アナログ回路の特性評価を行い、図12に示すようにトリミングデータの再検出を行う(工程92)必要があるという問題があった。
以上のように従来の半導体集積回路では、不揮発性メモリを効率的に使用できないという問題や、不揮発性メモリの書き換えが煩雑であるという問題があった。本発明はこのような問題を解決し、不揮発性メモリを効率的に使用することができ、かつ書き換えの利便性を向上させた半導体集積回路を提供することを目的とする。
上記目的を達成するため、本願請求項1に係る発明は、マイクロコントローラと、揮発性メモリと、前記マイクロコントローラを制御するプログラムデータと前記揮発性メモリに書込む制御データとが混在して格納されるブロック毎にデータの消去、書込みが可能な不揮発性メモリと、前記プログラムデータ及び前記制御データの書込みあるいは読出しを制御する制御回路と、あるいはさらに別の記憶装置とを備えた半導体集積回路において、前記制御回路は、前記不揮発性メモリの初期化要求の信号を検知し、初期化前に、前記不揮発性メモリから前記制御データを読出し、該読出した制御データを前記揮発性メモリあるいは前記別の記憶装置に書込む制御を行うとともに、前記不揮発性メモリの初期化後に、前記揮発性メモリあるいは前記別の記憶装置から前記制御データを読出し、該読出した制御データを前記不揮発性メモリに書込む制御を行うことを特徴とする。
本願請求項2に係る発明は、請求項1記載の半導体集積回路において、前記制御回路は、初期化後に前記制御データが書込まれた前記不揮発性メモリに前記プログラムデータを書込む際、前記制御データが書込まれた前記不揮発性メモリのアドレスをスキップして前記プログラムデータを書込む制御を行うことを特徴とする。
本願請求項3に係る発明は、請求項1又は2いずれか記載の半導体集積回路において、 前記制御回路は、前記半導体装置の電源投入の信号を検知し、前記不揮発性メモリから前記制御データを読出し、該読出した制御データを前記揮発性メモリに書込む制御を行うことを特徴とする。
本発明の半導体集積回路の制御回路は、半導体集積回路の不揮発性メモリの初期化前あるいは電源投入後に、その信号を検知し、不揮発性メモリに格納されたトリミングデータなどの制御データを、自動的に揮発性メモリ等に書込む制御を行う。また不揮発性メモリの初期化後に、その信号を検知し、制御データを自動的に揮発性メモリ等から読出し、不揮発性メモリに書込む制御を行う構成となっている。従って、半導体集積回路の電源投入時、不揮発性メモリの初期化やプログラムデータの書換え時に、ユーザーは何ら操作を要求されないので、煩雑さがなくなるという利点がある。
制御データは所定のアドレスに自動的に書込まれるので、ユーザーの操作ミスによって制御データが誤って消去され、あるいは書換えられる可能性がないという利点もある。
制御データは半導体集積回路内部に保持されており、外部の記憶装置に読出されることはないので、制御データの秘匿性が保たれるという利点もある。
フラッシュメモリのひとつの消去ブロックに制御データとプログラムデータとを混在させることができるので、フラッシュメモリの使用効率が向上するという利点もある。
本発明の半導体集積回路は、マイクロコントローラと、揮発性メモリと、プログラムデータと制御データを格納されている不揮発性メモリと、不揮発性メモリの書込みや読出しを制御する制御回路を備えている。あるいはさらに別の記憶装置を備えている。本発明の制御回路は、半導体集積回路への電源投入あるいは不揮発性メモリの初期化を行う際、それに伴い発生する信号を検知し、不揮発性メモリから制御データを読出し、制御データを保持するための揮発性メモリに、自動的に書込む構成となっている。また不揮発性メモリの初期化が完了した際、それに伴い発生する信号を検知し、揮発性メモリから制御データを読出し、不揮発性メモリに書込むように制御している。そして制御データを記憶したアドレスをスキップしてプログラムデータを書込む構成となっている。以下、本発明の半導体集積回路について制御データがトリミングデータである場合を例に取り、詳細に説明する。
図1は本発明の半導体集積回路の構成を示す説明図である。半導体集積回路100には、トリミング回路を含むアナログ回路200とマイクロコントローラ10等を含むデジタル回路300が実装されている。デジタル回路300内のマイクロコントローラ10は、フラッシュメモリ20へのアクセス制御、プログラミング装置400からフラッシュメモリ20へのプログラムの書込み制御、トリミング用のレジスタ40、42の制御を行う。フラッシュメモリプログラミング回路22は、プログラミング装置400から送られてくる初期化の要求、プログラムやデータをフラッシュメモリ制御回路用データに変換するインターフェース回路である。リセット検出回路15は、外部からのリセット信号や、電源のオン/オフを検出する。
アナログ回路200には、図10、図11で説明した構造のトリミング回路を備えており、アナログ回路200の特性が期待値となるようにトリミングデータが、レジスタ40、42に保持されている。なおトリミング回路は、トリミング対象を抵抗やコンデンサとする場合に限らず、オペアンプのゲイン調整や電圧調整回路等のアナログ回路の特性をレジスタで制御できるものを用いることができる。
図2は、本発明のフラッシュメモリ20のデータ構造を示す図である。図13に示した従来のフラッシュメモリのデータ構造と比較して、トリミングデータ33、34をプログラム領域30に挿入している点が異なる。プログラム領域30に挿入することにより、図13に示したトリミングデータ領域32が不要となり、フラッシュメモリの容量を削減できる。図2において、左側に示す値はフラッシュメモリのアドレスを示している。
トリミングデータ33(「トリミングデータ1」と表示)とトリミングデータ34(「トリミングデータ2」と表示)は、それぞれ「T01」と「T02」と指定されたアドレスに書込まれている。アドレス「T01」とアドレス「T02」は半導体集積回路により固定されたアドレスを使用する。ここで、マイクロコントローラ10を制御するプログラムを実行する場合には、トリミングデータが書かれている領域をジャンプする必要がある。そこで本発明では図2で示すように、トリミングデータが書かれたアドレス「T01」とアドレス「T02」をジャンプするため、アドレス「A01」に「JMP A02」37という命令を記述し、アドレス「A02」に無条件でジャンプするようにプログラムを作成する。このように特定領域のジャンプ処理は、プログラムのコンパイラの設定で容易に実現できるので、マイクロコントローラを制御するためのプログラムを作成する場合に、特別意識する必要がない。
以上のように、フラッシュメモリ20のプログラム領域30に、トリミングデータ33、34を容易に組み込むことが可能となる。なお、本発明では、後述するように自動的にトリミングデータをトリミングレジスタに書込む構成となっているので、マイクロコントローラを制御するためのプログラム中に、トリミングデータをトリミングデータ用のレジスタに書込むプログラムを組み込む必要はない。
次に、図3のフローチャートを用いて、図1に示す半導体集積回路におけるフラッシュメモリにトリミングデータとプログラムデータを書込む工程について説明する。また図4に、図3に示すフラッシュメモリの書込み工程において、フラッシュメモリ内部のデータ構造を示している。
まず、アナログ回路の特性評価を行い(工程81)、アナログ回路の特性が規定値を満たしていることを確認する。ここで、規定値からずれている場合には、トリミング用レジスタの値(トリミングデータ)を変更して(工程82)、再度アナログ回路の特性評価を行う(工程81)。アナログ回路の特性が規定値を満たすトリミングデータが見つかると、規定値を満たすトリミングデータを確定する(工程83)。
次にフラッシュメモリ20の初期化を行う(工程84)。初期化されたフラッシュメモリの構造を図4(1)示す。全てFFhとなる。
初期化されたフラッシュメモリ20に、トリミングデータの書込みを行う(工程85)。この工程では、図1に示すプログラミング装置400から工程83で確定したトリミングデータがフラッシュメモリ20に書込まれる。フラッシュメモリの状態を図4(2)に示す。アドレス「T01」とアドレス「T02」にトリミングデータ33及びトリミングデータ34が書込まれている。
次に、初期プログラムを書込む(工程86)。初期プログラムの書込みを終えたフラッシュメモリの状態を図4(3)に示す。ここで、「INST00」35、「INST01」36・・・はそれぞれアドレス「0000H」、アドレス「0001H」・・・に書込まれたマイクロコントローラの命令コードである。アドレス「A01」からアドレス「A02」へのJMP命令「JMPA02」37は、次にあるトリミングデータ37、38をマイクロコードとして実行しないためにスキップするためのものであり、これは前述したようにコンパイラの設定等で行えばよい。
初期プログラムの書込みまで終了すると、半導体集積回路の電源を一旦遮断し、ユーザーに提供される。図3に示す破線内の領域90は、ユーザーが行う処理を示している。
ユーザーが半導体集積回路に再度電源を投入すると、後述するように、フラッシュメモリ制御回路21には、電源がオン時またはリセット解除を検出した時に、フラッシュメモリ20のアドレスT01とアドレスT02に書込まれているトリミングデータ33とトリミングデータ34をそれぞれレジスタ40とレジスタ42に転送し、その後にマイクロコントローラのリセット解除を行う。このように電源投入直後に、マイクロコントローラ10のリセットが解除するまでにトリミングデータ33、34がレジスタ40、42に書込まれ、その後初期プログラムが実行される。
次に、マイクロコントローラを制御するプログラムを書換える場合について説明する。まず、フラッシュメモリ20の初期化を行う(工程91)。その後、レジスタ40、42に記憶されているトリミングデータ33、34をフラッシュメモリ20のアドレスT01とアドレスT02に自動的に書込む(工程92)。
プログラミング装置400から、フラッシュメモリプログラミング回路22を介して、フラッシュメモリ20に新しいプログラムを書込む(工程95)。このとき、フラッシュメモリ制御回路21は、フラッシュメモリ20のアドレスが「T01」とアドレス「T02」に一致したとき、先に書込んだトリミングデータ33、34が書き換わらないように、プログラムの書込みをスキップする。その結果、第4図(4)に示すように、新しいプログラムとトリミングデータが書込まれた状態となる。ここで、「INST 10」35、「INST 11」36等は、それぞれのアドレスにある新しいプログラムのマイクロコントローラ用の命令コードを示している。さらにプログラム以外のデータ領域がある場合は、データ領域31にデータの書込みも行われる(工程96)。
以下、上記のフローを実現するための本発明の半導体集積回路の主要部の具体例とその動作タイミングの一例について図5〜図8を用いて説明する。
図5はフラッシュメモリ制御回路21を中心に本発明の半導体集積回路の主要部を詳細に示した図である。フラッシュメモリ制御回路21には、制御信号コントローラ23とアドレスコントローラ24とデータセレクタ25が含まれている。
制御信号コントローラ23は、フラッシュメモリプログラミング回路22からの「MODE」信号69、リセット検出回路15からのリセット解除信号「RESETI」16、マイクロコントローラ10からのリード信号「RDC」74、ライト信号「WEC」75、アドレスコントローラ24からの「TRWE」信号76の各入力状態から、フラッシュメモリへのリード信号「RDF」64、ライト信号「WEF」65、消去信号「ERASE」66、マイクロコントローラ10へのリセット解除信号「RESETC」17、レジスタ40へのライト信号「WET1」78、レジスタ42へのライト信号「WET2」79、アドレスコントローラ24への「TRWER」信号77の出力状態を制御する。
アドレスコントローラ24は、マイクロコントローラ10からのアドレス信号「ADRC」71、フラッシュメモリプログラミング回路22からのアドレス信号「PA」68、および制御信号コントローラ23からの「TRWER」信号77により、フラッシュメモリのアドレス信号「ADRF」61を生成する。ここで、「TRWE」信号76は、アドレス信号「PA」68がフラッシュメモリ20上のトリミングデータのアドレス「T01」とアドレス「T02」が一致したことを示す信号であり、「TRWER」信号77は、フラッシュメモリ20上のトリミングデータのアドレス「T01」とアドレス「T02」を選択する信号である。
セレクタ25は、制御信号コントローラ23の「SD」信号により制御され、フラッシュメモリ20に書かれるデータ「PD」67、レジスタ40のデータ「TREG1」41、レジスタ42のデータ「TREG2」43を切替えるために使用する。図5では、マイクロコントローラ10からフラッシュメモリ20への書込みは明示していないが、フラッシュメモリ制御回路21でタイミングを生成すれば容易に実現できる。
図6にフラッシュメモリプログラミング回路22からフラッシュメモリ20の初期化、トリミングデータの書込み及びプログラムデータの書込みのタイミング図を示す。「MODE」信号69は、フラッシュメモリプログラミング回路22からの制御信号で、フラッシュメモリの消去信号「ERASE」66、トリミングデータの書込み信号「TRGWT」77、プログラムの書込み信号「PRGWT」からなる。図6のS1からS13は、タイミングのステートを示す。
図6のS1において、図5のフラッシュメモリプログラミング回路22からフラッシュメモリの消去信号「ERASE」66が制御信号コントローラ23に入力されると、制御信号コントローラはフラッシュメモリのERASE処理用の制御信号タイミングを生成し、フラッシュメモリの全部または指定した一定の領域のデータが初期化される。
次に、図6のS2、S3において、図5のフラッシュメモリプログラミング回路22からトリミングデータの書込み信号「TRGWT」が制御信号コントローラ23に入力されると、制御信号コントローラ23はフラッシュメモリ上のトリミングデータアドレス「TA1」、「TA2」にそれぞれのトリミングデータ「TD1」、「TD2」を書込む。
次に、図6のS4からS13は、プログラムをトリミングデータと同じ領域に書込む場合のタイミングを示す。図5のフラッシュメモリプログラミング回路22からプログラムの書込み信号「PRGWR」が制御信号コントローラ23に入力されると、フラッシュメモリプログラミング22からフラッシュメモリのアドレス「PA」68とそのプログラムデータ「PD」67が出力され、アドレス「PA」68はアドレスコントローラ24を介してフラッシュメモリにフラッシュメモリのアドレス信号「ADRF」61を出力する。プログラムデータ「PD」68はセレクタ25で「1」が選択されフラッシュメモリに信号「DIF」63を出力される。
ここで、フラッシュメモリのアドレス「PA」68がトリミンデータのアドレス「TA1」、「TA2」と同じ場合は、アドレスコントローラ24は「TRWER」信号77をアサートする。制御信号コントローラ23は「TRWE」信号76を受け取った場合は、そのアドレスはトリミングデータのアドレスなので、プログラムを書込まないように、図6のS8とS9において、フラッシュメモリ上のライト信号「WEF」65をネゲートする。以上のように制御することにより、トリミングデータとプログラムの書込みを制御することが可能になる。
図7は、リセット検出回路15がリセット信号を解除して、フラッシュメモリ20上のトリミングデータをレジスタ40およびレジスタ42に書込むタイミングと、マイクロコントローラ10のリセット信号「RESETC」17を解除して、マイクロコントローラのプログラム実行のタイミング図を示す。図7のS1からS13は、タイミングのステートを示す。
図7のS1は、外部リセットもしくは電源オフの状態であり、リセット検出回路から、「ESETI」号16がアサート(Lowアクティブ)されている状態を示す。S2において「ESETI」がネゲートされると、図5の制御信号コントローラ23は、フラッシュメモリ20に記録されているトリミングデータ「TD1」、「TD2」をフラッシュメモリから読み出して、ライト信号「WET1」78、「WET2」79の信号をアサートしてレジスタ40とレジスタ42にトリミングデータを書込む。S2とS3の期間は、「RESETC」信号17はアサート(Lowアクティブ)状態であり、マイクロコントローラはリセット状態である。
次にS4において、トリミングレジスタへトリミングデータの書込みが終了すると、制御信号コントローラ23は、「RESETC」信号17をネゲートして、マイクロコントローラのリセットを解除する。
マイクロコントローラへのリセットが解除されるとマイクロコントローラは、アドレス信号「ADRC」71を出力し、アドレスコントローラを介してフラッシュメモリへアドレス信号「ADRF」61を出力し、プログラムデータ「DOF」62を読み込み、図7のS5からS13において、プログラムを実行する。プログラム実行においては、トリミングデータをジャンプする命令が組み込まれているので、間違ってトリミングデータをプログラムデータとして読出されることはない。
図8にフラッシュメモリプログラミング回路22からフラッシュメモリを消去して、レジスタ40およびレジスタ42に書かれているトリミングデータをフラッシュメモリに書込むタイミングと、新しいプログラムの再書込みのタイミング図を示す。
「MODE」信号69は、フラッシュメモリプログラミング回路22からの制御信号で、フラッシュメモリの消去とトリミングデータの自動書込みの「ERASETRG」信号、プログラムの書込み「PRGWT」信号を発生する。図8のS1からS13は、タイミングのステートを示す。
図6に示した手順によりフラッシュメモリのアドレス「TA1」、「TA2」に書込まれたトリミングデータは、図7に示した手順で図5のレジスタ40とレジスタ42に既に書込まれている。
この状態で、図5のフラッシュメモリプログラミング回路22から「ERASETRG」信号を送ると、制御信号コントローラ23は、図8のS1に示すように、フラッシュメモリに対して初期化のタイミングを生成し、その初期化が終わると、S2とS3のタイミングで、図5のレジスタ40とレジスタ42に書込まれているトリミングデータを、セレクタ25で選択して、フラッシュメモリ上のアドレス「TA1」、「TA2」にトリミングデータ「TD1」、「TD2」を書込む。ここで、図8の「TREWR」信号は、制御信号コントローラ23が、アドレスコントローラ24に対して、フラッシュメモリのアドレス「TA1」、「TA2」を生成するタイミングを制御する信号である。
図8のS4からS13における、新しいプログラムの再書込み手順は、図6のS4からS13におけるプログラムの書込み手順と同じである。
この後は図7の手順に戻ってリセット操作を行えば、トリミングデータの値は維持されたままで、再書込みされた新しいプログラムが実行される。
以上のようにフラッシュメモリを制御することにより、一度、フラッシュメモリに保持された半導体集積回路のトリミングデータを意識することなく、フラッシュメモリの初期化、プログラム等のデータの書込みが可能になる。
なお、ここに示したのは本発明の一つの実施例であり、請求の範囲を逸脱することなく種々の改変か可能である。本実施例ではトリミングデータを例にとって説明したが、トリミングデータに限らず、集積回路のIDやシステム情報等、継続して使用する必要のあるデータであれば、同様の取り扱いにより同様の効果を得ることが可能である。
また、トリミングデータをユーザーに対して秘匿したい場合、トリミングデータを外部に読み出すことができないように設定する必要があるが、本発明は半導体集積回路内部でデータの読出し、書込みを行うため、秘匿性を保つことができる。
また、本実施例ではフラッシュメモリ上のトリミングデータを電源投入またはリセット直後にトリミングレジスタに書込む例を示したが、フラッシュメモリを初期化する前に、フラッシュメモリ上のトリミングデータを半導体集積回路内の汎用レジスタや内部RAM等の記憶装置に記憶させておき、初期化後に書き戻すことも可能である。
本発明の半導体集積回路の構成を示す説明図である。 本発明のフラッシュメモリのデータ構造を示す図である。 本発明のフラッシュメモリにトリミングデータとプログラムデータを書込む工程のフローチャートである。 図3に示すフラッシュメモリの書込工程の各工程のおけるメモリのデータ構成を示す図である。 本発明の半導体集積回路の主要部を詳細に示すた図である。 本発明の半導体集積回路おけるトリミングデータ及びプログラムデータの書込のタイミング図である。 本発明の実施例におけるプログラムの実行を示すタイミングチャートである。 本発明の実施例におけるプログラムデータの書込みを示すタイミングチャートである。 従来のこの種の半導体集積回路の説明図である。 トリミング回路の一例である。 トリミング回路の別の一例である。 フラッシュメモリにトリミングデータとプログラムデータを書込む工程のフローチャートである。 従来のフラッシュメモリのデータ構造を示す図である。
符号の説明
100:半導体集積回路、200:アナログ回路、300:デジタル回路、400:プログラミング装置、500:トリミング調整装置、
10:マイクロコントローラ、11:揮発メモリ、15:リセット検出回路、
20:フラッシュメモリ、21:フラッシュメモリ制御回路、22:フラッシュメモリプログラミング回路、
30:プログラム領域、31:データ領域、32:トリミングデータ領域、
40、41:レジスタ、45、46:トリミング制御回路、
50:抵抗、51:コンデンサ、52:トランジスタ、53:ヒューズ

Claims (3)

  1. マイクロコントローラと、揮発性メモリと、前記マイクロコントローラを制御するプログラムデータと前記揮発性メモリに書込む制御データとが混在して格納されるブロック毎にデータの消去、書込みが可能な不揮発性メモリと、前記プログラムデータ及び前記制御データの書込みあるいは読出しを制御する制御回路と、あるいはさらに別の記憶装置とを備えた半導体集積回路において、
    前記制御回路は、前記不揮発性メモリの初期化要求の信号を検知し、初期化前に、前記不揮発性メモリから前記制御データを読出し、該読出した制御データを前記揮発性メモリあるいは前記別の記憶装置に書込む制御を行うとともに、前記不揮発性メモリの初期化後に、前記揮発性メモリあるいは前記別の記憶装置から前記制御データを読出し、該読出した制御データを前記不揮発性メモリに書込む制御を行うことを特徴とする半導体集積回路。
  2. 請求項1記載の半導体集積回路において、
    前記制御回路は、初期化後に前記制御データが書込まれた前記不揮発性メモリに前記プログラムデータを書込む際、前記制御データが書込まれた前記不揮発性メモリのアドレスをスキップして前記プログラムデータを書込む制御を行うことを特徴とする半導体集積回路。
  3. 請求項1又は2いずれか記載の半導体集積回路において、
    前記制御回路は、前記半導体装置の電源投入の信号を検知し、前記不揮発性メモリから前記制御データを読出し、該読出した制御データを前記揮発性メモリに書込む制御を行うことを特徴とする半導体集積回路。
JP2007164818A 2007-06-22 2007-06-22 半導体集積回路 Active JP5052221B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007164818A JP5052221B2 (ja) 2007-06-22 2007-06-22 半導体集積回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007164818A JP5052221B2 (ja) 2007-06-22 2007-06-22 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2009004038A true JP2009004038A (ja) 2009-01-08
JP5052221B2 JP5052221B2 (ja) 2012-10-17

Family

ID=40320255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007164818A Active JP5052221B2 (ja) 2007-06-22 2007-06-22 半導体集積回路

Country Status (1)

Country Link
JP (1) JP5052221B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233478A (ja) * 1992-02-19 1993-09-10 Nec Corp フラッシュメモリ書き換え回路
JPH07319752A (ja) * 1994-05-20 1995-12-08 Brother Ind Ltd 記憶装置
JPH0830515A (ja) * 1994-07-20 1996-02-02 Toshiba Corp フラッシュeepromを用いたデータ処理装置
JP2006065973A (ja) * 2004-08-27 2006-03-09 Toshiba Corp 不揮発性半導体記憶装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05233478A (ja) * 1992-02-19 1993-09-10 Nec Corp フラッシュメモリ書き換え回路
JPH07319752A (ja) * 1994-05-20 1995-12-08 Brother Ind Ltd 記憶装置
JPH0830515A (ja) * 1994-07-20 1996-02-02 Toshiba Corp フラッシュeepromを用いたデータ処理装置
JP2006065973A (ja) * 2004-08-27 2006-03-09 Toshiba Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
JP5052221B2 (ja) 2012-10-17

Similar Documents

Publication Publication Date Title
US7663933B2 (en) Memory controller
WO2016180093A1 (zh) Flash芯片读写控制电路和方法、AMOLED应用电路
US6836433B2 (en) Rewrite disable control method for determining rewrite enable/disable based on result of majority decision
JP3875139B2 (ja) 不揮発性半導体記憶装置、そのデータ書き込み制御方法およびプログラム
JP2007250101A (ja) 不揮発性メモリ装置および不揮発性メモリ装置の制御方法
JP2007102566A (ja) メモリバックアップシステム
US7590793B2 (en) Data access controlling method in flash memory and data access controlling program
JP2007034581A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JPWO2006040798A1 (ja) 半導体集積回路装置および電子システム
JP4289026B2 (ja) 半導体記憶装置
JP5052221B2 (ja) 半導体集積回路
US20050243616A1 (en) Non-volatile semiconductor storage device
JP2007148695A (ja) 情報処理装置およびブートプログラムの書き換え方法
JP5521477B2 (ja) メモリ制御装置
JP4235624B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2005309839A5 (ja)
JP2009276883A (ja) 半導体補助記憶装置
JP2008225922A (ja) 不揮発性記憶装置
JP2000276461A (ja) マイクロコンピュータ
JP5197800B2 (ja) 情報処理装置及びそのデータ記録方法
JP2005107608A (ja) 電子機器、不揮発性メモリ及び不揮発性メモリのデータ書き換え方法
JP4818453B1 (ja) 電子機器およびデータ読み出し方法
JP2005078489A (ja) マイクロコントローラ装置及びその制御方法
JP2008293426A (ja) 情報処理装置及びそのデータ記録方法
JP2011108161A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120622

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120724

R150 Certificate of patent or registration of utility model

Ref document number: 5052221

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250