JP2006180375A - Programmable logic circuit - Google Patents

Programmable logic circuit Download PDF

Info

Publication number
JP2006180375A
JP2006180375A JP2004373574A JP2004373574A JP2006180375A JP 2006180375 A JP2006180375 A JP 2006180375A JP 2004373574 A JP2004373574 A JP 2004373574A JP 2004373574 A JP2004373574 A JP 2004373574A JP 2006180375 A JP2006180375 A JP 2006180375A
Authority
JP
Japan
Prior art keywords
configuration
programmable logic
circuit
configuration data
data
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
JP2004373574A
Other languages
Japanese (ja)
Inventor
Hiroyuki Motozuka
裕幸 本塚
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 JP2004373574A priority Critical patent/JP2006180375A/en
Priority to PCT/JP2005/023315 priority patent/WO2006068109A1/en
Publication of JP2006180375A publication Critical patent/JP2006180375A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17768Structural details of configuration resources for security

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a programmable logic circuit capable of securing confidential design information with encrypted configuration data, without using a decoding circuit for exclusive use. <P>SOLUTION: An encrypted configuration bit stream is loaded to a register (not shown) of each configuration circuit 2, formed into an arrayed form PE 4 along a configuration chain 6. At this time, since the value of input configuration bit stream is changed in the process of passing the configuration chain 6, no one but a designer can know what value is going to be obtained, when reaching a destination PE in the arrayed PE 4. Accordingly, data are stirred, if a return circuit 40a is provided between desired two points of configuration circuit 2 if the data are returned, which makes it difficult for a third party to infer configuration data. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、セキュリティ機能を備えたLSIのプログラマブル論理回路に関し、特に、コンフィギュレーションデータの秘匿性を確保できるプログラマブルロジックアレイなどのような、秘匿化されたコンフィギュレーションデータを内部で復号化することができるプログラマブル論理回路に関する。   The present invention relates to an LSI programmable logic circuit having a security function. In particular, the present invention can internally decrypt confidential configuration data such as a programmable logic array that can ensure the confidentiality of configuration data. The present invention relates to a programmable logic circuit.

従来より、電気的に機能を再構成できるLSIのディジタル信号処理デバイスとして、FPGA(Field Programmable Logic Array)やALU(Arithmetic and Logical Unit)アレイ型プロセッサなどが知られている。以下、これらを総称してプログラマブルロジックアレイと呼ぶことにする。プログラマブルロジックアレイにおいては、コンフィギュレーションデータと呼ばれるディジタルデータをロード(書き込み)することにより、多種の論理回路(ロジック)を実現することができる。例えば、1つのFPGAに第一のコンフィギュレーションデータをロードすることにより離散コサイン変換処理回路を実現することができ、さらに、同一のFPGAに別のコンフィギュレーションデータをロードすることにより離散ウェーブレット変換処理回路を実現することができる。   Conventionally, as an LSI digital signal processing device whose function can be electrically reconfigured, an FPGA (Field Programmable Logic Array), an ALU (Arithmetic and Logical Unit) array processor, and the like are known. Hereinafter, these are collectively referred to as a programmable logic array. In a programmable logic array, various logic circuits (logic) can be realized by loading (writing) digital data called configuration data. For example, a discrete cosine transform processing circuit can be realized by loading first configuration data into one FPGA, and a discrete wavelet transform processing circuit can be realized by loading other configuration data into the same FPGA. Can be realized.

したがって、プログラマブルロジックアレイを利用して製品を設計する場合には、実現しようとする機能に合わせてコンフィギュレーションデータを設計してロードすればよい。このことは、別の面では、悪意を持つ第三者がコンフィギュレーションデータを解析することにより、製品が実現する機能を容易に解析されてしまうというリスクをもたらすことになる。例えば、SRAM(Static Random Access Memory)型FPGAには、外部のフラッシュメモリやROMにコンフィギュレーションデータを保存しておき、ブート時にFPGAへロードするタイプのものがある。この構成においては、一般的にフラッシュメモリは汎用品であり、また、LSIの外部でFPGAと接続されているため、容易にコンフィギュレーションデータの内容を読み取られてしまう。   Therefore, when designing a product using a programmable logic array, configuration data may be designed and loaded according to the function to be realized. In another aspect, this poses a risk that a malicious third party can easily analyze the functions realized by the product by analyzing the configuration data. For example, there is a static random access memory (SRAM) type FPGA in which configuration data is stored in an external flash memory or ROM and loaded into the FPGA at the time of booting. In this configuration, the flash memory is generally a general-purpose product, and since it is connected to the FPGA outside the LSI, the contents of the configuration data can be easily read.

したがって、従来、プログラマブルロジックアレイにおける設計情報の機密を保持する必要がある場合には、一度しか書き込みのできないアンチフューズ型FPGAや、不揮発型メモリを内蔵したFPGAなどが用いられている。しかし、これらのデバイスは、安価なフラッシュメモリを利用できるSRAM型FPGAに比べてコストが高い割に性能面が劣るものであった。さらに、近年では、ネットワークを介してコンフィギュレーションデータを配信しようとする試みがなされており、プログラマブルロジックアレイのコンフィギュレーションデータにおける秘匿性の確保は大きな課題となっている。このような秘匿性の課題を解決する1つの方法として、コンフィギュレーションデータを暗号化する方法が知られている。   Therefore, conventionally, when it is necessary to maintain the confidentiality of the design information in the programmable logic array, an antifuse type FPGA that can be written only once, an FPGA with a built-in nonvolatile memory, or the like is used. However, these devices are inferior in performance in spite of the high cost compared to the SRAM type FPGA that can use an inexpensive flash memory. Furthermore, in recent years, attempts have been made to distribute configuration data via a network, and ensuring confidentiality in configuration data of a programmable logic array has become a major issue. As one method for solving such a problem of confidentiality, a method of encrypting configuration data is known.

特許文献1では、暗号化されたコンフィギュレーションデータをLSIの内部における専用の復号回路によって復号化し、FPGAをプログラムすることによってコンフィギュレーションデータの秘匿性を確保する技術が開示されている。   Japanese Patent Application Laid-Open No. 2004-228561 discloses a technique for ensuring the confidentiality of configuration data by decrypting encrypted configuration data with a dedicated decryption circuit inside the LSI and programming the FPGA.

さらに、プログラマブルロジックの内部に秘密鍵情報をあらかじめ保存しておき、ロードされたデータと秘密鍵情報との間で排他的論理和(XOR)を計算することにより、コンフィギュレーションデータを求める技術が開示されている。この技術によれば、秘密鍵情報が漏洩しない限りコンフィギュレーションデータの秘匿性は守られる(例えば、特許文献2参照)。   Furthermore, a technique for obtaining configuration data by preliminarily storing secret key information in the programmable logic and calculating an exclusive OR (XOR) between the loaded data and the secret key information is disclosed. Has been. According to this technique, the confidentiality of the configuration data is protected as long as the secret key information is not leaked (see, for example, Patent Document 2).

すなわち、一般的な秘密鍵(共通鍵)暗号によるコンフィギュレーションデータの秘匿方法は、プログラマブルロジック内部に復号回路を持たせ、暗号化されたコンフィギュレーションデータをチップ内部の復号回路で復号化することによって秘匿性を確保している。例えば、Xilinx社やAltera社のハイエンドFPGAでは、このような目的の復号回路が実装されている。
特開2002−50956号公報 特開2003−303095号公報
That is, a configuration data concealment method using a general secret key (common key) cipher is provided by having a decryption circuit inside the programmable logic and decrypting the encrypted configuration data by the decryption circuit inside the chip. Confidentiality is ensured. For example, a high-end FPGA manufactured by Xilinx or Altera has a decoding circuit for such a purpose.
JP 2002-50956 A JP 2003-303095 A

しかしながら、前記の特許文献1に記載された技術では、コンフィギュレーションデータを復号化するために別途に復号回路が必要となるので、回路規模が増大し、LSIのコストが高くなるという問題がある。また、復号化に要する処理時間によってコンフィギュレーションデータをロードする速度が制限されてしまう。   However, the technique described in Patent Document 1 requires a separate decoding circuit for decoding the configuration data, which increases the circuit scale and increases the cost of the LSI. In addition, the speed of loading configuration data is limited by the processing time required for decoding.

さらに、前記の特許文献2に記載された技術では、コンフィギュレーションデータを保護するためには、コンフィギュレーションデータと同等のデータ量の秘密鍵情報が必要となる。つまり、コンフィギュレーションデータと同等のデータ量の秘密鍵情報を保持しなければ、ロードするデータの一部を変化させたデータをロードしてプログラマブルロジックの動作を観察することによって、秘密鍵情報が容易に解読されてしまう。したがって、特許文献2に開示された技術によってコンフィギュレーションデータを保護するためには、多量の記憶素子が必要となり、その結果、プログラマブルロジックのコストを増大させてしまう。   Furthermore, in the technique described in Patent Document 2, in order to protect the configuration data, secret key information having a data amount equivalent to the configuration data is required. In other words, if the private key information with the same amount of data as the configuration data is not retained, the private key information can be easily obtained by observing the operation of the programmable logic by loading data obtained by changing a part of the loaded data. Will be deciphered. Therefore, in order to protect the configuration data by the technique disclosed in Patent Document 2, a large amount of memory elements are required, and as a result, the cost of the programmable logic is increased.

本発明はかかる点に鑑みてなされたものであり、専用の復号回路を用いないで暗号化したコンフィギュレーションデータをプログラマブルロジック内部で復号することにより、コンフィギュレーションデータを保護することができるプログラマブル論理回路を提供することを目的とする。   The present invention has been made in view of such a point, and a programmable logic circuit capable of protecting configuration data by decrypting configuration data encrypted without using a dedicated decryption circuit inside the programmable logic. The purpose is to provide.

上記の課題を解決するために、本発明のプログラマブル論理回路は、直列に接続された各々のレジスタに対してコンフィギュレーションデータをシフトインすることにより、そのコンフィギュレーションデータを各々のレジスタにロードするプログラマブル論理回路であって、各々のレジスタのうち所望のレジスタに接続された演算器と、他のレジスタの接続部から演算器に対してコンフィギュレーションデータを帰還させる帰還回路とを備える構成を採っている。   In order to solve the above-described problem, the programmable logic circuit of the present invention is a programmable logic circuit that loads configuration data to each register by shifting the configuration data to each register connected in series. A logic circuit having a configuration including an arithmetic unit connected to a desired register among the registers and a feedback circuit that feeds back configuration data to the arithmetic unit from a connection part of another register. .

すなわち、本発明のプログラマブル論理回路は、直列に接続されたレジスタに対しコンフィギュレーションデータをシフトインすることにより、そのコンフィギュレーションデータをレジスタにロードするプログラマブル論理回路において、レジスタの接続部に演算器を備えていて、別のレジスタの接続部から帰還させたコンフィギュレーションデータをその演算器に入力することにより、入力データを変化させるコンフィギュレーションデータを生成することができる。したがって、このような構成によれば、コンフィギュレーションデータの帰還によりそのコンフィギュレーションデータが撹拌されるため、秘密の演算器により入力データからコンフィギュレーションデータを生成される過程を推定することが困難となる。その結果、コンフィギュレーションデータの秘匿性を高いレベルで確保することができる。   That is, the programmable logic circuit of the present invention shifts the configuration data to the serially connected registers, and loads the configuration data into the registers. It is possible to generate configuration data for changing input data by inputting configuration data fed back from a connection portion of another register to the arithmetic unit. Therefore, according to such a configuration, since the configuration data is agitated by the feedback of the configuration data, it is difficult to estimate the process of generating the configuration data from the input data by the secret arithmetic unit. . As a result, the confidentiality of the configuration data can be ensured at a high level.

また、本発明のプログラマブル論理回路は、直列に接続された各々のレジスタに対してコンフィギュレーションデータをシフトインすることにより、そのコンフィギュレーションデータを各々のレジスタにロードするプログラマブル論理回路であって、各々のレジスタのうちの所望のレジスタに接続され、コンフィギュレーションデータのビットの並べ替えを行うビット並び替え回路を備える構成を採っている。   The programmable logic circuit of the present invention is a programmable logic circuit that loads configuration data into each register by shifting in the configuration data to each register connected in series. The configuration is such that a bit rearrangement circuit that is connected to a desired one of the registers and rearranges the bits of the configuration data is provided.

このような構成によれば、所望の位置に配置されたビット並び替え回路によってコンフィギュレーションデータのビットの並べ替えを行うので、コンフィギュレーションデータがビット単位で撹拌されるためにコンフィギュレーションデータの秘匿性を高めることができる。   According to such a configuration, since the bit of the configuration data is rearranged by the bit rearrangement circuit arranged at a desired position, since the configuration data is agitated in units of bits, the confidentiality of the configuration data Can be increased.

また、本発明のプログラマブル論理回路は、前記発明の構成に加えて、各々のレジスタのうちの所望のレジスタに接続され、コンフィギュレーションデータのビットの並べ替えを行うビット並び替え回路を備え、そのビット並び替え回路は、コンフィギュレーションデータの帰還によりループをなすレジスタの接続部の一部に挿入される構成を採っている。   In addition to the configuration of the invention, the programmable logic circuit of the present invention includes a bit rearrangement circuit that is connected to a desired register of each register and rearranges the bits of the configuration data. The rearrangement circuit is configured to be inserted into a part of a connection part of a register forming a loop by feedback of configuration data.

すなわち、本発明のプログラマブル論理回路は、コンフィギュレーションデータの帰還によりループをなす帰還回路の構成に加えて、レジスタの接続部の一部にビット並び替え回路を挿入する構成を採っている。このような構成によれば、コンフィギュレーションデータが帰還回路によって攪拌されると共にビット単位で撹拌されるため、コンフィギュレーションデータの秘匿性をさらに高めることができる。   That is, the programmable logic circuit of the present invention employs a configuration in which a bit rearrangement circuit is inserted in a part of the connection portion of the register in addition to the configuration of the feedback circuit that forms a loop by feedback of configuration data. According to such a configuration, the configuration data is agitated by the feedback circuit and agitated bit by bit, so that the confidentiality of the configuration data can be further enhanced.

また、本発明のプログラマブル論理回路は、直列に接続された各々のレジスタに対してコンフィギュレーションデータをシフトインすることにより、そのコンフィギュレーションデータを各々のレジスタにロードするプログラマブル論理回路であって、秘密鍵情報を保存する記憶素子と、所望のレジスタの接続部を通過するコンフィギュレーションデータと記憶素子から取得した秘密鍵情報との間で特定の演算処理を行う特定の演算器とを備える構成を採っている。   The programmable logic circuit of the present invention is a programmable logic circuit that loads configuration data to each register by shifting in the configuration data to each register connected in series. A configuration including a storage element that stores key information, and a specific arithmetic unit that performs specific arithmetic processing between configuration data passing through a connection portion of a desired register and secret key information acquired from the storage element. ing.

このような構成によれば、秘密鍵情報を記憶する記憶素子と特定の演算器を所望の位置に配置することにより、コンフィギュレーションデータを解析するために秘密鍵情報と演算器の位置を推定する必要が生じるため、コンフィギュレーションデータの秘匿性を高めることができる。   According to such a configuration, the storage element for storing the secret key information and the specific arithmetic unit are arranged at a desired position, thereby estimating the secret key information and the position of the arithmetic unit in order to analyze the configuration data. Since necessity arises, the confidentiality of configuration data can be improved.

また、本発明のプログラマブル論理回路は、前記各発明の構成に加えて、秘密鍵情報を保存する記憶素子と、所望のレジスタの接続部を通過するコンフィギュレーションデータと記憶素子から取得した秘密鍵情報との間で特定の演算処理を行う特定の演算器とを備え、記憶素子と特定の演算器は、コンフィギュレーションデータの帰還によりループをなすレジスタの接続部の一部に挿入される構成を採っている。   The programmable logic circuit according to the present invention includes a storage element that stores secret key information, configuration data that passes through a connection portion of a desired register, and secret key information acquired from the storage element, in addition to the configuration of each invention described above. And a specific arithmetic unit that performs specific arithmetic processing between the storage element and the specific arithmetic unit, and a configuration in which the storage element and the specific arithmetic unit are inserted into a part of a connection portion of a register that forms a loop by feedback of configuration data. ing.

すなわち、本発明のプログラマブル論理回路は、コンフィギュレーションデータの帰還によりループをなす帰還回路や、コンフィギュレーションデータのビットの並べ替えを行うビット並び替え回路の構成に加えて、秘密鍵情報を保存する記憶素子を備え、その記憶素子はコンフィギュレーションデータの帰還によりループをなすレジスタの接続部の一部に挿入されている。このような構成によれば、コンフィギュレーションデータが帰還回路によって攪拌され、かつビット単位で撹拌されると共に、コンフィギュレーションデータを解析するために、秘密鍵情報を取得する必要が生じるため、コンフィギュレーションデータの秘匿性を一段と高めることができる。   That is, the programmable logic circuit of the present invention stores a secret key information in addition to the configuration of a feedback circuit that forms a loop by feedback of configuration data and a bit rearrangement circuit that rearranges bits of configuration data. The memory element is inserted into a part of a connection portion of a register that forms a loop by feedback of configuration data. According to such a configuration, the configuration data is agitated by the feedback circuit and agitated bit by bit, and it is necessary to acquire the secret key information in order to analyze the configuration data. Can be further improved.

本発明のプログラマブル論理回路によれば、元来プログラマブルロジックが持つロード回路に若干の変更を加えるだけでコンフィギュレーションデータの秘匿性を実現することができる。これによって、わずかな回路規模の増加だけでコンフィギュレーションデータの秘匿性を確保することができる。また、本発明のプログラマブル論理回路では、ループ構造をとることによってシンプルな構造にもかかわらず演算の複雑さを大幅に向上させることができる。つまり、本発明プログラマブル論理回路は、演算が複雑であることが暗号を解読されにくいということにつながる点で従来技術に比べて優れている。   According to the programmable logic circuit of the present invention, the secrecy of the configuration data can be realized only by making a slight change to the load circuit originally possessed by the programmable logic. Thereby, the secrecy of the configuration data can be ensured with only a slight increase in circuit scale. In the programmable logic circuit of the present invention, the complexity of the operation can be greatly improved by adopting the loop structure, despite the simple structure. In other words, the programmable logic circuit of the present invention is superior to the prior art in that the complexity of the operation leads to the difficulty in decrypting the code.

(発明の概要)
本発明のプログラマブル論理回路は、専用の復号回路を用いることなく、暗号化されたコンフィギュレーションデータをプログラマブルロジック内部で復号することにより、FPGAやALUアレイ型プロセッサなどのプログラマブルロジックにおいてコンフィギュレーションデータが読まれないように保護している。
(Summary of Invention)
The programmable logic circuit of the present invention reads configuration data in a programmable logic such as an FPGA or an ALU array type processor by decrypting the encrypted configuration data inside the programmable logic without using a dedicated decryption circuit. It is protected so that it does not.

すなわち、レジスタを直列に接続した(つまり、数珠繋ぎにした)回路によってコンフィギュレーションデータをロードする方式において、従来のプログラマブル論理回路では単に1列に接続しているのに対し、本発明のプログラマブル論理回路では、レジスタの接続を部分的にループさせてループ内で特定の演算処理を行っている。このような構成によって、本発明のプログラマブル論理回路では、入力されたコンフィギュレーションデータは上記演算によって値が変わってしまうので、演算処理内容から逆算して本来のコンフィギュレーションデータと異なる値のデータ列を入力する必要がある(つまり、ループ内での特定の演算処理が復号化に相当し、逆算することが暗号化に相当する)。つまり、本発明のプログラマブル論理回路は、専用の復号回路を用いないで演算処理の内容を複雑化することによって、コンフィギュレーションデータについて高い秘匿性を確保している。   That is, in the system in which configuration data is loaded by a circuit in which registers are connected in series (that is, connected in a row), the programmable logic circuit of the present invention is simply connected in one column in the conventional programmable logic circuit. Then, the register connection is partially looped to perform specific arithmetic processing within the loop. With such a configuration, in the programmable logic circuit according to the present invention, the value of the input configuration data is changed by the above-described calculation. Therefore, a data string having a value different from the original configuration data is calculated by performing reverse calculation from the contents of the calculation processing. It is necessary to input (that is, a specific calculation process in the loop corresponds to decryption, and reverse calculation corresponds to encryption). That is, the programmable logic circuit of the present invention secures high confidentiality of configuration data by complicating the contents of the arithmetic processing without using a dedicated decoding circuit.

また、本発明のプログラマブル論理回路では、演算処理内容を秘密にすることで、設計者以外は入力されるコンフィギュレーションデータを見ても、本来のコンフィギュレーションデータ(例えば、FPGAがどのようにプログラムされているかという情報)を知ることができない。特定の演算処理としては、(1)ループする部分でのXOR(または算術加算)、(2)ビットの並び替え、(3)秘密鍵とコンフィギュレーションデータとのXOR(または算術加算)などの処理を行う。なお、これらの特定の演算処理は、公知の暗号アルゴリズムによって基本的な演算として用いられる処理を適用することができる。   Further, in the programmable logic circuit of the present invention, the contents of the arithmetic processing are kept secret, so that the original configuration data (for example, how the FPGA is programmed) can be seen even if the configuration data input by anyone other than the designer is seen. Information). Specific operation processing includes (1) XOR (or arithmetic addition) in a looping part, (2) bit rearrangement, and (3) XOR (or arithmetic addition) between a secret key and configuration data. I do. In addition, the process used as a basic calculation by a well-known encryption algorithm can be applied to these specific calculation processes.

以下、図面を用いて、本発明におけるプログラマブル論理回路の実施の形態の幾つかを詳細に説明する。尚、各実施の形態に用いる図面において、同一の構成要素は同一の符号を付し、かつ重複する説明は可能な限り省略する。なお、以下に述べる実施の形態では、プログラマブル論理回路としてプログラマブルロジックアレイのモデルを適用した場合を例に挙げて説明する。また、本発明の理解を容易にするために、本発明のプログラマブルロジックアレイを構成する前提となる従来のプログラマブルロジックアレイから順を追って説明することにする。   Hereinafter, some embodiments of a programmable logic circuit according to the present invention will be described in detail with reference to the drawings. In the drawings used in the embodiments, the same components are denoted by the same reference numerals, and redundant description is omitted as much as possible. In the embodiment described below, a case where a model of a programmable logic array is applied as a programmable logic circuit will be described as an example. In order to facilitate understanding of the present invention, the conventional programmable logic array which is the premise for configuring the programmable logic array of the present invention will be described in order.

(実施の形態1)
図1は、従来から知られている一般的なプログラマブルロジックアレイのモデルを示す構成図である。本発明のプログラマブルロジックアレイは図1の構成図を前提としている。図1において、プログラマブルロジックアレイ1は、コンフィギュレーション回路2とプログラマブル演算器3からなるPE(Processing Element)4と呼ばれる小さな演算器を多数アレイ状に配列した構成となっている。これらのアレイ状のPE4はインターコネクトバス5によって接続され、各PE4の間でデータの受け渡しが行われるようになっている。また、各PE4のコンフィギュレーション回路2はコンフィギュレーションチェーン6によって直列に接続され、その終端が入力ピン7と出力ピン8に接続されている。
(Embodiment 1)
FIG. 1 is a block diagram showing a model of a general programmable logic array that has been conventionally known. The programmable logic array of the present invention is based on the configuration diagram of FIG. In FIG. 1, a programmable logic array 1 has a configuration in which a large number of small arithmetic units called PE (Processing Element) 4 composed of a configuration circuit 2 and a programmable arithmetic unit 3 are arranged in an array. These arrayed PEs 4 are connected by an interconnect bus 5 so that data is transferred between the PEs 4. The configuration circuit 2 of each PE 4 is connected in series by a configuration chain 6, and its terminal is connected to an input pin 7 and an output pin 8.

プログラマブル演算器3は実際にデータ処理を行う部分であり、このプログラマブル演算器3の機能は設計者により変更することが可能である。その機能はコンフィギュレーション回路2によって設定することができるがその詳細は後述する。すなわち、PE4はプログラマブルロジックエレメントとも言われ、PE4の機能はコンフィギュレーション回路2のコンフィギュレーションデータによって決定される。また、各コンフィギュレーション回路2を直列に接続するコンフィギュレーションチェーン6は、コンフィギュレーションデータをロードするためのロード回路としての機能を備えている。   The programmable arithmetic unit 3 is a part that actually performs data processing, and the function of the programmable arithmetic unit 3 can be changed by a designer. The function can be set by the configuration circuit 2, and the details will be described later. That is, PE4 is also called a programmable logic element, and the function of PE4 is determined by the configuration data of the configuration circuit 2. The configuration chain 6 that connects the configuration circuits 2 in series has a function as a load circuit for loading configuration data.

図2は、図1におけるコンフィギュレーション回路2とコンフィギュレーションチェーン6の接続を詳細に示した構成図である。なお、この図ではインターコネクトバスは省略されている。図2に示すように、各コンフィギュレーション回路2は、コンフィギュレーションチェーン6によってディジーチェーン状(つまり、数珠繋ぎ)に直列に接続されている。以下、このようなネットワークをコンフィギュレーションチェーン6と呼ぶことにする。また、コンフィギュレーションチェーン6の一方の端は入力ピン7に接続されており、この入力ピン7からデータを連続的に入力することにより、そのデータはコンフィギュレーションチェーン6を通ってコンフィギュレーション回路2のアレイ全体に配布される。以下、コンフィギュレーションチェーン6の入力ピン7から入力されるデータをコンフィギュレーションビットストリームという。また、各コンフィギュレーション回路2に保持され、プログラマブル演算器3を設定するデータをコンフィギュレーションデータという。   FIG. 2 is a configuration diagram showing in detail the connection between the configuration circuit 2 and the configuration chain 6 in FIG. In this figure, the interconnect bus is omitted. As shown in FIG. 2, the configuration circuits 2 are connected in series by a configuration chain 6 in a daisy chain (that is, in a daisy chain). Hereinafter, such a network is referred to as a configuration chain 6. Further, one end of the configuration chain 6 is connected to the input pin 7, and when data is continuously input from the input pin 7, the data passes through the configuration chain 6 and is stored in the configuration circuit 2. Distributed throughout the array. Hereinafter, data input from the input pin 7 of the configuration chain 6 is referred to as a configuration bit stream. Further, data that is held in each configuration circuit 2 and sets the programmable arithmetic unit 3 is referred to as configuration data.

図3は、図1に示すプログラマブルロジックアレイ1における、ALUを中心として構成されたPE4の内部構成とコンフィギュレーション動作を示す図である。つまり、図3は、PE4の内部についてより詳細に説明すると共にコンフィギュレーション回路2の動作を説明するための図である。PE4は、ALU(Arithmetic Logic Unit)を中心として構成されるものや、LUT(Look Up Table)を中心として構成されるものなど、さまざまな構成のものが知られているが、いずれの構成もコンフィギュレーション回路2とプログラマブル演算器3の機能を持っているという基本構成に変わりはなく、具体的な構成は本発明に直接影響するものではない。   FIG. 3 is a diagram showing an internal configuration and configuration operation of the PE 4 configured around the ALU in the programmable logic array 1 shown in FIG. That is, FIG. 3 is a diagram for explaining the inside of the PE 4 in more detail and explaining the operation of the configuration circuit 2. The PE4 is known to have various configurations such as an ALU (Arithmetic Logic Unit) or a LUT (Look Up Table). However, any configuration is possible. There is no change in the basic configuration of having the functions of the calibration circuit 2 and the programmable arithmetic unit 3, and the specific configuration does not directly affect the present invention.

図3の例では、ALU13を中心として構成されるPEの内部とインターコネクトバスの一部を図示している。なお、図3の例では、インターコネクトバスはデータバス11とスイッチ回路12から構成されている。PEのプログラマブル演算器3は、算術・論理演算を行うALU13と、ALU13への入力データを選択するスイッチ回路14と、演算結果を保持するレジスタ15と、PEからの出力データを決定するセレクタ16とによって構成されている。また、コンフィギュレーション回路2は、コンフィギュレーションチェーン6に接続されたレジスタ17と、デコーダ18と、コンフィギュレーションデータを記憶するコンフィギュレーションメモリ19とによって構成されている。   In the example of FIG. 3, the inside of the PE configured around the ALU 13 and a part of the interconnect bus are illustrated. In the example of FIG. 3, the interconnect bus includes a data bus 11 and a switch circuit 12. The PE programmable arithmetic unit 3 includes an ALU 13 that performs arithmetic and logical operations, a switch circuit 14 that selects input data to the ALU 13, a register 15 that stores the operation results, and a selector 16 that determines output data from the PE. It is constituted by. The configuration circuit 2 includes a register 17 connected to the configuration chain 6, a decoder 18, and a configuration memory 19 that stores configuration data.

図3においてコンフィギュレーション回路2は次のように動作する。コンフィギュレーションチェーン6を経由し入力されたデータ(つまり、コンフィギュレーションビットストリーム)はレジスタ17に保持される。このデータは、次のサイクルにおいて、コンフィギュレーションチェーン6を経由して次段のディジーチェーンのPE内部におけるコンフィギュレーション回路2のレジスタ17に転送される。それと共に、そのデータ(つまり、コンフィギュレーションビットストリーム)は自己のPE内部のデコーダ18に入力される。   In FIG. 3, the configuration circuit 2 operates as follows. Data (that is, a configuration bit stream) input via the configuration chain 6 is held in the register 17. In the next cycle, this data is transferred via the configuration chain 6 to the register 17 of the configuration circuit 2 in the PE of the next stage daisy chain. At the same time, the data (that is, the configuration bit stream) is input to the decoder 18 in its own PE.

すると、デコーダ18は、入力されたデータの内容を解読し、そのPEが使用すべきデータであると判断された場合には、コンフィギュレーションメモリ19を制御して入力されたデータを書き込む。コンフィギュレーションメモリ19の内容は、プログラマブル演算器3の機能、すなわち、ALU13の命令、スイッチ回路14の接続情報、及びセレクタ16の選択ビットを指定する。したがって、コンフィギュレーションメモリ19を書き換えることによって、プログラマブル演算器3におけるALU13、スイッチ回路14、及びセレクタ16の機能を変更することができる。なお、プログラマブルロジックアレイは、数百〜数万のPEを持ち、コンフィギュレーションチェーン6のビット幅は1〜8bitである。したがって、上記の動作は、全てのコンフィギュレーションメモリ19にデータをセットし終わるまで、数百〜数万サイクル繰り返えされる。   Then, the decoder 18 decodes the contents of the input data, and when it is determined that the PE is data to be used, the decoder 18 controls the configuration memory 19 to write the input data. The contents of the configuration memory 19 specify the function of the programmable arithmetic unit 3, that is, the instruction of the ALU 13, the connection information of the switch circuit 14, and the selection bit of the selector 16. Therefore, by rewriting the configuration memory 19, the functions of the ALU 13, the switch circuit 14, and the selector 16 in the programmable arithmetic unit 3 can be changed. The programmable logic array has hundreds to tens of thousands of PEs, and the bit width of the configuration chain 6 is 1 to 8 bits. Therefore, the above operation is repeated for several hundred to several tens of thousands of cycles until data is set in all the configuration memories 19.

図4は、図1に示すプログラマブルロジックアレイ1における、LUTを中心として構成されたPEの内部構成とコンフィギュレーション動作を示す図である。つまり、この図は、4入力で1出力のLUTを中心としたPEの構成例を示している。図4に示すLUT21を中心として構成されたPEは、図3に示すALU13を中心として構成されたPEと比較して、データバス11とスイッチ回路12からなるインターコネクトバス及びコンフィギュレーション回路2の構成要素は同じである。しかし、プログラマブル演算器3は、LUT21と、1ビットの記憶素子からなるFF(Flip Flop)22と、セレクタ23とによって構成されている。この構成においても、コンフィギュレーション回路2の動作は図3の場合とほぼ同じである。なお、図4の例におけるLUT21はそれ自身がメモリを持っているため、コンフィギュレーション回路2により直接制御され、コンフィギュレーションデータによってLUT21のテーブル値が書き込まれる。   FIG. 4 is a diagram showing an internal configuration and configuration operation of a PE configured around the LUT in the programmable logic array 1 shown in FIG. That is, this figure shows a configuration example of a PE centered on a 4-input and 1-output LUT. Compared with the PE configured around the ALU 13 shown in FIG. 3, the PE configured around the LUT 21 shown in FIG. 4 is an interconnect bus composed of the data bus 11 and the switch circuit 12 and the components of the configuration circuit 2. Are the same. However, the programmable arithmetic unit 3 includes an LUT 21, an FF (Flip Flop) 22 including a 1-bit storage element, and a selector 23. Even in this configuration, the operation of the configuration circuit 2 is almost the same as that in FIG. Since the LUT 21 in the example of FIG. 4 itself has a memory, it is directly controlled by the configuration circuit 2 and the table value of the LUT 21 is written by the configuration data.

図5は、図2のプログラマブルロジックアレイの回路に復号回路を付加した従来技術の一例を示すLSIの構成図である。つまり、図5は、前記の特許文献1で開示された技術である、暗号化されたコンフィギュレーションデータをLSIの内部における復号回路によって復号化し、FPGAをプログラムすることによってコンフィギュレーションデータの秘匿性を確保する技術を、図2のプログラマブルロジックアレイの回路に適用したものである。すなわち、図5に示すプログラマブルロジックアレイを含むLSIは、図2のプログラマブルロジックアレイの回路に復号回路31と秘密鍵32が付加された構成となっている。   FIG. 5 is a block diagram of an LSI showing an example of the prior art in which a decoding circuit is added to the circuit of the programmable logic array of FIG. That is, FIG. 5 shows the technology disclosed in the above-mentioned Patent Document 1, in which the encrypted configuration data is decrypted by the decryption circuit inside the LSI, and the FPGA is programmed to increase the confidentiality of the configuration data. The technology to ensure is applied to the circuit of the programmable logic array of FIG. That is, the LSI including the programmable logic array shown in FIG. 5 has a configuration in which the decryption circuit 31 and the secret key 32 are added to the circuit of the programmable logic array shown in FIG.

図5に示すプログラマブルロジックアレイを含むLSIの技術は、コンフィギュレーションビットストリームを暗号化して入力し、秘密鍵32を用いてLSI内部の復号回路31によって復号化することにより、コンフィギュレーションデータの秘匿性を確保しようとするものである。暗号技術としては、AES(Advanced Encryption Standard)やDES(Data Encryption Standard)など、規格化された一般的な秘密鍵(共通鍵)暗号方式が利用される。この技術を適用した一つの形態は、図5に示すように暗号化ビットストリームの復号回路31と、秘密鍵32を保持する不揮発メモリ(図示せず)と、プログラマブルロジックアレイとを単一のLSIとして実現したものである。   The LSI technology including the programmable logic array shown in FIG. 5 encrypts and inputs a configuration bit stream, and decrypts the configuration data by the decryption circuit 31 inside the LSI using a secret key 32. Is to secure. As the encryption technology, a standardized general secret key (common key) encryption method such as AES (Advanced Encryption Standard) or DES (Data Encryption Standard) is used. One form to which this technology is applied is that a decryption circuit 31 for an encrypted bit stream, a non-volatile memory (not shown) that holds a secret key 32, and a programmable logic array as shown in FIG. Is realized.

この技術の利点としては、一般的に知られている暗号方式を用いることができるため、復号回路31の設計資産が豊富であることや、コンフィギュレーションビットストリームの生成ソフトが容易に作成できることなどが挙げられる。一方、欠点としては、復号回路31を追加するために回路規模が増大することや、復号処理のためにコンフィギュレーションビットストリームのロード速度が制限されることなどが挙げられる。特に、処理時間に関して、例えば、DESより暗号強度の高い方式として知られる3DES(Triple-DES)の一般的な復号回路においては、1ブロック(64ビット)を処理するために48サイクルを必要とする。したがって、1サイクル2ビット以上の高速なコンフィギュレーションを行うためには復号回路において並列処理を行う必要がある。そのため、さらなる回路規模の増大を招くおそれがある。   Advantages of this technique include that it is possible to use a generally known encryption method, so that the design assets of the decryption circuit 31 are abundant and configuration bitstream generation software can be easily created. Can be mentioned. On the other hand, disadvantages include an increase in the circuit scale due to the addition of the decoding circuit 31, and a limitation on the load speed of the configuration bit stream for the decoding process. In particular, with regard to processing time, for example, in a general decryption circuit of 3DES (Triple-DES) known as a scheme having higher encryption strength than DES, 48 cycles are required to process one block (64 bits). . Therefore, in order to perform high-speed configuration of 2 bits or more per cycle, it is necessary to perform parallel processing in the decoding circuit. For this reason, there is a risk of further increase in circuit scale.

図6は、図3に示すALUを中心として構成されたPEの内部構成に秘密鍵メモリを付加した従来技術の一例を示す回路図である。つまり、図6は、前述の特許文献2に開示された技術である。この技術は、プログラマブルロジックの内部に秘密鍵情報をあらかじめ保存しておき、ロードされたデータと秘密鍵情報との間で排他的論理和(XOR)を計算することによりコンフィギュレーションデータを求める技術であり、図6のPEの回路構成は、図3のPEの回路構成に対して秘密鍵メモリ24が追加された構成となっている。この技術は、コンフィギュレーションデータに対し秘密鍵データを加算(排他的論理和)することによってコンフィギュレーションデータを保護しようというものである。   FIG. 6 is a circuit diagram showing an example of the prior art in which a secret key memory is added to the internal configuration of the PE configured around the ALU shown in FIG. That is, FIG. 6 is the technique disclosed in Patent Document 2 described above. In this technology, secret key information is stored in advance in the programmable logic, and configuration data is obtained by calculating an exclusive OR (XOR) between the loaded data and the secret key information. Yes, the PE circuit configuration of FIG. 6 is obtained by adding a secret key memory 24 to the PE circuit configuration of FIG. This technique is intended to protect configuration data by adding (exclusive OR) secret key data to configuration data.

この技術によれば、秘密鍵メモリ24に格納されている秘密鍵データを知らない限り、プログラマブル演算器3を所望の機能に設定することはできない。また、秘密鍵メモリ24に格納されている秘密鍵データを知らない限り、コンフィギュレーションビットストリームからプログラマブル演算器3の機能を特定することもできない。このような性質からコンフィギュレーションデータの秘匿性を確保することができる。   According to this technique, unless the secret key data stored in the secret key memory 24 is known, the programmable calculator 3 cannot be set to a desired function. Further, unless the secret key data stored in the secret key memory 24 is known, the function of the programmable arithmetic unit 3 cannot be specified from the configuration bit stream. Due to this property, the confidentiality of the configuration data can be ensured.

この技術の利点はコンフィギュレーションの速度を低下させないことである。また、欠点としては、秘密鍵メモリ24のサイズが大きくなるために回路規模の増大を招くことである。さらに、演算処理が単純であるために暗号強度が弱いなどの懸念もある。すなわち、コンフィギュレーションビットストリームの一部だけを変化させたビットストリームを次々にロードして行けば、回路の動作が観察されてしまって秘密鍵メモリの内容を解読される危険性がある。   The advantage of this technique is that it does not slow down the configuration. Further, a disadvantage is that the size of the secret key memory 24 is increased, resulting in an increase in circuit scale. Furthermore, there is a concern that the cryptographic processing is weak because the arithmetic processing is simple. That is, if a bit stream in which only a part of the configuration bit stream is changed is loaded one after another, there is a risk that the operation of the circuit is observed and the contents of the secret key memory are decrypted.

そこで、本発明の実施の形態1では、専用の復号回路を用いなくても、特定の演算処理を行うことによってコンフィギュレーションデータの秘匿性を確保する技術を実現している。図7は、本実施の形態におけるプログラマブルロジックアレイの構成図である。図7のプログラマブルロジックアレイは、図2のプログラマブルロジックアレイの構成を基本として描かれているので、インターコネクトバスは省略されている。   Therefore, Embodiment 1 of the present invention realizes a technique for ensuring the secrecy of configuration data by performing specific arithmetic processing without using a dedicated decoding circuit. FIG. 7 is a configuration diagram of the programmable logic array in the present embodiment. Since the programmable logic array of FIG. 7 is drawn based on the configuration of the programmable logic array of FIG. 2, the interconnect bus is omitted.

図7において、実施の形態1のプログラマブルロジックアレイ1aは、コンフィギュレーション回路2とプログラマブル演算器3からなるPE4がアレイ状に配列された構成となっている。これらのアレイ状のPE4は図示しないインターコネクトバスによって接続され、各PE4との間でデータの受け渡しが行われるようになっている。また、各PE4のコンフィギュレーション回路2はコンフィギュレーションチェーン6によってディジーチェーン状に直列に接続され、その終端が入力ピン7と出力ピン8に接続されている。さらに、実施の形態1のプログラマブルロジックアレイ1aは、コンフィギュレーションチェーン6に破線で示すような帰還回路40a,40b,40cが付加されたループ構造となっている。このような帰還回路40a,40b,40cを挿入する場所は設計者以外に知られないように秘密にしておく。   In FIG. 7, the programmable logic array 1a according to the first embodiment has a configuration in which PEs 4 including a configuration circuit 2 and a programmable arithmetic unit 3 are arranged in an array. These arrayed PE4s are connected by an interconnect bus (not shown), and data is exchanged with each PE4. The configuration circuit 2 of each PE 4 is connected in series in the form of a daisy chain by a configuration chain 6, and its terminal is connected to an input pin 7 and an output pin 8. Furthermore, the programmable logic array 1a of the first embodiment has a loop structure in which feedback circuits 40a, 40b, and 40c as indicated by broken lines are added to the configuration chain 6. The place where such feedback circuits 40a, 40b, and 40c are inserted is kept secret so that only the designer can know.

このような構成によれば、入力されたコンフィギュレーションビットストリームはコンフィギュレーションチェーン6を通過する過程で値が変化するので、アレイ状に配列されたPE4の中で目的のPEに達する時点でどのような値になるかについては設計者以外は知り得ない。言い方を変えれば、目的のPEにおけるコンフィギュレーションデータと帰還回路40a,40b,40cの構造から、入力すべきコンフィギュレーションビットストリームを逆算することができる。このコンフィギュレーションビットストリームから、実際の回路構造(コンフィギュレーションデータ)を知ることができるのは、帰還回路の構造を知っている設計者だけである。つまり、入力されたコンフィギュレーションビットストリームのデータは、帰還回路40a,40b,40cによって帰還されて攪拌されるので、第三者にデータを解読されるおそれがなくなり、結果としてデータの秘匿性は確保される。   According to such a configuration, since the value of the input configuration bit stream changes in the process of passing through the configuration chain 6, what happens when the target PE is reached among the PEs 4 arranged in an array. Only the designer knows what the value will be. In other words, the configuration bit stream to be input can be calculated backward from the configuration data in the target PE and the structure of the feedback circuits 40a, 40b, and 40c. Only the designer who knows the structure of the feedback circuit can know the actual circuit structure (configuration data) from this configuration bitstream. That is, since the input configuration bitstream data is fed back and stirred by the feedback circuits 40a, 40b, and 40c, there is no possibility that the data is decrypted by a third party, and as a result, the confidentiality of the data is ensured. Is done.

図7に示すような実施の形態1のプログラマブルロジックアレイ1aの構成によれば、コンフィギュレーションデータのロード時間を増加させることなく、コンフィギュレーションデータの秘匿性を高めることができる。また、実施の形態1によって追加された回路要素は、帰還回路40a,40b,40cの配線と少しの演算器のみであるので、従来のプログラマブルロジックアレイに比べて回路規模の増加はわずかである。   According to the configuration of the programmable logic array 1a of the first embodiment as shown in FIG. 7, the confidentiality of the configuration data can be enhanced without increasing the load time of the configuration data. Further, since the circuit elements added by the first embodiment are only the wirings of the feedback circuits 40a, 40b, and 40c and a few arithmetic units, the circuit scale is slightly increased as compared with the conventional programmable logic array.

(実施の形態2)
実施の形態2では、前述の実施の形態1におけるプログラマブルロジックアレイをさらに改良したプログラマブルロジックアレイの回路構成を提案する。図8は、本実施の形態におけるプログラマブルロジックアレイの構成図である。図8のプログラマブルロジックアレイは、図2のプログラマブルロジックアレイの構成を基本として描かれているので、インターコネクトバスは省略されている。
(Embodiment 2)
In the second embodiment, a circuit configuration of a programmable logic array is proposed in which the programmable logic array in the first embodiment is further improved. FIG. 8 is a configuration diagram of the programmable logic array in the present embodiment. Since the programmable logic array of FIG. 8 is drawn based on the configuration of the programmable logic array of FIG. 2, the interconnect bus is omitted.

図8に示す実施の形態2のプログラマブルロジックアレイ1bは、図2のプログラマブルロジックアレイの構成に対して、コンフィギュレーションチェーン6にビット並び替え回路41a,41b,…41nが挿入されている。これらのビット並び替え回路41a,41b,…41nの配置パターンは、設計者以外には秘密とすることでコンフィギュレーションデータの秘匿性を高めることができる。   In the programmable logic array 1b of the second embodiment shown in FIG. 8, bit rearrangement circuits 41a, 41b,... 41n are inserted in the configuration chain 6 with respect to the configuration of the programmable logic array of FIG. The arrangement pattern of these bit rearrangement circuits 41a, 41b,... 41n can be kept secret except for the designer, thereby enhancing the confidentiality of the configuration data.

図9は、図8に示すプログラマブルロジックアレイ1bにおけるビット並び替え回路の一例を示す図である。図9のビット並び替え回路の例では、コンフィギュレーションチェーン6のアドレス線とデータ線が分かれており、それぞれ4ビットの幅を持っている。図9に示すように、アドレス4ビットに対しては並び替えが行われず、入力されたビット順に出力される。しかし、データ4ビットについては、[d3,d2,d1,d0]という入力ビットの並びに対し[d'0,d'1,d'3,d'2]の順で出力される。このようにして、データのみビット並び替えを行うことによって、コンフィギュレーションデータの秘匿性を高めた上で制御を容易にしている。また、図8に示すようなビットの並び替え回路と図7で示した実施の形態1の帰還回路とを併せて用いることによって、データを撹拌する効果が高められるので、さらに高い秘匿性を確保することができる。   FIG. 9 is a diagram showing an example of the bit rearrangement circuit in the programmable logic array 1b shown in FIG. In the example of the bit rearrangement circuit of FIG. 9, the address line and the data line of the configuration chain 6 are separated and each have a width of 4 bits. As shown in FIG. 9, the 4 bits of the address are not rearranged and are output in the order of the input bits. However, 4 bits of data are output in the order of [d′ 0, d′ 1, d′ 3, d′ 2] with respect to the input bit sequence of [d3, d2, d1, d0]. In this way, only the data is rearranged to facilitate rearrangement of configuration data while facilitating control. Further, by using the bit rearrangement circuit as shown in FIG. 8 together with the feedback circuit of the first embodiment shown in FIG. 7, the effect of mixing the data can be enhanced, so that higher secrecy is ensured. can do.

(実施の形態3)
実施の形態3では、前述の実施の形態2におけるプログラマブルロジックアレイよりさらにコンフィギュレーションデータの秘匿性を高めることができるプログラマブルロジックアレイの回路構成を提案する。図10は、本実施の形態におけるプログラマブルロジックアレイの構成図である。図10のプログラマブルロジックアレイは、図2のプログラマブルロジックアレイの構成を基本として描かれているので、インターコネクトバスは省略されている。
(Embodiment 3)
The third embodiment proposes a circuit configuration of a programmable logic array that can further improve the confidentiality of configuration data compared to the programmable logic array in the second embodiment. FIG. 10 is a configuration diagram of the programmable logic array in the present embodiment. Since the programmable logic array of FIG. 10 is drawn based on the configuration of the programmable logic array of FIG. 2, the interconnect bus is omitted.

図10に示す実施の形態3のプログラマブルロジックアレイ1cでは、図2に示すプログラマブルロジックアレイに対して、秘密鍵情報を保存するための秘密鍵メモリ43a,43b,43c,43dと、コンフィギュレーションチェーン6上を通過するデータと秘密鍵情報との演算を行う演算回路44a,44b,44c,44dとが追加された構成となっている。このような構成によれば、秘密鍵情報が漏洩しない限り、コンフィギュレーションデータの秘匿性を高いレベルで確保することができる。   In the programmable logic array 1c of the third embodiment shown in FIG. 10, secret key memories 43a, 43b, 43c, 43d for storing secret key information, and a configuration chain 6 are added to the programmable logic array shown in FIG. Arithmetic circuits 44a, 44b, 44c, and 44d that perform operations on the data passing above and secret key information are added. According to such a configuration, the confidentiality of the configuration data can be ensured at a high level as long as the secret key information is not leaked.

また、図10に示すプログラマブルロジックアレイ1cの構成と図7で示した帰還回路とを組み合わせることでさらに秘匿性を高めることができる。このとき、帰還回路の部分と秘密鍵を加える部分では別の演算を用いてビットの撹拌効果を高めると、さらに秘匿性の効果が向上する。例えば、帰還回路の部分では排他的論理和を用い、秘密鍵を加える部分では算術和(通常の加算)を行うと秘匿性の効果は一段と向上する。また、図10に示すプログラマブルロジックアレイ1cの構成に図8で示したビット並び替え回路を挿入することにより、ビットの撹拌効果を得ることができるのでさらに秘匿性を高めることができる。もちろん、図7で示した帰還回路と図8で示したビット並び替え回路とを併用して図10に示すプログラマブルロジックアレイ1cに適用すれば、さらなる秘匿性の向上を実現することができる。   Further, the confidentiality can be further improved by combining the configuration of the programmable logic array 1c shown in FIG. 10 and the feedback circuit shown in FIG. At this time, if the agitation effect of the bit is enhanced by using another calculation in the feedback circuit portion and the portion to which the secret key is added, the concealment effect is further improved. For example, if the exclusive OR is used in the feedback circuit portion and the arithmetic sum (normal addition) is performed in the portion to which the secret key is added, the effect of confidentiality is further improved. Further, by inserting the bit rearrangement circuit shown in FIG. 8 into the configuration of the programmable logic array 1c shown in FIG. 10, the bit agitation effect can be obtained, so that the secrecy can be further improved. Of course, if the feedback circuit shown in FIG. 7 and the bit rearrangement circuit shown in FIG. 8 are used together and applied to the programmable logic array 1c shown in FIG. 10, further improvement in secrecy can be realized.

(実施の形態4)
図11は、本発明の実施の形態4におけるプログラマブルロジックアレイの構成図である。図11のプログラマブルロジックアレイは、図2のプログラマブルロジックアレイの構成を基本として描かれているので、インターコネクトバスは省略されている。図11は最も望ましいプログラマブルロジックアレイの構成例が示されている。すなわち、図11に示すプログラマブルロジックアレイ1dは、図7の帰還回路、図8のビット並び替え回路、及び図10の秘密鍵メモリ及び演算回路を複合して使用した場合のプログラマブルロジックアレイの構成図である。
(Embodiment 4)
FIG. 11 is a configuration diagram of a programmable logic array according to the fourth embodiment of the present invention. Since the programmable logic array of FIG. 11 is drawn based on the configuration of the programmable logic array of FIG. 2, the interconnect bus is omitted. FIG. 11 shows a configuration example of the most desirable programmable logic array. That is, the programmable logic array 1d shown in FIG. 11 is a configuration diagram of the programmable logic array when the feedback circuit of FIG. 7, the bit rearrangement circuit of FIG. 8, and the secret key memory and the arithmetic circuit of FIG. It is.

すなわち、図11に示す実施の形態4におけるプログラマブルロジックアレイ1dでは、帰還回路40a,40b,40cを基本として、ビット並び替え回路41a,41b,…41nを挿入することでデータの撹拌効果を高め、さらに、秘密鍵メモリ43a,43b,43c,43dと演算回路44a,44b,44c,44dとによって実現される秘密鍵を付加することで、悪意の第三者によるコンフィギュレーションデータの解析を一層困難とし、秘匿性を一段と高めることができる。   That is, in the programmable logic array 1d in the fourth embodiment shown in FIG. 11, the data rearranging circuit 41a, 41b,... 41n is inserted on the basis of the feedback circuits 40a, 40b, 40c, and the data agitation effect is enhanced. Furthermore, by adding a secret key realized by the secret key memories 43a, 43b, 43c, and 43d and the arithmetic circuits 44a, 44b, 44c, and 44d, it becomes more difficult to analyze configuration data by a malicious third party. Concealment can be further enhanced.

なお、図11の実施の形態4では、ビットの並び替えと秘密鍵との演算を併用する方法を示したが、他にもS−Box(テーブルの参照)や有限体上の乗算など、一般的に知られている暗号方式で用いられる演算手法を挿入することも可能である。しかし、いずれの演算手法を挿入した場合でもそれだけでは秘匿性は不十分であるので、図7の実施の形態1で提案した帰還回路を付加することによってその効果が高められ、十分な秘匿性を確保することができる。   In the fourth embodiment shown in FIG. 11, a method of using both bit rearrangement and secret key calculation is shown, but other general methods such as S-Box (table reference) and multiplication on a finite field are also used. It is also possible to insert a calculation method used in a known encryption method. However, even if any calculation method is inserted, the secrecy is not sufficient by itself. Therefore, the effect is enhanced by adding the feedback circuit proposed in Embodiment 1 in FIG. 7, and sufficient secrecy is achieved. Can be secured.

すなわち、図11に示すように、コンフィギュレーションチェーン6を通過するコンフィギュレーションデータによって、プログラマブルロジックエレメントであるPE4の機能が決定される。このとき、破線で囲んだ帰還回路40a,40b,40cのフィードバックによって、内部でコンフィギュレーションデータがどのように変化するかを解析することを困難にしているので、コンフィギュレーションデータの秘匿性を充分に確保することができる。このようなフィードバックループの構造を基本として、ビットの並び替えや秘密鍵を併用することによって秘匿性の効果を大幅に高めることができる。なお、本発明では、フィードバックループ構造によって、コンフィギュレーションチェーン6の端から1つずつデータを解析していくという常套手段を防いでいる意味は大きい。   That is, as shown in FIG. 11, the function of the PE 4 that is the programmable logic element is determined by the configuration data that passes through the configuration chain 6. At this time, the feedback of the feedback circuits 40a, 40b, and 40c surrounded by the broken line makes it difficult to analyze how the configuration data changes internally, so that the confidentiality of the configuration data is sufficiently high. Can be secured. Based on such a feedback loop structure, the effect of secrecy can be greatly enhanced by rearranging bits and using a secret key together. In the present invention, the meaning of preventing the conventional means of analyzing data one by one from the end of the configuration chain 6 by the feedback loop structure is significant.

(実施の形態5)
実施の形態5では、前述の実施の形態1乃至4におけるプログラマブルロジックアレイを容易に製造するためのプログラマブルロジックアレイの回路構成を提案する。図12は、本実施の形態におけるプログラマブルロジックアレイの構成図である。図12のプログラマブルロジックアレイは、図7のプログラマブルロジックアレイの構成を基本として描かれているので、インターコネクトバスは省略されている。
(Embodiment 5)
In the fifth embodiment, a circuit configuration of a programmable logic array for easily manufacturing the programmable logic array in the first to fourth embodiments is proposed. FIG. 12 is a configuration diagram of the programmable logic array in the present embodiment. Since the programmable logic array of FIG. 12 is drawn based on the configuration of the programmable logic array of FIG. 7, the interconnect bus is omitted.

図12に示す実施の形態5のプログラマブルロジックアレイ1eでは、図7のプログラマブルロジックアレイ1aに対して、帰還回路40a,40b,40cの代わりにスイッチ付帰還回路45a,45b,…45nが付加されている。ここで、スイッチ付帰還回路45a,45b,…45nはそれぞれスイッチ46a,46b,…46nを備える。   In programmable logic array 1e of the fifth embodiment shown in FIG. 12, feedback circuits 45a, 45b,... 45n with switches are added to programmable logic array 1a of FIG. 7 instead of feedback circuits 40a, 40b, 40c. Yes. Here, the feedback circuits 45a, 45b,... 45n with switches include switches 46a, 46b,.

プログラマブルロジックアレイ1eは、すべてのスイッチ46a,46b,…46nを開放したとき、図2のプログラマブルロジックアレイ1と全く同じ機能となる。また、プログラマブルロジックアレイ1eは、3つのスイッチ46a,46b,46cを短絡し、その他のスイッチ46d,46e,…46nを開放したとき、図7のプログラマブルロジックアレイ1aと全く同じ機能となる。   The programmable logic array 1e has exactly the same function as the programmable logic array 1 of FIG. 2 when all the switches 46a, 46b,. The programmable logic array 1e has exactly the same function as the programmable logic array 1a of FIG. 7 when the three switches 46a, 46b, 46c are short-circuited and the other switches 46d, 46e,.

すなわち、本実施の形態のプログラマブルロジックアレイの回路構成によればLSIを製造した後でも帰還回路の挿入位置を設定することができ、その結果としてユーザ(コンフィギュレーションデータの設計者)ごとに異なるLSIを製造する必要がなくなるため、コンフィギュレーションデータの秘匿化機能を備えたプログラマブルロジックを容易に量産することができる。   That is, according to the circuit configuration of the programmable logic array of the present embodiment, the insertion position of the feedback circuit can be set even after the LSI is manufactured, and as a result, the LSI that is different for each user (configuration data designer) Therefore, programmable logic having a configuration data concealing function can be easily mass-produced.

ところで、スイッチ46a,46b,…46nの開閉は、コンフィギュレーションデータと同様、悪意を持った第三者にスイッチ46a,46b,…46nの状態を読み取られないように、安全な方法で設定する必要がある。この解決方法として、以下のものが挙げられる。   By the way, the opening / closing of the switches 46a, 46b,... 46n needs to be set in a safe manner so that a malicious third party cannot read the state of the switches 46a, 46b,. There is. Examples of the solution include the following.

まず第1の方法は、スイッチ46a,46b,…46nの設定情報を不揮発メモリに保存することである。FPGAの内部回路の設計者は、スイッチの設定情報を不揮発メモリに保存し、さらにスイッチの設定情報に基づきコンフィギュレーションビットストリームを秘匿化した上で商品を出荷することで、設計情報の機密を保持することができる。なお、スイッチの設定情報は、プログラマブル演算器の設定情報(すなわちコンフィギュレーションデータ)に比べ容量がずっと小さく、またスイッチの設定情報を変更する機会が少ないため、不揮発メモリ型FPGAの持つ課題はほとんど問題にならない。   The first method is to store setting information of the switches 46a, 46b,... 46n in a nonvolatile memory. The designer of the FPGA internal circuit stores the switch setting information in a non-volatile memory, keeps the configuration bitstream confidential based on the switch setting information, and keeps the design information confidential. can do. Note that the switch setting information has a much smaller capacity than the setting information (that is, configuration data) of the programmable arithmetic unit, and has few opportunities to change the switch setting information. do not become.

また、第2の方法は、アンチフューズ型FPGAと同様の技術を用いてスイッチ46a,46b,…46nを1度のみ変更可能とすることである。この方法においても、スイッチの状態は設計者以外知りえないため、本発明の技術によってコンフィギュレーションデータの秘匿性を確保することができる。   The second method is to make it possible to change the switches 46a, 46b,... 46n only once using a technique similar to that of the antifuse type FPGA. Also in this method, since the state of the switch can be known only by the designer, the secrecy of the configuration data can be ensured by the technique of the present invention.

以上、実施の形態5では、秘匿化のための機能をLSI製造後にも変更可能とする技術を提案し、説明した。ここでは、実施の形態1と対応し、帰還回路40a,40b,40cをプログラマブルな回路要素であるスイッチ付帰還回路45a,45b,…45nに置き換えることで、実質的に帰還回路の挿入位置を自由に設定する方法を示した。同様にして、実施の形態2乃至4と対応し、ビット並び替え回路41a,41b,…41nおよび秘密鍵メモリ43a,43b,43c,43dおよび演算回路44a,44b,44c,44dをプログラマブルな回路要素に置き換える方法を示した。これにより、これら回路要素の挿入位置および機能をLSI製造後に変更することができる。特に、秘密鍵メモリ43a,43b,43c,43dを書き込み可能な不揮発メモリとすることで秘密鍵を変更可能とすることは従来技術により容易に実現できることから、応用上有用性が高いといえる。   As described above, the fifth embodiment has proposed and described the technology that makes it possible to change the function for concealment even after the LSI is manufactured. Here, corresponding to the first embodiment, the feedback circuits 40a, 40b, and 40c are replaced with switchable feedback circuits 45a, 45b,. Showed how to set. Similarly, bit rearrangement circuits 41a, 41b,... 41n, secret key memories 43a, 43b, 43c, 43d, and arithmetic circuits 44a, 44b, 44c, 44d are programmable circuit elements corresponding to the second to fourth embodiments. Showed how to replace Thereby, the insertion position and function of these circuit elements can be changed after LSI manufacturing. In particular, the secret key memory 43a, 43b, 43c, 43d can be changed to a secret key by making it a writable non-volatile memory, so that it can be easily realized by the prior art, so that it can be said that the utility is high in application.

以上説明したように、本発明のプログラマブル論理回路は、従来の回路に対して簡単な要素を追加するだけでコンフィギュレーションデータの秘匿性を充分に確保することができるので、汎用性のあるLSIなどに有効に利用することができる。   As described above, the programmable logic circuit of the present invention can ensure the secrecy of configuration data only by adding simple elements to the conventional circuit. Can be used effectively.

従来から知られている一般的なプログラマブルロジックアレイのモデルを示す構成図Configuration diagram showing a model of a general programmable logic array known from the past 図1におけるコンフィギュレーション回路とコンフィギュレーションチェーンの接続を詳細に示した構成図Configuration diagram showing in detail the connection between the configuration circuit and the configuration chain in FIG. 図1に示すプログラマブルロジックアレイにおける、ALUを中心として構成されたPEの内部構成とコンフィギュレーション動作を示す図The figure which shows the internal structure and configuration operation | movement of PE comprised centering on ALU in the programmable logic array shown in FIG. 図1に示すプログラマブルロジックアレイにおける、LUTを中心として構成されたPEの内部構成とコンフィギュレーション動作を示す図The figure which shows the internal structure and configuration operation | movement of PE comprised centering on LUT in the programmable logic array shown in FIG. 図2のプログラマブルロジックアレイの回路に復号回路を付加した従来技術の一例を示すLSIの構成図LSI configuration diagram showing an example of the prior art in which a decoding circuit is added to the programmable logic array circuit of FIG. 図3に示すALUを中心として構成されたPEの内部構成に秘密鍵メモリを付加した従来技術の一例を示す回路図FIG. 3 is a circuit diagram showing an example of a prior art in which a secret key memory is added to the internal configuration of a PE configured around the ALU shown in FIG. 本発明の実施の形態1におけるプログラマブルロジックアレイの構成図Configuration diagram of programmable logic array according to the first embodiment of the present invention 本発明の実施の形態2におけるプログラマブルロジックアレイの構成図Configuration diagram of programmable logic array in Embodiment 2 of the present invention 図8に示すプログラマブルロジックアレイにおけるビット並び替え回路の一例を示す図The figure which shows an example of the bit rearrangement circuit in the programmable logic array shown in FIG. 本発明の実施の形態3におけるプログラマブルロジックアレイの構成図Configuration diagram of programmable logic array in Embodiment 3 of the present invention 本発明の実施の形態4におけるプログラマブルロジックアレイの構成図Configuration diagram of programmable logic array in Embodiment 4 of the present invention 本発明の実施の形態5におけるプログラマブルロジックアレイの構成図Configuration diagram of programmable logic array in Embodiment 5 of the present invention

符号の説明Explanation of symbols

1,1a,1b,1c,1d,1e プログラマブルロジックアレイ
2 コンフィギュレーション回路
3 プログラマブル演算器
4 PE(Processing Element)
5 インターコネクトバス
6 コンフィギュレーションチェーン
7 入力ピン
8 出力ピン
11 データバス
12、14 スイッチ回路
13 ALU(Arithmetic Logic Unit)
15、17 レジスタ
16、23 セレクタ
18 デコーダ
19 コンフィギュレーションメモリ
21 LUT(Look Up Table)
22 FF(Flip Flop)
24 秘密鍵メモリ
31 復号回路
32 秘密鍵
40a,40b,40c 帰還回路
41a,41b,…41n ビット並び替え回路
43a,43b,43c,43d 秘密鍵メモリ
44a,44b,44c,44d 演算回路
45a,45b,45c,…45n スイッチ付帰還回路
46a,46b,46c,…46n スイッチ
1, 1a, 1b, 1c, 1d, 1e Programmable logic array 2 Configuration circuit 3 Programmable arithmetic unit 4 PE (Processing Element)
5 Interconnect Bus 6 Configuration Chain 7 Input Pin 8 Output Pin 11 Data Bus 12, 14 Switch Circuit 13 ALU (Arithmetic Logic Unit)
15, 17 Register 16, 23 Selector 18 Decoder 19 Configuration memory 21 LUT (Look Up Table)
22 FF (Flip Flop)
24 secret key memory 31 decryption circuit 32 secret key 40a, 40b, 40c feedback circuit 41a, 41b,... 41n bit rearrangement circuit 43a, 43b, 43c, 43d secret key memory 44a, 44b, 44c, 44d arithmetic circuits 45a, 45b, 45c, ... 45n feedback circuit with switch 46a, 46b, 46c, ... 46n switch

Claims (5)

直列に接続された各々のレジスタに対してコンフィギュレーションデータをシフトインすることにより、そのコンフィギュレーションデータを前記各々のレジスタにロードするプログラマブル論理回路であって、
前記各々のレジスタのうち、所望のレジスタに接続された演算器と、
他のレジスタの接続部から前記演算器に対して前記コンフィギュレーションデータを帰還させる帰還回路と、
を備えることを特徴とするプログラマブル論理回路。
A programmable logic circuit that loads configuration data into each of the registers by shifting in the configuration data to each of the serially connected registers,
An arithmetic unit connected to a desired register among the registers,
A feedback circuit that feeds back the configuration data from the connection of another register to the computing unit;
A programmable logic circuit comprising:
直列に接続された各々のレジスタに対してコンフィギュレーションデータをシフトインすることにより、そのコンフィギュレーションデータを前記各々のレジスタにロードするプログラマブル論理回路であって、
前記各々のレジスタのうちの所望のレジスタに接続され、前記コンフィギュレーションデータのビットの並べ替えを行うビット並び替え回路を備えることを特徴とするプログラマブル論理回路。
A programmable logic circuit that loads configuration data into each of the registers by shifting in the configuration data to each of the serially connected registers,
A programmable logic circuit comprising a bit rearrangement circuit connected to a desired one of the registers and rearranging the bits of the configuration data.
前記各々のレジスタのうちの所望のレジスタに接続され、前記コンフィギュレーションデータのビットの並べ替えを行うビット並び替え回路を備え、
前記ビット並び替え回路は、前記コンフィギュレーションデータの帰還によりループをなすレジスタの接続部の一部に挿入されていることを特徴とする請求項1に記載のプログラマブル論理回路。
A bit rearrangement circuit connected to a desired one of the registers and rearranging the bits of the configuration data;
2. The programmable logic circuit according to claim 1, wherein the bit rearrangement circuit is inserted into a part of a connection portion of a register that forms a loop by feedback of the configuration data.
直列に接続された各々のレジスタに対してコンフィギュレーションデータをシフトインすることにより、そのコンフィギュレーションデータを前記各々のレジスタにロードするプログラマブル論理回路であって、
秘密鍵情報を保存する記憶素子と、
所望のレジスタの接続部を通過する前記コンフィギュレーションデータと前記記憶素子から取得した秘密鍵情報との間で特定の演算処理を行う特定の演算器と、
を備えることを特徴とするプログラマブル論理回路。
A programmable logic circuit that loads configuration data into each of the registers by shifting in the configuration data to each of the serially connected registers,
A storage element for storing secret key information;
A specific arithmetic unit that performs specific arithmetic processing between the configuration data passing through a connection portion of a desired register and the secret key information acquired from the storage element;
A programmable logic circuit comprising:
秘密鍵情報を保存する記憶素子と、
所望のレジスタの接続部を通過するコンフィギュレーションデータと前記記憶素子から取得した秘密鍵情報との間で特定の演算処理を行う特定の演算器とを備え、
前記記憶素子と前記特定の演算器は、前記コンフィギュレーションデータの帰還によりループをなすレジスタの接続部の一部に挿入されていることを特徴とする請求項1乃至請求項3のいずれかに記載のプログラマブル論理回路。
A storage element for storing secret key information;
A specific arithmetic unit that performs specific arithmetic processing between configuration data passing through a connection portion of a desired register and secret key information acquired from the storage element;
4. The storage element and the specific arithmetic unit are inserted into a part of a connection portion of a register that forms a loop by feedback of the configuration data. Programmable logic circuit.
JP2004373574A 2004-12-24 2004-12-24 Programmable logic circuit Pending JP2006180375A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004373574A JP2006180375A (en) 2004-12-24 2004-12-24 Programmable logic circuit
PCT/JP2005/023315 WO2006068109A1 (en) 2004-12-24 2005-12-20 Programmable logic circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004373574A JP2006180375A (en) 2004-12-24 2004-12-24 Programmable logic circuit

Publications (1)

Publication Number Publication Date
JP2006180375A true JP2006180375A (en) 2006-07-06

Family

ID=36601709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004373574A Pending JP2006180375A (en) 2004-12-24 2004-12-24 Programmable logic circuit

Country Status (2)

Country Link
JP (1) JP2006180375A (en)
WO (1) WO2006068109A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015965A (en) * 2006-07-10 2008-01-24 Fuji Xerox Co Ltd Information processor, operation method of information processor, and program
JP2009129046A (en) * 2007-11-21 2009-06-11 Panasonic Corp Reconfigurable circuit, reconfigurable circuit function modification method and communication device
JP2010166255A (en) * 2009-01-14 2010-07-29 Rohm Co Ltd Programmable logic device and signal processing circuit using the same
JP2012221149A (en) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd Reconfigurable integrated circuit device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970142A (en) * 1996-08-26 1999-10-19 Xilinx, Inc. Configuration stream encryption

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768372A (en) * 1996-03-13 1998-06-16 Altera Corporation Method and apparatus for securing programming data of a programmable logic device
JP2003167754A (en) * 2001-11-30 2003-06-13 Fujitsu Ltd Fpga configuration service system and fpga configuration service method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5970142A (en) * 1996-08-26 1999-10-19 Xilinx, Inc. Configuration stream encryption

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008015965A (en) * 2006-07-10 2008-01-24 Fuji Xerox Co Ltd Information processor, operation method of information processor, and program
JP2009129046A (en) * 2007-11-21 2009-06-11 Panasonic Corp Reconfigurable circuit, reconfigurable circuit function modification method and communication device
JP2010166255A (en) * 2009-01-14 2010-07-29 Rohm Co Ltd Programmable logic device and signal processing circuit using the same
JP2012221149A (en) * 2011-04-07 2012-11-12 Fujitsu Semiconductor Ltd Reconfigurable integrated circuit device

Also Published As

Publication number Publication date
WO2006068109A1 (en) 2006-06-29

Similar Documents

Publication Publication Date Title
CA2428031C (en) Programmable logic device with decryption algorithm and decryption key
Bossuet et al. Dynamically configurable security for SRAM FPGA bitstreams
US6366117B1 (en) Nonvolatile/battery-backed key in PLD
US6441641B1 (en) Programmable logic device with partial battery backup
US7117373B1 (en) Bitstream for configuring a PLD with encrypted design data
US6981153B1 (en) Programmable logic device with method of preventing readback
US7201326B2 (en) Information processing device
US6351814B1 (en) Field programmable gate array with program encryption
US7606362B1 (en) FPGA configuration bitstream encryption using modified key
US6965675B1 (en) Structure and method for loading encryption keys through a test access port
US9152822B2 (en) Method and apparatus for securing programming data of a programmable device
US10771062B1 (en) Systems and methods for enhancing confidentiality via logic gate encryption
JP4758904B2 (en) Confidential information processing method
JP5246863B2 (en) Logic program data protection system and protection method for reconfigurable logic device
US7734043B1 (en) Encryption key obfuscation and storage
TW201918923A (en) Secure logic system and method for operating a secure logic system
US7581117B1 (en) Method for secure delivery of configuration data for a programmable logic device
WO2006068109A1 (en) Programmable logic circuit
US20110154062A1 (en) Protection of electronic systems from unauthorized access and hardware piracy
KR20180059217A (en) Apparatus and method for secure processing of memory data
US20220284132A1 (en) Method for securing logic circuits
US9582686B1 (en) Unique secure serial ID
Moraitis FPGA Bitstream Modification: Attacks and Countermeasures
US20220300624A1 (en) Hardware storage unique key
JP2013101442A (en) Microcomputer and data processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109