(57)【要約】【課題】  コマンド毎のクロック数の検出を確実に行い、誤ったプログラムの書き込みを防止し、かつコマンド数が増加しても回路規模が増加しない半導体集積回路を提供する【解決手段】  本発明の半導体集積回路は、シリアルインターフェースからの所定のクロック数によるコマンドの入力により、メモリ素子に対する書き込み及び読み出しをプログラムし、入力されるコマンド各々をデコードし、デコード結果に対応するコマンド信号を出力するコマンドデコード部と、クロック数を計数した計数結果を、計数結果毎に異なった端子から出力するクロックカウント部と、コマンド信号と、コマンド信号に対応するプログラム処理の入力に必要なクロック数と同一の計数結果とによりコマンド実行信号をセットし、セットに用いたクロック数を超える計数結果が入力されるとコマンド実行信号をリセットするラッチ部とを有する。【選択図】  図１
2008052842.tif 000002
【特許請求の範囲】
【請求項１】
シリアルインターフェースからの所定のクロック数によるコマンドの入力により、メモリ素子に対する書き込み及び読み出しをプログラムする半導体集積回路であり、
入力されるコマンド各々をデコードし、デコード結果に対応するコマンド信号を出力するコマンドデコード部と、
クロック数を計数した計数結果を、計数結果毎に異なった端子から出力するクロックカウント部と、
前記コマンド信号と、該コマンド信号に対応するプログラム処理の入力に必要なクロック数と同一の前記計数結果とによりコマンド実行信号をセットし、セットに用いたクロック数を超える計数結果が入力されるとコマンド実行信号をリセットするラッチ部と
を有することを特徴とする半導体集積回路。
【請求項２】
前記ラッチ回路が、
コマンド実行信号をセットするセット信号を、前記コマンド信号と、コマンド信号に対応する計数結果との組み合わせにより生成するセット信号生成回路と、
コマンド実行信号をリセットするリセット信号を、前記コマンド信号と、コマンド信号に対応する計数結果より１つ多い計数結果との組み合わせにより生成するリセット信号生成回路と
を有することを特徴とする請求項１記載の半導体集積装置。
【請求項３】
前記クロックカウンタ回路が前記クロックによってデータをシフトさせて、計数結果として出力するシフトレジスタで構成されることを特徴とする請求項１または請求項２に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルＥＥＰＲＯＭなどに係わり、記憶素子へのデータ書き込みのためのプログラム制御回路を有する半導体集積回路に関する。
【背景技術】
【０００２】
従来、ＣＰＵボード上におけるＣＰＵがシリアル入力のメモリ、例えばシリアルＥＥＰＲＯＭに対して、データの書き込み及び読み出しを行う際の信号の送受信は図３に示すように行われる。
すなわち、データ書き込みの際に、ＣＰＵからシリアルＥＥＰＲＯＭに対して、チップセレクト信号ＣＳと、シリアルクロック信号ＳＫと、メモリ書き込みデータＤＩとが入力される。一方、データ読み出しの際に、シリアルＥＥＰＲＯＭからＣＰＵに対して、メモリ読み出しデータＤＯが入力される。
【０００３】
このとき、データ書き込みやデータ読み出しを行う際、所定のクロック数によってプログラムするコマンド入力において、ＣＰＵが暴走することで、メモリのプログラムに必要なクロック数より多いクロック数が入力され、余分な信号をシリアルＥＥＰＲＯＭに転送してしまう場合がある。
この結果、目的としないデータをシリアルＥＥＰＲＯＭに書き込んでしまったり、関係のないアドレスからデータを読み出してしまうこととなる。
【０００４】
このため、データの書き込みや読み出しの処理を、シリアルＥＥＰＲＯＭに対してプログラムする際、各処理のプログラム書き込みのために必要なクロック数を計数し、筆よなクロック数以外のクロック数の信号が入力された場合、そのコマンドによる処理を無視することにより、プログラムの誤書き込みを防止する構成の半導体集積回路が開示されている（例えば、特許文献１参照）。
【特許文献１】特開平０６−３０９８８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に示す半導体集積回路にあっては、コマンド毎に必要なクロック数であるか否かを検出するクロック数検出回路において、入力されるクロック数を計数するカウンタが必要となる。
このため、従来の半導体集積回路におけるクロック数検出回路は、書き込みや読み出しのモードが増加することにより、これらのプログラムを入力するコマンド数が増加するに従い、このコマンド数の増加に対応してカウンタ数が増加するために回路規模が増大し、チップ面積が増加して製造コストが上昇してしまう欠点がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、コマンド毎のクロック数の検出を確実に行い、誤ったプログラムの書き込みを防止し、かつコマンド数が増加しても回路規模が増加しないクロック数検出回路を有する半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述する課題を解決するため、本発明の半導体集積回路は、シリアルインターフェースからの所定のクロック数によるコマンドの入力により、メモリ素子に対する書き込み及び読み出しをプログラムするものであり、入力されるコマンド各々をデコードし、デコード結果に対応するコマンド信号を出力するコマンドデコード部と、クロック数を計数した計数結果を、計数結果毎に異なった端子から出力するクロックカウント部と、前記コマンド信号と、該コマンド信号に対応するプログラム処理の入力に必要なクロック数と同一の前記計数結果とによりコマンド実行信号をセットし、セットに用いたクロック数を超える計数結果が入力されるとコマンド実行信号をリセットするラッチ部とを有することを特徴とする。
【０００８】
本発明の半導体集積回路は、前記ラッチ回路が、コマンド実行信号をセットするセット信号を、前記コマンド信号と、コマンド信号に対応する計数結果との組み合わせにより生成するセット信号生成回路と、コマンド実行信号をリセットするリセット信号を、前記コマンド信号と、コマンド信号に対応する計数結果より１つ多い計数結果との組み合わせにより生成するリセット信号生成回路とを有することを特徴とする。
【０００９】
本発明の半導体集積回路は、前記クロックカウンタ回路が前記クロックによってデータをシフトさせて、計数結果として出力するシフトレジスタで構成されることを特徴とする。
【発明の効果】
【００１０】
以上説明したように、本発明の半導体集積回路によれば、各コマンド毎に規定されたクロック数以外のクロック数が入力されることによる誤動作を防止することができ、かつコマンド数が増加しても、１つのクロックカウンタ回路が複数のコマンド毎に必要なクロック数を管理する構成となっているため、従来例のようにコマンド毎に１つの計数検出回路を設ける必要がないため、回路規模を従来に比して小さくすることができ、製造コストを従来の構成に比較して低減させることが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施形態による半導体集積回路を図面を参照して説明する。図１は同実施形態による半導体集積回路の構成例を示すブロック図である。本実施形態は、従来例にて説明した、図３に示すように、ＣＰＵ等から所定のクロック数にてプログラム処理を示すコマンドを入力するシリアル入力のシリアルＥＥＰＲＯＭである。
この図において、クロックカウント部１は、カウント開始時に「Ｈ」レベルのデータビットが入力され、シリアル入力のパルス列としてクロックＳＫが入力される毎に、そのデータビットが１ビットずつシフトされ、そのシフト位置の段の出力端子から、データビットを計数結果として出力している。
ここで上記計数結果は、クロックカウント部１のシフトレジスタにおいて、各コマンドの入力に必要なクロック数に対応した段の出力端子から出力される。
【００１２】
すなわち、ｎ発のクロックＳＫが入力されると、データビットがシフトレジスタのｎ段目に移動し、ｎ段目の出力端子、例えば、１６発のクロックＳＫが入力されると、シフトレジスタの１６段目にデータビットがシフトされ、クロックカウント部１は、１６段目の出力端子から「Ｈ」レベルの計数結果を出力する。
この構成により、本実施形態による半導体集積回路は、全てのコマンドの入力に必要なクロックの計数管理を１つのカウンタにて構成しているため、各コマンド毎にクロック数を計数するための計数検出回路を設けることが無くなり、コマンド数が増加したとしても、従来例の構成に比較してチップサイズを増大させることがなく、製造コストを抑制することができる。
【００１３】
デコード部２は、クロックＳＫに同期されてコマンドが入力され、コマンド認識信号が入力されたタイミングにて、デコード処理を行い、入力されたコマンドに対応するデコード結果としてのコマンド信号（…，Ｃn，Ｃn+1，…）を出力する。
アンド回路３は、一方の入力端子がデコード部２のデコード結果としてのコマンド信号を出力する出力端子に接続され、他方の入力端子がこのコマンド信号のコマンドの入力に必要なクロック数と同一の計数結果の出力端子（クロックカウンタ部１の出力端子）に接続されている。
また、アンド回路３は、セット信号生成回路として機能し、それぞれ入力されるコマンド信号と、そのコマンド信号のクロック数に対応する計数結果とのいずれとも「Ｈ」レベルにて入力されると、「Ｈ」レベルのセット信号を出力する。
【００１４】
アンド回路４は、一方の入力端子がデコード部２のデコード結果としてのコマンド信号を出力する出力端子に接続され、他方の入力端子がこのコマンド信号のコマンドの入力に必要なクロック数を１つ超えるクロック数と同一の計数結果の出力端子（クロックカウンタ部１の出力端子）に接続されている。
また、アンド回路４は、リセット信号生成回路として機能し、それぞれ入力されるコマンド信号と、そのコマンド信号のクロック数を超える、例えば１つ多いクロック数の計数結果とのいずれとも「Ｈ」レベルにて入力されると、「Ｈ」レベルのリセット信号を出力する。
上述したアンド回路３は上記コマンド毎、すなわちコマンド信号毎に設けられており、例えば、図１のアンド回路…，３n，３n+1，…に対応し、また、アンド回路４も上記コマンド信号毎に設けられており、例えば、図１のアンド回路…，４n，４n+1，…に対応している。
【００１５】
ラッチ部５は、セット端子Ｓに入力される上記セット信号により、出力端子Ｑからプログラムイネーブル状態を示すコマンド実行信号ＫＣＯＵＮＴを「Ｈ」レベルにて出力し、リセット端子Ｒに入力される上記リセット信号により、出力端子Ｑから出力されているコマンド実行信号ＫＣＯＵＮＴをリセットして「Ｌ」レベルとする。
このラッチ部５も各コマンド毎、すなわちコマンド信号毎に設けられており、例えば、図１のラッチ回路…，５n，５n+1，…に対応している。
【００１６】
アンド回路６は、一方の入力端子が上記ラッチ部５の出力端子Ｑに接続され、他方の入力端子にコマンド成立信号ＰＧＣＹが入力されている。このコマンド成立信号ＰＧＣＹは、半導体集積回路をアクティブ状態とするチップセレクト信号ＣＳの反転された信号となっている。
このアンド回路６も各コマンド毎、すなわちコマンド信号毎に設けられており、例えば、図１のアンド回路…，６n，６n+1，…に対応している。
【００１７】
また、アンド回路６は、対応するラッチ部５からのコマンド実行信号ＫＣＯＵＮＴ及びコマンド成立信号ＰＧＣＹの双方ともが入力された場合、すなわち双方の信号がともに「Ｈ」レベルの場合、命令信号をプログラム処理部７へ「Ｈ」レベルにて出力する。
プログラム処理部７は、入力される命令信号に対応した処理を、メモリ部８の各メモリ素子に対して行う。
【００１８】
例えば、命令信号がデータの書き込みのプログラム処理に対応するコマンドから生成された場合、外部からＤＩにおいて入力されたデータを、やはり外部から入力されたアドレスのメモリ素子に対して書き込む処理を行う。
また、命令信号がデータの読み出しのプログラム処理に対応するコマンドから生成された場合、外部から入力されたアドレスのメモリ素子から、データＤＯとしてデータの読み出し処理を行う。
また、上記クロックカウント部１は、シフトレジスタを用いた構成でなく、カウンタ回路の出力値と、各コマンドの入力に必要なクロック数に対応する設定値とを比較し、一致したクロック数に対応する一致信号を計数結果として出力させるようにしてもよい。
【００１９】
次に、図１及び図２を参照し、一実施形態による半導体集積回路の動作例を説明する。ここで、図２は図１の半導体集積回路のコマンドの入力動作を説明するタイミングチャートである。図２（ａ）はコマンドが必要とするクロック数にて入力された正常な場合を示し、図２（ｂ）はコマンドが必要とするより多くのクロック数が入力された異常な場合を示している。
上述したように、コマンド毎にプログラム処理を示すデータのビット数、すなわち入力に必要なクロック数が異なる。
【００２０】
例えば、データの書き込みであると、データの書き込みを示すコマンドの後に、そのデータを書き込むアドレス及びその書き込むデータが転送されることとなる。コマンドのビット数が４ビットであり、アドレスが４ビットであり、データが８ビットであると、１６ビットのクロック数が必要となる。
以下、図１の回路にてｎを１６とし、上述したデータ書き込みを例として半導体集積回路の動作の説明を行う。
【００２１】
図２（ａ）において、チップセレクト信号ＣＳが「Ｌ」レベルから「Ｈ」レベルに遷移し、コマンド入力のモードとなった後、クロックＳＫがパルス列として、クロックカウンタ部１及びデコーダ部２に入力される。
クロックカウント部１は、チップセレクト信号ＣＳが「Ｈ」レベルとなった後、データビットをクロックＳＫに対応させて、順次格段にシフトさせる。
ここで、デコード部２は、クロックＳＫに同期させて、半導体集積回路の入力端子から順次コマンドを示すビットデータを入力する。
本実施形態の場合、コマンドのビット数を４としているため、クロックＳＫが４発入力された時点で、クロックカウント部１はデコード部２に対して４発目の計数結果を、コマンド認識信号として出力する。
【００２２】
そして、デコード部２は、入力されたコマンドをデコードし、デコード結果に対応するコマンド信号を出力する。
このとき、入力されたコマンドがクロック数ｎ（＝１６）が必要なコマンド信号Ｃnであるので、デコード部２は「Ｈ」レベルのコマンド信号Ｃnを出力する。
これにより、アンド回路３ｎ及びアンド回路４ｎそれぞれの一方の入力端子に「Ｈ」レベルのコマンド信号Ｃnが入力される。
【００２３】
次に、クロックカウント部１は、クロックＳＫが入力される毎に、出力結果が出力される出力端子を１段ずつシフトさせ、ｎ発（１６発）が入力された際、端子Ｔｎから「Ｈ」レベルの出力結果をアンド回路３ｎに対して出力する。
これにより、アンド回路３ｎは、２つの入力端子共に「Ｈ」レベルの信号となったため、「Ｈ」レベルのセット信号をラッチ部５ｎへ出力する。
セット信号が入力されることにより、ラッチ部５ｎはセットされ、出力端子Ｑからコマンド実行信号ＫＣＯＵＮＴを「Ｈ」レベルにて、アンド回路６ｎの一方の入力端子へ出力する。
【００２４】
そして、１７発目のクロックＳＫが入力されず、コマンド信号Ｃnのコマンドに対応するクロック数のみで、クロックＳＫのパルス列が終了されているため、チップセレクト信号ＣＳが「Ｈ」レベルから「Ｌ」レベルに遷移し、「Ｈ」レベルのコマンド成立信号がアンド回路６ｎの他方の入力端子に入力される。
これにより、アンド回路６ｎは、２つの入力端子の双方に「Ｈ」レベルが入力されることにより、命令信号ＰＧＣＹをプログラム処理部７へ出力する。
そして、プログラム処理部７は、命令信号ＰＧＣＹが入力されることにより、入力されたデータをメモリ部８の指定されたアドレスに書き込む等の処理を行う。
【００２５】
次に、図２（ｂ）において、チップセレクト信号ＣＳが「Ｌ」レベルから「Ｈ」レベルに遷移し、コマンド入力のモードとなった後、クロックＳＫがパルス列として、クロックカウンタ部１及びデコーダ部２に入力される。
クロックカウント部１は、チップセレクト信号ＣＳが「Ｈ」レベルとなった後、データビットをクロックＳＫに対応させて、順次格段にシフトさせる。
ここで、デコード部２は、クロックＳＫに同期させて、半導体集積回路の入力端子から順次コマンドを示すビットデータを入力する。
本実施形態の場合、コマンドのビット数を４としているため、クロックＳＫが４発入力された時点で、クロックカウント部１はデコード部２に対して４発目の計数結果を、コマンド認識信号として出力する。
【００２６】
そして、デコード部２は、入力されたコマンドをデコードし、デコード結果に対応するコマンド信号を出力する。
このとき、入力されたコマンドがクロック数ｎ（＝１６）が必要なコマンド信号Ｃnであるので、デコード部２は「Ｈ」レベルのコマンド信号Ｃnを出力する。
これにより、アンド回路３ｎ及びアンド回路４ｎそれぞれの一方の入力端子に「Ｈ」レベルのコマンド信号Ｃnが入力される。
【００２７】
次に、クロックカウント部１は、クロックＳＫが入力される毎に、出力結果が出力される出力端子を１段ずつシフトさせ、ｎ発（１６発）が入力された際、端子Ｔｎから「Ｈ」レベルの出力結果をアンド回路３ｎに対して出力する。
これにより、アンド回路３ｎは、２つの入力端子共に「Ｈ」レベルの信号となったため、「Ｈ」レベルのセット信号をラッチ部５ｎへ出力する。
セット信号が入力されることにより、ラッチ部５ｎはセットされ、出力端子Ｑからコマンド実行信号ＫＣＯＵＮＴを「Ｈ」レベルにて、アンド回路６ｎの一方の入力端子へ出力する。
【００２８】
そして、１７発目のクロックＳＫが入力されたため、クロックカウント部１は、クロックＳＫが入力される毎に、出力結果が出力される出力端子を１段ずつシフトさせ、ｎ＋１発（１７発）が入力された際、端子Ｔｎ+1から「Ｈ」レベルの出力結果をアンド回路４ｎに対して出力する。
これにより、アンド回路４ｎは、すでに「Ｈ」レベルのコマンド信号Ｃnが入力されており、２つの入力端子の双方が「Ｈ」レベルとなったため、「Ｈ」レベルのリセット信号を、ラッチ部５ｎのリセット端子Ｒへ出力する。
【００２９】
リセット信号が入力されることにより、ラッチ部５ｎは出力端子Ｑから出力されているコマンド実行信号ＫＣＯＵＮＴを、「Ｈ」レベルから「Ｌ」レベルへ遷移させる。
この結果、チップセレクト信号ＣＳが「Ｈ」レベルから「Ｌ」レベルに遷移し、「Ｈ」レベルのコマンド成立信号がアンド回路６ｎの他方の入力端子に入力された際、アンド回路６ｎは、一方の端子が「Ｌ」レベルとなっているため、命令信号ＰＧＣＹをプログラム処理部７へ出力することはない。
したがって、本実施形態によれば、異常なコマンド入力の際、入力されたコマンドは実行されずに無視されることとなり、半導体集積回路への誤書き込みなどを防止することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態による半導体集積回路（シリアルＥＥＰＲＯＭ）の構成例を示すブロック図である。
【図２】図１の半導体集積回路の動作を説明するタイミングチャートである。
【図３】シリアルＥＥＰＲＯＭとＣＰＵとの信号の送受信を説明する概念図である。
【符号の説明】
【００３１】
１…クロックカウント部
２…デコード部
３n，３n+1，４n，４n+1，６n，６n+1…アンド回路
５n，５n+1…ラッチ部
７…プラグラム処理部
８…メモリ部
【図１】
2008052842.tif 000003
【図２】
2008052842.tif 000004
【図３】
2008052842.tif 000005