(57)【特許請求の範囲】
【請求項１】
外部ＣＰＵと内部クロックに同期して動作する内部メモリとのインタフェースを司るインタフェース回路において、
前記外部ＣＰＵからの読み出し要求を検出する検出手段と、
リセット信号により前記内部メモリアクセスを不許可とされ、リセット信号がなく外部ＣＰＵからの読み出し要求がないときに内部メモリアクセスを許可されるアクセス手段と、
内部メモリアクセス不許可時には内部メモリに対する通常のデータ読み出しを抑制する一方、外部ＣＰＵから読み出し要求があったときはレディ信号を出力するメモリ読出手段と、
を備え、内部メモリのリセット中にも外部ＣＰＵへレディ信号の出力を可能にしたことを特徴とするインタフェース回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＬＳＩ（大規模集積回路）等の内部メモリと外部ＣＰＵ（中央処理装置）とのインタフェースを司るインタフェース回路、特に内部メモリのリセット中にも外部ＣＰＵへレディ信号の出力を可能にしたインタフェース回路に関する。
【０００２】
【従来の技術】
様々な機能をまとめたＬＳＩと、これを制御するＣＰＵの組み合わせにより、部品点数を減らすことが良く行なわれている。一方、ＬＳＩに内蔵するメモリはＬＳＩ内部からのアクセスも受け付けるように、インタフェース回路は内部クロックに同期する構成となっている。
このＬＳＩに内蔵したメモリを外部のＣＰＵから読み出すメモリ読出回路の１例を、図５に示す。なお、図５の各フリップフロップは図示されない内部クロックに同期し、リセット入力でリセットされるものとする。
【０００３】
図５のタイムチャートを図８に示す。この図８を参照しつつ図５の動作について説明する。
外部ＣＰＵからのチップセレクト信号＊ＣＳとリードイネーブル信号＊ＲＤがともにアクティブ（ロー：Ｌｏｗ）になったときに、外部ＣＰＵから読出し要求があるとして、ノアゲートＮＯＲ２０によりＲＤＲＱ信号がハイ（Ｈｉｇｈ）になる。このＲＤＲＱ信号の立上がりをアンドゲートＡＮＤ２３で検出し、立上がり時にＡＮＤ２３出力が１クロック間だけＨｉｇｈになる。このＡＮＤ２３出力をＪＫフリップフロップ（ＪＫＦＦ）２４のＪ入力とすることにより、図示されないＬＳＩ内部メモリへの読出し要求ＭｅｍＲＤをオン（ＯＮ）する。
【０００４】
ＬＳＩ内部メモリは、ＭｅｍＲＤを受けるとデータを出力し、データ出力確定のタイミングでＲｅａｄｙ信号であるＭｅｍＲＤＹを、１クロック間Ｈｉｇｈにする。メモリ読出し要求ＭｅｍＲＤは、ＭｅｍＲＤＹ信号がＪＫＦＦ２４のＫ端子に入力されることによりオフ（ＯＦＦ）となる。このとき、ＬＳＩ内部メモリのアドレスは、図示されない外部ＣＰＵから与えられる。ＬＳＩ内部メモリからの出力データは、図６に示すデータ出力回路のＤ形フリップフロップ（ＤＦＦ）３１に、ＭｅｍＲＤＹ信号がＨｉｇｈのタイミングで格納される。ＤＦＦ３１の内容は、ＲＤＲＱ信号によって出力状態にされた入出力（Ｉ／Ｏ）バッファ３２を介して、外部ＣＰＵへ与えられる。
【０００５】
一方、レディ出力ＲＤＲＤＹは、ＭｅｍＲＤＹ信号をＤＦＦ２６で１クロック遅らせてＪＫＦＦ２７のＪ端子に入力することにより得られる。これは、読み出しデータの出力よりも、外部ＣＰＵへの＊Ｒｅａｄｙ信号を遅らせるためである。この外部ＣＰＵへ出力する＊Ｒｅａｄｙ信号は、図７に示すレディ出力回路のＮＡＮＤ３３により、ＲＤＲＱ信号とＲＤＲＤＹ信号とのナンド論理をとって生成される。外部ＣＰＵは＊Ｒｅａｄｙ信号を受けると読み出し動作を完了し、信号＊ＣＳと＊ＲＤをノンアクティブ状態（Ｈｉｇｈ）にするので、ノアゲートＮＯＲ２０によりＲＤＲＱ信号はＬｏｗとなる。このＲＤＲＱ信号の立ち下がり検出をＡＮＤ２５で行ない、立ち下がり時にＡＮＤ２５の出力が１クロック間Ｈｉｇｈになる。このＡＮＤ２５の出力をＪＫＦＦ２７のＫ端子に入力することにより、ＲＤＲＤＹ信号をＯＦＦする。
【０００６】
【発明が解決しようとする課題】
ところで、ＬＳＩに様々な機能が要求されるに従い、機能毎に種々の周波数のクロックが必要となって来る。そこで、外部から与えられるクロックを倍周して出力するアナログＰＬＬ（ｐｈａｓｅ  ｌｏｃｋｅｄ  ｌｏｏｐ）をＬＳＩに入れ、ＬＳＩ内部で必要な周波数のクロックを作り出すことが行なわれている。このアナログＰＬＬはその初期状態から定常状態への移行中は出力が安定しないため、この間はＬＳＩ内部をリセットまたはクリア状態にする必要がある。しかるに、ＬＳＩ内部がリセットまたはクリア状態でも、外部ＣＰＵでは既にリセットまたはクリア状態が解除されている場合もある。
【０００７】
一方、外部ＣＰＵとのインタフェースは、ＬＳＩ内部のクロックに同期したレジスタによって実現される。ＬＳＩ内部リセット中はレジスタもリセット中であり、そのため外部ＣＰＵに対してレディ信号を返すことができず、このような場合に外部ＣＰＵが内部メモリにアクセスすると、レディ信号を待ち続けて動作不能になるという事態が生じることもある。
かかる不都合を回避するため、通常は外部ＣＰＵがループ等の時間消費によりＬＳＩ内部リセット時間が過ぎるまでアクセスを控えるか（前者の方式）、または、ＬＳＩからの信号ピンでの内部リセット解除通知によりアクセスを開始するようにしている（後者の方式）。
【０００８】
しかしながら、前者の方式では安全のために待ち時間を長めにする必要があるが、ＣＰＵの種類が変われば演算速度も変わることから、ループ回数の調整も容易でないという問題がある。
また、後者の方式では特別にＬＳＩ信号ピンを必要とすること、または、初期化時１回だけの処理に割り込みやステータス入力用の手段を持たせる必要があるなどの問題がある。
したがって、この発明の課題は、内部メモリがリセット中でも、外部ＣＰＵによる読み出しを可能にすることにある。
【０００９】
【課題を解決するための手段】
このような課題を解決すべく、この発明では、外部ＣＰＵと内部クロックに同期して動作する内部メモリとのインタフェースを司るインタフェース回路において、
前記外部ＣＰＵからの読み出し要求を検出する検出手段と、
リセット信号により前記内部メモリアクセスを不許可とされ、リセット信号がなく外部ＣＰＵからの読み出し要求がないときに内部メモリアクセスを許可されるアクセス手段と、
内部メモリアクセス不許可時には内部メモリに対する通常のデータ読み出しを抑制する一方、外部ＣＰＵから読み出し要求があったときはレディ信号を出力するメモリ読出手段と、
を備え、内部メモリのリセット中にも外部ＣＰＵへレディ信号の出力を可能にしている。
【００１０】
すなわち、内部メモリのリセット中の外部ＣＰＵによる読み出しが、メモリ読出手段よりレディ信号が出力されることから、正常に行なわれる。なお、このとき、メモリ読出手段により通常のインタフェースである読出し要求信号の立ち上がり，立ち下がり検出が抑制されるので、レディ信号が誤出力されることはない。読出し中にリセットが解除されたときは、アクセス手段はクリアのままなので、メモリ読出手段にてリセット中の状態が継続される。
リセットが解除され外部ＣＰＵからの読出し要求もなければアクセス手段はセットされる。これにより、メモリ読出手段により従来と同じインタフェースで、外部ＣＰＵからの読出し要求を受け付けることが可能となる。
【００１１】
【発明の実施の形態】
図１はこの発明によるメモリ読出回路の実施の形態を示す回路図、図２はアクセス回路の具体例を示す回路図、図３はレディ出力回路の具体例を示す回路図、図４は図１〜図３の動作を説明するためのタイムチャートである。
同図１のメモリ読出回路は図５と比較すれば明らかなように、従来のものにＡＮＤゲート１４を付加して構成される。このＡＮＤゲート１４にはＡＣＣＳＯＫ信号が入力され、この信号は図２に示すようなインバータ１０，ＤＦＦ１１，ＪＫＦＦ１２およびＯＲゲート１３からなるアクセス回路によって作成される。また、図３のレディ出力回路は図７に示す従来例に対し、インバータ１５およびＯＲゲート１６を付加して構成され、ＯＲゲート１６にはレディ出力ＲＤＲＤＹとインバータ１５を介するＡＣＣＳＯＫ信号とが入力されている。
【００１２】
このような構成において、内部リセットがアクティブ（Ｌｏｗ）のときは、アクセス回路のＤＦＦ１１，ＪＫＦＦ１２はクリア状態なので、ＡＣＣＳＯＫ信号はＬｏｗである。いま、外部ＣＰＵからアクセスすると（信号＊ＣＳ，＊ＲＤともにＬｏｗ）、信号ＲＤＲＱがＨｉｇｈとなる。このとき、図１のＤＦＦ２１以降の各フリップフロップはクリア状態であり、内部メモリへのアクセスは行なわれない（通常のインタフェースを抑制する）。また、図６のデータ出力回路のＤＦＦ３１もクリア状態なので、Ｉ／Ｏバッファ３２がＲＤＲＱ信号により出力状態になれば、“００”（１６進〔Ｈ〕の零）が出力される。そして、従来はこの状態で、図７のレディ出力回路は＊Ｒｅａｄｙ信号がノンアクティブ（Ｈｉｇｈ）なので、外部ＣＰＵは“００”〔Ｈ〕のデータを読み出せないが、この発明では、図３のようにＡＣＣＳＯＫ信号を反転した信号によって＊Ｒｅａｄｙ信号をアクティブ（Ｌｏｗ）の状態にできるので、“００”〔Ｈ〕のデータを読み出すことができる、というわけである。
【００１３】
次に、上記のような構成において、アクセスの途中でリセットが解除されたときは、信号ＲＤＲＱがＨｉｇｈの間は図２のアクセス回路のＤＦＦ１１，ＪＫＦＦ１２の出力は零のままなのでＡＣＣＳＯＫ信号はＬｏｗ、したがってＡＮＤゲート１４は開かないため、内部メモリへのアクセスは行なわれず、図６のデータ出力回路のＤＦＦ３１も更新のためのＭｅｍＲＤＹがＬｏｗのままなのでクリア状態が保持され、Ｉ／Ｏバッファ３２からは“００”〔Ｈ〕のデータが出力される。また、図３のレディ出力回路により信号ＲＤＲＱがＨｉｇｈの間は、＊Ｒｅａｄｙ信号がアクティブ（Ｌｏｗ）の状態になる。したがって、アクセスの途中でリセットが解除されても、“００”〔Ｈ〕のデータを読み出すことができるのは、上記と同様である。
【００１４】
その後、アクセスが終了して信号ＲＤＲＱがＬｏｗになると、図２のアクセス回路のＤＦＦ１１，ＪＫＦＦ１２がセットされ、ＡＣＣＳＯＫ信号はＨｉｇｈとなる。このＡＣＣＳＯＫ信号は一度Ｈｉｇｈになると、ＪＫＦＦ１２により次のリセットまでＨｉｇｈの状態を維持する。ＡＣＣＳＯＫ信号がＨｉｇｈになれば図１の回路は図５の回路と等価となり、したがって、外部ＣＰＵからの読み出し動作は図４に示すように図８と同様になり、ＭｅｍＲＤＹ信号によりＤＦＦ３１に格納されているデータが出力される。
【００１５】
【発明の効果】
この発明によれば、内部メモリがリセット中の読み出しでもレディ信号が出力されるので、外部ＣＰＵは正常に読出し動作を完了することができる。また、リセット解除後は通常のインタフェースに戻るので、従来通りの動作となる。これにより、内部メモリがリセット中か否かに関わりなく、外部ＣＰＵはＬＳＩ内部メモリのアクセスが可能となるので、リセット完了までループで時間を消費したり、信号ピンを別途設けてリセット解除通知を受け取る必要を無くすことができる利点が得られる。
また、リセット解除後にＬＳＩ内部で初期化処理を行なう場合、初期化処理の終了で内部のレジスタに“００”〔Ｈ〕以外の例えば“ＦＦ”〔Ｈ〕等の値をセットすれば、外部ＣＰＵはレジスタからその値を読み出して“００”〔Ｈ〕でなければ、初期化は完了したものとして認識することが可能となる。なお、この場合は、レジスタはリセットでクリアされることが必要である。
【図面の簡単な説明】
【図１】この発明によるメモリ読出回路の実施の形態を示す回路図である。
【図２】アクセス回路の具体例を示す回路図である。
【図３】レディ出力回路の具体例を示す回路図である。
【図４】図１〜図３の動作を説明するためのタイムチャートである。
【図５】メモリ読出回路の従来例を示す回路図である。
【図６】データ出力回路の従来例を示す回路図である。
【図７】レディ出力回路の従来例を示す回路図である。
【図８】図５〜図７の動作を説明するためのタイムチャートである。
【符号の説明】
１０，１５，２８…インバータ、１１，２１，２２，２６…Ｄ形フリップフロップ（ＤＦＦ）、１２，２４，２７…ＪＫフリップフロップ（ＪＦＦ）、１３，１６…ＯＲゲート、１４，２３，２５，２９…ＡＮＤゲート、１７，３３…ＮＡＮＤゲート、２０…ＮＯＲゲート、３１…イネーブル付Ｄ形フリップフロップ、３２…Ｉ／Ｏバッファ。
【図１】
0003680975.tif 000002
【図２】
0003680975.tif 000003
【図３】
0003680975.tif 000004
【図４】
0003680975.tif 000005
【図５】
0003680975.tif 000006
【図６】
0003680975.tif 000007
【図７】
0003680975.tif 000008
【図８】
0003680975.tif 000009