JP4324149B2 - Emulator and development support system using it - Google Patents

Emulator and development support system using it Download PDF

Info

Publication number
JP4324149B2
JP4324149B2 JP2005261786A JP2005261786A JP4324149B2 JP 4324149 B2 JP4324149 B2 JP 4324149B2 JP 2005261786 A JP2005261786 A JP 2005261786A JP 2005261786 A JP2005261786 A JP 2005261786A JP 4324149 B2 JP4324149 B2 JP 4324149B2
Authority
JP
Japan
Prior art keywords
flash memory
built
emulator
memory
mpu
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
JP2005261786A
Other languages
Japanese (ja)
Other versions
JP2007072941A (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.)
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems 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 Hitachi ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co Ltd
Priority to JP2005261786A priority Critical patent/JP4324149B2/en
Publication of JP2007072941A publication Critical patent/JP2007072941A/en
Application granted granted Critical
Publication of JP4324149B2 publication Critical patent/JP4324149B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、エミュレータ及びそれを用いた開発支援システムに関し、特に、フラッシュメモリを内蔵したMPUのエミュレーションに適用して有効な技術に関するものである。   The present invention relates to an emulator and a development support system using the emulator, and more particularly to a technique effective when applied to emulation of an MPU incorporating a flash memory.

半導体製造技術の進歩、特に微細化の進展により、半導体装置に搭載される回路は規模が拡大し、論理演算を行なう半導体装置では、演算処理を実行するCPU(Central Processing Unit)に加えて、入出力等の周辺回路、キャッシュメモリ、プログラムコードが書き込まれたROM等を単一のチップに集積したMPU(Micro Processing Unit)が多くの用途に用いられている。   Due to advances in semiconductor manufacturing technology, particularly miniaturization, the scale of circuits mounted on semiconductor devices has increased, and in semiconductor devices that perform logical operations, in addition to the CPU (Central Processing Unit) that executes arithmetic processing, An MPU (Micro Processing Unit) in which peripheral circuits such as outputs, a cache memory, a ROM in which a program code is written, and the like are integrated on a single chip is used for many purposes.

このようなMPUを搭載したユーザシステムを開発するために、ソフトウェア、ハードウェアの両面からサポートし、MPUの動作を確認するための開発支援システムが構築されている。   In order to develop a user system equipped with such an MPU, a development support system has been built to support both software and hardware and confirm the operation of the MPU.

こうした開発支援システムでは、デバッグに必要な回路が組み込まれたICE(In-Circuit Emulator;以下、エミュレータと云う)を用いて、エミュレータをインタフェースケーブルによってユーザシステムに接続し、このエミュレータをパーソナルコンピュータなどのホストコンピュータに接続して、実際の製品形態に近い状態でユーザシステムのデバッグを行なっている。   In such a development support system, an ICE (In-Circuit Emulator; hereinafter referred to as an emulator) incorporating a circuit necessary for debugging is connected to the user system via an interface cable, and the emulator is connected to a personal computer or the like. The user system is debugged in a state close to the actual product form by connecting to the host computer.

従来の開発支援システムでは、エミュレータを製品に搭載されるMPUとは一部の機能が異なる評価用のチップ(Evaluation chip;以下、エバチップと云う)を搭載したMPUに接続して、外部から信号を入力し、それに対する応答をディスプレイなどを通じてモニタすることにより、MPUの動作状態をモニタ或いはトレースしていた。   In a conventional development support system, an emulator is connected to an MPU equipped with an evaluation chip (hereinafter referred to as an “evaluation chip”) that is partially different from the MPU installed in the product, and signals are externally transmitted. The operation state of the MPU is monitored or traced by inputting and monitoring a response to the input through a display or the like.

しかし近年ではユーザの多様な要望に応えるために、同一のCPUコアを用いて動作周波数、メモリ容量、周辺回路の構成等を変更した複数の製品を製造するファミリー化が進められている。こうした多品種少量生産では、このエバチップの開発に要する工数及び費用を削減する必要があり、このため、製品となるユーザシステムに搭載されMPUと同一の物を使ってエミュレーションを行なう開発支援システムが考えられた。   However, in recent years, in order to meet various needs of users, a family of manufacturing a plurality of products in which an operating frequency, a memory capacity, a configuration of peripheral circuits, and the like are changed using the same CPU core has been promoted. In such high-mix low-volume production, it is necessary to reduce the number of man-hours and costs required for the development of this EVA chip. For this reason, a development support system that performs emulation using the same thing as the MPU installed in the user system that is the product is considered. It was.

この開発支援システムでは、エミュレータのエミュレーションモジュールを、複数種のMPUをサポート可能とすることによって、実際の製品に用いられるMPUのみを開発すればよくなるので、開発効率を向上させ、開発費用を低減させることができる。   In this development support system, by enabling the emulator emulation module to support multiple types of MPUs, it is only necessary to develop MPUs used in actual products, thereby improving development efficiency and reducing development costs. be able to.

また、近年、多品種少量展開に対応するのに有利であることから、フラッシュメモリ等の電源電圧を遮断しても情報を保持する不揮発性メモリをROMとして用いる場合が増加している。フラッシュメモリ等を用いることで、ROMの製造に要する開発期間を短縮し開発費用を削減することが可能になり、加えて、仕様の変更等が生じて一度書き込んだプログラムの変更等が必要になる場合にも、容易に対応することができるといった利点がある。   Also, in recent years, since it is advantageous to cope with a wide variety of small-scale development, there is an increasing number of cases where a nonvolatile memory that retains information even when a power supply voltage such as a flash memory is cut off is used as a ROM. By using flash memory, etc., it is possible to shorten the development period required for ROM manufacturing and reduce development costs. In addition, changes in specifications and the like need to be changed once written. Even in this case, there is an advantage that it can be easily handled.

例えば、下記特許文献1,2には、フラッシュメモリを内蔵したMPUを使用するシステムの開発に用いられるエミュレータについて記載されており、下記特許文献3には、MPUに供給するクロック周波数を容易に変更することができるエミュレータについて記載されている。   For example, the following Patent Documents 1 and 2 describe an emulator used for developing a system using an MPU with a built-in flash memory, and the following Patent Document 3 easily changes the clock frequency supplied to the MPU. An emulator that can be described.

特開2002−49504号公報JP 2002-49504 A 特開2004−341802号公報JP 2004-341802 A 特開2004−139250号公報JP 2004-139250 A

フラッシュメモリ等に用いられている不揮発性メモリセルでは、メモリセルのフローティングゲートへ電子を注入・放出することによって情報の書き込み或いは消去が行われており、情報の書き換えのたびに電子の通過によってゲート絶縁膜が影響を受けるため、経時的に情報の書き換えを繰り返すことによってゲート絶縁膜が次第に劣化し、メモリセルの動作が不安定になる、或いは動作が不能になることがある。   In a nonvolatile memory cell used for a flash memory or the like, information is written or erased by injecting / releasing electrons to / from the floating gate of the memory cell. Since the insulating film is affected, repeated rewriting of information over time may cause the gate insulating film to gradually deteriorate, which may make the operation of the memory cell unstable or impossible.

このため、経時的なメモリセルの動作不良によるトラブルを回避するために、ブロックごとにデータの書き換え回数が制限されており、MPUに内蔵させたフラッシュメモリは、プログラム等の格納を想定し、データの頻繁な書き換えは想定していないため、書き換え回数が1000回程度になっている。   For this reason, in order to avoid troubles due to malfunctions of memory cells over time, the number of data rewrites is limited for each block, and the flash memory built in the MPU assumes the storage of programs etc. Therefore, the number of rewrites is about 1000 times.

しかし、フラッシュメモリは、不揮発性で書き換えが可能なことから、プログラムコード等の書き換えの頻度が低いデータの記録以外にも、データコードの記録にも使用する場合が増加している。   However, since flash memory is non-volatile and rewritable, it is increasingly used for recording data codes in addition to recording data such as program codes that are not frequently rewritten.

開発の段階ではプログラムコード或いはデータコードをフラッシュメモリに書き込んでの動作検証を頻繁に行なうが、書き換えの頻度が高くなると、保証された一定の書き換え回数を越えたブロックについては使用を停止しなければならず、場合によってはMPUの交換が必要になってしまう。   In the development stage, the program code or data code is frequently written in the flash memory, and operation verification is frequently performed. However, if the frequency of rewriting increases, use of blocks that exceed the guaranteed number of times of rewriting must be stopped. In some cases, the MPU needs to be replaced.

このため特許文献1に記載された技術では、エミュレータ接続時にはLSI内部の各構成部を接続するバスとの接続を、内蔵フラッシュメモリに接続する内部バスから外部バスに切り替えて外部のSRAMに接続し、内蔵フラッシュメモリの書き換えは行なわずに、SRAMに対して書き換えを行なう技術が提案されている。   For this reason, in the technique described in Patent Document 1, when connecting the emulator, the connection to the bus for connecting each component in the LSI is switched from the internal bus connected to the built-in flash memory to the external bus and connected to the external SRAM. There has been proposed a technique for rewriting the SRAM without rewriting the built-in flash memory.

代替メモリを使用する場合には、図1に示すように、エミュレータ1に搭載されているエミュレーション専用のMPU2が、専用外部バス3によって代替メモリ4に接続され、MPU2は、ケーブル5によって開発対象となるユーザシステム6と接続されており、MPU2をユーザシステム6に搭載された状態と同様に機能させている。   When the alternative memory is used, as shown in FIG. 1, the MPU 2 dedicated to emulation mounted in the emulator 1 is connected to the alternative memory 4 by the dedicated external bus 3, and the MPU 2 is connected to the development object by the cable 5. The user system 6 is connected, and the MPU 2 functions in the same manner as in the state where the user system 6 is mounted.

このMPU2は、例えば、JTAG(Joint Test Action Group)規格等のシリアル通信によってエミュレータ1のエミュレーションモジュール7と接続されており、エミュレーションモジュール7には、端末インタフェース8が接続されており、この端末インタフェースに外部からユーザがエミュレータに対して操作を行なうユーザ操作端末9が接続されている。   The MPU 2 is connected to the emulation module 7 of the emulator 1 by serial communication such as JTAG (Joint Test Action Group) standard, for example, and a terminal interface 8 is connected to the emulation module 7. A user operation terminal 9 is connected to allow the user to operate the emulator from the outside.

エミュレーションモジュール7は、エミュレーション全般を処理するために、プログラムのデバッグに必要な回路が組み込まれている。エミュレーションでは、このエミュレーションモジュール7からMPU2にエミュレーションのための各種制御信号を送り、MPU2の内部状態に応じた情報等を受け取って、そのMPU2の動作状態をエミュレーションモジュール7によってモニタ或いはトレースし、ユーザシステム6に用いられるプログラム等のソフトウェアをデバッグすることができる。   The emulation module 7 incorporates a circuit necessary for debugging the program in order to process the entire emulation. In the emulation, various control signals for emulation are sent from the emulation module 7 to the MPU 2, information according to the internal state of the MPU 2 is received, the operation state of the MPU 2 is monitored or traced by the emulation module 7, and the user system 6 can be used to debug software such as programs.

しかし、この技術では専用外部バス3に切り替える構成を予めMPU2に組み込んでおく必要があり、エミュレーション専用のMPU2が必要になってしまう。   However, in this technique, a configuration for switching to the dedicated external bus 3 needs to be incorporated in the MPU 2 in advance, and the MPU 2 dedicated for emulation is required.

MPUの高機能化に伴い格納するプログラムの規模も増大しているため、内蔵するフラッシュメモリも大容量化のためにメモリセルの微細化が進んでおり、こうした微細化の進展によってフラッシュメモリでは、書き換え可能な回数は減少する傾向にあり、将来的により重要な問題となることが考えられる。   As the scale of programs to be stored has increased with the increase in functionality of MPU, the built-in flash memory has been miniaturized to increase the capacity, and with the progress of such miniaturization, The number of rewritable times tends to decrease, which may become a more important problem in the future.

本発明の課題は、これらの問題点を解決し、MPUに内蔵されたフラッシュメモリ等の不揮発性メモリについて、エミュレーションにおける書き換え回数を低減させることが可能な技術を提供することにある。本発明の前記ならびにその他の課題と新規な特徴は、本明細書の記述及び添付図面によって明らかになるであろう。   An object of the present invention is to solve these problems and provide a technique capable of reducing the number of rewrites in emulation for a nonvolatile memory such as a flash memory built in an MPU. The above and other problems and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
内蔵フラッシュメモリを搭載したMPUを用いたユーザシステムと接続するエミュレータにおいて、前記エミュレータのエミュレーションモジュールには、前記内蔵フラッシュメモリのメモリ空間と対応したキャッシュメモリを接続し、このキャッシュメモリが内蔵フラッシュメモリの機能を代行して、エミュレーションを行なう。
Of the inventions disclosed in this application, the outline of typical ones will be briefly described as follows.
In an emulator connected to a user system using an MPU equipped with a built-in flash memory, a cache memory corresponding to the memory space of the built-in flash memory is connected to the emulation module of the emulator. Perform emulation on behalf of functions.

また、内蔵フラッシュメモリを搭載したMPUを用いたユーザシステムの製品開発を行なう開発支援システムにおいて、前記ユーザシステムと接続するエミュレータのエミュレーションモジュールには、前記内蔵フラッシュメモリのメモリ空間と対応したキャッシュメモリを接続し、このキャッシュメモリが内蔵フラッシュメモリの機能を代行して、エミュレーションを行なう。   In a development support system for developing a user system product using an MPU equipped with a built-in flash memory, an emulator emulation module connected to the user system has a cache memory corresponding to the memory space of the built-in flash memory. Connected and this cache memory performs emulation in place of the function of the built-in flash memory.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記のとおりである。
(1)本発明によれば、キャッシュメモリによって内蔵フラッシュメモリの機能を代行することができるという効果がある。
(2)本発明によれば、上記効果(1)により、内蔵フラッシュメモリの書き換え回数を低減させることができるという効果がある。
(3)本発明によれば、上記効果(1)により、データの読み出し・書き込みを高速化することができるという効果がある。
The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
(1) According to the present invention, the function of the built-in flash memory can be substituted by the cache memory.
(2) According to the present invention, the effect (1) has an effect that the number of rewrites of the built-in flash memory can be reduced.
(3) According to the present invention, due to the effect (1), there is an effect that reading / writing of data can be speeded up.

以下、本発明の実施の形態を説明する。なお、実施の形態を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。   Embodiments of the present invention will be described below. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

図2は、本発明の一実施の形態であるエミュレータを用いて開発を行なうユーザシステムの一例を示すブロック図である。   FIG. 2 is a block diagram showing an example of a user system that performs development using an emulator according to an embodiment of the present invention.

このユーザシステム6には、フラッシュメモリを内蔵したMPU10が搭載されており、内蔵されたフラッシュメモリ11に書き込まれたプログラムに従って、このMPU10がユーザシステムの各種制御等を行なっている。   The user system 6 includes an MPU 10 with a built-in flash memory, and the MPU 10 performs various controls of the user system according to a program written in the built-in flash memory 11.

図3は、本発明の一実施の形態であるエミュレータを用いて構築した開発支援システムの一例を示すブロック図である。本実施の形態のエミュレータ1に搭載されているMPU10は、実際に製品としてユーザシステム6に用いられるものであり、製品と同様のフラッシュメモリ11が内蔵されている。MPU10は、ケーブル5によって開発対象となるユーザシステムと接続されており、ユーザシステムに搭載された状態と同様に機能する。   FIG. 3 is a block diagram showing an example of a development support system constructed using an emulator according to an embodiment of the present invention. The MPU 10 mounted on the emulator 1 of the present embodiment is actually used as a product in the user system 6 and includes the same flash memory 11 as the product. The MPU 10 is connected to the user system to be developed by the cable 5 and functions in the same manner as the state mounted on the user system.

このMPU10は、例えば、JTAG(Joint Test Action Group)規格等のシリアル通信によってエミュレーションモジュール7と接続されており、エミュレーションモジュール7は、エミュレーション全般を処理するために、プログラムのデバッグに必要な回路が組み込まれている。   The MPU 10 is connected to the emulation module 7 by serial communication such as JTAG (Joint Test Action Group) standard, for example. The emulation module 7 incorporates a circuit necessary for debugging the program in order to process the entire emulation. It is.

エミュレーションでは、このエミュレーションモジュール7からMPU10にエミュレーションのための各種制御信号を送り、MPU10の内部状態に応じた情報等を受け取って、そのMPU10の動作状態をエミュレーションモジュール7によってモニタ或いはトレースし、ユーザシステム6に用いられるプログラム等のソフトウェアをデバッグすることができる。   In the emulation, various control signals for emulation are sent from the emulation module 7 to the MPU 10, information corresponding to the internal state of the MPU 10 is received, and the operation state of the MPU 10 is monitored or traced by the emulation module 7, and the user system 6 can be used to debug software such as programs.

また、エミュレーションモジュール7には、キャッシュメモリ12、Validテーブル13、書き換え回数カウンタ14、コンペアモジュール15、端末インタフェース8が接続されており、この端末インタフェース8に外部からユーザがエミュレータに対して操作を行なうユーザ操作端末9が接続されている。   The emulation module 7 is connected with a cache memory 12, a valid table 13, a rewrite count counter 14, a compare module 15, and a terminal interface 8. A user operates the emulator from the outside to the terminal interface 8. A user operation terminal 9 is connected.

図4に、内蔵フラッシュメモリ11、キャッシュメモリ12、Validテーブル13、書き換え回数カウンタ14の関係を示す。内蔵フラッシュメモリ11は、用途に応じて異なるが、例えば4KB,16KB,256KB等の容量となっている複数のブロックに分割されており、合計した容量は例えば32MBであり、夫々のブロックはアドレスによって識別されている。   FIG. 4 shows the relationship among the built-in flash memory 11, the cache memory 12, the Valid table 13, and the rewrite count counter 14. The built-in flash memory 11 is divided into a plurality of blocks each having a capacity of, for example, 4 KB, 16 KB, 256 KB, etc., depending on the application, and the total capacity is, for example, 32 MB. Have been identified.

キャッシュメモリ12は、エミュレーションを行なう一連のユーザ操作の間、内蔵フラッシュメモリ11の機能を代行するため、内蔵フラッシュメモリ11と同一のブロック数と同一容量分の記憶容量を確保する。しかし、機能を代行するために、内蔵フラッシュメモリ11のメモリ空間と対応するメモリ空間をキャッシュメモリ12に構築できれば良いので、夫々のブロックの容量やブロックの数或いは合計した容量が必ずしも同一である必要はない。   The cache memory 12 substitutes the function of the built-in flash memory 11 during a series of user operations for performing emulation, and therefore secures the same number of blocks and the same storage capacity as the built-in flash memory 11. However, in order to perform the function, it is sufficient that the memory space corresponding to the memory space of the built-in flash memory 11 can be constructed in the cache memory 12, so that the capacity of each block, the number of blocks, or the total capacity must be the same. There is no.

また、キャッシュメモリ12には、特性上の制約はなく、内蔵フラッシュメモリ11と同様にフラッシュメモリを用いても良いが、他の種類のメモリ例えばDRAM(Dynamic Random Access Memory)或いはSRAM(Static Random Access Memory)等を用いることも可能であり、エミュレータシステムの空きメモリを利用することで、エミュレータの価格を削減することも可能である。キャッシュメモリ12として、DRAM或いはSRAMを用いた場合には、読み込み或いは書き込みの際に高速の応答が可能になる。   The cache memory 12 is not limited in characteristics, and a flash memory may be used similarly to the built-in flash memory 11. However, other types of memory such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access) are used. Memory) or the like can be used, and the emulator price can be reduced by using the free memory of the emulator system. When a DRAM or SRAM is used as the cache memory 12, a high-speed response is possible when reading or writing.

通常の内蔵フラッシュメモリ11では、データの頻繁な書き換えは想定していないので、書き換え回数が1000回程度となっており、キャッシュメモリ12にフラッシュメモリを用いる場合には、データ格納等に用いられるため書き換え回数が10万回程度と強化されている汎用のフラッシュメモリが望ましい。   Since the normal internal flash memory 11 does not assume frequent data rewrite, the number of rewrites is about 1000. When the flash memory is used as the cache memory 12, it is used for data storage or the like. A general-purpose flash memory whose rewrite frequency is enhanced to about 100,000 times is desirable.

内蔵フラッシュメモリ11のブロックごとに対応するValidテーブル13には、キャッシュメモリ12のデータの有効性を記録しており、アドレスごとに「1」か「0」の値が記録されており、本実施の形態では、Validテーブル13の値が「1」の場合には、該当するアドレスのキャッシュメモリ12のデータが有効であり、「0」の場合には、該当するアドレスのキャッシュメモリ12のデータが有効ではないことを示している。   The Valid table 13 corresponding to each block of the built-in flash memory 11 records the validity of the data in the cache memory 12 and records a value of “1” or “0” for each address. In this form, when the value of the Valid table 13 is “1”, the data in the cache memory 12 at the corresponding address is valid, and when it is “0”, the data in the cache memory 12 at the corresponding address is valid. Indicates that it is not valid.

書き換え回数カウンタ14には、ブロックごとに内蔵フラッシュメモリ11の書き換え回数0〜N(Nは自然数)を記録している。書き換え回数カウンタ14は、電源をオフとした状態でもデータを保持する必要があり、不揮発性のメモリを用いることが、保守・修理の面から望ましい。例えば、内蔵フラッシュメモリ11の各ブロックの一部がエミュレータ1に開放されている場合には、その部分を書き換え回数カウンタ14として使用することも可能である。   The rewrite count counter 14 records the number of rewrites 0 to N (N is a natural number) of the built-in flash memory 11 for each block. The rewrite counter 14 needs to retain data even when the power is turned off, and it is desirable to use a non-volatile memory from the viewpoint of maintenance and repair. For example, when a part of each block of the built-in flash memory 11 is open to the emulator 1, that part can be used as the rewrite count counter 14.

図5に示すのは、コンペアモジュール15の動作であり、指定されたアドレス範囲における内蔵フラッシュメモリ11から読み出したデータとキャッシュメモリ12から読み出したデータとを比較して、それらのデータの一致・不一致をエミュレーションモジュール7に知らせる機能をもっている。   FIG. 5 shows the operation of the compare module 15. The data read from the built-in flash memory 11 in the designated address range is compared with the data read from the cache memory 12, and the data matches or does not match. Is provided to the emulation module 7.

図6に、このエミュレータ1の動作をフロー図で示す。先ずエミュレータ1を起動させると、初期動作として、キャッシュメモリ12を初期化し、続いてValidテーブル13の値を全て「0」にして、ユーザ操作端末9からのコマンドを受け付ける状態となる。キャッシュメモリ12の初期化とは、全消去時の内蔵フラッシュメモリ11が示す値であり、通常はその値が「1」である。   FIG. 6 is a flowchart showing the operation of the emulator 1. First, when the emulator 1 is activated, the cache memory 12 is initialized as an initial operation, and then all the values in the Valid table 13 are set to “0”, and a command from the user operation terminal 9 is accepted. The initialization of the cache memory 12 is a value indicated by the built-in flash memory 11 at the time of all erasure, and normally the value is “1”.

ここで、ユーザ操作端末9から「アドレスAのデータを読み込む」コマンドがきた場合には、先ずアドレスAに対応するValidテーブル13の値を確認し、値が「1」である場合には、キャッシュメモリ12がヒットしているので、アドレスAに対応するキャッシュメモリ12の内容を読み込んで、ユーザ操作端末9に応答を返す。Validテーブル13の値が「0」である場合には、キャッシュメモリ12がミスヒットしているので、アドレスAに対応する内蔵フラッシュメモリ11の内容を読み込んで、ユーザ操作端末9に応答を返す。   Here, when a “read data of address A” command is received from the user operation terminal 9, first, the value of the Valid table 13 corresponding to the address A is checked, and when the value is “1”, the cache Since the memory 12 is hit, the contents of the cache memory 12 corresponding to the address A are read and a response is returned to the user operation terminal 9. When the value of the Valid table 13 is “0”, the cache memory 12 has a miss-hit, so the contents of the built-in flash memory 11 corresponding to the address A are read and a response is returned to the user operation terminal 9.

また、ユーザ操作端末9から「アドレスAにデータを書き込む」コマンドがきた場合には、先ずアドレスAに対応するValidテーブル13の値を「1」にして、アドレスAに対応するキャッシュメモリ12にデータを書き込んで、ユーザ操作端末9に応答を返す。   When a command “write data to address A” is received from the user operation terminal 9, first, the value of the Valid table 13 corresponding to the address A is set to “1”, and the data is stored in the cache memory 12 corresponding to the address A. And a response is returned to the user operation terminal 9.

また、ユーザ操作端末9から「プログラム実行」のコマンドがきた場合には、先ずアドレスAに対応するValidテーブル13の値を確認し、値が「1」となっているブロックを検索し、Validテーブル13が「1」のブロックのアドレスに対応するキャッシュメモリ12のデータと内蔵フラッシュメモリ11のデータとをコンペアモジュール15によって比較する。   When a “program execution” command is received from the user operation terminal 9, first, the value of the Valid table 13 corresponding to the address A is confirmed, a block whose value is “1” is searched, and the Valid table The compare module 15 compares the data in the cache memory 12 corresponding to the address of the block whose block is “1” with the data in the built-in flash memory 11.

続いて、コンペアモジュール15が不一致と判定したブロックのキャッシュメモリ12のデータを対応する内蔵フラッシュメモリ11に書き込んで、書き込みを実行したブロックの書き換え回数カウンタ14の値を「1」加算して、Validテーブル13の値を全て「0」に戻した後に、プログラムを実行して、ユーザ操作端末9に応答を返す。   Subsequently, the data of the cache memory 12 of the block determined to be inconsistent by the compare module 15 is written to the corresponding built-in flash memory 11, and the value of the rewrite counter 14 of the block for which writing has been performed is incremented by “1”. After returning all the values in the table 13 to “0”, the program is executed and a response is returned to the user operation terminal 9.

また、ユーザ操作端末9からメモリ操作を含まない「その他処理」のコマンドがきた場合には、従来と変わらずその処理を行ない、ユーザ操作端末9に応答を返す。   Further, when a command for “other processing” that does not include a memory operation is received from the user operation terminal 9, the process is performed as before, and a response is returned to the user operation terminal 9.

本実施の形態の開発支援システムでは、キャッシュメモリ12は、エミュレーションを行なう一連のユーザ操作の間、内蔵フラッシュメモリ11の機能を代行し、内蔵フラッシュメモリ11への書き込みはプログラム実行の直前にのみ発生するので、内蔵フラッシュメモリ11の書き換えの回数を低減させることができる。   In the development support system of this embodiment, the cache memory 12 substitutes for the function of the internal flash memory 11 during a series of user operations for emulation, and writing to the internal flash memory 11 occurs only immediately before program execution. Therefore, the number of rewrites of the built-in flash memory 11 can be reduced.

これまでは、内蔵フラッシュメモリ11からの読み出し・書き込みの動作が遅いために、速度的なボトルネックとなっていたが、内蔵フラッシュメモリ11のブロックごとに対応するValidテーブル13に、キャッシュメモリ12のデータの有効性を記録されているので、キャッシュメモリ12からの読み出しが多くなり、高速な応答が可能になる。   Until now, since the read / write operation from the built-in flash memory 11 is slow, it has become a speed bottleneck. However, the Valid table 13 corresponding to each block of the built-in flash memory 11 includes the cache memory 12. Since the validity of the data is recorded, reading from the cache memory 12 increases and a high-speed response is possible.

また、コンペアモジュール15によって、内蔵フラッシュメモリ11から読み出したデータとキャッシュメモリ12から読み出したデータとの一致・不一致を知ることができる。このため、キャッシュメモリ12上でデータの書き換えがあった場合でも、キャッシュメモリ12から保存するデータが内蔵フラッシュメモリ11上のデータと同一値である場合には、書き換えを省略することで、不必要な書き換えをなくすことができる。これは、プログラムの局所性の点から、実使用上有効である。   Further, the compare module 15 can know whether the data read from the built-in flash memory 11 matches the data read from the cache memory 12. For this reason, even if the data is rewritten on the cache memory 12, if the data stored from the cache memory 12 has the same value as the data on the built-in flash memory 11, it is unnecessary to rewrite. Can be eliminated. This is effective in practical use from the viewpoint of program locality.

書き換え回数カウンタ14には、ブロックごとに内蔵フラッシュメモリ11の書き換え回数を記録しているので、ブロックごとに正確な書き換え回数を知ることができる。このため、保証された書き換え回数の限界まで、内蔵フラッシュメモリ11を活用することができる。   Since the rewrite count counter 14 records the rewrite count of the built-in flash memory 11 for each block, the correct rewrite count can be known for each block. For this reason, the built-in flash memory 11 can be utilized up to the limit of the guaranteed number of rewrites.

図7に示すのは、本実施の形態の変形例を示すブロック図であり、この例では、MPU10は、実際に製品として用いられるものがユーザシステム6に搭載された、オンチップエミュレータとなっている。   FIG. 7 is a block diagram showing a modification of the present embodiment. In this example, the MPU 10 is an on-chip emulator in which what is actually used as a product is mounted on the user system 6. Yes.

MPU10は、例えば、JTAG(Joint Test Action Group)規格等のシリアル通信によってエミュレータ1のエミュレーションモジュール7と接続されており、エミュレーションモジュール7は、エミュレーション全般を処理するために、プログラムのデバッグに必要な回路が組み込まれている。   The MPU 10 is connected to the emulation module 7 of the emulator 1 by serial communication such as JTAG (Joint Test Action Group) standard, and the emulation module 7 is a circuit necessary for debugging the program in order to process the entire emulation. Is incorporated.

エミュレーションでは、このエミュレーションモジュール7からMPU10にエミュレーションのための各種制御信号を送り、MPU10の内部状態に応じた情報等を受け取って、そのMPU10の動作状態をエミュレーションモジュール7によってモニタ或いはトレースし、ユーザシステム6に用いられるプログラム等のソフトウェアをデバッグすることができる。   In the emulation, various control signals for emulation are sent from the emulation module 7 to the MPU 10, information corresponding to the internal state of the MPU 10 is received, and the operation state of the MPU 10 is monitored or traced by the emulation module 7, and the user system 6 can be used to debug software such as programs.

それ以外の構成は前述の例と同様であり、エミュレーションモジュール7には、キャッシュメモリ12、Validテーブル13、書き換え回数カウンタ14、コンペアモジュール15、端末インタフェース8が接続されており、この端末インタフェース8に外部からユーザがエミュレータ1に対して操作を行なうユーザ操作端末9が接続されている。
本例の構成としても、前述した例と同様の効果をあげることが可能である。
The rest of the configuration is the same as in the above example. The emulation module 7 is connected to a cache memory 12, a valid table 13, a rewrite count counter 14, a compare module 15, and a terminal interface 8. A user operation terminal 9 is connected to allow the user to operate the emulator 1 from the outside.
Also with the configuration of this example, it is possible to obtain the same effect as the above-described example.

以上、本発明を、前記実施の形態に基づき具体的に説明したが、本発明は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
例えば、前述の説明ではエミュレーションを例にして本発明を説明したが、システムのセルフチェック機能等のように、内蔵フラッシュメモリを頻繁に書き換える可能性のある場合に、本発明を適用することも可能である。
Although the present invention has been specifically described based on the above-described embodiment, the present invention is not limited to the above-described embodiment, and it is needless to say that various changes can be made without departing from the scope of the invention. It is.
For example, in the above description, the present invention has been described using emulation as an example. However, the present invention can also be applied to cases where the built-in flash memory may be frequently rewritten, such as a system self-check function. It is.

従来のエミュレータを用いた開発支援システムを示すブロック図である。It is a block diagram which shows the development support system using the conventional emulator. 開発を行なうユーザシステムを示すブロック図である。It is a block diagram which shows the user system which develops. 本発明の一実施の形態であるエミュレータを用いた開発支援システムを示すブロック図である。1 is a block diagram showing a development support system using an emulator according to an embodiment of the present invention. 内蔵フラッシュメモリ、キャッシュメモリ、Validテーブル、書き換え回数カウンタの関係を示す図である。It is a figure which shows the relationship between a built-in flash memory, a cache memory, a Valid table, and the rewrite frequency counter. コンペアモジュールの動作を示す図である。It is a figure which shows operation | movement of a compare module. 本発明の一実施の形態である開発システムの動作を示すフロー図である。It is a flowchart which shows operation | movement of the development system which is one embodiment of this invention. 本発明の一実施の形態であるエミュレータを用いた開発支援システムの変形例を示すブロック図である。It is a block diagram which shows the modification of the development assistance system using the emulator which is one embodiment of this invention.

符号の説明Explanation of symbols

1…エミュレータ、2…エミュレーション専用MPU、3…専用外部バス、4…代替メモリ、5…ケーブル、6…ユーザシステム、7…エミュレーションモジュール、8…端末インタフェース、9…ユーザ操作端末、10…MPU、11…内蔵フラッシュメモリ、12…キャッシュメモリ、13…Validテーブル、14…書き換え回数カウンタ、15…コンペアモジュール。
DESCRIPTION OF SYMBOLS 1 ... Emulator, 2 ... Emulation exclusive MPU, 3 ... Dedicated external bus, 4 ... Alternative memory, 5 ... Cable, 6 ... User system, 7 ... Emulation module, 8 ... Terminal interface, 9 ... User operation terminal, 10 ... MPU, DESCRIPTION OF SYMBOLS 11 ... Built-in flash memory, 12 ... Cache memory, 13 ... Valid table, 14 ... Rewrite frequency counter, 15 ... Compare module.

Claims (5)

内蔵フラッシュメモリを搭載したMPUを用いたユーザシステムと接続するエミュレータにおいて、
前記エミュレータのエミュレーションモジュールには、前記内蔵フラッシュメモリのメモリ空間と対応したキャッシュメモリを接続し、このキャッシュメモリが内蔵フラッシュメモリの機能を代行して、エミュレーションを行なうことを特徴とするエミュレータ。
In an emulator that connects to a user system that uses an MPU with built-in flash memory,
An emulator in which the emulation module of the emulator is connected to a cache memory corresponding to the memory space of the built-in flash memory, and the cache memory performs emulation in place of the function of the built-in flash memory.
内蔵フラッシュメモリを搭載したMPUを用いたユーザシステムの製品開発を行なう開発支援システムにおいて、
前記ユーザシステムと接続するエミュレータのエミュレーションモジュールには、前記内蔵フラッシュメモリのメモリ空間と対応したキャッシュメモリを接続し、このキャッシュメモリが内蔵フラッシュメモリの機能を代行して、エミュレーションを行なうことを特徴とするエミュレータを用いた開発支援システム。
In a development support system that develops user system products using an MPU with built-in flash memory,
A cache memory corresponding to the memory space of the built-in flash memory is connected to the emulation module of the emulator connected to the user system, and the cache memory performs the emulation in place of the function of the built-in flash memory. Development support system that uses an emulator.
前記フラッシュメモリのブロックごとにキャッシュメモリの有効、無効の状態を判別するテーブルを有することを特徴とする請求項2に記載の開発支援システム。   The development support system according to claim 2, further comprising a table for determining whether the cache memory is valid or invalid for each block of the flash memory. 前記キャッシュメモリに記録されたデータと内蔵フラッシュメモリに記録されたデータとを比較して一致か不一致かを判定するモジュールを有することを特徴とする請求項2又は請求項3に記載の開発支援システム。   4. The development support system according to claim 2, further comprising a module that compares the data recorded in the cache memory with the data recorded in the built-in flash memory to determine whether the data matches or does not match. . 内蔵フラッシュメモリの書き込み回数を記録するカウンタを有することを特徴とする請求項2乃至請求項4の何れか一項に記載の開発支援システム。   The development support system according to any one of claims 2 to 4, further comprising a counter that records the number of times of writing in the built-in flash memory.
JP2005261786A 2005-09-09 2005-09-09 Emulator and development support system using it Expired - Fee Related JP4324149B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005261786A JP4324149B2 (en) 2005-09-09 2005-09-09 Emulator and development support system using it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005261786A JP4324149B2 (en) 2005-09-09 2005-09-09 Emulator and development support system using it

Publications (2)

Publication Number Publication Date
JP2007072941A JP2007072941A (en) 2007-03-22
JP4324149B2 true JP4324149B2 (en) 2009-09-02

Family

ID=37934306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005261786A Expired - Fee Related JP4324149B2 (en) 2005-09-09 2005-09-09 Emulator and development support system using it

Country Status (1)

Country Link
JP (1) JP4324149B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9759158B2 (en) 2006-10-12 2017-09-12 United Technologies Corporatio Dual function cascade integrated variable area fan nozzle and thrust reverser

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9759158B2 (en) 2006-10-12 2017-09-12 United Technologies Corporatio Dual function cascade integrated variable area fan nozzle and thrust reverser
US10677192B2 (en) 2006-10-12 2020-06-09 Raytheon Technologies Corporation Dual function cascade integrated variable area fan nozzle and thrust reverser
US11499502B2 (en) 2006-10-12 2022-11-15 Raytheon Technologies Corporation Dual function cascade integrated variable area fan nozzle and thrust reverser

Also Published As

Publication number Publication date
JP2007072941A (en) 2007-03-22

Similar Documents

Publication Publication Date Title
US6216251B1 (en) On-chip error detection and correction system for an embedded non-volatile memory array and method of operation
JP4129381B2 (en) Nonvolatile semiconductor memory device
KR100375217B1 (en) Microcontroller incorporating an electrically rewritable non-volatile memory
US6643725B1 (en) Memory card having a buffer memory for storing testing instruction
US7007140B2 (en) Storage device, storage device controlling method, and program
TWI554944B (en) Flash memory controlling apparatus, flash memory controlling system and flash memory controlling method
KR101819014B1 (en) Method and controller for managing memory device
US20080089161A1 (en) Method for testing flash memory power loss recovery
JP2007272635A (en) Memory system and controller
JP2006048777A (en) Nand flash memory and data writing method
TWI623940B (en) Memory system
US20020129195A1 (en) Microcomputer with built-in programmable nonvolatile memory
JP2008009721A (en) Evaluation system and evaluation method thereof
US20080282119A1 (en) Memory device and built in self-test method of the same
TWI640872B (en) Memory control circuit unit, memory storage device and control method thereof
KR100825786B1 (en) Memory card and debugging method for the same
KR20190060429A (en) Memory system and operation method thereof
JP2008251154A (en) Nonvolatile semiconductor memory device
JP4324149B2 (en) Emulator and development support system using it
JP2002288999A (en) Semiconductor memory
JP2006293824A (en) Semiconductor device
CN113127283A (en) Chip repair system, method, device, computer equipment and storage medium
JP2005050442A (en) Redundant memory circuit
JP4083474B2 (en) MEMORY DEVICE CONTROL METHOD, PROGRAM THEREOF, AND RECORDING MEDIUM
US6813677B1 (en) Memory decoder and method of operation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090520

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees