JP2004327036A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2004327036A5 JP2004327036A5 JP2004230465A JP2004230465A JP2004327036A5 JP 2004327036 A5 JP2004327036 A5 JP 2004327036A5 JP 2004230465 A JP2004230465 A JP 2004230465A JP 2004230465 A JP2004230465 A JP 2004230465A JP 2004327036 A5 JP2004327036 A5 JP 2004327036A5
- Authority
- JP
- Japan
- Prior art keywords
- rom
- data
- confidential information
- information data
- check
- 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
Links
- 239000004065 semiconductor Substances 0.000 claims description 19
- 230000000875 corresponding Effects 0.000 claims description 16
- 238000000034 method Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 230000000295 complement Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000001360 synchronised Effects 0.000 description 1
Description
本発明は、ROMを内蔵した半導体集積回路について、このROMをテストするための技術に属する。
図4はROMを内蔵した半導体集積回路のテスト回路の従来の構成を示す図である。図4の構成では、テスト回路として、ROM51の入力側と出力側にセレクタ61,62,63が設けられている。各セレクタ61,62,63は入力Sが“H”のとき、端子Aの入力を選択出力する。
ROM51のテストを行うときは、テスト信号TESTとして“H”を与える。これによって、外部端子IN1,IN2への入力データがROM51のアドレス入力ADDおよびリード入力READに供給される。そして、ROM51の出力DOが外部端子OUTから出力される。このように、従来は、ROM51の入出力を外部から直接的に制御可能にすることによって、ROM51のテストを実行していた。
ところが、従来のように、ROMの入出力を外部から直接的に制御可能にすると、マイクロコード、秘密鍵やパスワードなどのような機密情報データをROMに実装した場合に、その実装した機密情報データが外部から容易に解読されてしまう、という問題が生じる。
また、従来のBIST(Built In Self Test)方式を利用した場合は、データの機密性は上述の例よりも高まるものの、機密情報データの内容を変更した場合に、半導体集積回路内に実装するBIST回路自体の構成も変更する必要がある。このため、開発工数やマスク設計費などが大幅に増大してしまう。
前記の問題に鑑み、本発明は、ROMを内蔵した半導体集積回路として、ROMに実装したデータの機密性を保ちつつ、ROMのテストを実行可能にすることを課題とする。
前記の課題を解決するために、請求項1の発明が講じた解決手段は、複数の機密情報データを格納し、外部から読み出しできないように構成されたROMと、このROMのテストを行うためのテスト回路とを内蔵した半導体集積回路として、前記ROMは、前記機密情報データに所定の演算を施して得られ、各々が前記複数の機密情報データに対応して設けられた複数のチェック用冗長データを記憶しており、前記テスト回路は、前記ROMから読み出された複数の機密情報データの各々に対し、前記所定の演算に相当する演算を実行するチェック演算回路を有し、このチェック演算回路の演算結果と、前記ROMに記憶された複数のチェック用冗長データとの比較を行い、前記機密情報データ毎に、対応する前記チェック用冗長データとの比較結果を出力するものである。
請求項1の発明によると、ROMから読み出された機密情報データに対し、テスト回路が有するチェック演算回路によって、チェック用冗長データ生成のための所定の演算に相当する演算が実行される。そして、ROMに記憶されたチェック用冗長データと、チェック演算回路の演算結果とが比較される。これにより、機密情報データが半導体集積回路外部に読み出されることなく、データチェックが実現され、機密情報データの機密性を損なうことなく、ROMのテストを実行することができる。
また、請求項2の発明が講じた解決手段は、複数の機密情報データを格納し、外部から読み出しできないように構成されたROMを内蔵した半導体集積回路を検査する方法として、前記ROMに格納された前記機密情報データに所定の演算を施して得られ、各々が前記複数の機密情報データに対応して設けられた複数のチェック用冗長データを予め前記ROMに記憶させておく前処理と、前記ROMから前記複数の機密情報データを読み出し、読み出した前記複数の機密情報データに対し前記所定の演算に相当する演算を実行する処理と、前記ROMから前記複数のチェック用冗長データを読み出し、前記演算を実行する処理の結果と対応する前記チェック用冗長データとを比較し、前記機密情報データ毎に比較結果を出力する処理とを備えたものである。
以上のように本発明によると、機密情報データを格納するROMを内蔵した半導体集積回路において、ROMのテストを、そのROM内部の機密情報データの機密性を損なうことなく、実現することができる。
以下、本発明の一実施形態について、図面を参照して説明する。
図1は本発明の一実施形態に係る半導体集積回路の構成を示すブロック図である。図1に示す半導体集積回路は、マイクロコード、秘密鍵やパスワードなどの機密情報データの機密性を損なうことなく、ROM10のテストが実現可能に構成されている。
図1において、(n+1)個の機密情報データすなわち機密情報データ(0)〜(n)が、ROM10の下位アドレスに実装されている。そして、各機密情報データ(0)〜(n)について、CRC(Cyclic Redundancy Check:巡回冗長検査)による冗長コードすなわちチェック用冗長データとしての機密CRCデータ(0)〜(n)が生成されており、これらは、冗長データ記憶手段としてのROM10の上位アドレスに実装されている。
ROM10のアドレス空間において、機密情報データ(0)〜(n)は、最下位アドレスから順に格納されており、機密CRCデータ(0)〜(n)は、最上位アドレスから順に格納されている。例えば、ROM10の最下位アドレスに格納された機密情報データ(0)に対する機密CRCデータ(0)は、ROM10の最上位アドレスに格納されている。このようなアドレス配置は、ROM10のコンプリメンタリチェックに適している。
また、図1において、セレクタ21,22、アドレスデコーダ(ADEC)23、フリップフロップ(FF)24、チェック演算回路(CRC)25および比較回路(COMP)26によって、テスト回路が構成されている。また、論理回路ブロック(LOGIC)30は通常モードで用いられる回路ブロックである。
各セレクタ21,22は、入力Sが“H”(ハイレベル)になると、入力端子Aの入力を選択出力する。アドレスデコーダ23はテスト時に入力されるアドレス信号をデコードし、チェック演算回路25や比較回路26を制御する。チェック演算回路25はROM10から読み出された機密情報データに対し、機密CRCデータ生成の際の所定の演算に相当する演算を実行する。比較回路26は、チェック演算回路25の出力と、ROM10から読み出された機密CRCデータとを比較する。なお、CLKは、各回路ブロックの同期用クロック信号である。
通常動作時は、テスト信号TESTは“L”(ロウレベル)になり、セレクタ21,22は入力端子Bの入力を選択する。すなわち、外部端子INA,INBからの入力データがROM10に与えられる。これらの入力データは、半導体集積回路内の別のブロックから供給される。また、ROM10の出力DOは、論理回路ブロック30に供給される。
一方、テスト時は、テスト信号TESTは“H”になり、セレクタ21,22は入力端子Aの入力を選択する。すなわち、外部端子IN1,IN2からの入力データが、ROM10のアドレス入力ADDおよびリード入力READに供給される。
また、外部端子IN1からの入力データは、アドレスデコーダ23にも入力される。アドレスレコーダ23は、外部端子IN1からの入力データが、機密情報データが格納されているアドレス(address(0)〜(n) )を示すときは、出力AOUT1をイネーブル(“H”)にする。出力AOUT1が“H”になると、ROM10の出力DOの先にあるチェック演算回路25が1クロック遅れて動作を開始する。また、外部端子IN1からの入力データが、機密CRCデータが格納されているアドレス(address(n+1)〜(2n+1))を示すときは、アドレスデコーダ23は、出力AOUT2をイネーブル(“H”)にする。出力AOUT2が“H”になると、比較回路26は、チェック演算回路25の演算結果(IN1)と、ROM10から読み出された機密CRCデータ(IN2)との比較を実行する。そして、比較結果が一致したとき、出力信号RESULTをアサート(“H”)する。
図2は図1に示す半導体集積回路のテスト時の動作を示すタイミングチャートである。
まず、ROM10のテストを行うモードにするために、テスト信号TESTを“H”にする。次に、外部端子IN1から、ROM10において機密情報データ(0)が格納されたアドレスaddress(0)を示す信号を入力するとともに、外部端子IN2から、ROM10のリード入力READがイネーブルになるように“H”を入力する。すると、次のクロック信号CLKの立ち上がりで、ROM10の出力DOとして機密情報データ(0)が読み出される。
また、アドレスデコーダ23は、アドレスaddress(0)を示す信号が入力されたので、出力AOUT1として“H”を出力する。この信号“H”は、フリップフロップ24で1クロックラッチされた後、チェック演算回路25にイネーブル入力enとして供給される。これにより、チェック演算回路25は、ROM10から出力された機密情報データ(0)に対するCRC演算を開始する。
チェック演算回路25がCRC演算を完了する1サイクル前に、外部端子IN1への入力データを、address(0)〜(n)以外の値に変更するとともに、外部端子IN2への入力データをネゲート(“L”)にする。すると、アドレスデコーダ23の出力AOUT1もネゲートされ、さらに1サイクル遅れてチェック演算回路25のイネーブル入力enもネゲートされる。これにより、チェック演算回路25の演算結果が出力OUTに保持される。
次に、外部端子IN1から、機密情報データ(0)に対応する機密CRCデータ(0)が格納されたアドレスaddress(2n+1) を示す信号を入力するとともに、外部端子IN2から、ROM10のリード信号READがイネーブルになるように“H”を入力する。
アドレスデコーダ23は、アドレスaddress(2n+1) を示す信号が入力されたので、出力AOUT1として“L”を入力するとともに、出力AOUT2として“H”を出力する。比較回路26は、チェック演算回路25の出力OUTと、ROM10の出力DOすなわち機密CRCデータ(0)との比較を実行する。そして、この比較の結果、両者が一致しているときは、信号RESULTをアサートし(“H”)、不一致のときは“L”にする。
また、出力AOUT2が“H”の間、1サイクル期間は信号COMPenがアサートされ、RESULT信号の出力とともにネゲートされる。また、信号COMPenの立ち下がりによって、チェック演算回路25は初期化される。
以上のような動作によって、機密情報データ(0)のテストが完了する。
同様の動作を、アドレスaddress(1),address(2n)、アドレスaddress(2),address(2n-1)、…、アドレスaddress(n),address(n+1) を指定しながら実行し、信号RESULTを外部からモニターする。この結果から、ROM10に、製造上の問題などに起因して異常が生じているか否かを判定することができる。
なお、図1の構成では、機密CRCデータを、機密情報データとは別のアドレスに格納するものとしたが、機密情報データと同一アドレスに格納してもかまわない。例えば図3に示すように、機密情報データの上位側のビット位置に、対応する機密CRCデータをマッピングするようにしてもよい。
また、ここでは、機密CRCデータを、機密情報データが実装されたROM自体に実装するものとしたが、機密情報データが実装されたROMとは別の,半導体集積回路に内蔵されたROMなどの記憶手段に、機密CRCデータを実装してもかまわない。
また、本発明によると、機密情報データの内容を変更する場合には、その変更に応じて、機密CRCデータを変更するだけでよい。したがって、テスト回路の構成の変更は不要であり、このため、開発工数やマスク設計費などを大幅に削減することができる。
また、CRCによる冗長コード以外のデータを、機密情報データのチェックに利用してもかまわない。ただし、この場合は、そのチェック用データを生成するための所定の演算に相当する演算を実行するチェック演算回路を、テスト回路内に設ける必要がある。
なお、本実施形態では、同期ROMを例にとって説明を行ったが、非同期ROMであっても、同様の実施が容易に実現可能である。
10,10A ROM
25 チェック演算回路
25 チェック演算回路
Claims (2)
- 複数の機密情報データを格納し、外部から読み出しできないように構成されたROMと、このROMのテストを行うためのテスト回路とを内蔵した半導体集積回路であって、
前記ROMは、前記機密情報データに所定の演算を施して得られ、各々が前記複数の機密情報データに対応して設けられた複数のチェック用冗長データを、記憶しており、
前記テスト回路は、
前記ROMから読み出された複数の機密情報データの各々に対し、前記所定の演算に相当する演算を実行するチェック演算回路を有し、このチェック演算回路の演算結果と、前記ROMに記憶された複数のチェック用冗長データとの比較を行い、前記機密情報データ毎に、対応する前記チェック用冗長データとの比較結果を出力する
ことを特徴とする半導体集積回路。 - 複数の機密情報データを格納し、外部から読み出しできないように構成されたROMを内蔵した半導体集積回路を検査する方法であって、
前記ROMに格納された前記機密情報データに所定の演算を施して得られ、各々が前記複数の機密情報データに対応して設けられた複数のチェック用冗長データを、予め、前記ROMに、記憶させておく前処理と、
前記ROMから前記複数の機密情報データを読み出し、読み出した前記複数の機密情報データに対し、前記所定の演算に相当する演算を実行する処理と、
前記ROMから前記複数のチェック用冗長データを読み出し、前記演算を実行する処理の結果と、対応する前記チェック用冗長データとを比較し、前記機密情報データ毎に比較結果を出力する処理とを備えた
ことを特徴とする半導体集積回路の検査方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004230465A JP2004327036A (ja) | 2004-08-06 | 2004-08-06 | 半導体集積回路および半導体集積回路の検査方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004230465A JP2004327036A (ja) | 2004-08-06 | 2004-08-06 | 半導体集積回路および半導体集積回路の検査方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000161343A Division JP3606788B2 (ja) | 2000-05-31 | 2000-05-31 | 半導体集積回路および半導体集積回路の検査方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004327036A JP2004327036A (ja) | 2004-11-18 |
JP2004327036A5 true JP2004327036A5 (ja) | 2007-06-07 |
Family
ID=33509455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004230465A Pending JP2004327036A (ja) | 2004-08-06 | 2004-08-06 | 半導体集積回路および半導体集積回路の検査方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004327036A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008123623A (ja) * | 2006-11-14 | 2008-05-29 | Yokogawa Electric Corp | メモリ試験装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01189735A (ja) * | 1988-01-25 | 1989-07-28 | Mitsubishi Electric Corp | マイクロプログラムの診断方式 |
JPH0276400U (ja) * | 1988-11-30 | 1990-06-12 | ||
US5127014A (en) * | 1990-02-13 | 1992-06-30 | Hewlett-Packard Company | Dram on-chip error correction/detection |
JPH04318628A (ja) * | 1991-04-17 | 1992-11-10 | Advantest Corp | 中央演算処理装置 |
JPH0540836A (ja) * | 1991-08-02 | 1993-02-19 | Nec Corp | シングルチツプマイクロコンピユータ |
JPH0636600A (ja) * | 1992-07-16 | 1994-02-10 | Fujitsu Ltd | 半導体記憶装置 |
JPH07182251A (ja) * | 1993-12-24 | 1995-07-21 | Nec Corp | マイクロプロセッサ |
JP3638770B2 (ja) * | 1997-12-05 | 2005-04-13 | 東京エレクトロンデバイス株式会社 | テスト機能を備える記憶装置 |
JPH11197339A (ja) * | 1998-01-14 | 1999-07-27 | Skg:Kk | 遊技機制御装置 |
JP2000112824A (ja) * | 1998-10-05 | 2000-04-21 | Toshiba Corp | メモリシステム |
JP2001079248A (ja) * | 1999-09-16 | 2001-03-27 | Okumura Yu-Ki Co Ltd | パチンコ機 |
WO2003032159A2 (en) * | 2001-10-11 | 2003-04-17 | Altera Corporation | Error detection on programmable logic resources |
-
2004
- 2004-08-06 JP JP2004230465A patent/JP2004327036A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6640030B2 (ja) | メモリマクロおよび半導体集積回路装置 | |
JP3708726B2 (ja) | 欠陥救済回路 | |
US7809997B2 (en) | Semiconductor device, unique ID of semiconductor device and method for verifying unique ID | |
TW200823909A (en) | Semiconductor memory device and redundancy method of the same | |
US7913316B2 (en) | Semiconductor integrated circuit and method for testing semiconductor integrated circuit | |
JP2010123159A (ja) | 半導体集積回路 | |
JP2010244596A (ja) | 集積回路 | |
JP2008108390A (ja) | 半導体記憶装置及びそのテスト方法 | |
US7315479B2 (en) | Redundant memory incorporating serially-connected relief information storage | |
JP3606788B2 (ja) | 半導体集積回路および半導体集積回路の検査方法 | |
JP2007272982A (ja) | 半導体記憶装置およびその検査方法 | |
JP2004327036A5 (ja) | ||
US7626876B2 (en) | Semiconductor memory device and its test method | |
JP2004327036A (ja) | 半導体集積回路および半導体集積回路の検査方法 | |
JP2004030829A (ja) | 半導体記憶装置 | |
US9076538B2 (en) | Fuse information storage circuit of semiconductor apparatus | |
JP4222843B2 (ja) | テスト機能付き集積回路 | |
JP2007265518A (ja) | デコーダのテスト回路 | |
JP5031393B2 (ja) | 半導体記憶装置 | |
JP4891055B2 (ja) | テスト回路 | |
JP5245653B2 (ja) | 半導体集積回路装置 | |
JP2511028B2 (ja) | メモリテスト方法 | |
JP2007234155A (ja) | 半導体記憶装置 | |
JP2006079678A (ja) | メモリテスト回路およびメモリテスト方法 | |
JP2516965B2 (ja) | メモリテスト方法 |