図1に本発明の第1実形態である、SRAM型光ディテクタ100を示す。図1に示した通りSRAM型光ディテクタ100は、6トランジスタ型SRAMメモリセルと同様の構成となっている。即ち、pチャンネル型MOSトランジスタ113,114とnチャンネル型MOSトランジスタ111,112から成るスタティックラッチ120を主体に、その一方の入出力ノードがnチャンネル型トランスファMOSトランジスタMOS115を介して電源電位VDDに、他方の入出力ノードがnチャンネル型トランスファMOSトランジスタMOS116を介して回路の接地電位VSSに接続され、双方のトランスファMOSトランジスタ115,116はリセット信号101によりスイッチ制御されるように構成される。
一般的なICカードは、CPU(中央演算処理装置:Central Processing Unit),SRAM(Static Random Access Memory),ROM(Read Only Memory),EEPROM(Electorical Erasable Programable ROM)等を1チップに集積したSOC(System On Chip)によって構成される。よって、ICカード用の製造プロセスでSRAMを構成することができ、SRAM領域にSRAM型光ディテクタ100を配置することで、光ディテクタの存在が目立たなくなる。言うまでもなく、光ディテクタ100の待機時電力はほぼゼロである。
前記SRAM型光ディテクタ100の動作について説明する。まずICカードに電源が投入された時点で、101はリセット信号に繋がっていて、パワーオンリセットの働きで、リセット信号101がハイレベル(Hi)になり、トランスファMOSトランジスタ115,116がオンになる。トランスファMOSトランジスタ115のソースは電源電位VDDに接続、トランスファMOSトランジスタ116のソースは接地電位VSSに接続されているため、センサ出力102の電位はローレベル(Lo)に、ノード103の電位はHiにリセットされる。この時、MOSトランジスタ111,114はオン、MOSトランジスタ112,113はオフ状態となる。オフ状態のMOSトランジスタ112,113に光が入射する事で、MOSトランジスタ112,113がオンとなる。入射する光子の数が十分多くMOSトランジスタ112,113の抵抗がMOSトランジスタ111,114の抵抗を下回れば、前記スタティックラッチ120が反転し、ノード103がLoに、センサ出力102の電位はHiに遷移する。この動作により光の照射を検出することができる。
図1の例では6トランジスタ型SRAMメモリセルを基にした光ディテクタを示したが、SRAMメモリセルには他にも抵抗負荷を用いた4トランジスタ型を始めとしてさまざまな形式が提案されている。言うまでもないことであるが、SRAMメモリセルの形式に拘わらず、オフになっているMOSトランジスタに光が入射してスタティックラッチ120が反転するという条件を満足する如何なる構成によっても、光ディテクタを構成することが可能である。
MOSトランジスタ112,113に入射したのと同じだけの光子数が、MOSトランジスタ111,114にも入射した場合、MOSトランジスタ111,114にも電流が流れスタティックラッチ120は反転しにくくなる。これを防ぐにはいくつかの方法が考えられる。一つには、MOSトランジスタ111,114の上層を金属で覆ってしまうという方法である。図2にSRAM型光ディテクタ100のレイアウト概略図を示す。一般的に6トランジスタ型SRAMメモリセルはレイアウト面積を削減するために、図2のような配置にする。この時、ハッチングで示した部分の上層を金属で覆うことにより、MOSトランジスタ112,113以外に光子が入射する事はない。
直接遮光するほかに、MOSトランジスタの光に対する感度を変化させることもできる。図3にオフ状態のnチャンネル型MOSトランジスタ300を示す。301はp型ウェル拡散領域,302はドレイン拡散領域、303はソース拡散領域、304はウェル給電拡散領域、311はドレイン端子、312はゲート端子、313はソース端子、314は基板端子、320は入射する光子である。各端子はゲート端子312、ソース端子313、基板端子314が接地電位VSSであり、ドレイン端子が電源電位VDDとなり、本MOSトランジスタ300はオフとなっている。
半導体に十分なエネルギーを持った光子が入射すると、正孔・自由電子対が発生する。逆バイアス状態のpn接合に正孔・自由電子対が発生した場合には、発生したキャリアにより、逆バイアスにも電流が流れる。図3において、p型ウェル拡散領域301とドレイン拡散領域302のpn接合が逆バイアスになっている。よって、オフ状態のnチャンネル型MOSトランジスタ300に光子320が入射する事による漏れ電流は、主にドレイン311から基板314へ流れる。図3はnチャンネル型MOSトランジスタであるがpチャンネル型MOSトランジスタの場合も同様である。
そこで、前記MOSトランジスタ112、113のドレイン拡散面積を広くレイアウトする。ドレイン拡散面積を広くすることによりpn接合部の空乏層領域が拡大し、光子が一様に入射するとすれば、ドレイン面積が大きければそれだけ漏れ電流が大きくなる。よって、MOSトランジスタ111,114と比較してMOSトランジスタ112,113のドレイン面積を大きくレイアウトすれば、同様な光がMOSトランジスタ111〜114へ入射したとしても、よりスタティックラッチ120が反転しやすくなる。
もちろん言うまでもないことであるが、金属による遮光とドレイン面積の増大を併用することは可能である。
図4に前記SRAM型光ディテクタ100の配置の例を示す。ICカード上のSRAMブロック400は、図4のように、メモリセルアレイ401、冗長セルアレイ402、冗長プログラム回路403、ロウデコーダ404、カラムデコーダ405、カラムスイッチアレイ406、ECC(error correcting cord)回路407、センスアンプ408、ライトアンプ409及びタイミングジェネレータ410を有して成る。メモリセルアレイ401はマトリクス配置されたスタティックメモリセルを有し、スタティックメモリセルの選択端子は行毎にワード線WLに接続され、スタティックメモリセルのデータ入出力端子は列毎にビット線BLに接続される。ロウデコーダ404はロウアドレス信号RADRをデコードしてワード線選択信号を形成する。相補ビット線BLはカラムスイッチアレイ406のスイッチを介してコモンデータ線CDに接続可能される。カラムアドレスデコーダはカラムアドレス信号CADRをデコードしてコモンデータ線CDに導通させるべき相補ビット線BLをカラムスイッチアレイ406のスイッチを用いて選択する。
センスアンプ408はメモリセルからコモンデータ線CDに読み出された記憶情報をセンスしてECC回路407に供給する。ライトアンプ409はメモリセルへの書き込み情報に従ってコモンデータ線CDをドライブする。
前記ECC回路407は外部からの書き込みデータにECCコードを付加して、これを書き込み情報として書き込みアンプ409に供給し、また、センスアンプ408からコモンデータ線CDに読み出された読み出し情報を入力してこれに付随するECCコードを用いて読み出しデータに誤りが有るかを判別し、誤りが有ればこれを訂正して出力する。
前記冗長セルアレイ402はメモリセルアレイ401の不良ビットを救済するための冗長メモリセルを有し、不良ビットをワード線単位又は相補ビット線単位で置き換え可能にされる。ワード線単位又は相補ビット線単位の置き換えるべき不良アドレスは冗長プログラム回路403に設定され、設定された不良アドレスにアクセスアドレスが一致したとき、ワード線又はビット線の置き換えが行なわれる。尚、冗長構成それ自体については既に公知であるからここではその詳細について説明を省略する。
図4のメモリセルアレイ401において、桝目は一つ一つがSRAMのスタティックメモリセル(単にSRAMセルとも記す)を示している。このうち斜線で示したSRAMセルを、SRAM型光ディテクタ100で置き換える。図4のようにSRAM型光ディテクタ100をランダムに配置することで、リバースエンジニアリングをより困難にすることができる。
メモリセルアレイ401において前記夫々のSRAM型光ディテクタ100はメモリセルのワード線及びビット線とは接続されず、ビット線とは異なる信号配線を用いて前記光検出信号102をSRAMモジュールの外部に出力するようになっている。複数のSRAM型光ディテクタ100の夫々の前記光検出信号102はワイアード・オア接続或はオアゲートを介して外部に出力されればよい。
SRAMセルをSRAM型光ディテクタ100に置き換えることで、そのSRAMセルはメモリセルとしては使用できなくなり、これによってSRAMとしての機能に問題が生じてはならない。そこで、前記冗長用の冗長セルアレイ402と冗長プログラム回路403を利用する。即ち、SRAM型光ディテクタ100を、冗長セルアレイ402のメモリセルで代替することで、SRAMとしての機能を損なわずに、SRAM型光ディテクタ100を配置することができる。或は、冗長用の構成を利用しなくても、前記ECC回路407を利用することにより、読み出し時にSRAM型光ディテクタ100に置き換えられたビットラインは不定になるが、センスアンプ408からはHiレベルかLoレベルが出力されることにより、メモリセルの欠落によって生ずる誤りを訂正して対処することができる。冗長を用いて光ディテクタ素子を代替しなくても済む。また、SRAM型光ディテクタ100に対する置き換えがメモリセルの欠陥救済に影響を与えることがない。ECCによる誤り訂正を可能にするには、SRAM型光ディテクタ100はECC回路による誤り訂正能力以下になるように分散配置されることが必要である。
図5に第2例である、ダイオード追加SRAM型光ディテクタ500を示す。ダイオード追加SRAM型光ディテクタ500は、SRAM型光ディテクタ100のMOSトランジスタ112,113に並列にダイオード511,512を追加したものである。遮光を行う場合は、ダイオード511,512にも光が当たるようにする。なお、特に制約を受けるものではないが、ダイオード511はn型ウェル領域のp型拡散層で構成され、ダイオード512はp型ウェル領域のn型拡散層で構成されるものとする。
基本的な動作は、SRAM型光ディテクタ100と同様であるため省略する。追加したダイオードは、MOSトランジスタ112,113のドレイン・基板のpn接合に並列したpn接合である。そのため、MOSトランジスタ112,113のドレイン面積を増加したものと同様の効果を持つ。ダイオードとして独立させることで、レイアウトの自由度が増し、ドレイン面積増大では対応できないほど大きなpn接合を持たせることも可能である。また、SRAMスタティックラッチ120とダイオードが近接して配置している必要は必ずしも無いため、ダイオード511,512を分離してレイアウトすることで、さらにレイアウトの自由度を増やすとができる。
図6に第3例である、電流リミッタ追加SRAM型光ディテクタ600を示す。電流リミッタ追加SRAM型光ディテクタ600は、ダイオード追加SRAM型光ディテクタ500におけるSRAMラッチの電源電位VDD及びグラウンドVSSに、電流リミッタMOSトランジスタ611,612を追加したものである。
電流リミッタ追加SRAM型光ディテクタ600の動作について説明する。まず、SRAM型光ディテクタ100と同様、パワーオンリセットの働きで、リセット信号101がHiになり、トランスファMOSトランジスタ115,116がオンになる。トランスファMOSトランジスタ115のソースは電源電位VDDに接続、トランスファMOSトランジスタ116のソースは接地電位VSSに接続されているため、センサ出力102の電位はLoに、ノード103の電位はHiにリセットされる。この時、MOSトランジスタ111,114はオン、MOSトランジスタ112,113はオフ状態となる。オフ状態のMOSトランジスタ112,113に光が入射する事で、MOSトランジスタ112,113がオンとなる。この時、MOSトランジスタ111,114はオン状態のため、スタティックラッチ120を構成するMOSトランジスタ111〜114の全てに電流が流れ、スタティックラッチ120に直流電流が発生する。直流電流が流れることで、電流リミッタMOSトランジスタ611のドレイン電位が上がり、電流リミッタMOSトランジスタ612のドレイン電位が下がる。この効果によりスタティックラッチ120の電源電圧が低下し、ラッチが反転しやすくなる。すなわち光子数に対する光ディテクタの感度が増加するということである。SRAM型光ディテクタ100及び、ダイオード追加SRAM型光ディテクタ500の光感度は、基本的にpn接合面積で調整するが、本電流リミッタ追加SRAM型光ディテクタ600の感度は、電流リミッタMOSトランジスタ611,612の電流駆動力で調整することができ、設計が容易になる。
以上、SRAMセルを基にした光ディテクタの構成について説明してきた。SRAMは、ICカードの中でもワークエリアとして使用され、リバースエンジニアリングの標的とされることが多い。よってSRAMアレイに光ディテクタを埋め込み、リバースエンジニアリングを困難にすることは重要である。他にも、CPU部のフリップフロップ等に誤動作を誘発し、リバースエンジニアリングを行うという手法も考えられる。それを防ぐためには、標準ロジックセルの規格に従った(セル高さ,幅等)光ディテクタがあれば都合が良い。もちろんSRAM型光ディテクタを、標準ロジックセルの規格に従いレイアウトすれば問題ないが、より標準ロジックセルに適合した回路形式があればなお良い。以下、標準ロジックセルの規格に合わせてレイアウトすることを前提とした光ディテクタの構成について説明する。
図7に第4例である、インバータ型光ディテクタ700を示す。701は負論理イネーブル信号、702はディテクタ出力信号、703はセンサ信号、711は感度調整MOSトランジスタ、712は光検出MOSトランジスタ、713は出力インバータ、VDDは電源電位、VSSはグラウンド電位である。
インバータ型光ディテクタ700は負論理イネーブル信号701がLoに落ち、感度調整MOSトランジスタ711がオンになることで起動する。光子が入射していない場合、光検出MOSトランジスタ712のゲート・ソースが短絡されているため、光検出MOSトランジスタ712はオフである。よって光子が入射していない場合、センサ信号703は電源電位、ディテクタ出力702はグラウンド電位VSSである。光検出MOSトランジスタ712に光子が入射すると電流が流れ、電流駆動力の比によりセンサ信号703が低下する。光子数が一定以上となり、センサ信号703の電位が出力インバータ713の論理スレッショルド(論理閾値電圧)を下回ると、ディテクタ出力702がHiとなり、光が検出される。
図8に第5例である、バイアストインバータ型光ディテクタ800を示す。801は負論理イネーブル信号、802は正論理イネーブル信号、803はバイアスノード、804はセンサ信号、805はディテクタ出力信号である。811,815,819はpチャンネル型電流制限MOSトランジスタである。814,818,822はnチャンネル型電流制限MOSトランジスタである。813,821はnチャンネル型感度制御MOSトランジスタ、817はnチャンネル型光検出MOSトランジスタである。これらの素子のうち、光を当てるのは光検出MOSトランジスタ817のみで、他の素子は金属膜で覆いをする。ここでMOSトランジスタのW,Lの値は、811=815=819、812=816=820、813=821、814=818=822と設計される。
負論理イネーブル信号801がHi、正論理イネーブル信号802がLoの時、バイアストインバータ型光ディテクタ800はオフである。MOSトランジスタ811,814,815,818によって電流が流れなくなり、センサ信号804はMOSトランジスタ823によりプルアップされ、ディテクタ出力信号805はグラウンド電位VSSで固定される。
負論理イネーブル信号801がLo,正論理イネーブル信号802がHiに切り替わると、バイアストインバータ型光ディテクタ800が起動し、MOSトランジスタ811〜814によって構成されるクロックドインバータ型のバイアス回路のネガティブフィードバックによりバイアスノード803の電位が決定する。この時、MOSトランジスタのW,Lの値は、811=819、812=820、813=821、814=822と設計されているため、バイアスノード803の電位はMOSトランジスタ819〜822によって構成されるインバータの論理スレッショルドに等しい。ここでもしMOSトランジスタ813=817と設計されていれば、センサ信号804の電位もバイアスノード803の電位と等しくなるはずである。実際のW/Lの値はMOSトランジスタ813>817と設計しておく。短チャネル効果の影響をなくすため、Lを等しくWの値を813>817と設計することが望ましい。このように設計を行うことで、MOSトランジスタ813と817の電流駆動力の違いからセンサ信号804の電位は、バイアスノード803の電位より高くなり、ディテクタ出力信号805はグラウンド電位付近で安定する。
光検出MOSトランジスタ817に光子が入射すると、光検出MOSトランジスタ817のドレイン・基板間に漏れ電流が発生する。すると電流が増加するため、センサ信号804の電位が低下する。光子数が増加しセンサ信号804の電位が、MOSトランジスタ819〜822によって構成されるインバータの論理スレッショルドを下回った時、ディテクタ出力信号805はHiに遷移する。
本バイアストインバータ型光ディテクタ800の特徴は、nチャンネル型MOSトランジスタ813(=821)と817のW/Lの差により光検出の感度を容易に調整できることである。本バイアストインバータ型光ディテクタ800が動作している間は、常に電流が流れつづけるが、pチャンネル型電流制限MOSトランジスタ811,815,819、及びnチャンネル型電流制限MOSトランジスタ814,818,822のW/Lの値を小さく設定することで、ICカード全体の消費電力と比較して問題にならない程度に低消費電力化することが可能である。
図9に第6例である、カレントミラー型光ディテクタ900を示す。901は負論理イネーブル信号、902は正論理イネーブル信号、903はバイアスノード、904はセンサ信号、905はディテクタ出力信号、911はpチャンネル型電流源MOSトランジスタ、913はnチャンネル型バイアスMOSトランジスタである。915,917はカレントミラーを構成するMOSトランジスタ、916はnチャンネル型感度調整MOSトランジスタ、919はnチャンネル型光検出MOSトランジスタ、920〜923は電流制限インバータ、912はnチャンネル型プルダウンMOSトランジスタである。914,918はpチャンネル型プルアップMOSトランジスタである。これらの素子のうち、光を当てるのは光検出MOSトランジスタ919のみで、他の素子は金属膜で覆いをする。
負論理イネーブル信号901がHi、正論理イネーブル信号902がLoの時、カレントミラー型光ディテクタ900はオフである。プルダウンMOSトランジスタ912により、MOSトランジスタ913,916,919に電流が流れなくなり、センサ信号904はプルアップMOSトランジスタ918によりプルアップされ、ディテクタ出力信号905はグラウンド電位VSSで固定される。
負論理イネーブル信号901がLo,正論理イネーブル信号902がHiに切り替わると、カレントミラー型光ディテクタ900が起動する。電流源MOSトランジスタ911に流れる電流が、バイアスMOSトランジスタ913に流れ、バイアスノード903の電位が決定する。ここで感度調整MOSトランジスタ916と光検出MOSトランジスタ919のW,Lが同一であれば、2つのMOSトランジスタには同一の電流が流れる。実際は感度調整MOSトランジスタのWを大きくし、感度調整MOSトランジスタ916のほうに大きな電流が流れるように設計される。2つのMOSトランジスタの電流差は、MOSトランジスタ915,917で構成されるカレントミラー能動負荷で増幅される。MOSトランジスタ915,917のチャネル長変調係数が十分小さいとすれば、センサ出力904は電源電位VDD付近で、ディテクタ出力信号905はグラウンド電位VSS付近で安定する。
光検出MOSトランジスタ919に光子が入射すると、光検出MOSトランジスタ919のドレイン・基板間に漏れ電流が発生する。すると電流が増加する。光検出MOSトランジスタ919に流れる電流が、感度調整MOSトランジスタ916に流れる電流を上回ると、カレントミラー能動負荷の働きで、センサ信号904の電位がグラウンド電位VSS付近まで下がる。その結果ディテクタ出力信号905はHiレベルに遷移し、光の照射が検出される。
本カレントミラー型光ディテクタ900もまた、感度調整MOSトランジスタ916と光検出MOSトランジスタ919とのW/Lの差により光感度を容易に調整可能である。この回路も動作中は常に電流が流れるが、MOSトランジスタ911と913で構成されるバイアス回路と、出力インバータに電流を制限するMOSトランジスタ920,923のW,L値を適宜調整することで、ICカード全体の消費電力に対して問題にならない程度に低消費電力化することができる。
図10に第7例である、ディファレンシャルAMP型光ディテクタ1000を示す。1001は負論理イネーブル信号、1002は正論理イネーブル信号、1003はバイアスノード、1004はセンサ信号、1005はディテクタ出力信号、1011はpチャンネル型電流源MOSトランジスタ、1013はnチャンネル型バイアスMOSトランジスタ、1024はnチャンネル型電流源MOSトランジスタである。1015,1017はカレントミラー負荷を構成するMOSトランジスタ、1016はnチャンネル型感度調整MOSトランジスタ、1019はnチャンネル型光検出MOSトランジスタ、1020〜1023は電流制限インバータ、1012はnチャンネル型プルダウンMOSトランジスタである。1014,1018はpチャンネル型プルアップMOSトランジスタである。これらの素子のうち、光を当てるのは光検出MOSトランジスタ1019のみで、他の素子は金属膜で覆いをする。
負論理イネーブル信号1001がHi,正論理イネーブル信号1002がLoの時、ディファレンシャルAMP型光ディテクタ1000はオフである。プルダウンMOSトランジスタ1012により、電流源MOSトランジスタ1024に電流が流れなくなり、センサ信号1004はプルアップMOSトランジスタ1018によりプルアップされ、ディテクタ出力信号1005はグラウンド電位VSSで固定される。
負論理イネーブル信号1001がLo,正論理イネーブル信号1002がHiに切り替わると、ディファレンシャルAMP型光ディテクタ1000が起動する。電流源MOSトランジスタ1011に流れる電流が、バイアスMOSトランジスタ1013に流れ、カレントミラーにより電流源MOSトランジスタ1024の電流が決定する。ここで感度調整MOSトランジスタ1016と光検出MOSトランジスタ1019のW,Lが同一であれば、2つのMOSトランジスタには同一の電流が流れる。実際は感度調整MOSトランジスタのWを大きくし、感度調整MOSトランジスタ1016の方に大きな電流が流れるように設計される。2つのMOSトランジスタの電流差は、MOSトランジスタ1015,1017で構成されるカレントミラー能動負荷で増幅される。MOSトランジスタ1015,1017のチャネル長変調係数が十分小さいとすれば、センサ出力1004は電源電位VDD付近で、ディテクタ出力信号1005はグラウンド電位VSS付近で安定する。
光検出MOSトランジスタ1019に光子が入射すると、光検出MOSトランジスタ1019のドレイン・基板間に漏れ電流が発生する。すると電流が増加する。光検出MOSトランジスタ1019に流れる電流が、感度調整MOSトランジスタ1016に流れる電流を上回ると、カレントミラー能動負荷の働きで、センサ信号1004の電位がグラウンド付近まで下がる。その結果ディテクタ出力信号1005はHiレベルに遷移し、光の照射が検出される。
本ディファレンシャルAMP型光ディテクタ1000の特徴も、カレントミラーAMP型光ディテクタ900等と同様、感度調整MOSトランジスタ1016と光検出MOSトランジスタ1019とのWの差により光感度を容易に調整可能な事である。さらに、カレントミラーAMP型光ディテクタ900等と比較して、光検出MOSトランジスタ1019のドレイン電位が高くなることが利点としてあげられる。各光ディテクタは、光検出MOSトランジスタのドレイン・基板間のpn逆バイアスに発生する漏れ電流を検出することで、光の入射を検出している。ドレイン電位が低い場合、空乏層中の電界が弱く、光子の入射によって発生した正孔・自由電子対が空乏層を抜ける前に再結合する確率が上がってしまう。ディファレンシャルAMP型光ディテクタ1000は、光検出MOSトランジスタ1019のドレイン電位を上げることで、ドレイン・基板間の電界を強化し、より光感度を上昇させている。ディファレンシャルAMP型光ディテクタ1000もまた、動作中に電流が常に流れるが、MOSトランジスタ1011と1013で構成されるバイアス回路と、出力インバータに電流を制限するMOSトランジスタ1020,1023のW,L値を適宜調整することで、ICカード全体の消費電力に対して問題にならない程度に低消費電力化することができる。
図11には図8のバイアストインバータ型光ディテクタ800の変形例が示される。図11に示されるバイアストインバータ型光ディテクタ800Aは、感度制御用素子の電流駆動能力を調整可能にしたものである。即ち、感度制御MOSトランジスタ813aと電流制限MOSトランジスタ814aの直列回路、感度制御MOSトランジスタ813bと電流制限MOSトランジスタ814bの直列回路、及び感度制御MOSトランジスタ813cと電流制限MOSトランジスタ814cの直列回路を並列に配置した点が図8の構成と相違される。MOSトランジスタのW,Lの値は、814a=814b=814c=814である。MOSトランジスタ813a,813b,813cのLはMOSトランジスタ817と同じで、MOSトランジスタ813a,813b,813cのW813a,W813b,W813cは、MOSトランジスタ817のW817に対して、例えば、W813a=3・W817/4、W813b=1・W817/8、W813c=1・W817/16とされる。制御信号802をHiにしてバイアストインバータ型光ディテクタ800を動作可能にするとき、選択信号804a,804b,804cの何れかをHiにするかによって感度制御用素子による電流駆動能力が相違され、バイアスノード803に対するセンサ信号804の初期電位の差を所望に設定することが可能になる。選択信号804a,804b,804cは図示を省略するレジスタ値によって決定してよい。これにより、検出感度の修正もしくは最適化が容易になる。
図12にICカード用の半導体集積回路としてICカード用マイクロコンピュータ(単にICカードマイコンとも記す)が例示される。ここでは、これまで述べてきた種々の光ディテクタを、どのようにICカードマイコンに適用するかについて示す。1100はICカードのICM(Integrated Circuit Module)例えばICカードマイコンである。1101は電源端子、1102はグラウンド端子、1103はクロック入力端子、1104と1105はI/O端子、1111は電源ブロック、1112はPLL(Phase−Locked Loop)ブロック、1113はCPUを含む論理回路ブロック、1114はインタフェースブロック、1115はSRAM、1116はROM、1117はEEPROM、1121は内部データバスである。
ROM1116はCPUを含む論理回路ブロック1113中のCPUの制御プログラムを保有し、EEPROM1117は制御データ等を書換え可能に保有する。SRAM1115はCPUを含む論理回路ブロック1113中のCPUのワーク領域などに利用される。PLL1112はクロック入力端子1103から供給される外部クロックに基づいて内部クロックを生成する。
一般にICカードの各外部端子には、高速性が要求されないため、ICカードマイコンは伝統的な5V電源のインタフェースを採用している。そのため、ICカードマイコン1100には電源は5Vが供給される。しかし、ディープサブミクロンプロセスより微細化が進んだICでは5Vの電源は高すぎるので、各回路に適切な電源電圧を供給するため降圧電源が必要となる。またEEPROM1117では、メモリの消去/書き込みのため5Vより高い電圧、グラウンドより低い電圧を必要とするため、それぞれチャージポンプ等を用いた昇圧電源/負電圧電源回路が必要となる。これらの電源回路をまとめたブロックが、電源ブロック1111である。電源ブロック1111は主にアナログ回路で構成される。このため、前記バイアストインバータ型光ディテクタ800、カレントミラー型光ディテクタ900、ディファレンシャルAMP型光ディテクタ1000等の回路が目立つこと無く組み込むことができる。目立つこと無くとは、アナログ回路故に、定電流を流す回路構成の光ディテクタが挿入されていても周りの回路構成に対して容易に識別し難い、という意味である。
ICカードマイコン1100にはCPUを含む論理回路ブロック1113が内蔵されているため、PLLブロック1112が必要となる。PLLブロック1112はアナログ回路で構成されるため、前記バイアストインバータ型光ディテクタ800、カレントミラー型光ディテクタ900、ディファレンシャルAMP型光ディテクタ1000等が目立つこと無く組み込むことができる。
CPUを含む論理回路ブロック1113やインタフェースブロック1114は、主としてディジタル回路で構成されるため、インバータ型光ディテクタ700を採用するのが適切である。適切であるとは、ディジタル回路故に、プッシュ・プル構成の光ディテクタが挿入されていても周りの回路構成に対して容易に識別し難い、という意味である。
SRAM1115、ROM1116、EEPROM1117は、メモリ素子であるためSRAM型光ディテクタ100、ダイオード追加SRAM型光ディテクタ500、電流リミッタ追加SRAM型光ディテクタ600等を採用するのが適切である。ここで適切とは、光ディテクタがメモリセル様の回路構成を備えるので周りのメモリセルに対して容易に識別し難い、という意味である。ROM1116やEEPROM1117はメモリセル構成がSRAMとは異なるためメモリアレイ中に混在させることは適切ではないが、メモリセルへ書き込むべきデータ若しくはメモリセルから読み出したデータを一時的に格納するバッファをSRAMメモリセル構成とし、その中にSRAM型光ディテクタを混在させればよい。
各種光ディテクタによる光検出信号は、例えば論理和が採られ、論理信号はICカードマイコンのリセット信号(マスタリセット信号)の一つとされる。これにより、光を当ててリバースエンジニアリングのためのデータ収集を試みようとしても、その都度、ICカードマイコンにマスタリセットがかかって初期状態に戻され、リセットの解除は行われない。この結果、光照射によって不正なデータ収集を行おうとしても、ICカードの動作が停止し、統計的に暗号鍵等の解析を行うことを阻むことができる。
このように、回路ブロックの特性に合わせて、適宜様々な種類の光ディテクタを組み込むことで、リバースエンジニアリングをより効果的に防ぐことが出来る。
上記光ディテクタの組み込み法は様々な方法が考えられる。第1に、素子の配置によって出来た隙間に組み込む方法、第2に、格子状のパターンで組み込む方法などが良いと考えられる。
図13には機能ブロックの素子配置の隙間に光ディテクタを組み込んだ様子が例示される。例えば一つの機能ブロック1604は、D型ラッチ回路のような第1基本セル1601、ナンドゲート(NAND)等の第2基本セル1602、インバータ等の第3基本セル1603が所要の機能を満足するように配置され、それによって生じた隙間に光ディテクタ1301が配置される。一般的にディジタル回路は基本セル1601,1602,1603等を並べることで、機能ブロック1604を構成する。基本セル1601〜1603は配置を行い易いように、セル高さは統一されるが、セルによって幅は異なる。そのため機能ブロックを構成する時に、どうしても隙間が出来てしまう。一般的に、この隙間は何も配置しないか又はいわゆる隙間セルを配置するが、ここに光ディテクタ1301を組み込むことで、面積の増大なしに多数の機能ブロックに光ディテクタ1301を組み込むことができる。
図14には格子状のパターンで光ディテクタを組み込んだ様子が例示される。特にリバースエンジニアリングを防ぎたい機能ブロック1704には、予め光ディテクタ1301を配置しておく。その配置はここでは格子状である。この手法では、光ディテクタ1301の隙間に基本セル1601〜1603を配置するため、セルの隙間1701が多数発生するが、光ディテクタ1301の密度を調整できるので、リバースエンジニアリングの防止という点で優れる。
図15にはD型フリップフロップに光検出回路を組み込んだ基本セルが例示される。リバースエンジニアリング防止を重要視するならば、論理回路の基本素子(フリップフロップ,NAND,NOR,インバータ等)に、あらかじめ光ディテクタを組み込んでおき、それらを使用することで光ディテクタを高密度に配置することが容易になる。
図15に例示される基本セル1501はD型フリップフロップの基本素子に対応され、D型フリップフロップ1502、光検出回路1301、及びワイヤード・オア結合素子1302から成る。この場合採用する光ディテクタは、動作時の消費電力がほぼゼロで、面積を小さく抑えることが出来る、インバータ型光ディテクタ700が最適であるので、光検出回路1301にインバータ型光ディテクタ700を採用する。ワイヤード・オア結合素子1302のドレインはその他の基本セルに設けられるワイヤード・オア結合素子のドレインに結合されればよい。
図16には光ディテクタによる光検出の他に、電圧検出、周波数検出、配線切断検出機能を付加したICカードマイコンが例示される。図12に対して、電圧検出回路1201、周波数検出回路1202、配線切断検出回路1203、アクティブシールド配線(ラーメンパターン)1204が付加された点が相違される。
電圧検出回路1201は電源ブロック1111で生成される内部動作電源の規定以下の降圧を検出する。プローブを介して内部電源ノードに異常な降圧電圧を印加して異常な動作をさせることによってリエンジニアリングの解析が行われること予想して、これを検出するために前記電圧検出回路1201を利用する。
周波数検出回路1202はPLL1112で生成される内部クロックの周波数が規定の周波数以上にされたことを検出する。プローブを介して内部クロック供給ノードに異常な高周波を印加して異常な動作をさせることによってリエンジニアリングの解析が行われること予想して、これを検出するために前記周波数検出回路1202を利用する。
配線切断検出回路1203はICカードマイコンの表面に配置されたアクティブシールド配線(ラーメンパターン)1204が切断されたことを検出する。アクティブシールド配線1204は図17に例示されるようにICカードマイコンの表面全体に緻密なパターンを描くように敷設される。ICカードマイコンの内部ノードにプローブを接触させるためにICカードマイコンの表面保護膜などを除去しようとすると一緒にアクティブシールド配線(ラーメンパターン)1204も切断され、これを検出しようとする。
図18には光ディテクタによる光検出、電圧検出、周波数検出、及び配線切断検出により統合的にリセット信号を生成する回路構成が例示される。1301は種々の形態の光検出回路を総称する光検出回路、1302は光検出回路1301の検出信号を選択端子に受けるMOSトランジスタのようなワイヤード・オア素子、1308は電圧検出回路1201からの検出信号を選択端子に受けるMOSトランジスタのようなワイヤード・オア素子、1309は周波数検出回路1202からの検出信号を選択端子に受けるMOSトランジスタのようなワイヤード・オア素子である。1303はリセット回路、1304はリセット信号、1305はプルダウン抵抗、1306はプルアップ抵抗、1204はアクティブシールド配線である。前記ワイヤード・オア素子1301,1308,1309、プルアップ抵抗1306、プルダウン抵抗1305、及びアクティブシールド配線1204は配線1307に共通接続される。
前記プルアップ抵抗1306の方が、プルダウン抵抗1305より抵抗値が小さいため、配線1307の電位は、電源電圧付VDD近となる光検出回路1301のどれかが光の入射を検出するとワイヤード・オア素子1302がオン状態にされ、電圧検出回路1201が内部電圧の異常を検出するとワイヤード・オア素子1308がオン状態にされ、周波数検出回路1202が周波数の異常を検出するとワイヤード・オア素子1309がオン状態にされる。何れかのワイヤード・オア素子がオン状態にされると、配線1307の電位はグラウンドVSS付近まで降下する。これをリセット回路1303が検出し、リセット信号1304をアサートしてICカードマイコンを初期化する。配線1307を切断しても、或はアクティブシールド配線1204を切断しても、プルダウン抵抗1305の効果で、配線1307の電位はグラウンドVSS付近まで降下し、同様にICカードマイコンは初期化される。リセット指示の解除は行われず、ICカードの動作は停止する。
また、図2に示す光ディテクタ素子を構成するMOSの上層で、遮光をするための金属箔を形成する場合、アクティブシールド配線やその他の配線により形成するようにしてもよい。この場合MOSの大きさに対して配線の幅は狭いのが通常であるため、遮光するMOSの上層の配線を密にし、遮光しないMOSの上層の配線を疎にすることにより、光の強度に差がつくようにしてもよい。
図19には接触インタフェース形式のICカード1130の外観が例示される。合成樹脂から成るカード基板1131には、特に制限されないが、外部インタフェース部として、電極パターンによって形成された外部端子1132が表面に露出され、前記図12及び図16に例示されるICカードマイコン1100が埋め込まれている。前記電極パターンにはICカードマイコン1100の対応する外部端子が結合される。
図20には非接触インタフェース形式のICカード1134の外観が例示される。合成樹脂から成るカード基板1135には、特に制限されないが、外部インタフェース部としてアンテナ1136が埋め込まれ、前記図12及び図16に例示されるICカードマイコン1100が埋め込まれる。この例では、ICカードマイコン1100はインタフェースブロック1114に高周波部を有し、この高周波部に前記アンテナ1136が結合される。
前記ICカード1130,1134を例えば電子マネーシステムで利用するとき、前記EEPROM1117には暗号鍵や金額情報などが暗号化されて格納され、電子マネーを利用するとき暗号鍵や金額情報が復号され、復号された情報を用いて正当な利用か否かが判定され、必要な金額が銀行に送金され、或いは別のICカードに所要の金額が転送される。
また、前記ICカード1130、1134が携帯電話機に装着されて使用されるとき、前記EEPROM1117には使用者の電話番号、ID番号、課金情報等が暗号化されて格納され、電話を利用するときそれら情報が復号され、復号された情報を用いて正当な利用か否かが判定され、使用度数に応じて課金情報が更新され、再度暗号化される。
上記ICカード1130、1134によれば、前記ICカードマイコン1100光検出による強制リセット作用により、暗号鍵などのデータハッキングが防御され、利用者の損害発生を抑制することができる。
図21には図7のインバータ型光ディテクタ700の変形例に係る光ディテクタ700Aが示される。図7の回路では受光素子として光検出MOSトランジスタ712におけるドレインのPN接合を利用している。光ディテクタ700Aでは、それをダイオード1812のPN接合に置き換えている。逆バイアスされたダイオード1812に光が照射された場合にも、ドレインと同様漏れ電流が発生する。
負論理イネーブル信号701がHiに立ち下がると、出力の電位703が電源電位VDDまで上昇する。その時ディテクタ出力信号702の電位はグラウンド電位VSSとなる。ダイオード1812に光が照射されると漏れ電流が発生し、光の強度が十分大きく漏れ電流の大きさが感度調整MOSトランジスタ711の電流駆動力より大きくなった時、センサ出力信号703は下降し、出力インバータ713の論理スレッショルドを下回り、ディテクタ出力702がHiに立ち上がる。
図22には図7のインバータ型光ディテクタ700の別の変形例に係る光ディテクタ700Bが示される。感度調整用MOSトランジスタ1911をPチャンネル型で構成し、光検出用MOSトランジスタをNチャンネル型で構成した点が相違される。
正論理イネーブル信号1901がHiに立ち上がると、電位1903がグラウンド電位VSSまで下降する。その時ディテクタ出力信号1902の電位はグラウンド電位VSSとなる。オフ状態のMOSトランジスタ1911のドレインに光が照射されると漏れ電流が発生し、光の強度が十分大きく漏れ電流の大きさがMOSトランジスタ1912の電流駆動力より大きくなった時、電位1903は上昇し、バッファ1913の論理スレッショルドを上回り、ディテクタ出力信号1902がHiに立ち上がる。
図23には図22の変形例に係る光ディテクタ700Cが示される。図22で受光素子に使用されているMOSトランジスタ1911をダイオード2011に置き換えている。ダイオード2011による基本的な動作形態は図21で説明したのと同様であるからその詳細な動作説明については省略する。
図24には図8のバイアストインバータ型光ディテクタ800の変形例に係る光ディテクタ800Bが示される。図8の回路では受光素子として光検出MOSトランジスタ817におけるドレインのPN接合を利用している。図24ではMOSトランジスタ817の代わりに、ダイオード2110を受光素子として利用する。ダイオード2110は出力804と回路の接地電位VSSとの間に逆バイアス状態で接続される。
MOSトランジスタ813とMOSトランジスタ817の電流駆動力が、MOSトランジスタ813>MOSトランジスタ817、と設定されているので、センサ信号804の電位は、MOSトランジスタ819〜822で構成されるインバータの論理スレッショルドより高い。ここで、ダイオード2110に光が照射されると漏れ電流が発生し、光の強度が十分大きく漏れ電流が十分大きい場合、センサ信号804の電位が、MOSトランジスタ819〜822で構成されるインバータの論理スレッショルドより低くなる。これによりディテクタ出力805がグラウンド電位付近から電源電位VDD付近まで立ち上がり、光の照射を検出できる。
図25には図24の変形例に係る光ディテクタ800Cが示される。図22で追加したダイオード2110をMOSトランジスタ817のソースと回路の接地電位VSSとの間に配置した点で相違する。基本的な動作形態は図24で説明したのと同様であるからその詳細な動作説明は省略する。
図26には図8のバイアストインバータ型光ディテクタ800の変形例に係る光ディテクタ800Dが示される。ここでは、pチャンネル型MOSトランジスタ2216とnチャンネル型MOSトランジスタ2217によって構成されるインバータの当該MOSトランジスタ2216を光検出用MOSトランジスタとし、プルアップ用のMOSトランジスタ823に代えてセンサ出力804をプルダウンするMOSトランジスタ2223を採用する。
図8では、MOSトランジスタの電流駆動力は、MOSトランジスタ812=MOSトランジスタ816、MOSトランジスタ813>MOSトランジスタ817に設定されていたが、図26の回路では、MOSトランジスタ812>MOSトランジスタ2216、MOSトランジスタ813=MOSトランジスタ2217と設定される。よって、センサ信号804の電位は、MOSトランジスタ819〜822で構成されるインバータの論理スレッショルドより低い。ここで受光素子として使用されるMOSトランジスタ2216に光が照射されると漏れ電流が発生し、光の強度が十分大きく漏れ電流が十分大きい場合、センサ信号804の電位が、MOSトランジスタ819〜822で構成されるインバータの論理スレッショルドより高くなる。これによりディテクタ出力信号2201がグラウンド電位VSS付近から電源電位VDD付近まで立ち上がり、これによって光の照射が検出される。
図27には図26の変形例に係る光ディテクタ800Eが示される。ここでは、受光素子に使用されていたMOSトランジスタ2216の代わりに、受光素子としてダイオード2310を加えた。動作については省略する。図示はしないが、ダイオード2310の接続は、図25と同様に、MOSトランジスタ2216のソースと電源電圧VDDの間に逆バイアスで接続する形態に変更可能である。
図28には図9のカレントミラー型光ディテクタ900の変形例に係る光ディテクタ900Aが示される。図9の回路で受光素子として使用されているMOSトランジスタ919の代わりに、ダイオード2410を受光素子として追加した点が相違される。ダイオード2410は逆バイアス状態(逆方向接続状態)でMOSトランジスタ916に並列接続される。
MOSトランジスタ916とMOSとトランジスタ919の電流駆動力は、MOSトランジスタ916>MOSトランジスタ919と設定されているので、センサ信号904の電位は、MOSトランジスタ920〜923で構成されるインバータの論理スレッショルドより高い。ここで、ダイオード2410に光が照射されると漏れ電流が発生し、光の強度が十分大きく漏れ電流が十分大きい場合、センサ信号904の電位が、MOSトランジスタ920〜923で構成されるインバータの論理スレッショルドより低くなる。これによりディテクタ出力905がグラウンド電位VSS付近から電源電位VDD付近まで立ち上がり、光の照射が検出される。
図29には図9のカレントミラー型光ディテクタ900の変形例に係る光ディテクタ900Bが示される。図9に対してMOSトランジスタの導電型(p型、n型)を入れ替えて構成した点が相違される。図9の回路ではMOSトランジスタ916、919の電流駆動力には、MOSトランジスタ916>MOSトランジスタ919の関係が設定されていたが、図29の回路でも同様に、MOSトランジスタ2516>MOSトランジスタ2519の関係が設定される。よって、センサ信号2504の電位は、MOSトランジスタ2520〜2523で構成されるインバータの論理スレッショルドより低い。ここで受光素子として使用されるMOSトランジスタ519に光が照射されると漏れ電流が発生し、光の強度が十分大きく漏れ電流が十分大きい場合、センサ信号2504の電位が、MOSトランジスタ2520〜2523で構成されるインバータの論理スレッショルドより高くなる。これによりディテクタ出力2506がグラウンド電位VSS付近から電源電位VDD付近まで立ち上がり、光の照射が検出される。
図30には図29のカレントミラー型光ディテクタ900Bの変形例に係る光ディテクタ900Cが示される。図29の回路で受光素子に使用されているMOSトランジスタ2519の代わりに、受光素子としてダイオード2610を追加した点が相違される。ダイオード2610は逆バイアス状態(逆方向接続状態)でMOSトランジスタ2516に並列接続される。基本的な動作形態は図28で説明したのと同様であるからその詳細な動作説明は省略する。
図31には図10のディファレンシャルAMP型光ディテクタ1000の変形例に係る光ディテクタ1000Aが示される。同図に示される光ディテクタ1000Aには、図10において受光素子として使用しているMOSトランジスタ1019の代わりに、ダイオード2710を受光素子として追加した。MOSトランジスタ1016とMOSトランジスタ1019の電流駆動力は、MOSトランジスタ1016>MOSトランジスタ1019と設定されているので、センサ信号1004の電位は、MOSトランジスタ1020〜1023で構成されるインバータの論理スレッショルドより高い。ここで、ダイオード2710に光が照射されると漏れ電流が発生し、光の強度が十分大きく漏れ電流が十分大きい場合、センサ信号1004の電位が、MOSトランジスタ1020〜1023で構成されるインバータの論理スレッショルドより低くなる。これによりディテクタ出力1005がグラウンド電位VSS付近から電源電位VDD付近まで立ち上がり、光の照射が検出される。
図32には図10のディファレンシャルAMP型光ディテクタ1000Aの変形例に係る光ディテクタ1000Bが示される。図31に対してMOSトランジスタの導電型(p型、n型)を入れ替えて構成した点が相違される。図10の回路では電流供給能力がMOS1016トランジスタ>MOSトランジスタ1019と設定されていたが、図32の回路でも同様に、電流駆動能力はMOSトランジスタ2816>MOSトランジスタ2819と設定されている。よって、センサ信号2804の電位は、MOSトランジスタ2820〜2823で構成されるインバータの論理スレッショルドより低い。ここで受光素子として使用されるMOSトランジスタ2819に光が照射されると漏れ電流が発生し、光の強度が十分大きく漏れ電流が十分大きい場合、センサ信号2804の電位が、MOSトランジスタ2820〜2823で構成されるインバータの論理スレッショルドより高くなる。これによりディテクタ出力2806がグラウンド電位VSS付近から電源電位VDD付近まで立ち上がり、光の照射が検出される。
図33には図32のディテクタ1000Bの変形例に係る光ディテクタ1000Cが示される。図29の回路で受光素子に使用されているMOSトランジスタ2819の代わりに、受光素子としてダイオード2910を追加した点が相違される。ダイオード2910は逆バイアス状態(逆方向接続状態)でMOSトランジスタ2819に並列接続される。基本的な動作形態は図29で説明したのと同様であるからその詳細な動作説明は省略する。
図34には図29の光ディテクタの変形例に係る光ディテクタ900Dが示される。図29のように受光素子が独立している場合、ダイオードを他から離して配置することが可能である。その場合、図34に例示されるように、受光素子として複数個のダイオード2610_1〜2610_3を持つことが可能である。受光素子部分としてのダイオードのみが複数存在しても、その他の回路部分である光ディテクタ本体900corは単体で済むため、回路面積が小さく、消費電力が少なくて済む。受光素子としてのダイオード2610_1〜2610_3のうち1つでも光が照射されれば、これに反応して光検出される。
また、光ディテクタ本体900corが正しく動作するかをテストするために、テスト回路3010を図のように接続するとよい。テスト回路3010が電流を掃き出す事で、擬似的にセンサが反応した状態を作り出すことができ、光ディテクタ本体が動作するかどうかをテストすることができる。尚、図21、図23、図24、図27、図28、図31及ぶ図33の各回路も同様の構成で、複数個のダイオードと一つの光ディテクタ本体という構成を採用することが可能である。
図35には受光素子として使用するダイオードのデバイス断面構成が例示される。ダイオードという素子はp型半導体とn型半導体が接合すれば、どこにでも構成することができる。例えばp型基板3110と電源分離用n型拡散層3120のPN接合がダイオードとして使用できる。他にも(1)電源分離用n型拡散層3120とp型ウェル領域(p−WELL)3130、(2)p−WELL3130とN+拡散層3140、(3)n−WELL3150とP+拡散層3160、等がダイオードとして使用可能である。このようにダイオードとはpn接合のことであり、他の素子の一部であっても、それはダイオードという概念で把握することができる。さらに、キャパシタや抵抗のようにシリコン基板に形成されない素子の直下の拡散層を利用してダイオードを構成することにより、ダイオードの追加による面積増加を抑えることができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、スタティックラッチを主体とする光ディテクタはSRAM以外のメモリのメモリアレイに配置することも可能である。ICカードマイコンに設けられる回路モジュールは図12などで説明した内容に限定されず、タイマカウンタ等その他の回路モジュールを搭載してもよい。本発明はICカードマイコン以外のシステムオンチップに係る別の半導体集積回路にも広く適用することができる。尚、上記金属による遮光とドレイン面積の増大という技術的手段は本発明における光ディテクタ以外の一般的な光検出用の光ディテクタにも適用可能である。