JP2637018B2 - Programmable logic device - Google Patents

Programmable logic device

Info

Publication number
JP2637018B2
JP2637018B2 JP22576892A JP22576892A JP2637018B2 JP 2637018 B2 JP2637018 B2 JP 2637018B2 JP 22576892 A JP22576892 A JP 22576892A JP 22576892 A JP22576892 A JP 22576892A JP 2637018 B2 JP2637018 B2 JP 2637018B2
Authority
JP
Japan
Prior art keywords
data
program data
key data
address
program
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
JP22576892A
Other languages
Japanese (ja)
Other versions
JPH0677319A (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.)
JFE Steel Corp
Original Assignee
Kawasaki Steel 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 Kawasaki Steel Corp filed Critical Kawasaki Steel Corp
Priority to JP22576892A priority Critical patent/JP2637018B2/en
Publication of JPH0677319A publication Critical patent/JPH0677319A/en
Application granted granted Critical
Publication of JP2637018B2 publication Critical patent/JP2637018B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、プログラマブルロジッ
クデバイス(以下、PLDと称する)に関する。特にそ
のPLDをプログラムするためのプログラムデータを、
外部の不揮発性記憶素子から読み込むことによって所定
の論理回路として動作する種類のPLDに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a programmable logic device (hereinafter, referred to as PLD). In particular, program data for programming the PLD
The present invention relates to a type of PLD that operates as a predetermined logic circuit by reading from an external nonvolatile storage element.

【0002】[0002]

【従来の技術】近年、ユーザが自由にその機能をプログ
ラムすることができるいわゆるPLDが幅広く用いられ
ている。このPLDに対するプログラミングは、一般的
に、PLD内部のメモリにプログラムデータを書き込む
ことによって行われる。このメモリは、古典的なPLD
においてはROMが用いられていたが、これでは、プロ
グラムがただ一つに限定され、ユーザの所望によりPL
Dにロードするプログラムを変更することが困難であっ
た。
2. Description of the Related Art In recent years, so-called PLDs in which a user can freely program its functions have been widely used. The programming for the PLD is generally performed by writing program data to a memory inside the PLD. This memory is a classic PLD
Used a ROM, but in this case, the program was limited to only one, and the
It was difficult to change the program loaded on D.

【0003】このような背景により、PLD内でプログ
ラムデータを格納する素子として、不揮発性のROMで
はなく、揮発性のスタティックRAM(以下、単にRA
Mと称する)を用い、外部の不揮発性記憶素子からプロ
グラムデータを内部のRAMに書き込み、書き込みが終
了してから動作を開始するPLDが広く使われるに至っ
た。
[0003] With this background, as a device for storing program data in a PLD, a volatile static RAM (hereinafter simply referred to as RA) is used instead of a nonvolatile ROM.
M), PLDs that write program data from an external nonvolatile storage element to an internal RAM and start operation after the writing is completed have come to be widely used.

【0004】このようなPLDは例えば、米国特許4、
870、302号に記載されている。このPLDの部分
構成ブロック図の一例が図3に示されている。図3に示
されているように、このPLDは、単位ロジックエレメ
ント2を複数個備えたものであり、その特徴的なこと
は、図4に示すように機能の定義を行うプログラムデー
タが、電源投入時毎に外部のROM4等から読み出さ
れ、そのプログラムデータが内部の揮発性のRAMに格
納されることである。図4においては、RAMによって
プログラミングを行うPLD複数個を1個の外部不揮発
性記憶素子からのプログラムデータによってプログラミ
ングされる様子を示している。まず最初に、直接外部の
不揮発性記憶素子4(ROM)と直接接続されたプログ
ラマブル・ロジック・デバイス6aにプログラムデータ
が読み込まれる。次にプログラマブル・ロジック・デバ
イス6bにデータラインを通してプログラムデータが送
られ、プログラマブル・ロジック・デバイス6bの書き
込みが完了する。以下、同様にして、プログラマブル・
ロジック・デバイス6c,6dへもプログラムデータが
転送され、最後のプログラマブル・ロジック・デバイス
6dまでの書き込みが終了する。以上のプログラムデー
タの転送及び書き込みは、プログラムデータと同時にプ
ログラマブル・ロジック・デバイス6aから送出される
クロック信号に同期して行われ、間違いのないプログラ
ムデータ転送及びプログラムデータ書き込みが行われ
る。
Such a PLD is disclosed, for example, in US Pat.
No. 870,302. FIG. 3 shows an example of a partial configuration block diagram of the PLD. As shown in FIG. 3, the PLD includes a plurality of unit logic elements 2. The characteristic feature of the PLD is that, as shown in FIG. The program data is read from the external ROM 4 or the like every time it is turned on, and the program data is stored in the internal volatile RAM. FIG. 4 shows a state in which a plurality of PLDs to be programmed by the RAM are programmed by program data from one external nonvolatile memory element. First, program data is read into the programmable logic device 6a directly connected to the external nonvolatile storage element 4 (ROM). Next, program data is sent to the programmable logic device 6b through the data line, and the writing of the programmable logic device 6b is completed. Hereinafter, similarly,
The program data is also transferred to the logic devices 6c and 6d, and the writing to the last programmable logic device 6d is completed. The transfer and writing of the program data described above are performed simultaneously with the program data in synchronization with the clock signal sent from the programmable logic device 6a, so that the program data transfer and the program data writing without error are performed.

【0005】この動作によれば、各単位ロジックエレメ
ント2内部のRAMの所定のアドレスに順次プログラム
データが書き込まれる。全てのデータを書き込むのに要
する時間はおよそ10数m秒である。この書き込みが終
了した後、このPLDはその機能を有する動作を開始す
ることになる。外部不揮発性記憶素子から読み込まれた
プログラムデータを格納するためのRAMは各単位ロジ
ックエレメント2内部に包含され、図3中には示されて
いない。なお、図3はこのようなPLDの一部分を示し
た図であり、全てを図示してはいないが他に各単位ロジ
ックエレメントを接続する配線や、入出力のための回路
等がPLD内部に含まれている。
According to this operation, program data is sequentially written to a predetermined address of the RAM inside each unit logic element 2. The time required to write all data is about 10 msec. After the writing is completed, the PLD starts an operation having the function. A RAM for storing program data read from an external nonvolatile storage element is included in each unit logic element 2 and is not shown in FIG. FIG. 3 is a diagram showing a part of such a PLD. Although not all shown, wirings for connecting each unit logic element and circuits for input / output are included in the PLD. Have been.

【0006】図3に示される従来のPLDは、電子機器
内で使用される場合、そのPLDに書き込まれるべきプ
ログラムデータを記憶しているROM等の外部不揮発性
記憶素子と共に用いられ、外部不揮発性記憶素子からプ
ログラムデータがPLD内にとり込まれている。
When the conventional PLD shown in FIG. 3 is used in an electronic device, it is used together with an external non-volatile storage element such as a ROM storing program data to be written in the PLD. Program data is taken from the storage element into the PLD.

【0007】[0007]

【発明が解決しようとする課題】従来の装置は、外部記
憶媒体としてROMやフロッピーディスクなどを利用可
能である。この場合、1つのPLDに対し、例えば複数
のフロッピーディスクを用意し、所望によりPLDにロ
ードするプログラムデータを変更する使用法が可能であ
る。また、設計・試作段階では、複数のプログラムデー
タをテストする必要もあろう。
In the conventional apparatus, a ROM, a floppy disk, or the like can be used as an external storage medium. In this case, for example, a method of preparing a plurality of floppy disks for one PLD and changing the program data to be loaded into the PLD as desired is possible. At the design / prototype stage, it may be necessary to test multiple program data.

【0008】このように一つのPLDに対し、複数のプ
ログラムを適用するような使用方法をとっていた場合
に、使用者が、適用する外部記憶媒体を間違えてしまう
可能性がある。すると、誤った外部記憶媒体に記憶され
ているプログラムデータがPLDに読込まれ、その結果
PLDに誤った機能が設定され装置の誤作動が発生して
しまう。これに対し、従来は何等防止する手段が講じら
れていなかった。
[0008] When a method of using a plurality of programs is applied to one PLD as described above, there is a possibility that the user may mistake the applied external storage medium. Then, the program data stored in the wrong external storage medium is read into the PLD, and as a result, the wrong function is set in the PLD, and the device malfunctions. On the other hand, conventionally, no means has been taken to prevent it.

【0009】本発明は、上記課題に鑑みなされたもの
で、その目的は、外部の不揮発性記憶素子からプログラ
ムデータを書き込むことによって機能の定義をするPL
Dにおいて、正当なプログラムデータであるか否かを検
出し、不当なプログラムデータが読み込まれるのをを防
止することができるPLDを提供することである。
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and has as its object to write a program data from an external non-volatile memory element to define a function by writing program data.
D is to provide a PLD capable of detecting whether or not the program data is legitimate and preventing reading of the illegal program data.

【0010】[0010]

【課題を解決するための手段】第一の本発明は、上述の
課題を解決するために、プログラムデータを外部から書
き込むべき揮発性メモリと、前記プログラムデータの前
記揮発性メモリへの書き込みを制御する制御手段と、を
備え、前記揮発性メモリに書き込まれたプログラムデー
タによって、その機能が定義されるプログラマブルロジ
ックデバイスにおいて、前記プログラムデータが書き込
まれる前記揮発性メモリ中の所定のアドレスを記憶する
一個以上のアドレス記憶手段と、キーデータを記憶する
一個以上のキーデータ記憶手段と、前記アドレス記憶手
段に記憶されているアドレスによって指定される前記プ
ログラムデータ中のデータを、前記キーデータ記憶手段
に記憶されている一個以上のキーデータと比較する比較
手段と、を含み、前記比較手段による比較の結果、前記
アドレスによって指定されるデータが前記キーデータ記
憶手段に記憶されたキーデータのいずれにも一致しない
場合、前記制御手段はプログラムデータの書き込みを停
止することを特徴とするプログラマブルロジックデバイ
スである。
SUMMARY OF THE INVENTION According to a first aspect of the present invention, there is provided a volatile memory to which program data is to be written from the outside, and control of writing of the program data to the volatile memory. A programmable logic device, the function of which is defined by the program data written to the volatile memory, wherein a predetermined address in the volatile memory to which the program data is written is stored. The above address storage means, one or more key data storage means for storing key data, and the data in the program data specified by the address stored in the address storage means are stored in the key data storage means. Comparing means for comparing with one or more key data items, As a result of the comparison by the comparing means, if the data specified by the address does not match any of the key data stored in the key data storage means, the control means stops writing the program data. Is a programmable logic device.

【0011】第二の本発明は、上述の課題を解決するた
めに、プログラムデータを外部から書き込むべき揮発性
メモリと、前記プログラムデータの前記揮発性メモリへ
の書き込みを制御する制御手段と、を備え、前記揮発性
メモリに書き込まれたプログラムデータによって、機能
が定義されるプログラマブルロジックデバイスにおい
て、前記プログラムデータが書き込まれる前記揮発性メ
モリ中の所定のアドレスを記憶する一個以上のアドレス
記憶手段と、キーデータを記憶する一個以上のキーデー
タ記憶手段と、前記アドレス記憶手段に記憶されている
アドレスによって指定される前記プログラムデータ中の
データを、前記キーデータ記憶手段に記憶されている一
個以上のキーデータと比較する比較手段と、前記比較手
段による比較の結果、前記アドレスによって指定される
データと一致するキーデータが前記キーデータ記憶手段
に記憶されていない場合には、不当なプログラムデータ
が書き込まれたことを表す異常信号を外部に出力する異
常信号出力手段と、を含むことを特徴とするプログラマ
ブルロジックデバイスである。
According to a second aspect of the present invention, in order to solve the above-mentioned problems, a volatile memory to which program data is to be externally written, and a control means for controlling writing of the program data to the volatile memory are provided. Comprising, in a programmable logic device whose function is defined by the program data written to the volatile memory, one or more address storage means for storing a predetermined address in the volatile memory to which the program data is written; One or more key data storage means for storing key data; and one or more key data stored in the key data storage means, the data in the program data specified by the address stored in the address storage means. Comparison means for comparing with data, and a result of comparison by the comparison means An abnormality signal output unit that outputs an abnormality signal indicating that illegal program data has been written to the outside, when key data that matches data specified by the address is not stored in the key data storage unit; And a programmable logic device.

【0012】第三の本発明は、上述の課題を解決するた
めに、第一の本発明または第二の本発明のプログラマブ
ルロジックデバイスにおいて、前記キーデータ手段に記
憶される一個以上のキーデータのデータ長が、外部から
の指令により変更されることを特徴とするプログラマブ
ルロジックデバイスである。
According to a third aspect of the present invention, there is provided a programmable logic device according to the first or second aspect of the present invention, wherein at least one key data stored in the key data means is stored. A programmable logic device wherein the data length is changed by an external command.

【0013】[0013]

【作用】本発明におけるアドレス記憶手段に記憶されて
いるアドレスによって前記プログラムデータ中において
指定されるデータが前記キーデータ記憶手段に記憶され
たキーデータのいずれか1個に一致しない限り、正規の
動作を行わない。すなわち、アドレスによって指定され
るデータと一致するキーデータが前記キーデータ記憶手
段に記憶されていない場合には、プログラムデータの書
き込みは制御手段により停止され、不当なプログラムデ
ータがプログラマブルロジックデバイスに書き込まれる
ことを防止できる。
As long as the data specified in the program data by the address stored in the address storage means in the present invention does not match any one of the key data stored in the key data storage means, a normal operation is performed. Do not do. That is, when the key data that matches the data specified by the address is not stored in the key data storage unit, the writing of the program data is stopped by the control unit, and the invalid program data is written to the programmable logic device. Can be prevented.

【0014】また、アドレスによって指定されるデータ
と一致するキーデータが前記キーデータ記憶手段に記憶
されていない場合には、異常信号出力手段は外部に異常
信号を出力する。そのため、その異常信号により誤った
プログラムデータが投入されたことが、外部から検出可
能である。
If no key data matching the data specified by the address is stored in the key data storage means, the abnormal signal output means outputs an abnormal signal to the outside. Therefore, it can be detected from the outside that incorrect program data has been input due to the abnormal signal.

【0015】さらに、キーデータ記憶手段に記憶される
キーデータのデータ長が外部からの指令により変更可能
であるので、プログラムデータ毎にキーデータのデータ
長を変えることができる。
Further, since the data length of the key data stored in the key data storage means can be changed by an external command, the data length of the key data can be changed for each program data.

【0016】[0016]

【実施例】以下、本発明の好適な実施例を図面に基づい
て説明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described below with reference to the drawings.

【0017】図1は、本発明の実施例であるPLD11
の部分構成ブロック図である。
FIG. 1 shows a PLD 11 according to an embodiment of the present invention.
It is a partial block diagram of.

【0018】図1に示されているように、本実施例のP
LD11は、PLD11の機能を定義するプログラムデ
ータが格納されるランダム・アクセス・メモリ13(以
下、RAM13と略称する)と、プログラムデータのこ
のRAM13への書き込みを制御する制御回路12と、
不揮発性メモリ14とを含んでいる。この不揮発性メモ
リ14には、後述するようにキーデータと、そのアドレ
スが記憶されている。
As shown in FIG. 1, P
The LD 11 includes a random access memory 13 (hereinafter, abbreviated as a RAM 13) in which program data that defines the function of the PLD 11 is stored, a control circuit 12 that controls writing of the program data to the RAM 13,
And a non-volatile memory 14. The non-volatile memory 14 stores key data and its address as described later.

【0019】本実施例において特徴的なことは、制御回
路12が、プログラムデータの格納に際して、この不揮
発性メモリ14に記憶されているキーデータを参照する
ことである。これにより、外部からプログラムデータが
制御回路12に読み込まれると、そのプログラムデータ
の所定のアドレス位置のデータが不揮発性メモリ14内
のキーデータと比較される。そして、比較された結果、
アドレスによって指定されるデータが、不揮発性メモリ
14内のキーデータのいずれにも一致しない場合は、プ
ログラムデータの書き込みが、制御回路12によって停
止される。
A feature of this embodiment is that the control circuit 12 refers to the key data stored in the nonvolatile memory 14 when storing the program data. Thus, when the program data is externally read into the control circuit 12, the data at a predetermined address position of the program data is compared with the key data in the nonvolatile memory 14. And, as a result of comparison,
If the data specified by the address does not match any of the key data in the nonvolatile memory 14, the writing of the program data is stopped by the control circuit 12.

【0020】本実施例において、不揮発性メモリ14
は、プログラムデータの所定のアドレス位置を記憶して
いるアドレス記憶部15と、ビット値の配列からなるキ
ーデータを記憶しているキーデータ記憶部16とを備え
ている。
In this embodiment, the nonvolatile memory 14
Has an address storage unit 15 storing a predetermined address position of program data, and a key data storage unit 16 storing key data composed of an array of bit values.

【0021】また、制御回路12は、プログラムデータ
ロード制御手段17と、キーデータサンプリング手段1
8と、キーデータ比較手段19と、処理続行停止手段2
0とを備えている。
The control circuit 12 comprises a program data load control means 17 and a key data sampling means 1.
8, key data comparing means 19, and processing continuation stopping means 2
0.

【0022】プログラムデータロード制御手段17は、
外部記憶媒体10のプログラムデータのアドレスをイン
クリメントし、アドレス毎のデータをRAM13に書き
込む。その際、不揮発性メモリ14内のアドレス記憶部
15に記憶されているアドレスを読みだされ、このアド
レスと、外部記憶媒体10に供給されるアドレスとが比
較・参照される。プログラムデータロード制御手段17
によって、アドレス記憶部15に記憶されているアドレ
ス位置まで、プログラムデータのアドレスがインクリメ
ントされると、キーデータサンプリング手段18は、そ
のアドレス位置の先頭から所定のビット値配列からなる
キーデータをサンプリングする。そして、キーデータ比
較手段19は、キーデータ記憶部16に記憶されている
キーデータを読み出し、このキーデータと前述したサン
プリングされたキーデータとを照合する。処理続行停止
手段20は、キーデータ比較手段19によって双方のキ
ーデータが照合され、一致した場合には、プログラムデ
ータロード制御手段17によるRAM13へのプログラ
ムデータの書き込み処理を続行させ、一方、一致しない
場合には、プログラムデータロード制御手段17による
RAM13へのプログラムデータの書き込みを停止させ
る。
The program data load control means 17 comprises:
The address of the program data in the external storage medium 10 is incremented, and the data for each address is written to the RAM 13. At this time, the address stored in the address storage unit 15 in the nonvolatile memory 14 is read out, and this address is compared with and referred to the address supplied to the external storage medium 10. Program data load control means 17
When the address of the program data is incremented to the address position stored in the address storage unit 15, the key data sampling means 18 samples key data consisting of a predetermined bit value array from the head of the address position. . Then, the key data comparing means 19 reads the key data stored in the key data storage section 16 and collates the key data with the above-mentioned sampled key data. The processing continuation stopping means 20 causes the key data comparing means 19 to compare the two key data, and when they match, causes the program data load control means 17 to continue the process of writing the program data into the RAM 13, while not matching In this case, the writing of the program data to the RAM 13 by the program data load control means 17 is stopped.

【0023】特に本発明の特徴的なことは、プログラム
データ内にキーデータを含ませたことである。すなわ
ち、本発明のPLD11において、アドレスによって指
定したプログラムデータの一部をキーデータと見なし、
不揮発性メモリ14に記憶されているキーデータと比較
することにより、RAM13にプログラムデータを読み
込ませるか否かが判断される。
A feature of the present invention is that key data is included in the program data. That is, in the PLD 11 of the present invention, a part of the program data specified by the address is regarded as key data,
By comparing the key data stored in the nonvolatile memory 14 with the key data, it is determined whether or not the program data is read into the RAM 13.

【0024】本実施例においては、まさにこの点が従来
の技術と著しく異なる点である。従来の技術において
は、上述したようにキーデータは、プログラムデータと
は完全に区別されていたが、本実施例はプログラムデー
タの一部をキーデータと見なし、何ら新たなデータの付
加を必要とはしないのである。
In the present embodiment, this point is a point that is significantly different from the prior art. In the conventional technology, the key data is completely distinguished from the program data as described above. However, in the present embodiment, a part of the program data is regarded as the key data, and no new data needs to be added. Do not.

【0025】そして、いったんプログラムデータがすべ
てRAM13に読み込まれると、そのキーデータを含め
て一つのプログラムデータとして、本PLD11の機能
を設定するために用いることができる。したがって、過
誤による誤ったプログラムデータが読み込むことを防止
できる。
Once all of the program data has been read into the RAM 13, the program data including the key data can be used as one program data for setting the functions of the PLD 11. Therefore, it is possible to prevent erroneous program data from being read due to an error.

【0026】次に、本実施例に係るPLD11にプログ
ラムデータがロードされるときの動作をフローチャート
を用いて説明する。図2は、本発明に係るPLD11に
プログラムデータがロードされるときの動作を示すフロ
ーチャートである。なお、このフローチャートが実行さ
れる前においては、プログラムデータのアドレスは「−
1」であるとする。
Next, an operation when program data is loaded into the PLD 11 according to the present embodiment will be described with reference to a flowchart. FIG. 2 is a flowchart showing an operation when program data is loaded into the PLD 11 according to the present invention. Before this flowchart is executed, the address of the program data is “−”.
1 ".

【0027】まず、プログラムデータロード手段17に
よって、外部記憶媒体10のプログラムデータのアドレ
スがインクリメントされ(ステップ30)、そのインク
リメントされたアドレスが最後のアドレスか否かが判断
される(ステップ31)。
First, the program data loading means 17 increments the address of the program data in the external storage medium 10 (step 30), and determines whether or not the incremented address is the last address (step 31).

【0028】そして、最後でなかった場合には、そのア
ドレスのプログラムデータが外部記憶媒体10から読み
込まれ、RAM13に格納される(ステップ32)。さ
らに、このアドレスがキーデータをサンプリングするア
ドレス位置であるかどうか検査される(ステップ3
3)。もし、そのアドレスがアドレス記憶部15に記憶
されているアドレスである場合には、キーデータサンプ
リング手段18は、そのアドレスから所定のビット幅の
キーデータであるビット値の配列をサンプリングする
(ステップ34)。そして、このサンプリングされたビ
ット値の配列とキーデータ記憶部16に記憶されている
ビット値配列とがキーデータ比較手段19において照合
される(ステップ35)。もし、サンプリングされたビ
ット値配列がキーデータ記憶部16に記憶されているい
ずれか1つ(以上)のビット値配列と一致した場合には
(ステップ36)、さらにプログラムデータのアドレス
をインクリメントされ、同様の処理が続行される(ステ
ップ30)。
If it is not the last, the program data at that address is read from the external storage medium 10 and stored in the RAM 13 (step 32). Further, it is checked whether or not this address is an address position where key data is sampled (step 3).
3). If the address is an address stored in the address storage unit 15, the key data sampling means 18 samples an array of bit values as key data having a predetermined bit width from the address (step 34). ). Then, the array of the sampled bit values and the bit value array stored in the key data storage section 16 are collated by the key data comparing means 19 (step 35). If the sampled bit value array matches any one (or more) bit value array stored in the key data storage unit 16 (step 36), the address of the program data is further incremented, Similar processing is continued (step 30).

【0029】そして、このルーチンを繰り返し、プログ
ラムデータの最後である場合、すなわち、プログラムデ
ータが最後まで読み込まれRAM13に格納された場合
には(ステップ31)、本PLD11の回路動作が開始
される(ステップ38)。しかし、上記ステップ36で
の比較において一致するキーデータがない場合には、プ
ログラムデータの読み込み処理が中止される(ステップ
37)。
This routine is repeated, and when the program data is the last, that is, when the program data is read to the end and stored in the RAM 13 (step 31), the circuit operation of the PLD 11 is started (step 31). Step 38). However, if there is no matching key data in the comparison in step 36, the program data reading process is stopped (step 37).

【0030】したがって、本実施例によれば、プログラ
ムデータに何ら新たなデータを付加することなく、不当
なプログラムが本実施例のPLD11内のRAM13に
格納されるのを防止することが可能である。その結果、
これまでに作成されたプログラムデータの資産が本実施
例のPLD11においてもそのまま使用可能であり、資
源の有効利用が図れる。
Therefore, according to the present embodiment, it is possible to prevent an illegal program from being stored in the RAM 13 in the PLD 11 of the present embodiment without adding any new data to the program data. . as a result,
The assets of the program data created so far can be used as they are in the PLD 11 of the present embodiment, and effective use of resources can be achieved.

【0031】また、図1には不揮発性メモリはの構成と
して、1組のキーデータ記憶部とそのアドレス記憶部と
が示されているが、これらの組は複数組備えることが好
適である。このように構成すれば、PLD11に利用さ
れるプログラムデータを複数個用意することが可能だか
らである。そのため、複数のプログラムデータを一個の
PLDに適用したい場合、例えば装置の試作・実験段階
における利便性が向上する。その結果、1個のPLDに
対し所望により複数個のプログラムデータを切り換えて
ロードすることができる。この場合、1つのPLDを所
望により複数の機能に切り換えて用いることができる。
FIG. 1 shows one set of key data storage section and its address storage section as the configuration of the nonvolatile memory. However, it is preferable to provide a plurality of these sets. This is because with such a configuration, a plurality of program data used for the PLD 11 can be prepared. Therefore, when it is desired to apply a plurality of program data to one PLD, for example, the convenience in the prototype and experimental stages of the device is improved. As a result, a plurality of program data can be switched and loaded into one PLD as desired. In this case, one PLD can be switched to a plurality of functions as desired.

【0032】さらに、本実施例においては、一致するキ
ーデータがキーデータ記憶部19にない場合には、処理
続行停止手段20は、プログラムデータのロードを停止
させていたが、停止とは別に(または停止と共に)外部
に異常信号を出力することも好適である。このように構
成すれば、不当なプログラムデータがロードされようと
したことが外部から容易に判断でき、それに対し迅速な
対応が可能である。例えば、外部にLED等の表示装置
を備え、誤ったプログラムデータがロードされようとし
た場合に、この表示装置にその旨が表示されるように構
成すれば、操作者が容易に過誤が生じたことを把握する
ことができる。
Further, in this embodiment, when there is no matching key data in the key data storage unit 19, the processing continuation stopping means 20 stops the loading of the program data. It is also preferable to output an abnormal signal to the outside (along with the stop). With this configuration, it can be easily determined from the outside that the illegal program data has been loaded, and a prompt response can be made. For example, if an external display device such as an LED is provided and an erroneous program data is to be loaded, the display device is configured to display that fact, so that the operator can easily make an error. You can understand that.

【0033】またさらに、キーデータ記憶部16に記憶
されるキーデータのデータ長を外部からの指令によって
可変にすることも好適である。これによって、プログラ
ムの受容性によってキーデータの長さを変更することが
できる。特に、複数のキーデータそれぞれの長さを独立
に可変とすれば、プログラムデータ毎にキーデータのデ
ータ長を変えることができる。したがって、プログラム
の正当性を精度良く検出することが可能である。
Further, it is also preferable that the data length of the key data stored in the key data storage section 16 is made variable by an external command. Thus, the length of the key data can be changed according to the acceptability of the program. In particular, if the lengths of a plurality of key data are independently variable, the data length of the key data can be changed for each program data. Therefore, it is possible to accurately detect the validity of the program.

【0034】以上述べたように、本実施例によるPLD
11を電子機器に用いれば、誤って、不当なプログラム
データをそのPLD11にロードする恐れが少なくな
る。その結果、電子機器の誤動作を効率良く防止するこ
とが可能な電子機器が得られるという効果を有する。
As described above, the PLD according to the present embodiment
If 11 is used in an electronic device, the risk of incorrectly loading incorrect program data into the PLD 11 is reduced. As a result, an electronic device capable of efficiently preventing malfunction of the electronic device can be obtained.

【0035】[0035]

【発明の効果】以上述べたように、本発明のPLDは、
PLDの機能を定義するプログラムデータ中のデータで
あって、アドレス記憶手段に記憶されているアドレスに
よって指定されるデータと、キーデータ記憶手段に記憶
されているキーデータのいずれか1個とが一致した時の
み正規の動作を行う。したがって、一致するキーデータ
が記憶されていない場合には、その不当なプログラムデ
ータがPLDに書き込まれることを防止することができ
る。その結果、このPLDを用いた電子機器の誤作動を
効率的に防止できるという効果を有する。
As described above, the PLD of the present invention has the following features.
The data in the program data that defines the function of the PLD, the data specified by the address stored in the address storage unit, and one of the key data stored in the key data storage unit match Normal operation is performed only when done. Therefore, when the matching key data is not stored, it is possible to prevent the illegal program data from being written to the PLD. As a result, there is an effect that malfunction of an electronic device using the PLD can be efficiently prevented.

【0036】また、一致するキーデータが前記キーデー
タ記憶手段に記憶されていない場合には、外部に異常信
号を出力する異常信号出力手段を有しているので、誤っ
たプログラムデータを投入した場合にも、それを迅速に
認識することがでる。その結果、正しいプログラムデー
タの再ロード等の処置を迅速に施すことが可能である。
When the matching key data is not stored in the key data storage means, an abnormal signal output means for outputting an abnormal signal to the outside is provided. And you can recognize it quickly. As a result, it is possible to quickly take measures such as reloading of the correct program data.

【0037】さらに、キーデータ記憶手段に記憶される
キーデータのデータ長が可変であるので、複数のプログ
ラムデータ毎にキーデータのデータ長を変えることがで
きる。このため、正当なプログラムデータであるか否か
を精度よく検出することができる。
Further, since the data length of the key data stored in the key data storage means is variable, the data length of the key data can be changed for each of a plurality of program data. Therefore, it is possible to accurately detect whether or not the program data is valid.

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

【図1】本発明の一実施例であるPLDの部分構成ブロ
ック図である。
FIG. 1 is a block diagram showing a partial configuration of a PLD according to an embodiment of the present invention.

【図2】本発明の一実施例であるPLDを説明するため
のフローチャートである。
FIG. 2 is a flowchart illustrating a PLD according to an embodiment of the present invention.

【図3】従来のPLDの部分構成ブロック図である。FIG. 3 is a partial block diagram of a conventional PLD.

【図4】従来のPLDのプログラミングの様子を示す説
明図である。
FIG. 4 is an explanatory diagram showing a state of programming of a conventional PLD.

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

10 外部記憶媒体 11 プログラマブルロジックデバイス(PLD) 12 制御回路 13 ランダム・アクセス・メモリ(RAM) 14 不揮発性メモリ 15 アドレス記憶部 16 キーデータ記憶部 17 プログラムデータロード制御手段 18 キーデータサンプリング手段 19 キーデータ比較手段 20 処理続行停止手段 DESCRIPTION OF SYMBOLS 10 External storage medium 11 Programmable logic device (PLD) 12 Control circuit 13 Random access memory (RAM) 14 Nonvolatile memory 15 Address storage 16 Key data storage 17 Program data load control means 18 Key data sampling means 19 Key data Comparison means 20 Processing continuation stopping means

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−245016(JP,A) 特開 平6−35663(JP,A) 特開 平5−259281(JP,A) 特開 平5−235163(JP,A) ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-63-245016 (JP, A) JP-A-6-35663 (JP, A) JP-A-5-259281 (JP, A) JP-A-5-259281 235163 (JP, A)

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 プログラムデータを外部から書き込むべ
き揮発性メモリと、 前記プログラムデータの前記揮発性メモリへの書き込み
を制御する制御手段と、 を備え、前記揮発性メモリに書き込まれたプログラムデ
ータによって、その機能が定義されるプログラマブルロ
ジックデバイスにおいて、 前記プログラムデータが書き込まれる前記揮発性メモリ
中の所定のアドレスを記憶する一個以上のアドレス記憶
手段と、 キーデータを記憶する一個以上のキーデータ記憶手段
と、 前記アドレス記憶手段に記憶されているアドレスによっ
て指定される前記プログラムデータ中のデータを、前記
キーデータ記憶手段に記憶されている一個以上のキーデ
ータと比較する比較手段と、 を含み、 前記比較手段による比較の結果、前記アドレスによって
指定されるデータが前記キーデータ記憶手段に記憶され
たキーデータのいずれにも一致しない場合、前記制御手
段はプログラムデータの書き込みを停止することを特徴
とするプログラマブルロジックデバイス。
1. A volatile memory to which program data is to be written from the outside, and control means for controlling writing of the program data to the volatile memory, wherein the program data written to the volatile memory In a programmable logic device whose function is defined, one or more address storage means for storing a predetermined address in the volatile memory to which the program data is written, and one or more key data storage means for storing key data And comparing means for comparing data in the program data specified by the address stored in the address storage means with one or more key data stored in the key data storage means. Specified by the address as a result of comparison by means Programmable logic device, characterized in that if the data does not match any of the key data stored in said key data storage means, the control means for stopping the writing of the program data.
【請求項2】 プログラムデータを外部から書き込むべ
き揮発性メモリと、 前記プログラムデータの前記揮発性メモリへの書き込み
を制御する制御手段と、 を備え、前記揮発性メモリに書き込まれたプログラムデ
ータによって、機能が定義されるプログラマブルロジッ
クデバイスにおいて、 前記プログラムデータが書き込まれる前記揮発性メモリ
中の所定のアドレスを記憶する一個以上のアドレス記憶
手段と、 キーデータを記憶する一個以上のキーデータ記憶手段
と、 前記アドレス記憶手段に記憶されているアドレスによっ
て指定される前記プログラムデータ中のデータを、前記
キーデータ記憶手段に記憶されている一個以上のキーデ
ータと比較する比較手段と、 前記比較手段による比較の結果、前記アドレスによって
指定されるデータと一致するキーデータが前記キーデー
タ記憶手段に記憶されていない場合には、不当なプログ
ラムデータが書き込まれたことを表す異常信号を外部に
出力する異常信号出力手段と、 を含むことを特徴とするプログラマブルロジックデバイ
ス。
2. A volatile memory to which program data is to be written from the outside, and control means for controlling writing of the program data to the volatile memory, wherein the program data written to the volatile memory In a programmable logic device in which a function is defined, one or more address storage means for storing a predetermined address in the volatile memory to which the program data is written, one or more key data storage means for storing key data, A comparing unit that compares data in the program data specified by the address stored in the address storage unit with one or more key data stored in the key data storage unit; As a result, the data specified by the address and When the matching key data is not stored in the key data storage means, an abnormal signal output means for outputting an abnormal signal indicating that illegal program data has been written to the outside; Programmable logic device.
【請求項3】 請求項1または2記載のプログラマブル
ロジックデバイスにおいて、 前記キーデータ記憶手段に記憶される一個以上のキーデ
ータのデータ長が、外部からの指令により変更されるこ
とを特徴とするプログラマブルロジックデバイス。
3. The programmable logic device according to claim 1, wherein a data length of one or more key data stored in said key data storage means is changed by an external command. Logic device.
JP22576892A 1992-08-25 1992-08-25 Programmable logic device Expired - Fee Related JP2637018B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22576892A JP2637018B2 (en) 1992-08-25 1992-08-25 Programmable logic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22576892A JP2637018B2 (en) 1992-08-25 1992-08-25 Programmable logic device

Publications (2)

Publication Number Publication Date
JPH0677319A JPH0677319A (en) 1994-03-18
JP2637018B2 true JP2637018B2 (en) 1997-08-06

Family

ID=16834501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22576892A Expired - Fee Related JP2637018B2 (en) 1992-08-25 1992-08-25 Programmable logic device

Country Status (1)

Country Link
JP (1) JP2637018B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802274A (en) * 1994-05-04 1998-09-01 International Business Machines Corporation Cartridge manufacturing system for game programs
US5734868A (en) * 1995-08-09 1998-03-31 Curd; Derek R. Efficient in-system programming structure and method for non-volatile programmable logic devices
KR100449033B1 (en) * 2002-01-07 2004-09-16 삼성전자주식회사 the apparatus and the method for symmetrical data relay using inbuilted memory in PLD
KR101899880B1 (en) 2011-02-17 2018-09-18 가부시키가이샤 한도오따이 에네루기 켄큐쇼 Programmable lsi
KR101946360B1 (en) 2011-05-16 2019-02-11 가부시키가이샤 한도오따이 에네루기 켄큐쇼 Programmable logic device
US8581625B2 (en) 2011-05-19 2013-11-12 Semiconductor Energy Laboratory Co., Ltd. Programmable logic device

Also Published As

Publication number Publication date
JPH0677319A (en) 1994-03-18

Similar Documents

Publication Publication Date Title
EP0287338B1 (en) Security fuse circuit for programmable logic array
US8140216B2 (en) Method of detecting manipulation of a programmable memory device of a digital controller
JP2005503633A (en) Safe polyfuse ROM with power-on or on-reset hardware safety characteristics and method thereof
JP2637018B2 (en) Programmable logic device
KR100634356B1 (en) Memory system safely loading main data and data loading method thereof
WO2001061503A1 (en) Nonvolatile memory
US6839277B2 (en) User identification for multi-purpose flash memory
JP2598384Y2 (en) Data processing device
JP3750494B2 (en) Semiconductor device
US7890721B2 (en) Implementation of integrated status of a protection register word in a protection register array
JPS6146864B2 (en)
TWI750073B (en) Semiconductor device with security function and security method thereof
JP3802874B2 (en) Memory cell location array
JP4103452B2 (en) Data input control device for serial EEPROM
JPH11265319A (en) Method and device for reading out, changing and rewriting data stored in storage device
JPH06103176A (en) Processing method for nonvolatile memory
US6018250A (en) Programming method to enable system recovery after power failure
US20060179397A1 (en) Interface for generating an error code
KR0186192B1 (en) Program apparatus for non-volatile memory
JPS62288951A (en) Memory device
JPH06236681A (en) Semiconductor memory
KR940009755B1 (en) Memory board having error correction function
JP3041007B2 (en) Non-volatile memory management method
JPH0683610A (en) Programmable logical device
JPH0264726A (en) Information processor to connect external memory device

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees