(57)【要約】【課題】本発明は、半導体チップの製造後に、不揮発性メモリユニットの他に種々の機能を持つ回路を容易に構成することを最も主要な特徴とする。【解決手段】半導体チップ１０上に集積されたプログラマブルロジックデバイスユニット１２と、半導体チップ上に集積され、プログラマブルロジックデバイスユニット１２をプログラムするためのデータをデータ記憶領域の一部に格納する不揮発性メモリユニット１１と、不揮発性メモリユニット１１を制御し、電源の投入時に、データ記憶領域の一部に格納されたデータを読み出させてプログラマブルロジックデバイスユニット１２に供給させる制御回路とを具備することを特徴としている。【選択図】図１
2007013938.tif 000002
【特許請求の範囲】
【請求項１】
半導体チップ上に集積されたプログラマブルロジックデバイスユニットと、
上記半導体チップ上に集積され、上記プログラマブルロジックデバイスユニットをプログラムするためのデータをデータ記憶領域の一部に格納する不揮発性メモリユニットと、
上記不揮発性メモリユニットを制御し、電源の投入時に、上記データ記憶領域の上記一部に格納されたデータを読み出させて上記プログラマブルロジックデバイスユニットに供給する制御回路と
を具備したことを特徴とする半導体集積回路装置。
【請求項２】
前記プログラマブルロジックデバイスユニットを用いて、前記不揮発性メモリユニットを、レジスタ、フラッシュメモリ、ランダムアクセスメモリ、リードオンリーメモリのうち少なくともいずれか１つとして動作させるための回路が形成されることを特徴とする請求項１記載の半導体集積回路装置。
【請求項３】
前記不揮発性メモリユニットは、ＮＡＮＤ型、ＮＯＲ型、及びＡＮＤ型のいずれかのフラッシュメモリユニット、ＭＲＡＭセルを有するＭＲＡＭユニット、ＦｅＲＡＭセルを有するＦｅＲＡＭユニットのうちの少なくともいずれか１つであることを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項４】
前記プログラマブルロジックデバイスユニットは、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）構造、あるいはＣＰＬＤ（コンプレックスプログラマブルロジックデバイス）構造を有することを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項５】
前記プログラマブルロジックデバイスユニットをプログラムするための前記データは、前記半導体チップ上に設けられた外部端子を介して前記不揮発性メモリユニットに入力されることを特徴とする請求項１または２記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリユニット及びプログラマブルロジックデバイスユニットを内蔵した半導体集積回路装置に関する。
【背景技術】
【０００２】
現在、ＮＡＮＤ型フラッシュメモリ等からなる不揮発性メモリユニットの周辺にシステムＬＳＩユニットを搭載した半導体チップを製造するビジネスが波及しつつある。しかし、システムＬＳＩユニットは、顧客先等で仕様が異なり、仕様に応じてインターフェース等が変わる。そのため、製造する際に１製品毎にマスクを作成しなければならず、開発コストが高価となり、かつ汎用性を持たせることができないという問題がある。
【０００３】
なお、フラッシュメモリユニットを、ＦＰＧＡユニット、ＣＰＵ、ＲＡＭ等と共に１つの半導体チップ上に集積し、ＦＰＧＡユニットをプログラムするためのデータを、ＳＲＡＭのスタティックラッチ、アンチヒューズ、不揮発性メモリセル等に記憶するようにしたものが特許文献１に開示されている。
【特許文献１】特開２００３−２１８２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、上記のような事情を考慮してなされたものであり、その目的は、半導体チップの製造後に、不揮発性メモリユニットの他に種々の機能を持つ回路を容易に構成することができ、もって開発コストが安価であり、かつ高い汎用性を有する半導体集積回路装置を提供することである。
【課題を解決するための手段】
【０００５】
本発明の半導体集積回路装置は、半導体チップ上に集積されたプログラマブルロジックデバイスユニットと、上記半導体チップ上に集積され、上記プログラマブルロジックデバイスユニットをプログラムするためのデータをデータ記憶領域の一部に格納する不揮発性メモリユニットと、上記不揮発性メモリユニットを制御し、電源の投入時に、上記データ記憶領域の上記一部に格納されたデータを読み出させて上記プログラマブルロジックデバイスユニットに供給する制御回路とを具備したことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、半導体チップの製造後に、不揮発性メモリユニットの他に種々の機能を持つ回路を容易に構成することができ、もって開発コストが安価であり、かつ高い汎用性を有する半導体集積回路装置を提供することができる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して本発明を実施の形態により説明する。
【０００８】
図１は、本発明の第１の実施形態に係る半導体集積回路装置の半導体チップの平面図である。半導体チップ１０上には、複数の不揮発性プログラム素子からなるメモリセルアレイ及び周辺回路を有する不揮発性メモリユニット１１と、プログラマブルロジックデバイスユニット１２とが集積されている。
【０００９】
半導体チップ１０の周辺部には、この半導体チップ１０と外部装置との間で種々のデータの授受や、電源電圧の供給を行うための複数の外部端子１３が形成されている。
【００１０】
さらに、半導体チップ１０上には、不揮発性メモリユニット１１を制御する制御回路（図示せず）が形成されている。この制御回路は、電源の投入時に、不揮発性メモリユニット１１のデータ記憶領域の一部に格納されているデータを読み出させて、プログラマブルロジックデバイスユニット１２に供給させる。
【００１１】
本実施形態の半導体集積回路装置では、不揮発性メモリユニット１１の一例としてＮＡＮＤ型フラッシュメモリユニット１１が形成されており、プログラマブルロジックデバイスユニット１２としてＦＰＧＡ（Field Programmable Gate Array：フィールドプログラマブルゲートアレイ）構造を有するＦＰＧＡユニットが形成されている。しかし、不揮発性メモリユニット１１として、ＮＡＮＤ型フラッシュメモリユニットの他に、ＮＯＲ型、及びＡＮＤ型のいずれかのフラッシュメモリユニット、ＭＲＡＭセルを有するＭＲＡＭユニット、ＦｅＲＡＭセルを有するＦｅＲＡＭユニットのうち少なくとも１つが形成されていてもよく、かつ、プログラマブルロジックデバイスユニット１２として、ＦＰＧＡユニットの他に、ＣＰＬＤ（Complex Programmable Logic Device：コンプレックスプログラマブルロジックデバイス）構造を有するＣＰＬＤユニット、ＤＦＡ（D Fabric Array）（TM）、及びその他のＰＬＤ構造のユニットが形成されていてもよい。
【００１２】
本実施形態の半導体集積回路装置では、ＦＰＧＡユニット１２は、フラッシュメモリユニット１１を取り囲むように形成されている。
【００１３】
図２は、図１中のフラッシュメモリユニット１１のアドレス空間を示している。フラッシュメモリユニット１１には２つのデータ記憶領域Ａ及びＢが設定されている。アドレス空間の上位アドレス側のデータ記憶領域Ａには通常のデータが格納される。下位アドレス側のデータ記憶領域ＢにはＦＰＧＡユニット１２をプログラムするためのデータ（プログラム）が格納される。
【００１４】
上記のような構成の半導体集積回路装置において、フラッシュメモリユニット１１のデータ記憶領域Ｂには、ＦＰＧＡユニット１２をプログラムするためのプログラムデータが予め格納される。データ記憶領域Ｂからのデータ読み出しは以下のようにして行われる。例えば、図３に示すように、電源の投入時に、制御回路１４によりフラッシュメモリユニット１１の動作が制御され、データ記憶領域Ｂに格納されているプログラムデータがフラッシュメモリユニット１１から読み出されてＦＰＧＡユニット１２に供給される。ＦＰＧＡユニット１２ではコンフィグレーション（Configuration）と呼ばれる動作が行われ、プログラムデータに応じた機能を持つ回路が形成される。ここで、ＦＰＧＡユニット１２を用いて実現される回路は、フラッシュメモリユニット１１の各種インターフェース回路や、種々の制御回路、クロックジェネレータや演算回路等である。
【００１５】
ところで、現在のＦＰＧＡ内には、プログラムデータを格納する手段として、通常、ＳＲＡＭが用いられている。ＳＲＡＭは揮発性のプログラム素子を用いて構成されているので、電源がオフになるとＳＲＡＭ内の記憶データは消滅してしまい、再度、電源をオンにした時は、プログラムデータをＦＰＧＡに再度供給して、回路を再形成しなければならない。
【００１６】
これに対し、本実施形態の半導体集積回路装置では、ＦＰＧＡユニット１２をプログラムするためのデータがフラッシュメモリユニット１１に格納されているので、電源をオフにしてもデータは保持されており、再度、電源をオンにすると、フラッシュメモリユニット１１のデータ記憶領域Ｂに格納されているプログラムデータが読み出され、ＦＰＧＡユニット１２に供給される。すなわち、電源がオン状態にされる毎に、以前と同様の機能を持つ回路が、ＦＰＧＡユニット１２を用いて実現できる。
【００１７】
また、本実施形態の半導体集積回路装置では、フラッシュメモリユニット１１のデータ記憶領域Ｂに格納するプログラムデータを変えることにより、半導体チップの製造後に、ＦＰＧＡユニット１２を用いて種々の機能を持つ回路を容易に実現することができる。この結果、高い汎用性を有する半導体集積回路装置が実現できる。しかも、従来のように製品毎にマスクを作成する必要がないので、開発コストが安価にできる。
【００１８】
ところで、フラッシュメモリユニット１１内に設けられているプログラム素子は不揮発性のものであり、データの書き込みができる。次に、フラッシュメモリユニット１１にプログラムデータを書き込む場合の回路構成例について説明する。
【００１９】
図４は、フラッシュメモリユニット１１のデータ記憶領域Ｂにプログラムデータの書き込みを行う際の回路構成の一例を示している。
【００２０】
この場合、半導体チップに設けられた１個の外部端子１３が使用される。この外部端子１３からプログラムデータがシリアルに入力され、フラッシュメモリユニット１１内に設けられているインターフェース（Ｉ／Ｆ）１５を介してフラッシュメモリユニット１１に供給されることで、データ記憶領域Ｂにプログラムデータが順次書き込まれる。
【００２１】
図５は、フラッシュメモリユニット１１のデータ記憶領域Ｂにプログラムデータの書き込みを行う際の回路構成の他の例を示している。
【００２２】
この場合、半導体チップに設けられた複数個の外部端子１３が使用される。この複数個の外部端子１３からプログラムデータがパラレルに入力され、フラッシュメモリユニット１１内に設けられているインターフェース（Ｉ／Ｆ）１５を介してフラッシュメモリユニット１１に供給されることで、データ記憶領域Ｂにプログラムデータが書き込まれる。なお、インターフェース１５とフラッシュメモリユニット１１との間のデータ経路は、パラレルであってもシリアルであってもよい。このとき、データ記憶領域Ｂの位置は、外部端子から供給されるデータに応じて設定することもできる。
【００２３】
ＦＰＧＡユニット１２をプログラムするためのプログラムデータが格納されるデータ記憶領域Ｂは、図２に示すように、フラッシュメモリユニット１１のアドレス空間の下位アドレス側に限定されるものではない。データ記憶領域Ｂは、図６（ａ）に示すようにアドレス空間の中間アドレス部分に設定されていてもよく、さらには、図６（ｂ）に示すようにアドレス空間の上位アドレス側に設定されていてもよい。
【００２４】
また、フラッシュメモリユニット１１のデータ記憶領域Ｂのサイズは、仕様に応じて一定のサイズに固定してもよい。ＦＰＧＡユニット１２を用いて実現できる回路規模の最大値に基づいてデータ記憶領域Ｂのサイズを固定すると、データ記憶領域が不足することはなくなる。多くの場合は、この方法を用いるとよい。
【００２５】
フラッシュメモリユニット１１に格納させるプログラムデータ量は、ＦＰＧＡユニット１２を用いて実現される回路の規模に応じて増減する。プログラムデータ量が少ない場合に、データ記憶領域Ｂのサイズが大きく設定されていると、データが格納されない無駄な領域がデータ記憶領域Ｂに生じる。そこで、フラッシュメモリユニット１１のデータ記憶領域をできるだけ有効活用するために、データ記憶領域Ｂのサイズは可変にしてもよい。
【００２６】
次に、フラッシュメモリユニット１１のデータ記憶領域Ｂのサイズを変更するための回路構成について説明する。
【００２７】
図７は、フラッシュメモリユニット１１のデータ記憶領域Ｂのサイズを変更する場合の回路構成の一例を示している。
【００２８】
この場合、半導体チップに設けられた１個の外部端子１３が使用される。この外部端子１３から、データ記憶領域Ｂのサイズを設定するためのデータが入力され、インターフェース（Ｉ／Ｆ）１５を介してアドレス領域設定回路１６に供給される。アドレス領域設定回路１６は、サイズ設定用のデータに応じて、フラッシュメモリユニット１１にデータ記憶領域Ｂのサイズを設定する。なお、インターフェース１５とフラッシュメモリユニット１１との間のデータ経路は、パラレルでもシリアルでもよい。
【００２９】
この場合、半導体チップに設けられた複数個の外部端子１３を使用してもよい。この複数個の外部端子１３から、データ記憶領域Ｂのサイズを設定するためのデータがシリアルに入力され、インターフェース（Ｉ／Ｆ）１５を介してアドレス領域設定回路１６に供給される。
【００３０】
図７の回路において、アドレス領域設定回路１６によってサイズが変更されたデータ記憶領域Ｂのアドレスが先の制御回路１４に記憶される。そして、データ記憶領域Ｂからのデータ読み出し時は、このアドレスに格納されているデータが読み出され、ＦＰＧＡユニット１２に供給される。
【００３１】
また、データ記憶領域Ｂのサイズを変更する際は、用途に応じて種々に変更することができる。
【００３２】
図８（ａ）〜（ｃ）は、データ記憶領域Ｂのサイズを変更する際に、データ記憶領域Ｂの最下位アドレスをアドレス空間の最下位アドレスに固定し、上位アドレス側を変更することでデータ記憶領域Ｂのサイズを変更する場合を示している。
【００３３】
図９（ａ）〜（ｃ）は、データ記憶領域Ｂのサイズを変更する際に、データ記憶領域Ｂの最上位アドレスをアドレス空間の最上位アドレスに固定し、下位アドレス側を変更することでデータ記憶領域Ｂのサイズを変更する場合を示している。
【００３４】
図１０（ａ）〜（ｃ）は、データ記憶領域Ｂのサイズを変更する際に、データ記憶領域Ｂの最上位アドレスをアドレス空間のある中間アドレスに固定し、下位アドレス側を変更することでデータ記憶領域Ｂのサイズを変更する場合を示している。
【００３５】
図１１（ａ）〜（ｃ）は、データ記憶領域Ｂのサイズを変更する際に、データ記憶領域Ｂの最下位アドレスをアドレス空間のある中間アドレスに固定し、上位アドレス側を変更することでデータ記憶領域Ｂのサイズを変更する場合を示している。
【００３６】
図１２（ａ）〜（ｃ）は、データ記憶領域Ｂのサイズを変更する際に、データ記憶領域Ｂの最上位アドレス及び最下位アドレスをフラッシュメモリユニット１１のアドレス空間のある中間アドレスにそれぞれ設定し、上位アドレス側及び下位アドレス側を共に変更することでデータ記憶領域Ｂのサイズを変更する場合を示している。
【００３７】
図１３は、図１中のＦＰＧＡユニット１２の具体的な構成例を示している。このＦＰＧＡユニットは、多数の論理ブロック２１と、縦横方向に延長された配線領域２２とから構成されている。
【００３８】
このような構成のＦＰＧＡユニットでは、フラッシュメモリユニット１１のデータ記憶領域Ｂに格納されているプログラムデータが供給されることで、多数の論理ブロック２１相互間を接続する配線が配線領域２２を用いて形成され、プログラムデータに応じた機能を持つ回路が構成される。
【００３９】
図１４は、図１中のプログラマブルロジックデバイスユニット１２として用いられるＣＰＬＤユニットの一例を示している。このＣＰＬＤは、多数のＰＬＤブロック３１と、それらを接続するためのひとかたまりの配線領域３２とから構成されている。さらに、上記各ＰＬＤブロック３１は、マクロセルと呼ばれるＡＮＤ−ＯＲゲート、Ｄ型フリップフロップ回路等で構成されている。
【００４０】
このような構成のＣＰＬＤユニットでは、フラッシュメモリユニット１１のデータ記憶領域Ｂに格納されているプログラムデータが供給されることで、ＰＬＤブロック３１相互間を接続する配線が配線領域３２を用いて形成され、プログラムデータに応じた機能を持つ回路が構成される。
【００４１】
図１５及び図１６はそれぞれ、図１中の不揮発性メモリユニット１１内のメモリセルアレイの一部の構成を示している。
【００４２】
図１５（ａ）は、不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットを用いた場合のものである。制御ゲート電極及び浮遊ゲート電極からなる２層ゲート電極構造を有する不揮発性トランジスタをユニットセル４１とし、複数個のユニットセル４１が直列接続されてＮＡＮＤ列４２が構成される。各ユニットセル４１の制御ゲート電極は、複数のワード線ＷＬのそれぞれに接続される。ＮＡＮＤ列４２の各一端は第１の選択トランジスタ４３を介してビット線ＢＬに接続され、各他端は第２の選択トランジスタ４４を介してソース線ＳＬに接続される。
【００４３】
図１５（ｂ）は、不揮発性メモリユニット１１としてＮＯＲ型フラッシュメモリユニットを用いた場合のものである。制御ゲート電極及び浮遊ゲート電極からなる２層ゲート電極構造を有する不揮発性トランジスタをユニットセル４１とし、複数個のユニットセル４１がビット線ＢＬとソース線ＳＬとの間に接続される。各ユニットセル４１の制御ゲート電極は、複数のワード線ＷＬのそれぞれに接続される。
【００４４】
図１６（ａ）は、不揮発性メモリユニット１１としてＭＲＡＭセルを有するＭＲＡＭユニットを用いた場合のものである。複数のＭＲＡＭセル４４がビット線ＢＬと接地電位のノードとの間に並列に接続されている。各ＭＲＡＭセル４４は、１つのＭＴＪ（Magnetic Tunnel Junction）素子４５と読み出し選択スイッチ（トランジスタ）４６とから構成される。各ＭＴＪ素子４５と平行するように書き込み用のワード線ＷＷＬが設けられており、読み出し選択スイッチ４６のゲート電極には読み出し用のワード線ＲＷＬが接続されている。ＭＴＪ素子４５は、フリー層とピン層との間にトンネル絶縁膜を挟み込んだ構成を有し、フリー層のトンネル絶縁膜側の強磁性層の磁化方向と、ピン層の磁化方向との関係により、データを記憶する。
【００４５】
図１６（ｂ）は、不揮発性メモリユニット１１としてＦｅＲＡＭ（Ferroelectric Random Access Memory）セルを有するＦｅＲＡＭユニットを用いた場合のものである。ブロック選択スイッチ（トランジスタ）ＢＳＴと複数のＦｅＲＡＭセル４７がビット線ＢＬとプレート線ＰＬとの間に直列に接続されている。ブロック選択スイッチＢＳＴのゲート電極にはブロック選択線ＢＳが接続されている。複数の各ＦｅＲＡＭセル４７は、メモリセルトランジスタ４８と、メモリセルトランジスタ４８のソース、ドレイン間に並列に接続された強誘電体キャパシタ４９とから構成されている。メモリセルトランジスタ４８のゲート電極はワード線ＷＬに接続されている。
【００４６】
上記実施形態の半導体集積回路装置では、ＦＰＧＡユニット１２は、フラッシュメモリユニット１１を取り囲むように形成されている場合を説明した。しかし、フラッシュメモリユニット１１及びＦＰＧＡユニット１２の配置状態は上記実施形態に限定されるものではなく、その用途に応じて種々に変形してもよい。
【００４７】
図１７（ａ）は、ＦＰＧＡユニット１２が、フラッシュメモリユニット１１の３辺を取り囲むように形成される場合の配置状態を示している。
【００４８】
図１７（ｂ）は、ＦＰＧＡユニット１２を２つの部分に分け、フラッシュメモリユニット１１が、この２つの部分のＦＰＧＡユニット１２により両側から挟まれるように形成される場合の配置状態を示している。
【００４９】
図１７（ｃ）は、フラッシュメモリユニット１１とＦＰＧＡユニット１２が１辺のみで接するように、両者が並設されるように形成される場合の配置状態を示している。
【００５０】
図１８は、本発明の第２の実施形態に係る半導体集積回路装置の半導体チップの平面図である。本実施形態の半導体チップ１０が図１に示す第１の実施形態のものと異なる点は、不揮発性メモリユニット１１、プログラマブルロジックデバイスユニット１２の他に、エラー訂正回路（Error Checking and Correcting:ＥＣＣ）１７とマルチプレクサ（ＭＵＸ）１８が集積されていることである。
【００５１】
第２の実施形態の半導体集積回路装置においても、不揮発性メモリユニット１１の一例として、ＮＡＮＤ型フラッシュメモリユニットの他に、ＮＯＲ型、及びＡＮＤ型のいずれかのフラッシュメモリユニット、ＭＲＡＭセルを有するＭＲＡＭユニット、ＦｅＲＡＭセルを有するＦｅＲＡＭユニットのうちの少なくともいずれか１つが形成されていてもよく、かつ、プログラマブルロジックデバイスユニット１２として、ＦＰＧＡユニット、ＣＰＬＤ構造を有するＣＰＬＤユニット、ＤＦＡ、及びその他のＰＬＤ構造のユニットが形成されていてもよい。
【００５２】
上記のような構成の半導体集積回路装置において、不揮発性メモリユニット１１のデータ記憶領域Ｂには、ＦＰＧＡユニット１２をプログラムするためのプログラムデータが予め格納される。データ記憶領域Ｂからのデータ読み出しは以下のようにして行われる。例えば、図１９に示すように、電源の投入時に、制御回路１４により不揮発性メモリユニット１１の動作が制御され、データ記憶領域Ｂに格納されているプログラムデータが不揮発性メモリユニット１１から読み出される。不揮発性メモリユニット１１から読み出されたプログラムデータは、エラー訂正回路１７によってエラー訂正が行われた後にＦＰＧＡユニット１２に供給される。ＦＰＧＡユニット１２ではコンフィグレーションと呼ばれる動作が行われ、プログラムデータに応じた機能を持つ回路が形成される。ＦＰＧＡユニット１２を用いて実現される回路は、不揮発性メモリユニット１１の各種インターフェース回路や、種々の制御回路、クロックジェネレータや演算回路等である。
【００５３】
一方、不揮発性メモリユニット１１のデータ記憶領域Ａに格納されている通常のデータは、データ記憶領域Ｂに格納されているデータと同様にエラー訂正回路１７によってエラー訂正が行われてから、マルチプレクサ１８を介してＦＰＧＡユニット１２に供給されてもよいし、あるいはエラー訂正が行われずに、マルチプレクサ１８を介してＦＰＧＡユニット１２に供給されるようにしてもよい。
【００５４】
第２の実施形態の半導体集積回路装置においても、ＦＰＧＡユニット１２をプログラムするためのデータが不揮発性メモリユニット１１に格納されているので、電源をオフにしてもデータは保持されており、再度、電源をオンにすると、不揮発性メモリユニット１１のデータ記憶領域Ｂに格納されているプログラムデータが読み出され、ＦＰＧＡユニット１２に供給される。すなわち、電源がオン状態にされる毎に、以前と同様の機能を持つ回路が、ＦＰＧＡユニット１２を用いて実現できる。
【００５５】
第２の実施形態の半導体集積回路装置においても、不揮発性メモリユニット１１のデータ記憶領域Ｂに格納するプログラムデータを変えることにより、半導体チップの製造後に、ＦＰＧＡユニット１２を用いて種々の機能を持つ回路を容易に実現することができる。この結果、高い汎用性を有する半導体集積回路装置が実現できる。しかも、従来のように製品毎にマスクを作成する必要がないので、開発コストが安価にできる。
【００５６】
不揮発性メモリユニット１１内に設けられているプログラム素子は不揮発性のものであり、データの書き込みができる。次に、不揮発性メモリユニット１１にプログラムデータを書き込む場合の回路構成例について説明する。
【００５７】
図２０は、図１８の半導体集積回路装置において、不揮発性メモリユニット１１のデータ記憶領域Ｂにプログラムデータの書き込みを行う際の回路構成の一例を示している。
【００５８】
この場合、半導体チップに設けられた１個の外部端子１３が使用される。この外部端子１３からプログラムデータがシリアルに入力され、不揮発性メモリユニット１１内に設けられているインターフェース（Ｉ／Ｆ）１５及びエラー訂正回路１７を介してフラッシュメモリユニット１１に供給されることで、エラーデータを修正するための符号が付加されたプログラムデータがデータ記憶領域Ｂに順次書き込まれる。
【００５９】
不揮発性メモリユニット１１からデータを読み出す際は、先に説明したように、不揮発性メモリユニット１１のデータ記憶領域Ｂに格納されているデータが、エラー訂正回路１７によってエラー訂正が行われてからＦＰＧＡユニット１２に供給される。データ記憶領域Ａに格納されているデータは、エラー訂正回路１７によってエラー訂正が行われてから、またはエラー訂正が行われずにＦＰＧＡユニット１２に供給される。
【００６０】
図２１は、図１８の半導体集積回路装置において、不揮発性メモリユニット１１のデータ記憶領域Ｂにプログラムデータの書き込みを行う際の回路構成の他の例を示している。
【００６１】
この場合、半導体チップに設けられた複数個の外部端子１３が使用される。この複数個の外部端子１３からプログラムデータがパラレルに入力され、不揮発性メモリユニット１１内に設けられているインターフェース（Ｉ／Ｆ）１５及びエラー訂正回路１７を介してフラッシュメモリユニット１１に供給されることで、データ記憶領域Ｂにプログラムデータが書き込まれる。なお、インターフェース１５とフラッシュメモリユニット１１との間のデータ経路は、パラレルであってもシリアルであってもよい。このとき、データ記憶領域Ｂの位置は、外部端子から供給されるデータに応じて設定することもできる。データ記憶領域Ａに格納されているデータは、エラー訂正回路１７によってエラー訂正が行われてから、またはエラー訂正が行われずにＦＰＧＡユニット１２に供給される。
【００６２】
図２２は、本発明の第３の実施形態に係る半導体集積回路装置の半導体チップの平面図である。本実施形態の半導体チップ１０が図１８に示す第２の実施形態のものと異なる点は、マルチプレクサ１８が省略されており、半導体チップ１０上に、不揮発性メモリユニット１１、ＦＰＧＡユニット１２の他に、エラー訂正回路１７が集積されていることである。
【００６３】
第３の実施形態の半導体集積回路装置においても、不揮発性メモリユニット１１の一例として、ＮＡＮＤ型フラッシュメモリユニットの他に、ＮＯＲ型、及びＡＮＤ型のいずれかのフラッシュメモリユニット、ＭＲＡＭセルを有するＭＲＡＭユニット、ＦｅＲＡＭセルを有するＦｅＲＡＭユニットが形成されていてもよく、かつ、プログラマブルロジックデバイスユニット１２として、ＦＰＧＡユニット、ＣＰＬＤ構造を有するＣＰＬＤユニット、ＤＦＡ、及びその他のＰＬＤ構造のユニットが形成されていてもよい。
【００６４】
第３の実施形態の半導体集積回路装置においても、ＦＰＧＡユニット１２をプログラムするためのデータが不揮発性メモリユニット１１に格納されているので、電源をオフにしてもデータは保持されており、再度、電源をオンにすると、不揮発性メモリユニット１１のデータ記憶領域Ｂに格納されているプログラムデータが読み出され、ＦＰＧＡユニット１２に供給される。すなわち、電源がオン状態にされる毎に、以前と同様の機能を持つ回路が、ＦＰＧＡユニット１２を用いて実現できる。
【００６５】
上記のような構成の半導体集積回路装置において、不揮発性メモリユニット１１からデータを読み出す際は、図２３に示すようにエラー訂正回路１７によってエラー訂正が行われた後にＦＰＧＡユニット１２に供給される。
【００６６】
図２４は、図２２の半導体集積回路装置において、不揮発性メモリユニット１１のデータ記憶領域Ｂにプログラムデータの書き込みを行う際の回路構成の一例を示している。
【００６７】
この場合、半導体チップに設けられた１個の外部端子１３が使用される。この外部端子１３からプログラムデータがシリアルに入力され、不揮発性メモリユニット１１内に設けられているインターフェース（Ｉ／Ｆ）１５及びエラー訂正回路１７を介してフラッシュメモリユニット１１に供給されることで、エラーデータを修正するための符号が付加されたプログラムデータがデータ記憶領域Ｂに順次書き込まれる。
【００６８】
不揮発性メモリユニット１１からデータを読み出す際は、先に説明したように、不揮発性メモリユニット１１のデータ記憶領域Ａ、Ｂに格納されているデータがそれぞれエラー訂正回路１７によってエラー訂正が行われてからＦＰＧＡユニット１２に供給される。
【００６９】
図２５は、図２２の半導体集積回路装置において、不揮発性メモリユニット１１のデータ記憶領域Ｂにプログラムデータの書き込みを行う際の回路構成の他の例を示している。
【００７０】
この場合、半導体チップに設けられた複数個の外部端子１３が使用される。この複数個の外部端子１３からプログラムデータがパラレルに入力され、不揮発性メモリユニット１１内に設けられているインターフェース（Ｉ／Ｆ）１５及びエラー訂正回路１７を介してフラッシュメモリユニット１１に供給されることで、データ記憶領域Ｂにプログラムデータが書き込まれる。なお、インターフェース１５とフラッシュメモリユニット１１との間のデータ経路は、パラレルであってもシリアルであってもよい。このとき、データ記憶領域Ｂの位置は、外部端子から供給されるデータに応じて設定することもできる。
【００７１】
図２６ないし図５６は、図１中、図１８中、あるいは図２２中のＦＰＧＡユニット１２を用いて実現される種々の回路の具体的な構成例を示している。特に、図２６ないし３０は、図１中、図１８中、あるいは図２２中のＦＰＧＡユニット１２を用い、かつ不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットを用い、ＮＡＮＤ型フラッシュメモリユニットをフラッシュメモリとして動作させるために使用される種々の回路を実現した場合の具体的な構成例を示している。
【００７２】
図２６は、ＦＰＧＡユニット１２を用いて、フラッシュメモリユニット（ＮＡＮＤ型フラッシュメモリユニット）１１とホスト５０との間のインターフェース回路（ＮＡＮＤインターフェース）（ＮＡＮＤ  Ｉ／Ｆ）５９を有するＩ／Ｆ６０を実現した例である。この場合、ＦＰＧＡを用いることで、ＮＡＮＤ  Ｉ／Ｆ５９におけるデータの転送方法、バス幅、タイミング等を、ホスト側のチップ構成に応じて自由に設定できる。
【００７３】
なお、図２６において、ＮＡＮＤインターフェースの代わりにＡＮＤインターフェース、ＮＯＲインターフェースを実現することによって、ＮＡＮＤ型フラッシュメモリユニットを用いているにも拘わらず、半導体チップが実質的にＡＮＤ型フラッシュメモリユニット、ＮＯＲ型フラッシュメモリユニットを搭載しているように構成できる。
【００７４】
また、不揮発性メモリユニットとしてＮＡＮＤ型フラッシュメモリユニットの代わりにＮＯＲ型フラッシュメモリユニットを用い、ＦＰＧＡユニット１２を用いてＮＯＲインターフェースを実現してもよく、さらにはＮＯＲインターフェースの代わりにＮＡＮＤインターフェース、ＡＮＤインターフェースを実現することによって、ＮＯＲ型フラッシュメモリユニットを用いているにも拘わらず、半導体チップが実質的にＡＮＤ型フラッシュメモリユニット、ＮＡＮＤ型フラッシュメモリユニット搭載しているように構成できる。
【００７５】
またさらに、不揮発性メモリユニットとしてＮＡＮＤ型フラッシュメモリユニットの代わりにＡＮＤ型フラッシュメモリユニットを用い、ＦＰＧＡユニット１２を用いてＡＮＤインターフェースを実現してもよく、さらにはＡＮＤインターフェースの代わりにＮＡＮＤインターフェース、ＮＯＲインターフェースを実現することによって、ＡＮＤ型フラッシュメモリユニットを用いているにも拘わらず、半導体チップが実質的にＮＡＮＤ型フラッシュメモリユニット、ＮＯＲ型フラッシュメモリユニットを搭載しているように構成できる。
【００７６】
なお、上記説明では不揮発性メモリユニット１１が、ＮＡＮＤ型フラッシュメモリユニット、ＮＯＲ型フラッシュメモリユニット、ＡＮＤ型フラッシュメモリユニットのいずれか１つである場合を説明したが、いずれか２種類の不揮発性メモリユニット、あるいは３種類以上の不揮発性メモリユニットが設けられていてもよく、インターフェース回路（Ｉ／Ｆ）もそれぞれに応じて適宜実現してよい。
【００７７】
これ以降の説明では不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットを用いる場合を例にして説明するが、図２６を用いて説明したように不揮発性メモリユニット１１として上記した種々のメモリユニットのうち少なくとも１つのメモリユニットを用いることができる。
【００７８】
図２７は、ＦＰＧＡユニット１２を用いてＮＡＮＤ  Ｉ／Ｆ５９及びエラー訂正回路（ＥＣＣ）６１を有するＩ／Ｆ６０を実現した例である。
【００７９】
図２８は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、エラー訂正回路（ＥＣＣ）６１と不良ブロックマネージメント（Bad Block Management）回路（ＢＢＭ）６２を有するＩ／Ｆ６０を実現した例である。ＢＢＭとは、フラッシュメモリユニット１１内のメモリセルアレイの不良エリアを検出、修正、管理するための回路である。
【００８０】
図２９は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、ＥＣＣ６１とウェアレベリングトリートメント（Wear Leveling Treatment）回路（ＷＬＴ）６３を有するＩ／Ｆ６０を実現した例である。ＷＬＴとは、フラッシュメモリユニット１１内のメモリセルの長寿命化を図るための回路である。
【００８１】
図３０は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９、ＥＣＣ６１、ＢＢＭ６２及びＷＬＴ６３を有するＩ／Ｆ６０を実現した例である。
【００８２】
なお、図２６乃至図３０に示す各回路において、不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットの他にＮＯＲ型、ＡＮＤ型フラッシュメモリユニット、ＭＲＡＭユニット、ＦｅＲＡＭユニットが形成されていてもよく、さらに、プログラマブルロジックデバイスユニット１２としてＦＰＧＡユニットの他にＣＰＬＤ構造を有するＣＰＬＤユニット、ＤＦＡユニット、及びその他のＣＰＬＤ構造を有するユニットが形成されていてもよい。
【００８３】
図３１乃至図３５は、図１中のＦＰＧＡユニット１２を用い、かつ不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットを用い、ＮＡＮＤ型フラッシュメモリユニットをレジスタとして動作させるために使用される種々の回路を実現した場合の具体的な構成例を示している。
【００８４】
図３１は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９及びデータバッファ（レジスタ）６４を有するＩ／Ｆ６０を実現した例である。
【００８５】
図３２は、ＦＰＧＡユニット１２を用いてＮＡＮＤ  Ｉ／Ｆ５９とデータバッファ６４とＥＣＣ６１を有するＩ／Ｆ６０を実現した例である。
【００８６】
図３３は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファ６４と、ＥＣＣ６１及びＢＢＭ６２を有するＩ／Ｆ６０を実現した例である。
【００８７】
図３４は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファ６４と、ＥＣＣ６１及びＷＬＴ６３を実現した例である。
【００８８】
図３５は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファ６４と、ＥＣＣ６１、ＢＢＭ６２及びＷＬＴ６３を実現した例である。
【００８９】
なお、図３１乃至図３５に示す各回路において、不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットの他にＮＯＲ型、ＡＮＤ型フラッシュメモリユニット、ＭＲＡＭユニット、ＦｅＲＡＭユニットが形成されていてもよく、さらに、プログラマブルロジックデバイスユニット１２としてＦＰＧＡユニットの他にＣＰＬＤ構造を有するＣＰＬＤユニット、ＤＦＡユニット、及びその他のＣＰＬＤ構造を有するユニットが形成されていてもよい。
【００９０】
図３６乃至図４０は、図１中、図１８中、あるいは図２２中のＦＰＧＡユニット１２を用い、かつ不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットを用い、ＮＡＮＤ型フラッシュメモリユニットをフラッシュメモリ（ＮＯＲ型もしくはＡＮＤ型）、ＳＲＡＭ（スタティックランダムアクセスメモリ）、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）のいずれかとして動作させるために使用される種々の回路を実現した場合の具体的な構成例を示している。
【００９１】
図３６は、ＦＰＧＡユニット１２を用いてＮＡＮＤ  Ｉ／Ｆ５９とデータバッファＲＡＭ６５を有するＩ／Ｆ６０を実現した例である。なお、データバッファＲＡＭ６５は、実質上ＳＲＡＭである。
【００９２】
図３７は、ＦＰＧＡユニット１２を用いてＮＡＮＤ  Ｉ／Ｆ５９とデータバッファＲＡＭ６５とＥＣＣ６１を有するＩ／Ｆ６０を実現した例である。
【００９３】
図３８は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファＲＡＭ６５と、ＥＣＣ６１及びＢＢＭ６２を有するＩ／Ｆ６０を実現した例である。
【００９４】
図３９は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファＲＡＭ６５と、ＥＣＣ６１及びＷＬＴ６３を有するＩ／Ｆ６０を実現した例である。
【００９５】
図４０は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファＲＡＭ６５と、ＥＣＣ６１、ＢＢＭ６２及びＷＬＴ６３を有するＩ／Ｆ６０を実現した例である。
【００９６】
図３６乃至図４０の各回路において、データバッファＲＡＭ６５のＩ／Ｆの構成を変更することにより、フラッシュメモリ（ＮＯＲ型もしくはＡＮＤ型）、ＳＲＡＭ及びＳＤＲＡＭのいずれかとして動作させることができる。
【００９７】
なお、図３６乃至図４０に示す各回路において、不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットの他にＮＯＲ型、ＡＮＤ型フラッシュメモリユニット、ＭＲＡＭユニット、ＦｅＲＡＭユニットが形成されていてもよく、さらに、プログラマブルロジックデバイスユニット１２としてＦＰＧＡユニットの他にＣＰＬＤ構造を有するＣＰＬＤユニット、ＤＦＡユニット、及びその他のＣＰＬＤ構造を有するユニットが形成されていてもよい。
【００９８】
図４１乃至図４４は、図１中、図１８中、あるいは図２２中のＦＰＧＡユニット１２を用い、かつ不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットを用い、ＮＡＮＤ型フラッシュメモリユニットをレジスタ及びフラッシュメモリの２つの回路として動作させるために使用される種々の回路を実現した場合の具体的な構成例を示している。
【００９９】
図４１は、ＦＰＧＡユニット１２を用いてＮＡＮＤ  Ｉ／Ｆ５９とデータバッファ６４とＥＣＣ６１を有するＩ／Ｆ６０を実現した例である。
【０１００】
図４２は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファ６４と、ＥＣＣ６１及びＢＢＭ６２を有するＩ／Ｆ６０を実現した例である。
【０１０１】
図４３は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファ６４と、ＥＣＣ６１及びＷＬＴ６３を実現した例である。
【０１０２】
図４４は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファ６４と、ＥＣＣ６１、ＢＢＭ６２及びＷＬＴ６３を実現した例である。
【０１０３】
なお、図４１乃至図４４に示す各回路において、不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットの他にＮＯＲ型、ＡＮＤ型フラッシュメモリユニット、ＭＲＡＭユニット、ＦｅＲＡＭユニットが形成されていてもよく、さらに、プログラマブルロジックデバイスユニット１２としてＦＰＧＡユニットの他にＣＰＬＤ構造を有するＣＰＬＤユニット、ＤＦＡユニット、及びその他のＣＰＬＤ構造を有するユニットが形成されていてもよい。
【０１０４】
また、図４１乃至図４４に示す各回路では、ホスト５０とＩ／Ｆ６０との間に２つのデータ経路がある場合が示されているが、これはデータ経路を１つのみ形成し、データ経路を２つの回路で時分割的に使用するように構成してもよい。
【０１０５】
図４５乃至図４８は、図１中、図１８中、あるいは図２２中のＦＰＧＡユニット１２を用い、かつ不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットを用い、ＮＡＮＤ型フラッシュメモリユニットをフラッシュメモリ（ＮＯＲ型もしくはＡＮＤ型）、ＳＲＡＭ及びＳＤＲＡＭのいずれか１つ及びフラッシュメモリ（ＮＡＮＤ型）の２つの回路として動作させるために使用される種々の回路を実現した場合の具体的な構成例を示している。
【０１０６】
図４５は、ＦＰＧＡユニット１２を用いてＮＡＮＤ  Ｉ／Ｆ５９とデータバッファＲＡＭ６５とＥＣＣ６１を有するＩ／Ｆ６０を実現した例である。
【０１０７】
図４６は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファＲＡＭ６５と、ＥＣＣ６１及びＢＢＭ６２を有するＩ／Ｆ６０を実現した例である。
【０１０８】
図４７は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファＲＡＭ６５と、ＥＣＣ６１及びＷＬＴ６３を有するＩ／Ｆ６０を実現した例である。
【０１０９】
図４８は、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、データバッファＲＡＭ６５と、ＥＣＣ６１、ＢＢＭ６２及びＷＬＴ６３を有するＩ／Ｆ６０を実現した例である。
【０１１０】
図４５乃至図４８の各回路において、データバッファＲＡＭ６５のＩ／Ｆの構成を変更することにより、ＳＲＡＭ及びＳＤＲＡＭのいずれかとして動作させることができる。
【０１１１】
なお、図４５乃至図４８に示す各回路において、不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットの他にＮＯＲ型、ＡＮＤ型フラッシュメモリユニット、ＭＲＡＭユニット、ＦｅＲＡＭユニットが形成されていてもよく、さらに、プログラマブルロジックデバイスユニット１２としてＦＰＧＡユニットの他にＣＰＬＤ構造を有するＣＰＬＤユニット、ＤＦＡユニット、及びその他のＣＰＬＤ構造を有するユニットが形成されていてもよい。
【０１１２】
また、図４５乃至図４８に示す各回路では、ホスト５０とＩ／Ｆ６０との間に２つのデータ経路がある場合が示されているが、これはデータ経路を１つのみ形成し、データ経路を２つの回路で時分割的に使用するように構成してもよい。
【０１１３】
上記説明では不揮発性メモリユニット１１及びＦＰＧＡユニット１２を用いて、１つあるいは２つの機能を有する半導体集積回路装置を構成する場合について説明した。しかし、これは３つ以上の機能を有する半導体集積回路装置を構成するようにしてもよい。さらに、その際にデータ経路を１つのみ形成し、時分割によりデータ転送を行うように構成してもよい。
【０１１４】
図４９は、図１中、図１８中、あるいは図２２中のＦＰＧＡユニット１２を用い、かつ不揮発性メモリユニット１１としてＮＡＮＤ型フラッシュメモリユニットを用い、始めは、ＮＡＮＤ型フラッシュメモリユニットをブート用ＲＯＭとして動作させ、ベースバンドへのデータの書き込みが終了した後は、ＮＡＮＤ型フラッシュメモリユニットをフラッシュメモリやＳＲＡＭ等として動作させるために使用される回路を実現した場合の構成例を示している。
【０１１５】
図示するように、ＦＰＧＡユニット１２を用いて、ＮＡＮＤ  Ｉ／Ｆ５９と、フラグレジスタ（ＲＥＧ）６６と、切換え回路（ＭＵＸ）６７と、先に説明したＥＣＣ６１、ＢＢＭ６２、ＷＬＴ６３、データバッファ６４、データバッファＲＡＭ６５のうちの少なくともいずれか１つを含む回路６８とを有するＩ／Ｆ６０が実現される。
【０１１６】
このような構成において、始めは、切換え回路６７により、ＮＡＮＤ型フラッシュメモリユニットのブート用領域を選択することで、ＮＡＮＤ型フラッシュメモリユニットをブート用ＲＯＭとして動作させる。
【０１１７】
ベースバンドへのデータの書き込みが終了した後は、ホスト５０からのフラグをフラグレジスタ６６にセットさせ、このときのフラグレジスタ６６の出力に基づいて切換え回路６７により回路６８からの出力を選択させる。このとき、回路６８の構成に応じてフラッシュメモリやＳＲＡＭ等として動作する。この場合、ＮＡＮＤ型フラッシュメモリユニット及びＦＰＧＡユニット１２を用いて、２つあるいはそれ以上の機能を有する半導体集積回路装置を構成するようにしてもよい。さらに、その際にデータ経路は１つのみ形成し、データ経路を２つあるいはそれ以上の回路で時分割的に使用するように構成してもよい。
【０１１８】
なお、ＦＰＧＡユニット１２を用いて、上記各回路の他に、不揮発性メモリユニットの各種インターフェース回路や、種々の制御回路、例えばクロックジェネレータや演算回路等を実現することができる。また、用途によって、プロセッサー（ＤＳＰ、ＣＰＵ等）を実現することもできる。
【０１１９】
なお、図２６では、ＦＰＧＡユニット１２を用いて、フラッシュメモリユニット（ＮＡＮＤ型フラッシュメモリユニット）１１とホスト５０との間のインターフェース回路（ＮＡＮＤインターフェース）（ＮＡＮＤ  Ｉ／Ｆ）５９を有するＩ／Ｆ６０を実現した場合を説明したが、これは図５０に示すように、ＦＰＧＡユニット１２を用いてＮＡＮＤインターフェース）（ＮＡＮＤ  Ｉ／Ｆ）５９とＮＯＲ  Ｉ／Ｆ）６９を有するＩ／Ｆ６０を実現して、ＮＡＮＤ型フラッシュメモリユニットをＮＡＮＤ型フラッシュメモリとＮＯＲ型フラッシュメモリとして動作させるようにしてもよい。
【０１２０】
さらに、図５１に示すように、ＦＰＧＡユニット１２を用いてＮＡＮＤインターフェース）（ＮＡＮＤ  Ｉ／Ｆ）５９とＳＲＡＭ  Ｉ／Ｆ７０を有するＩ／Ｆ６０を実現して、ＮＡＮＤ型フラッシュメモリユニットをＮＡＮＤ型フラッシュメモリとＳＲＡＭとして動作させるようにしてもよい。
【０１２１】
またさらに、図５２に示すように、ＦＰＧＡユニット１２を用いてＮＡＮＤインターフェース）（ＮＡＮＤ  Ｉ／Ｆ）５９とデータバッファ６４を有するＩ／Ｆ６０を実現してもよい。
【０１２２】
図５３は、不揮発性メモリユニット１１としてＭＲＡＭユニットを用い、図１中、図１８中、あるいは図２２中のＦＰＧＡユニット１２を用いて、ＭＲＡＭユニットをＮＡＮＤ型フラッシュメモリユニットとして使用するためのＮＡＮＤインターフェース６９を実現した場合の構成例を示している。
【０１２３】
なお、図５３において、ＦＰＧＡユニット１２を用いて、ＮＡＮＤインターフェース６９の代わりにＮＯＲインターフェース、ＡＮＤインターフェースを実現して、ＭＲＡＭユニットをＮＯＲ型フラッシュメモリユニット、ＡＮＤ型フラッシュメモリユニットとして使用することができ、さらにはＦＰＧＡユニット１２を用いてＭＲＡＭインターフェースを実現して、ＭＲＡＭユニットをＭＲＡＭユニットとして使用することもできる。
【０１２４】
図５４は、不揮発性メモリユニット１１としてＦｅＲＡＭユニットを用い、図１中、図１８中、あるいは図２２中のＦＰＧＡユニット１２を用いて、ＦｅＲＡＭユニットをＮＡＮＤ型フラッシュメモリユニットとして使用するためのＮＡＮＤインターフェース７０を実現した場合の構成例を示している。
【０１２５】
また、図５４において、ＦＰＧＡユニット１２を用いて、ＮＡＮＤインターフェース７０の代わりにＮＯＲインターフェース、ＡＮＤインターフェースを実現して、ＦｅＲＡＭユニットをＮＯＲ型フラッシュメモリユニット、ＡＮＤ型フラッシュメモリユニットとして使用することができ、さらにはＦＰＧＡユニット１２を用いてＭＲＡＭインターフェースを実現して、ＦｅＲＡＭユニットをＭＲＡＭユニットとして使用することもできる。
【０１２６】
上記したように半導体チップ上に形成される不揮発性メモリユニット１１は、ＮＡＮＤ型フラッシュメモリユニットなどのように１つのメモリユニットのみに限定されるものではない。例えば、図５５に示すように不揮発性メモリユニット１１として、ＮＡＮＤ型フラッシュメモリユニット１１ａとＭＲＡＭユニット１１ｂの２つのメモリユニットを形成してもよい。図５５の回路では、ＦＰＧＡユニット１２を用いてＮＡＮＤ  Ｉ／Ｆ５９とＭＲＡＭ  Ｉ／Ｆ７１とが実現されている。さらに、図５６に示すように不揮発性メモリユニット１１として、ＮＡＮＤ型フラッシュメモリユニット１１ａと、ＭＲＡＭユニット１１ｂと、ＦｅＲＡＭユニット１１ｃの３つのメモリユニットを形成してもよい。図５６の回路では、ＦＰＧＡユニット１２を用いてＮＡＮＤ  Ｉ／Ｆ５９と、ＭＲＡＭ  Ｉ／Ｆ７１と、ＦｅＲＡＭ  Ｉ／Ｆ７２が実現されている。不揮発性メモリユニット１１として３つ以上の不揮発性メモリユニットを形成してもよい。
【０１２７】
なお、図５５及び図５６では、ＮＡＮＤ型フラッシュメモリユニット１１ａに対してＮＡＮＤ  Ｉ／Ｆ５９が、ＭＲＡＭユニット１１ｂに対してＭＲＡＭ  Ｉ／Ｆ７１が、ＦｅＲＡＭユニット１１ｃに対してＦｅＲＡＭ  Ｉ／Ｆ７２がそれぞれ接続される場合を説明したが、不揮発性メモリユニットに対して異なる種類のＩ／Ｆ、例えばＮＡＮＤ型フラッシュメモリユニット１１ａに対してＭＲＡＭ  Ｉ／Ｆ７１もしくはＦｅＲＡＭ  Ｉ／Ｆ７２を接続してもよく、かつＭＲＡＭユニット１１ｂに対してＮＡＮＤ  Ｉ／Ｆ５９もしくはＦｅＲＡＭ  Ｉ／Ｆ７２を接続してもよく、さらにはＦｅＲＡＭ  Ｉ／Ｆ７２に対してＮＡＮＤ  Ｉ／Ｆ５９もしくはＭＲＡＭ  Ｉ／Ｆ７１を接続してもよい。
【０１２８】
また、Ｉ／Ｆの構成は、上記各例に限定されるものではなく、種々変形可能である。
【０１２９】
さらに、不揮発性メモリユニットとして２種類以上のメモリユニットが有る場合、１つのメモリユニットによりＦＰＧＡユニット１２を制御したり、複数のメモリユニットによりＦＰＧＡユニット１２を制御する構成とすることも可能である。すなわち、１つ以上のメモリユニットにＦＰＧＡユニット１２を制御するためのプログラムデータを格納させることにより、ＮＡＮＤ  Ｉ／ＦやＭＲＡＭ  Ｉ／Ｆ、或いはＦｅＲＡＭ  Ｉ／Ｆを構成することも可能である。
【０１３０】
さらに、図２６乃至図５６に示す各例において、ホスト５０と各インターフェースとの関係は、ホスト側の仕様に合わせてインターフェース側の構成を変更したり、インターフェース側の仕様に合わせてホスト側の構成を変更したりすることが可能である。
【０１３１】
その他、本発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。
【図面の簡単な説明】
【０１３２】
【図１】本発明の第１の実施形態に係る半導体集積回路装置の半導体チップの平面図。
【図２】図１中のフラッシュメモリユニットのアドレス空間を示す図。
【図３】図１中のフラッシュメモリユニットのデータ記憶領域からデータを読み出す際の回路構成の一例を示す回路図。
【図４】図１中のフラッシュメモリユニットのデータ記憶領域にプログラムデータの書き込みを行う場合の回路構成の一例を示す図。
【図５】図１中のフラッシュメモリユニットのデータ記憶領域にプログラムデータの書き込みを行う場合の回路構成の他の例を示す回路図。
【図６】図１中のフラッシュメモリユニットのアドレス空間の他の例を示す図。
【図７】図１中のフラッシュメモリユニットのデータ記憶領域のサイズを変更する場合の回路構成の一例を示す図。
【図８】図１中のフラッシュメモリユニットのデータ記憶領域のサイズを変更する場合の一例を示す図。
【図９】図１中のフラッシュメモリユニットのデータ記憶領域のサイズを変更する場合の他の例を示す図。
【図１０】図１中のフラッシュメモリユニットのデータ記憶領域のサイズを変更する場合の他の例を示す図。
【図１１】図１中のフラッシュメモリユニットのデータ記憶領域のサイズを変更する場合の他の例を示す図。
【図１２】図１中のフラッシュメモリユニットのデータ記憶領域のサイズを変更する場合の他の例を示す図。
【図１３】図１中のプログラマブルロジックデバイスユニットの一例であるＦＰＧＡユニットの具体的な構成例を示すブロック図。
【図１４】図１中のプログラマブルロジックデバイスユニットの一例であるＣＰＬＤユニットの具体的な構成例を示すブロック図。
【図１５】図１中のフラッシュメモリユニット内のメモリセルアレイの一部の構成を示す回路図。
【図１６】図１中のフラッシュメモリユニット内のメモリセルアレイの他の構成を示す回路図。
【図１７】図１中のフラッシュメモリユニットとＦＰＧＡユニットの種々の配置状態を示す平面図。
【図１８】本発明の第２の実施形態に係る半導体集積回路装置の半導体チップの平面図。
【図１９】図１８中のフラッシュメモリユニットのデータ記憶領域からデータを読み出す際の回路構成の一例を示す回路図。
【図２０】図１８中のフラッシュメモリユニットのデータ記憶領域にプログラムデータの書き込みを行う場合の回路構成の一例を示す図。
【図２１】図１８中のフラッシュメモリユニットのデータ記憶領域にプログラムデータの書き込みを行う場合の回路構成の他の例を示す回路図。
【図２２】本発明の第３の実施形態に係る半導体集積回路装置の半導体チップの平面図。
【図２３】図２２中のフラッシュメモリユニットのデータ記憶領域からデータを読み出す際の回路構成の一例を示す回路図。
【図２４】図２２中のフラッシュメモリユニットのデータ記憶領域にプログラムデータの書き込みを行う場合の回路構成の一例を示す図。
【図２５】図２２中のフラッシュメモリユニットのデータ記憶領域にプログラムデータの書き込みを行う場合の回路構成の他の例を示す回路図。
【図２６】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図２７】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図２８】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図２９】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３０】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３１】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３２】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３３】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３４】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３５】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３６】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３７】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３８】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図３９】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４０】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４１】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４２】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４３】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４４】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４５】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４６】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４７】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４８】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図４９】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図５０】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図５１】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図５２】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図５３】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図５４】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図５５】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【図５６】図１中、図８中、図２２中のＦＰＧＡユニットを用いて実現される回路の具体例を示すブロック図。
【符号の説明】
【０１３３】
１０…半導体チップ、１１…不揮発性メモリユニット、１２…プログラマブルロジックデバイスユニット、１３…外部端子、１４…制御回路、１５…インターフェース、１６…アドレス領域設定回路、１７…エラー訂正回路、１８…マルチプレクサ。
【図１】
2007013938.tif 000003
【図２】
2007013938.tif 000004
【図３】
2007013938.tif 000005
【図４】
2007013938.tif 000006
【図５】
2007013938.tif 000007
【図６】
2007013938.tif 000008
【図７】
2007013938.tif 000009
【図８】
2007013938.tif 000010
【図９】
2007013938.tif 000011
【図１０】
2007013938.tif 000012
【図１１】
2007013938.tif 000013
【図１２】
2007013938.tif 000014
【図１３】
2007013938.tif 000015
【図１４】
2007013938.tif 000016
【図１５】
2007013938.tif 000017
【図１６】
2007013938.tif 000018
【図１７】
2007013938.tif 000019
【図１８】
2007013938.tif 000020
【図１９】
2007013938.tif 000021
【図２０】
2007013938.tif 000022
【図２１】
2007013938.tif 000023
【図２２】
2007013938.tif 000024
【図２３】
2007013938.tif 000025
【図２４】
2007013938.tif 000026
【図２５】
2007013938.tif 000027
【図２６】
2007013938.tif 000028
【図２７】
2007013938.tif 000029
【図２８】
2007013938.tif 000030
【図２９】
2007013938.tif 000031
【図３０】
2007013938.tif 000032
【図３１】
2007013938.tif 000033
【図３２】
2007013938.tif 000034
【図３３】
2007013938.tif 000035
【図３４】
2007013938.tif 000036
【図３５】
2007013938.tif 000037
【図３６】
2007013938.tif 000038
【図３７】
2007013938.tif 000039
【図３８】
2007013938.tif 000040
【図３９】
2007013938.tif 000041
【図４０】
2007013938.tif 000042
【図４１】
2007013938.tif 000043
【図４２】
2007013938.tif 000044
【図４３】
2007013938.tif 000045
【図４４】
2007013938.tif 000046
【図４５】
2007013938.tif 000047
【図４６】
2007013938.tif 000048
【図４７】
2007013938.tif 000049
【図４８】
2007013938.tif 000050
【図４９】
2007013938.tif 000051
【図５０】
2007013938.tif 000052
【図５１】
2007013938.tif 000053
【図５２】
2007013938.tif 000054
【図５３】
2007013938.tif 000055
【図５４】
2007013938.tif 000056
【図５５】
2007013938.tif 000057
【図５６】
2007013938.tif 000058