JP2011075460A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2011075460A
JP2011075460A JP2009228926A JP2009228926A JP2011075460A JP 2011075460 A JP2011075460 A JP 2011075460A JP 2009228926 A JP2009228926 A JP 2009228926A JP 2009228926 A JP2009228926 A JP 2009228926A JP 2011075460 A JP2011075460 A JP 2011075460A
Authority
JP
Japan
Prior art keywords
data
circuit
under test
circuit under
input 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
JP2009228926A
Other languages
English (en)
Inventor
Taketoshi Suzuki
健聡 鈴木
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009228926A priority Critical patent/JP2011075460A/ja
Priority to US12/895,322 priority patent/US20110078522A1/en
Publication of JP2011075460A publication Critical patent/JP2011075460A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318385Random or pseudo-random test pattern

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

【課題】回路規模の小さい自己テスト回路を備えた半導体集積回路を提供する。
【解決手段】
入力データを処理し、入力データよりランダム性の高い出力データを出力する被テスト回路100と、被テスト回路100の自己テスト動作時に、被テスト回路100に入力する初期の入力データを保持する記憶部210と、被テスト回路100が入力データを処理し、出力する出力データを被テスト回路100の入力データとしてフィードバックするフィードバック部220と、フィードバック部220が被テスト回路100の出力データを被テスト回路100の入力データとしてフィードバックする回数を制御する制御部230と、被テスト回路100が出力する出力データと期待値とを比較する比較部240と、を有する自己テスト回路。
【選択図】 図1

Description

本発明は、半導体集積回路に係り、特に、自己テスト回路を備えた半導体集積回路に関する。
LSI(Large Scale Integration)のテスト法として、スキャンパステストが最もよく用いられている。スキャンパステストでは、スキャン設計された被テスト回路に対して、外部のLSIテスタからテストベクタを入力し、それに対する出力をLSIテスタにより測定、期待値と比較することにより被テスト回路のテストを行う。スキャンパステストは、被テスト回路であるLSIの大規模化に伴い、テストベクタとテストピンの増大、また、高速テストに伴うテスタのコスト増大等の問題が生じている。さらに、LSIテスタにより被テスト回路内のデータを外部に読み出すため、被テスト回路が暗号回路等である場合には、暗号回路内部に保存されている秘密鍵等がスキャンパスを介して外部に読み出されてしまうおそれがある。
スキャンパステスト以外のLSIのテスト法として、組み込み自己テスト(BIST:Built−in Self Test)がある。BISTを実施する半導体集積回路は、スキャン設計された被テスト回路と、被テスト回路をテストするLSIテスタの機能をもつ回路(自己テスト回路)を備え、自己テスト回路により、被テスト回路の簡易なテストを行うことが可能である(例えば、特許文献1参照)。これにより、BISTでは、スキャンパステストが有する上述の問題を解決することが可能である。
BISTでは、被テスト回路に含まれる故障を自己テスト回路で検出する確率(故障検出率)は、テストパターンのランダム性に依存する。つまり、ランダム性の高いテストパターンを用いることにより、故障検出率を高くすることが可能である。しかし、通常、自己テスト回路でテストパターン発生回路として用いられるn段のLFSR(Linear Feedback Shift Registers)では、LFSRの性質上、発生させるテストパターンは2−1の周期を持つ擬似ランダムテストパターンとなってしまう。このため、被テスト回路内部の故障を検出するのに必要なテストパターンが生成されない場合がある。また、BISTを実施する半導体集積回路では、通常、テストパターン発生回路としてLFSRをチップ上に実装するため、チップの回路規模が増大するという課題がある。また、BISTを実施する半導体集積回路では、LSIと同様に、被テスト回路をスキャン設計するため、スキャンパスによる回路規模増大の課題がある。
特開2007−240414号公報
本発明は、回路規模の小さい自己テスト回路を備えた半導体集積回路を提供することを目的とする。
本発明の一態様の半導体集積回路は、入力データを処理し、入力データよりランダム性の高い出力データを出力する被テスト回路と、前記被テスト回路の自己テスト動作時に、前記被テスト回路に入力する初期の入力データを保持する記憶部と、前記被テスト回路が入力データを処理し、出力する出力データを前記被テスト回路の入力データとしてフィードバックするフィードバック部と、前記フィードバック部が前記被テスト回路の出力データを前記被テスト回路の入力データとしてフィードバックする回数を制御する制御部と、前記被テスト回路が出力する出力データと期待値とを比較する比較部と、を有する自己テスト回路と、を備える。
本発明によれば、回路規模の小さい自己テスト回路を備えた半導体集積回路を提供することを目的と可能とする。
本発明の実施例1に係る半導体集積回路が備える被テスト回路と自己テスト回路の概略構成を示すブロック図である。 本発明の実施例1に係る半導体集積回路が備える被テスト回路と自己テスト回路の構成を示すブロック図である。 暗号コア回路が有する暗号化アルゴリズムの一態様であるFeistel構造について説明する図である。 記憶部の一態様を示す回路である。 BIST実施時のタイミングチャートである。 集積回路のゲートネットに対してシミュレーションによりBISTを行った結果を示す表である。 本発明の実施例2に係る半導体集積回路が備える被テスト回路と自己テスト回路の構成を示すブロック図である。
以下、本発明の実施例について、図面を参照しながら説明する。
図1を参照して、本実施例の半導体集積回路が備える被テスト回路と自己テスト回路の概略構成を説明する。図1は、本発明の実施例1に係る半導体集積回路が備える被テスト回路と自己テスト回路の概略構成を示すブロック図である。
本実施例の半導体集積回路1は、被テスト回路100と、被テスト回路100のBISTを実施するための自己テスト回路200を備える。自己テスト回路200は、記憶部210と、フィードバック部220と、制御部230と、比較部240とを有する。なお、半導体集積回路1は、被テスト回路100、自己テスト回路200以外の機能を有する集積回路を備えていてもよい。
BIST実施時には、まず、記憶部210から初期テストパターンDATA_INITIALが入力データDATA_INとして被テスト回路100へ入力する。次に、被テスト回路100が、入力データDATA_IN(初期テストパターンDATA_INITIAL)を処理(演算)し、入力データDATA_IN(初期テストパターンDATA_INITIAL)よりランダム性の高い出力データDATA_OUTを出力する。次に、フィードバック部220は、被テスト回路100が出力する出力データDATA_OUTを、被テスト回路100の入力データDATA_INとしてフィードバックする。次に、被テスト回路100は、入力データDATA_INを処理(演算)し、入力データDATA_INよりランダム性の高い出力データDATA_OUTを出力する。以下、同様に、フィードバック部220が被テスト回路100の出力する出力データDATA_OUTを被テスト回路の入力データDATA_INとしてフィードバック(フィードバック動作)し、被テスト回路100が入力データDATA_INを処理(演算)し、入力データDATA_INよりランダム性の高い出力データDATA_OUTを出力する動作を繰り返す。制御部230は、フィードバック動作の回数(フィードバック回数)を制御する。フィードバック回数が設定された回数に達すると、被テスト回路100の出力する出力データDATA_OUTと、期待値とを、比較器240が比較する。この出力データと期待値とが一致しない場合には、被テスト回路に故障が含まれることが検出される。
このように、本実施例では、フィードバック動作を繰り返すことにより、入力データDATA_INをランダム性の高いデータとすることが可能である。BISTでは、被テスト回路に含まれる故障を検出する確率(故障検出率)は、被テスト回路に入力するデータのランダム性に依存する。このため、本実施例では、BIST実施による故障検出率を高めることが可能である。さらに、フィードバック動作を繰り返すことにより、入力データDATA_INのランダム性を高めることができるため、初期入力データDATA_INITIALをランダム性の低い単純なデータとすることができる。このため、従来のように擬似ランダムテストパターンを発生させるLFSRを備える必要がない。これにより、初期入力データDATA_INITIALを格納する記憶部210の構成を簡略化することが可能となり、実装面積を小さくすることが可能である。さらに、入力データDATA_INITIALをランダム化することにより、BIST実施時の被テスト回路100を活性化できるため、被テスト回路100をスキャン設計しなくてもよい。これにより、被テスト回路100の回路規模を縮小することが可能となる。
次に、図2を参照して、本実施例の半導体集積回路が備える被テスト回路と自己テストテスト回路の構成をより詳細に説明する。図2は、本発明の実施例1に係る半導体集積回路が備える被テスト回路と自己テスト回路の構成を示すブロック図である。図2において、図1に示す構成部と同一又は同等のものについては、同一符号を付して示している。
被テスト回路100は、前述したように、被テスト回路100に入力する入力データDATA_INを処理(演算)し、入力データDATA_INよりランダム性の高い出力データDATA_OUTを出力する。入力データDATA_INよりランダム性の高い出力データDATA_OUTを出力する被テスト回路100として、図2では、暗号コア回路を想定する。被テスト回路(暗号コア回路)100には、入力データDATA_INと、暗号鍵データKEY_DATAが入力する。被テスト回路(暗号コア回路)100は、入力データDATA_INと、暗号鍵データKEY_DATAを攪拌し、ランダム性の高い出力データDATA_OUTを出力する。暗号コア回路が入力データDATA_INよりランダム性の高い出力データDATA_OUTを出力する理由については後述する。
自己テスト回路200は、前述したように、記憶部210と、フィードバック部220と、制御部230と、比較部240を有する。さらに、自己テスト回路200は、マルチプレクサ250、260を備え、さらに、カウンター部270を備えてもよい。
記憶部210は、被テスト回路100のBISTを実施時に、被テスト回路に入力させる初期の入力データ(「初期テストパターン」と称する)DATA_INITIALを格納する。また、記憶部210は、比較部240で参照される期待値EXPECTATIONを格納する。また、記憶部210は、被テスト回路100(暗号コア回路)に入力する暗号鍵データKEY_DATAを格納する。初期テストパターンDATA_INITIALは、例えば、128ビットのオール“0”又はオール“1”の単純なデータでよい。また、初期テストパターンDATA_INITIALを、暗号鍵データKEY_DATAとして、共用することも可能である。このため、記憶部210としてコンパイルドセルからなるROM(Read Only Memory)を用いる必要がなく、例えば、組み合わせ回路から構成されるROM等で構成することが可能である。これにより、記憶部210は、回路規模が小さく、かつ、実装コストが低い回路により実装できる。なお、本実施例では、初期テストパターンと、期待値とを、記憶部210が一括して格納しているが、記憶部を2つ設け、初期テストパターンと、期待値とを、別々に格納してもよい。
フィードバック部220は、被テスト回路100が出力する出力データDATA_OUTを被テスト回路100の入力データDATA_INとしてフィードバックする。本実施例では、一構成例として、被テスト回路100の出力データDATA_OUTは、フィードバック部220によりフィードバックされ、マルチプレクサ260に入力される。フィードバック部220によりフィードバックされた出力信号DATA_OUTは、マルチプクレサ260により選択され、入力データDATA_INとして被テスト回路100に入力する。また、フィードバック部220によりフィードバックされた被テスト回路100の出力データDATA_OUTを、被テスト回路100の暗号鍵データの入力に対しもフィードバックしてもよい。この場合、BIST実施時に、被テスト回路100の暗号鍵データの入力に初期に入力するデータは、記憶部210から入力され、以降は、フィードバック部220によりフィードバックされた被テスト回路100の出力データDATA_OUTを暗号鍵データの入力に入力する。
制御部230は、フィードバック部220が被テスト回路の出力データDATA_OUTを被テスト回路の入力データDATA_INとしてフィードバックする回数(フィードバック回数)を制御する。また、制御部230は、被テスト回路100、記憶部210、比較器240、マルチプクレサ250、260を制御する。
比較部240は、所定のフィードバック回数に達した後、被テスト回路100から出力される出力データDATA_OUTと、記憶部210に格納されている期待値EXPECTATIONとを比較する。比較部240は、制御部230から信号S1に基づいて、出力データDATA_OUTと期待値EXPECTATIONを比較する。ここで、期待値EXPECTATIONとは、故障を含まない被テスト回路に対してBISTを行った場合に、被テスト回路100から出力されるデータである。
マルチプレクサ250には、被テスト回路が通常動作時に処理(演算)する通常データDATA_NORMALと、記憶部210に保持されている初期テストパターンDATA_INITIALとが入力する。マルチプレクサ250は、制御部230からの信号S2に基づき、通常データDATA_NORMAL、初期テストパターンDATA_INITIALのいずれかを選択し、マルチプレクサ260に出力する。BIST実施時には、マルチプレクサ250は、初期テストパターンDATA_INITIALを選択し、マルチプレクサ260に出力する。
マルチプレクサ260には、マルチプレクサ250からの出力データDATA_INITIAL(BIST実施時)と、フィードバック部220によりフィードバックされた被テスト回路100の出力データDATA_OUTとが入力する。マルチプレクサ260は、制御部230からの信号S3に基づき、マルチプレクサ250からの出力データDATA_INITIAL、又はフィードバック部220によりフィードバックされた被テスト回路100の出力データDATA_OUTのいずれかを選択し、被テスト回路100の入力データDATA_INとして出力する。
カウンター部270は、フィードバック回数をカウントする。制御部230は、カウンター部270がカウントするフィードバック回数に基づいて、フィードバック回数を制御する。
次に、図3を参照して、被テスト回路が入力データよりランダム性の高い出力データを出力する理由について説明する。図3は、暗号コア回路が有する暗号化アルゴリズムの一態様であるFeistel構造について説明する図である。
Feistel構造を有するブロック暗号には、64ビットの平文データP(図2における入力データDATA_INに相当)が入力する。平文データPは、右側64ビットのブロックデータR1と、左側32ビットのブロックデータL1に分割される。右側64ビットのブロックデータR1は、F関数101に入力し、F関数101により変換される。F関数101には、外部から暗号鍵K1が入力する。暗号鍵K1は、鍵拡張により、拡張された鍵データ(図2における暗号鍵データKEY_DATAに相当)の一部である。F関数101によるブロックデータR1の変換は、拡張転置、鍵との排他的論理和演算、S−BOX(Substitution−box)、P−BOX(Premutation−box)転置、の各処理から構成される。F関数101により変換されたブロックデータR1は、ブロックデータF(R1,K1)として出力される。次に、ブロックデータF(R1,K1)は、右側32ビットのブロックデータR1との排他的論理和演算がなされ、ブロックデータL1A F(R1,K1)が出力される。以上のブロックデータR1、L1から、ブロックデータタL1A F(R1,K1)を算出する処理が1ラウンドの処理である。次に、1ラウンド目の処理から得られたブロックデータタL1A F(R1,K1)をブロックデータR2、R1をL2として同様の処理を繰り返す。このように、Feistel構造は、ラウンド関数となっており、DESでは、このようなラウンド関数を16ラウンド繰り返し、最後に逆転置をし、64ビットの暗号文Cが作成される。
このように、暗号コア回路である被テスト回路100は、Feistel構造のような暗号化アルゴリズムにより、単純な入力データ(平文)をラウンド関数により攪拌し、ランダム性の高い出力データ(暗号文)を出力する。このため、前述のように、被テスト回路100(暗号コア回路)の出力データDATA_OUTを、被テスト回路100の入力データDATA_INとしてフィードバックを繰り返すことにより、被テスト回路100への入力データをランダム性の高いデータとすることが可能となる。さらに、フィードバックを繰り返すことにより、被テスト回路100への入力データをさらにランダム性の高いデータとすることが可能となる。
また、上記説明では、被テスト回路100(暗号コア回路)が有する暗号化アルゴリズムの一態様としてFeistel構造を説明しているが、被テスト回路100が有する暗号化アルゴリズムはSPN構造をもつAESのようなその他のブロック暗号や、ハッシュ関数系暗号、公開鍵暗号等であってもよく、種々の暗号化アルゴリズムが想定できる。これは、暗号コア回路は、総じて、単純な入力データ(平文)に対して、ランダム性の高い出力データ(暗号文)を出力するためである。
さらに、被テスト回路100として暗号コア回路以外に、JPEG、MPEG、MP3等の画像/音声圧縮等、ZIP等のファイル圧縮系コア等のデータ圧縮系コアが想定できる。これは、画像/音声圧縮等、データ圧縮系コアは、データを伸長、圧縮するための種々のデータ変換のアルゴリズムを実装するため、単純な入力データに対して、ランダム性の高い出力データを出力するためである。
次に、図4を参照して記憶部210の構成の一例について説明する。図4は、記憶部の一態様を示す回路である。
記憶部210は、アドレス線40、バッファ41、42、インバータ43、出力線44を備える。アドレス線40には、バッファ41を介して、複数のインバータ43又はバッファ42と出力線44が接続される。
アドレス線40に入力するデータ“0”は、バッファ42又はインバータ43を通り、出力線44に出力される。出力線44から出力される値が、記憶部220が出力するデータ(即ち、初期入力データDATA_INITIAL)となる。図4においては、アドレス線40に印加される値“0”に対して、データ“111・・・・0”が出力される。アドレス線40に印加される値が“1”の場合には、反転したデータ“000・・・・1”が出力される。なお、出力するデータは、バッファ42、インバータ43の組み合わせにより変更可能である。例えば、インバータ43をすべてバッファに置き換えることにより、アドレス線40の印加される値“0”に対して、データ“000・・・・0”(オール“0”)が出力される。また、アドレス線40を“1”又は“0”にプルアップ、又はプルダウンする構成とすることにより、出力するデータを固定することも可能である。なお、アドレスが2ビット以上の場合においても、組み合わせ回路で構成されるROMは、その出力値に応じてこれらの組み合わせで表現される。
次に、図5を参照して、BISTを実施時の、被テスト回路100と、自己テスト回路200の動作について説明する。図5は、BIST実施時のタイミングチャートである。
まず、時刻T1において、制御部230に、外部からテスト開始信号パルスTEST_STARTが入力することにより、BISTが開始される。次に、制御部230が、記憶部210に対してアドレス選択信号ROM_ADDR“0”を出力する。これにより、記憶部210は、初期テストパターンDATA_INITIAL“all “0””を出力する。さらに、制御部230が、マルチプレクサ250に選択信号S2を出力することにより、マルチプレクサ250が初期テストパターンDATA_INITIALを選択し、マルチプレクサ260に出力する。さらに、制御部210が、マルチプレクサ260に選択信号S3を出力することにより、マルチプレクサ260が初期テストパターンDATA_INITIALを選択し、被テスト回路100に入力データDATA_INとして出力する。このとき、カウンター部270のカウント値が「0」から「1」に設定される。
次に、時刻T2に、被テスト回路100に対して、処理(演算)開始の信号パルスSTARTがアサートされる。これにより、被テスト回路100は、入力データDATA_INの処理(演算)を開始する。
次に、時刻T3(時刻T2から十数クロック後)に、被テスト回路100の演算終了の信号パルスFINがアサートされ、被テスト回路100が演算結果を出力データDATA_OUT “A”を出力する。このとき、カウンター部270が、信号パルスFINをカウントすることにより、カウント値を1増加させる(カウント値を「1」から「2」に設定する)。さらに、フィードバック部220が、被テスト回路100の出力する出力データDATA_OUTをフィードバックし、マルチプレクサ260に入力させる。マルチプレクサ260が演算結果DATA_OUTを選択することにより、被テスト回路100の入力データDATA_INとして出力する。
次に、時刻T4に、被テスト回路100に対して、処理(演算)開始の信号パルスSTARTがアサートされる。これにより、被テスト回路100は、被テスト回路100の演算結果である出力データDATA_OUTを入力データDATA_INとして、演算を開始する。これにより、2回目の演算を開始する。
以下、カウンター部270のカウント値COUNTERが、予め設定されたカウント値(例えば、1000)に達するまで、上記動作(処理(演算)とフィードバック)を繰り返す。
次に、時刻T5において、カウンター部270のカウント値COUNTERと、制御部230に予め設定されたカウント値とが一致したときの被テスト回路100の出力データDATA_OUT “B”と、記憶部210に格納された期待値EXPECTATIONとを、比較部240が比較する。比較部240の比較の結果、出力データDATA_OUTと、期待値EXPECTATIONとが一致している場合、比較部240が出力信号GO/NO_GOとして“01”を出力する。比較部240の比較の結果、演算結果DATA_OUTと、期待値EXPECTATIONとが一致しない場合、比較部240が出力信号GO/NO_GOとして“11”を出力する。
次に、図6を参照して、本実施例の集積回路において、BISTを実施した結果を示す。図6は、本実施例の集積回路のゲートネットに対してシミュレーションによりBISTを行った結果を示す表である。
被テスト回路としてSHA(Secure Hash Algorithm)を用いて構成した半導体集積回路を65nmのCMOSテクノロジーのゲートネットで論理合成したゲートネットに対してシミュレーションによりBISTを実施した。このゲートネットに対してランダムに選択した任意の行のプリミティブセル或は接続信号に、任意的に0又は1縮退故障を1箇所挿入し、シミュレーションによりBISTを実施した。ここで、入力の初期値512ビットがオール“0”とし、フィードバック回数を1000回とした。
図6に示すように、1000行目、2000行目、3000行目、4000行目、5000行目、それぞれに故障を挿入した回路について、1000回フィードバックを行った後に、被テスト回路から出力される演算結果は、故障を挿入しない回路(正常な回路)について、1000回フィードバックを行った後に、被テスト回路から出力される演算結果とは一致しなかった。このように、本実施例の半導体集積回路では、被テスト回路に任意に挿入された故障を検出できたことがわかる。なお、実施例では、フィードバック回数が1000回を例に示しているが、1000回以下でも故障検出が可能である。但し、故障の検出率は、被テスト回路に入力する入力データのランダム性に依存するため、フィードバック回数を増やした方が故障検出率を高められる。
以上のように、本実施例の半導体集積回路では、被テスト回路100と自己テスト回路200とが、処理(演算)とフィードバック動作を繰り返すことにより、被テスト回路100に入力する入力データをランダム性の高いデータとすることができる。このため、初期入力データDATA_INITIALがランダム性の低い単純なデータとすることができ、初期入力データDATA_INITIALを回路規模の小さい記憶部220に格納することが可能である。
次に、図7を参照して、本発明の実施例2に係る半導体集積回路が備える被テスト回路と自己テストテスト回路の構成を説明する。図7は、本発明の実施例2に係る半導体集積回路が備える被テスト回路と自己テスト回路の構成を示すブロック図である。図7において、図2に示す構成部と同一又は同等のものについては、同一符号を付して示している。
本実施例と実施例1との構成上異なる点は、被テスト回路100として、SHA−256暗号コアを用いる点、及び、図2におけるマルチプレクサ260を排他的論理演算回路280に置き換えている点である。また、被テスト回路100がSHA−256暗号コアであることに対応して、初期入力データDATA_INITIALは、512ビットのランダム性の低い単純なデータとする。
SHA−256暗号コアでは、512ビットの入力データDATA_INを暗号化・圧縮し、256ビットの出力データDATA_OUTとして出力する。
実施例2では、被テスト回路(SHA−256暗号コア)から出力された256ビットの出力データDATA_OUTと、マルチプレクサ250から出力された512ビットの初期入力データDATA_INITIALとを、排他的論理演算回路280において演算する。排他的論理演算回路280では、初期入力データDATA_INITIALの上位128ビットと出力データDATA_OUTの上位128ビットを、初期入力データDATA_INITIALの次の128ビットの上位64ビットと出力データDATA_OUTの次の64ビットを、初期入力データDATA_INITIALの次の128ビットの上位32ビットと出力データDATA_OUTの次の32ビットを、初期入力データDATA_INITIALの次の128ビットの上位32ビットと出力データDATA_OUTの次の32ビットを、それぞれ排他的論理演算を行う。排他的論理演算回路280は、排他的論理演算結果を被テスト回路100の入力データDATA_INとして出力する。
排他的論理演算回路280を用いることにより、被テスト回路100がSHA−256暗号コアのように出力するデータが圧縮されている場合に、被テスト回路100の入力データに対して出力データをフィードバックすることが可能となる。
なお、前述した各実施例は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良されうると共に、本発明にはその等価物も含まれる。
100 被テスト回路
200 自己テスト回路
210 記憶部
220 フィードバック部
230 制御部
240 比較部
250、260 マルチプレクサ
270 カウンター部
280 排他的論理演算回路
40 アドレス線
41、42 バッファ
43 インバータ
44 出力線

Claims (7)

  1. 入力データを処理し、入力データよりランダム性の高い出力データを出力する被テスト回路と、
    前記被テスト回路の自己テスト動作時に、前記被テスト回路に入力する初期の入力データを保持する記憶部と、前記被テスト回路が入力データを処理し、出力する出力データを前記被テスト回路の入力データとしてフィードバックするフィードバック部と、前記フィードバック部が前記被テスト回路の出力データを前記被テスト回路の入力データとしてフィードバックする回数を制御する制御部と、前記被テスト回路が出力する出力データと期待値とを比較する比較部と、を有する自己テスト回路と、
    を備えることを特徴とする半導体集積回路。
  2. 前記被テスト回路が、暗号コア回路であることを特徴とする請求項1記載の半導体集積回路。
  3. 前記記憶部が組み合わせ回路で構成されるROMであることを特徴とする請求項1又は2記載の半導体集積回路。
  4. 前記初期の入力データがnビット(n=256の倍数)のオール0、又はオール1のデータであることを特徴とする請求項1乃至3いずれか1項に記載の半導体集積回路。
  5. 前記自己テスト回路は、前記フィードバック部が前記被テスト回路の出力データを前記被テスト回路の入力データとしてフィードバックする回数をカウントするカウンター部をさらに備え、前記制御部は、前記カウンター部のカウント数に基づいて、前記フィードバック部が前記被テスト回路の出力データを前記被テスト回路の入力データとしてフィードバックする回数を制御することを特徴とする請求項1乃至4いずれか1項に記載の半導体集積回路。
  6. 前記フィードバック部が、前記被テスト回路が出力する出力データを、前記被テスト回路の暗号鍵データの入力に対してもフィードバックすることを特徴とする請求項2乃至5いずれか1項に記載の半導体集積回路。
  7. 前記被テスト回路が入力データを圧縮して出力する回路である場合において、
    前記フィードバッグ部がフィードバックする被テスト回路の出力データと、前記記憶部が出力する前記初期の入力データとの排他的論理演算を行い、排他的論理演算結果を前記被テスト回路の入力データとして出力する排他的論理演算回路をさらに備えることを特徴とする請求項1乃至5いずれか1項に記載の半導体集積回路。
JP2009228926A 2009-09-30 2009-09-30 半導体集積回路 Pending JP2011075460A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009228926A JP2011075460A (ja) 2009-09-30 2009-09-30 半導体集積回路
US12/895,322 US20110078522A1 (en) 2009-09-30 2010-09-30 Semiconductor integrated circuit device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009228926A JP2011075460A (ja) 2009-09-30 2009-09-30 半導体集積回路

Publications (1)

Publication Number Publication Date
JP2011075460A true JP2011075460A (ja) 2011-04-14

Family

ID=43781654

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009228926A Pending JP2011075460A (ja) 2009-09-30 2009-09-30 半導体集積回路

Country Status (2)

Country Link
US (1) US20110078522A1 (ja)
JP (1) JP2011075460A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091134A (ja) * 2014-10-31 2016-05-23 株式会社メガチップス 半導体装置、及び半導体装置の信頼性テスト方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9964593B1 (en) * 2017-02-02 2018-05-08 Cadence Design Systems, Inc. Boundary scan receiver

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817093A (en) * 1987-06-18 1989-03-28 International Business Machines Corporation Method of partitioning, testing and diagnosing a VLSI multichip package and associated structure
US5051996A (en) * 1989-03-27 1991-09-24 The United States Of America As Represented By The United States Department Of Energy Built-in-test by signature inspection (bitsi)
US5230000A (en) * 1991-04-25 1993-07-20 At&T Bell Laboratories Built-in self-test (bist) circuit
US5475624A (en) * 1992-04-30 1995-12-12 Schlumberger Technologies, Inc. Test generation by environment emulation
DE102004017284B4 (de) * 2004-04-07 2012-06-06 Qimonda Ag Integrierte Halbleiterschaltung und Verfahren zur Prüfung der integrierten Halbleiterschaltung
DE102004051344A1 (de) * 2004-10-21 2006-05-04 Infineon Technologies Ag Halbleiter-Bauelement-Test-Einrichtung mit Schieberegister, sowie Halbleiter-Bauelement-Test-Verfahren
US8484524B2 (en) * 2007-08-21 2013-07-09 Qualcomm Incorporated Integrated circuit with self-test feature for validating functionality of external interfaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016091134A (ja) * 2014-10-31 2016-05-23 株式会社メガチップス 半導体装置、及び半導体装置の信頼性テスト方法

Also Published As

Publication number Publication date
US20110078522A1 (en) 2011-03-31

Similar Documents

Publication Publication Date Title
US6954770B1 (en) Random number generator
US8410857B2 (en) Apparatus and method for generating a random bit sequence
US7376687B2 (en) Pseudo-random number generator
JP5339237B2 (ja) 格納されている入力値および格納されているカウント値を利用する暗号化鍵生成
JP6714735B2 (ja) ランダムコード発生装置
JP2006514263A (ja) 安全なスキャン
Vaghani et al. On securing scan design through test vector encryption
KR101332232B1 (ko) 유한체 연산을 이용한 암호화된 무작위 숫자 생성기
US20090204656A1 (en) Pseudo random number generator and method for generating a pseudo random number bit sequence
US9983262B1 (en) Built-in self test controller for a random number generator core
JP2010252305A (ja) 半導体集積回路及びその制御方法
JP2007213718A (ja) 半導体集積回路及び半導体集積回路の検査方法
KR100720525B1 (ko) Aes코어를 포함하는 집적회로 및 aes코어 검증용래퍼
EP4252106B1 (en) Random number generation
JP2012181138A (ja) 半導体集積回路、設計装置および設計方法
US20090327381A1 (en) True random number generator
US7346816B2 (en) Method and system for testing memory using hash algorithm
JP2011075460A (ja) 半導体集積回路
JP5911816B2 (ja) 半導体集積回路装置
US20100281316A1 (en) Semiconductor integrated circuit, information processing apparatus, output data diffusion method, and program
Cortez et al. Testing PUF-based secure key storage circuits
JP4869879B2 (ja) 半導体集積回路
Yu et al. On designing PUF-based TRNGs with known answer tests
JP4724774B2 (ja) 半導体回路装置、メモリテスト回路及び半導体回路装置の試験方法
JP2006318091A (ja) 乱数生成装置

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20111125

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111205