"半導体装置の動作設定情報を記憶するセルアレイと、前記セルアレイの複数のセルに同時にプログラムする書込み回路と、前記複数のセルのうち、実際にプログラムが行われたセルのプログラム結果だけを検証するベリファイ回路とを有することを特徴とする、半導体装置。前記ベリファイ回路は、正常にプログラムが行われた場合に得られる期待値データと、前記プログラム後に前記セルまたはセンスアンプから読出したデータとを比較する複数の比較回路と、前記プログラムの行われていない前記セルに割り当てられた前記比較回路の比較結果を、擬似的にパスさせる制御を行う制御手段とを有することを特徴とする、請求項1に記載の半導体装置。前記制御手段は、外部入力によってプログラムに指定されたセルであって、前記プログラム前にイレースビットであったセルを判定し、前記制御手段からの指示により、前記セルがプログラムされた場合に得られる期待値データを生成して、前記セルに割り振られた前記比較回路に出力する期待値保持回路をさらに有することを特徴とする、請求項2に記載の半導体装置。半導体装置の動作設定情報を記憶するセルアレイと、前記セルアレイの複数のセルに同時にプログラムする書込み回路と、前記プログラム前の前記複数のセルの記憶データを記憶する揮発性記憶回路と、前記複数のセルのうち、前記プログラムが行われていないセルには前記記憶データをそのまま用いて検証を行い、実際に前記プログラムが行われたセルには正常にプログラムが行われた場合に得られる期待値データを用いてプログラム結果を検証するベリファイ回路と、を有することを特徴とする、半導体装置。前記ベリファイ回路は、正常にプログラムが行われた場合に得られる期待値データと、前記プログラム後に前記セルまたはセンスアンプから読出したデータとを比較する複数の比較回路と、実際にプログラムが行われたセルを判定し、当該セルに割り当てられた前記比較回路に、前記正常にプログラムが行われた場合に得られる期待値データを用いてプログラム結果を検証させる制御手段と、を有することを特徴とする、請求項4に記載の半導体装置。前記制御手段は、外部入力によってプログラムに指定されたセルであって、前記プログラム前にイレースビットであったセルに該当する前記揮発性記憶回路に記憶した前記期待値データを、プログラムされた場合の期待値データに変更して、前記比較回路に出力させることを特徴とする、請求項5に記載の半導体装置。前記制御手段は、前記複数のセルごとに、プログラム対象に設定するか否かを指示する指示信号を外部入力し、前記プログラム対象に設定されたセルがイレースビットのセルであるか否かを判定して実際にプログラムを行うセルを判定することを特徴とする、請求項2又は5に記載の半導体装置。前記制御手段は、外部入力されるアドレス情報をデコードして、プログラム対象に設定されたセルを判定し、前記プログラム対象に設定されたセルがイレースビットのセルであるか否かを判定して実際にプログラムを行うセルを判定することを特徴とする、請求項2又は5に記載の半導体装置。前記制御手段は、外部入力されるモード切換信号により、前記プログラム対象のセルを指定するインタフェースを切り換えることを特徴とする、請求項2又は5に記載の半導体装置。前記動作設定情報を記憶するセルアレイへのプログラム後のベリファイと、通常のデータを記憶する通常用セルアレイへのプログラム後のベリファイとで、前記ベリファイ回路を共有することを特徴とする、請求項1又は4に記載の半導体装置。前記比較回路は、前記動作設定情報を記憶するセルアレイへのプログラムに切り換えるモード信号が入力されて、前記期待値データと前記セルまたはセンスアンプから読出したデータの比較を行うことを特徴とする、請求項2又は5に記載の半導体装置。前記動作設定情報を記憶するセルアレイへのプログラム時には、前記揮発性記憶回路の出力を使用して前記比較回路で比較動作を行い、通常のデータを記憶する通常用セルアレイへのプログラム時には、前記セルがプログラムされた場合に得られる期待値データを保持する期待値保持回路の出力を使用して前記比較回路の比較動作を行うことを特徴とする、請求項5に記載の半導体装置。半導体装置の動作設定情報を記憶するセルアレイのベリファイ方法であって、前記セルアレイの複数のセルのうち、実際にプログラムが行われたセルのプログラム結果だけを検証することを特徴とする、ベリファイ方法。半導体装置の動作設定情報を記憶するセルアレイのベリファイ方法であって、前記複数のセルのうち、前記プログラムが行われていないセルには、当該セルの前記プログラム前のデータをそのまま用いて検証を行い、実際に前記プログラムが行われたセルには正常にプログラムが行われた場合に得られる期待値データを用いてプログラム結果を検証することを特徴とする、ベリファイ方法。CAMセルには、ユーザが情報の書き換えを行うユーザブロックと、ベンダーメーカが予め情報を書き込むファクトリブロックとが設けられることが望ましい。このような構成において、ユーザブロックのCAMデータの書き換えを行う場合には、ファクトリブロックのメモリセルがセル情報のディスターブを受けないことが必要となる。ディスターブとは、対象のメモリセルへのプログラム時に、同じワード線やビット線につながれたメモリセルが電気的影響を受けて、メモリセルにチャージロスやチャージのゲインが発生する現象である。第1の問題点として、ユーザブロックのCAMデータの書き換えを行う場合には、ファクトリブロックのメモリセルがセル情報のディスターブを受けないことが必要であるが、この点に着目した技術は知られていない。第2の問題点として、CAMセルのプログラム後に、ベリファイが正しく行えないという問題が発生する。これについて以下に詳述する。問題は、同一ワード線上に複数のCAMセルが接続されたアレイ構成であって、ベリファイ動作が同一ワード線上の複数のCAMセルに対して同時に行われる場合に発生する。図1Aには、同一ワード線上に配置された複数のCAMセルのプログラム状態が示されている。図1Aに示す1のCAMセルは、イレースセルであり、プログラムされていないことを示している。また、0のCAMセルは、プログラムセルであり、すでにプログラムされたセルであることを示している。ここで、図1Aに示すワード線上のCAMセルに、図1Bに示すような前記インタフェース1であるI/O入力がなされたとする。なお、図1Bに示す1は、プログラム実行に設定し、0はプログラムは行わずに、そのままの状態を維持するように設定する。半導体装置は、上述したプレリードによりワード線上の各CAMセルからデータを読出して、プレリードしたデータとI/Oから入力したデータとを比較し、イレース状態情報1が記憶されているにあり、I/Oによってプログラムする1が入力されたに設定されたメモリセルだけにプログラムを実行する。ここでは、図1Cに示すようにワード線上の一番右側のCAMセルでプログラムが実行される。プログラム後には、ベリファイを行う。プログラム後のCAMセルから読出したデータと、I/O入力したデータを期待値として使用してこれらを比較する図1D参照。この時、図1Dに示すようにすでにプログラムが行われたCAMセルに対してI/O入力した期待値がプログラムしない設定であった場合、比較結果はフェイルとなり、ベリファイ動作がフェイルしてしまう。また上述したインタフェース2の指定方法の場合、コマンド入力によってプログラムするCAMセルだけを指定する方法であるため、同一ワード線上のプログラムが行われなかったCAMセルに対応する期待値を発生させることができず、ベリファイ動作が実現できない。本発明は上記事情に鑑みてなされたものであり、CAMセルを備える半導体装置において、データの書き換えやベリファイを正常に行うことができる半導体装置およびベリファイ方法を提供することを目的とする。かかる目的を達成するために本発明の半導体装置は、半導体装置の動作設定情報を記憶するセルアレイと、前記セルアレイの読出しと書込みを制御する制御部とを有し、前記制御部は、前記動作設定情報の機能毎に異なるローアドレスを割り付ける構成を備えている。動作設定情報の機能毎に異なるローアドレスを割り付けるので、プログラム時に、選択されていない機能のセルアレイにストレスゲートディスターブを与えることがない。上記の半導体装置において、前記制御部は、前記動作設定情報の機能毎に異なるコラムアドレスを割り付けるとよい。動作設定情報の機能毎に異なるコラムアドレスを割り付けるので、選択されていない機能のセルアレイにストレスドレインディスターブを与えることがない。上記の半導体装置において、前記制御部は、前記動作設定情報の複数の異なる機能に対して連続するコラムアドレスを割り付けるとよい。複数の異なる機能に対して連続するコラムアドレスを割り付けているので、データを連続的に読出し、読出し時間を短縮させることができる。上記の半導体装置において、前記制御部は、前記ローアドレスで選択される複数のコラムに前記動作設定情報を割り付けるとよい。または、前記制御部は、前記ローアドレスで選択される任意のコラムの全てのI/Oに前記動作設定情報を割り付けると良い。読出しサイクル数を最小限にして、読出し時間を短縮させることができる。上記の半導体装置において、前記ローアドレスの異なるメモリセル間で、ローカルビット線の配線パターンを切断した構成を備えている。ローアドレスの異なるメモリセル間で、ローカルビット線の配線パターンを切断しているので、機能の異なるメモリセル間でワード線を同時に選択した状態のまま、コラムアドレスの切り換えでデータを読み出すことができる。上記の半導体装置において、前記ローアドレスの異なるメモリセルは、コラム対応に設けたビット線との接続を切り換えるスイッチをそれぞれに有するとよい。機能の異なるメモリセル間でワード線を同時に選択した状態のまま、コラムアドレスの切り換えでデータを読み出すことができる。上記の半導体装置において、前記セルアレイはコラム毎に複数のメモリセルを有し、前記動作設定情報が格納されていない前記複数のメモリセルは、コラム対応に設けられているビット線から切り離されているとよい。従って、プログラム時に、選択されていない機能のセルアレイにストレスを与えることがない。上記の半導体装置において、前記制御部は、前記セルアレイ上の全ワード線を選択し、前記コラムアドレスを連続的に切り換えてデータを読み出すとよい。ワード線の切り換えを行わずに、コラムアドレスの切り換えだけでデータを読み出すことができ、読出し時間の短縮を図ることができる。上記の半導体装置において、前記制御部は、指定されたメモリセルの番号から、該当するメモリセルのアドレスに変換する変換テーブルを有するとよい。指定したセルのアドレスに変換することができるので、所望のセルをプログラムすることができる。本発明は、半導体装置の動作設定情報を記憶するセルアレイへのアドレス割り付け方法であって、前記動作設定情報の機能毎に異なるローアドレスを割り付ける。動作設定情報の機能毎に異なるローアドレスを割り付けるので、プログラム時に、選択されていない機能のセルアレイにストレスを与えることがない。また、機能毎のイレースが可能となる。上記アドレス割り付け方法において、前記動作設定情報の機能毎に異なるコラムアドレスを割り付けるとよい。動作設定情報の機能毎に異なるコラムアドレスでデータを読み出すことができる。上記アドレス割り付け方法において、前記動作設定情報の複数の異なる機能に対して連続するコラムアドレスを割り付けるとよい。複数の異なる機能の動作設定情報を読み出しやすくなる。上記アドレス割り付け方法において、前記セルアレイ上の全ワード線を選択し、前記コラムアドレスを連続的に切り換えてデータを読み出すとよい。従って、ワード線の切り換えを行なわずに、コラムアドレスの切り換えだけで動作設定情報を読み出すことができる。本発明は、半導体装置の動作設定情報を記憶するセルアレイと、前記セルアレイの複数のセルに同時にプログラムする書込み回路と、前記複数のセルのうち、実際にプログラムが行われたセルのプログラム結果だけを検証するベリファイ回路と、を有する構成を備えている。このように本発明は、実際にプログラムが行われたセルのプログラム結果だけを検証することができる。上記の半導体装置において、前記ベリファイ回路は、正常にプログラムが行われた場合に得られる期待値データと、前記プログラム後に前記セルまたはセンスアンプから読出したデータとを比較する複数の比較回路と、前記プログラムの行われていない前記セルに割り当てられた前記比較回路の比較結果を、擬似的にパスさせる制御を行う制御手段とを有しているとよい。このようにプログラムの行われていないセルに割り当てられた比較回路の比較結果を、擬似的にパスさせる制御を行うので、プログラムされたセルのプログラム結果をベリファイに反映させることができる。上記の半導体装置において、前記制御手段は、外部入力によってプログラムに指定されたセルであって、前記プログラム前にイレースビットであったセルを判定し、前記制御手段からの指示により、前記セルがプログラムされた場合に得られる期待値データを生成して、前記セルに割り振られた前記比較回路に出力する期待値保持回路をさらに有しているとよい。このように実際にプログラムが行われたセルを判定して、このセルに割り当てられた比較回路に期待値データを出力するので、プログラムされたセルのプログラム結果を正確に判定することができる。上記の半導体装置において、半導体装置の動作設定情報を記憶するセルアレイと、前記セルアレイの複数のセルに同時にプログラムする書込み回路と、前記プログラム前の前記複数のセルの記憶データを記憶する揮発性記憶回路と、前記複数のセルのうち、前記プログラムが行われていないセルには前記記憶データをそのまま用いて検証を行い、実際に前記プログラムが行われたセルには正常にプログラムが行われた場合に得られる期待値データを用いてプログラム結果を検証するベリファイ回路と、を有しているとよい。このように本発明は、プログラムが行われていないセルには記憶データをそのまま用いて検証を行い、実際にプログラムが行われたセルには正常にプログラムが行われた場合に得られる期待値データを用いてプログラム結果を検証するので、プログラムされたセルのプログラム結果を正確に検証することができる。上記の半導体装置において、前記ベリファイ回路は、正常にプログラムが行われた場合に得られる期待値データと、前記プログラム後に前記セルまたはセンスアンプから読出したデータとを比較する複数の比較回路と、実際にプログラムが行われたセルを判定し、当該セルに割り当てられた前記比較回路に、前記正常にプログラムが行われた場合に得られる期待値データを用いてプログラム結果を検証させる制御手段と、を有しているとよい。実際にプログラムされたセルを判定して、プログラムされたセルのプログラム結果を正確に検証することができる。上記の半導体装置において、前記制御手段は、外部入力によってプログラムに指定されたセルであって、前記プログラム前にイレースビットであったセルに該当する前記揮発性記憶回路に記憶した前記期待値データを、プログラムされた場合の期待値データに変更して、前記比較回路に出力させるとよい。実際にプログラムされたセルを判定して、プログラムされたセルのプログラム結果を正確に検証することができる。上記の半導体装置において、前記制御手段は、前記複数のセルごとに、プログラム対象に設定するか否かを指示する指示信号を外部入力し、前記プログラム対象に設定されたセルがイレースビットのセルであるか否かを判定して実際にプログラムを行うセルを判定するとよい。外部からの指示信号によりプログラム対象のセルを設定して、指定したセルのプログラムを行うことができる。上記の半導体装置において、前記制御手段は、外部入力されるアドレス情報をデコードして、プログラム対象に設定されたセルを判定し、前記プログラム対象に設定されたセルがイレースビットのセルであるか否かを判定して実際にプログラムを行うセルを判定するとよい。外部入力されるアドレス情報によりプログラム対象のセルを設定して、指定したセルのプログラムを行うことができる。上記の半導体装置において、前記制御手段は、外部入力されるモード切換信号により、前記プログラム対象のセルを指定するインタフェースを切り換えるとよい。複数のインタフェースに対応してプログラムするセルの指定を受け付けることができる。上記の半導体装置において、前記動作設定情報を記憶するセルアレイへのプログラム後のベリファイと、通常のデータを記憶する通常用セルアレイへのプログラム後のベリファイとで、前記ベリファイ回路を共有するとよい。ベリファイ回路を共有することができるので、回路の小型化を図ることができる。上記の半導体装置において、前記比較回路は、前記動作設定情報を記憶するセルアレイへのプログラムに切り換えるモード信号が入力されて、前記期待値データと前記セルまたはセンスアンプから読出したデータの比較を行うとよい。ベリファイの時にだけ比較回路を動作させることができる。上記の半導体装置において、前記動作設定情報を記憶するセルアレイへのプログラム時には、前記揮発性記憶回路の出力を使用して前記比較回路で比較動作を行い、通常のデータを記憶する通常用セルアレイへのプログラム時には、前記セルがプログラムされた場合に得られる期待値データを保持する期待値保持回路の出力を使用して前記比較回路の比較動作を行うとよい。動作設定情報を記憶するセルアレイへのプログラム時と、通常用セルアレイへのプログラム時とで異なるベリファイの制御を行うことができる。本発明は、半導体装置の動作設定情報を記憶するセルアレイのベリファイ方法であって、前記セルアレイの複数のセルのうち、実際にプログラムが行われたセルのプログラム結果だけを検証する。このように本発明は、実際にプログラムが行われたセルのプログラム結果だけを検証することができる。本発明は、半導体装置の動作設定情報を記憶するセルアレイのベリファイ方法であって、前記複数のセルのうち、前記プログラムが行われていないセルには、当該セルの前記プログラム前のデータをそのまま用いて検証を行い、実際に前記プログラムが行われたセルには正常にプログラムが行われた場合に得られる期待値データを用いてプログラム結果を検証する。このように本発明は、プログラムが行われていないセルには記憶データをそのまま用いて検証を行い、実際にプログラムが行われたセルには正常にプログラムが行われた場合に得られる期待値データを用いてプログラム結果を検証するので、プログラムされたセルのプログラム結果を正確に検証することができる。本発明は、動作設定情報を記憶するセルアレイを備える半導体装置において、データの書き換えやベリファイを正常に行うことができる。次に、添付図面を参照しながら本発明を実施するための最良の形態について説明する。添付図面を参照しながら本発明の好適な実施例を説明する。まず、図2を参照しながら本実施例の全体構成を説明する。本実施例の半導体装置1は、セルアレイ部2として通常のデータを記憶する通常用セルアレイ3と、CAM用のデータを記憶するCAM用セルアレイ4とを備えている。CAM用セルアレイ4は、通常用セルアレイ3と同様にメモリセルが複数の行及び列に配置された構成を持つ。CAM用セルアレイ4には、半導体装置1の動作設定情報所謂CAMデータが記憶される。例えば、通常用セルアレイ3のライトプロテクト情報、半導体装置1の内部電圧調整情報、内部タイミング調整情報、動作モード切り換え情報、メモリセル冗長ビットの情報などが記憶される。またこれらのセルアレイへのデータの書込み、読出し及び消去を実現するための周辺回路が設けられている。周辺回路には、図1に示すようにローデコーダ5、コラムデコーダ6、コマンドレジスタ7、コントローラ8、プログラム電圧発生回路9、センスアンプ10、揮発性メモリ部11、判定回路12、ベリファイ回路13、データ入出力回路14等が設けられている。ローデコーダ5は、データ書込み時、消去時および読出し時に、それぞれのアドレスにもとづいて複数のワード線WLを選択駆動するものであり、そのワード線ドライバ図示していないにはプログラム電圧発生回路9から所要の電圧が供給される。コラムデコーダ6は、外部入力されたアドレスをもとにセルアレイの列、すなわちグローバルビット線やローカルビット線を選択する。コマンドレジスタ7は、外部からのコマンドを内部制御信号にデコードする。コントローラ制御部8は、このコマンドレジスタ7によってデコードされた内部制御信号に応答して、コマンドに対応する内部動作を制御する。コントローラ8は、例えばマイクロプロセッサで構成され、前述内部制御信号に応じてプログラム電圧発生回路9、判定回路12、ベリファイ回路13等を制御する。CAM用セルアレイ4に記憶されたCAMデータは、半導体装置1のパワーオン時、又はハードウェアのリセット時などに揮発性メモリ部11に転送され、記憶される。揮発性メモリ部11にCAMデータを読出しておくことで、通常用セルアレイ3のリードアクセス時にCAMデータの読出しによってリード動作に遅延を生じさせない。なお、この読出し動作時間は、起動時間の増大につながるため、CAMデータを短時間で転送することが望ましい。データ入出力回路14は、外部からプログラムの指示を入力したり、読出したデータを出力するI/O端子を備えている。また、データ入出力回路14は、通常用セルアレイ3と、CAM用セルアレイ4へのデータの書込みプログラムと、読出しリードとを行う。次に、CAM用セルアレイ4の構成について説明する。図3に、CAMデータのCAM用セルアレイ4への割り付けを示すビットマップを示す。CAM用セルアレイ4は、ユーザブロックとファクトリブロックとの機能ブロックに分かれている。データの消去は、この機能ブロック単位に行われる。ユーザブロックとは、ユーザが書き換え可能なライトプロテクトビット以下、WPビットとも表記するなどを書き込む領域である。ライトプロテクトビットは、メモリセルへのプログラム又はイレースを制御するビットであり、任意数のセクタ以下、この単位をセクタグループと呼ぶを単位として設定される。図3に示す例では、WPビットは、望ましくはDQ0~DQ15のすべてのI/Oに割り振られ、ワード線は1本1つのローアドレス、ローカルビット線LBLは、1I/O当たり4本、すなわち4コラムアドレス分LBL0~3、グローバルビット線GBLは1I/O当たり1本分GBL0に割り当てられている。なお、WPビットを、DQ0~DQ15のすべてのI/Oに割り振るとは、ローアドレスで選択される任意のコラムのメモリセルのすべてにデータを割り付けることを意味している。尚、WPビット数がI/O数で整数で割り切れないとき、I/O割り付けを重視してコラムを割り当てる又はコラム割り付けを重視してI/Oを割り付けるなど適宜に割り振ることで対処できる。例えば、WPビット数が60でI/O数が16の場合、I/O割り付けを重視してコラムを割り当てる方法では、最終コラムアドレス000011のWPビット60,61,62,63に対応するI/ODQが割り当てられないか、または先頭コラムアドレス000000のWPビット0,1,2,3に対応するI/ODQをシフトさせて割り当てることとなる。コラム割り付けを重視してI/Oを割り付ける方法では、WPビット15,31,47,63に対応するI/ODQを飛ばして割り当てることとなる。ユーザブロックは、WPビット0~63まで64ビット分で構成され、図5に示す対応関係変換テーブルと、図6に示す変換変換テーブルに従ってビット割り付けされる。すなわち、図5及び図6に示すように、各WPビット0~63は、I/OであるDQ端子のアドレスA17~A20と、コラムアドレスであるアドレスA21とA22とに対応している。ファクトリブロックは、ベンダーメーカが書き換えを行い、ユーザは書き換えができない機能ブロックである。この機能ブロックには、冗長データ、内部電圧トリミングデータ、内部タイミングトリミングデータなどが書き込まれる。図3に示すファクトリブロックでは、トリミングTriming用TR0~15の16ビットと、8ビットで1欠陥救済アドレスを記憶するセクタ冗長用のREDSECA~REDSECDの32ビット分と、8ビットで1欠陥救済アドレスを記憶するコラム冗長用のREDCOL~REDCOLの128ビット分とで構成される。ファクトリブロックも図3に示すようにDQ0~DQ15のすべてに割り振られ、ワード線は1本、ローカルビット線LBLは1I/O当たり11本分すなわち、11コラムアドレス分LBL4~14に相当、ファクトリブロックのグローバルビット線GBLは、1I/O当たり3本分GBL1~3が割り当てられている。図4に示すようにファクトリブロックもユーザブロックと同様に64ビット分で構成し、DQ0~DQ15のすべてに割り振ったものであってもよい。図7AにCAM用セルアレイ4の詳細な構成を示し、図7Bに通常用セルアレイ3の詳細な構成を示す。図7Aに示すCAM用セルアレイ4は、ファクトリブロックがユーザブロックの書き換えによってメモリ情報のゲートディスターブを受けないように、ファクトリブロックとユーザブロックとで互いに独立したワード線を持っている。すなわち、ファクトリブロックとユーザブロックとが異なるローアドレスに割り当てられている。図2に示すローデコーダ5は、外部から入力されたアドレスに基づいて、機能ブロックごとのCAMデータを異なるローアドレスに割り当てる。図7Aでは、ユーザブロックに含まれるWPビットに割り振られたワード線WL0と、ファクトリブロックに含まれるファクトリビットに割り振られたワード線WL1とが示されている。さらに同じ機能ブロックユーザブロック又はファクトリブロック内では、割り当てるワード線本数を最小限に設定している。これは、機能ブロック単位でデータの一括消去が可能なように構成するためである。なお、ゲートディスターブとは、プログラムするメモリセルと同一のワード線につながれ、ビット線は非選択のメモリセルのゲートにプログラム時の高電圧がかかり、チャージゲインを引き起こす現象である。この現象により非選択のメモリセルのデータがチャージゲインにより1閾値が低いから0閾値が高いへ変化してしまう。同様にコラムデコーダ6は、外部から入力されたアドレスに基づいて、機能ブロックごとのCAMデータを異なるコラムアドレスに割り当てる。またファクトリブロックとユーザブロックとで、コラムアドレスが連続するようにアドレスの割り付けを行なう。さらにファクトリブロックがユーザブロックの書き換えなどによってメモリ情報のドレインディスターブを受けないように、図7Aに示すようにファクトリブロックとユーザブロック間でビット線を分離する。すなわち、コラムデコーダ6は、ユーザブロックとファクトリブロックとで、互いに独立したコラムアドレスをデータに割り当てる。また異なる機能ブロック間ではコラムアドレスが連続するようにコラムデコーダ6は、設定する。なお、ビット線の分離とは、ローカルビット線やグローバルビット線の物理的な分離と、電気的な分離の両方を指す。また、ドレインディスターブとは、プログラムするメモリセルと同一のビット線につながれ、ワード線は非選択のメモリセルのドレインにプログラム時の高電圧がかかり、チャージロスを引き起こす現象である。この現象により非選択のメモリセルのデータがチャージロスにより0閾値が高いから1閾値が低いへ変化してしまう。また、全ワード線例えばワード線WL1とWL2を選択した状態で、コラムアドレスを切り換えるだけでCAMデータをすべて読み出せるようにするために、機能ブロック間で同一コラムアドレスを持たないようにし、かつ機能ブロック内でコラムアドレスを連続させる。すると、ワード線切り換えの時間を省くことができ、CAMデータをCAM用セルアレイ4から揮発性メモリ部11へ短時間で転送することができる。その場合、複数のワード線を同時に選択した時に、同一ビット線に必要なセルデータと不要なセルデータが重複して選択されないように不要なセルデータが接続されるビット線は切り離す。さらに、ユーザブロックと、ファクトリブロックとで同じコラムアドレスを持たないことを利用して、図8Aに示すようにユーザブロックとファクトリブロック間のローカルビット線LBLの配線パターンを物理的に断線し、かつ切断されたローカルビット線LBLをグローバルビット線に接続しない。又はユーザブロックとファクトリブロックをセクタの概念で分離し、図7Aに示すようにグローバルビット線につなぐコラムスイッチをユーザブロックとファクトリブロックのそれぞれで持つことで電気的に切り離す。これにより、電源投入時などにおいて、CAM用セルアレイ4から揮発性メモリ11へのデータの読出し時、ユーザブロックのワード線とファクトリブロックのワード線を同時に選択した状態のまま、コラムアドレスの選択切換のみでCAMデータを読み出すことができる。ワード線の選択切り換えを行う必要がない分、さらにCAMデータ全ビットの総読出し時間を短縮させることができる。図9に、プログラム/イレース動作用のアドレス信号をバンク毎のコラムアドレス信号に変換する変換回路の構成を示す。この変換回路は、コラムデコーダ6内に設けられ、CAMプログラムモード信号CAMPGMを活性状態と非活性状態とに切り換えることで、通常用セルアレイ3のコラムアドレスと、CAM用セルアレイ4のコラムアドレスとに切り換えることができる。変換回路の構成は、プログラム/イレース動作用のアドレス信号WA0又はWA1と、CAMPGM信号とを入力するORゲート121と、CAMPGM信号の反転出力と、アドレス信号WA21又はWA22とをそれぞれに入力するORゲート123と、ORゲート121、123の出力を入力するNANDゲート124と、NANDゲート124の出力を反転させるインバータ125とを有している。インバータ125の出力がコラムアドレスAA0,AA1となる。CAMPGM信号が非活性の場合には、アドレス信号WA1/WA0信号がそのままコラムアドレス信号AA1/AA0となる。またその他は、CAMPGM信号と、各アドレス信号WA2,WA3,WA4,WA5とを入力するORゲート131と、CAMPGM信号の反転出力と、電源電圧VCCとを入力するORゲート133と、ORゲート131と133の出力を入力するNANDゲート134と、NANDゲート134の出力を判定させるインバータ135とを有している。インバータ135の出力がコラムアドレスAA2,AA3,AA4,AA5となって出力される。プログラム/イレース用のアドレス信号を、DQ変換する変換回路を図10に示す。この変換回路は、データ入出力回路14内にスイッチとして設けられ、DQ0を生成する変換回路は、アドレス信号WA20、19、18、17を入力するNORゲート142と、CAMPGM信号とNORゲート142の出力とを入力するNANDゲート143と、NANDゲート143の出力を反転するインバータ144とから構成されている。同様の回路構成により、DQ0~DQ15を生成する変換回路が構成される。CAMPGM信号が活性化した場合、WA0~WA17がCAM_DQ15~CAMDQ_0に割り当てられる。通常用セルアレイ3が選択状態つまりCAMPGM信号が非活性の場合には、CAM_DQ15~CAM_DQ0が非活性状態となる。ライトプロテクトビットのプログラム時には、図10に示す変換回路によってプログラム対象となるDQのみが活性化動作して、プログラム非対象のDQは無視されるように印加ストレス、期待値、判定信号が制御される。上述した実施例は本発明の好適な実施例であるが、これに限定されるものではない。例えば、ファクトリブロックにOneTimeProgrammableRomOTP-Romを含めても良い。OTP-Romは、ユーザが一度だけプログラムできる機能メモリである。ユーザに与えられた機能という視点ではファクトリブロックとは異なるが、一度プログラムしたら再度プログラムできない機能の視点からは、何度もプログラムやイレースができるユーザブロックからは分離する。すなわち、ゲートディスターブ、ドレインディスターブを回避することが要求される。また、ユーザブロックをライトビットブロックではなく、リードビットブロックとし、任意のセクタ単位でリードの制御を行うようにしてもよい。また、上述した実施例では、ファクトリブロックとユーザブロックとの間でローカルビット線の物理的な分離やグローバルビット線への電気的な分離を開示したが、これに限らずファクリトブロックとユーザブロック間のグローバルビット線を物理的や電気的に分離してもよい。また通常用セルアレイとCAM用セルアレイとはデータバスを共有するように接続されていてもよいし、ユーザブロックとファクトリブロックのグローバルビット線を共有するように接続してもよい。また、ウェルは、ユーザブロックとファクトリブロックとで分離してもよいし、共通でもよい。共通であれば、ダイサイズを縮小することができる。なお、共通の場合には、ユーザブロックでの消去動作時に、ファクトリブロックのワード線をフローティング制御する。まず、図11を参照しながら本実施例の構成を説明する。図11には、半導体装置1のデータを記憶するセルアレイ部2と、セルアレイ部2へのデータの書込み状態や、データの消去状態を確認するベリファイ回路13と、データ入出力回路14内の期待値保持回路32の構成が示されている。なお、本実施例においても、16ビットの同時書込みモードを備え、通常用セルアレイ3又はCAM用セルアレイ4の16メモリセルに同時アクセスしてプログラムすることができる。ベリファイ回路13には、図11に示すようにWPビットセレクト回路33と、データ比較回路34とが備えられている。データ入出力回路14内の期待値保持回路32とデータ比較回路34とは、16I/Oに対応して、16個ずつ設けられている。WPビットセレクト回路33には、図11に示すようにインタフェースモード設定信号と、各I/Oから入力される信号と、ライトプロテクト用のCAM以下、WP-CAMを指定するアドレスWP-CAMアドレス指定信号とが入力される。プログラムするCAMセルの指定方法には2通りの方法がある。1つは、プログラムしたいCAMセルに対応するI/Oに情報1を、その他のプログラムしたくないCAMセルに対応するI/Oには情報0を入力することで指定する方法以下、I/Oモードと呼ぶである。もう1つは、プログラムしたいCAMセルに対して、対応するアドレスを入力する方法以下、アドレスモードと呼ぶである。インタフェースモード設定信号は、プログラムするCAMセルの指定方法を、この2つで切り換える信号である。図12にWPビットセレクト回路33の詳細な構成を示す。図12に示すようにWPビットセレクト回路33は、デコーダ51と、ANDゲート53と、スイッチ54とを主として備えている。ANDゲート53とスイッチ54とは、16I/Oに対応して16個ずつ設けられている。これらの構成により、擬似的にベリファイをパスさせるデータ比較回路34を選択する。インタフェースモード設定信号によって、アドレスモードに設定されると、スイッチ54-0~54-15はOFFし、入力したWP-CAMアドレス指定信号をデコーダ51でデコードして、ベリファイコントロール信号を生成する。また、インタフェースモード設定信号によって、I/Oモードに設定されると、インバータ52を介してデコーダ51に入力されるインタフェースモード設定信号によりデコーダ51がOFFになり、スイッチ54-0~54-15がONする。ANDゲート53-0~53-15には、各I/Oから入力した信号I/O-0~I/O15と、CAMセルから予め読出したプレリードデータDAVとが入力され、これらの信号の論理積をANDゲート53-0~53-15で取る。すなわち、CAMセルのプログラム前のデータと、I/O入力したデータとが共に1の時にハイレベルの信号をベリファイコントロール信号として出力する。それ以外の時にはローレベルの信号をベリファイコントロール信号として出力する。期待値保持回路32-0~32-15は、図11に示すように各I/Oに対応して設けられ、I/O入力した情報を保持する。保持した情報は、通常用セルアレイ3のプログラム後に期待値データとしてデータ比較回路34に出力される。また期待値保持回路32-0~32-15は、I/Oモードに設定されCAM用セルアレイ4のプログラム時に、I/O入力した情報を保持する。保持した情報は、CAM用セルアレイのプログラム後に期待値データとしてデータ比較回路34に出力される。また期待値保持回路32は、アドレスモードに設定されCAM用セルアレイ4のプログラム時に、インタフェースモード設定信号によりスイッチ35がONになると、WPビットセレクト回路33から出力されるベリファイコントロール信号を入力して期待値を生成する。そのデータは、CAM用セルアレイのプログラム後に期待値データとしてデータ比較回路34に出力される。データ比較回路34-0~34-15もI/Oに対応してそれぞれ設けられ、通常用セルアレイ3やCAM用セルアレイ4から読出したデータと、期待値保持回路32-0~32-15に保持されたデータ期待値とを比較する。また、CAM用セルアレイ4のプログラム時には、データ比較回路34は、WPビットセレクト回路33からのベリファイコントロール信号によって、プログラム非対象のセルはすべて擬似的にベリファイをパスさせる。次に、図13に示すフローチャートと、図14を参照しながら本実施例のI/Oモードに設定されCAM用セルアレイ4のプログラム時の動作を説明する。なお、本実施例では、書込みを保護するライトプロテクトの設定を、複数のセクタからなるセクタグループごとに行うことが可能であり、セクタグループごとにI/Oが割り振られている。書込みを保護するライトプロテクトに設定するセクタグループを選択すると、該当するセクタグループのWP-CAMセルに保護データがプログラムされる。まず、プログラムするWP-CAMセルを設定したCAMプログラム設定信号I/O-0,115を各I/Oから入力するステップS10。プログラムするWP-CAMセルに該当するI/Oには、プログラム実行を指示する情報1が入力され、その他のI/Oには、プログラムを行わないように指示する情報0が入力される図14のB参照。次に、WP-CAMセルに既に記憶済みのデータを読出して、プレリードするステップS11。プレリードしたデータを判定して、各WP-CAMセルのデータ書込み状態を判定する。既にデータが書き込まれ、プログラムされた状態の場合には、情報0が記憶されており、データが書き込まれていないイレース状態の場合には、情報1が記憶されている図14のA参照。次に、I/O入力信号によって書込みに設定され、現在の状態がイレース状態にあるWP-CAMセルを検出するステップS12。プレリードしたWP-CAMセルのデータが1のイレース状態で、I/O入力が1のWP-CAMセルを検出する。この判定には、図11に示す期待値保持回路32、データ比較回路34を使用することもできる。そして検出したWP-CAMセルに対して、プログラムを実行するステップS13例えば、図14のC参照。プログラムを実行すると、データが確かにWP-CAMセルに書き込まれたか否かを判定するベリファイをベリファイ回路13で実施する。この時、I/Oモードに設定されたインタフェースモード設定信号により、I/Oごとに設けられたスイッチ35-0~35-15をOFFさせる。またインタフェースモード設定信号は、WPビットセレクト回路33にも入力され、スイッチ54-0~54-15をONに設定する。WPビットセレクト回路33は、各WP-CAMセルからプレリード時に読出したデータと、I/O入力した信号I/O-0,115との論理積をANDゲート53-0~53-15で取り、ベリファイコントロール信号を生成する。I/O入力が1でプログラムに指定され、プレリードデータも1でイレースセルであった場合にハイレベルのベリファイコントロール信号がデータ比較回路34に出力される。それ以外の場合には、ローレベルのベリファイコントロール信号がデータ比較回路34に出力される。期待値保持回路32-0~32-15は、入力したI/O-0,115の信号をそのままラッチしており、ラッチしたデータを所定タイミングでDIN0,1,2,15としてデータ比較回路34-0~34-15に出力する。このデータを期待値データと呼ぶ。また各データ比較回路34-0~34-15には、WPビットセレクト回路33からのベリファイコントロール信号も入力される。データ比較回路34-0~34-15は、WP-CAMセルから読出したデータ、すなわちプログラム後のデータと、期待値保持回路32-0~32-15から読出した期待値とを比較する。このとき、WPビットセクレト回路33からローレベルのベリファイコントロール信号が入力されているデータ比較回路34では、比較動作を行わずにハイレベルのマッチ信号を出力し、ベリファイを擬似的にパスさせる図14のD参照。またWPビットセクレト回路33からハイレベルのベリファイコントロール信号が入力されているデータ比較回路34では、対応する期待値保持回路32から入力した期待値データと、WP-CAMセルのプログラム後のデータとを比較する。I/O入力が1でプログラムするに設定され、プログラム後にWP-CAMセルから読み込んだデータが1でイレース状態であった場合には、Failを示すローレベル信号を判定回路12に出力する。また、図14Dに示すようにI/O入力が1で、プログラム後にWP-CAMセルから読み込んだデータが0でプログラム状態であった場合には、ベリファイがパスしたことを示すハイレベル信号を判定回路12に出力する。判定回路12は、各データ比較回路34-0~34-15から出力されるマッチ信号がすべてHレベルの時に、データの書込み成功のベリファイ信号をコントローラに出力する。このように本実施例は、プログラムの行われていないCAMセルに割り当てられたデータ比較回路の比較結果を、擬似的にパスさせる制御を行うので、プログラムされたCAMセルのプログラム結果をベリファイに反映させることができる。次に、外部からセクタグループアドレスSGAが指定された場合の動作を図15に示すフローチャートと図16を参照しながら説明する。なお、図16に示すようにWP-CAMのプログラムコマンドを実行するためのシーケンスは、5サイクルでコマンド認識の手順を行い、6サイクル目で情報を書き換える。すなわちプログラムしたいSGAを指定して、合計6サイクルで1つのSGAのプログラムを実行する。まず、プログラムするWP-CAMセルを設定したWP-CAMアドレス指定信号を入力する。このWP-CAMアドレス指定信号をデコーダで解析しステップS20、実際にプログラムするWP-CAMセルに対応するアドレスを発生する。ベリファイ回路13においても、WP-CAMアドレス指定信号をデコーダ51でデコードする。そして、プログラムするWP-CAMセルに対応する期待値保持回路32と、データ比較回路34とにハイレベルのベリファイコントロール信号を出力する。その他の期待値保持回路32とデータ比較回路34には、ローレベルのベリファイコントロール信号を出力する。次に、デコード結果から割り出されたWP-CAMセルに既に記憶されているデータを読出してプレリードするステップS21。プレリードしたデータを判定して、該当WP-CAMセルのデータ書込み状態を判定する。該当WP-CAMセルがイレース状態であると判定した場合にはステップS22/YES、そのセルにデータを書込み、プログラム状態とするステップS23。該当WP-CAMセルがプログラム状態であった場合にはステップS22/NO、すでにプログラム済みとして処理を終了する。WP-CAMセルへのプログラムが終了すると、データが確かにWP-CAMセルに書き込まれたか否かを判定するベリファイをベリファイ回路13で実施する。WPビットセレクト回路33と、I/Oに対応して設けられたデータ比較回路34-0~34-15とはそれぞれ配線で接続され、WPビットセレクト回路33からベリファイコントロール信号が出力されている。またアドレスモードの時には、インタフェースモード設定信号によってスイッチ35-0~35-15をONさせている。このため、Hレベルのベリファイコントール信号が出力される配線に接続された期待値保持回路32だけベリファイコントロール信号が入力される。Hレベルのベリファイコントール信号が入力される期待値保持回路32は、該当するWP-CAMセルがプログラムされた場合の期待値0を生成してデータ比較回路34に出力するステップS24図16参照。その他のLレベルのベリファイコントロール信号を入力する期待値保持回路32は、期待値の生成を行わないステップS24。従って、データ比較回路34へは期待値は出力されない。期待値保持回路32から期待値0を入力したデータ比較回路34は、該当するWP-CAMセルに記憶されたデータを読出して、このデータDAViと期待値0図16には/DINiと表記するとを比較する。その他のデータ比較回路34は、ベリファイコントール信号がローレベルであるので、強制的にHレベルのマッチ信号を出力する。すなわち、擬似的にベリファイをパスさせる図16参照。判定回路12は、各データ比較回路34から出力されるマッチ信号がすべてHレベルの時に、データの書込み成功のベリファイ信号をコントローラに出力するステップS25。すなわち、実際にプログラムされたWP-CAMセルのデータ比較結果を、ベリファイの結果として出力することができる。図17に、図11に示す期待値保持回路32及びデータ比較回路34と、判定回路12の詳細な構成を示す。前述のようにデータ比較回路34の出力をWPビットセレクト回路33からのベリファイコントロール信号によって制御し、判定回路12に出力している。また、CAMセルを書き換えるモード信号であるCAMモード信号によりデータ比較回路34の制御を行っている。さらにインタフェースモード設定信号により期待値保持回路32の制御を行っている。次に、図18を参照しながら本発明の第3実施例を説明する。CAM用セルアレイ4に書き込まれたCAMデータは、パワーオン時、又はハードウェアリセット時にスイッチ61をONにしてリードされ、図18に示すSRAM等の揮発性メモリ11に転送される。CAMデータの読出しの時には、この揮発性メモリ11から読み出すことで通常用セルアレイ3のリードアクセスなどのスピードが遅れないようにしている。本実施例ではCAMへのプログラム時、この揮発性メモリ11に記憶しているデータを期待値データとして使用し、データ比較回路34でCAMセルから読出したデータと比較する。また、CAM用セルアレイ4にプログラムしたデータのベリファイ以外の時には、スイッチ62をCAMモード信号によって切り換えて期待値保持回路32とデータ比較回路34とをつなぐ。これにより、通常用セルアレイ3のベリファイ時には、期待値保持回路32を使用したベリファイも可能となる。図19にWPビットセレクト回路33の構成を示す。本実施例では、実施例2のANDゲート53を設けずに、インタフェースモード設定信号によってI/Oモードに設定されると、I/O入力した信号I/O0,1,15をそのままベリファイコントロール信号として出力する。またアドレスモード時には、インタフェースモード設定信号によりスイッチ54-0~54-15をOFFして、デコーダ51からのデコード信号を出力する。デコーダ51は、アドレスモードに設定されると、WP-CAMアドレス指定信号を入力してこの信号を解析し、プログラムに指定されたWP-CAMセルを割り出す。そして、該当するWP-CAMセルがプログラムに指定されたことを示すハイレベルのベリファイコントロール信号を揮発性メモリ11に出力する。プログラムに指定されていないその他のWP-CAMセルに対応するベリファイコントロール信号は、ローレベルで出力される。揮発性メモリ11には、CAMセルから読出したデータを保持する2つの記憶領域がある。第1記憶領域は、ベリファイによりCAMセルにそのデータが確かに記憶されていると証明されたデータを記憶する領域である。つまり、CAMセルへのプログラムベリファイを含む完了後のCAMセルアレイ内の不揮発性メモリ情報と同一性を保持する。従って、通常セルアレイ3の通常動作時にその動作上必要な回路などからCAMセルのデータを要求された時には、この第1記憶領域のデータを出力する。また第2記憶領域は、一時的な記憶領域として使用され、プログラム時などにプレリードしたCAMセルのデータを記憶しておく領域である。揮発性メモリ11は、WPビットセレクト回路33からベリファイコントロール信号を入力すると、この信号により指示されたWP-CAMセルの期待値として、プレリードにより読み込んだデータではなく図18に示すように0を出力する。また、その他のローレベルのベリファイコントロール信号に該当するWP-CAMセルのデータとして、プレリード時に第2記憶領域に記憶されたデータをそのまま出力イニシャルパスする。本実施例のI/Oモードに設定されCAM用セルアレイ4のプログラム時の動作手順を図20に示すフローチャートと図21を参照しながら説明する。まず、プログラムするWP-CAMセルを設定したCAMプログラム設定信号I/O-0,115を各I/Oから入力するステップS30。プログラムするWP-CAMセルに該当するI/Oには、プログラム実行を指示する情報1が入力され、その他のI/Oには情報0が入力される。次に、WP-CAMセルからデータをプレリードし、各WP-CAMセルのデータ書込み状態を判定するステップS31。既にデータが書き込まれ、プログラムされた状態の場合には、情報0が記憶されており、データが書き込まれていないイレース状態の場合には、情報1が記憶されている。次に、I/O入力信号によって書込みに設定され、現在の状態がイレース状態にあるWP-CAMセルを検出するステップS32。プレリードしたWP-CAMセルのデータが1のイレース状態で、I/O入力が1のWP-CAMセルを検出する。また書込みに指定されたWP-CAMセルが、すでにプログラム済みのものしかなかった場合には、この処理を終了し、エラーを出力する。なお、ここまでの処理はコントローラ8で行われる。次に検出したWP-CAMセルに対して、プログラムを実行するステップS33。プログラムを実行すると、データが確かにWP-CAMセルに書き込まれたか否かを判定するベリファイをベリファイ回路13で実施する。この時、インタフェースモード設定信号により、I/Oごとに設けられたスイッチ54-0~54-15をONに設定する。またデコーダ51は、インバータ52を介して入力されるインタフェースモード設定信号により動作を停止する。WPビットセレクト回路33は、入力したI/O-0,115の信号をそのまま揮発性メモリ11にベリファイコントロール信号として出力する。すなわち、プログラムに指定されたWP-CAMセルには、1がI/O入力されるため、ベリファイコントロール信号としてハイレベルの信号を出力する。その他のWP-CAMセルに対応するベリファイコントロール信号はローレベルとなる。揮発性メモリ11は、ハイレベルのベリファイコントロール信号で指定されるWP-CAMセルのデータとして期待値0をデータ比較回路34に出力する図21参照。その他のWP-CAMセルの期待値データは、第2記憶領域に記憶したプレリード時のデータをそのまま出力する図21参照。各データ比較回路34-0~34-15は、各WP-CAMセルからプログラム後に読み込んだデータと、揮発性メモリ11から読み込んだ期待値とを比較するステップS34。プログラムが行われていないWP-CAMセルから読出したデータと期待値とは必ず一致するので、プログラムを行ったWP-CAMセルのデータと期待値の一致検出が、そのままベリファイの判定結果となる。WP-CAMセルから読出したデータと期待値とが一致しなかった場合にはステップS35/NO、もう一度プログラムからやり直すステップS33。また、WP-CAMセルから読出したデータと期待値とが一致した場合にはステップS35/YES、一致を示すマッチ信号がデータ比較回路34から判定回路12に出力される。判定回路12は、すべてのデータ比較回路34からのマッチ信号が一致を示している場合には、ベリファイパスを示す信号をコントローラ8に出力するステップS36。ベリファイに成功すると、WP-CAMセルまたはセンスアンプからデータを読み込んで、揮発性メモリ11の第1記憶領域に記憶し、正式なWP-CAMセルのデータとするステップS37。本実施例も、プログラムの行われていないCAMセルに割り当てられたデータ比較回路の比較結果を、擬似的にパスさせる制御を行うので、プログラムされたCAMセルのプログラム結果をベリファイに反映させることができる。次に、図22のフローチャート、及び図23を参照しながらアドレスモード時の動作手順を説明する。まず、プログラムするWP-CAMセルを設定したWP-CAMアドレス指定信号を入力する。このWP-CAMアドレス指定信号をデコーダで解析しステップS40、実際にプログラムするWP-CAMセルに対応するアドレスを発生する。ベリファイ回路13においても、WP-CAMアドレス指定信号をデコーダ51でデコードする。そして、プログラムするWP-CAMセルを指定するベリファイコントロール信号を揮発性メモリ11に出力する。次に、デコード結果から割り出されたWP-CAMセルに既に記憶されているデータを読出してプレリードするステップS41。プレリードしたデータを判定して、該当WP-CAMセルのデータ書込み状態を判定する。該当WP-CAMセルがイレース状態であると判定した場合にはステップS42/YES、そのセルにデータを書込み、プログラム状態とするステップS43。該当WP-CAMセルがプログラム状態であった場合にはステップS42/NO、すでにプログラム済みとして処理を終了する。以降、上述した図20に示すフローチャートと同様に、検出したWP-CAMセルに対してプログラムが行われ、ベリファイが実施される。なお、ベリファイ時に、揮発性メモリ11はハイレベルのベリファイコントロール信号で指定されるWP-CAMセルのデータとして期待値0をデータ比較回路34に出力する図23参照。その他のWP-CAMセルの期待値データは、第2記憶領域に記憶したプレリード時のデータをそのまま出力する図23参照。各データ比較回路34-0~34-15は、各WP-CAMセルからプログラム後に読み込んだデータと、揮発性メモリ11から読み込んだ期待値とを比較して、比較動作を行う。WP-CAMセルからプログラム後に読み込んだデータと期待値とが一致すると、ベリファイパスを示す信号がコントローラ8に出力される。ベリファイに成功すると、WP-CAMセルまたはセンスアンプからデータを読み込んで、揮発性メモリ11の第1記憶領域に記憶し、正式なWP-CAMセルのデータとする。図24に詳細な構成を示す。図24に示す半導体装置は、CAMモード信号によりデータ比較回路34の入力を切り換えている。すなわち、CAMモード時には、揮発性メモリ11からの出力をデータ比較回路34に出力し、通常時には、期待値保持回路32の出力をデータ比較回路34に出力している。上述した実施例は本発明の好適な実施例である。但しこれに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。例えば、揮発性メモリ11は、1つの記憶領域第1記憶領域のみであっても実現できる。CAM用セルアレイ4に書き込まれたCAMデータは、パワーオン時、又はハードウェアリセット時にスイッチ61をONにしてリードされ、揮発性メモリ11第1記憶領域に転送される。プレリードは、この揮発性メモリ11の情報を読み出すことでWP-CAMセルのデータが1のイレース状態で、I/O入力が1のWP-CAMセルを検出する。次に検出したWP-CAMセルに対して、プログラムを実行する。プログラムを実行すると、データが確かにWP-CAMセルに書き込まれたか否かを判定するベリファイをベリファイ回路13で実施する。WPビットセレクト回路33は、揮発性メモリ11にベリファイコントロール信号としてプログラムに指定されたWP-CAMセルにはハイレベルの信号を出力し、その他のWP-CAMセルに対応するベリファイコントロール信号はローレベルを出力する。揮発性メモリ11は、ハイレベルのベリファイコントロール信号で指定されるWP-CAMセルのデータとして第1記憶領域の読み出し出力部図示せずを第1記憶領域の情報とは無関係に期待値0をデータ比較回路34に出力する。簡易的には、第1記憶領域の読み出し出力部にベリファイコントロール信号によるクランプ回路を付加して出力を0にクランプする。その他のWP-CAMセルの期待値データは、第1記憶領域の情報を、前記クランプ部を作用させずにそのまま出力する。各データ比較回路は、各WP-CAMセルからプログラム後に読み込んだデータと、揮発性メモリ11から読み込んだ期待値とを比較する。ベリファイが一致した場合には、WP-CAMセルまたはセンスアンプからスイッチ61をONにしてデータを読み込んで、揮発性メモリ11の第1記憶領域に記憶し、正式なWP-CAMセルのデータとする。尚、揮発性メモリ11の素子構成は所謂スタティックメモリセルであっても良いし、周辺回路に適用される論理素子で構成されたラッチ回路などであってもよい。"