JP2001290671A - In-circuit emulator, recording medium and middleware issuing system - Google Patents

In-circuit emulator, recording medium and middleware issuing system

Info

Publication number
JP2001290671A
JP2001290671A JP2000107572A JP2000107572A JP2001290671A JP 2001290671 A JP2001290671 A JP 2001290671A JP 2000107572 A JP2000107572 A JP 2000107572A JP 2000107572 A JP2000107572 A JP 2000107572A JP 2001290671 A JP2001290671 A JP 2001290671A
Authority
JP
Japan
Prior art keywords
middleware
ice
instruction
chip
interrupt
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.)
Pending
Application number
JP2000107572A
Other languages
Japanese (ja)
Inventor
志郎 ▲吉▼岡
Shiro Yoshioka
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2000107572A priority Critical patent/JP2001290671A/en
Publication of JP2001290671A publication Critical patent/JP2001290671A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To solve the problem where conventional middleware cannot be freely distributed since copy is easy and the analysis of an algorithm by means of disassemble or the like is facilitated, while a distribution form capable of easily providing the middleware or peripheral circuit data on the internet is desired for making a profit by sales of IPs. SOLUTION: A chip ID characteristic of a system LSI is arranged, the middleware is composed of a body part of middleware and a chip ID confirming part using a user non-disclosed instruction, and a shipping ID desired to make the middleware executable is received from a user. While using a shipping ID data base, the correspondent chip ID is extracted, and the middleware capable of validation only by means of an LSI having the limited chip ID is combined and transferred to the user.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、許可されたLSIで
のみ動作しかつアルゴリズム解析が困難なミドルウェア
を発行することで、ネットワークでの自由な配信と使用
個数に応じた課金とを両立する、インサーキットエミュ
レータおよび記録媒体およびミドルウェア発行システム
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention provides middleware that operates only with a permitted LSI and that has difficulty in analyzing an algorithm, thereby achieving both free distribution on a network and charging according to the number of used devices. The present invention relates to an in-circuit emulator, a recording medium, and a middleware issuing system.

【0002】[0002]

【従来の技術】現在、ミドルウェアは契約に基づいて販
売されている。例えば、「4万本の使用に対し400万
円の対価を納め、それ以上の本数は使用しない、他社に
コピーしない」といった契約の下に販売している。
2. Description of the Related Art Currently, middleware is sold on a contract basis. For example, it is sold under a contract such as "Payment of 4 million yen for use of 40,000 copies, do not use more copies, do not copy to other companies".

【0003】[0003]

【発明が解決しようとする課題】しかし、もし違法にコ
ピーされてしまうと、複製およびアルゴリズムの解析は
容易である。だから、インターネット等によって容易に
ミドルウェアや周辺回路データを得ることのできる流通
形態を実現できなかった。
However, if copied illegally, duplication and analysis of the algorithm are easy. Therefore, a distribution form in which middleware and peripheral circuit data can be easily obtained through the Internet or the like has not been realized.

【0004】本発明はかかる課題に鑑み、許可されたLS
Iでのみ動作しかつアルゴリズム解析が困難なミドルウ
ェアを発行することで、ネットワークでの自由な配信と
使用個数に応じた課金とを両立することを目的とする。
The present invention has been made in view of such a problem, and has been developed in view of the above problem.
By issuing middleware that operates only on I and difficult to analyze algorithms, the purpose is to achieve both free distribution on the network and charging according to the number of devices used.

【0005】[0005]

【課題を解決するための手段】この課題を解決するため
本発明のインサーキットエミュレータは、ICE割り込み
検出手段とICE割り込み発生手段と命令実行手段とを有
し、ICE割り込み無効化命令を前記命令実行手段が実行
するとICE割り込み抑制フラグをセットし、前記ICE割り
込み抑制フラグがセットされている状態でICE割り込み
命令が前記命令実行手段で実行されると前記ICE割り込
み検出手段がトレース有効フラグをセットしかつICE割
り込み発生手段のICE割り込みを抑制する。
In order to solve this problem, an in-circuit emulator according to the present invention has an ICE interrupt detecting means, an ICE interrupt generating means, and an instruction executing means, and executes an ICE interrupt invalidating instruction by executing the instruction. When the means executes, the ICE interrupt suppression flag is set, and when the ICE interrupt instruction is executed by the instruction execution means while the ICE interrupt suppression flag is set, the ICE interrupt detection means sets the trace effective flag; Suppress the ICE interrupt of the ICE interrupt generation means.

【0006】この課題を解決するため本発明のインサー
キットエミュレータは、前記トレース有効フラグがセッ
トされている状態でICE割り込み有効化命令が前記命令
実行手段で実行されると前記割り込み抑制フラグをリセ
ットしてICE割り込みを発生。
In order to solve this problem, an in-circuit emulator of the present invention resets the interrupt suppression flag when an ICE interrupt enable instruction is executed by the instruction execution means while the trace enable flag is set. Generates an ICE interrupt.

【0007】この課題を解決するため本発明の記録媒体
は、ICEチップのチップIDを確認するステップと、量産
チップのチップIDを確認するステップと、確認の結果条
件を満たしていなければサブルーチンコールされた次の
アドレスへ復帰するステップとからなるプログラムを格
納する。
In order to solve this problem, the recording medium of the present invention includes a step of confirming a chip ID of an ICE chip, a step of confirming a chip ID of a mass-produced chip, and a subroutine call if the result of the confirmation is not satisfied. And returning to the next address.

【0008】この課題を解決するため本発明の記録媒体
は、最初にICE割り込みを無効化するステップを備え、
最後にICE割り込みを有効化するステップとからなるプ
ログラムを格納する。
In order to solve this problem, a recording medium according to the present invention comprises a step of first disabling an ICE interrupt,
Finally, a program comprising the step of enabling the ICE interrupt is stored.

【0009】この課題を解決するため本発明の記録媒体
は、前記ICE割り込みを無効化するステップはユーザに
公開されていない命令コードで記述されている。
In order to solve this problem, in the recording medium of the present invention, the step of disabling the ICE interrupt is described by an instruction code that is not disclosed to the user.

【0010】この課題を解決するため本発明のミドルウ
ェア発行システムは、ユーザコンピュータと通信回線に
より接続され、前記ユーザコンピュータから出荷IDと個
数とを取得する出荷ID取得手段と、前記出荷IDとチップ
IDとの対応関係を示す出荷IDデータベースと、前記出荷
IDデータベースから前記出荷IDと前記個数を用いてチッ
プIDを抽出しチップID確認部を生成するチップID確認部
生成手段と、複数のミドルウェア本体部を格納したミド
ルウェアデータベースと、前記ミドルウェアデータベー
スからユーザの指定するミドルウェア本体部を抽出し前
記チップID確認部と合成してミドルウェアを生成するミ
ドルウェア合成手段と、前記ユーザコンピュータへ前記
ミドルウェアを転送するミドルウェア転送手段とを備え
る。
To solve this problem, a middleware issuing system according to the present invention is connected to a user computer by a communication line, and obtains a shipping ID and a number of the shipping ID and the number from the user computer;
A shipping ID database indicating the correspondence with the ID,
A chip ID checking unit generating means for extracting a chip ID using the shipping ID and the number from the ID database to generate a chip ID checking unit, a middleware database storing a plurality of middleware main units, and a user ID from the middleware database. Middleware combining means for extracting a designated middleware main body and combining it with the chip ID confirmation unit to generate middleware, and middleware transferring means for transferring the middleware to the user computer.

【0011】この課題を解決するため本発明のミドルウ
ェア発行システムは、回路データを前記ユーザコンピュ
ータへ転送する回路データ転送手段を備え、前記回路デ
ータを用いて作られる回路を制御する回路制御用ミドル
ウェアを前記ユーザコンピュータへ転送する。
In order to solve this problem, a middleware issuing system according to the present invention includes circuit data transfer means for transferring circuit data to the user computer, and includes a circuit control middleware for controlling a circuit formed using the circuit data. Transfer to the user computer.

【0012】この課題を解決するため本発明のミドルウ
ェア発行システムのミドルウェアは、ICE割り込み命令
を無効にする命令で始まりICE割り込みを有効にする命
令で終わる。
In order to solve this problem, the middleware of the middleware issuing system of the present invention starts with an instruction for disabling an ICE interrupt instruction and ends with an instruction for enabling an ICE interrupt.

【0013】この課題を解決するため本発明のミドルウ
ェア発行システムのミドルウェアは、前記ICE割り込み
命令を無効にする命令はユーザに公開されていない命令
コードで記述されている。
In order to solve this problem, in the middleware of the middleware issuing system of the present invention, the instruction for invalidating the ICE interrupt instruction is described by an instruction code not disclosed to the user.

【0014】[0014]

【発明の実施の形態】以下、本発明の実施の形態につい
て、図1から図7を用いて説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the present invention will be described below with reference to FIGS.

【0015】図1は、本発明の形態におけるミドルウェ
ア発行システムの構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a middleware issuing system according to an embodiment of the present invention.

【0016】図1において、1はミドルウェアおよび周
辺回路データを発行するホストコンピュータ、2はユー
ザに販売したシステムLSIの出荷IDとチップIDとの対応
関係のデータベース、3は複数種類のミドルウェア本体
部を収納したデータベース、8は回路情報を収納した回
路データベース、4はホストコンピュータ1に通信回線
7を介して接続されるユーザコンピュータ、9はユーザ
コンピュータへ転送したミドルウェアの情報を収納して
おくミドルウェア発行データベース、5はユーザコンピ
ュータに接続されプログラム開発に用いられるICEチッ
プ、6は完成したユーザプログラムおよび周辺回路をシ
ステムLSIに書き込むROMライタである。
In FIG. 1, 1 is a host computer for issuing middleware and peripheral circuit data, 2 is a database of a correspondence relationship between a shipment ID of a system LSI sold to a user and a chip ID, and 3 is a plurality of types of middleware main units. The stored database, 8 is a circuit database that stores circuit information, 4 is a user computer connected to the host computer 1 via the communication line 7, and 9 is a middleware issuing database that stores middleware information transferred to the user computer. Reference numeral 5 denotes an ICE chip connected to a user computer and used for program development. Reference numeral 6 denotes a ROM writer for writing a completed user program and peripheral circuits to a system LSI.

【0017】以上のシステムにおいて、ユーザはユーザ
コンピュータ4を用いて、インターネット等の通信回線
7を介してホストコンピュータ1に接続し、ユーザIDと
パスワードを用いてログインする。次に、ユーザはホス
トコンピュータ1に対して使いたいミドルウェアを指定
する。このミドルウェアはタイマー等の周辺回路を必要
とするものを含む。ICEチップ5によりミドルウェアを
評価する場合、その料金は無料であり、ホストコンピュ
ータ1はICEチップ5でのみ動作するミドルウェアをユ
ーザコンピュータ4へ転送する。また、量産用のシステ
ムLSIにミドルウェアを搭載する場合は、使用本数に応
じてユーザは対価を払わなければならない。ユーザはホ
ストコンピュータ1にシステムLSI個々に印刷された出
荷IDとミドルウェアの使用本数とを指定し、ホストコン
ピュータ1はユーザの要望したシステムLSIおよびICEチ
ップ5でのみ動作可能なミドルウェアおよび回路データ
をユーザコンピュータ4へ転送する。
In the above system, the user connects to the host computer 1 via the communication line 7 such as the Internet using the user computer 4, and logs in using the user ID and password. Next, the user specifies the desired middleware for the host computer 1. This middleware includes those requiring peripheral circuits such as timers. When the middleware is evaluated by the ICE chip 5, the charge is free, and the host computer 1 transfers the middleware that operates only on the ICE chip 5 to the user computer 4. Further, when middleware is mounted on a system LSI for mass production, a user must pay for the number of used middleware. The user specifies the shipping ID printed on each system LSI and the number of middleware used in the host computer 1, and the host computer 1 stores the middleware and circuit data that can be operated only by the system LSI and the ICE chip 5 requested by the user. Transfer to computer 4.

【0018】図4は、ROMライタ6によってミドルウェ
アおよび回路データを書き込まれるシステムLSI41の
構成を示す図である。41はシステムLSI、43はROMラ
イタ6によって周辺回路データを書き込むことのできる
FPGA、45はROMライタ6によってミドルウェアを含む
ユーザプログラムを書き込むための不揮発性メモリであ
り、42は不揮発性メモリ45に置かれたプログラムを
実行しFPGA43に作られた周辺回路を制御するCPUであ
る。そして、44はシステムLSI41に固有のチップID
であって、全てのシステムLSIはICEチップも含めそれぞ
れ異なるチップIDを有している。
FIG. 4 is a diagram showing the configuration of a system LSI 41 in which middleware and circuit data are written by the ROM writer 6. 41 is a system LSI and 43 is a ROM writer 6 that can write peripheral circuit data.
The FPGA 45 is a nonvolatile memory for writing a user program including middleware by the ROM writer 6, and the CPU 42 executes a program stored in the nonvolatile memory 45 and controls a peripheral circuit created in the FPGA 43. . 44 is a chip ID unique to the system LSI 41
Therefore, all the system LSIs have different chip IDs including the ICE chip.

【0019】図7は、ICEチップ5の構成を示す図であ
る。73は周辺回路データを書き込むことのできるFPG
A、75はミドルウェアを含むユーザプログラムを置く
揮発性メモリであり、72は揮発性メモリ75に置かれ
たプログラムを実行しFPGA73に作られた周辺回路を制
御するCPUである。そして、74はICEチップ5に固有の
チップIDであって、全のICEチップはそれぞれ異なるチ
ップIDを有している。さらに、421は命令のステップ
実行をする際に用いるアドレス格納手段、422は命令
のステップ実行をする際に用いる命令格納手段である。
423はミドルウェアのトレースをスキップする際に用
いるトレース有効フラグ、424はICE割り込み命令を
検出するICE割り込み検出手段、425はICE割り込みを
発生するICE割り込み発生手段、426はミドルウェア
のトレースを抑制する際用いるICE割り込み抑制フラ
グ、427は命令を実行する命令実行手段である。
FIG. 7 is a diagram showing a configuration of the ICE chip 5. 73 is an FPG to which peripheral circuit data can be written
A and 75 are volatile memories in which a user program including middleware is stored, and 72 is a CPU that executes a program stored in the volatile memory 75 and controls a peripheral circuit created in the FPGA 73. Reference numeral 74 denotes a chip ID unique to the ICE chip 5, and all ICE chips have different chip IDs. Further, reference numeral 421 denotes an address storage means used when executing the step of the instruction, and 422 denotes an instruction storage means used when executing the step of the instruction.
423 is a trace valid flag used when skipping middleware tracing, 424 is an ICE interrupt detecting means for detecting an ICE interrupt instruction, 425 is an ICE interrupt generating means for generating an ICE interrupt, and 426 is used for suppressing middleware tracing. The ICE interrupt suppression flag 427 is an instruction executing means for executing an instruction.

【0020】図2は、ホストコンピュータ1で実現され
ている、それぞれの機能を示す図である。
FIG. 2 is a diagram showing each function realized by the host computer 1.

【0021】前述したように、まずユーザはユーザコン
ピュータ4を用いて、インターネット等の通信回線7を
介してホストコンピュータ1に接続し、ユーザIDとパス
ワードを用いてログインする。ここで、ホストコンピュ
ータ1はユーザID取得手段100によって、ユーザIDを
認識する。
As described above, the user first connects to the host computer 1 via the communication line 7 such as the Internet using the user computer 4, and logs in using the user ID and password. Here, the host computer 1 recognizes the user ID by the user ID obtaining means 100.

【0022】次に、ユーザはホストコンピュータ1に対
して使いたいミドルウェアを指定する。これはタイマー
等の周辺回路を含む。周辺回路の制御レジスタはアドレ
スが公開されておらず直接ユーザがアクセスすることは
できないが、専用のミドルウェアを用いて制御する。あ
とで説明するが、本発明のミドルウェアは決められたLS
Iでのみ使用が可能であり、従って回路も決められたLSI
でのみ使用可能となる。そして、ミドルウェアをICEチ
ップ5で評価のために使用するのか、量産用のシステム
LSIに搭載するのかを指定し、量産用の場合はシステムL
SI個々に印刷された出荷IDを指定する。ここで、出荷ID
取得手段101が出荷IDの範囲を認識する。例えば、IC
Eチップ5で評価のために使用する場合は、ICEチップを
意味する出荷IDとして、「ICE」という値が認識され、
量産用の場合はシステムLSI個々に印刷された出荷IDと
して、「99-12-000020」(99年12月の20番目という意
味)という値と使用本数が認識される。使用本数が100
なら、出荷IDの99-12-000020から99-12-000119がミドル
ウェアを使用する。さらに、出荷ID取得手段101は、
出荷IDデータベースを用いて出荷IDに対応するチップID
を抽出し、さらに認識されたユーザIDに矛盾がないこと
を確認する。もし矛盾があればミドルウェアの配信を中
止する。
Next, the user specifies the desired middleware for the host computer 1. This includes peripheral circuits such as timers. Although the address of the control register of the peripheral circuit is not disclosed and cannot be directly accessed by the user, it is controlled using dedicated middleware. As will be described later, the middleware of the present invention is a fixed LS
An LSI that can be used only with I, and therefore has a fixed circuit
Only available in. And whether to use middleware for evaluation with ICE chip 5 or mass production system
Specify whether to mount on LSI, and use system L for mass production
Specify the shipping ID printed for each SI. Where shipping ID
The acquisition unit 101 recognizes the range of the shipping ID. For example, IC
When used for evaluation with the E chip 5, the value "ICE" is recognized as the shipping ID meaning the ICE chip,
In the case of mass production, the value “99-12-000020” (meaning the 20th in December 1999) and the number of used units are recognized as the shipping ID printed on each system LSI. 100 used
Then, shipping IDs 99-12-000020 to 99-12-000119 use middleware. Further, the shipping ID acquisition means 101
Chip ID corresponding to shipping ID using shipping ID database
And confirm that there is no inconsistency in the recognized user ID. If there is a contradiction, the distribution of the middleware is stopped.

【0023】そして、抽出されたチップIDを用いて、チ
ップID確認部生成手段102が、指定されたチップIDを
持つシステムLSIとICEでのみミドルウェアを使用可能に
するためにミドルウェアの頭部に置かれるチップID確認
部を生成する。
Then, using the extracted chip ID, the chip ID confirming unit generating means 102 is placed at the head of the middleware so that the middleware can be used only in the system LSI and ICE having the specified chip ID. Generate a chip ID confirmation unit to be used.

【0024】最後に、ミドルウェア合成手段103がミ
ドルウェア本体部を、ユーザの指定に従ってミドルウェ
アデータベース3から抽出し、チップID確認部と抽出さ
れたミドルウェア本体部とを合成しミドルウェアを生成
し、ミドルウェア転送手段104がユーザコンピュータ
4へ完成したミドルウェアを転送する。ミドルウェアが
周辺回路を必要とする場合は、回路データベース8から
回路データ転送手段105が所望の回路データを抽出し
ユーザコンピュータ4へ転送する。
Finally, the middleware synthesizing means 103 extracts the middleware main body from the middleware database 3 in accordance with the user's specification, and synthesizes the chip ID confirmation part and the extracted middleware main body to generate middleware. 104 transfers the completed middleware to the user computer 4. When the middleware requires a peripheral circuit, the circuit data transfer unit 105 extracts desired circuit data from the circuit database 8 and transfers the circuit data to the user computer 4.

【0025】以上、ユーザコンピュータ4へ転送したミ
ドルウェアのIDおよびバージョン、回路の種類およびバ
ージョン、ミドルウェアの実行を許可された出荷IDの範
囲は、ミドルウェア発行データベース9に記録される。
その後ミドルウェアのバージョンが更新されたとする。
ユーザコンピュータ4はホストコンピュータ1へアクセ
スすると、ミドルウェア発行データベース9に記録され
たミドルウェアのIDを参照し、ミドルウェアデータベー
ス3よりそのIDを有するミドルウェアの最新のバージョ
ン情報を抽出して、ミドルウェア発行データベース9に
記録されたミドルウェアのバージョンと比較し、異なれ
ば最新のバージョン情報をユーザコンピュータ4へ転送
する。
As described above, the ID and version of the middleware transferred to the user computer 4, the type and version of the circuit, and the range of the shipping ID permitted to execute the middleware are recorded in the middleware issuing database 9.
Then, it is assumed that the middleware version is updated.
When the user computer 4 accesses the host computer 1, the user computer 4 refers to the middleware ID recorded in the middleware issuing database 9, extracts the latest version information of the middleware having the ID from the middleware database 3, and stores the latest version information in the middleware issuing database 9. The version is compared with the recorded middleware version, and if different, the latest version information is transferred to the user computer 4.

【0026】図3は、ホストコンピュータ1がユーザコ
ンピュータ4へ転送するミドルウェア30の構造を示す
図である。ミドルウェア30はバイナリコードで記述さ
れている。31はICE割り込みを無効にするICEトレース
無効化命令、32はICE割り込み命令と同じ大きさのNO
P、33はICEおよび量産用システムLSIのIDをチェック
し条件を満たさなければ直ちにミドルウェアのサブルー
チンコールを行った命令の次のアドレスに復帰するため
のチップID確認部である。34はミドルウェア本体部で
あり、35はICE割り込みを有効にするICEトレース有効
化命令、36はサブルーチンコール先へ復帰する復帰命
令である。
FIG. 3 is a diagram showing the structure of the middleware 30 that the host computer 1 transfers to the user computer 4. The middleware 30 is described by a binary code. 31 is an ICE trace invalidation instruction for disabling the ICE interrupt, and 32 is NO having the same size as the ICE interrupt instruction.
P and 33 are chip ID confirming units for checking the IDs of the ICE and the system LSI for mass production and immediately returning to the next address of the instruction that issued the middleware subroutine call if the conditions are not satisfied. 34 is a middleware main body, 35 is an ICE trace enable command for enabling ICE interrupts, and 36 is a return command for returning to the subroutine call destination.

【0027】ここで、ICEトレース無効化命令31、NOP
32、チップID確認部33、ICEトレース有効化命令3
5はいずれもユーザに公開されていない命令コードで書
かれている。ユーザに販売する逆アセンブルプログラム
はユーザに公開されている命令コードしか扱えないもの
としておく。従って、図3に示されたミドルウェアは逆
アセンブルすることはできないので、容易にアルゴリズ
ムを解析できない。また、ミドルウェアのサブルーチン
コールを行った次にICEトレース無効化命令31が実行
される。ICEチップ5によりトレースモードで1命令ず
つ実行していた場合、ICEチップ5はNOP32をICE割り
込み命令で置き換えてICEトレース無効化命令31を実
行するので、NOP32を置き換えたICE割り込み命令によ
って割り込みは発生しない。代わりに、ICE割り込みが
実行されたことをトレース有効フラグ423を立てるこ
とで記憶する。そして、ICEトレース有効化命令35が
実行された時トレース有効フラグ423が立っていれば
ICE割り込みがかかる。つまりミドルウエアはICEチップ
5のステップ実行によってトレースすることはできな
い。逆アセンブルできないことと合わせて、トレースで
きないことでミドルウェアのアルゴリズムの解析はより
困難になる。
Here, the ICE trace invalidation instruction 31, NOP
32, chip ID confirmation unit 33, ICE trace enable instruction 3
5 is written in an instruction code that is not disclosed to the user. The disassembly program sold to the user is assumed to be able to handle only the instruction code that is open to the user. Therefore, since the middleware shown in FIG. 3 cannot be disassembled, the algorithm cannot be easily analyzed. After the subroutine call of the middleware is performed, the ICE trace invalidation instruction 31 is executed. If the ICE chip 5 is executing one instruction at a time in the trace mode by the ICE chip 5, the ICE chip 5 replaces the NOP 32 with an ICE interrupt instruction and executes the ICE trace invalidation instruction 31, so an interrupt is generated by the ICE interrupt instruction replacing the NOP 32. do not do. Instead, the fact that the ICE interrupt has been executed is stored by setting the trace valid flag 423. If the trace enable flag 423 is set when the ICE trace enable instruction 35 is executed,
ICE interrupt occurs. That is, the middleware cannot be traced by the step execution of the ICE chip 5. The inability to trace, along with the inability to disassemble, makes the analysis of middleware algorithms more difficult.

【0028】図5はICEチップ5によるステップ実行を
表す図である。ここでは命令A51に命令B52が続く場
合で、命令A51をステップ実行する場合を表してい
る。
FIG. 5 is a diagram showing the step execution by the ICE chip 5. Here, a case where the instruction B52 follows the instruction A51 and the instruction A51 is step-executed is shown.

【0029】まず、(a)でICEチップ5はこれからステッ
プ実行しようとする命令A51の次の命令B52を命令格
納手段422へ、命令B52のアドレスをアドレス格納
手段421に格納する。次に、(b)で命令A51の直後に
ICE割り込み命令を命令B52に上書きし、命令A51を
実行する。命令A51の実行に引き続きICE割り込み命令
を実行すると、ICE割り込みが発生してICE処理ルーチン
へ移り命令A51の実行結果がユーザコンピュータ4に
表示される。そして、(c)でアドレス格納手段421で
示される場所に命令格納手段422に格納されていた命
令B52を格納し、命令B52が(a)の状態に復元され
る。
First, in (a), the ICE chip 5 stores the instruction B52 next to the instruction A51 to be step-executed in the instruction storage means 422 and the address of the instruction B52 in the address storage means 421. Next, immediately after instruction A51 in (b)
The ICE interrupt instruction is overwritten on the instruction B52, and the instruction A51 is executed. When the ICE interrupt instruction is executed subsequent to the execution of the instruction A51, an ICE interrupt is generated, and the process proceeds to the ICE processing routine. Then, the instruction B52 stored in the instruction storage means 422 is stored at the location indicated by the address storage means 421 in (c), and the instruction B52 is restored to the state of (a).

【0030】以上図5は一般的なステップ実行の場合で
あるが、図6にミドルウェア30を実行した場合を示
す。
FIG. 5 shows the case of the general step execution. FIG. 6 shows the case of executing the middleware 30.

【0031】まず、(a)でミドルウェアの最初の命令、I
CEトレース無効化命令31の次の命令であるNOP32を
命令格納手段422へ、NOPの置かれているアドレスBを
アドレス格納手段421へ格納する。ここで、トレース
有効フラグ423の値は0である。次に、(b)でICEトレ
ース無効化命令31の直後にICE割り込み命令をNOP32
に上書きし、ICEトレース無効化命令31を実行する。
すると命令実行手段427によってICE割り込み抑制フ
ラグ426が立つ。ICEトレース無効化命令31の実行
に引き続きICE割り込み命令を実行するが、ICE割り込み
抑制フラグ426が立っているためICE割り込み検出手
段424はICE割り込み発生手段425のICE割り込み発
生を抑制する。同時に、ICE割り込み検出手段424は
トレース有効フラグ423を立てる。ICE割り込みが発
生しないため、ICEトレース有効化命令31が実行され
るまでは、命令が次々と実行される。そして、(c)でICE
トレース有効化命令31が実行されると、ICE割り込み
抑制フラグ426が解除され、トレース有効フラグ42
3が立っているのでICE割り込み発生手段425がICE割
り込みを発生する。ICE割り込みが発生したことによ
り、ICEチップ5はアドレス格納手段421に格納され
たアドレスBの位置に命令格納手段422に格納されたN
OP32を格納して停止する。
First, in (a), the first instruction of the middleware, I
The NOP 32, which is the instruction following the CE trace invalidation instruction 31, is stored in the instruction storage means 422, and the address B where the NOP is located is stored in the address storage means 421. Here, the value of the trace valid flag 423 is 0. Next, in (b), immediately after the ICE trace invalidating instruction 31, an ICE interrupt instruction is
ICE trace invalidation instruction 31 is executed.
Then, the ICE interrupt suppression flag 426 is set by the instruction execution means 427. The ICE interrupt instruction is executed subsequent to the execution of the ICE trace invalidation instruction 31, but the ICE interrupt detection means 424 suppresses the ICE interrupt generation means 425 from generating an ICE interrupt because the ICE interrupt suppression flag 426 is set. At the same time, the ICE interrupt detection means 424 sets the trace valid flag 423. Since no ICE interrupt occurs, instructions are executed one after another until the ICE trace enable instruction 31 is executed. And ICE in (c)
When the trace enable instruction 31 is executed, the ICE interrupt suppression flag 426 is released, and the trace enable flag 42
Since 3 is set, the ICE interrupt generating means 425 generates an ICE interrupt. Due to the occurrence of the ICE interrupt, the ICE chip 5 stores the N stored in the instruction storage unit 422 at the position of the address B stored in the address storage unit 421.
OP32 is stored and stopped.

【0032】つまり、ミドルウェア30を実行する前に
ステップ実行していた場合、ミドルウェア30へサブル
ーチンコールした次は、ミドルウェアの実行が終了した
状態でICEチップ5が停止し、ミドルウェアのトレース
はされない。
That is, if the step execution is performed before the execution of the middleware 30, after the subroutine call to the middleware 30, the ICE chip 5 stops in a state where the execution of the middleware is completed, and the middleware is not traced.

【0033】尚、以上の実施の形態では、システムLSI
を販売するメーカがミドルウェアを配信する場合を述べ
たが、ミドルウェア本体部34はユーザの作成したミド
ルウェアであっても構わない。ユーザはミドルウェアの
開発が完了した時点で、システムLSIを販売するメーカ
にミドルウエアのコードを転送し、図3に示す構造にし
てもらうことができる。図4に示すシステムLSIは不揮
発性メモリの情報を読み取ることが容易である。ミドル
ウェアを図3に示す構造にしてもらうことで、第3者か
らミドルウェアの使用およびアルゴリズム解析を防ぐこ
とができる。
In the above embodiment, the system LSI
Has been described above, the middleware body 34 may be middleware created by the user. When the development of the middleware is completed, the user can transfer the middleware code to a manufacturer that sells the system LSI, and have the structure shown in FIG. The system LSI shown in FIG. 4 can easily read information from a nonvolatile memory. By having the middleware have the structure shown in FIG. 3, it is possible to prevent the use of middleware and algorithm analysis by a third party.

【0034】また、以上の実施の形態では、ユーザコン
ピュータ4とICEチップ5とでICEシステムを構成する場
合を述べたが、図7で示した技術は他のデバッガ(例え
ばJTAG)でも実施できる。
In the above embodiment, the case where the ICE system is constituted by the user computer 4 and the ICE chip 5 has been described. However, the technique shown in FIG. 7 can be implemented by another debugger (for example, JTAG).

【0035】また、以上の実施の形態では、図4のFeRA
Mがミドルウェアを格納する記録媒体になるが、記録媒
体はCD-ROMやフロッピー(登録商標)ディスク等の他の
媒体であっても良い。
In the above embodiment, the FeRA shown in FIG.
M is a recording medium for storing middleware, but the recording medium may be another medium such as a CD-ROM or a floppy (registered trademark) disk.

【0036】[0036]

【発明の効果】以上のように本発明に係るインサーキッ
トエミュレータおよび記録媒体およびミドルウェア発行
システムは、許可されたLSIでのみ動作しかつアルゴリ
ズム解析が困難なミドルウェアを発行することで、ネッ
トワークでの自由な配信と使用個数に応じた課金とを両
立する。
As described above, the in-circuit emulator, the recording medium, and the middleware issuing system according to the present invention operate only with the permitted LSI and issue the middleware for which the algorithm analysis is difficult, so that the freedom in the network can be improved. Compatible distribution and billing according to the number used.

【0037】また、ユーザの開発したミドルウェアに対
して、ユーザのLSIでのみ動作しかつアルゴリズム解析
を困難にできるので、ユーザのIPも保護することができ
る。
Further, since the middleware developed by the user can be operated only by the user's LSI and the algorithm analysis can be made difficult, the user's IP can also be protected.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の形態におけるミドルウェア発行システ
ムの構成を示すブロック図
FIG. 1 is a block diagram illustrating a configuration of a middleware issuing system according to an embodiment of the present invention.

【図2】本発明の形態におけるホストコンピュータで実
現されている、それぞれの機能を示す図
FIG. 2 is a diagram illustrating respective functions realized by a host computer according to an embodiment of the present invention.

【図3】本発明の形態におけるミドルウェアの構造を示
す図
FIG. 3 is a diagram showing a structure of middleware according to the embodiment of the present invention.

【図4】本発明の形態におけるシステムLSIの構成を示
す図
FIG. 4 is a diagram showing a configuration of a system LSI according to an embodiment of the present invention;

【図5】本発明の形態におけるICEチップによるステッ
プ実行を表す図
FIG. 5 is a diagram showing step execution by an ICE chip according to an embodiment of the present invention.

【図6】本発明の形態におけるミドルウェアのICEチッ
プによるステップ実行を表す図
FIG. 6 is a diagram showing step execution by an ICE chip of middleware according to an embodiment of the present invention.

【図7】本発明の形態におけるICEチップの構成を示す
FIG. 7 is a diagram showing a configuration of an ICE chip according to an embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1 ホストコンピュータ 2 出荷IDデータベース 3 ミドルウェアデータベース 4 ユーザコンピュータ 5 ICEチップ 6 ROMライタ 7 通信回線 8 回路データベース 9 ミドルウェア発行データベース 30 ミドルウェア 31 ICEトレース無効化命令 32 NOP 33 チップID確認部 34 ミドルウェア本体部 35 ICEトレース有効化命令 36 復帰命令 41 システムLSI 42、72 CPU 43、73 FPGA 44、74 チップID 45 不揮発性メモリ 51 命令A 52 命令B 75 揮発性メモリ 100 ユーザID取得手段 101 出荷ID取得手段 102 チップID確認部生成手段 103 ミドルウェア合成手段 104 ミドルウェア転送手段 105 回路データ転送手段 421 アドレス格納手段 422 命令格納手段 423 トレース有効フラグ 424 ICE割り込み検出手段 425 ICE割り込み発生手段 426 ICE割り込み抑制フラグ 427 命令実行手段 DESCRIPTION OF SYMBOLS 1 Host computer 2 Shipping ID database 3 Middleware database 4 User computer 5 ICE chip 6 ROM writer 7 Communication line 8 Circuit database 9 Middleware issuing database 30 Middleware 31 ICE trace invalidation instruction 32 NOP 33 Chip ID confirmation unit 34 Middleware main unit 35 ICE Trace enable command 36 Return command 41 System LSI 42, 72 CPU 43, 73 FPGA 44, 74 Chip ID 45 Non-volatile memory 51 Command A 52 Command B 75 Volatile memory 100 User ID acquisition means 101 Shipping ID acquisition means 102 Chip ID Confirmation unit generation means 103 Middleware synthesis means 104 Middleware transfer means 105 Circuit data transfer means 421 Address storage means 422 Instruction storage means 423 Trace valid flag 424 ICE interrupt detection means Stage 425 ICE interrupt generation means 426 ICE interrupt suppression flag 427 Instruction execution means

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】ICE割り込み検出手段とICE割り込み発生手
段と命令実行手段とを有し、ICE割り込み無効化命令を
前記命令実行手段が実行するとICE割り込み抑制フラグ
をセットし、前記ICE割り込み抑制フラグがセットされ
ている状態でICE割り込み命令が前記命令実行手段で実
行されると前記ICE割り込み検出手段がトレース有効フ
ラグをセットしかつICE割り込み発生手段のICE割り込み
を抑制することを特徴とするインサーキットエミュレー
タ。
An ICE interrupt detecting means, an ICE interrupt generating means, and an instruction executing means, wherein when the ICE interrupt invalidating instruction is executed by the instruction executing means, an ICE interrupt suppressing flag is set, and the ICE interrupt suppressing flag is set. An in-circuit emulator, wherein when the ICE interrupt instruction is executed by the instruction execution means while being set, the ICE interrupt detection means sets a trace effective flag and suppresses an ICE interrupt of the ICE interrupt generation means. .
【請求項2】前記トレース有効フラグがセットされてい
る状態でICE割り込み有効化命令が前記命令実行手段で
実行されると前記割り込み抑制フラグをリセットしてIC
E割り込みを発生することを特徴とする請求項1記載の
インサーキットエミュレータ。
2. When the ICE interrupt enable instruction is executed by the instruction execution means while the trace enable flag is set, the interrupt suppression flag is reset to reset the IC.
The in-circuit emulator according to claim 1, wherein an E-interrupt is generated.
【請求項3】ICEチップのチップIDを確認するステップ
と、量産チップのチップIDを確認するステップと、確認
の結果条件を満たしていなければサブルーチンコールさ
れた次のアドレスへ復帰するステップとからなるプログ
ラムを格納した記録媒体。
3. A step of confirming a chip ID of an ICE chip, a step of confirming a chip ID of a mass-produced chip, and a step of returning to a next address of a subroutine call if the condition is not satisfied as a result of the confirmation. A recording medium that stores a program.
【請求項4】最初にICE割り込みを無効化するステップ
を備え、最後にICE割り込みを有効化するステップとか
らなるプログラムを格納した請求項3記載の記録媒体。
4. The recording medium according to claim 3, further comprising a step of first disabling an ICE interrupt and finally a step of enabling an ICE interrupt.
【請求項5】前記ICE割り込みを無効化するステップは
ユーザに公開されていない命令コードで記述されている
ことを特徴とする請求項3または4いずれか記載の記録
媒体。
5. The recording medium according to claim 3, wherein the step of disabling the ICE interrupt is described by an instruction code not disclosed to a user.
【請求項6】ユーザコンピュータと通信回線により接続
され、前記ユーザコンピュータから出荷IDと個数とを取
得する出荷ID取得手段と、前記出荷IDとチップIDとの対
応関係を示す出荷IDデータベースと、前記出荷IDデータ
ベースから前記出荷IDと前記個数を用いてチップIDを抽
出しチップID確認部を生成するチップID確認部生成手段
と、複数のミドルウェア本体部を格納したミドルウェア
データベースと、前記ミドルウェアデータベースからユ
ーザの指定するミドルウェア本体部を抽出し前記チップ
ID確認部と合成してミドルウェアを生成するミドルウェ
ア合成手段と、前記ユーザコンピュータへ前記ミドルウ
ェアを転送するミドルウェア転送手段とを備えたことを
特徴とするミドルウェア発行システム。
6. A shipment ID acquisition means connected to a user computer via a communication line and acquiring a shipment ID and a number from the user computer, a shipment ID database indicating a correspondence between the shipment ID and a chip ID, A chip ID checking unit generating means for extracting a chip ID using the shipping ID and the number from the shipping ID database to generate a chip ID checking unit, a middleware database storing a plurality of middleware main units, and a user from the middleware database. Extract the middleware body specified by
A middleware issuing system, comprising: middleware combining means for creating middleware by combining with an ID confirmation unit; and middleware transfer means for transferring the middleware to the user computer.
【請求項7】前記ミドルウェア発行システムはさらに、
回路データを前記ユーザコンピュータへ転送する回路デ
ータ転送手段を備え、前記回路データを用いて作られる
回路を制御する回路制御用ミドルウェアを前記ユーザコ
ンピュータへ転送することを特徴とする請求項6記載の
ミドルウェア発行システム。
7. The middleware issuing system further comprises:
7. The middleware according to claim 6, further comprising circuit data transfer means for transferring circuit data to the user computer, and transferring circuit control middleware for controlling a circuit created using the circuit data to the user computer. Publishing system.
【請求項8】前記ミドルウェアはさらに、ICE割り込み
命令を無効にする命令で始まりICE割り込みを有効にす
る命令で終わることを特徴とする請求項6から7いずれ
か記載のミドルウェア発行システム。
8. The middleware issuing system according to claim 6, wherein the middleware further starts with an instruction for disabling an ICE interrupt instruction and ends with an instruction for enabling an ICE interrupt.
【請求項9】前記ICE割り込み命令を無効にする命令
は、ユーザに公開されていない命令コードで記述されて
いることを特徴とする請求項6から8いずれか記載のミ
ドルウェア発行システム。
9. The middleware issuing system according to claim 6, wherein the instruction for invalidating the ICE interrupt instruction is described by an instruction code not disclosed to a user.
JP2000107572A 2000-04-10 2000-04-10 In-circuit emulator, recording medium and middleware issuing system Pending JP2001290671A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000107572A JP2001290671A (en) 2000-04-10 2000-04-10 In-circuit emulator, recording medium and middleware issuing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000107572A JP2001290671A (en) 2000-04-10 2000-04-10 In-circuit emulator, recording medium and middleware issuing system

Publications (1)

Publication Number Publication Date
JP2001290671A true JP2001290671A (en) 2001-10-19

Family

ID=18620554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000107572A Pending JP2001290671A (en) 2000-04-10 2000-04-10 In-circuit emulator, recording medium and middleware issuing system

Country Status (1)

Country Link
JP (1) JP2001290671A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006259810A (en) * 2005-03-15 2006-09-28 Matsushita Electric Ind Co Ltd Debugging system
JP2007244910A (en) * 2007-07-02 2007-09-27 Fujishoji Co Ltd Distribution system of game software and game machine
JP2007272923A (en) * 2007-06-04 2007-10-18 Matsushita Electric Ind Co Ltd Server
CN100373387C (en) * 2005-12-30 2008-03-05 北京中星微电子有限公司 Data processing method and system in chip emulation platform
US7627686B2 (en) 2001-12-07 2009-12-01 Panasonic Corporation Media contents distribution system and method
JP2010044792A (en) * 2009-11-18 2010-02-25 Panasonic Corp Secure device, integrated circuit, and encryption method
US7849331B2 (en) 2002-11-15 2010-12-07 Panasonic Corporation Program update method and server

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627686B2 (en) 2001-12-07 2009-12-01 Panasonic Corporation Media contents distribution system and method
US8005974B2 (en) 2001-12-07 2011-08-23 Panasonic Corporation Media contents distribution system and method
US8171072B2 (en) 2001-12-07 2012-05-01 Panasonic Corporation Media contents distribution system and method
US7849331B2 (en) 2002-11-15 2010-12-07 Panasonic Corporation Program update method and server
JP2006259810A (en) * 2005-03-15 2006-09-28 Matsushita Electric Ind Co Ltd Debugging system
CN100373387C (en) * 2005-12-30 2008-03-05 北京中星微电子有限公司 Data processing method and system in chip emulation platform
JP2007272923A (en) * 2007-06-04 2007-10-18 Matsushita Electric Ind Co Ltd Server
JP2007244910A (en) * 2007-07-02 2007-09-27 Fujishoji Co Ltd Distribution system of game software and game machine
JP4562755B2 (en) * 2007-07-02 2010-10-13 株式会社藤商事 Game software distribution system and game machine
JP2010044792A (en) * 2009-11-18 2010-02-25 Panasonic Corp Secure device, integrated circuit, and encryption method
JP4580030B2 (en) * 2009-11-18 2010-11-10 パナソニック株式会社 Secure device

Similar Documents

Publication Publication Date Title
US8161440B2 (en) Highly specialized scenarios in random test generation
US7707645B2 (en) Microprocessor
US8191155B2 (en) Microprocessor
US8180620B2 (en) Apparatus and method for performing hardware and software co-verification testing
US7730545B2 (en) Test access control for secure integrated circuits
US7676355B1 (en) Method and apparatus for providing protected intellectual property
US8037363B2 (en) Generation of trace elements within a data processing apparatus
CN101167060A (en) System and method for providing a secure boot architecture
CN115130402B (en) Cache verification method, system, electronic equipment and readable storage medium
US7478435B2 (en) Version management system for multiple application elements
JP3822044B2 (en) Design verification system, design verification method, and computer-readable recording medium storing design verification program
JP2001290671A (en) In-circuit emulator, recording medium and middleware issuing system
US20060259750A1 (en) Selectively embedding event-generating instructions
JP4475621B2 (en) Logic control apparatus and method for memory control circuit
Shan et al. Crowbar: Natively fuzzing trusted applications using arm coresight
JP2013020425A (en) Hardware and software cooperative verification method using open source software
Hopes Hardware/software co-verification, an IP vendors viewpoint
CN100476730C (en) PCI options ROM program staying and invoking method
JP4670158B2 (en) Data processing method and semiconductor circuit
US6782523B2 (en) Parallel configurable IP design methodology
JP2010134572A (en) Device and method for achieving security
Jana et al. Automated planning for finding alternative bug traces
JP2677043B2 (en) Program development support device
JP3404354B2 (en) In-circuit emulator and unauthorized access detection method
JPH10187494A (en) Simulator