JP4663210B2 - 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法 - Google Patents

半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法 Download PDF

Info

Publication number
JP4663210B2
JP4663210B2 JP2002545451A JP2002545451A JP4663210B2 JP 4663210 B2 JP4663210 B2 JP 4663210B2 JP 2002545451 A JP2002545451 A JP 2002545451A JP 2002545451 A JP2002545451 A JP 2002545451A JP 4663210 B2 JP4663210 B2 JP 4663210B2
Authority
JP
Japan
Prior art keywords
instruction code
instruction
writing
cpu
nonvolatile memory
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.)
Expired - Fee Related
Application number
JP2002545451A
Other languages
English (en)
Inventor
弘明 那須
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Application granted granted Critical
Publication of JP4663210B2 publication Critical patent/JP4663210B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、フラッシュメモリ、EEPROM、EPROM、FeRAM等の不揮発性メモリと、中央演算処理装置(以下「CPU」という)とを内蔵したシングルチップ・マイクロコンピュータ(以下、「マイコン」という)やゲートアレイ等の半導体集積回路に関し、特に、プログラム実行可能でワーク用のRAMを持たない半導体集積回路に関する。さらに、本発明は、そのような半導体集積回路に内蔵された不揮発性メモリへの書き込み方法に関する。
【従来の技術】
【0002】
従来より、CPU及び不揮発性メモリを内蔵した半導体集積回路をボードに実装した後で、ROMライタからシリアルインターフェースを介してCPUに通信を行い、CPUを動作させて不揮発性メモリにプログラムを書き込んだり更新したりすることが行われていた。これを、「オンボード(インサーキット)書き込み」という。例として、従来のオンボード書き込みのための回路構成例を図6に示す。
【0003】
図6において、マイコン300は、CPUコア301と、制御レジスタ302と、同期シリアル通信インタフェース303と、マルチプレクサ304と、フラッシュメモリ305と、マスクROM307とにより構成されている。CPUコア301は、インストラクションアドレスバスB31及びインストラクションバスB32を介して、マスクROM307及びマルチプレクサ304と接続されている。また、CPUコア301は、データアドレスバスB33及びデータバスB34を介して、制御レジスタ302、同期シリアル通信インタフェース303及びマルチプレクサ304と接続されている。
マルチプレクサ304は、バスB35を介して、フラッシュメモリ305に接続されている。フラッシュメモリ305は、CPUコア301が実行すべきインストラクションコードや、CPUコア301が使用するデータ等を記憶するための不揮発性メモリである。
【0004】
フラッシュメモリ305にプログラムを書き込む際には、同期シリアル通信インタフェース303にROMライタ400が接続される。ROMライタ400は、同期シリアル通信により、操作コマンドやアドレス情報やデータ等の転送を行う。一方、マイコン300に内蔵されたマスクROM307は、フラッシュメモリ305をオンボード書き込みするためにCPUコア301が実行するプログラムを記憶する読み出し専用メモリであり、通信とシーケンサーのために使用される。ROMライタ400からマイコン300に転送された操作コマンドは、マスクROM307に記憶されたオンボード書き込みプログラムにより実行され、アドレス情報に基づいて消去やデータの書き込み等を行う。書き込み時間や消去時間の管理も、マスクROM307に記憶されたプログラムにより行われる。
【0005】
この同期シリアル通信においては、ROMライタ400からマイコン300へクロックを送信するためのCLK信号線404と、ROMライタ400からマイコン300へデータを送信するためのRXD信号線401と、マイコン300からROMライタ400へデータを送信するためのTXD信号線402と、ROMライタ400とマイコン300との間でシリアルクロックを送受信するためのSCLK信号線403とが少なくとも用いられる。
【0006】
制御レジスタ302は、前述したようにCPUコア301と接続されているほか、フラッシュメモリ書き込みアドレスバスB36、フラッシュメモリ書き込みデータバスB37及び制御信号バスB38を介して、マルチプレクサ304とも接続されている。制御レジスタ302は、CPUコア301から書き込まれたデータを保持するとともに、そのデータをフラッシュメモリ書き込みアドレスバスB36、フラッシュメモリ書き込みデータバスB37及び制御信号バスB38へ出力する。
【0007】
マルチプレクサ304は、前述したようにCPUコア301及びフラッシュメモリ305と接続されているほか、フラッシュメモリ書き込みモード指示線306を介して、スイッチ308とも接続されている。スイッチ308は、オンボード書き込みを行う時はオンにされてフラッシュ・メモリ書き込みモード指示線306を接地し、オンボード書き込みを行わない時はオフにされてフラッシュ・メモリ書き込みモード指示線306をプルアップする。マルチプレクサ304は、フラッシュメモリ書き込みモード指示線306がプルアップされている時にバスB31〜B34とバスB35とを接続し、フラッシュメモリ書き込みモード指示線306が接地されている時にバスB36〜B38とバスB35とを接続する。
【0008】
次に、図6に示すマイコン300の通常の動作(オンボード書き込み以外の動作)について説明する。尚、通常の動作の場合、スイッチ308はオフであり、フラッシュ・メモリ書き込みモード指示線306はプルアップされている。
【0009】
まず、CPUコア301は、インストラクションアドレスをインストラクションアドレスバスB31上に出力する。マルチプレクサ304は、インストラクションアドレスバスB31上に出力されたインストラクションアドレスを、バスB35に伝達する。フラッシュメモリ305は、バスB35よりインストラクションアドレスを受け、当該アドレスに対応するインストラクションコードをバスB35へ出力する。マルチプレクサ304は、バスB35上に出力されたインストラクションコードを、インストラクションバスB32に伝達する。CPUコア301は、インストラクションバスB32よりインストラクションコードを受け、当該インストラクションコードを実行する。このように、CPUコア301によって、フラッシュメモリ305に記憶されたインストラクションコード列(プログラム)が実行される。
【0010】
次に、本従来例におけるオンボード書き込み動作について説明する。オンボード書き込みを行う場合、オンボード書き込み作業者は、スイッチ308をオンにするとともにマイコン300の電源をオンにし、更にROMライタ400の電源をオンにして操作を開始する。
【0011】
オンボード書き込み動作が開始されると、CPUコア301は、インストラクションアドレスバスB31へ、マスクROM307中のオンボード書き込み用プログラムに対応するアドレスを出力する。次に、CPUコア301は、インストラクションバスB32を介して、マスクROM307からオンボード書き込みのためのインストラクションコードを読み込む。そして、CPUコア301は、読み込んだオンボード書き込みのためのインストラクションコードを実行する。更に、CPUコア301は、オンボード書き込みに必要なデータ等を、同期シリアル通信線401〜404及び同期シリアル通信インタフェース303を介して、ROMライタ400から受信する。このようにして、CPUコア301がマスクROM307中に記憶されたオンボード書き込みのためのインストラクションコード列(プログラム)を実行することにより、フラッシュメモリ305への書き込みが行われる。
【発明が解決しようとする課題】
【0012】
このように、従来は、オンボード書き込みのための通信及びシーケンスを実行するプログラムを記憶する為にマスクROMを必要としていたため、回路規模が増大していた。特に、マイコンの場合には、マスクROMを内蔵するためチップ面積が増大するとともに端子数も増えてしまうという問題があった。
【0013】
また、オンボード書き込み時の各制御信号のパルス幅やリトライ回数等を変更するには、マスクROM中に記憶されたプログラムを変更する必要があった。これに対し、各制御信号を複数種類のパルス幅で出力するように予めマスクROM中のプログラムを作成しておくことも考えられるが、プログラム・サイズが増大するとともにマスクROMのサイズも増大してしまうという問題があった。
【0014】
このような課題を解決する方法として、オンボード書き込みのためのプログラムをRAM上に記憶して実行することも考えられる。しかし、4ビットマイコンの場合には、ワーク用のRAMを持たない構成が一般的である。また、RAMを搭載したとしても、4ビットマイコン等においてはデータ幅とインストラクション幅とが異なるため、オンボード書き込みのためのプログラムをRAM上に記憶し実行することは困難であった。
【0015】
ところで、日本国特許出願公開公報(特開)平11−149376号に掲載されているBOOTローダー回路においては、外部通信インタフェースを使ってROMの書き込みをすることができるが、前述したようなROM書き込みのための各制御信号のパルス幅を確保することが出来なかった。
【0016】
そこで、上記の点に鑑み、本発明は、半導体集積回路に内蔵された不揮発性メモリにオンボード書き込みを行う場合に、マスクROMを不要とし、更に不揮発性メモリの書き込みに必要な各種制御信号のパルス幅を容易に変更することを目的とする。
【課題を解決するための手段】
【0017】
以上の課題を解決するため、本発明に係る半導体集積回路は、中央演算処理装置(CPU)と、不揮発性メモリと、不揮発性メモリへの書き込みを行うためにCPUが実行するプログラムを通信によって外部から受信し、受信したプログラムをCPUへ送る通信インタフェースとを具備する。
【0018】
ここで、通信インタフェースが、不揮発性メモリへの書き込みを行うため にCPUが実行するプログラムを同期シリアル通信によって外部から受信し、受信したプログラムをCPUへ送るとともに、同期シリアル通信によって受信したシリアルクロックをCPUへ送るようにしても良い。
【0019】
また、本発明に係る書き込み方法は、半導体集積回路に内蔵された不揮発性メモリへの書き込みを行う方法であって、(a)不揮発性メモリへの書き込みを行うためのプログラムを通信によって外部から半導体集積回路の通信インタフェースに送信するステップと、(b)通信インタフェースが受信したプログラムを半導体集積回路の中央演算処理装置(CPU)へ送るステップと、(c)CPUにおいて受け取ったプログラムを実行し、不揮発性メモリへの書き込みを行うステップとを具備する。
【0020】
ここで、ステップ(a)が、不揮発性メモリへの書き込みを行うためのプログラムを同期シリアル通信によって外部から受信するステップを含み、ステップ(b)が、通信インタフェースが受信したプログラムをCPUへ送るとともに、同期シリアル通信によって受信したシリアルクロックをCPUへ送るステップを含み、ステップ(c)が、CPUにおいて、受け取ったプログラムをシリアルクロックを動作クロックとして実行し、不揮発性メモリへの書き込みを行うステップを含むようにしても良い。
【0021】
以上の様に構成した本発明によれば、不揮発性メモリの書き込みプログラムを通信によって送信するので、不揮発性メモリの書き込みプログラムを記憶するためのマスクROM等を無くすことができ、回路の簡単化やチップ面積の縮小を図ることができる。これにより、マスクROM用のクロック端子も不要となる。
【0022】
また、マスクROM等に記憶されたプログラムのように固定されたプログラムを持たないので、プログラムの不具合の修正が容易となる。
【0023】
更に、不揮発性メモリの書き込みプログラムの送信に同期シリアル通信を用いて、そのシリアルクロックをCPUへ供給するとともに不揮発性メモリの書き込みプログラムの送信タイミングを調整することにより、不揮発性メモリの書き込みに必要な各制御信号のパルス幅を確保するとともに、パルス幅の変更を容易に行うことができる。
【発明の実施の形態】
【0024】
以下、図面に基づいて本発明の実施の形態について説明する。なお、同一の要素には同一の参照番号を付して説明を省略する。
【0025】
図1は、本発明の一実施形態に係るオンボード書き込みのための回路構成を示すブロック図である。本実施形態は、本発明をシングルチップ・マイクロコンピュータ(以下、「マイコン」という)に適用したものである。
【0026】
図1において、マイコン100は、CPUコア101と、制御レジスタ102と、同期シリアル通信インタフェース103と、マルチプレクサ104と、フラッシュメモリ105とにより構成されている。CPUコア101は、インストラクションアドレスバスB11及びインストラクションバスB12を介して、マルチプレクサ104と接続されている。また、CPUコア101は、データアドレスバスB13及びデータバスB14を介して、制御レジスタ102、同期シリアル通信インタフェース103及びマルチプレクサ104と接続されている。
【0027】
マルチプレクサ104は、バスB15を介してフラッシュメモリ105に接続されている。フラッシュ・メモリ105は、CPUコア101が実行すべきインストラクションコードや、CPUコア101が使用するデータ等を記憶するための不揮発性メモリである。尚、本発明の説明に不要なその他のペリフェラル、インタフェース等は、図示を省略する。
【0028】
フラッシュメモリ105にプログラムを書き込む際には、同期シリアル通信インタフェース103にROMライタ200が接続される。ROMライタ200には、予めパーソナル・コンピュータ等(図示せず)から、フラッシュメモリ105に書き込みを行うためにCPUコア101に実行させるためのインストラクション・コード列(プログラム)がダウンロードされ記憶されている。ROMライタ200は、同期シリアル通信により、CPUコア101の動作クロックやオンボード書き込みのためのインストラクションコードの転送を行う。このインストラクションコードには、制御コード及び書き込みデータも含まれる。
【0029】
同期シリアル通信インタフェース103は、シリアルクロック供給線109を介して、CPUコア101と接続されている。同期シリアル通信インタフェース103は、受信したシリアルデータをパラレルデータに変換し、これにより得られた複数の連続するインストラクションコード(プログラム)をCPUコア101が実行することにより、フラッシュメモリ105のオンボード書き込みが行われる。ここで、転送するプログラムにおいては、ジャンプ命令を使用せず、複数の連続するインストラクションをステップ毎に実行する。
【0030】
この同期シリアル通信においては、ROMライタ200からマイコン100へデータを送信するためのRXD信号線201と、マイコン100からROMライタ200へデータを送信するためのTXD信号線202と、ROMライタ200とマイコン100との間でシリアルクロックを送受信するためのSCLK信号線203とが少なくとも用いられる。
【0031】
制御レジスタ102は、前述したようにCPUコア101と接続されているほか、フラッシュメモリ書き込みアドレスバスB16、フラッシュメモリ書き込みデータバスB17及び制御信号バスB18を介して、マルチプレクサ104とも接続されている。制御レジスタ102は、CPUコア101から書き込まれたデータを保持するとともに、そのデータをフラッシュメモリ書き込みアドレスバスB16、フラッシュメモリ書き込みデータバスB17及び制御信号バスB18へ出力する。制御レジスタ102は、CPUコア101のアドレス空間にマップされており、データアドレスバスB13及びデータバスB14に接続されて、CPUコア101からアクセスされる。また、制御レジスタ102の出力は、マルチプレクサ104を介して、フラッシュメモリ105に接続されている。
【0032】
マルチプレクサ104は、前述したようにCPUコア101及びフラッシュメモリ105と接続されているほか、フラッシュメモリ書き込みモード指示線106を介して、スイッチ108とも接続されている。スイッチ108は、オンボード書き込みを行う時はオンにされフラッシュ・メモリ書き込みモード指示線106を接地し、オンボード書き込みを行わない時はオフにされフラッシュ・メモリ書き込みモード指示線106をプルアップする。マルチプレクサ104は、フラッシュメモリ書き込みモード指示線106がプルアップされている時にバスB11〜B14とバスB15とを接続し、フラッシュメモリ書き込みモード指示線106が接地されている時にバスB16〜 B18とバスB15とを接続する。
【0033】
次に、本実施形態におけるマイコン100の通常の動作(オンボード書き込み動作以外の動作)について説明する。尚、通常の動作の場合、スイッチ108はオフであり、フラッシュ・メモリ書き込みモード指示線106はプルアップされている。
【0034】
まず、CPUコア101は、インストラクションアドレスをインストラクションアドレスバスB11上に出力する。マルチプレクサ104は、インストラクションアドレスバスB11上に出力されたインストラクション・アドレスを、バスB15に伝達する。フラッシュメモリ105は、バスB15よりインストラクションアドレスを受け、当該アドレスに対応するインストラクションコードをバスB15へ出力する。マルチプレクサ104は、バスB15上に出力されたインストラクションコードを、インストラクションバスB12に伝達する。CPUコア101は、インストラクションバスB12よりインストラクションコードを受け、当該インストラクションコードを実行する。このように、CPUコア101によって、フラッシュメモリ105に記憶されたインストラクションコード列(プログラム)が実行される。
【0035】
次に、本実施形態におけるオンボード書き込み動作について説明する。オンボード書き込みを行う場合、オンボード書き込み作業者は、スイッチ108をオンにするとともにマイコン100の電源をオンにし、更にROMライタ200の電源をオンにし操作を開始する。作業者がROMライタ200の操作を開始すると、ROMライタ200は、図2のフローチャートに基づく処理を開始する。
【0036】
ステップS201において、ROMライタ200が、記憶されたインストラクション・コード列からインストラクションコード(データを含む)を一つ取り出す。
【0037】
次のステップS202において、ROMライタ200は、ステップS201において取り出されたインストラクションコードをシリアル変換する。そして、ROMライタ200は、シリアル変換されたインストラクションコードを、同期シリアル通信線201〜203を介して、マイコン100内の同期シリアル通信インタフェース103へ送信する。
【0038】
一方、マイコン100内の同期シリアル通信インタフェース103は、ROMライタ200からシリアルデータを受信すると、受信したデータをパラレル変換する。そして、同期シリアル通信インタフェース103は、パラレル変換したデータ、即ちインストラクションコードを、インストラクションバスB12へ出力する。それとともに、同期シリアル通信インタフェース103は、SCLK信号線203を介して受信したシリアルクロックを、シリアルクロック供給線109を介してCPUコア101へ出力する。
【0039】
一方、シリアルクロック供給線109を介して同期シリアル通信インタフェース103からシリアルクロックを受け取ると、マイコン100中のCPUコア101が、図3のフローチャートを開始する。
【0040】
最初のステップS101において、マイコン100のCPUコア101は、同期シリアル通信インタフェース103からインストラクションコードを受け取るのを待つ。
【0041】
同期シリアル通信インタフェース103によって出力されたインストラクションコードをインストラクションバスB12から受け取ると、ステップS101にて待機していたCPUコア101は、処理をステップS102へ移す。
【0042】
ステップS102において、CPUコア101は、ステップS101において受け取ったインストラクションコードに基づいて、フラッシュメモリ105に書き込むべきデータと、当該データを書き込むべきフラッシュメモリ105中のアドレスと、フラッシュメモリ105に書き込みを行うために必要な制御信号を発生させるためのデータとを、制御レジスタ102へ出力する。その後、CPUコア101は、処理をステップS101へ戻す。
【0043】
制御レジスタ102は、CPUコア101からフラッシュメモリ105に書き込むべきデータと、当該データを書き込むべきフラッシュメモリ105中のアドレス、及びフラッシュメモリ105に書き込みを行うために必要な制御信号を発生させるためのデータを受け取ると、受け取ったデータに基づいて、フラッシュメモリ105に書き込むべきデータをフラッシュメモリ書き込みデータバスB17へ出力し、当該データを書き込むべきフラッシュメモリ105中のアドレスをフラッシュメモリ書き込みアドレスバスB16へ出力し、フラッシュメモリ105に書き込みを行うために必要な制御信号を制御信号バスB18へ出力する。
【0044】
このように、フラッシュメモリ105に書き込むべきデータがフラッシュメモリ書き込みデータバスB17へ出力され、当該データを書き込むべきフラッシュメモリ105中のアドレスがフラッシュメモリ書き込みアドレスバスB16へ出力され、フラッシュメモリ105に書き込みを行うために必要な制御信号が制御信号バスB18へ出力されると、マルチプレクサ104及びバスB15を介してフラッシュメモリ105へ伝達されて、フラッシュメモリ105への書き込みが行われる。
【0045】
一方、ROMライタ200は、ステップS202にてインストラクションコードを送信すると、次のステップS203において、ステップS202にて送信したインストラクションコードのCPUコア101での実行後にウエイト時間が必要であるか否か、即ち制御信号バスB18に出力された制御信号にホールド時間を確保する必要があるか否かをチェックする。そしてもしウエイト時間が必要であれば、ROMライタ200は処理をステップS204へ移し、そうでなければ処理をステップS205へ移す。
【0046】
ステップS203にてウエイト時間が必要であると判断した場合、ROMライタ200は、ステップS204において、必要なウエイト時間の間、インストラクションコードの送信を中断する。
【0047】
ステップS204にて必要な時間が経過した後及びステップS203にてウエイト時間が必要でないと判断された場合、ROMライタ200は、ステップS205において、送信すべきインストラクションコードが未だ残っているか否かをチェックする。そして、もし送信すべきインストラクションコードが未だ残っていると判断した場合には処理をステップS201へ戻し、送信すべきインストラクションコードが残っていないと判断した場合には処理を終了する。
【0048】
次に、本実施形態におけるインストラクションコードを転送する原理について、図4のタイミングチャートを用いて説明する。
【0049】
シリアルクロックに同期してインストラクションコードを転送する場合に、インストラクションコードのビット幅(インストラクションコードを転送するためのクロック数)と、そのインストラクションを実行するためのクロック数が等しい場合には問題はないが、これらが等しくない場合には、以下の方法により両者のサイクルを合わせる必要がある。例えば、図4に示すように、インストラクションコードA、Bが12ビット幅である場合には、各々をシリアル転送するために少なくとも12クロックが必要である。しかし、インストラクションコードAの実行サイクルが7クロックである場合には、インストラクションコードの転送とインストラクションの実行との間でサイクルが合わなくなる。そこで、本実施形態においては、次のインストラクションコードBが転送されるまでの5クロック(=12クロック−7クロック)の間に、ダミーの命令NOPを挿入している。これにより、インストラクションコードの転送とインストラクションの実行との間でサイクルを合わせることができる。
【0050】
次に、本実施形態における制御信号のパルス幅を変更する原理について、図5のタイミングチャートを用いて説明する。
【0051】
図5において、上段の信号はSLCK信号線203から入力されるシリアルクロック信号であり、中段の信号はRXD信号線201から入力されるデータ信号であり、下段の信号は制御信号バスB18に出力される制御信号の一つであるPROG信号である。ここで、PROG信号は、フラッシュメモリ105に書き込みを行うための信号であり、例えば、1msのパルス幅が必要であるものとする。即ち、図5において、区間Dは1msであるとする。
【0052】
まず、ROMライタ200は、PROG信号を“1”にするためにCPUコア101が実行するインストラクションコードを、同期シリアル通信によって送信する(区間A)。このインストラクションコードがCPUコア101によって実行されると、PROG信号は“1”となる。次に、ROMライタ200は、PROG信号のパルス幅を確保するために、同期シリアル通信を中断する(区間B)。必要なパルス幅を確保するための期間が経過した後で、ROMライタ200は、PROG信号を“0”にするためにCPUコア101が実行するインストラクションコードを、同期シリアル通信によって送信する(区間C)。このインストラクションコードがCPUコア101によって実行されると、PROG信号は“0”となる。このように、同期シリアル通信を中断することにより制御信号のパルス幅を確保することができ、また中断の長さを変更することにより制御信号のパルス幅を容易に変更することができる。
【0053】
以上述べた様に、本発明によれば、不揮発性メモリの書き込みプログラムを通信によって送信するので、不揮発性メモリの書き込みプログラムを記憶するためのマスクROM等を無くすことができ、回路の簡単化やチップ面積の縮小を図ることができる。これにより、マスクROM用のクロック端子も不要となる。
【0054】
また、マスクROM等に記憶されたプログラムのように固定されたプログラムを持たないので、プログラムの不具合の修正が容易となる。更に、不揮発性メモリの書き込みプログラムの送信に同期シリアル通信を用いて、そのシリアルクロックをCPUへ供給するとともに不揮発性メモリの書き込みプログラムの送信タイミングを調整することにより、不揮発性メモリの書き込みに必要な各制御信号のパルス幅を確保するとともに、パルス幅の変更を容易に行うことができる。
【図面の簡単な説明】
【0055】
【図1】本発明の一実施形態に係るオンボード書き込みのための回路構成を示すブロック図である。
【図2】図1におけるROMライタの動作を示すフローチャートである。
【図3】図1におけるCPUコアの動作を示すフローチャートである。
【図4】本発明の一実施形態におけるインストラクションコードを転送する原理を説明するためのタイミングチャートである。
【図5】本発明の一実施形態における制御信号のパルス幅を変更する原理を説明するためのタイミングチャートである。
【図6】従来のオンボード書き込みのための回路構成例を示すフローチャートである。

Claims (4)

  1. 半導体集積回路に内蔵された不揮発性メモリへの書き込みを行う方法であって、
    (a)前記不揮発性メモリへの書き込みを行うためのインストラクションコードを同期シリアル通信によって外部から前記半導体集積回路の通信インタフェースに送信するステップと、
    (b)前記通信インタフェースが受信した前記インストラクションコードを前記半導体集積回路の中央演算処理装置(CPU)へ送るとともに、同期シリアル通信によって受信したシリアルクロックを前記CPUへ送るステップと、
    (c)前記CPUにおいて、前記シリアルクロックを動作クロックとして受け取った前記インストラクションコードを実行し、前記シリアルクロックに同期して前記不揮発性メモリへデータの書き込みを行うステップと、を具備し、
    前記ステップ(c)において、前記インストラクションコードを実行するクロック数が、前記通信インタフェースが前記インストラクションコードの転送を行うクロック数よりも短い場合、前記ステップ(b)の前記インストラクションコードの転送と前記ステップ(c)の前記インストラクションの実行との間でサイクルが合うようにダミー命令を挿入することを特徴とする書き込み方法。
  2. 半導体集積回路に内蔵された不揮発性メモリへの書き込みを行う方法であって、
    第1の動作モードの場合は、
    (a)中央演算処理装置(CPU)からインストラクションアドレスを前記不揮発性メモリへ送信するステップと、
    (b)前記不揮発性メモリの前記インストラクションアドレスに対応する第1のインストラクションコードを前記CPUへ送信するステップと、
    (c)前記CPUが前記第1のインストラクションコードを実行するステップと、を含み、
    第2の動作モードの場合は、
    (d)前記不揮発性メモリへの書き込みを行うための第2のインストラクションコードを同期シリアル通信によって外部から前記半導体集積回路の通信インタフェースに送信するステップと、
    (e)前記通信インタフェースが受信した前記第2のインストラクションコードを前記半導体集積回路の中央演算処理装置(CPU)へ送るとともに、同期シリアル通信によって受信したシリアルクロックを前記CPUへ送るステップと、
    (f)前記CPUにおいて、前記シリアルクロックを動作クロックとして受け取った前記第2のインストラクションコードを実行し、前記シリアルクロックに同期して前記不揮発性メモリへデータの書き込みを行うステップと、を具備し、
    前記ステップ(f)において、前記第2のインストラクションコードを実行するクロック数が、前記通信インタフェースが前記第2のインストラクションコードの転送を行うクロック数よりも短い場合、前記ステップ(d)の前記第2のインストラクションコードの転送と前記ステップ(f)の前記第2のインストラクションの実行との間でサイクルが合うようにダミー命令を挿入することを特徴とする書き込み方法。
  3. 請求項1のステップ(c)において、
    前記CPUが前記インストラクションコードを実行後、外部から前記通信インタフェースへのシリアル通信が中断され、前記不揮発性メモリへの書き込みを行う制御信号がアクティブに遷移し、
    所定期間経過後、外部から前記インタフェースへのシリアル通信が再開され、前記CPUが前記インストラクションコードを実行し、
    前記CPUが前記インストラクションコードを実行後、前記制御信号が非アクティブに遷移することを特徴とする請求項1に記載の書き込み方法。
  4. 請求項2のステップ(f)において、
    前記CPUが前記第2のインストラクションコードを実行後、外部から前記通信インタフェースへのシリアル通信が中断され、前記不揮発性メモリへの書き込みを行う制御信号がアクティブに遷移し、
    所定期間経過後、外部から前記インタフェースへのシリアル通信が再開され、前記CPUが前記第2のインストラクションコードを実行し、
    前記CPUが前記第2のインストラクションコードを実行後、前記制御信号が非アクティブに遷移することを特徴とする請求項2に記載の書き込み方法。
JP2002545451A 2000-06-14 2001-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法 Expired - Fee Related JP4663210B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000178345A JP2001357023A (ja) 2000-06-14 2000-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
PCT/JP2001/005089 WO2001097056A1 (fr) 2000-06-14 2001-06-14 Circuit integre et procede d'ecriture dans une memoire remanente a l'interieur d'un circuit integre

Publications (1)

Publication Number Publication Date
JP4663210B2 true JP4663210B2 (ja) 2011-04-06

Family

ID=18679793

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000178345A Pending JP2001357023A (ja) 2000-06-14 2000-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
JP2002545451A Expired - Fee Related JP4663210B2 (ja) 2000-06-14 2001-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2000178345A Pending JP2001357023A (ja) 2000-06-14 2000-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法

Country Status (5)

Country Link
US (1) US6766408B2 (ja)
JP (2) JP2001357023A (ja)
KR (1) KR100491056B1 (ja)
AU (1) AU6429001A (ja)
WO (1) WO2001097056A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI236853B (en) * 2002-10-02 2005-07-21 Mitsubishi Electric Corp Communication adapter device, communication adapter, method for writing into nonvolatile memory, electric apparatus used for the same, and ROM writer
US6930929B1 (en) * 2002-11-04 2005-08-16 National Semiconductor Corporation Simultaneous read-write memory cell at the bit level for a graphics display
US8090916B2 (en) * 2004-06-29 2012-01-03 Macronix International Co., Ltd. In-circuit programming architecture with processor and delegable flash controller
US7406559B2 (en) * 2004-08-23 2008-07-29 Macronix International Co., Ltd. In-circuit programming architecture with processor, delegable flash controller, and code generator
US20070258298A1 (en) * 2006-05-04 2007-11-08 Westell Technologies, Inc. Parallel programming of flash memory during in-circuit test
US9442842B2 (en) * 2013-08-19 2016-09-13 Sandisk Technologies Llc Memory system performance configuration

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158184A (ja) 1989-11-17 1991-07-08 Juki Corp 制御プログラムによつて動作するミシン
JPH04114289A (ja) 1990-09-04 1992-04-15 Mitsubishi Electric Corp マイクロコンピュータ集積回路装置のデータ書換え回路
JPH04287294A (ja) * 1991-03-18 1992-10-12 Matsushita Electron Corp 不揮発性メモリ内蔵マイクロコンピュータ
JPH0512511A (ja) * 1991-07-03 1993-01-22 Mitsubishi Electric Corp Icカード及びその応用プログラムの変更方法
JPH05159079A (ja) * 1991-12-04 1993-06-25 Fujitsu Ltd 半導体集積回路装置
US5687345A (en) * 1992-03-17 1997-11-11 Hitachi, Ltd. Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device
TW231343B (ja) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
JPH05307616A (ja) * 1992-04-30 1993-11-19 Hitachi Ltd 半導体装置
US6006304A (en) * 1993-06-25 1999-12-21 Hitachi, Ltd. Apparatus and method for calculating an erasure time for data stored in a flash memory
JPH0729386A (ja) * 1993-07-13 1995-01-31 Hitachi Ltd フラッシュメモリ及びマイクロコンピュータ
JPH08101821A (ja) 1994-09-30 1996-04-16 Ishikawajima Harima Heavy Ind Co Ltd ボードコンピュータ
JPH08203288A (ja) * 1995-01-23 1996-08-09 Nec Ic Microcomput Syst Ltd オンボード書込制御装置
JP3109413B2 (ja) * 1995-07-31 2000-11-13 株式会社デンソー 機械制御装置
AU2521297A (en) * 1996-04-11 1997-10-29 Hitachi Limited Disk drive and computer
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
JP3796837B2 (ja) * 1996-09-20 2006-07-12 株式会社デンソー 電子装置のメモリ書込装置
JP3173407B2 (ja) * 1997-02-05 2001-06-04 日本電気株式会社 フラッシュeeprom内蔵マイクロコンピュータ
JPH10283172A (ja) 1997-04-02 1998-10-23 Nec Corp フラッシュromデータ書き換え方式
JPH117381A (ja) 1997-06-19 1999-01-12 Nissan Motor Co Ltd フラッシュメモリのオンボード書き込み方法
JPH11149376A (ja) * 1997-11-14 1999-06-02 Toyo Commun Equip Co Ltd Bootローダー回路
JPH11272642A (ja) * 1998-03-26 1999-10-08 Nec Corp 1チップマイクロコンピュータ及び起動アドレス設定方法

Also Published As

Publication number Publication date
AU6429001A (en) 2001-12-24
KR100491056B1 (ko) 2005-05-24
WO2001097056A1 (fr) 2001-12-20
US6766408B2 (en) 2004-07-20
US20020018371A1 (en) 2002-02-14
KR20020022098A (ko) 2002-03-23
JP2001357023A (ja) 2001-12-26

Similar Documents

Publication Publication Date Title
KR101507194B1 (ko) 직렬 인터페이스 nand
US5901330A (en) In-circuit programming architecture with ROM and flash memory
US7233541B2 (en) Storage device
KR100474622B1 (ko) 마이크로컴퓨터
EP0569131A2 (en) IC card
US8904094B2 (en) Memory system in which extended function can easily be set
US20080195795A1 (en) Pipelined burst memory access
US7590027B2 (en) Nonvolatile semiconductor memory device
US6954815B2 (en) Microcomputer with universal serial bus interface circuit and method of controlling the same
JP4663210B2 (ja) 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
KR20080078977A (ko) Mmc 또는 sd 프로토콜을 사용하는 다수의 메모리장치들을 인터페이스하는 방법 및 시스템
US9052836B2 (en) Memory system in which extension function can easily be set
US7685343B2 (en) Data access method for serial bus
US8930613B2 (en) Memory system in which extended function can easily be set
CN113806282A (zh) 异构控制系统及异构控制系统的加载方法
US7209252B2 (en) Memory module, printer assembly, and method for storing printer code
JPH11167548A (ja) データ伝送システム
US11593284B2 (en) Method for managing an operation for modifying the stored content of a memory device, and corresponding memory device
JP2000276347A (ja) 携帯電子機器
JP2001075796A (ja) マイクロコンピュータ及びそのファームウェア書込みシステム及び書込み方法
US6854047B2 (en) Data storage device and data transmission system using the same
JP2002287994A (ja) マイクロコントローラ
JP2000348012A (ja) フラッシュメモリ内蔵データ処理装置
JP2001290755A (ja) Eepromアクセス方法およびeepromを有する電子装置
JPH07193860A (ja) プログラムメモリを有した携帯端末装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080808

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080904

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081009

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101203

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: 20110105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140114

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees