(57)【要約】【課題】ソフトウェアリセット等の手法によらず、自らハングアップ状態から復帰することが可能な半導体集積回路を提供すること。【解決手段】ステートマシンを構成するフリップフロップ２１２Ｃ，２１２Ｄから出力されるリードタイミング信号ＲＴＩＭおよびライトタイミング信号ＷＴＩＭが論理積回路２１２Ｇに入力され、これによりステートマシンのステートの開始が検出される。カウンタ２１２Ｈは論理積回路２１２Ｇの出力信号をトリガーとしてカウントを開始する。このカウント値ＣＮＴはコンパレータ２１２Ｊにより所定値ＴＭＡＸと比較され、カウント値ＣＮＴが所定値ＴＭＡＸに達すると、ハングアップフラグＨＦＬＧが出力される。論理和回路２１２Ａ，２１２Ｂは、ハングアップフラグＨＦＬＧに基づきフリップフロップ２１２Ｃ，２１２Ｄを強制的にリセットする。【選択図】　　　図４
2004029952.tif 000002
【特許請求の範囲】
【請求項１】
ステートマシンとして機能するように構成された半導体集積回路において、
前記ステートマシンのステートを検出する検出手段と、
前記検出手段により検出されたステートの滞在時間を計時する計時手段と、
前記計時手段により計時された滞在時間から前記ステートマシンがハングアップ状態にあるか否かを判断する判断手段と、
前記判断手段の判断結果がハングアップ状態にあることを示す場合に前記ステートマシンをリセットするリセット手段と、
を備えたことを特徴とする半導体集積回路。
【請求項２】
前記計時手段が、前記ステートマシンのステートの開始を検出するための論理回路と、前記論理回路の出力信号をトリガーとしてカウントを開始するカウンタとを備え、
前記判断手段が、前記カウンタのカウント値と、前記滞在時間の最大値として予め設定された所定値とを比較するコンパレータを備えたことを特徴とする請求項１に記載された半導体集積回路。
【請求項３】
画像データを記憶する第１の記憶部と、
前記画像データを一時記憶するための第２の記憶部を有し、該第２の記憶部に記憶された画像データから表示用画像データを生成する画像データ生成部と、
前記第１の記憶部に記憶された画像データを読み出して前記第２の記憶部に書き込むことにより、前記第１の記憶部に記憶された画像データを前記第２の記憶部に転送するデータ転送部と、
前記データ転送部が前記第１の記憶部からの画像データの読み出しを終了した後、前記第２の記憶部に画像データの書き込みを行っている時間を計時する計時手段と、
前記計時手段により計時された時間から前記データ転送部がハングアップ状態にあるか否かを判断する判断手段と、
前記判断手段の判断結果がハングアップ状態にあることを示す場合に前記データ転送部をリセットするリセット手段と、
を備えたことを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路および画像処理装置に関し、特にパチンコ機などの遊技機において、遊技の展開状況に応じて演出用の画像や効果音を発生させるための技術に関する。
【０００２】
【従来の技術】
従来、パチンコ機などの遊技機には、遊技の進行を制御するための制御装置や、遊技の進行に応じた図柄などの画像を生成するための画像処理装置、あるいは効果音を発生するための音響制御装置等が内蔵されている。この種の装置は、いわゆるステートマシンとして構成されており、現在の動作状態に応じて次の動作状態が決定されるようになっている。
ところで、遊技機内部には、打球用のモータや電飾用の駆動回路など、ノイズの発生源が多く存在するため、ステートマシンとして構成された各装置内の半導体集積回路が誤動作し、装置がハングアップ状態に陥る場合がある。そこで、従来から、この種の装置には、ハングアップ状態から復帰するための機能が設けられている。
【０００３】
ここで、ハングアップ状態から復帰させるための従来技術として、いわゆるソフトウェア上の処理により回路状態をリセットする手法（以下、ソフトウェアリセットと称す）がある。このソフトウェアリセットによれば、装置を構成するＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）から、ハングアップ状態に陥ったＬＳＩ（Ｌａｒｇｅ　Ｓｃａｌｅ　Ｉｎｔｅｇｒａｔｉｏｎ）の動作をリセットするためのコマンドを発行し、このＬＳＩの内部回路（たとえばフリップフロップやレジスタ）により構成されるステートマシンをリセットする。ソフトウェアリセットの方法には、ウォチドッグタイマーを用いる方法と、ハングアップが発生したことを表すフラグをリードするなどして、ハングアップを検知した場合にリセットを行う方法がある。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述のソフトウェアリセットによれば、一部にリセット不能な回路が存在すると、回路全体がリセットされず、装置がハングアップ状態から復帰できなくなる場合が起こり得るという問題がある。また、ＬＳＩの内部回路がハングアップ状態に陥ったことをＣＰＵが検知する必要があるため、ＣＰＵの負荷が重くなる。さらに、ＣＰＵのインタフェース回路がハングアップ状態に陥ると、ＣＰＵはＬＳＩのハングアップを検知することができなくなるばかりか、リセットするためのコマンドを発行するもできなくなる。
【０００５】
この発明は、上記事情に鑑みてなされたもので、ソフトウェアリセット等の手法によらず、自らハングアップ状態から復帰することが可能な半導体集積回路および画像処理装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、この発明は以下の構成を有する。
即ち、請求項１に記載された発明は、ステートマシンとして機能するように構成された半導体集積回路において、前記ステートマシンのステートを検出する検出手段（例えば後述する論理積回路２１２Ｇに相当する構成要素）と、前記検出手段により検出されたステートの滞在時間を計時する計時手段（例えば後述するカウンタ２１２Ｈに相当する構成要素）と、前記計時手段により計時された滞在時間から前記ステートマシンがハングアップ状態にあるか否かを判断する判断手段（例えば後述するコンパレータ２１２Ｊに相当する構成要素）と、前記判断手段の判断結果がハングアップ状態にあることを示す場合に前記ステートマシンをリセットするリセット手段（例えば後述する論理和回路２１２Ａ，２１２Ｂに相当する構成要素）と、を備えたことを特徴とする。
【０００７】
この発明の構成によれば、ステートマシンがハングアップ状態に陥ると、同一ステートの滞在時間が長くなることを利用し、同一ステートの滞在時間からハングアップ状態を把握する。即ち、計時手段により同一ステートの滞在時間を計時し、この計時された滞在時間から判断手段によりステートマシンがハングアップ状態にあるか否かを判断する。ハングアップ状態にあると判断された場合には、リセット手段によりステートマシンをリセットする。換言すれば、この構成によれば、ステートマシンの現在のステートが予定時間以内に次のステートに移行しないことを条件としてステートマシンがリセットされる。従って、例えばソフトウェアリセットなどの外部からの操作によることなく、ステートマシンをハングアップ状態から復帰させることが可能になる。
【０００８】
請求項２に記載された発明は、請求項１に記載された半導体集積回路において、前記計時手段が、前記ステートマシンのステートの開始を検出するための論理回路（例えば後述する論理積回路２１２Ｇに相当する構成要素）と、前記論理回路の出力信号をトリガーとしてカウントを開始するカウンタ（例えば後述するカウンタ２１２Ｈに相当する構成要素）とを備え、前記判断手段が、前記カウンタのカウント値と、前記滞在時間の最大値として予め設定された所定値とを比較するコンパレータ（例えば後述するコンパレータ２１２Ｊに相当する構成要素）を備えたことを特徴とする。
【０００９】
この構成によれば、計時手段を構成する論理回路により、例えばステートマシン内の論理信号の組み合わせに基づきステートの開始が検出される。ステートの開始が検出されると、カウンタによりカウントが開始され、ステートの滞在時間の計時が開始される。判断手段を構成するコンパレータにより、カウンタのカウント値と所定値とが比較される。ここで、所定値はステートの滞在時間の最大値であるから、カウンタのカウント値が所定値に到達するということは、ステートが予定時間内に次ぎのステートに移行していないことを意味する。そこで、カウンタのカウント値が所定値に達すると、コンパレータの出力信号は、現在のステートがハングアップ状態にある旨の判断結果を表すものとなる。
【００１０】
請求項３に記載された発明にかかる画像処理装置は、画像データを記憶する第１の記憶部（例えば後述するメモリ８０に相当する構成要素）と、前記画像データを一時記憶するための第２の記憶部（例えば後述するメモリ２３０に相当する構成要素）を有し、該第２の記憶部に記憶された画像データから表示用画像データを生成する画像データ生成部（例えば後述する画像データ生成部２３に相当する構成要素）と、前記第１の記憶部に記憶された画像データを読み出して前記第２の記憶部に書き込むことにより、前記第１の記憶部に記憶された画像データを前記第２の記憶部に転送するデータ転送部（例えば後述するデータ転送モジュール２１０に相当する構成要素）と、前記データ転送部が前記第１の記憶部からの画像データの読み出しを終了した後、前記第２の記憶部に画像データの書き込みを行っている時間を計時する計時手段（例えば後述する論理積回路２１２Ｇおよびカウンタ２１２Ｈに相当する構成要素）と、前記計時手段により計時された時間から前記データ転送部がハングアップ状態にあるか否かを判断する判断手段（例えば後述するコンパレータ２１２Ｊに相当する構成要素）と、前記判断手段の判断結果がハングアップ状態にあることを示す場合に前記データ転送部をリセットするリセット手段（例えば後述する論理和回路２１２Ａ，２１２Ｂに相当する構成要素）と、を備えたことを特徴とする。
【００１１】
【発明の実施の形態】
以下、図面を参照して、この発明の実施の形態を説明する。
図１に、この実施の形態に係る半導体集積回路が適用されたパチンコ機などの遊技機に用いられる制御回路系の構成例を示す。同図において、ＣＰＵ（ＣｅｎｔｒａｌＰｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１０は、一連の遊技の進行を制御するもので、遊技の展開に応じて、例えばパチンコ機のアタッカーが所定時間にわたって開状態に固定される確率や大当たりが発生する確率を決定する機能等を有する。このＣＰＵ１０には、表示装置（ＣＲＴ）３０を制御する画像処理部２０と、スピーカ５０を駆動する音源４０とが接続される。
【００１２】
ＣＰＵ１０には、遊技の制御に関するプログラムを格納するＲＯＭ（Ｒｅａｄ　ＯｎｌｙＭｅｍｏｒｙ）６０が接続される。また、ＣＰＵ１０と上述の画像処理部２０および音源４０とを接続するバス上には、遊技の制御の過程で発生する一時的なデータを格納するためのＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）７０が接続される。さらに、画像処理部２０には、遊技の進行に応じて表示すべき図柄の素材データ（画像データ）や、図柄の拡大／縮小処理などの表示に関する制御データを格納するＲＯＭ８０が接続される。これら画像処理部２０およびＲＯＭ８０は、この発明に係る画像処理装置を構成する。ここで、画像処理部２０は、例えばＮＴＳＣ（Ｎａｔｉｏｎａｌ　Ｔｅｌｅｖｉｓｉｏｎ　Ｓｙｓｔｅｍｓ　Ｃｏｍｍｉｔｔｅｅ）規格に準拠して各フレームの画像データを生成するものであって、この発明に係る半導体集積回路を構成する。音源４０は、ＭＩＤＩ（Ｍｕｓｉｃａｌ　Ｉｎｓｔｒｕｍｅｎｔ　Ｄｉｇｉｔａｌ　Ｉｎｔｅｒｆａｃｅ）規格に準拠したものであって、ＣＰＵ１０の制御の下に遊技を演出するための音響信号を発生する。
【００１３】
図２に、画像処理部２０の構成を示す。
同図に示すように、画像処理部２０は、ステートマシンとして機能するものであって、データ転送モジュール２１０を内蔵するＣＰＵインタフェース２１，ＣＲＴコントローラ２２、メモリ（ＲＡＭ）２３０を内蔵する画像データ生成部２３、パターンメモリインタフェース２６、画像メモリ（ＳＤＲＡＭ）２７、色変換部２８を備え、これらはバス２９を介して接続されている。また、データ転送モジュール２１０は、コントロールバス２９Ａおよびパターンメモリインタフェース２６並びに後述するＲＯＭインタフェース８００を介してメモリ８０と接続され、コントロールバス２９Ｂおよび後述するＲＡＭインタフェース２３１を介してメモリ２３０と接続されている。さらに、画像データ生成部２３には、解凍処理部２４を介してメモリ（ＳＤＲＡＭ）２５が接続される。上述のＣＰＵ１０はＣＰＵインタフェース２１に接続され、表示装置３０はＣＲＴコントローラ２２に接続され、メモリ８０はパターンメモリインタフェース２６に接続される。
【００１４】
ここで、画像処理部２０の動作を簡単に説明しておく。画像の表示を行う場合、外部のＣＰＵ１０の制御の下に、データ転送モジュール２１０は、外部のメモリ８０からパターンメモリインタフェース２６を介して画像の制御データ（プログラムデータ）および圧縮された画像データを読み出してメモリ２３０に書き込む。即ち、制御データと画像データをメモリ８０からメモリ２３０に転送する。このうち、画像データは、解凍処理部２４により解凍（伸長）されてメモリ２５に格納される。
【００１５】
画像データ生成部２３は、メモリ２５から画像データを読み出し、メモリ２３０に格納された制御データに従って加工を施して１フレーム分の表示用画像データを生成し、これをバス２９を介して画像メモリ２７に書き込む。画像メモリ２７に書き込まれた表示用画像データは色変換部２８によりＲＧＢ系の画像信号に色変換されて表示装置３０に出力される。以上により、画像処理部２０は、ＣＰＵ１０の制御の下にステートマシンとして機能してリード動作とライト動作とを順次実行し、表示装置３０に画像を表示させる。
【００１６】
次に、図３に、データ転送モジュール２１０の構成を示す。このデータ転送モジュール２１０は、メモリ８０から読み出したデータを、適切なタイミングで画像データ生成部２３内のメモリ２３０に転送するためのものであって、ＦＩＦＯ２１１、ＦＩＦＯコントローラ２１２、アドレスカウンタ２１３，２１５、コンパレータ２１４，２１６を備えて構成される。このデータ転送モジュール２１０は、ＲＯＭインタフェース８００を介して上述のメモリ８０に接続され、ＲＡＭインタフェース２３１を介して上述のメモリ２３０に接続される。なお、図３ではデータ転送モジュール２１０とＲＯＭインタフェース８００との間に存在する図２に示すパターンメモリインタフェース２６が省略されている。
【００１７】
ここで、ＦＩＦＯ２１１には、ＲＯＭインタフェース８００からリードデータＲＤＡＴが入力され、このＦＩＦＯ２１１からＲＡＭインタフェース２３１にライトデータＷＤＡＴが出力される。リードデータＲＤＡＴは、メモリ８０から読み出された制御データまたは画像データである。ライトデータＷＤＡＴは、リードデータＲＤＡＴと同一内容のものであり、データ転送モジュール２１０により転送されてメモリ２３０に書き込まれる制御データまたは画像データである。また、ＦＩＦＯコントローラ２１２からＲＯＭインタフェース８００にリードリクエスト信号ＲＲＥＱが出力され、ＲＯＭインタフェースからＦＩＦＯコントローラ２１２にリードデータタイミング信号ＲＤＴＩＭが入力される。一方、ＦＩＦＯコントローラ２１２からＲＡＭインタフェース２３１にライトリクエスト信号ＷＲＥＱが出力され、ＲＡＭインタフェース２３１からＦＩＦＯコントローラ２１２にライトアクノリッジ信号ＷＡＣＫが入力される。
【００１８】
アドレスカウンタ２１３には、ＲＯＭインタフェース８００からリードアクノリッジ信号ＲＡＣＫが入力され、このアドレスカウンタ２１３からＲＯＭインタフェース８００にリードアドレス信号ＲＡＤＲが出力される。コンパレータ２１４には上述のリードアドレスＲＡＤＲが入力され、このコンパレータ２１４からＲＯＭインタフェース８００にリードエンド信号ＲＥＮＤが出力される。一方、アドレスカウンタ２１５には上述のライトアクノリッジ信号ＷＡＣＫが入力され、このアドレスカウンタ２１５からＲＡＭインタフェース２３１にライトアドレス信号ＷＡＤＲが出力される。コンパレータ２１６には上述のライトアドレスＷＡＤＲが入力され、このコンパレータ２１６からＲＡＭインタフェース２３１にライトエンド信号ＷＥＮＤが出力される。
【００１９】
ここで、データ転送モジュール２１０の動作を説明しておく。
データ（画像データ・制御データ）を転送する場合、ＦＩＦＯコントローラ２１２は、リードリクエスト信号ＲＲＥＱをＲＯＭインタフェース８００に出力する。これを受けて、ＲＯＭインタフェース８００は、リードアクノリッジ信号ＲＡＣＫをアドレスカウンタ２１３に出力し、これをトリガーとしてアドレスカウンタ２１３が順次的にリードアドレスＲＡＤＲを発生する。このとき、リードアクノリッジ信号ＲＡＣＫに対応してＲＯＭインタフェース８００からリードデータタイミング信号ＲＤＴＩＭが出力され、このリードデータタイミング信号ＲＤＴＩＭで規定されるタイミングでリードデータＲＤＡＴがＦＩＦＯ２１１に書き込まれる。このようにして、リード動作が行われ、ＲＯＭインタフェース８００を介してメモリ８０からＦＩＦＯ２１１にリードデータＲＤＡＴとしてデータが転送される。コンパレータ２１４は、リードアドレスＲＡＤＲとリードエンドアドレスＲＥＡとを逐次比較し、これらが一致すると、リードエンド信号ＲＥＮＤを出力する。そしてリードアドレスＲＡＤＲとリードエンドアドレスＲＥＡとが一致し、全てのデータがＦＩＦＯ２１１に転送されると、一連のリード動作が終了する。
【００２０】
一方、ＦＩＦＯコントローラ２１２は、ＲＡＭインタフェース２３１にライトリクエスト信号ＷＲＥＱを出力する。これを受けてＲＡＭインタフェース２３１は、ライトアクノリッジ信号ＷＡＣＫを出力し、これをトリガーとしてアドレスカウンタ２１５がライトアドレス信号ＷＡＤＲを出力し、その後インクリメントする。これにより、ライト動作が行われ、ＲＡＭインタフェース２３１を介してＦＩＦＯ２１１からメモリ２３０にライトデータＷＤＡＴとしてデータが転送される。コンパレータ２１６は、ライトアドレス信号ＷＡＤＲとライトエンドアドレスＷＥＡとを逐次比較し、ライトアドレス信号ＷＡＤＲがライトエンドアドレスＷＥＡと一致すると、ライトエンド信号ＷＥＮＤを出力して一連のライト動作が終了する。
【００２１】
次にＦＩＦＯコントローラ２１２を説明する。
図４に、ＦＩＦＯコントローラ２１２の構成の一部を示す。この構成は、この発明に関連する部分を抽出したものであって、同図に示すように、論理和回路２１２Ａ，２１２Ｂ、ＲＳ型のフリップフロップ（ＦＦ）２１２Ｃ，２１２Ｄ、２１２Ｋ、信号生成部２１２Ｅ，２１２Ｆ、論理積回路２１２Ｇ、カウンタ２１２Ｈ、コンパレータ２１２Ｊを含んで構成される。
【００２２】
具体的に説明する。論理和回路２１２Ａ，２１２Ｂには、それぞれ上述のリードエンド信号ＲＥＮＤおよびライトエンド信号ＷＥＮＤが入力されると共に、これら論理和回路には後述するハングアップフラグＨＦＬＧが共通に入力される。また、フリップフロップ２１２Ｃ，２１２Ｄのリセット端子には、論理和回路２１２Ａ，２１２Ｂの出力信号がそれぞれ入力されると共に、各セット端子にはＣＰＵ１０から供給されるスタート信号ＳＴＲが共通に入力される。
フリップフロップ２１２Ｃの出力信号はリードタイミング信号ＲＴＩＭとして信号生成部２１２Ｅに供給され、フリップフロップ２１２Ｄの出力信号はライトタイミング信号ＷＴＩＭとして信号生成部２１２Ｆに供給される。ここで、信号生成部２１２Ｅは、リードタイミング信号ＲＴＩＭと、上述のＦＩＦＯ２１１における空領域の有無もしくはデータが書き込まれた領域の割合とに応じてリードリクエスト信号ＲＲＥＱを生成し、信号生成部２１２Ｆは、ライトタイミング信号ＷＴＩＭと、上述のＦＩＦＯ２１１におけるデータの有無もしくはデータが書き込まれた領域の割合とに応じてライトリクエスト信号ＷＲＥＱを生成する。
【００２３】
論理積回路２１２Ｇは、負論理入力端子と正論理入力端子とを有し、この負論理入力端子にはリードタイミング信号ＲＴＩＭが入力され、正論理端子にはライトタイミング信号ＷＴＩＭが入力される。この実施の形態では、論理積回路２１２Ｇは、デコーダとして機能するものであって、メモリ８０のリード動作が終了してからメモリ２３０のライト動作が終了するまでのステートを検出する検出手段として機能する。
論理積回路２１２Ｇの出力信号は、カウンタ２１２Ｈのキャリーイン端子（Ｃｉ）とネガティブリセット端子（ＲＮ）とに共通に入力される。このカウンタ２１２Ｈは、論理積回路２１２Ｇの出力信号として論理値「１」を入力した時にカウントを開始し、論理値「０」を入力した時にカウント値をリセットするように構成されている。この実施の形態では、カウンタ２１２Ｈは、論理積回路２１２Ｇにより検出されたステートの滞在時間を計時する計時手段として機能する。
【００２４】
カウンタ２１２Ｈの出力信号（カウント値ＣＮＴ）はコンパレータ２１２Ｊの一方の入力端子に与えられ、コンパレータ２１２Ｊの他方の入力端子には所定値ＴＭＡＸが供給される。この所定値ＴＭＡＸは、メモリ８０からのリード動作が終了してからメモリ２３０の書き込みが終了するまでのステートの最大時間であって、そのようなステートの滞在時間の最大値として予め設定された値である。コンパレータ２１２Ｊは、カウント値ＣＮＴが所定値ＴＭＡＸに達したときにハングアップフラグＨＦＬＧとして論理値「１」の信号を出力するものである。これにより、コンパレータ２１２Ｊは、カウンタ２１２Ｈによって計時された滞在時間からハングアップ状態にあるか否かを判断する判断手段として機能し、その判断結果はハングアップフラグＨＦＬＧとして出力される。
【００２５】
コンパレータ２１２Ｊから出力されるハングアップフラグＨＦＬＧは、上述の論理和回路２１２Ａ，２１２Ｂに与えられる。この実施の形態では、論理和回路２１２Ａ，２１２Ｂは、コンパレータ２１２Ｊから出力されるハングアップフラグＨＦＬＧがハングアップ状態にあることを示す場合にステートマシンをリセットするリセット手段として機能する。また、ハングアップフラグＨＦＬＧは、ＲＳ型のフリップフロップ２１２Ｋのセット端子に与えられると共に、そのリセット端子にはＣＰＵ１０からのリセット信号が与えられる。フリップフロップ２１２Ｋの出力信号はエラーフラグＥＦＬＧとしてＣＰＵ１０に供給される。
【００２６】
以下、この実施の形態の動作について、図５に示す波形図を参照しながら図６に示すフローに沿って説明する。
初期状態では、画像処理部２０はアイドル状態にあり、イベントが発生するまで画像処理部２０はアイドル状態を保つ（ステップＳ１；ＮＯ）。このアイドル状態から、遊技の進行に応じてイベントが発生し、ＣＰＵ１０の制御の下に一連の動作が開始すると（ステップＳ２；ＹＥＳ）、画像処理部２０内のデータ転送モジュール２１０では、図４に示すフリップフロップ２１２Ｃ，２１２ＤがＣＰＵ１０からのスタート信号ＳＴＲによりセットされ、図５に示すように、リードタイミング信号ＲＴＩＭおよびライトタイミング信号ＷＴＩＭが共に論理値「１」とされる。
【００２７】
続いて、信号生成部２１２Ｅは、ＦＩＦＯ２１１に空き領域が存在し、かつリードタイミング信号ＲＴＩＭが論理値「１」であるという条件が満足されていれば、リードリクエスト信号ＲＲＥＱとして論理値「１」を出力する。一方の信号生成部２１２Ｆは、ＦＩＦＯ２１１にデータが存在し、かつライトタイミング信号ＷＴＩＭが論理値「１」であるという条件が満足されていれば、ライトリクエスト信号ＷＲＥＱとして論理値「１」を出力する。これを受けてＲＯＭインタフェース８００およびＲＡＭインタフェース２３１は、それぞれリードアクノリッジ信号ＲＡＣＫおよびライトアクノリッジ信号ＷＡＣＫを出力し、メモリ８０のリード動作およびメモリ２３０のライト動作が開始する（ステップＳ３）。
【００２８】
続いて、コンパレータ２１４からリードエンド信号ＲＥＮＤとして論理値「１」が出力され、メモリ８０からの制御データのリード動作が終了すると（ステップＳ４；ＹＥＳ）、メモリ２３０に対するライト動作のみが継続して行われる（ステップＳ５）。ここで、リードエンド信号ＲＥＮＤとして論理値「１」が図４に示す論理和回路２１２Ａに入力されると、この論理和回路２１２Ａの出力信号によりフリップフロップ２１２Ｃがリセットされ、リードタイミング信号ＲＴＩＭとして論理値「０」が出力される。このとき、ライトエンド信号ＷＥＮＤとして論理値「０」が保持されていて、フリップフロップ２１２Ｄはリセットされないから、フリップフロップ２１２Ｄはセット状態を保ち、ライトタイミング信号ＷＴＩＭとして論理値「１」が維持される。このため、論理積回路２１２Ｇが出力信号として論理値「１」を出力し、これにより、ステートマシンの現在のステートが、リード動作が終了し且つライト動作が終了していないステートであることが検知される。
【００２９】
論理積回路２１２Ｇの出力信号として論理値「１」が出力されると、これをトリガーとしてカウンタ２１２Ｈがカウント動作を開始し、現在のステートの滞在時間の計時が開始される。ここで、通常であれば、上述のリード動作が終了してから、予定された時間内にライト動作も終了し、ライトエンド信号ＷＥＮＤとして論理値「１」が出力される。この結果、フリップフロップ２１２Ｄがリセットされてライトタイミング信号ＷＴＩＭとして論理値「０」を出力し、これを入力する信号処理部２１２Ｆからライトリクエスト信号ＷＲＥＱとして論理値「０」が出力する。また、論理積回路２１２Ｇは論理値「０」を出力し、カウンタ２１２Ｈはカウントを停止する。これにより、一連のライト動作が終了し、ステートマシンが次のステートに移行する。
【００３０】
これに対し、ライト動作中に例えばフリップフロップ２１２Ｄがノイズによりセット状態に固定されると、ライトタイミング信号ＷＴＩＭが論理値「１」に固定され、ライトリクエスト信号ＷＲＥＱが論理値「１」に維持される。このため、見かけ上、ライト動作が終了しないこととなり、ハングアップ状態に陥る。この場合、論理積回路２１２Ｇが論理値「１」を出力した時点（リード動作が終了した時点）からカウンタ２１２Ｈがカウントを開始しているので、ライトタイミング信号ＷＴＩＭが論理値「１」を維持していればカウントが継続され、現在のステートの滞在時間が計時される。
【００３１】
そして、カウント値ＣＮＴが所定値ＴＭＡＸ（図５に示す「Ｎ」）に到達すると、コンパレータ２１２ＪがハングアップフラグＨＦＬＧとして論理値「１」を出力する（ステップＳ６；ＹＥＳ）。この場合、ハングアップフラグＨＦＬＧにより、図４に示す論理和回路２１２Ａ，２１２Ｂの出力信号が強制的に論理値「１」とされるので、これをリセット端子に入力するフリップフロップ２１２Ｃ，２１２Ｄは強制的にリセットされる。この結果、図５に示すように、リードタイミング信号ＲＴＩＭおよびライトタイミング信号ＷＴＩＭが共に論理値「０」とされて初期状態に戻される。これにより、ステートマシンがハングアップ状態から復帰し、一連の制御動作が最初のステートからやり直されることとなる。このハングアップフラグＨＦＬＧは、フリップフロップ２１２Ｋに取り込まれ、エラーフラグＥＦＬＧとしてＣＰＵ１０に供給される。これにより、ＣＰＵ１０は、画像処理部２０の内部でハングアップからの復帰が行われたことを事後的に把握することができ、必要に応じてその後の制御に反映させることが可能になる。
【００３２】
また、上述のライト動作（ステップＳ５）においてハングアップ状態に陥らない場合には、カウンタ値ＣＮＴが所定値ＴＭＡＸ（図５に示す「Ｎ」）に到達する前に、フリップフロップ２１２Ｄからライトタイミング信号ＷＴＩＭとして論理値「０」が出力されるので、論理積回路２１２Ｇの出力信号が論理値「０」とされ、カウンタ２１２Ｈのカウント値ＣＮＴがリセットされる。従って、この場合、ハングアップフラグＨＦＬＧは論理値「０」に維持され、正規のライトエンド信号ＷＥＮＤに応答してライトリクエスト信号ＷＲＥＱが論理値「０」となり、ライト動作が正常に終了する（ステップＳ７；ＹＥＳ）。そして、この後、ステートマシンのステートは、アイドル状態となり（ステップＳ１）、新たなイベントの発生を待つ。
【００３３】
以上説明したように、この実施の形態によれば、メモリ２３０のライト動作時間（ライトステートの滞在時間）を計時するようにしたので、このライト動作におけるＦＩＦＯコントローラ２１２のハングアップを把握することができ、ＦＩＦＯコントローラ２１２をリセットすることが可能になる。従って、遊技機の遊戯中に、ステートマシンを構成するＦＩＦＯコントローラ２１２がハングアップ状態となっても、このハングアップ状態から復帰することが可能となり、ハングアップにより遊技が中止される事態を回避することが可能になる。
また、上述の実施の形態では、ライト動作でのハングアップに対処するものとして構成したが、これに限定されることなく、どのようなステートでのハングアップに対処するものとしてもよい。
【００３４】
【発明の効果】
以上説明したように、この発明に係る半導体集積回路によれば、ステートマシンのステートを検出してステートの滞在時間を計時し、この計時された滞在時間からステートマシンがハングアップ状態にあるか否かを判断してリセットするようにしたので、ソフトウェアリセットによらず、自らハングアップ状態から復帰することが可能となる。
【図面の簡単な説明】
【図１】この発明の実施の形態に係る半導体集積回路が適用された遊技機の制御系の構成例を示すブロック図である。
【図２】この発明の実施の形態に係る半導体集積回路として構成された画像処理部の構成を示すブロック図である。
【図３】この発明の実施の形態に係るデータ転送モジュールの構成を示すブロック図である。
【図４】この発明の実施の形態に係るＦＩＦＯコントローラの構成を示すブロック図である。
【図５】この発明の実施の形態に係るＦＩＦＯコントローラの動作を説明するための波形図である。
【図６】この発明の実施の形態に係る画像処理部の動作の流れを示すフローチャートである。
【符号の説明】
２０…画像処理部、２１…ＣＰＵインタフェース、２２…ＣＲＴコントローラ、２３…画像データ生成部、２４…解凍処理部、２５…メモリ、２６…パターンメモリ、２７…画像メモリ、２８…色変換部、２９…バス、２９Ａ，２９Ｂ…コントロールバス、８０…メモリ、２１２…ＦＩＦＯコントローラ、２１２Ａ，２１２Ｂ…論理和回路、２１２Ｃ，２１２Ｄ，２１２Ｋ…フリップフロップ、２１２Ｅ，２１２Ｆ…信号生成部、２１２Ｇ…論理積回路、２１２Ｈ…カウンタ、２１２Ｊ…コンパレータ。
【図１】
2004029952.tif 000003
【図２】
2004029952.tif 000004
【図３】
2004029952.tif 000005
【図４】
2004029952.tif 000006
【図５】
2004029952.tif 000007
【図６】
2004029952.tif 000008