JP2003058426A - 集積回路およびその回路構成方法ならびにプログラム - Google Patents

集積回路およびその回路構成方法ならびにプログラム

Info

Publication number
JP2003058426A
JP2003058426A JP2001250761A JP2001250761A JP2003058426A JP 2003058426 A JP2003058426 A JP 2003058426A JP 2001250761 A JP2001250761 A JP 2001250761A JP 2001250761 A JP2001250761 A JP 2001250761A JP 2003058426 A JP2003058426 A JP 2003058426A
Authority
JP
Japan
Prior art keywords
circuit
configuration
configuration data
data
type
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.)
Abandoned
Application number
JP2001250761A
Other languages
English (en)
Inventor
Ryuji Kono
隆二 河野
Kenichiro Akai
健一郎 赤井
Yukitoshi Sanada
幸俊 真田
Robert Morelos Zaragoza
モレロス−ザラゴザ ロバート
Michael Rokkuran
マイケル ロックラン
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2001250761A priority Critical patent/JP2003058426A/ja
Priority to US10/223,543 priority patent/US6768337B2/en
Publication of JP2003058426A publication Critical patent/JP2003058426A/ja
Abandoned legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/34Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Static Random-Access Memory (AREA)
  • Storage Device Security (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 【課題】供給される構成データに応じた回路を構成し、
当該構成データの機密を保護することができる集積回
路、およびその回路構成方法、ならびにそのような集積
回路の構成データを生成するデータ処理装置のプログラ
ムを提供する。 【解決手段】回路セルアレイ4を構成する複数の回路セ
ル1、これらの回路セル1間を結線する複数のマトリク
ス・スイッチ部2およびスイッチ部3、ならびに回路セ
ルアレイ4の周囲に配置されたI/Oセル部5は、何れ
も供給される構成データ(コンフィギュレーション・デ
ータ)に応じて回路構成を変化させる。これらのうちの
幾つかの回路ブロックには、その回路の少なくとも一部
が予め所定の回路構成に固定されており、構成データの
供給元では、その固定回路に関する秘密の情報に基づい
て構成データの変換が行われる。これにより、固定回路
部分を除く差分の回路の構成データが生成され、集積回
路に供給される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、供給される構成デ
ータに応じて回路構成の変更が可能な集積回路およびそ
の回路構成方法ならびにプログラムに係り、特に、構成
データの改竄や不正利用に対する耐タンパー性を有した
集積回路およびその回路構成方法ならびにプログラムに
関するものである。
【0002】
【従来の技術】FPGA(field programmable gate ar
ray)やCPLD(complex programmable logic devic
e)など、ユーザが回路構成を自由に変更できるプログ
ラマブル・デバイスの性能は年々向上しており、価格や
性能面においてゲートアレイ(gate array)に近づきつ
つある。
【0003】さらに、これらのプログラマブル・デバイ
スは回路構成をシステムの動作中に動的に変化させるこ
とも可能であり、リコンフィギャラブル・デバイス(re
configurable device)とも呼ばれている。リコンフィ
ギャラブル・デバイスは、回路構成が固定されているゲ
ートアレイでは実現不能な種々の応用が可能である。
【0004】例えば、システムの動作モードに応じて最
適な回路構成に変化させ、1つのリコンフィギャラブル
・デバイスで何倍もの機能を実現させることが可能とな
る。これにより、回路の集積度を実質的に高めることが
できる。また、リコンフィギャラブル・デバイスの回路
構成を指定する構成データ(configuration data)をソ
フトウェアのようにネットワークを介して配信すること
も可能なので、従来は困難だったハードウェア機能の不
具合修正や性能拡張などの対策を製品の出荷後にも行う
ことができる。例えば、配信される構成データに応じて
任意の通信規格に対応可能な携帯電話への応用が期待さ
れている。
【0005】ところで、このようなプログラマブル・デ
バイスの構成データは、多大な資本と労力を投じて開発
されるものでありながら、ソフトウェアと同様にリバー
スエンジニアリング(reverse-engineering)の実行者
によって容易に改竄や不正利用される可能性が高いた
め、この機密を保護する何らかの措置を講ずる必要があ
る。
【0006】CPU(central processing unit)に実
行されるプログラムの機密を保護する手法として、例え
ば文献1”米国特許4,465,901号” には、従
来の機能を有するCPUに暗号化/復号機構や秘密メモ
リを内蔵させたCMP(cryptomicroprocessor)を構成
し、その内部でプログラムを実行させる手法が記載され
ている。このCMPは耐タンパー性を有しているため、
CMPの内部におけるプログラムの実行過程を外部から
覗き見ることができない。また、プログラムは暗号化さ
れた状態で秘密メモリに保存されており、実行時にCM
P内部で復号されて実行されるため、その機密は暗号方
式の強度によって保護される。
【0007】しかしながら、CMPにおける復号鍵や暗
号方式は生産工程から既に固定されており、それらを任
意に変更することができないので、内部にある復号鍵の
情報が漏洩した場合の被害が大きくなる問題がある。
【0008】そこで、文献2”井熊 徹 他、「再構成可
能計算機を用いた不正コピーの防止」、CSEC200
1.2.21”には、上述したCMPなどこれまでに提
案されている複数のデジタルコンテンツ保護方式を、リ
コンフィギャラブル・デバイスを用いて可変にすること
により、耐タンパー性を向上させる手法が記載されてい
る。
【0009】しかしながら、コンテンツ保護方式に応じ
た構成データをリコンフィギャラブル・デバイスにロー
ドする回路が、暗号の復号鍵や復号関数を有する専用回
路として固定されているので、この部分を攻撃されて万
一復号鍵や復号関数が漏洩した場合、システムが致命的
な被害を受ける恐れがある。
【0010】一方、文献3”米国特許5,349,24
9”には、プログラマブル・デバイスを構成する複数の
プログラム可能な構成素子に近接して、プログラム内容
の読み返しを制限するための機密保護素子を複数配置す
る手法が記載されている。機密保護素子は構成素子と同
様にプログラム可能であり、構成素子に対するプログラ
ムの書き込みが行われた後に、読み返し許可状態から読
み返し禁止状態にプログラムされる。そして、これらの
機密保護素子が1つでも読み返し禁止状態にプログラム
されている場合、構成素子のプログラム内容を読み返す
ことができなくなるように回路が構成されている。これ
により、構成素子のプログラム内容の漏洩が防止され
る。
【0011】例えば、紫外線を使ってプログラムを消去
させるEPROM(erasable and programmable read o
nly memory)上に上述の構成素子および機密保護素子が
構成されている場合、たとえリバースエンジニアリング
の実行者が機密保護素子の位置を特定できたとしても、
これらの機密保護素子のプログラムを消去させると、隣
接する構成素子のプログラムも同時に消去されてしまう
ので、回路構成の有用な情報を得ることが困難になる。
文献3によれば、9ビット行×48ビット列の構成素子
のアレイ内に4つの機密保護ビットが配置された場合、
これらの機密保護ビットのプログラムを全て消去させる
と、432個の構成ビットのうち32〜80個の構成ビ
ットのプログラムも同時に消去されてしまう。論理回路
を構成する情報がこれだけ欠落してしまうと、リバース
エンジニアリングは非常に困難になる。
【0012】
【発明が解決しようとする課題】しかしながら、上述し
た各文献に記載の従来技術は、何れも既にデバイスに書
き込まれた情報が漏洩することを防ぐための技術であ
り、書き込まれる以前の情報の機密保護については述べ
られていない。すなわち、常に製品の出荷前に製造者に
よってデバイスに情報が書き込まれるのであれば、デバ
イス単体の耐タンパー性を向上させるこれらの従来技術
は十分有用であるが、例えばインターネットやLANな
ど、リバースエンジニアリングの実行者が容易にデータ
内容を覗き見ることが可能な経路を介して構成データが
配信されるリコンフィギャラブル・デバイスにおいて
は、上述した従来技術によってこれらの構成データの機
密を保護することはできない。
【0013】本発明はかかる事情に鑑みてなされたもの
であり、その目的は、構成データに応じて回路構成が変
更される集積回路であって、供給される構成データの機
密を保護することができる集積回路、およびその回路構
成方法、ならびにそのような集積回路の構成データを生
成するデータ処理装置のプログラムを提供することにあ
る。
【0014】
【課題を解決するための手段】上記の目的を達成するた
め、本発明の第1の観点に係る集積回路は、供給される
構成データに応じて回路構成の変更が可能な複数の回路
ブロックを有する集積回路であって、上記複数の回路ブ
ロックは、上記構成データに応じた回路を、それぞれ異
なる所定の規則に基づいて構成する複数の種類の回路ブ
ロックを含む。また、上記複数の種類の回路ブロック
は、上記構成データに応じて回路構成を変更する第1の
種類の回路ブロックと、所定の回路構成に固定され、上
記構成データに応じた回路構成の変更が不能な第2の種
類の回路ブロックとを含んでも良い。
【0015】本発明の第1の観点に係る集積回路によれ
ば、上記複数の回路ブロックには、上記構成データに応
じた回路が、それぞれ異なる所定の規則に基づいて構成
される複数の種類の回路ブロックが含まれる。例えば、
上記構成データに応じて回路構成を変更する第1の種類
の回路ブロックと、所定の回路構成に固定され、上記構
成データに応じた回路構成の変更が不能な第2の種類の
回路ブロックとが含まれる。それぞれの上記回路ブロッ
クには、上記種類に応じた回路構成規則に基づいて、上
記構成データに応じた回路が構成される。
【0016】また、上記構成データの所定ビットに所定
値のビットデータが挿入されているか否かを判定し、当
該判定結果に応じて上記回路ブロックの回路構成の変更
を禁止する構成変更禁止回路を有しても良い。
【0017】本発明の第2の観点に係る回路構成方法
は、供給される構成データに応じて回路構成の変更が可
能な複数の回路ブロックを有する集積回路の回路構成方
法であって、上記集積回路に構成する回路の情報に応じ
て、上記構成データを生成するステップと、上記複数の
回路ブロックに含まれる複数の種類の回路ブロックごと
に異なる回路の構成規則の情報に応じて、上記生成した
構成データを変換するステップと、上記変換した構成デ
ータを上記集積回路に供給するステップと、上記供給し
た構成データに応じた回路を、それぞれの上記回路ブロ
ックの種類に対応する上記構成規則に基づいて、上記回
路ブロックに構成するステップとを有する。
【0018】本発明の第2の観点に係る回路構成方法に
よれば、上記集積回路に構成される回路の情報に応じ
て、上記構成データが生成される。当該生成された構成
データは、上記複数の回路ブロックに含まれる複数の種
類の回路ブロックごとに異なる、回路の構成規則の情報
に応じて変換される。当該変換された構成データは上記
集積回路に供給され、当該供給された構成データに応じ
た回路が、それぞれの上記回路ブロックの種類に対応す
る上記構成規則に基づいて、上記回路ブロックに構成さ
れる。
【0019】また、上記構成データを生成するステップ
において、上記回路情報および上記構成規則情報に応じ
て、回路構成の変更が可能な第1の種類の回路ブロック
の回路構成、および回路構成が固定された第2の種類の
回路ブロックと上記第1の種類の回路ブロックとの結線
を指定する構成データを生成し、上記回路を構成するス
テップにおいて、上記構成データに応じて、上記第1の
種類の回路ブロックの回路を構成するとともに、上記第
1の種類の回路ブロックと上記第2の種類の回路ブロッ
クとを結線しても良い。
【0020】また、上記構成データを変換するステップ
において、上記回路ブロックの回路構成の変更禁止を解
除する所定の情報に応じて、上記生成した構成データの
所定ビットに所定値のビットデータを挿入し、上記回路
を構成するステップにおいて、上記構成データの上記所
定ビットに上記所定値のビットデータが挿入されている
か否かを判定し、当該判定結果に応じて上記回路ブロッ
クの回路構成の変更を禁止しても良い。
【0021】本発明の第3の観点に係るプログラムは、
供給される構成データに応じて回路構成の変更が可能な
複数の回路ブロックを有する集積回路の当該構成データ
を生成するデータ処理装置のプログラムであって、上記
集積回路に構成する回路の情報に応じて、上記構成デー
タを生成するステップと、上記複数の回路ブロックに含
まれる複数の種類の回路ブロックごとに異なる回路の構
成規則の情報に応じて、上記生成した構成データを変換
するステップとを有する。
【0022】また、上記構成データを生成するステップ
において、上記回路情報および上記構成規則情報に応じ
て、回路構成の変更が可能な第1の種類の回路ブロック
の回路構成、および回路構成が固定された第2の種類の
回路ブロックと上記第1の種類の回路ブロックとの結線
を指定する構成データを生成しても良い。
【0023】また、上記構成データを変換するステップ
において、上記回路ブロックの回路構成の変更を禁止す
る所定の情報に応じて、上記構成データの所定ビットに
所定値のビットデータを挿入しても良い。
【0024】
【発明の実施の形態】<第1の実施形態>以下、本発明
の第1の実施形態について図面を参照して説明する。図
1は、本発明の第1の実施形態に係る集積回路を説明す
るための概略的なブロック図である。図1において、符
号1および符号1’は回路セルを、符号2はマトリクス
・スイッチ部を、符号3はスイッチ部を、符号4は回路
セル1がマトリクス状に配列された回路セルアレイを、
符号5はI/Oセルをそれぞれ示す。
【0025】回路セル1および回路セル1’は、供給さ
れる構成データに応じてそれぞれ異なる所定の規則に基
づいて回路を構成するブロックである。例えば、回路セ
ル1は構成データに応じて回路構成の変更が可能である
のに対し、回路セル1’は回路セル1における少なくと
も一部の回路が所定の回路構成に固定されている。した
がって、これらの回路セルに同じ構成データが供給され
ても、通常は異なった回路構成になる。図1に示すよう
に、マトリクス状に配列された回路セル1の一部が、こ
の回路セル1’にランダムに置き換えられており、どの
回路セルがどのような回路に固定されているかは、リバ
ースエンジニアリングの実行者に対して秘密にされる。
【0026】なお、構成データに応じた回路の構成規則
は、上述した回路を固定する方式以外にも様々に定める
ことが可能である。例えば、回路を固定させずに、同一
値の構成データに対して全く異なった回路を構成する複
数の種類の回路セルをランダムに設けてもよい。また、
1つの回路セルの回路構成を指定するために必要な構成
データのビット数を、回路セルの種類ごとに異なるよう
に定めても良い。各回路セルにおける上述した回路の構
成規則の情報は、リバースエンジニアリングの実行者に
対して秘密にされる。
【0027】ここで、回路セル1および回路セル1’の
内部構成の一例を説明する。図2は、図1の回路セルの
一例を示す概略的なブロック図である。図2において、
符号11は組み合わせ回路を、符号12および符号14
はフリップフロップを、符号13および符号15はマル
チプレクサをそれぞれ示す。組み合わせ回路11は、n
ビット(nは自然数を示す)の入力信号Snに応じて2
ビットの信号(信号S1および信号S2)を一意に出力
する。ただし、入力信号Snに対する信号S1および信
号S2の組み合わせは、構成データに応じて任意にプロ
グラムされる。組み合わせ回路11は、例えば構成デー
タに応じて記憶データが書き換えられるSRAMなどに
よって実現される。
【0028】フリップフロップ12は、組み合わせ回路
11からの信号S1を入力し、図示しないクロック信号
に同期して保持するとともに、保持した信号をマルチプ
レクサ13に出力する。同様にフリップフロップ14
は、組み合わせ回路11からの出力信号S2を入力し、
図示しないクロック信号に同期して保持するとともに、
保持した信号をマルチプレクサ15に出力する。
【0029】マルチプレクサ13は、組み合わせ回路1
1の信号S1またはフリップフロップ12の保持信号の
どちらかを選択し、出力信号O1として出力する。同様
にマルチプレクサ15は、組み合わせ回路11の信号S
2またはフリップフロップ14の保持信号のどちらかを
選択し、出力信号O2として出力する。マルチプレクサ
13およびマルチプレクサ15においてどちらの信号が
選択されるかは、構成データに応じて任意にプログラム
される。
【0030】上述した構成を有する回路セルによれば、
nビットの入力信号Snに一意に対応する信号S1およ
び信号S2が組み合わせ回路11において生成され、そ
れぞれフリップフロップ12またはフリップフロップ1
4に保持される。そして、マルチプレクサ13およびマ
ルチプレクサ15によって、組み合わせ回路11からの
出力信号または各フリップフロップの保持信号のどちら
かが選択されて出力される。
【0031】なお、固定回路を有する回路セル1’にお
いては、プログラム可能な組み合わせ回路11、マルチ
プレクサ13およびマルチプレクサ15のうちの少なく
ともどれか1つの回路が、例えば物理的または電気的に
固定される。また、同一値の構成データに対して、互い
に異なる規則で回路を構成する複数の種類の回路セルを
設ける場合には、これらのプログラム可能な回路の少な
くとも一部が、回路セルの種類に応じて物理的または電
気的に異なる構成となるように作成される。以上が、図
1の回路セル1および回路セル1’の説明である。
【0032】マトリクス・スイッチ部2は、縦方向に走
る配線LVと横方向に走る配線LHとが交わる交点にお
いて、この縦配線LVと横配線LHとを結線するスイッ
チがマトリクス状に集合したブロックである。これらの
スイッチによる結線は、構成データに応じてプログラム
される。スイッチ部3は、回路セル1において入出力さ
れる配線と、縦配線LVまたは横配線LHとを結線する
スイッチが集合したブロックである。これらのスイッチ
による結線も、構成データに応じてプログラムされる。
【0033】なお、回路セル1’と同様に、これらのマ
トリクス・スイッチ部2やスイッチ部3における幾つか
のスイッチを固定させても良い。また、結線を固定させ
ずに、同一値の構成データに対して、互いに異なる規則
で結線を行う複数の種類のマトリクス・スイッチ部2や
スイッチ部3を設けても良い。
【0034】図3は、図1のスイッチ部およびマトリク
ス・スイッチ部を拡大した図である。図3の例に示すマ
トリクス・スイッチ部2では、それぞれ8本の縦配線L
Vと横配線LHとの交点に、64個のスイッチ6が配置
されている。また、図3の例に示すスイッチ部3では、
回路セル1から延びる3本の入出力線と横配線LHとの
交点に、24個のスイッチ6が配置されている。同様
に、回路セル1から延びる3本の入出力線と横配線LH
との交点に、24個のスイッチ6が配置されている。
【0035】図4は、図3のスイッチ6の一例を示す概
略的な回路図である。図4において、符号7はトランジ
スタを、符号8はSRAMなどのメモリセルをそれぞれ
示す。図4の例に示すスイッチ6によれば、トランジス
タ7によるスイッチがメモリセルMCに保持された1ビ
ットのデータの値に応じて導通または非導通に設定され
ることにより、縦配線LVと横配線LHとの間の結線状
態が設定される。各スイッチ6のメモリセルMCには、
構成データに応じた値のビットデータが保持される。以
上が、図1のマトリクス・スイッチ部2およびスイッチ
部3の説明である。
【0036】I/Oセル5は、回路セルアレイ4からの
入出力信号と、集積回路が格納されるパッケージの入出
力ピンとの間で信号を入出力するブロックであり、その
回路構成は回路セル1と同様に構成データに応じてプロ
グラムされる。
【0037】なお、これらのI/Oセル5の中に、回路
セル1’と同様に、回路構成を固定させたセルを設けて
も良い。また、回路構成を固定させずに、同一値の構成
データに対して互いに異なる規則で回路を構成する複数
の種類のI/Oセル5を設けても良い。
【0038】図5は、図1のI/Oセル5の一例を示す
概略的なブロック図である。図5において、符号51お
よび符号56はフリップフロップを、符号52および符
号57はマルチプレクサを、符号53および符号55は
バッファを、符号54はI/Oパッドをそれぞれ示す。
【0039】フリップフロップ51は、回路セルアレイ
4からの出力信号Soutを図示しないクロック信号に
同期して保持するとともに、保持した信号をマルチプレ
クサ52に出力する。マルチプレクサ52は、回路セル
アレイ4からの出力信号Soutまたはフリップフロッ
プ51の保持信号のどちらかを選択し、バッファ53に
出力する。どちらを選択するかは、構成データに応じて
プログラムされる。バッファ53は、マルチプレクサ5
2から出力される信号のレベルを変換して、I/Oパッ
ド54に出力する。I/Oパッド54は、集積回路が格
納されるパッケージの入出力ピンと電気的に接続される
端子である。
【0040】バッファ55は、I/Oパッド54から入
力される信号のレベルを変換して、フリップフロップ5
6およびマルチプレクサ57に出力する。フリップフロ
ップ56は、バッファ55からの信号を図示しないクロ
ック信号に同期して保持するとともに、保持した信号を
マルチプレクサ52に出力する。マルチプレクサ57
は、バッファ55からの信号またはフリップフロップ5
6の保持信号のどちらかを選択し、回路セルアレイ4に
出力する。どちらを選択するかは、構成データに応じて
プログラムされる。
【0041】上述した構成を有するI/Oブロック5に
よれば、回路セルアレイ4から出力される信号Sout
は、そのままバッファ53を介してI/Oパッド54に
出力されるか、またはフリップフロップ51において保
持された後、バッファ53を介してI/Oパッド54に
出力される。何れの信号が出力されるかは、構成データ
に応じてプログラムされる。同様に、I/Oパッド54
から入力される信号は、バッファ55を介してそのまま
回路セルアレイ4に出力されるか、またはフリップフロ
ップ56において保持された後で回路セルアレイ4に出
力される。何れの信号が出力されるかは、構成データに
応じてプログラムされる。
【0042】次に、上述した構成を有する図1の集積回
路に回路を構成させる手順について、図6および図7を
参照して説明する。図6は、図1の集積回路における回
路構成手順の一例を示すフローチャートである。図7
は、この回路構成手順を模式的に示す図である。図7に
おいて、符号100は設計された回路データに基づいて
生成された構成データを、符号101はターゲットの集
積回路の秘密情報に基づいて変換された構成データを、
符号102はターゲットの集積回路の秘密情報を、符号
103はターゲットの集積回路に書き込まれた構成デー
タを、それぞれ回路シンボルによって示す。また、符号
104は、例えば上述した回路セル1やI/Oセル5、
マトリクス・スイッチ部2、スイッチ部3などのプログ
ラム可能な回路ブロックを含む集積回路のプログラム部
を示す。
【0043】ステップST1:例えば回路図やハードウ
ェア記述言語などの形式で設計され、タイミングシミュ
レーションや電気的整合性のチェックなどの様々な検証
過程を経て完成した集積回路の回路データが、ターゲッ
トの集積回路の各回路ブロック(回路セル1、I/Oセ
ル5、マトリクス・スイッチ部2、スイッチ部3)に割
り当てられるとともに、このターゲットの集積回路にお
ける具体的な配置や配線を決定する処理が実行されて、
所定の形式の構成データ100が生成される。
【0044】なお、プログラム可能な各回路ブロックの
中に、構成データに応じて変更されない固定の回路を設
ける場合には、この固定回路に関する秘密情報102に
基づいて回路データの割り当てや配置・配線が行われ、
構成データ100が生成される。この生成される構成デ
ータ100には、集積回路のプログラム可能部分におけ
る回路構成を指定するデータと、このプログラム可能部
分と固定回路との結線を指定するデータとが含まれてい
る。固定回路に関する秘密情報102は、リバースエン
ジニアリングの実行者に対して秘密にされる情報であ
る。
【0045】ステップST2:次に、ステップST1に
おいて生成された構成データ100が、ターゲットの集
積回路に含まれる各回路ブロックごとに定められた回路
の構成規則の秘密情報102に基づいて変換される。こ
の回路の構成規則の秘密情報102は、例えば上述した
固定回路に関する情報でも良く、または、単に構成デー
タの値と構成される回路との対応関係の規則を、それぞ
れの回路ブロックについて指定する情報でも良い。この
ステップにおいて使用される回路の構成規則の秘密情報
102は、リバースエンジニアリングの実行者に対して
秘密にされる情報である。
【0046】ステップST3:次に、ステップST2に
おいて変換された構成データ101が、ターゲットの集
積回路に供給される。例えば、インターネットやLAN
などのネットワークを介してターゲットの集積回路に供
給しても良いし、CD−ROMなどの記録媒体を介して
供給しても良い。あるいは、集積回路と同一のボード上
に実装されたROMなどに予め書き込まれた構成データ
101を供給しても良い。その他、さまざまな方法を用
いて構成データ101を集積回路に供給すること可能で
ある。
【0047】このステップにおいて集積回路に供給され
る構成データ101は、上述した固定回路に関する秘密
情報102によって変換されている場合、図7に示すよ
うに、ステップST1において生成された元の構成デー
タ100から、固定部分の回路に関する秘密情報102
が欠落した差分の構成データ101と考えることができ
る。したがって、リバースエンジニアリングの実行者が
この差分の構成データ101から元の構成データ100
を復元するためには、集積回路に形成された固定回路を
解析する必要がある。
【0048】一方、集積回路の内部に記録された情報に
対する機密性は、従来の技術を用いて容易に強化するこ
とができるので、固定部分の回路に関する秘密情報10
2を取得することは極めて困難である。例えば、任意の
構成データを作成して集積回路にロードし、入出力ピン
の信号状態から回路の動作を探ることにより秘密情報1
02を取得する方法が考えられるが、集積回路の規模が
大きくなるにつれて作成すべき構成データの数が多くな
り、さらにこの構成データによって回路が構成された集
積回路に入力すべき信号の組み合わせ数も多くなるの
で、解析すべき情報量が膨大になる。したがって、この
解析手法を遂行するには莫大なコストが必要となり、構
成データ101から回路の情報を再現することは極めて
困難である。
【0049】また、回路の固定部分を含まずに、同一値
の構成データに対して互いに異なる規則で回路を構成す
る複数の種類の回路ブロックを設ける場合には、ステッ
プST1において生成される構成データと比較して、ス
テップST2において変換される構成データには情報の
欠落部分が存在しないため、構成データ自体から回路の
情報を再生することも原理的に不可能ではないが、現実
的には回路ブロックごとに定めた回路規則の情報を何ら
かの方法によって集積回路から取得する必要があるの
で、固定回路を含む場合と同様に、変換後の構成データ
から回路の情報を再現することは極めて困難である。
【0050】ステップST4:ステップST3において
集積回路に供給された構成データ101に応じて、各回
路ブロックの回路が、それぞれの回路構成規則に基づい
て構成される。例えば集積回路の回路ブロックに秘密の
固定回路が含まれる場合、その他のプログラム可能な回
路ブロックの回路が構成データに応じて構成されるとと
もに、秘密の固定回路とプログラム可能な回路ブロック
とが構成データに応じて結線される。これにより、目的
とする回路が集積回路上に構成される。
【0051】以上説明したように、上述した第1の実施
形態に係る集積回路によれば、構成データに応じた回路
が、集積回路に含まれる複数の種類の回路ブロックごと
にそれぞれ異なる回路の構成規則に基づいて構成され
る。構成データは、この回路の構成規則に関する情報に
応じて変換され、ターゲットの集積回路に供給される。
例えば、構成データに応じてプログラム可能な回路ブロ
ックと、予め所定の回路構成に固定された回路ブロック
とを含んでいる場合、この固定された回路ブロックに関
する秘密情報に応じて構成データが変換されて、ターゲ
ットの集積回路に供給される。したがって、リバースエ
ンジニアリングの実行者にこの構成データの内容が覗き
見られた場合でも、そこから元の回路の情報を再現する
ことは極めて困難なので、構成データの機密性を保護し
た状態で、安全に構成データを集積回路へ供給できる。
【0052】<第2の実施形態>次に、本発明の第2の
実施形態について述べる。リバースエンジニアリングの
実行者が構成データから回路の情報を再現するために
は、一般的に、集積回路に構成データを書き込んで回路
の動作を調べる必要がある。そこで、以下に述べる第2
の実施形態においては、集積回路に対する構成データの
書き込みに制限を加えることにより、更に耐タンパー性
を高めることが可能な集積回路について説明する。
【0053】図8は、回路構成禁止部を設けた集積回路
の一例を示す概略的なブロック図である。図8におい
て、符号105は集積回路を示し、符号106は構成変
更禁止部を示す。
【0054】集積回路105は、例えば図1に示す回路
セル1やI/Oセル5、マトリクス・スイッチ部2、ス
イッチ部3などを含んだ、本発明の第1の実施形態に係
る集積回路である。構成変更禁止部106から供給され
る構成データScに応じて、回路構成を変更する。構成
変更禁止部106は、供給される構成データScに応じ
て集積回路105の回路構成の変更を禁止させるブロッ
クである。例えば、構成データScの所定ビットに所定
値の秘密のビットデータが挿入されているか否かを判定
し、この判定結果に応じて集積回路105におけるプロ
グラム可能な回路ブロックの回路構成の変更を禁止させ
る。この場合、構成データの供給元において挿入された
秘密のビットデータを構成変更禁止部106において削
除し、残りの構成データSc’を集積回路105に供給
しても良い。
【0055】上述した構成を有する集積回路における回
路構成手順について、図9のフローチャートを参照して
説明する。図8の集積回路における回路構成手順の一例
を示すフローチャートであり、図6と図9の同一符号は
同等の処理を行うステップを示す。
【0056】図10に示すように、ステップST2の構
成データの変換の後に、ステップST5において、所定
の秘密ビットデータを構成データに挿入する処理が実行
される。次いでステップST3において、秘密ビットを
挿入された構成データScが構成変更禁止部106に供
給されると、ステップST6において、この構成データ
Scの所定ビットに所定値のビットデータが挿入されて
いるか否かが判定され、挿入されていることが判定され
た場合、ステップST4における回路構成の変更処理が
実行される。また挿入されていないことが判定された場
合には、ステップST4の回路構成変更処理がスキップ
されて、回路構成は変更されない。
【0057】このように、構成データScに秘密のビッ
トデータが挿入されていなければ集積回路105に構成
データを書き込むことができないので、リバースエンジ
ニアリングの実行者は、集積回路105の秘密情報を解
析する前に、まずこの秘密のビットデータを解析しなく
てはならない。したがって、上述した第1の実施形態に
係る集積回路の耐タンパー性を更に強化することができ
る。また、秘密のビットデータは集積回路105への構
成データを生成した後で挿入すれば良いので、秘密のビ
ットデータの仕様が集積回路105の構成データの生成
(例えば配置・配線処理など)に影響を与えることがな
く、配置配線の効率を損なわずに済む。
【0058】<第3の実施形態>次に、本発明の第3の
実施形態について説明する。第3の実施形態は、図1ま
たは図8に示す集積回路に供給される構成データを生成
するデータ生成装置のプログラムに関する。
【0059】図10は、図1または図8に示す構成デー
タを生成するデータ処理装置の一例を示す概略的なブロ
ック図である。図10において、符号20はCPUを、
符号21はRAM(random access memory)を、符号2
2はI/O部を、符号23は記憶装置を、符号24はバ
スをそれぞれ示す。
【0060】CPU20は、記憶装置23に保持される
図6または図9に示すステップを含んだプログラムに応
じて、記憶装置20に記憶された回路データを処理し、
構成データを生成する。RAM21は、CPU20のプ
ログラムを保持するための記憶領域や、CPU17の処
理過程において一時的に使用される記憶領域を提供す
る。
【0061】I/O部22は、CPU20の制御に応じ
て記憶装置20の指定されたアドレスに記憶されるデー
タを読み出してバス24に出力するとともに、バス24
から入力されるデータを記憶装置20の指定されたアド
レスに記憶させる。記憶装置23は、I/O部22から
の制御に応じて、指定されたアドレスに記憶したデータ
を読み出してI/O部22に出力するとともに、I/O
部22から入力したデータを指定されたアドレスに記憶
する。この記憶装置23は、図6または図9のフローチ
ャートに示すステップを含んだCPU20のプログラム
や、構成データを生成する元となる回路データ、集積回
路に供給される構成データなどのデータを記憶する。
【0062】上述した構成を有する図10のデータ処理
装置において、図6のフローチャートにおける構成デー
タの変換処理(ステップST2)、または図9のフロー
チャートにおける秘密ビットデータの挿入処理(ステッ
プST5)までのステップを含んだプログラムが実行さ
れることにより、図1または図8に示す集積回路に供給
される構成データ生成して、記憶装置23に格納させる
ことができる。
【0063】以上、本発明の3つの実施形態について説
明したが、本発明は上述した実施形態のみに限定される
ものではなく、当業者に自明な種々の改変が可能であ
る。例えば、図1および図8の集積回路ではFPGAに
おいて一般的な構成を例として示しているが、本発明は
この例に限定されるものでなく、例えばCPLDやその
他のさまざまなプログラマブル・デバイスに対して適用
可能である。また、そのプログラマブル・デバイスは論
理回路のみに限定されるものではなく、例えば、構成デ
ータに応じて回路構成の変更が可能なアナログ回路であ
っても良い。
【0064】
【発明の効果】本発明によれば、集積回路に供給される
構成データの機密を保護することができ、集積回路に対
する構成データの供給を安全に行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る集積回路を説明する
ための概略的なブロック図である。
【図2】図1の回路セルの一例を示す概略的なブロック
図である。
【図3】図1のスイッチ部およびマトリクス・スイッチ
部を説明するための図である。
【図4】図3のスイッチの一例を示す概略的な回路図で
ある。
【図5】図1のI/Oセルの一例を示す概略的なブロッ
ク図である。
【図6】図1の集積回路における回路構成手順の一例を
示すフローチャートである。
【図7】図6の回路構成手順を説明するための図であ
る。
【図8】回路構成禁止部を設けた集積回路の一例を示す
概略的なブロック図である。
【図9】図8の集積回路における回路構成手順の一例を
示すフローチャートである。
【図10】構成データを生成するデータ処理装置の一例
を示す概略的なブロック図である。
【符号の説明】
1,1’…回路セル、2…マトリクス・スイッチ部、3
…スイッチ部、4…回路セルアレイ、5…I/Oセル、
6…スイッチ、7…トランジスタ、8…メモリセル、1
1…組み合わせ回路、12,14,51,56…フリッ
プフロップ、13,15,52,57…マルチプレク
サ、20…CPU、21…RAM、22…I/O部、2
3…記憶装置、24…バス、53,55…バッファ、5
4…I/Oパッド、105…集積回路、106…構成変
更禁止部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 赤井 健一郎 東京都品川区東五反田3丁目14番13号 株 式会社ソニーコンピュータサイエンス研究 所内 (72)発明者 真田 幸俊 東京都品川区東五反田3丁目14番13号 株 式会社ソニーコンピュータサイエンス研究 所内 (72)発明者 ロバート モレロス−ザラゴザ 東京都品川区東五反田3丁目14番13号 株 式会社ソニーコンピュータサイエンス研究 所内 (72)発明者 ロックラン マイケル 東京都品川区東五反田3丁目14番13号 株 式会社ソニーコンピュータサイエンス研究 所内 Fターム(参考) 5B015 HH01 HH03 JJ00 KB91 5B017 AA03 BA07 BB03 CA11

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 供給される構成データに応じて回路構成
    の変更が可能な複数の回路ブロックを有する集積回路で
    あって、 上記複数の回路ブロックは、上記構成データに応じた回
    路を、それぞれ異なる所定の規則に基づいて構成する複
    数の種類の回路ブロックを含む、 集積回路。
  2. 【請求項2】 上記複数の種類の回路ブロックは、 上記構成データに応じて回路構成を変更する第1の種類
    の回路ブロックと、 所定の回路構成に固定され、上記構成データに応じた回
    路構成の変更が不能な第2の種類の回路ブロックとを含
    む、 請求項1に記載の集積回路。
  3. 【請求項3】 上記複数の種類の回路ブロックは、 上記構成データに応じた回路を、それぞれ異なる所定の
    規則に基づいて構成する複数の種類の回路セルと、 上記構成データに応じて、それぞれ異なる所定の規則に
    基づいて上記回路セル間を結線する複数の種類の結線回
    路とを含む、請求項1に記載の集積回路。
  4. 【請求項4】 上記複数の種類の回路セルは、 上記構成データに応じて回路構成を変更する第1の種類
    の回路セルと、 上記第1の種類の回路セルにおける少なくとも一部の回
    路が所定の回路構成に固定された第2の種類の回路セル
    とを含む、 請求項3に記載の集積回路。
  5. 【請求項5】 上記複数の種類の結線回路は、 上記構成データに応じて上記回路セル間の結線を変更す
    る第1の種類の結線回路と、 上記第1の種類の結線回路における少なくとも一部の結
    線が所定の結線に固定された第2の種類の結線回路とを
    含む、 請求項3に記載の集積回路。
  6. 【請求項6】 上記構成データの所定ビットに所定値の
    ビットデータが挿入されているか否かを判定し、当該判
    定結果に応じて上記回路ブロックの回路構成の変更を禁
    止する構成変更禁止回路を有する、 請求項1に記載の集積回路。
  7. 【請求項7】 供給される構成データに応じて回路構成
    の変更が可能な複数の回路ブロックを有する集積回路の
    回路構成方法であって、 上記集積回路に構成する回路の情報に応じて、上記構成
    データを生成するステップと、 上記複数の回路ブロックに含まれる複数の種類の回路ブ
    ロックごとに異なる回路の構成規則の情報に応じて、上
    記生成した構成データを変換するステップと、 上記変換した構成データを上記集積回路に供給するステ
    ップと、 上記供給した構成データに応じた回路を、それぞれの上
    記回路ブロックの種類に対応する上記構成規則に基づい
    て、当該回路ブロックに構成するステップとを有する集
    積回路の回路構成方法。
  8. 【請求項8】 上記構成データを生成するステップにお
    いて、 上記回路情報および上記構成規則情報に応じて、上記構
    成データを生成する、請求項7に記載の集積回路の回路
    構成方法。
  9. 【請求項9】 上記構成データを生成するステップにお
    いて、 上記回路情報および上記構成規則情報に応じて、回路構
    成の変更が可能な第1の種類の回路ブロックの回路構
    成、および回路構成が固定された第2の種類の回路ブロ
    ックと上記第1の種類の回路ブロックとの結線を指定す
    る構成データを生成し、 上記回路を構成するステップにおいて、 上記構成データに応じて、上記第1の種類の回路ブロッ
    クの回路を構成するとともに、上記第1の種類の回路ブ
    ロックと上記第2の種類の回路ブロックとを結線する、 請求項8に記載の集積回路の回路構成方法。
  10. 【請求項10】 上記構成データを変換するステップに
    おいて、 上記回路ブロックの回路構成の変更禁止を解除する所定
    の情報に応じて、上記生成した構成データの所定ビット
    に所定値のビットデータを挿入し、 上記回路を構成するステップにおいて、 上記構成データの上記所定ビットに上記所定値のビット
    データが挿入されているか否かを判定し、当該判定結果
    に応じて上記回路ブロックの回路構成の変更を禁止す
    る、 請求項7に記載の集積回路の回路構成方法。
  11. 【請求項11】 供給される構成データに応じて回路構
    成の変更が可能な複数の回路ブロックを有する集積回路
    の当該構成データを生成するデータ処理装置のプログラ
    ムであって、 上記集積回路に構成する回路の情報に応じて、上記構成
    データを生成するステップと、 上記複数の回路ブロックに含まれる複数の種類の回路ブ
    ロックごとに異なる回路の構成規則の情報に応じて、上
    記生成した構成データを変換するステップとを有するプ
    ログラム。
  12. 【請求項12】 上記構成データを生成するステップに
    おいて、 上記回路情報および上記構成規則情報に応じて、上記構
    成データを生成する、 請求項11に記載のプログラム。
  13. 【請求項13】 上記構成データを生成するステップに
    おいて、 上記回路情報および上記構成規則情報に応じて、回路構
    成の変更が可能な第1の種類の回路ブロックの回路構
    成、および回路構成が固定された第2の種類の回路ブロ
    ックと上記第1の種類の回路ブロックとの結線を指定す
    る構成データを生成する、 請求項12に記載のプログラム。
  14. 【請求項14】 上記構成データを変換するステップに
    おいて、 上記回路ブロックの回路構成の変更を禁止する所定の情
    報に応じて、上記構成データの所定ビットに所定値のビ
    ットデータを挿入する、 請求項11に記載のプログラム。
JP2001250761A 2001-08-21 2001-08-21 集積回路およびその回路構成方法ならびにプログラム Abandoned JP2003058426A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001250761A JP2003058426A (ja) 2001-08-21 2001-08-21 集積回路およびその回路構成方法ならびにプログラム
US10/223,543 US6768337B2 (en) 2001-08-21 2002-08-19 Integrated circuit, method of circuit configuration and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001250761A JP2003058426A (ja) 2001-08-21 2001-08-21 集積回路およびその回路構成方法ならびにプログラム

Publications (1)

Publication Number Publication Date
JP2003058426A true JP2003058426A (ja) 2003-02-28

Family

ID=19079517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001250761A Abandoned JP2003058426A (ja) 2001-08-21 2001-08-21 集積回路およびその回路構成方法ならびにプログラム

Country Status (2)

Country Link
US (1) US6768337B2 (ja)
JP (1) JP2003058426A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551211A (zh) * 2003-04-22 2004-12-01 ��ķɭ���ó�׹�˾ 使用硬件配置数据解码从数据源接收到的数据的方法

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US6981090B1 (en) * 2000-10-26 2005-12-27 Cypress Semiconductor Corporation Multiple use of microcontroller pad
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US6892310B1 (en) * 2000-10-26 2005-05-10 Cypress Semiconductor Corporation Method for efficient supply of power to a microcontroller
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7167025B1 (en) 2004-02-14 2007-01-23 Herman Schmit Non-sequentially configurable IC
US7425841B2 (en) 2004-02-14 2008-09-16 Tabula Inc. Configurable circuits, IC's, and systems
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US7307452B2 (en) * 2004-10-27 2007-12-11 Stmicroelectronics Pvt. Ltd. Interconnect structure enabling indirect routing in programmable logic
US7317331B2 (en) 2004-11-08 2008-01-08 Tabula, Inc. Reconfigurable IC that has sections running at different reconfiguration rates
US7330050B2 (en) 2004-11-08 2008-02-12 Tabula, Inc. Storage elements for a configurable IC and method and apparatus for accessing data stored in the storage elements
JP3810419B2 (ja) * 2004-12-07 2006-08-16 松下電器産業株式会社 再構成可能な信号処理プロセッサ
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
JP4444860B2 (ja) * 2005-03-10 2010-03-31 富士通株式会社 リコンフィギュラブル回路およびそのコンフィギュレーション方法
WO2006115213A1 (ja) * 2005-04-21 2006-11-02 Matsushita Electric Industrial Co., Ltd. 回路更新システム
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
WO2006124953A2 (en) * 2005-05-16 2006-11-23 Georgia Tech Research Corporation Systems and methods for programming large-scale field-programmable analog arrays
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US7443196B2 (en) 2005-07-15 2008-10-28 Tabula, Inc. Configuration network for a configurable IC
US20070139074A1 (en) * 2005-12-19 2007-06-21 M2000 Configurable circuits with microcontrollers
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US8112468B1 (en) 2007-03-22 2012-02-07 Tabula, Inc. Method and apparatus for performing an operation with a plurality of sub-operations in a configurable IC
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
WO2009035586A1 (en) 2007-09-06 2009-03-19 Tabula, Inc. Configuration context switcher
US8990651B2 (en) * 2007-09-19 2015-03-24 Tabula, Inc. Integrated circuit (IC) with primary and secondary networks and device containing such an IC
WO2010016857A1 (en) 2008-08-04 2010-02-11 Tabula, Inc. Trigger circuits and event counters for an ic
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
EP2553815A1 (en) 2010-04-02 2013-02-06 Tabula, Inc. System and method for reducing reconfiguration power usage
US8941409B2 (en) 2011-07-01 2015-01-27 Tabula, Inc. Configurable storage elements
JP6478562B2 (ja) 2013-11-07 2019-03-06 株式会社半導体エネルギー研究所 半導体装置
US9379713B2 (en) * 2014-01-17 2016-06-28 Semiconductor Energy Laboratory Co., Ltd. Data processing device and driving method thereof
EP3226160A1 (en) * 2016-03-29 2017-10-04 Wipro Limited System and method for configuring a field programmable device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860099A (en) * 1993-05-12 1999-01-12 Usar Systems, Inc. Stored program system with protected memory and secure signature extraction
US5467396A (en) * 1993-10-27 1995-11-14 The Titan Corporation Tamper-proof data storage
US5898776A (en) * 1996-11-21 1999-04-27 Quicklogic Corporation Security antifuse that prevents readout of some but not other information from a programmed field programmable gate array
JP2000311943A (ja) * 1999-04-27 2000-11-07 Mitsubishi Electric Corp 半導体装置
US6331784B1 (en) * 2000-07-28 2001-12-18 Atmel Corporation Secure programmable logic device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1551211A (zh) * 2003-04-22 2004-12-01 ��ķɭ���ó�׹�˾ 使用硬件配置数据解码从数据源接收到的数据的方法
JP2004342094A (ja) * 2003-04-22 2004-12-02 Thomson Licensing Sa リムーバブル記憶媒体から読み出された第1データを、該第1データの復号情報を含んだ第2データを用いて復号する方法

Also Published As

Publication number Publication date
US20030080776A1 (en) 2003-05-01
US6768337B2 (en) 2004-07-27

Similar Documents

Publication Publication Date Title
JP2003058426A (ja) 集積回路およびその回路構成方法ならびにプログラム
CA2428031C (en) Programmable logic device with decryption algorithm and decryption key
US6441641B1 (en) Programmable logic device with partial battery backup
CA2429597C (en) Programmable logic device with method of prreventing readback
US7058177B1 (en) Partially encrypted bitstream method
US7117373B1 (en) Bitstream for configuring a PLD with encrypted design data
US6957340B1 (en) Encryption key for multi-key encryption in programmable logic device
US6965675B1 (en) Structure and method for loading encryption keys through a test access port
US7117372B1 (en) Programmable logic device with decryption and structure for preventing design relocation
JP2011525015A (ja) 試験動作モードの間に集積回路のデジタル情報を保護するための方法及び装置
US8397067B1 (en) Mechanisms and techniques for protecting intellectual property
US8074077B1 (en) Securing circuit designs within circuit design tools
Zhang et al. Thwarting security threats from malicious FPGA tools with novel FPGA-oriented moving target defense
EP2702526A2 (en) Method and apparatus for securing programming data of a programmable device
JP2010252305A (ja) 半導体集積回路及びその制御方法
US8612772B1 (en) Security core using soft key
US20110154062A1 (en) Protection of electronic systems from unauthorized access and hardware piracy
US8670561B1 (en) Method and apparatus for limiting use of IP
US6525557B1 (en) Method for watermarking a register-based programmable logic device core
JP2011022690A (ja) シミュレーションモデル生成装置
KR20070097051A (ko) 동적으로 재구성 가능한 프로세서
JP2003162341A (ja) プログラムの不正実行防止機能付きプロセッサ
JP5124244B2 (ja) 半導体集積回路、機密保護方法、機密保護プログラム及び記録媒体
Aramoon et al. A reconfigurable scan network based IC identification for embedded devices
JP2008299930A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080812

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20090813