(57)【要約】【課題】テスト用データ等の書き込み時間が長くなったり、異なるメモリ容量製品間の切り替えが煩雑になることを解決する。【解決手段】パッケージ化された組立後のシリアル・ペリフェラル・インタフェース（SPI)機能を有するROM(SPI-ROM)１において、パッケージ１a上の端子NC0〜NC7をデータ書き込み時（プログラム（PGM）時）のデータ入カピンとして利用し、PGM時に端子NC0〜NC7を開放するためのトランスファゲート３２−０〜３２−７と、このトランスファゲート３２−０〜３２−７の開放を制御するプログラムコントロール回路３０と、端子NC0〜NC7からの入力データをデータバス１６へ転送するデータ入力バッファ３４とを有している。そのため、端子NC0〜NC7をPGM時のみデータ入力端子として利用出来、書き込みデータ入力に掛かる時間を短縮出来る。又、メモリ容量が異なっても、ピン構成が変わらないことから、異なるメモリ容量製品間の切り替えが容易である。【選択図】図１
2007172759.tif 000002
【特許請求の範囲】
【請求項１】
データ格納部を備え、パッケージ化された組立後のシリアル・ペリフェラル・インタフェース機能を有する読み出し専用記憶装置であって、
前記パッケージ外に引き出され、通常動作時にシリアル入力されるデータのための第１のリード端子と、
前記パッケージ外に引き出され、特定動作時にパラレル入力されるデータのための複数の第２のリード端子と、
前記パッケージ内に設けられ、前記第１のリード端子と前記複数の第２のリード端子との切り替えを制御する制御部と、
前記パッケージ内に設けられ、前記データ格納部と前記第１のリード端子又は前記複数の第２のリード端子との間の伝送経路を、前記制御部の制御により切り替えるスイッチ部と、
を有することを特徴とする読み出し専用記憶装置。
【請求項２】
前記特定動作時にパラレル入力される前記データは、テスト時にパラレル入力されるテスト用データであることを特徴とする請求項１記載の読み出し専用記憶装置。
【請求項３】
前記特定動作時にパラレル入力される前記データは、特定機能設定時にパラレル入力されるROMコードであることを特徴とする請求項１記載の読み出し専用記憶装置。
【請求項４】
前記制御部は、前記データ格納部への書き込みを制御するコントロール回路により構成され、
前記スイッチ部は、前記コントロール回路により制御されて前記伝送経路を導通／遮断するトランスファゲートと、前記複数の第２のリード端子からパラレル入力される前記データを前記伝送経路へ転送する転送回路と、を有することを特徴とする請求項２記載の読み出し専用記憶装置。
【請求項５】
前記制御部は、前記データ格納部に対する全ビット動作テストを制御するコントロール回路により構成され、
前記スイッチ部は、前記コントロール回路により制御されて前記伝送経路を導通／遮断するトランスファゲートと、前記データ格納部から前記伝送経路へ読み出されたデータを前記複数の第２のリード端子へ転送する転送回路と、を有することを特徴とする請求項２記載の読み出し専用記憶装置。
【請求項６】
請求項３記載の読み出し専用記憶装置において、
前記データ格納部内には、前記ROMコードを格納するコード格納領域を有し、
前記制御部は、前記データ格納部及び前記コード格納領域に対する読み書きを制御する制御手段を有し、
前記スイッチ部は、前記制御手段により制御されて前記伝送経路を導通／遮断するトランスファゲートと、前記複数の第２のリード端子からパラレル入力される前記ROMコードを前記伝送経路へ転送する転送回路とを有することを特徴とする読み出し専用記憶装置。
【請求項７】
請求項２、４又は５記載の読み出し専用記憶装置を用いたテスト方法であって、
前記制御部により制御される前記スイッチ部により、前記データ格納部と前記複数の第２のリード端子との間の前記伝送経路を導通状態に設定し、
前記テスト用データをパラレルに前記複数の第２のリード端子から入力して前記データ格納部に書き込み、又は、前記データ格納部に書き込まれた前記テスト用データを読み出して前記複数の第２のリード端子からパラレルに出力して、
前記読み出し専用記憶装置の内部回路をテストすることを特徴とする読み出し専用記憶装置のテスト方法。
【請求項８】
ウェハ内の各素子領域に、データ格納部と、通常動作時にシリアル入力されるデータのための第１のリード端子と、テスト時にパラレル入力されるテスト用データのための複数の第２のリード端子と、前記第１のリード端子と前記複数の第２のリード端子との切り替えを制御する制御部と、前記データ格納部と前記第１のリード端子又は前記複数の第２のリード端子との間の伝送経路を前記制御部の制御により切り替えるスイッチ部と、を備えたシリアル・ペリフェラル・インタフェース機能を有する読み出し専用記憶回路をそれぞれ形成し、
前記各読み出し専用記憶回路が形成された前記各素子領域を個々のチップに分割し、
前記分割された各チップに対して、前記第１のリード端子及び前記複数の第２のリード端子を外部に露出させた状態で樹脂封止によりパッケージ化して組み立て、
前記組み立て後に、前記スイッチ部により、前記データ格納部と前記複数の第２のリード端子との間の前記伝送経路を導通状態に設定し、前記テスト用データをパラレルに前記複数の第２のリード端子から入力して前記データ格納部に書き込み、又は、前記データ格納部に書き込まれた前記テスト用データを読み出して前記複数の第２のリード端子からパラレルに出力して、前記読み出し専用記憶回路をテストして良品／不良品の選別を行うことを特徴とする読み出し専用記憶装置の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル入出力を行うシリアル・ペリフェラル・インタフェース（Serial Peripheral Interface、以下「SPI」という。）機能を有する読み出し専用記憶装置（以下「SPI-ROM」という。）において、組立後におけるテスト（試験）時の書き込み時間、読み出し時間等を短縮出来るSPI-ROM 、そのテスト方法及びその製造方法に関するものである。
【背景技術】
【０００２】
半導体記憶装置には、随時読み書き可能な記憶装置（以下「RAM」という。）や読み出し専用記憶装置（以下「ROM」という。）と言った種々のメモリが知られている。例えば、RAMには、ダイナミックRAM（以下「DRAM」という。）とスタティックRAM（以下「SRAM」という。）がある。これに対し、ROMには、組立後にデータの書き替えが出来ないマスクROMや、組立後においても電気的にデータの書き込みが行え、紫外線等で消去可能なROM(Erasable Programmable ROM、以下「EPROM」という。）、一度だけ書き込みが行えるROM(One Time Programable ROM、以下「OTP-ROM」という。）、書き込み出荷型ROMの一種であるプロダクション・プログラムドROM（Production Programmed ROM、以下「P2ROM」（沖電気工業の登録商標）という。）、電気的消去が可能で随時書き替え可能なROM（Electrically Erasable & Programmable ROM、以下「EEPROM」という。）等が知られている。
【０００３】
これらのメモリについては、例えば、下記の文献等に記載されているように、内部の記憶素子であるメモリセルに対するテストの容易化を図るために種々の提案が行われている。
【０００４】
【特許文献１】特開平５−２０８９８号公報
【特許文献２】特開平６−６９４０６号公報
【０００５】
特許文献１には、RAM組込の半導体集積回路のRAMテスト回路の技術が記載されている。この技術では、複数のスタティックRAM（以下「SRAM」という。）チップにおける効率的な動作テストを行うために、通常時使用の信号（データ等）の入力に対して切り替えを行うセレクタを介して、複数の外部入力端子より入力されたテスト用データがSRAMチップに転送される。ここで、セレクタ、複数のテスト用入力端子、及び一致不一致検出回路が設けられた基板（マザーボード等）の上に、複数のSRAMチップを搭載させてテストする構造になっていると思われる。
【０００６】
又、特許文献２には、外部テスト信号入力方式でテストモードに設定し、効率的な動作試験を行う場合に、動作テスト終了後にテスト信号を入力するテスト信号入力端子に対する配慮を不必要にする集積回路装置の技術が記載されている。この技術では、リードフレームのダイパットにDRAMチップが固着され、樹脂封止された後に、リードフレームの外枠の付いたままで正規のリード端子以外の空きピン（リード端子）にテスト信号を入力してDRAMチップ内にあるテスト回路によりテストモードに設定し、テスト信号を加えて動作テストを行った後、封止樹脂の界面部でテスト信号入力端子を切り落とすようになっている。つまり、空きピン（リード端子）を使ってテストモードを設定する構成が記載されている。
【０００７】
これらのRAMに対して、不揮発性のメモリであるROMは、データ記憶保持用のバックアップ電源がいらないので、構造が簡単で、低コストのため、種々の用途に使用されている。例えば、EPROMは、電気的にプログラム（データの書き込み）が可能で、書き込んだデータは、硝子窓から紫外線等を照射することにより消去出来る構造になっている。このEPROMから硝子窓を取り除いて一度だけ書き込めるようにして低コスト化を図ったメモリとして、OTP-ROMがある。これらのEPROMやOTP-ROMは、パッケージに組み込んだ後も、複数のデータ入出力用のピン（リード端子）が外部に引き出されているので、この複数のデータ入出力用のピンを用い、外部からテスト信号を書き込んで内部のメモリセルに対するテストが行える。
【０００８】
EPROMやOTP-ROMでは、ピンの数や配置、或いはパッケージサイズは、メモリ容量（例えば、８Mbit、１６Mbit、３２Mbit等）に応じて異なるので、例えば、メモリ容量の異なるものを多品種少量生産する場合には、製造作業が複雑になって製造コストも嵩むという問題がある。そこで、メモリ容量が異なっても同一パッケージサイズにして小型化と低コスト化が図れるSPI-ROMが提案されている。
【０００９】
SPI-ROMが汎用のEPROMやOTP-ROMと異なる点は、SPI-ROMの場合、アドレス入力ピン（SI）とデータ出力ピン（SO)がそれぞれ１ピンしかなく、アドレス入力ピン（SI)からアドレスを入力した後、内部アドレスカウンタにてアドレスをインクリメント（増分）し、このアドレスによって読み出されたメモリセルの出力データがデータ出力ピン(SO)からシリアルに出力されることである。
【００１０】
このSPI-ROMの主な特徴は、アドレス入力ピン（SI)及びデータ出力ピン（SO)の２ピンを用いたシリアルでの入出力であるため、メモリ容量が８Mbit／１６Mbit／３２Mbit・ ・ ・と異なる場合にも、同じピン本数（同一パッケージ、同一ピン配置）であり、メモリ容量の異なる製品製造の切り替えが容易になる。内部のメモリセルに対するテストでは、アドレス入力ピン（SI)及びデータ出力ピン（SO)を用いて外部からテスト信号を書き込むことにより行われる。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、従来のSPI-ROMでは、次の（ａ）〜（ｃ）のような課題があった。
【００１２】
（ａ）  SPIの特徴であるアドレス入力が１端子、出力が１端子というパッケージの構造上、組立後において、内部のメモリセルへの書き込み／読み出しが正しく行えるか否かのテストを行う場合、テスト用ROMデータの書き込みにも、１端子からのアドレス入力と１端子からのデータ入力を行うために、テスト時の書き込み時間が掛かる。一度書き込んでテストしたデータは、その後、消去される。
【００１３】
（ｂ）  組立後には、前記（ａ）のテストとは別に、全ビット動作テストも行われる。全ビット動作テストの目的は、モールド樹脂を用いてROMチップを封止する場合に、モールド樹脂のストレスによる特性の劣化が生じる虞があるので、パッケージ封入後にメモリセルの特性が変わっていないか、ボンディング（結線）の金線が外れたりして機能不良を起こしていないか等の確認を行うためのものである。全ビット動作テスト方法は、例えば、SPI-ROMのアドレスとメモリ容量のフルアドレスを動作させ、全ビット動作と書き込みデータの確認を実施するもので、通常の読み出しの１サイクルよりも遅いサイクルにて動作とデータ確認を行う。
【００１４】
このようなテスト用ROMデータの全ビット動作テストを行う場合でも、SPIの特徴であるアドレス入力が１端子、出力が１端子というパッケージの構造上、１端子からのアドレス入力と１端子からのデータ入力を行うために、テスト時間が掛かる。つまり、１ピンでの出力確認ではテスト時間が掛かる。
【００１５】
（ｃ）  SPI-ROMの製造工程は、例えば、次の（ｃ１）〜（ｃ８）のような順番で行われる。
（ｃ１）  半導体ウェハ内の各素子領域へのSPI-ROMの形成
（ｃ２）  SPI-ROM内のメモリセルが正しく書き込み／読み出し／消去が出来る
か否かのウェハプロービングによるテスト
（ｃ３）  製品（メモリ容量８Mbit、１６Mbit等）の切り替えのためのフューズ切断
（ｃ４）  半導体ウェハの各素子領域を切断により分割
（ｃ５）  ワイヤを用いた結線（ワイヤボンディング）
（ｃ６）  モールド樹脂を用いてSPI-ROMチップをパッケージ封入して組立
（ｃ７）  組立後の書き込み読み込みテスト
（ｃ８）  メーカからユーザへ出荷
【００１６】
例えば、SPI-ROMの１６Mbit製品を設計しておいて、オプション（Option）として８Mbit製品に変更するためには、１６Mbit用の１アドレス（通常は最上位アドレス）を論理“Ｈ”か“Ｌ”に固定して無効化して８Mbit品にするが、前記の例では、（ｃ３）の工程でヒューズにて１箇所を切断するか、しないかの切り分けを行って“Ｈ”か“Ｌ”に固定する。“Ｈ”か“Ｌ”に固定するための他の方法としては、前記（ｃ１）の工程においてメタル等の配線層を形成するための配線層マスクで固定したり、前記（ｃ５）の工程においてワイヤボンディングにて固定したりする。
【００１７】
このように、１６Mbitや８Mbit等の製品の切り替えをオプションとして、配線層マスク、ヒューズ、或いはワイヤボンディングにて切り替えるが、配線層マスクを用いる方法では、マスク作成費用が掛かり、ヒューズやワイヤボンディングによる方法でも、前記（ｃ２）のプロービング以降の工程にて製品の切り替えを実施するので、前記（ｃ８）の出荷までの納期に時間が掛かる。
【００１８】
これらの課題を解決するために、例えば、特許文献１のセレクタを用いて入力を切り替える技術、或いは、特許文献２の空きピンを用いてテストモード設定信号を入力する技術を利用することも考えられる。
【００１９】
ところが、前記特許文献１、２はRAMに関するものであるから、このRAMとは全体の構成が全く異なるSPI-ROMに適用することが相当困難であり、未だ技術的に十分満足のゆくSPI-ROM、そのテスト方法及びその製造方法を提供することが出来なかった。
【課題を解決するための手段】
【００２０】
本発明のSPI-ROMは、データ格納部を備え、パッケージ化された組立後のSPI-ROMであって、前記パッケージ外に引き出され、通常動作時にシリアル入力されるデータのための第１のリード端子と、前記パッケージ外に引き出され、特定動作時にパラレル入力されるデータのための複数の第２のリード端子と、前記パッケージ内に設けられ、前記第１のリード端子と前記複数の第２のリード端子との切り替えを制御する制御部と、前記パッケージ内に設けられ、前記データ格納部と前記第１のリード端子又は前記複数の第２のリード端子との間の伝送経路を、前記制御部の制御により切り替えるスイッチ部と、を有している。
【００２１】
本発明のSPI-ROMのテスト方法は、前記発明のSPI-ROMを用いたテスト方法であって、前記制御部により制御される前記スイッチ部により、前記データ格納部と前記複数の第２のリード端子との間の前記伝送経路を導通状態に設定し、テスト用データをパラレルに前記複数の第２のリード端子から入力して前記データ格納部に書き込み、又は、前記データ格納部に書き込まれた前記テスト用データを読み出して前記複数の第２のリード端子からパラレルに出力して、前記SPI-ROMの内部回路をテストする。
【００２２】
本発明のSPI-ROMの製造方法では、ウェハ内の各素子領域に、データ格納部と、通常動作時にシリアル入力されるデータのための第１のリード端子と、テスト時にパラレル入力されるテスト用データのための複数の第２のリード端子と、前記第１のリード端子と前記複数の第２のリード端子との切り替えを制御する制御部と、前記データ格納部と前記第１のリード端子又は前記複数の第２のリード端子との間の伝送経路を前記制御部の制御により切り替えるスイッチ部と、を備えたSPI機能を有するROM回路をそれぞれ形成する。
【００２３】
次に、前記各ROM回路が形成された前記各素子領域を個々のチップに分割し、前記分割された各チップに対して、前記第１のリード端子及び前記複数の第２のリード端子を外部に露出させた状態で樹脂封止によりパッケージ化して組み立てる。そして、前記組み立て後に、前記スイッチ部により、前記データ格納部と前記複数の第２のリード端子との間の前記伝送経路を導通状態に設定し、前記テスト用データをパラレルに前記複数の第２のリード端子から入力して前記データ格納部に書き込み、又は、前記データ格納部に書き込まれた前記テスト用データを読み出して前記複数の第２のリード端子からパラレルに出力して、前記ROM回路をテストして良品／不良品の選別を行う。
【発明の効果】
【００２４】
請求項１、２、４、７、８に係る発明によれば、複数の第２のリード端子を書き込み時のみデータ入力端子として利用出来るようにしたので、書き込みデータ入力にかかる時間を短縮出来る。更に、メモリ容量が大きくなる程、SPIの特徴である第１のリード端子からの１ピン入力端子は、書き込みに更に時間が掛かるが、本発明では、容量が大きくなった場合でもピン構成が変わらないことから、第２のリード端子のピン数も同じで、書き込み時間を大幅に短縮出来る。
【００２５】
請求項５に係る発明によれば、第２のリード端子をテスト時のリードチェック端子として利用出来るようにしたので、リードチェックテストに掛かる時間を短縮出来る。更に、SPIの特徴として、データ入力ピンである第１のリード端子が１ピンしかないので、第２のリード端子を複数本利用することで、リードチェックテスト時間を大幅に短縮出来る。
【００２６】
請求項３、６に係る発明によれば、第１のリード端子又は第２のリード端子を使用することにより、第２のリード端子を用いたコード格納領域に対するROMコードの書き込み経路と、第１のリード端子を用いたデータ格納部に対するデータの書き込み経路とを分けることが出来るので、制御とテストプログラム作成の容易性が期待出来る。例えば、第２のリード端子の利用可能な内容のROMコードをコード格納領域に書き込むと、SPI-ROMは、そのROMコードの内容に従った動作をする。これにより、第２のリード端子を利用してデータ格納部へデータの書き込みが行えるので、当該SPI-ROMの動作等をテストするためのテストプログラムを、通常のEPROM等と同じアルゴリズムで書き込むことができ、制御とテストプログラム作成の容易性が期待出来る。しかも、ROMコードの内容を任意に設定することにより、その内容に従ってSPI-ROMを機能させることが可能となるので、メモリ容量の異なるSPI-ROM製品の切り替えや、不良メモリセル救済の冗長機能を容易に実行出来る。
【発明を実施するための最良の形態】
【００２７】
パッケージ化された組立後のSPI-ROMは、パッケージ外に引き出され、通常動作時にシリアル入力されるデータのための第１のリード端子と、パッケージ外に引き出され、特定動作時（例えば、テスト時）にパラレル入力されるデータ（例えば、テスト用データ）のための複数の第２のリード端子と、パッケージ内に設けられ、第１のリード端子と複数の第２のリード端子との切り替えを制御する制御部と、パッケージ内に設けられ、SPI-ROM内のデータ格納部（例えば、メモリセルマトリクス）と第１のリード端子又は複数の第２のリード端子との間の伝送経路を、制御部の制御により切り替えるスイッチ部とを有している。
【実施例１】
【００２８】
（実施例１の構成）
図１は、本発明の実施例１を示すSPI-ROMの概略の構成ブロックである。図２（ａ）、（ｂ）は、図１のSPI-ROMの構成を説明する図であり、同図（ａ）は平面から見たパッケージの外観図、及び同図（ｂ）はその端子（Pin、ピン）の読み出し動作時の機能説明図である。
【００２９】
図２（ａ）のSPI-ROM１は、例えば、１６MbitのSPI-OTPのパッケージ様式例を示すもので、平面から見て方形のモールド樹脂で封止されたパッケージ１aの長辺両側に、８個×２（合計１６本）の端子（Pin)GND,NC,NC,NC,NC,SI,SCLKが設けられている。本実施例１のSPI-ROM１では、通常の汎用のOTPと異なり、パッケージ組立後に外部に露出させるピンとして、シリアルデータ(Serial Data )であるシリアルアドレスを入力する第１のリード端子（例えば、シリアル端子）SIと、シリアルデータ(Serial Data )である読み出しデータを出力又は書き込みデータを入力する第２のリード端子（例えば、シリアル端子）SOとが、それぞれ１ピンしか設けられていない。
【００３０】
図２（ｂ）において、端子#CSはチップ選択用（Chip Select)、端子SCLKはクロック信号入力用(Clock Input)、端子Vccは電源電圧供給用（Power supply)、端子GNDはグランド接続用（Ground)である。端子DCは、不使用時において電圧０v〜電源電圧（Vcc）を印加しても動作上問題がないが、データ書き込み（プログラム、以下「PGA」ともいう。）時に高圧のプログラム電圧Vppを供給するためのものである。
【００３１】
本実施例１の特徴は、９本の空き端子NCの内の８本の端子NC0〜7を入力データ書き込み用として使用し、残り１本の空き端子NCを未接続用にしている。
【００３２】
図１のSPI-ROM１は、データ格納部（例えば、１６Mbitのメモリセルマトリクス）１０を有している。メモリセルマトリクス１０は、複数のワード線WLと、これに対して直交する複数のビット線BLとを有し、これらの交差箇所に、ROMセルからなるメモリセルがそれぞれ接続されている。複数のビット線BLには、多入力信号から１出力信号を順次選択して出力するマルチプレクサ１１が接続されている。複数のワード線WLには、内部アドレスの内のロウアドレスをデコードして該ワード線WLを選択して活性化するためのロウデコーダ１２が接続され、更に、マルチプレクサ１１にも、内部アドレスの内のコラムアドレスをデコードしてビット線を選択するためのコラムデコーダ１３が接続されている。
【００３３】
マルチプレクサ１１には、入力データラッチ回路１４aを介して入力バッファ１５aが接続されると共に、出力データラッチ回路１４ｂを介して出力バッファ１５ｂが接続されている。入力データラッチ回路１４aは、反転されたイネーブル信号EPGMにより活性化され、マルチプレクサ１１に与える書き込み用の入力データをラッチしておく回路、データ出力バッファ１５aは、反転されたイネーブル信号EPGMにより活性化され、その入力データラッチ回路１４aに与えるための入力データを入力する回路である。出力データラッチ回路１４ｂは、反転されたイネーブル信号EPGMにより活性化され、マルチプレクサ１１から出力された読み出し出力データをラッチする回路、出力バッファ１５ｂは、反転されたイネーブル信号EPGMにより活性化され、出力データラッチ回路１４ｂから出力された読み出し出力データを保持する回路である。入力バッファ１５aは、データバス１６及び信号線１６aを介してシリアル端子SOに接続され、更に、出力バッファ１５ｂが、信号線１７を介してそのシリアル端子SOに接続されている。
【００３４】
ロウデコーダ１２及びコラムデコーダ１３には、オプション用のアドレス入力バッファ１８を介して複数のアドレス端子A0〜Anが接続され、更に、そのアドレス入力バッファ１８に、オプションバッファ１９を介して活性化信号入力端子OPが接続されている。複数のアドレス端子A0〜Anは、プロービング時に供給されるパラレルなテスト用アドレスを入力するための端子である。複数のアドレス端子A0〜Anは、ボンディングされず、パッケージ組立後はピンとしてパッケージ外部へ露出しないが、未だウェハ状態でのプロービングの時には、通常のROMと同様に、アドレス端子が複数あった方が書き込みのテスト用アドレスをパラレルに入力できて効率的であるので設けられている。又、このアドレス端子A0〜Anは、汎用のOTPとしてフレーム・パッケージ・ボンディングを変更しても使用する。アドレス入力バッファ１８は、アドレス端子A0〜Anから入力されるテスト用アドレスを保持し、これを内部アドレスとしてロウデコーダ１２及びコラムデコーダ１３に与える回路である。オプションバッファ１９は、入力端子OPから入力されるオプション信号に基づき、アドレス入力バッファ１８を動作状態にさせるためのイネーブル信号Ｓ１８を発生させる回路である。
【００３５】
オプション用のアドレス入力バッファ１８及びオプションバッファ１９に対応して、オプション用のデータ入力バッファ２０及びプログラムバッファ２１が設けられ、このプログラムバッファ２１に複数のデータ入力端子DN0〜DN15が接続されている。
【００３６】
複数のデータ入力端子DN0〜DN15は、プロービング時に入力されるパラレルなテスト用データを入力するための端子である。複数のデータ入力端子DN0〜DN15は、アドレス端子A0〜Anと同様に、ボンディングされず、パッケージ組立後はピンとしてパッケージ外部へ露出しないが、未だウェハ状態でのプロービングの時には、通常のROMと同様に、入力端子が複数あった方が書き込みデータをパラレルに入力できて効率的であるので設けられている。又、このデータ入力端子DN0〜DN15は、汎用のOTPとしてフレーム・パッケージ・ボンディングを変更しても使用する。
【００３７】
データ入力バッファ２０は、データ入力端子DN0〜DN15から入力されるテスト用データを保持し、このテスト用データをデータバス１６を介してデータ入力バッファ１５aに与える回路である。プログラムバッファ２１は、オプションバッファ１９からのイネーブル信号Ｓ１９により活性化され、データ入力バッファ２０等を動作状態にさせるためのイネーブル信号Ｓ２１を発生させる回路である。又、このプログラムバッファ２１は、プログラムモードに入る時に端子DCにプログラム電圧Vppが印加されると、反転したプログラムイネーブル信号EPGMを出力してデータ入力バッファ１５及びデータ出力バッファ１５ｂ等を活性化させる回路である。
【００３８】
SPI-ROM１では、汎用のOTPと異なり、パッケージ組立後に外部に露出するピンとして、シリアル端子SIとSOとがそれぞれ１ピンしか設けられていないので、シリアル端子SIから入力されるシリアルアドレスをインクリメントし、シリアル端子SOよりシリアルにデータ出力するために、アドレスカウンタ２２及びコントローラ２３が設けられている。
【００３９】
アドレスカウンタ２２は、プログラムバッファ２１から出力される反転されたイネーブル信号EPGMにより活性化され、シリアル端子SIから入力されるシリアルアドレスをインクリメントして内部アドレスを生成し、この内部アドレスをロウデコーダ１２及びコラムデコーダ１３に与える回路である。コントローラ２３は、端子#CSから入力されるチップセレクト信号、端子SCLKから入力されるクロック、及び反転されたイネーブル信号EPGMにより動作し、アドレスカウンタ２２、入力データラッチ回路１４a、出力データラッチ回路１４ｂ、データ入力バッファ１５ａ、及びデータ出力バッファ１５ｂ等を制御するための制御信号を出力する回路である。
【００４０】
本実施例１のSPI-ROM１では、従来のSPI-ROMに対し、パッケージ組立後のPGA時に端子NC0〜NC7を使用出来るように制御部Aとこの制御部Aにより制御されるスイッチ部Ｂとを追加している。
【００４１】
制御部Aは、コントロール回路（例えば、プログラムコントロール回路）３０により構成されている。このプログラムコントロール回路３０は、使用する端子NC0〜NC7の解放を制御する制御信号Ｓ３０を出力する回路であり、プログラムバッファ２１からのイネーブル信号Ｓ２１により活性化され、コントローラ２３からの制御信号により動作が制御され、データ書き込み時に端子SOを使って１bitづつのデータ書き込みを行うのか、或いは、端子NC0〜NC7を利用しての複数bitからの書き込みを行うのかを切り替えるための制御信号Ｓ３０を出力する機能を有し、論理回路等で構成されている。
【００４２】
スイッチ部Ｂは、例えば、制御信号Ｓ３０を反転して反転制御信号Ｓ３１を出力するインバータ３１と、複数の端子NC0〜NC7にそれぞれ接続され、制御信号Ｓ３０，Ｓ３１によりオン／オフ動作して端子NC0〜NC7から入力される書き込み用入力データの導通／遮断を行う複数のトランスファゲート３２−０〜３２−７と、伝送経路（例えば、データバス）１６とデータ出力端子SOとの間の伝送経路（例えば、信号線）１６aに直列に接続され、制御信号Ｓ３０，Ｓ３１によりオン／オフ動作して信号線１６aを接続／遮断するトランスファゲート３３と、コントローラ２３からの制御信号により制御され、トランスファゲート３２−０〜３２−７からの書き込み用入力データをデータバス１６へ転送する転送回路（例えば、NC用データ入力バッファ）３４とにより構成されている。
【００４３】
（実施例１の製造方法例）
図３は、図１のSPI-ROM１の製造方法例を示す工程図である。
SPI-ROM１は、例えば、次のような工程ＳＴ１〜ＳＴ７により製造される。
【００４４】
先ず、ROM形成工程ＳＴ１では、通常の半導体製造方法により、半導体ウェハ内の各素子領域に、ROM回路を形成すると共に、制御部A及びスイッチ部Ｂを形成する。
【００４５】
プロービングによるテスト工程ＳＴ２では、例えば、メモリテスタを用い、オプション信号を入力端子OPに入力すると、入力されたオプション信号によってオプションバッファ１９が動作し、このオプションバッファ１９からイネーブル信号Ｓ１９が出力される。出力されたイネーブル信号Ｓ１９により、アドレス入力バッファ１８及びプログラムバッファ２１が活性化され、このプログラムバッファ２１からイネーブル信号Ｓ２１が出力されてデータ入力バッファ２０も活性化する。これにより、通常のROMと同じ数の端子（例えば、アドレス端子A0〜An、及びデータ入力端子DN0〜DN15）が使用出来るようになる。
【００４６】
そこで、メモリテスタからテスト用アドレスを出力してアドレス端子A0〜Anへ入力すると共に、テスト用データを出力してデータ入力端子DN0〜DN15へ入力する。アドレス端子A0〜Anへ入力されたテスト用アドレスは、アドレス入力バッファ１８に保持され、このアドレス入力バッファ１８から出力される内部アドレスが、ロウデコーダ１２によりデコードされてメモリセルマトリクス１０のワード線WLが選択されると共に、コラムデコーダ１３によりデコードされてマルチプレクサ１１によりメモリセルマトリクス１０のビット線BLが選択される。データ入力端子DN0〜DN15へ入力されたテスト用データは、データ入力バッファ２０に保持された後、データバス１６を介してデータ入力バッファ１５aへ送られて、入力データラッチ回路１４aにラッチされる。ラッチされたテスト用データは、マルチプレクサ１１により選択されたビット線BLへ送られ、このビット線BLと選択されたワード線WLとの交差箇所のメモリセルにテスト用データが書き込まれる。又、メモリセルマトリクス１０に書き込まれたテスト用データは、マルチプレクサ１１を介して読み出されて出力データラッチ回路１４bにラッチされ、出力バッファ１５bから出力される。
【００４７】
このようにして、メモリセルが正しく書き込み／読み出し／消去が出来るか否かのチェックが行われる。その他、直流特性、コンタクトチェック、機能チェック、動作マージンチェック等も行われ、SPI-ROM回路の良否判別や、救済可能な場合に、ヒューズの切断等により不良メモリセルを冗長メモリセルに置き換える等の処理が行われる。
【００４８】
ウェハ分割工程ＳＴ３では、半導体ウェハ内の各SPI-ROM回路が切断され、個々のSPI-ROMチップに分割される。
【００４９】
ボンディング工程ＳＴ４では、分割された良品のSPI-ROMチップを例えばリードフレームの素子搭載部に固定し（ダイボンディング）、入力端子OP、アドレス端子A0〜An、及びデータ入力端子DN0〜DN15を除いて、端子SI,#CS,SCLK,SO,DC,NC0〜NC7部分を金線を用いてリードフレームの各リードへ接続する（ワイヤボンディング）。
【００５０】
組立工程ＳＴ５では、SPI-ROMチップをモールド樹脂で封止してパッケージ１aを形成し、リードフレームから切り離す。
【００５１】
テスト工程ＳＴ６では、後述する方法により、テスト用データを用いた書き込みテストや、読み出しテストを行い、良品／不良品の判別を行う。書き込んだテスト用データは、消去する。
【００５２】
その後、メーカの出荷工程ＳＴ７では、良品のSPI-ROM１をユーザへ出荷する。ユーザは、購入したSPI-ROM１に対し、端子SI,SOを用いて所望のプログラムデータ等を書き込んで使用する。なお、SPI-ROM１の特徴は、シリアルでの入出力であるため、メモリ容量が８Mbit／１６Mbit／３２Mbit・・・と異なる場合にも、同一パッケージ、及び同一ピン配置であって同じピン本数である。
【００５３】
（図１のSPI-ROMに制御部A及びスイッチ部Ｂを追加しないときの読み出しテスト）
図４は、図１のSPI-ROMに制御部A及びスイッチ部Ｂを追加しないときの読み出しテストを示す動作波形図である。図５（ａ）、（ｂ）は、図４の読み出しテストの説明図である。
【００５４】
アドレス入力端子SI及びシリアル端子SOを用いてメモリセルマトリクス１０の読み出しテストを行う場合、例えば、図４に示すように、端子#CSに供給されるチップセレクト信号の立ち下がりから、端子SIにコマンドCOMMANDが入り、この端子SIに読み出しコマンドの入力、及びアドレスAD1,AD2,AD3の入力後、アドレスカウンタ２２、コントローラ２３、ロウデコーダ１２及びコラムデコーダ１３の動作により、メモリセルマトリクス１０内のメモリセルが選択されて記憶データが読み出され、マルチプレクサ１１、出力データラッチ回路１４b及び出力バッファ１５bを介して、端子SOから読み出しデータdataが出るという動作波形になる。
【００５５】
ここで、端子SIに入るアドレスAD1,AD2,AD3は、図５に示すように、1st.ByteCommandが読み出しコマンド入力区間、2nd.ByteがAD1、3rd.ByteがAD2、4th.ByteがAD3という順に端子SIから、端子SCLKに入るクロックの立ち上がりでコマンドCOMMANDとアドレスAD1,・・・をシリアルに取り込むことで、アドレスAD1,・・・を確定する。以降、アドレスAD1,・・・は内部のアドレスカウンタ２２にてインクリメントされていく。アドレスAD3の後は、端子SIがDon't Careとなる。図５の例では、読み出し（Read）時のコマンド(Commad)が１６進数系の０３[Hex]として説明されている。
【００５６】
アドレス取り込み後に、端子SCLKに供給されるクロックの立ち上がり毎に、端子SOからシリアルにデータdataを出力する。データdataを端子SOから８bit出力する毎に、アドレスカウンタ２２から出力される内部アドレスをインクリメントし、ロウデコーダ１２及びコラムデコーダ１３でデコードしてワード線WLを選択する。端子SOは、端子#CSに供給されるチップセレクト信号の立ち上がりで高インピーダンス状態（以下、「Hi-Z」という。）となる。
【００５７】
（図１のSPI-ROMに制御部A及びスイッチ部Ｂを追加しないときの書き込みテスト）
図６は、図１のSPI-ROMに制御部A及びスイッチ部Ｂを追加しないときの書き込みテストを示す動作波形図である。図７（ａ）、（ｂ）は、図６の書き込みテストの説明図である。
【００５８】
メモリセルマトリクス１０の書き込みテストを行う場合、例えば、図６に示すように、端子#CSに供給されるチップセレクト信号の立ち下がりから、端子SIにコマンドCOMMANDが入り、この端子SIに書き込みコマンドINの入力、及びアドレスAD1,AD2,AD3の入力後、端子SOから書き込みデータdataがシリアルに入り、データ入力バッファ１５a、入力データラッチ回路１４a及びマルチプレクサ１１を介して、メモリセルマトリクス１０に書き込まれるという動作波形になる。
【００５９】
ここで、端子SIに入るアドレスAD1,AD2,AD3は、図７に示すように、1st.Byte Commandが書き込みコマンド入力区間、2nd.ByteがAD1、3rd.ByteがAD2、4th.ByteがAD3という順に、端子SCLKに入るクロックの立ち上がりで、端子SIからコマンドCOMMANDとアドレスAD1,AD2,AD3をシリアルに取り込むことで、アドレスAD1,・・・を確定する。以降、アドレスAD1,・・・は内部のアドレスカウンタ２２にてインクリメントされていく。アドレスAD3の後、端子SIがDon't Care となる。書き込み時は、端子DCは高圧のプログラム電圧Ｖpp≒８Ｖとする。端子DCは、０Ｖ〜電源電圧(Vcc)ではDon't Care となる。図７の例では、PGA時のコマンド(Commad)が１６進数系の９Ｂ[Hex]として説明されている。
【００６０】
アドレス取り込み後、端子SCLKに供給するクロックの立ち上がり毎に、端子SOからシリアルにデータdataを取り込み、データ入力バッファ１５a、入力データラッチ回路１４a及びマルチプレクサ１１を介して、ロウデコーダ１２及びコラムデコーダ１３により選択されたメモリセルマトリクス１０内のメモリセルに書き込む。データdataを端子SOから８bit入力データラッチ回路１４aに取り込む毎に、アドレスカウンタ２２から出力される内部アドレスをインクリメントする。端子SOは、端子#CSに供給されるチップセレクト信号の立ち上がりでHi-Zとなる。
【００６１】
しかしながら、このような図１のSPI-ROMに制御部A及びスイッチ部Ｂを追加しないときの読み出しテスト及び書き込みテストでは、前記のような課題（ａ）〜（ｃ）が生じるので、これを解決するために、本実施例１のSPI-ROM１では、制御部A及びスイッチ部Ｂを追加している。これにより、以下のような書き込みテストが行える。
【００６２】
（図１のSPI-ROM１の書き込みテスト）
図８は、図１のSPI-ROM１の書き込みテストを示す動作波形図である。図９（ａ）、（ｂ）は、図８の書き込みテストの説明図である。
【００６３】
書き込みテストを行う場合、端子#CSに供給されるチップセレクト信号の立ち下がりから、端子SCLKに供給される１クロック毎に端子SIにデータが入力される。図８、図９に示すように、端子SIに入る最初の８bitがプログラムコマンドPGA-COMMND、続いて８bit毎にアドレスAD1，AD2，AD3が入力される。アドレスAD3以降、端子SIはDon't Care になり、端子#CSに供給されるチップセレクト信号が立ち上がり、アドレス入力が終了する。図９の例では、PGA時のコマンド(Command)が１６進数系の９Ｃ[Hex]として説明されている。
【００６４】
このPGMコマンド入力をトリガに、コントローラ２３の制御によってプログラムコントロール回路３０及びデータ入力バッファ３４が活性化し、このプログラムコントロール回路３０から端子NC0〜NC7を開放するための制御信号Ｓ３０が出力される。制御信号Ｓ３０と、この制御信号Ｓ３０がインバータ３１で反転された反転制御信号Ｓ３１とにより、トランスファゲート３２−０〜３２−７，３３が導通する。
【００６５】
次に、端子#CSに供給されるチップセレクト信号が立ち下がり、入力アドレスAD1,・・・に対応したデータdataを、端子SOではなく、端子NC0〜NC7より入力する。端子SOの入力データの場合は、端子SCLKに供給される１クロック毎に端子D7~D0を入力とする８bitを単位としていたが、本実施例１では、端子SCLKに供給される１クロックで、シリアルに入る８bitのデータdataを端子NC0〜NC7へ入力する。アドレスAD1,・・・は、内部のアドレスカウンタ２２でインクリメントされて内部アドレスが生成されるので、インクリメントされた次アドレスA2,・・・に対応するデータ８bitを、端子NC0〜NC7にて連続でROM容量分入れていく。
【００６６】
端子NC0〜NC7に入力されたデータdataは、データ入力バッファ３４、データバス１６、データ入力バッファ１５a、入力データラッチ回路１４a及びマルチプレクサ１１を介して、ロウデコーダ１２及びコラムデコーダ１３により選択されたメモリセルマトリクス１０内のメモリセルに書き込まれる。
【００６７】
（実施例１の効果）
本実施例１のSPI-ROM１によれば、パッケージ１a上の端子NC0〜NC7をPGM時のデータ入カピンとして利用し、PGM時に端子NC0〜NC7の開放をするためのトランスファゲート３２−０〜３２−７と、このトランスファゲート３２−０〜３２−７の開放を制御するプログラムコントロール回路３０と、端子NC0〜NC7からの入力データをデータバス１６へ転送するデータ入力バッファ３４とを有するので、次の（１）、（２）のような効果がある。
【００６８】
（１）  端子NC0〜NC7を書き込み時のみデータ入力端子として利用出来るようにしたので、書き込みデータ入力に掛かる時間を短縮出来る。SPIの特徴として、データ入力ピンであるシリアル端子SOが１ピンしかないので、例えば、１６Mbitの容量のROMの場合は、通常PGM時のクロック（SCLK）の１サイクル×ROM容量［sec.］の時間が掛かるが、本実施例１のように端子NC0〜NC7を８本利用することで、書き込み時間を１／８に短縮出来る。
【００６９】
（２）  メモリ容量が大きくなる程、SPIの特徴であるシリアル端子SOからの１ピン入力端子は、書き込みに更に時間が掛かるが、本実施例１では、容量が大きくなった場合でもピン構成が変わらないことから、端子NC0〜NC7のピン数も同じで、書き込み時間１／８は可能であり、更に効果がある。
【実施例２】
【００７０】
（実施例２の構成）
図１０は、本発明の実施例２を示すSPI-ROMの概略の構成ブロックである。図１１（ａ）、（ｂ）は、図１０のSPI-ROMの構成を説明する図であり、同図（ａ）は平面から見たパッケージの外観図、及び同図（ｂ）はその端子（Pin）の読み出し動作時の機能説明図である。これらの図１０及び図１１において、実施例１の図１及び図２中の要素と共通の要素には共通の符号が付されている。
【００７１】
本実施例２のSPI-ROM１Aでは、実施例１のNC用データ入力バッファ３４に代えて、転送回路であるNC用出力バッファ３４Aを設け、テスト時の全ビット動作テスト（以下「リードチェックテスト」という。）時に端子NC0〜NC7を使用出来るようにしている。そのため、出力バッファ１５bには伝送経路（例えば、データバス）１７Aが接続され、このデータバス１７Aが、トランスファゲート３３及び伝送経路（例えば、信号線）１７を介して、シリアル端子SOに接続されている。データバス１７Aは、出力バッファ３４Aの入力側に接続され、この出力バッファ３４Aの出力側が、トランスファゲート３２−０〜３２−７を介して、端子NC0〜NC7に接続されている。その他の構成は、実施例１と同様である。
【００７２】
（実施例２の製造方法）
実施例１とほぼ同様に製造される。
【００７３】
（実施例２の動作）
図１２は、図１０のSPI-ROM１Aにおけるリードチェックテストのための読み出し動作を示す波形図である。図１３（ａ）、（ｂ）は、図１２のリードチェックテストの説明図である。
【００７４】
リードチェックテストを行う場合は、端子#CSに供給されるクロックの立ち下がりから、端子SCLKに供給される１クロック毎に、端子SIにデータが入力される。図１２、図１３に示すように、端子SIに入る最初の８bitがリードチェックコマンドCOMMAND、続いて８bit毎にアドレスAD1，AD2，AD3が入力される。アドレスAD3以降、端子SIはDon't Careになり、端子#CSに供給されるチップセレクト信号が立ち上がり、アドレス入力が終了する。
【００７５】
このリードチェックコマンド入力をトリガに、コントローラ２３の制御によってプログラムコントロール回路３０及びデータ入力バッファ３４が活性化し、このプログラムコントロール回路３０から端子NC0〜NC7を開放するための制御信号Ｓ３０が出力される。制御信号Ｓ３０と、この制御信号Ｓ３０がインバータ３１で反転された反転制御信号Ｓ３１とにより、トランスファゲート３２−０〜３２−７，３３が導通する。図１３の例では、リードチェック時のコマンドを９９[Hex]として説明されている。
【００７６】
次に、端子#CSに供給されるチップセレクト信号が立ち下がり、入力アドレスAD1,・・・に対応したメモリセルマトリクス１０内のデータdataを、マルチプレクサ１１、出力データラッチ回路１４b及び出力バッファ１５bを介してデータバス１７Aへ読み出し、端子SOではなく、端子NC0〜NC7より出力する。
【００７７】
端子SOからのデータ出力の場合は、端子SCLKに供給される１クロック毎に、端子D7〜D0の８bitを単位として出力していたが、本実施例２では、端子SCLKに供給される１クロックで、シリアルに出力される８bitのデータdataを端子NC0〜NC7へ出力する。アドレスAD1,・・・は、内部のアドレスカウンタ２２でインクリメントされて内部アドレスが生成されるので、インクリメントされた次アドレスA2,・・・に対応するデータ８bitを、端子NC0〜NC7にて連続でフルアドレス分出力する。
【００７８】
全ビットの動作の確認が主であるため、実際のSPI機能のチェックではないので、本実施例２のようなテスト方法でも代替出来る。
【００７９】
（実施例２の効果）
本実施例２のSPI-ROM１Aによれば、パッケージ１a上の端子NC0〜NC7をテスト時の全ビット動作テストの出力用ピンとして利用し、全ビット動作テスト時に端子NC0〜NC7を開放するためのトランスファゲート３２−０〜３２−７と、このトランスファゲート３２−０〜３２−７の開放を制御するプログラムコントロール回路３０と、読み出したROMデータを端子NC0〜NC7へ転送する出力バッファ３４Aとを有するので、次のような効果がある。
【００８０】
端子NC0〜NC7をテスト時のリードチェック端子として利用出来るので、リードチェックテストに掛かる時間を短縮出来る。SPIの特徴として、データ入力ピンである端子SOが１ピンしかないので、端子NC0〜NC7を８本利用することで、リードチェックテスト時間を実施例１と同様に１／８に短縮出来る。
【実施例３】
【００８１】
（実施例３の構成）
図１４は、本発明の実施例３を示すSPI-ROMの概略の構成ブロックである。図１５（ａ）、（ｂ）は、図１４のSPI-ROMの構成を説明する図であり、同図（a)は平面から見たパッケージの外観図、及び同図（b）はその端子（Pin）の読み出し動作時の機能説明図である。これらの図１４及び図１５において、実施例１の図１及び図２中の要素と共通の要素には共通の符号が付されている。
【００８２】
本実施例３のSPI-ROM１Bでは、実施例１のアドレスカウンタ２２、コントローラ２３、及びNC用データ入力バッファ３４に代えて、アドレスカウンタ２２Ｂ、コントローラ２３Ｂ、ROMコード書き込み用のROMコードバッファ３４B、ROMコード書き込み回路（ROMコード用マルチプレクサ１１a、ROMコード用デコーダ１２a,１３a、ROMコード用データ書き込みラッチ回路１４aＢ、ROMコード用書き込みバッファ１５aB、ROMコードデコーダ入力バッファ１８a）、ROMコード読み出し回路（ROMコード用マルチプレクサ１１b、ROMコード用出力ラッチ回路１４bB、ROMコード用出力バッファ１５bB）、ROMコードチェック回路３６、１６Mbit／８Mbit切り替えスイッチ３７、及びパワーオンリセット回路３８と、メモリセルマトリクス１０の特定領域に配置されたROMコード格納用のコード格納領域（例えば、ROMコードセルエリア）１０aとが設けられている。ここで、コントローラ２３Ｂ、プログラムバッファ２１、プログラムコントロール回路３０等により、メモリセルマトリクス１０及びROMコードセルエリア１０aに対する読み書きを制御する制御手段を構成している。
【００８３】
ROMコードは、ROMの拡張機能（例えば、８Mbit／１６Mbit品の製品の切り替え機能、１６Mbit品の数bit不良品を８Mbit製品として使用するための冗長機能等）を実行するためのものであり、例えば、“０”、“１”の数bitのデータで構成され、ROMコードセルエリア１０aに書き込まれる。ROMコードセルエリア１０aは、例えば、ワード線WL１本分程度のエリアであり、複数ビットのROMコードセルで構成されている。ROMコードセルは、メモリセルと同様のものであり、これに対してROMコード書き込み用／読み出し用の回路が必要になるので、転送回路（例えば、ROMコードバッファ）３４B、ROMコード書き込み回路（１１a,１２a,１３a,１４aB,１５aB,１８a）、ROMコード読み出し回路（１１b,１４bB,１５bB）、ROMコードチェック回路３６、１６Mbit／８Mbit切り替えスイッチ３７、及びパワーオンリセット回路３８が設けられている。
【００８４】
ROMコードバッファ３４Bの入力側は、トランスファゲート３２−０〜３２−７を介して端子NC0〜NC7に接続されている。ROMコードバッファ３４Bの出力側は、ROMコード書き込み（ROM code write)用の伝送経路（例えば、データバス）３５を介して、ROMコード用書き込みバッファ１５aBに接続され、この書き込みバッファ１５aBが、ROMコード用データ書き込みラッチ回路１４a、及びROMコード用マルチプレクサ１１aを介して、ROMコードセルエリア１０aに接続されている。ROMコードエリア１０aの読み出し（coderead)側は、ROMコード用マルチプレクサ１１b、ROMコード用出力ラッチ回路１４bB、及びROMコード用出力バッファ１５bBを介して、ROMコードチェック回路３６に接続されている。
【００８５】
ROMコードチェック回路３６は、読み出したROMコードをラッチして保持する回路であり、レジスタ等で構成され、この出力側に、１６Mbit／８Mbit切り替えスイッチ３７が接続されている。１６Mbit／８Mbit切り替えスイッチ３７は、ROMコードチェック回路３６に保持されたROMコードに基づき、１６Mbit品／８Mbit品の切り替えを行うためのモード切り替え信号Ｓ３７a、及びアドレスコントロール信号Ｓ３７bを出力するスイッチであり、この出力側にアドレスカウンタ２２Ｂ、及びコントローラ２３Ｂが接続されている。アドレスカウンタ２２Ｂは、アドレスコントロール信号Ｓ３７bに基づき、１６Mbit品又は８Mbit品に対応した内部アドレスを生成する機能を有している。１６Mbit品／８Mbit品の切り替えは、SPI-ROM１Bの使用中に切り替えるのではなく、出荷前のテスト時等において、ROMコードにより決定されて切り替えられる。
【００８６】
コントローラ２３Ｂは、モード切り替え信号Ｓ３７aに基づき、１６Mbit品又は８Mbit品に対応した制御信号を出力し、プログラムバッファ２１、プログラムコントロール回路３０、入力データラッチ回路１４a、出力データラッチ回路１４b、ROMコード用データ書き込みラッチ回路１４aB、ROMコード用出力ラッチ回路１４bB、ROMコードバッファ３４B、データ入力バッファ１５a、出力バッファ１５b、ROMコード用書き込みバッファ１５aB、及びROMコード用出力バッファ１５bBを制御する回路である。
【００８７】
パワーオンリセット回路３８は、電源投入時にリセットパルスを出力する回路であり、このリセットパルスがROMコードデコーダ入力バッファ１８aに保持され、該リセットパルスがROMコード用デコーダ１２a,１３aによりデコードされ、ROMコードセルエリア１０aが選択される構成になっている。
【００８８】
（実施例３の製造方法）  
実施例１とほぼ同様に製造される。
【００８９】
(実施例３の動作)
図１６は、図１４のSPI-ROM１ＢのROMコード書き込み動作を示す動作波形図である。図１７（ａ）、（ｂ）は、図１６のROMコード書き込み動作の説明図である。
【００９０】
ROMコードを書き込む場合、端子#CSに供給されるチップセレクト信号の立ち下がりから、端子SCLKに供給される１クロック毎に端子SIにデータが入力される。図１６、図１７に示すように、端子SIに入る最初のコマンドCOMMAND入力で、規定のROMコード書き込みモードに入る。図１７の例では、ROMコード書き込み時のコマンド(Command)が１６進数系のＣＣ[Hex]として説明されている。
【００９１】
最初のコマンドCOMMAND入力をトリガに、コントローラ２３Ｂの制御によってプログラムコントロール回路３０及びROMコードバッファ３４Ｂが活性化し、このプログラムコントロール回路３０Ｂから端子NC0〜NC7を開放するための制御信号Ｓ３０が出力される。制御信号Ｓ３０と、この制御信号Ｓ３０がインバータ３１で反転された反転制御信号Ｓ３１とにより、トランスファゲート３２−０〜３２−７，３３が導通する。
【００９２】
次に、端子#CSに供給されるチップセレクト信号が立ち下がり、ROMコードを端子NC0〜NC7より入力する。端子SCLKに供給される１クロックで、シリアルに入る８bitのROMコードを端子NC0〜NC7へ入力する。端子NC0〜NC7に入力されたROMコードは、データ入力バッファ３４Ｂ、データバス３５、ROMコード用書き込みバッファ１５aＢ、ROMコード用データ書き込みラッチ回路１４aＢ及びROMコード用マルチプレクサ１１aを介して、ROMコード用デコーダ１２a,１３aにより選択されたROMコードセルエリア１０a内のROMコードセルに書き込まれる。
【００９３】
ROMコードセルエリア１０aに設定したROMコードは、次のようにして読み出される。
【００９４】
電源が投入されると、パワーオンリセット回路３８からリセットパルスが出力され、ROMコードデコーダ入力バッファ１８aに保持される。バッファ１８aに保持されたリセットパルスは、ROMコード用デコーダ１２a,１３aでデコードされ、ROMコードセルエリア１０aが選択されてROMコードが読み出される。読み出されたROMコードは、ROMコード用マルチプレクサ１１b、ROMコード用出力ラッチ回路１４bB、及びROMコード用出力バッファ１５bBを介して、ROMコードチェック回路３６にラッチされて保持される。保持されたROMコードにより、１６Mbit／８Mbit切り替えスイッチ３７からモード切り替え信号Ｓ３７a及びアドレスコントロール信号Ｓ３７bが出力される。この信号Ｓ３７ａ，Ｓ３７ｂにより、アドレスカウンタ２２B及びコントローラ２３Bが、その切り替えられたモードにてSPI-ROM１Bを制御するので、ROMコードによって決められた機能のROMとして動作することになる。
【００９５】
（実施例３の効果）
本実施例３のSPI-ROM１Bによれば、端子NC0〜NC7からの入力によりROMコードを書き込むROMコードセルエリア１０aを持ち、ROMコードにより製品の切り替えを行い、ROMコード書き込み時に端子NC0〜NC7の開放をするためのトランスファゲート３２−０〜３２−７と、このトランスファゲート３２−０〜３２−７の開放を制御するプログラムコントロール回路３０と、端子NC0〜NC7からのデータをROMコード用書き込み用バッファ１５aBに転送するROMコードバッファ３４Ｂと、ROMコードセルエリア１０aに書き込まれたROMコードを読み出すROMコード用デコーダ１２a,１３a及びROMコードチェック回路３６と、電源投入時にROMコード用デコーダ１２a,１３aを選択するパワーオンリセット回路３８及びROMコードデコーダ入力バッファ１８aと、ROMコードを読み取ってチップ機能を決定する１６Mbit／８Mbit切り替えスイッチ３７とを有するので、次の(i)〜(iv)のような効果がある。
【００９６】
(i)  メーカの製品出荷前のROMコードによる製品（例えば、１６Mbit品／８Mbit品）の切り替えは、例えば、配線層マスクやボンディングのオプションよりも後工程にもってくることが出来るため、短納期でSPI−ROM１Ｂの出荷が可能である。
【００９７】
(ii)  端子NC0〜NC7又は端子SOを使用することにより、端子NC0〜NC7を用いたROMコードセルエリア１０aに対するROMコードの書き込み経路と、端子SOを用いたメモリセルマトリクス１０に対するデータの書き込み経路とを分けることが出来るので、例えば、８バイト（Byte）コマンドを端子SIに書き込む場合に、端子SCLK等のクロックとの同期を取らなくて良く、制御とテストプログラム作成の容易性が期待出来る。
【００９８】
例えば、端子NC0〜NC7の利用可能な内容のROMコードをROMコードセルエリア１０aに書き込むと、SPI-ROM１Ｂは、そのROMコードの内容に従った動作をする。これにより、端子NC0〜NC7を利用してメモリセルマトリクス１０へデータの書き込みが行えるので（つまり、通常のEPROM等と同じ書き込みが行えるので）、当該SPI-ROM１Bの動作等をテストするためのをテストプログラムを、通常のEPROM等と同じアルゴリズムで書き込むことができ、制御とテストプログラム作成の容易性が期待出来る。
【００９９】
(iii)  実施例３では、１６Mbit品を８Mbit品に変更出来る例を説明したが、その逆も可能である。つまり、ピン配置やアドレス本数が同一であるため、２製品を共通のバンクとして使用出来る。
【０１００】
（iv)  実施例３では、１６Mbitと８Mbitの製品切り替えを、ROMコードにより行うようにしたが、ROMコードの内容を任意に設定することにより、その内容に従ってSPI-ROM１Bを機能させることが可能となる。例えば、不良メモリセル救済の冗長機能を実行するようなROMコードの内容を設定しておけば、１６Mbit製品としてメモリセルに数bitの不良があった場合に、不良の無いメモリエリア８Mbitを使用して８Mbit品として救済出来る冗長機能にも利用出来る。
【０１０１】
なお、本発明は上記実施例１〜３に限定されず、種々の変形や利用形態が可能である。例えば、SPI-ROM１,１A,１Bの内部回路やパッケージ形状は、図示以外の回路構成やパッケージ形状に変更しても良い。又、上記実施例１〜３では、SPI-ROM１,１A,１Bについて説明したが、本発明は、OTP、EPROM、P2ROM等の他のROMにも適用できる。
【図面の簡単な説明】
【０１０２】
【図１】本発明の実施例１を示すSPI-ROMの概略の構成ブロックである。
【図２】図１のSPI-ROMの構成を説明する図である。
【図３】図１のSPI-ROMの製造方法例を示す工程図である。
【図４】図１のSPI-ROMに制御部及びスイッチ部を追加しないときの読み出しテストを示す動作波形図である。
【図５】図４の読み出しテストの説明図である。
【図６】図１のSPI-ROMに制御部及びスイッチ部を追加しないときの書き込みテストを示す動作波形図である。
【図７】図６の書き込みテストの説明図である。
【図８】図１のSPI-ROMの書き込みテストを示す動作波形図である。
【図９】図８の書き込みテストの説明図である。
【図１０】本発明の実施例２を示すSPI-ROMの概略の構成ブロックである。
【図１１】図１０のSPI-ROMの構成を説明する図である。
【図１２】図１０のSPI-ROMにおけるリードチェックテストのための読み出し動作を示す波形図である。
【図１３】図１２のリードチェックテストの説明図である。
【図１４】本発明の実施例３を示すSPI-ROMの概略の構成ブロックである。
【図１５】図１４のSPI-ROMの構成を説明する図である。
【図１６】図１４のSPI-ROMのROMコード書き込み動作を示す動作波形図である。
【図１７】図１６のROMコード書き込み動作の説明図である。
【符号の説明】
【０１０３】
１，１Ａ，１Ｂ      SPI-ROM
１ａ      パッケージ
１０      メモリセルマトリクス
１０ａ      ROMコードセルエリア
１１，１１ａ，１１ｂ      マルチプレクサ
１２      ロウデコーダ
１２ａ，１３ａ      ROMコード用デコーダ
１３      コラムデコーダ
１４ａ      入力データラッチ回路
１４ｂ      出力データラッチ回路
１４ａＢ      ROMコード用データ書き込みラッチ回路
１４ｂＢ      ROMコード用出力ラッチ回路
１５ａ      データ入力バッファ
１５ｂ      出力バッファ
１５ａＢ      ROMコード用書き込みバッファ
１５ｂＢ      ROMコード用出力バッファ
１６，１７Ａ，３５      データバス
１８      OP用アドレス入力バッファ
１８ａ      ROMコードデータ入力バッファ
１９      オプションバッファ
２０      OP用データ入力バッファ
２１      プログラムバッファ
２２，２２Ｂ      アドレスカウンタ
２３，２３Ｂ      コントローラ
３０      プログラムコントロール回路
３２−０〜３２−７，３３      トランスファゲート
３４      NC用データ入力バッファ
３４Ａ      NC用出力バッファ
３４Ｂ      ROMコードバッファ
３６      ROMコードチェック回路
３７      １６Mbit／８Mbit切り替えスイッチ
３８      パワーオンリセット回路
【図１】
2007172759.tif 000003
【図２】
2007172759.tif 000004
【図３】
2007172759.tif 000005
【図４】
2007172759.tif 000006
【図５】
2007172759.tif 000007
【図６】
2007172759.tif 000008
【図７】
2007172759.tif 000009
【図８】
2007172759.tif 000010
【図９】
2007172759.tif 000011
【図１０】
2007172759.tif 000012
【図１１】
2007172759.tif 000013
【図１２】
2007172759.tif 000014
【図１３】
2007172759.tif 000015
【図１４】
2007172759.tif 000016
【図１５】
2007172759.tif 000017
【図１６】
2007172759.tif 000018
【図１７】
2007172759.tif 000019