(57)【要約】【課題】不揮発性メモリーを内蔵した半導体装置において、パッケージに配置された外部接続端子の数が半導体チップに配置された内部接続端子の数よりも少ないために不揮発性メモリー検査用の外部接続端子の数が制限される場合でも、半導体チップがパッケージに封止された後に、不揮発性メモリーに格納されているデータをチェックできるようにする。【解決手段】この半導体装置は、半導体チップがパッケージに封止された半導体装置であって、データを格納する不揮発性メモリーと、パッケージに配置された複数の外部接続端子に電気的に接続され、テストモードにおいて、不揮発性メモリーに格納されているデータをチェックするために外部との間でシリアル通信を行うシリアル通信部とを備える。【選択図】図１
2018096695.tif 000002
【特許請求の範囲】
【請求項１】
半導体チップがパッケージに封止された半導体装置であって、
データを格納する不揮発性メモリーと、
前記パッケージに配置された複数の外部接続端子に電気的に接続され、テストモードにおいて、前記不揮発性メモリーに格納されているデータをチェックするために外部との間でシリアル通信を行うシリアル通信部と、
を備える半導体装置。
【請求項２】
前記半導体チップに配置された複数の内部接続端子に電気的に接続され、前記不揮発性メモリーから読み出されるデータを前記複数の内部接続端子にパラレル出力し、又は、前記不揮発性メモリーから読み出されるデータを前記複数の内部接続端子にパラレル入力される期待値と比較して前記不揮発性メモリーに格納されているデータのチェック結果を表す合否信号を生成するテスト回路をさらに備える、請求項１記載の半導体装置。
【請求項３】
前記シリアル通信部によってシリアル入力されるコマンドに従って、前記不揮発性メモリーに格納されているデータをチェックすることにより、チェック結果を表す合否信号を生成する制御部をさらに備える、請求項１又は２記載の半導体装置。
【請求項４】
前記制御部が、前記不揮発性メモリーから読み出されるデータのチェックサム又はＣＲＣ値を計算し、前記チェックサム又はＣＲＣ値を、前記シリアル通信部によってシリアル入力されるチェックサム期待値又はＣＲＣ期待値と比較することにより、前記合否信号を生成する、請求項３記載の半導体装置。
【請求項５】
前記パッケージに配置された外部接続端子に電気的に接続され、前記合否信号を外部に出力することが可能なインターフェースをさらに備える、請求項３又は４記載の半導体装置。
【請求項６】
前記シリアル通信部によってシリアル入力されるコマンドに従って、前記不揮発性メモリーから読み出されるデータを、前記シリアル通信部を介して外部にシリアル出力する制御部をさらに備える、請求項１又は２記載の半導体装置。
【請求項７】
前記シリアル通信部を含むテスト回路を備え、
前記テスト回路が、前記シリアル通信部によってシリアル入力されるコマンドに従って、前記不揮発性メモリーから読み出されるデータのチェックサム又はＣＲＣ値を計算し、前記チェックサム又はＣＲＣ値を、前記シリアル通信部によってシリアル入力されるチェックサム期待値又はＣＲＣ期待値と比較することにより、前記不揮発性メモリーに格納されているデータのチェック結果を表す合否信号を生成する、請求項１記載の半導体装置。
【請求項８】
前記シリアル通信部を含むテスト回路を備え、
前記テスト回路が、前記シリアル通信部によってシリアル入力されるコマンドに従って、前記不揮発性メモリーから読み出されるデータを、前記シリアル通信部を介して外部にシリアル出力する、請求項１記載の半導体装置。
【請求項９】
不揮発性メモリー及びシリアル通信部を含む半導体チップがパッケージに封止された半導体装置を製造する方法であって、
前記不揮発性メモリーにデータを格納する工程（ａ）と、
前記半導体チップをパッケージに封止する工程（ｂ）と、
工程（ｂ）の後に、前記パッケージに配置された複数の外部接続端子に電気的に接続された前記シリアル通信部との間でシリアル通信を行うことにより、前記不揮発性メモリーに格納されているデータをチェックする工程（ｃ）と、
を備える半導体装置の製造方法。
【請求項１０】
工程（ａ）と工程（ｂ）との間で、前記半導体チップに配置された複数の内部接続端子に電気的に接続されたテスト回路を制御することにより、前記不揮発性メモリーに格納されているデータをチェックする工程をさらに備える、請求項９記載の半導体装置の製造方法。
【請求項１１】
工程（ｃ）が、前記シリアル通信部との間でシリアル通信を行うことにより、コマンド及びチェックサム期待値又はＣＲＣ期待値を前記半導体装置に入力することを含み、前記半導体装置が、前記コマンドに従って、前記不揮発性メモリーから読み出されるデータのチェックサム又はＣＲＣ値を計算し、前記チェックサム又はＣＲＣ値を前記チェックサム期待値又はＣＲＣ期待値と比較することにより、前記不揮発性メモリーに格納されているデータのチェック結果を表す合否信号を外部に出力する、請求項９又は１０記載の半導体装置の製造方法。
【請求項１２】
工程（ｃ）が、前記シリアル通信部との間でシリアル通信を行うことにより、コマンドを前記半導体装置に入力することを含み、前記半導体装置が、前記コマンドに従って、前記不揮発性メモリーから読み出されるデータを、前記シリアル通信部から外部にシリアル出力する、請求項９又は１０記載の半導体装置の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュＲＯＭ等の不揮発性メモリーを内蔵した半導体装置、及び、その製造方法等に関する。
【背景技術】
【０００２】
半導体装置の製造時において不揮発性メモリーにデータを書き込む製品については、ベアチップ状態及びパッケージ状態のいずれにおいても、不揮発性メモリーに書き込まれたデータが正しいか否かをチェックすることが望まれている。その理由は、パッケージング工程において半導体チップが加熱されるので、不揮発性メモリーに書き込まれたデータが熱によって消去されてしまう可能性があるからである。
【０００３】
関連する技術として、特許文献１には、不揮発性メモリーを内蔵したマイクロコンピューター（マイコン）において、不揮発性メモリーのメモリーセルのテスト時間を短縮することが開示されている。特許文献１の図１に示されているマイコンにおいて、ＣＰＵ部分７は、不揮発性メモリー８のテストを行うために、外部から直接ＰＲＯＭライターによって書き込み及びテストができるように構成されている。
【０００４】
即ち、マイコンをテスト状態にすると、複数の入出力端子Ｉ／Ｏが、不揮発性メモリー８の制御信号＊ＣＥ、＊ＯＥ、＊ＷＥ、アドレスＡＤ、及び、データＤＡＴＡに直接接続されるようになり、外部から不揮発性メモリー８を制御することが可能になる。また、不揮発性メモリー８の内部書き込み信号ＷＲＴ、リコール信号ＲＥＣＡＬＬ、消去モード信号ＥＲＡＳＥ、及び、書き込みモード信号ＰＲＯＧ等が、複数の入出力端子Ｉ／Ｏから出力される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２７２６４３号公報（要約書、段落００１３、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１によれば、テスト状態において、不揮発性メモリーの制御信号、アドレス、及び、データを、複数の入出力端子を介して入力又は出力することが可能になる。しかしながら、半導体チップがパッケージに封止されて構成される半導体装置においては、パッケージに配置された外部接続端子（ピン等）の数が半導体チップに配置された内部接続端子（パッド等）の数よりも少ないために、不揮発性メモリー検査用の外部接続端子の数が制限されることが多い。
【０００７】
そのような場合には、半導体チップがパッケージに封止された後に、不揮発性メモリーに格納されているデータをチェックするために必要な全ての信号を入力又は出力することができない。従って、出荷検査において、不揮発性メモリーに格納されているデータをチェックすることができないという問題がある。
【０００８】
そこで、上記の点に鑑み、本発明の第１の目的は、不揮発性メモリーを内蔵した半導体装置において、パッケージに配置された外部接続端子の数が半導体チップに配置された内部接続端子の数よりも少ないために不揮発性メモリー検査用の外部接続端子の数が制限される場合でも、半導体チップがパッケージに封止された後に、不揮発性メモリーに格納されているデータをチェックできるようにすることである。また、本発明の第２の目的は、そのような半導体装置の製造方法等を提供することである。
【課題を解決するための手段】
【０００９】
以上の課題の少なくとも一部を解決するため、本発明の第１の観点に係る半導体装置は、半導体チップがパッケージに封止された半導体装置であって、データを格納する不揮発性メモリーと、パッケージに配置された複数の外部接続端子に電気的に接続され、テストモードにおいて、不揮発性メモリーに格納されているデータをチェックするために外部との間でシリアル通信を行うシリアル通信部とを備える。
【００１０】
本発明の第１の観点によれば、パッケージに配置された複数の外部接続端子に電気的に接続されたシリアル通信部が、不揮発性メモリーに格納されているデータをチェックするために外部との間でシリアル通信を行う。それにより、パッケージに配置された外部接続端子の数が半導体チップに配置された内部接続端子の数よりも少ないために不揮発性メモリー検査用の外部接続端子の数が制限される場合でも、半導体チップがパッケージに封止された後に、不揮発性メモリーに格納されているデータをチェックすることができる。
【００１１】
この半導体装置は、半導体チップに配置された複数の内部接続端子に電気的に接続され、不揮発性メモリーから読み出されるデータを複数の内部接続端子にパラレル出力し、又は、不揮発性メモリーから読み出されるデータを複数の内部接続端子にパラレル入力される期待値と比較して不揮発性メモリーに格納されているデータのチェック結果を表す合否信号を生成するテスト回路をさらに備えるようにしても良い。それにより、半導体チップがパッケージに封止される前のベアチップ状態において、不揮発性メモリーに格納されているデータを高速にチェックすることが可能となる。
【００１２】
以上において、半導体装置は、シリアル通信部によってシリアル入力されるコマンドに従って、不揮発性メモリーに格納されているデータをチェックすることにより、チェック結果を表す合否信号を生成する制御部をさらに備えるようにしても良い。それにより、半導体装置において、制御部が検査プログラムを実行して、合否信号を生成することができる。
【００１３】
その場合に、制御部が、不揮発性メモリーから読み出されるデータのチェックサム又はＣＲＣ値を計算し、チェックサム又はＣＲＣ値を、シリアル通信部によってシリアル入力されるチェックサム期待値又はＣＲＣ期待値と比較することにより、合否信号を生成するようにしても良い。
【００１４】
このように、シリアル通信部がチェックサム期待値又はＣＲＣ期待値を外部から入力することにより、チェックサム期待値又はＣＲＣ期待値を半導体装置内に格納する場合とは異なって、不揮発性メモリーに格納されるデータの内容が変更になった場合でも半導体装置を修正する必要がない。
【００１５】
また、半導体装置は、パッケージに配置された外部接続端子に電気的に接続され、合否信号を外部に出力することが可能なインターフェースをさらに備えるようにしても良い。そのようなインターフェースを利用して合否信号を外部に出力することにより、外部接続端子の数が少ない半導体装置において、不揮発性メモリーに格納されているデータのチェック結果の確認が容易になる。
【００１６】
あるいは、半導体装置は、シリアル通信部によってシリアル入力されるコマンドに従って、不揮発性メモリーから読み出されるデータを、シリアル通信部を介して外部にシリアル出力する制御部をさらに備えるようにしても良い。このように、不揮発性メモリーから読み出されるデータを外部に出力することにより、半導体装置においてチェックサムやＣＲＣ値を用いてデータをチェックするよりも検査品質を向上させることができる。
【００１７】
一方、半導体装置が、シリアル通信部を含むテスト回路を備え、テスト回路が、シリアル通信部によってシリアル入力されるコマンドに従って、不揮発性メモリーから読み出されるデータのチェックサム又はＣＲＣ値を計算し、チェックサム又はＣＲＣ値を、シリアル通信部によってシリアル入力されるチェックサム期待値又はＣＲＣ期待値と比較することにより、不揮発性メモリーに格納されているデータのチェック結果を表す合否信号を生成するようにしても良い。その場合には、検査専用のテスト回路がデータをチェックするので、不揮発性メモリー等に検査プログラムを格納しておく必要がない。
【００１８】
あるいは、半導体装置が、シリアル通信部を含むテスト回路を備え、テスト回路が、シリアル通信部によってシリアル入力されるコマンドに従って、不揮発性メモリーから読み出されるデータを、シリアル通信部を介して外部にシリアル出力するようにしても良い。その場合には、検査専用のテスト回路がシリアル通信部を介してデータを外部に出力するので、不揮発性メモリー等に検査プログラムを格納しておく必要がない。
【００１９】
本発明の第２の観点に係る半導体装置の製造方法は、不揮発性メモリー及びシリアル通信部を含む半導体チップがパッケージに封止された半導体装置を製造する方法であって、不揮発性メモリーにデータを格納する工程（ａ）と、半導体チップをパッケージに封止する工程（ｂ）と、工程（ｂ）の後に、パッケージに配置された複数の外部接続端子に電気的に接続されたシリアル通信部との間でシリアル通信を行うことにより、不揮発性メモリーに格納されているデータをチェックする工程（ｃ）とを備える。
【００２０】
本発明の第２の観点によれば、パッケージに配置された複数の外部接続端子に電気的に接続されたシリアル通信部との間でシリアル通信を行うことにより、不揮発性メモリーに格納されているデータがチェックされる。それにより、パッケージに配置された外部接続端子の数が半導体チップに配置された内部接続端子の数よりも少ないために不揮発性メモリー検査用の外部接続端子の数が制限される場合でも、半導体チップをパッケージに封止した後に、不揮発性メモリーに格納されているデータをチェックすることができる。
【００２１】
この半導体装置の製造方法は、工程（ａ）と工程（ｂ）との間で、半導体チップに配置された複数の内部接続端子に電気的に接続されたテスト回路を制御することにより、不揮発性メモリーに格納されているデータをチェックする工程をさらに備えても良い。それにより、半導体チップがパッケージに封止される前のベアチップ状態において、不揮発性メモリーに格納されているデータを高速にチェックすることが可能となる。
【００２２】
以上において、工程（ｃ）が、シリアル通信部との間でシリアル通信を行うことにより、コマンド及びチェックサム期待値又はＣＲＣ期待値を半導体装置に入力することを含み、半導体装置が、コマンドに従って、不揮発性メモリーから読み出されるデータのチェックサム又はＣＲＣ値を計算し、チェックサム又はＣＲＣ値をチェックサム期待値又はＣＲＣ期待値と比較することにより、不揮発性メモリーに格納されているデータのチェック結果を表す合否信号を外部に出力しても良い。
【００２３】
このように、チェックサム期待値又はＣＲＣ期待値を外部から半導体装置に入力することにより、チェックサム期待値又はＣＲＣ期待値を半導体装置内に格納する場合とは異なって、不揮発性メモリーに格納されるデータの内容が変更になった場合でも半導体装置を修正する必要がない。
【００２４】
あるいは、工程（ｃ）が、シリアル通信部との間でシリアル通信を行うことにより、コマンドを半導体装置に入力することを含み、半導体装置が、コマンドに従って、不揮発性メモリーから読み出されるデータを、シリアル通信部から外部にシリアル出力しても良い。このように、不揮発性メモリーから読み出されるデータを外部に出力することにより、半導体装置においてチェックサムやＣＲＣ値を用いてデータをチェックするよりも検査品質を向上させることができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態に係る半導体装置の構成例を示すブロック図。
【図２】パッケージ状態における検査の一例を説明するためのタイミング図。
【図３】本発明の第２の実施形態に係る半導体装置の構成例を示すブロック図。
【図４】本発明の第３の実施形態に係る半導体装置の構成例を示すブロック図。
【図５】本発明の第１の実施形態に係る半導体装置の製造方法を示すフローチャート。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、同一の構成要素には同一の参照符号を付して、重複する説明を省略する。
＜半導体装置１＞
図１は、本発明の第１の実施形態に係る半導体装置の構成例を示すブロック図である。この半導体装置は、半導体チップがパッケージに封止されて構成されている。以下においては、半導体装置の一例として、フラッシュＲＯＭ（リードオンリーメモリー）を内蔵したマイクロコンピューターについて説明する。
【００２７】
図１に示すように、マイクロコンピューターは、フラッシュＲＯＭ１０と、シリアルインターフェース（Ｉ／Ｆ）２０と、入出力（Ｉ／Ｏ）ポート３０と、ＣＰＵ（中央演算装置）４０と、内部バス５０と、ＲＡＭ（ランダムアクセスメモリー）６０と、デバッグインターフェース（Ｉ／Ｆ）７０とを含み、さらに、テスト回路８０を含んでも良い。ここで、フラッシュＲＯＭ１０〜ＣＰＵ４０は、内部バス５０を介して互いに接続されている。
【００２８】
フラッシュＲＯＭ１０は、複数のメモリーセルを含む不揮発性メモリーである。各々のメモリーセルは、例えば、コントロールゲート、フローティングゲート、ソース、及び、ドレインを有するＮチャネルＭＯＳトランジスターで構成される。そのようなトランジスターにおいて、ホットエレクトロンをフローティングゲートに注入することにより、フローティングゲートに電荷が蓄積される。フラッシュＲＯＭ１０は、複数のフローティングゲートに蓄積される電荷に応じて、プログラムやデータを格納する。
【００２９】
シリアルインターフェース２０は、パッケージに配置された複数の外部接続端子（ピン等）に電気的に接続されており、外部の機器との間でＳＰＩ（シリアル・ペリフェラル・インターフェース）又はＩ２Ｃ（アイ・スクエアー・シー）バス等の仕様に従ったシリアルデータ通信を行うシリアル通信部に相当する。本実施形態においては、一例として、シリアルインターフェース２０がＳＰＩの仕様に従ったシリアルデータ通信を行う場合について説明する。
【００３０】
ＳＰＩにおいては、一般に、シリアルクロック信号ＳＣＫを伝送する信号線と、マスターイン・スレーブアウトのシリアルデータＳＤＩを伝送する信号線と、マスターアウト・スレーブインのシリアルデータＳＤＯを伝送する信号線と、スレーブセレクト信号を伝送する信号線とが用いられる。本実施形態においては、スレーブセレクト信号を固定することにより、３本の信号線が用いられる。
【００３１】
入出力ポート３０は、パッケージに配置された複数の外部接続端子に電気的に接続されており、外部の機器との間でデジタル信号を入力又は出力するために用いられるインターフェースである。
【００３２】
ＣＰＵ４０は、フラッシュＲＯＭ１０に格納されているプログラムに従って各種の制御処理や信号処理を実行する制御部に相当する。ＲＡＭ６０は、ＣＰＵ４０に接続されてＣＰＵ４０の作業領域として用いられ、フラッシュＲＯＭ１０から読み出されるプログラムやデータ、又は、ＣＰＵ４０がプログラムに従って実行した演算結果等を一時的に記憶する。
【００３３】
デバッグインターフェース７０は、ＣＰＵ４０に接続されると共に、パッケージに配置された複数の外部接続端子に電気的に接続されており、クロック信号に同期してデータを入力又は出力することにより、フラッシュＲＯＭ１０に格納されているプログラム又はデータの消去や書き換えのために使用される。例えば、半導体装置の出荷後において、ユーザーが、デバッグインターフェース７０を用いてＣＰＵ４０を制御することにより、フラッシュＲＯＭ１０に格納されているプログラム又はデータの消去や書き換えを行うことが可能である。
【００３４】
テスト回路８０は、半導体チップに配置された複数の内部接続端子（パッド）に電気的に接続されており、半導体チップがパッケージに封止される前のベアチップ状態において、フラッシュＲＯＭ１０に格納されているデータの検査に用いられる。例えば、テスト回路８０は、フラッシュＲＯＭ１０の複数の端子を選択して複数の内部接続端子にそれぞれ電気的に接続する複数のセレクターを含んでいる。
【００３５】
＜ベアチップ状態における検査＞
ベアチップ状態における検査の際に、半導体チップに配置された複数の内部接続端子には、複数のプローブ針を介して、ＩＣテスター等の検査装置が電気的に接続される。検査装置は、電源電圧を半導体チップに供給すると共に、制御信号及びアドレス信号をテスト回路８０に供給して、テスト回路８０との間でデータを入出力する。制御信号は、クロック信号、イネーブル信号、及び、モードセレクト信号等を含んでも良い。それにより、フラッシュＲＯＭ１０の全ての機能の検査や、フラッシュＲＯＭ１０の書き換えが可能となる。
【００３６】
ベアチップ状態における検査の第１の例として、検査装置は、アドレス信号によって指定されるメモリーセルからデータを読み出すようにテスト回路８０を制御する。テスト回路８０は、フラッシュＲＯＭ１０から読み出されるデータを複数の内部接続端子にパラレル出力する。
【００３７】
例えば、テスト回路８０は、フラッシュＲＯＭ１０から読み出される３２ビットのデータを３２個の内部接続端子にパラレル出力する。検査装置は、テスト回路８０からパラレル出力されるデータを期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を生成する。
【００３８】
ベアチップ状態における検査の第２の例として、検査装置は、アドレス信号によって指定されるメモリーセルからデータを読み出すようにテスト回路８０を制御すると共に、データの期待値を複数の内部接続端子にパラレル入力する。
【００３９】
テスト回路８０は、フラッシュＲＯＭ１０から読み出されるデータを複数の内部接続端子にパラレル入力される期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を生成する。テスト回路８０は、別の内部接続端子を介して合否信号を検査装置に出力する。
【００４０】
例えば、テスト回路８０は、フラッシュＲＯＭ１０から読み出される３２ビットのデータを、３２個の内部接続端子にパラレル入力される３２ビットの期待値と比較して、３２個の比較結果信号を求める。その際に、読み出されたデータの各ビットが期待値のそれぞれのビットと一致する場合には、比較結果信号がハイレベルとされ、読み出されたデータの各ビットが期待値のそれぞれのビットと一致しない場合には、比較結果信号がローレベルとされる。
【００４１】
さらに、テスト回路８０は、３２個の比較結果信号の論理積を求めることにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を生成する。その際に、３２個の比較結果信号がハイレベルである場合には、フラッシュＲＯＭ１０に格納されているデータが正しい旨を表すハイレベルの合否信号が生成される。一方、少なくとも１個の比較結果信号がローレベルである場合には、フラッシュＲＯＭ１０に格納されているデータが正しくない旨を表すローレベルの合否信号が生成される。
【００４２】
そのようなテスト回路８０を設けることにより、半導体チップがパッケージに封止される前のベアチップ状態において、フラッシュＲＯＭ１０に格納されているデータを高速にチェックすることが可能となる。
【００４３】
一方、半導体チップがパッケージに封止されたパッケージ状態においては、パッケージに配置された外部接続端子の数が半導体チップに配置された内部接続端子の数よりも少ないために、フラッシュＲＯＭ検査用の外部接続端子の数が制限される。従って、テスト回路８０に電気的に接続された複数の内部接続端子は、パッケージに配置された外部接続端子に接続されておらず、テスト回路８０を用いてフラッシュＲＯＭ１０を検査することはできない。
【００４４】
そこで、本実施形態においては、フラッシュＲＯＭ１０に格納されているデータをチェックする検査に用いられるソフトウェア（検査プログラム）が、フラッシュＲＯＭ１０に格納されている。ＣＰＵ４０は、この検査プログラムを実行することにより、フラッシュＲＯＭ１０に格納されているデータをチェックする検査を行う。その際に、シリアルインターフェース２０が用いられる。
【００４５】
＜パッケージ状態における検査＞
パッケージ状態における検査の際に、パッケージに配置された複数の外部接続端子には、ＩＣテスター等の検査装置が電気的に接続される。検査装置は、電源電圧を半導体装置に供給すると共に、シリアルクロック信号ＳＣＫをシリアルインターフェース２０に供給して、シリアルインターフェース２０にシリアルデータＳＤＩを送信し、又は、シリアルインターフェース２０から出力されるシリアルデータＳＤＯを受信する。
【００４６】
パッケージに配置された複数の外部接続端子に電気的に接続されたシリアルインターフェース２０は、テストモードにおいて、フラッシュＲＯＭ１０に格納されているデータをチェックするために外部との間でシリアル通信を行う。それにより、パッケージに配置された外部接続端子の数が半導体チップに配置された内部接続端子の数よりも少ないためにフラッシュＲＯＭ検査用の外部接続端子の数が制限される場合でも、半導体チップがパッケージに封止された後に、フラッシュＲＯＭ１０に格納されているデータをチェックすることができる。
【００４７】
パッケージ状態における検査の第１の例として、ＣＰＵ４０は、検査装置からシリアルインターフェース２０によってシリアル入力されるコマンドに従って、フラッシュＲＯＭ１０に格納されているデータをチェックすることにより、チェック結果を表す合否信号を生成する。それにより、半導体装置において、ＣＰＵ４０が検査プログラムを実行して、合否信号を生成することができる。
【００４８】
例えば、ＣＰＵ４０は、フラッシュＲＯＭ１０から読み出されるデータのチェックサムを計算し、計算されたチェックサムを、検査装置からシリアルインターフェース２０によってシリアル入力されるチェックサム期待値と比較することにより、合否信号を生成するようにしても良い。その場合に、ＣＰＵ４０は、フラッシュＲＯＭ１０から順次読み出されるデータのワード列に含まれている複数のワードの総計を計算して、総計の下位１ワードをチェックサムとして用いても良い。
【００４９】
その結果、計算されたチェックサムがチェックサム期待値と一致する場合には、フラッシュＲＯＭ１０に格納されているデータが正しい旨を表すハイレベルの合否信号が生成される。一方、計算されたチェックサムがチェックサム期待値と一致しない場合には、フラッシュＲＯＭ１０に格納されているデータが正しくない旨を表すローレベルの合否信号が生成される。
【００５０】
あるいは、ＣＰＵ４０は、フラッシュＲＯＭ１０から読み出されるデータのＣＲＣ（巡回冗長検査）値を計算し、計算されたＣＲＣ値を、検査装置からシリアルインターフェース２０によってシリアル入力されるＣＲＣ期待値と比較することにより、合否信号を生成するようにしても良い。その場合に、ＣＰＵ４０は、フラッシュＲＯＭ１０から順次読み出されるデータのワード列に含まれているデータを２進数とみなして、予め定められた特定の数で割り、その余りをチェック用のＣＲＣ値として用いても良い。
【００５１】
その結果、計算されたＣＲＣ値がＣＲＣ期待値と一致する場合には、フラッシュＲＯＭ１０に格納されているデータが正しい旨を表すハイレベルの合否信号が生成される。一方、計算されたＣＲＣ値がＣＲＣ期待値と一致しない場合には、フラッシュＲＯＭ１０に格納されているデータが正しくない旨を表すローレベルの合否信号が生成される。
【００５２】
ＣＲＣ値を求めるための除算に使用される特定の数は、生成多項式と呼ばれており、送信側（検査装置）と受信側（半導体装置）とにおいて揃えておく必要がある。また、有限体の繰り下がり又は繰り上がりがない算術を使用している点が、通常の除算とは異なる。余りの長さは常に除数の長さ以下であり、除数の長さによってＣＲＣコードの長さを決定することができる。ここで、ＮビットのＣＲＣコードは、ＣＲＣ−Ｎと表記される。以下においては、一例として、ＣＲＣ−３２が用いられる場合について説明する。
【００５３】
図２は、パッケージ状態における検査の一例を説明するためのタイミング図である。検査装置は、シリアルクロック信号ＳＣＫに同期して、シリアルデータＳＤＩを半導体装置のシリアルインターフェース２０に送信する。例えば、シリアルデータＳＤＩを構成するデータＤ０、Ｄ１、・・・、ＤＸは、検査プログラムの実行を指示するコマンドと、ＣＲＣ期待値とを含んでいる。シリアルインターフェース２０は、データＤ０、Ｄ１、・・・、ＤＸを受信して、内部バス５０を介してＣＰＵ４０に出力する。
【００５４】
ＣＰＵ４０は、初期状態として、検査の状態を表すステータス信号、及び、チェック結果を表す合否信号をローレベルにしている。ステータス信号及び合否信号は、ＣＰＵ４０から内部バス５０を介して入出力ポート３０に供給される。パッケージに配置された複数の外部接続端子に電気的に接続された入出力ポート３０は、ステータス信号及び合否信号を外部に出力することが可能である。そのような入出力ポート３０を利用して合否信号を外部に出力することにより、外部接続端子の数が少ない半導体装置において、フラッシュＲＯＭ１０に格納されているデータのチェック結果の確認が容易になる。
【００５５】
ＣＰＵ４０は、データＤ０、Ｄ１、・・・、ＤＸの入力が完了すると、フラッシュＲＯＭ１０に格納されている検査プログラムの実行を開始すると共に、ステータス信号をハイレベルにする。ＣＰＵ４０は、検査プログラムに従って、フラッシュＲＯＭ１０から読み出されるデータのＣＲＣ−３２演算を実行してＣＲＣ値を計算し、計算されたＣＲＣ値をＣＲＣ期待値と比較して合否信号を生成する。ＣＰＵ４０は、合否信号を生成したら、ステータス信号をローレベルにする。
【００５６】
図２に示す例においては、計算されたＣＲＣ値がＣＲＣ期待値と一致して、合否信号がハイレベルに遷移している。また、ステータス信号が一旦ハイレベルになった後に再びローレベルに戻ることにより、検査装置は、計算されたＣＲＣ値とＣＲＣ期待値との比較結果を表す合否信号が生成されたことを検知して、合否信号を取り込んで半導体装置の良否を判定する。
【００５７】
上記の第１の例においては、シリアルインターフェース２０がチェックサム期待値又はＣＲＣ期待値を外部から入力することにより、チェックサム期待値又はＣＲＣ期待値を半導体装置内に格納する場合とは異なって、フラッシュＲＯＭ１０に格納されるデータの内容が変更になった場合でも半導体装置を修正する必要がない。
【００５８】
再び図１を参照すると、パッケージ状態における検査の第２の例として、ＣＰＵ４０は、検査装置からシリアルインターフェース２０によってシリアル入力されるコマンドに従って、フラッシュＲＯＭ１０から読み出されるデータを、シリアルインターフェース２０を介して外部にシリアル出力する。
【００５９】
検査装置は、シリアルインターフェース２０からシリアル出力されるデータを期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を生成する。このように、フラッシュＲＯＭ１０から読み出されるデータを外部に出力することにより、半導体装置においてチェックサムやＣＲＣ値を用いてデータをチェックするよりも検査品質を向上させることができる。
【００６０】
半導体装置の出荷後においては、ユーザーが、デバッグインターフェース７０を用いてＣＰＵ４０を制御することにより、フラッシュＲＯＭ１０に格納されている検査プログラムを消去しても良い。このように、ユーザーは、デバッグインターフェース７０を用いて検査プログラムを消去することができるので、半導体装置の出荷前に検査プログラムを消去することは必須ではない。
【００６１】
シリアルインターフェース２０は、検査プログラムが格納されている状態においてテストモードに設定され、フラッシュＲＯＭ１０に格納されているデータをチェックするための検査専用の回路として機能するようにしても良い。その場合に、検査プログラムが消去されると、ユーザーは、シリアルインターフェース２０を通常の周辺回路として使用することができる。あるいは、シリアルインターフェース２０は、コマンドによって設定されるテストモードにおいて、フラッシュＲＯＭ１０に格納されているデータをチェックする検査に使用され、それ以外の通常動作モードにおいては、通常の周辺回路として使用されても良い。
【００６２】
＜半導体装置２＞
図３は、本発明の第２の実施形態に係る半導体装置の構成例を示すブロック図である。図３に示すように、第２の実施形態に係る半導体装置であるマイクロコンピューターにおいては、図１に示すテスト回路８０の替りに、シリアル通信部８１を含むテスト回路８０ａが設けられている。その他の点に関しては、第２の実施形態は、第１の実施形態と同様でも良い。
【００６３】
テスト回路８０ａは、図１に示すテスト回路８０の機能に加えて、テストモードにおいて、シリアル通信部８１を用いて検査装置との間でシリアル通信を行うことにより、フラッシュＲＯＭ１０に格納されているデータをチェックする機能を有している。従って、テスト回路８０ａは、ベアチップ状態における検査とパッケージ状態における検査との両方において使用することができる。
【００６４】
シリアル通信部８１は、パッケージに配置された複数の外部接続端子に電気的に接続されており、テストモードにおいて、フラッシュＲＯＭ１０に格納されているデータをチェックするために外部との間でシリアル通信を行う。例えば、シリアル通信部８１がＩ２Ｃバスの仕様に従ったシリアルデータ通信を行う場合には、シリアルクロック信号を伝送するクロック信号線と、シリアルデータを伝送するデータ信号線とが用いられる。
【００６５】
パッケージ状態における検査の際に、パッケージに配置された複数の外部接続端子には、ＩＣテスター等の検査装置が電気的に接続される。検査装置は、電源電圧を半導体装置に供給すると共に、シリアルクロック信号をシリアル通信部８１に供給して、シリアル通信部８１との間でシリアルデータを入出力する。
【００６６】
パッケージ状態における検査の第１の例として、テスト回路８０ａは、検査装置からシリアル通信部８１によってシリアル入力されるコマンドに従って、フラッシュＲＯＭ１０に格納されているデータをチェックすることにより、チェック結果を表す合否信号を生成する。
【００６７】
例えば、テスト回路８０ａは、フラッシュＲＯＭ１０から読み出されるデータのチェックサムを計算し、計算されたチェックサムを、検査装置からシリアル通信部８１によってシリアル入力されるチェックサム期待値と比較することにより、合否信号を生成するようにしても良い。
【００６８】
あるいは、テスト回路８０ａは、フラッシュＲＯＭ１０から読み出されるデータのＣＲＣ値（例えば、ＣＲＣ−３２）を計算し、計算されたＣＲＣ値を、検査装置からシリアル通信部８１によってシリアル入力されるＣＲＣ期待値と比較することにより、合否信号を生成するようにしても良い。
【００６９】
また、テスト回路８０ａは、図１に示す第１の実施形態におけるＣＰＵ４０と同様に、検査の状態を表すステータス信号を生成しても良い。ステータス信号及び合否信号は、テスト回路８０ａに接続された入出力ポート３０を介して外部に出力される。第１の例によれば、検査専用のテスト回路８０ａがデータをチェックするので、フラッシュＲＯＭ１０等に検査プログラムを格納しておく必要がない。
【００７０】
パッケージ状態における検査の第２の例として、テスト回路８０ａは、シリアル通信部８１によってシリアル入力されるコマンドに従って、フラッシュＲＯＭ１０から読み出されるデータを、シリアル通信部８１を介して外部にシリアル出力する。
【００７１】
検査装置は、シリアル通信部８１からシリアル出力されるデータを期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を生成する。第２の例によれば、検査専用のテスト回路８０ａがシリアル通信部８１を介してデータを外部に出力するので、フラッシュＲＯＭ１０等に検査プログラムを格納しておく必要がない。
【００７２】
＜半導体装置３＞
図４は、本発明の第３の実施形態に係る半導体装置の構成例を示すブロック図である。図４に示すように、第３の実施形態に係る半導体装置であるマイクロコンピューターは、フラッシュＲＯＭ１０と、ＣＰＵ４０と、内部バス５０と、テスト回路８０ｂとを含んでいる。ここで、フラッシュＲＯＭ１０、ＣＰＵ４０、及び、テスト回路８０ｂは、内部バス５０を介して互いに接続されている。その他の点に関しては、第３の実施形態は、第２の実施形態と同様でも良い。
【００７３】
テスト回路８０ｂは、シリアル通信部８１を含み、シリアル通信部８１を用いてフラッシュＲＯＭ１０に格納されているデータをチェックする機能を有している。従って、テスト回路８０ｂは、ベアチップ状態における検査とパッケージ状態における検査との両方において使用することができる。
【００７４】
ベアチップ状態における検査の際に、半導体チップに配置された複数の内部接続端子には、複数のプローブ針を介して、ＩＣテスター等の検査装置が電気的に接続される。検査装置は、電源電圧を半導体チップに供給すると共に、シリアルクロック信号をシリアル通信部８１に供給して、シリアル通信部８１との間でシリアルデータを入出力する。
【００７５】
また、パッケージ状態における検査の際に、パッケージに配置された複数の外部接続端子には、ＩＣテスター等の検査装置が電気的に接続される。検査装置は、電源電圧を半導体装置に供給すると共に、シリアルクロック信号をシリアル通信部８１に供給して、シリアル通信部８１との間でシリアルデータを入出力する。
【００７６】
テスト回路８０ｂは、シリアル通信部８１によってシリアル入力されるコマンドに従って、フラッシュＲＯＭ１０に格納されているデータをチェックすることにより、チェック結果を表す合否信号を生成する。
【００７７】
例えば、テスト回路８０ｂは、フラッシュＲＯＭ１０から読み出されるデータのチェックサムを計算し、計算されたチェックサムを、検査装置からシリアル通信部８１によってシリアル入力されるチェックサム期待値と比較することにより、合否信号を生成するようにしても良い。
【００７８】
あるいは、テスト回路８０ｂは、フラッシュＲＯＭ１０から読み出されるデータのＣＲＣ値（例えば、ＣＲＣ−３２）を計算し、計算されたＣＲＣ値を、検査装置からシリアル通信部８１によってシリアル入力されるＣＲＣ期待値と比較することにより、合否信号を生成するようにしても良い。
【００７９】
また、テスト回路８０ｂは、図１に示す第１の実施形態におけるＣＰＵ４０と同様に、検査の状態を表すステータス信号を生成しても良い。ステータス信号及び合否信号は、テスト回路８０ｂに電気的に接続された複数の外部接続端子を介して外部に出力される。第３の実施形態によれば、検査専用のテスト回路８０ｂがデータをチェックするので、フラッシュＲＯＭ１０等に検査プログラムを格納しておく必要がない。
【００８０】
＜半導体装置の製造方法＞
次に、本発明の第１〜第３の実施形態に係る半導体装置の製造方法について、図１及び図３〜図５を参照しながら説明する。この製造方法は、不揮発性メモリー及びシリアル通信部を含む半導体チップがパッケージに封止された半導体装置を製造する方法である。
【００８１】
＜製造方法１＞
図５は、本発明の第１の実施形態に係る半導体装置の製造方法を示すフローチャートである。図５に示す工程Ｓ１において、フラッシュＲＯＭ１０及びシリアルインターフェース２０を含む半導体チップが製造される。具体的には、半導体基板（例えば、Ｐ型の不純物を含有するシリコン基板）の所定の領域に、ＬＯＣＯＳ（local oxidation of silicon）法又はＳＴＩ（shallow trench isolation）法によって素子分離膜が形成される。次に、フォトリソグラフィー法によって形成されたマスクを用いて、半導体基板内にＰ型の不純物及びＮ型の不純物を注入することにより、半導体基板内にＰウェル及びＮウェルが形成される。
【００８２】
次に、半導体基板上に、第１の絶縁膜（例えば、シリコン酸化膜）、第１のポリシリコン膜、第２の絶縁膜（例えば、シリコン酸化膜／シリコン窒化膜／シリコン酸化膜からなるＯＮＯ膜）、及び、第２のポリシリコン膜が順に形成される。フォトリソグラフィー法によって形成されたマスクを用いて、それらの膜をパターニングすることにより、メモリーセルのトランジスターのトンネル酸化膜、フローティングゲート、ゲート絶縁膜、及び、コントロールゲートが形成される。また、周辺回路のトランジスターのゲート絶縁膜及びゲート電極が形成される。
【００８３】
次に、フォトリソグラフィー法によって形成されたマスクを用いて、コントロールゲート又はゲート電極の両側のＰウェル内にＮ型の不純物を注入することにより、メモリーセルのＮチャネルＭＯＳトランジスターのソース及びドレインとなるＮ型不純物領域が形成される。また、周辺回路のＮチャネルＭＯＳトランジスターのソース及びドレインとなるＮ型不純物領域が形成される。同様に、ゲート電極の両側のＮウェル内にＰ型の不純物を注入することにより、周辺回路のＰチャネルＭＯＳトランジスターのソース及びドレインとなるＰ型不純物領域が形成される。
【００８４】
次に、トランジスター等が形成された半導体基板上に、ＢＰＳＧ（Boron Phosphorus Silicon Glass）等の層間絶縁膜が形成され、層間絶縁膜にコンタクトホールが形成される。さらに、層間絶縁膜等が形成された半導体基板上に、アルミニウム又は銅等を含む金属膜が形成され、金属膜がパターニングされて配線が形成される。層間絶縁膜及び配線層は、必要に応じて多層構造としても良い。配線の一部は、半導体チップに配置された複数の内部接続端子（パッド）を構成する。
【００８５】
このようにして、フラッシュＲＯＭ１０及びシリアルインターフェース２０を含む半導体チップが製造される。本実施形態においては、図１に示すように、半導体チップが、入出力ポート３０〜テスト回路８０をさらに含んでいる。
【００８６】
工程Ｓ２において、例えば、ＲＯＭライターが、デバッグインターフェース７０又はテスト回路８０等を用いて、フラッシュＲＯＭ１０にデータを格納する。その後、工程Ｓ３において、検査装置が、半導体チップに配置された複数の内部接続端子に電気的に接続されたテスト回路８０を制御することにより、フラッシュＲＯＭ１０に格納されているデータがチェックされるようにしても良い。その詳細は、第１の実施形態に係る半導体装置の説明に記載された通りである。
【００８７】
それにより、半導体チップがパッケージに封止される前のベアチップ状態において、フラッシュＲＯＭ１０に格納されているデータを高速にチェックすることが可能となる。検査装置又はテスト回路８０は、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を生成する。
【００８８】
工程Ｓ４において、検査装置が、半導体チップが良品であるか不良品であるかを判定する。フラッシュＲＯＭ１０に格納されているデータが正しい旨を表す合否信号が生成された場合には、その半導体チップが良品に分類されて、処理が工程Ｓ５に移行する。一方、フラッシュＲＯＭ１０に格納されているデータが正しくない旨を表す合否信号が生成された場合には、その半導体チップが不良品に分類されて、以降の処理が終了する。
【００８９】
工程Ｓ５において、半導体チップがパッケージに封止される。パッケージは、例えば、エポキシ樹脂等の封止材で構成され、複数の外部接続端子（例えば、ニッケル合金等の金属製の複数のピン）が配置されている。パッケージに配置された複数の外部接続端子は、半導体チップに配置された一部の内部接続端子を介して内部回路に電気的に接続されるが、テスト回路８０には接続されない。
【００９０】
その後、工程Ｓ６において、検査装置が、パッケージに配置された複数の外部接続端子に電気的に接続されたシリアルインターフェース２０との間でシリアル通信を行うことにより、フラッシュＲＯＭ１０に格納されているデータがチェックされる。
【００９１】
パッケージ状態における検査の第１の例として、検査装置は、シリアルインターフェース２０との間でシリアル通信を行うことにより、フラッシュＲＯＭ１０に格納されているデータのチェックを指示するコマンドを半導体装置に入力し、半導体装置のＣＰＵ４０がデータのチェックを行う。
【００９２】
例えば、検査装置は、シリアルインターフェース２０との間でシリアル通信を行うことにより、コマンド及びチェックサム期待値を半導体装置に入力する。半導体装置のＣＰＵ４０は、コマンドに従って、フラッシュＲＯＭ１０から読み出されるデータのチェックサムを計算し、計算されたチェックサムをチェックサム期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を外部に出力する。
【００９３】
あるいは、検査装置は、シリアルインターフェース２０との間でシリアル通信を行うことにより、コマンド及びＣＲＣ期待値を半導体装置に入力する。半導体装置のＣＰＵ４０は、コマンドに従って、フラッシュＲＯＭ１０から読み出されるデータのＣＲＣ値を計算し、計算されたＣＲＣ値をＣＲＣ期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を外部に出力する。
【００９４】
このように、チェックサム期待値又はＣＲＣ期待値を外部から半導体装置に入力することにより、チェックサム期待値又はＣＲＣ期待値を半導体装置内に格納する場合とは異なって、フラッシュＲＯＭ１０に格納されるデータの内容が変更になった場合でも半導体装置を修正する必要がない。
【００９５】
パッケージ状態における検査の第２の例として、検査装置は、シリアルインターフェース２０との間でシリアル通信を行うことにより、フラッシュＲＯＭ１０に格納されているデータの出力を指示するコマンドを半導体装置に入力する。半導体装置のＣＰＵ４０は、コマンドに従って、フラッシュＲＯＭ１０から読み出されるデータを、シリアルインターフェース２０から外部にシリアル出力する。
【００９６】
検査装置は、シリアル出力されるデータを期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を生成する。このように、フラッシュＲＯＭ１０から読み出されるデータを外部に出力することにより、半導体装置においてチェックサムやＣＲＣ値を用いてデータをチェックするよりも検査品質を向上させることができる。
【００９７】
工程Ｓ７において、検査装置が、半導体装置が良品であるか不良品であるかを判定する。フラッシュＲＯＭ１０に格納されているデータが正しい旨を表す合否信号が生成された場合には、その半導体装置が良品に分類される。一方、フラッシュＲＯＭ１０に格納されているデータが正しくない旨を表す合否信号が生成された場合には、その半導体装置が不良品に分類される。
【００９８】
本実施形態によれば、パッケージに配置された複数の外部接続端子に電気的に接続されたシリアルインターフェース２０との間でシリアル通信を行うことにより、フラッシュＲＯＭ１０に格納されているデータがチェックされる。それにより、パッケージに配置された外部接続端子の数が半導体チップに配置された内部接続端子の数よりも少ないためにフラッシュＲＯＭ検査用の外部接続端子の数が制限される場合でも、半導体チップをパッケージに封止した後に、フラッシュＲＯＭ１０に格納されているデータをチェックすることができる。
【００９９】
＜製造方法２＞
次に、本発明の第２の実施形態に係る半導体装置の製造方法について説明する。
図３に示す第２の実施形態に係る半導体装置が製造される場合には、図５に示す工程Ｓ２及びＳ３において、テスト回路８０の替りにテスト回路８０ａが用いられる。
【０１００】
また、工程Ｓ６において、検査装置が、パッケージに配置された複数の外部接続端子に電気的に接続されたシリアル通信部８１との間でシリアル通信を行うことにより、フラッシュＲＯＭ１０に格納されているデータがチェックされる。その他の点に関しては、第２の実施形態は、第１の実施形態と同様でも良い。
【０１０１】
パッケージ状態における検査の第１の例として、検査装置は、シリアル通信部８１との間でシリアル通信を行うことにより、フラッシュＲＯＭ１０に格納されているデータのチェックを指示するコマンドを半導体装置に入力し、半導体装置のテスト回路８０ａがデータのチェックを行う。
【０１０２】
例えば、検査装置は、シリアル通信部８１との間でシリアル通信を行うことにより、コマンド及びチェックサム期待値を半導体装置に入力する。半導体装置のテスト回路８０ａは、コマンドに従って、フラッシュＲＯＭ１０から読み出されるデータのチェックサムを計算し、計算されたチェックサムをチェックサム期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を外部に出力する。
【０１０３】
あるいは、検査装置は、シリアル通信部８１との間でシリアル通信を行うことにより、コマンド及びＣＲＣ期待値を半導体装置に入力する。半導体装置のテスト回路８０ａは、コマンドに従って、フラッシュＲＯＭ１０から読み出されるデータのＣＲＣ値を計算し、計算されたＣＲＣ値をＣＲＣ期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を外部に出力する。
【０１０４】
パッケージ状態における検査の第２の例として、検査装置は、シリアル通信部８１との間でシリアル通信を行うことにより、フラッシュＲＯＭ１０に格納されているデータの出力を指示するコマンドを半導体装置に入力する。半導体装置のテスト回路８０ａは、コマンドに従って、フラッシュＲＯＭ１０から読み出されるデータを、シリアルインターフェース２０から外部にシリアル出力する。
【０１０５】
＜製造方法３＞
次に、本発明の第３の実施形態に係る半導体装置の製造方法について説明する。
図４に示す第３の実施形態に係る半導体装置が製造される場合には、図５に示す工程Ｓ２において、例えば、ＲＯＭライターが、半導体チップに配置された複数の内部接続端子に電気的に接続されたテスト回路８０ｂを用いて、フラッシュＲＯＭ１０にデータを格納する。
【０１０６】
その後、工程Ｓ３において、検査装置が、シリアル通信部８１との間でシリアル通信を行うことにより、テスト回路８０ｂが、フラッシュＲＯＭ１０に格納されているデータをチェックする。また、工程Ｓ６においても、図３に示すテスト回路８０ａの替わりにテスト回路８０ｂが用いられる。その他の点に関しては、第３の実施形態は、第２の実施形態と同様でも良い。
【０１０７】
工程Ｓ３及び工程Ｓ６において、例えば、検査装置は、シリアル通信部８１との間でシリアル通信を行うことにより、コマンド及びチェックサム期待値を半導体装置に入力する。半導体装置のテスト回路８０ｂは、コマンドに従って、フラッシュＲＯＭ１０から読み出されるデータのチェックサムを計算し、計算されたチェックサムをチェックサム期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を外部に出力する。
【０１０８】
あるいは、検査装置は、シリアル通信部８１との間でシリアル通信を行うことにより、コマンド及びＣＲＣ期待値を半導体装置に入力する。半導体装置のテスト回路８０ｂは、コマンドに従って、フラッシュＲＯＭ１０から読み出されるデータのＣＲＣ値を計算し、計算されたＣＲＣ値をＣＲＣ期待値と比較することにより、フラッシュＲＯＭ１０に格納されているデータのチェック結果を表す合否信号を外部に出力する。
【０１０９】
以上の実施形態においては、ＰウェルにメモリーセルのＮチャネルＭＯＳトランジスターが形成される場合について説明したが、ＮウェルにメモリーセルのＰチャネルＭＯＳトランジスターが形成されても良い。このように、本発明は、以上説明した実施形態に限定されるものではく、当該技術分野において通常の知識を有する者によって、本発明の技術的思想内で多くの変形が可能である。
【符号の説明】
【０１１０】
１０…フラッシュＲＯＭ、２０…シリアルインターフェース、３０…入出力ポート、４０…ＣＰＵ、５０…内部バス、６０…ＲＡＭ、７０…デバッグインターフェース、８０、８０ａ、８０ｂ…テスト回路、８１…シリアル通信部
【図１】
2018096695.tif 000003
【図２】
2018096695.tif 000004
【図３】
2018096695.tif 000005
【図４】
2018096695.tif 000006
【図５】
2018096695.tif 000007