JP3711730B2 - Interface circuit - Google Patents
Interface circuit Download PDFInfo
- Publication number
- JP3711730B2 JP3711730B2 JP02603198A JP2603198A JP3711730B2 JP 3711730 B2 JP3711730 B2 JP 3711730B2 JP 02603198 A JP02603198 A JP 02603198A JP 2603198 A JP2603198 A JP 2603198A JP 3711730 B2 JP3711730 B2 JP 3711730B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- read
- address
- write
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、二つの回路間でデータ転送を行うために設けられるインターフェース回路に関するものであり、特に、非同期で動作する回路間でデータを高速転送するのに好適である。
【0002】
【従来の技術】
デジタルデータを処理するシステムにおいては、複数の回路間でデータの授受を行いながら、処理を進めるものが多い。データを出力する回路とデータを入力する回路とが非同期で動作する場合には、両回路の間にデータを一時的に記憶するバッファを有するインターフェース回路を設け、同期をとる必要がある。
【0003】
このようなインターフェース回路として、バッファへの書き込みあるいは読み出しを一方の回路に用いられるクロックに同期させて行うものが特開平9−222988号公報に開示されている。このインターフェース回路では、バッファの書込位置を指示する書込アドレスとバッファへの読出位置を指示する読出アドレスとが完全に同期する点に特徴があり、同期化に用いたクロックのタイミングで両アドレスを比較して、バッファのデータ蓄積度を常に検出している。したがって、この技術によれば、データ蓄積度を常時監視することにより、バッファが完全に空の状態になるのを待たずに書込動作を開始でき、また、それが完全に満杯の状態になるのを待たずに読出動作を開始することができる。
【0004】
【発明が解決しようとする課題】
ところで、特開平9−222988号公報に開示されたインターフェース回路では、読出アドレスと書込アドレスとを完全に同期化させるために、出力回路のクロックsclkと入力回路のクロックmclkに一定の関係が必要とされていた。すなわち、特開平9−222988号公報の段落番号0064に記載されているように、クロックsclkの周期はクロックmclkの周期の1.5倍以上必要とされ、この場合に限って、比較的簡易な回路によってインターフェース回路を構成することができた。仮に、クロックsclkの周期がクロックmclkの周期の1.5倍未満であるならば、同期化のために高速のクロックを別回路で生成する必要があった。
したがって、従来技術では、非同期で動作する二つの回路に使用されるクロック周期に制約があるといった問題があり、また、クロック周期に制約を設けない場合には、回路構成が複雑になるという問題があった。
【0005】
本発明は、上述した事情に鑑みてなされたものであり、非同期で動作する二つの回路に使用されるクロック周期に制約がなく、簡易な回路構成で高速のデータ伝送が可能なインターフェース回路を提供することを目的とする。
【0006】
【課題を解決するための手段】
上述した課題を解決するため本発明にあっては、第1のクロック信号に同期する第1の回路と第2のクロック信号に同期する第2の回路との間に設けられ、前記第1の回路と前記第2の回路との間でデータを転送するインターフェース回路であって、前記第1の回路から供給されるデータを書き込むとともに、記憶された前記データを読み出して前記第2の回路へ出力する記憶手段と、前記第1のクロック信号に基づいて、前記記憶手段の書込位置を指示する書込アドレスを生成する書込アドレス生成手段と、前記第2のクロック信号に基づいて、前記記憶手段の読出位置を指示する読出アドレスを生成する読出アドレス生成手段と、前記第1のクロック信号と前記第2のクロック信号とに基づいて、前記書込アドレスと前記読出アドレスとが同時に確定するタイミングを検出するタイミング検出手段と、前記タイミング検出手段によって検出されたタイミングにおける前記書込アドレスと前記読出アドレスに基づいて、前記第1の回路の書込動作と前記第2の回路の読出動作とを制御する制御手段であって、前記読出アドレスと前記書込アドレスとを比較して前記記憶手段の蓄積データ数を検出する蓄積データ数検出手段と、前記蓄積データ数を予め定められた読出設定値とを比較する比較手段と、前記比較手段の比較結果に基づいて、前記第2の回路の読出動作を制御する読出制御手段と、を有する制御手段と、を備え、前記読出設定値は、前記記憶手段からのデータ読出が開始されてから変化した前記読出アドレスに基づいて前記第2の回路に対する読出制御動作が行われるまでの期間中に読み出される可能性がある最大データ数と、前記制御手段が前記第2の回路に対して読出停止を指示してから前記第2の回路が読出動作を停止するまでに読み出される可能性がある最大データ数とに基づいて予め定められていることを特徴としている。
また、本発明の別の態様にあっては、第1のクロック信号に同期する第1の回路と第2のクロック信号に同期する第2の回路との間に設けられ、前記第1の回路と前記第2の回路との間でデータを転送するインターフェース回路であって、前記第1の回路から供給されるデータを書き込むとともに、記憶された前記データを読み出して前記第2の回路へ出力する記憶手段と、前記第1のクロック信号に基づいて、前記記憶手段の書込位置を指示する書込アドレスを生成する書込アドレス生成手段と、前記第2のクロック信号に基づいて、前記記憶手段の読出位置を指示する読出アドレスを生成する読出アドレス生成手段と、前記第1のクロック信号と前記第2のクロック信号とに基づいて、前記書込アドレスと前記読出アドレスとが同時に確定するタイミングを検出するタイミング検出手段と、前記タイミング検出手段によって検出されたタイミングにおける前記書込アドレスと前記読出アドレスに基づいて、前記第1の回路の書込動作と前記第2の回路の読出動作とを制御する制御手段であって、前記読出アドレスと前記書込アドレスとを比較して前記記憶手段の蓄積データ数を検出する蓄積データ数検出手段と、前記蓄積データ数を予め定められた読出設定値とを比較する比較手段と、前記比較手段の比較結果に基づいて、前記第1の回路の書込動作を制御する書込制御手段と、を有する制御手段と、を備え、前記書込設定値は、前記記憶手段へのデータ書込が開始されてから変化した前記書込アドレスに基づいて前記第1の回路に対する書込制御動作が行われるまでの期間中に書き込まれる可能性がある最大データ数と、前記制御手段が前記第1の回路に対して書込停止を指示してから前記第1の回路が書込動作を停止するまでに書き込まれる可能性がある最大データ数とに基づいて予め定められていることを特徴としている。
【0007】
【発明の実施の形態】
A.第1実施形態
以下、本発明の一実施形態に係わるインターフェース回路を用いたデータ伝送システムについて説明する。
1.第1実施形態の構成
1−1;全体構成
図1は、本発明の一実施形態に係わるインターフェース回路を用いたデータ伝送システムの回路図である。図において、10は第1のクロック信号100に同期して動作する第1の回路、11は第2のクロック信号101に同期して動作する第2の回路であり、これらの回路の間にインターフェース回路1が設けられている。なお、この例では、第1の回路10から第2の回路11にデータを転送するものとする。また、第1のクロック信号100と第2のクロック信号101の周期は任意であるが、理解を容易にするため、この例では第1のクロック信号100の周期が第2のクロック信号101の周期よりも長いものとする。
【0008】
第1の回路10には、書込要求信号114が供給されるようになっており、書込要求信号114の有効期間中(例えば、ローレベル期間中)に、第1の回路10は、第1のクロック信号100に同期してライトデータ102とライトイネーブル信号103とを出力するように構成されている。一方、第2の回路11には、読出許可信号112が供給されるようになっており、読出許可信号112の有効期間中(例えば、ローレベル期間中)に、第2の回路11は、第2のクロック信号101に同期してリードイネーブル信号103を出力するとともに、リードデータ106を取り込むように構成されている。
【0009】
次に、インターフェース回路1は、バッファ12、ライト信号発生器13、WRアドレスカウンタ14、リード信号発生器15、RDアドレスカウンタ16、アドレス比較タイミング生成回路17、およびアドレス比較回路19から構成されている。
【0010】
まず、バッファ12は、書込と読出が同時に行えるように、例えば、2ポートのRAMによって構成されている。バッファ12には、第1の回路10からのライトデータ102が書き込まれ、これが、所定のタイミングでリードデータ106として読み出され第2の回路11に供給されるようになっている。
【0011】
次に、ライト信号発生器13は、第1のクロック信号100とライトイネーブル信号103とに基づいて、ライト信号104を生成する。ライト信号発生器13は、例えば、オア回路で構成され、第1のクロック信号100とライトイネーブル信号103の論理和がライト信号104として出力される。ライト信号104は、バッファ12へライトデータ102を書き込むためのクロックとして作用する。
【0012】
次に、WRアドレスカウンタ14は、カウント値をライトアドレス105として出力する。WRアドレスカウンタ14のイネーブル入力端子にはライトイネーブル信号103が供給され、そのクロック入力端子には第1のクロック信号100が供給されるようになっている。したがって、ライトイネーブル信号103が有効な時に、第1のクロック信号100と同期してライトアドレス105がインクリメントされる。
【0013】
次に、リード信号発生器15は、第2のクロック信号101とリードイネーブル信号107とに基づいて、リード信号108を生成する。リード信号発生器15は、ライト信号発生器13と同様に、例えば、オア回路で構成される。リード信号108は、バッファ12からリードデータ106を読み出すためのクロックとして作用する。
【0014】
次に、RDアドレスカウンタ16は、カウント値をリードアドレス109として出力する。RDアドレスカウンタ16においては、リードイネーブル信号107が有効な時に、第2のクロック信号101と同期してリードアドレス109がインクリメントされる。
【0015】
次に、アドレス比較タイミング生成回路17は、第1のクロック信号100に基づいて、第1,第2の比較タイミング信号110,111を生成する。アドレス比較タイミング生成回路17は、例えば、第1のクロック信号100を分周するトグル回路によって構成され、トグル信号とこれを反転した信号とが第1,第2の比較タイミング信号110,111として出力されるようになっている。
【0016】
次に、アドレス比較回路19は、ライトアドレス105とリードアドレス109とを比較し、この比較結果に基づいて書込許可信号113と読出許可信号112とを第2のクロック信号101に同期して生成するように構成されている。書込許可信号113は、その値がロ−レベルであるときバッファ12へライトデータ102を書き込むことを許可する。また、読出許可信号112は、その値がローレベルであるときバッファ12からリードデータ106を読み出すことを許可する。
【0017】
次に、ライトREQ生成回路18は、書込許可信号113を第1のクロック信号100に同期させた書込要求信号114を生成する。ライトREQ生成回路18は、例えば、Dフリップフロップによって構成される。
【0018】
1−2;アドレス比較回路の構成
次に、アドレス比較回路19の具体的な構成を説明する。図2はアドレス比較回路の回路図である。この図に示すように、アドレス比較回路19は、Aレジスタ21、比較回路22、フリップフロップ23、Bレジスタ24およびCレジスタ25から構成され、これらによって、バッファ12に蓄積されるているデータ数が検出され、検出結果に基づいて読出許可信号112と書込許可信号113とが生成されるようになっている。
【0019】
まず、Aレジスタ21は、ライトアドレス105、第1の比較タイミング信号110、および第1のクロック信号100に基づいて、Aアドレス200を生成する。具体的には、第1の比較タイミング信号110が有効な時(この例では、ハイレベルの時)、第1のクロック信号100の立ち上がりエッジでライトアドレス105がラッチされ、Aアドレス200が生成される。この場合、第1の比較タイミング信号110は、上述したように第1のクロック信号100を分周したトグル信号として与えられるから、Aアドレス200は、2クロック毎にライトアドレスを伝搬させたものとなる。
【0020】
次に、比較回路22は、リードアドレス109とAアドレス200に基づいて、バッファ12に蓄積されているデータ数を検出し、これを予め決められた所定値と比較することによって、第1,第2の比較結果201,202を生成する。第1の比較結果201はバッファ12からデータを読み出せるか否かを示し、第2の比較結果202はバッファ12へデータを書き込めるか否かを示している。なお、比較の方法についは後述する。
【0021】
次に、フリップフロップ23は、第2の比較タイミング信号111を第2のクロック信号101でラッチすることにより、第1のクロック信号100に同期している第2の比較タイミング信号111を第2のクロック信号101に同期化させて、第3の比較タイミング信号203を生成する。
【0022】
次に、Bレジスタ24には、第1の比較結果201と第3の比較タイミング信号203が供給され、第3の比較タイミング信号203が有効な時(この例ではハイレベル)、第2のクロック信号101の立ち上がりエッジで第1の比較結果201を読み出して、読出許可信号112を生成する。
【0023】
次に、Cレジスタ25には、第2の比較結果202と第3の比較タイミング信号203が供給され、第3の比較タイミング信号203が有効な時(この例ではハイレベル)、第2のクロック信号101の立ち上がりエッジで第2の比較結果202を読み出して、書込許可信号113を生成する。
【0024】
2.第1実施形態の動作
次に、第1実施形態のデータ伝送システムの動作を図面を参照しつつ説明する。
2−1;書込動作
図3は、第1の回路10からバッファ12へライトデータ102を書き込む際のタイミングの一例を示すタイミングチャートである。図3(a)に示す第1のクロック信号100に同期して、図3(b)に示す書込要求信号114が第1の回路10に供給されたとすると、第1の回路10は、書込要求信号114が有効となる期間(この例では、ローレベル期間)において、データの書込を行う。
例えば、図3(d)に示すライトデータD1〜D4、D5〜D7をバッファ12に書き込むものとすれば、第1の回路10は、図3(c)に示すライトイネーブル信号103を生成する。ライトイネーブル信号103はローレベルで有効となる。
【0025】
このライトイネーブル信号103がライト信号発生器13に供給されると、ライト信号発生器13は、ライトイネーブル信号103と第1のクロック信号100に基づいて、図3(e)に示すライト信号104を生成する。また、ライトイネーブル信号103がWRアドレスカウンタ14に供給されると、WRアドレスカウンタ14は、ライトイネーブル信号103が有効な時(ローレベルの時)、第1のクロック信号100の立ち上がりエッジでカウント値をインクリメントして、これを図3(f)に示すライトアドレス105として生成する。
【0026】
ライトアドレス105が図3(f)に示すように、「1→2→3→4→5→6→7」と変化すると、ライトデータD1がアドレス値「1」に対応する記憶領域、ライトデータD2がアドレス値「2」に対応する記憶領域といったように順次記憶されていく。このようにして、4個の連続したライトデータD1〜D4が書き込まれ、この後、3個の連続したライトデータD5〜D7が書き込まれる。
このように、バッファ12に対するデータ書込はバーストライト動作で行うことができるので、高速のデータ転送に対応することが可能となる。
【0027】
2−2;読出動作
次に、図4は、第2の回路11がバッファ12からリードデータ106を読み出すタイミングの一例を示すタイミングチャートである。図4(a)に示す第2のクロック信号101に同期して、図4(b)に示す読出許可信号112が第2の回路11に供給されたとすると、第2の回路11は、読出許可信号112が有効となる期間(この例では、ローレベル期間)において、データの読出を行う。
【0028】
例えば、図3(c)に示すリードイネーブル信号107を第2の回路11が出力したとすると、リード信号発生器15はリードイネーブル信号107と第2のクロック信号101とに基づいて、図4(d)に示すリード信号108を生成する。
【0029】
また、リードイネーブル信号107がRDアドレスカウンタ16に供給されると、RDアドレスカウンタ16は、リードイネーブル信号107がローレベルの時、第2のクロック信号101の立ち上がりエッジでカウント値をインクリメントして、これを図4(f)に示すリードアドレス109として生成する。
【0030】
リードアドレス109が図4(f)に示すように「0→2→…→9」と変化し、各アドレスに対応するバッファ12の記憶領域に記憶されているデータが、各々D0〜D9であるとすれば、図4(e)に示すように、まず、データD0〜D4が連続して読み出され、この後、データD5〜D8が読み出される。
このように、バッファ12に対するデータ読出はバーストリード動作で行うことができるので、高速のデータ転送に対応することが可能となる。
【0031】
2−3;アドレス比較動作
次に、図5はアドレス比較の動作タイミングの一例を示すタイミングチャートである。まず、アドレス比較タイミング生成回路17は、図5(a)に示す第1のクロック信号100を分周して第1,第2の比較タイミング信号110,111(図5(c),(e)参照)を生成してアドレス比較回路19に出力する。アドレス比較回路19のAレジスタ21では、第1の比較タイミング信号110が有効な時(この例では、ハイレベルの時)、第1のクロック信号100の立ち上がりエッジでライトアドレス105(図5(b)参照)をラッチしてAアドレス200を生成する。このため、Aアドレス200は、図5(d)に示すように2クロックに1回の割合でライトアドレス105を更新したものとなり、その値は「6→7→9→A→B」といったように変化する。
【0032】
一方、第2の比較タイミング信号111がフリップフロップ23に供給されると、フリップフロップ23は、第2の比較タイミング信号111を図5(f)に示す第2のクロック信号101の立ち上がりエッジでラッチして図5(g)に示す第3の比較タイミング信号203を生成する。これにより、第2の比較タイミング信号111は、第2のクロック信号101によって同期化される。
【0033】
次に、図5(h)に示すリードアドレス109とAアドレス200が比較回路22に供給されると、比較回路22は、2つのアドレスと予め決められた設定値を比較して第1の比較結果201と第2の比較結果202とを生成する。
ここで、比較結果の求める方法の一例を説明する。例えば、バッファ12の記憶容量が32ワードであり、5ビットのアドレスによって各記憶領域を指定できるものとする。また、WRアドレスカウンタ14とRDアドレスカウンタ16はともに6ビットカウンタで、そのカウント値の下位5ビットがバッファ12に供給されており、アドレス比較回路19には6ビットのライトアドレス105とリードアドレス109が入力され、比較回路22には6ビットのリードアドレス109とAアドレス200とが入力されているものとする。
【0034】
まず、比較回路22は、バッファ12に蓄積されているデータ数を検出するため、Aアドレス200とリードアドレス109の差分値を求める。ところで、バッファ12は、巡回型のメモリで構成されるため、リードアドレス109の値がAアドレス200の値を上回ることもある。そこで、以下の条件で蓄積データ数を検出する。
▲1▼Aアドレス≧リードアドレスの場合
この場合にはライトアドレス(Aアドレス)が先行しているので、蓄積データ数は、次式で与えられる。
蓄積データ数=Aアドレス−リードアドレス
▲2▼Aアドレス<リードアドレスの場合
この場合には、リードアドレスが先行しているので、バッファ12の記憶容量を考慮してデータ数を算出する必要がある。このため、データ数は次式で与えられる。
蓄積データ数=(Aアドレス+64)−リードアドレス
こうして算出された蓄積データ数が「0」の場合には、バッファ12は空の状態にあり、蓄積データ数が「32」の場合には、バッファ12は満杯の状態にある。
【0035】
第1の比較結果201は、蓄積データ数を予め定められたリード設定値と比較することにより生成され、蓄積データ数がリード設定値以上である場合には’0’となり、蓄積データ数がリード設定値未満である場合には’1’となる。
リード設定値は、バッファ12が空の状態の時に第2の回路11がリードイネーブル信号107を有効にしないように設けられた値であり、正常にリードデータ106を読み出すことができるようなデータ数に設定される。具体的には、1回のリード動作を終了した後にアドレス比較を経て読出許可信号112に到達するまでの遅延、読出許可信号112が無効になってから第2の回路11がリード動作を止めるまでの遅延、および第2の回路11のリード動作タイミング仕様を考慮して、これらの遅延分の間に読み出される最大ワード数に基づいて決定される。
【0036】
この例では、リード動作終了後から読出許可信号112に到達する遅延は最大で3クロック(第2のクロック信号101)である。ここで、読出許可信号112が無効になってから第2の回路11がリード動作を止めるまでの遅延は無く、第2の回路11は全てのサイクルでリードする可能性があるものとすれば、リード設定値は「3」とすればよい。仮に、第2の回路11が2サイクルに1回の割合でリードするのであれば、リード設定値は「2」とすればよい。なお、リード設定値が「3」の場合の真理値表を図6に示す。この場合には、蓄積データ数が3以上、すなわち、バッファ12に3ワード以上のデータが残っていれば、第1の比較結果201は’0’となり、2ワード以下のときには’1’となる。
【0037】
次に、第2の比較結果202は、蓄積データ数を予め定められたライト設定値と比較することにより生成され、蓄積データ数がライト設定値以上である場合には’1’となり、蓄積データ数がライト設定値未満である場合には’0’となる。
ライト設定値は、バッファ12が満杯の状態の時に第1の回路11がライトイネーブル信号103を有効にしないように設けられた値であり、正常にライトデータ102を書き込めるようなデータ数に設定される。具体的には、1)1回のライト動作を終了した後にアドレス比較を経て書込許可信号113が生成され、ライトREQ生成回路18で第1のクロック信号100に書込許可信号113を同期化させ書込要求信号114を生成するまでの遅延、2)書込要求信号114が無効になってから第1の回路10がライト動作を止めるまでの遅延、3)第1の回路10のライト動作タイミング仕様を考慮して、これらの遅延分の間に書き込まれる最大ワード数に基づいて決定される。
【0038】
この例では、ライト動作が終了した後にライトアドレス105がAアドレス200に伝搬されるまで最大2クロック(第1のクロック信号100)の遅延があり、Aアドレス200とリードアドレス109の比較結果が書込許可信号113に伝搬されるまでの遅延を第1のクロック信号100に対して換算すると最大でも3クロック未満の遅延があり、書込許可信号113がライトREQ生成回路18で1段のフリップフロップを介して第1のクロック信号100に同期化させる際に1クロックの遅延がある。また、第1の回路10では書込要求信号114が無効になってからライト動作を止めるまでの遅延を1クロックとすると、これらの遅延の合計は6クロックとなる。6クロックの間にバッファ12に書き込むワード数の最大値は第1の回路10のライト動作のタイミング仕様によるが、ここでは、6クロック全てに書込の可能性があるものとする。
【0039】
また、第1の回路10では、複数ワード(図3の例では4ワード)を連続して書き込むバーストライト動作を行っている。仮に、書込要求信号114が無効になるのと同時にバーストライト動作を開始してしまうと、当該バーストサイクルでさらに4ワード書き込まれることになる。このことから、比較アドレスに該当するライト動作を行った後、最大でさらに10ワードの書込が行われる可能性がある。したがって、ライト設定値は、バッファ12のデータ容量である「32」から、「10」を差し引いた値「22」に設定される。なお、ライト設定値が「22」の場合の真理値表を図7に示す。この場合には、蓄積データ数が22以上、すなわち、バッファ12に22ワード以上のデータが残っていれば、第2の比較結果202は’1’となり、21ワード以下のときには’0’となる。
【0040】
このようにして、第1の比較結果201と第2の比較結果202が、リードアドレス109とAアドレス200とに基づいて生成されるが、両アドレスの時間基準となる第1,第2のクロック信号100,101は同期していないため、比較結果が不安定となるタイミングが存在する。
【0041】
例えば、図5(i)に示すように第1の比較結果201は、網掛け部分で不安定な値をとる。なお、第2の比較結果202についても同様である。このため、Bレジスタ24とCレジスタ25は、図5(g)に示す第3の比較タイミング信号203がハイレベルの期間中に第2のクロック信号101の立ち上がりエッジで、第1,第2の比較結果201,202を各々ラッチして、読出許可信号112と書込許可信号113を各々生成している。
【0042】
図5に示す例にあっては、点線で示す各タイミング(アドレスが確定しているタイミング)において、図5(i)に示す第1の比較結果201がBレジスタ24から読み出され、図5(j)に示す読出許可信号112として第2の回路11に出力される。
【0043】
このように、第1実施形態によれば、第1のクロック信号100と第2のクロック信号101の間に周期上の制約はなく、簡易な構成によって、第1の回路10に対して安定な書込要求信号114を第1のクロック信号100に同期して送出することができる。また、第2の回路11に対して安定した読出許可信号112を第2のクロック信号101に同期して送出することができる。
【0044】
また、バッファ12に対してバーストライト動作およびバーストリード動作を行うことができ、しかもバッファ12の蓄積データ数を適切に監視することにより、バッファが完全に空の状態になるのを待たずに書込動作を開始でき、また、それが完全に満杯の状態になるのを待たずに読出動作を開始することができる。この結果、第1,第2の回路10,11の間で高速のデータ転送を実現することが可能となる。
【0045】
B.第2実施形態
次に、本発明の第2実施形態に係わるインターフェース回路を用いたデータ伝送システムについて説明する。このデータ伝送システムは、データを第2の回路11から第1の回路10に伝送する点で、第1実施形態と相違する。
【0046】
図8は、第2実施形態に係わるインターフェース回路を用いたデータ伝送システムの回路図である。なお、図1と同一の構成部分には同一の符号が付してある。また、図8に示すリード信号発生器63、RDアドレスカウンタ64、ライト信号発生器65、およびWRアドレスカウンタ66は、図1に示すリード信号発生器15、RDアドレスカウンタ16、ライト信号発生器13、およびWRアドレスカウンタ14に各々相当し、第2の回路11側に設けられているのか、第1の回路10に設けられているのかという点でのみ相違する。
【0047】
図8において、第1のクロック信号100に同期して動作する第1の回路10と、第2のクロック信号101に同期して動作する第2の回路11の間には、インターフェース回路2が設けられている。なお、この例では、第1実施形態と同様に第1のクロック信号100の周期が第2のクロック信号101の周期よりも長いものとする。
【0048】
まず、第1の回路10からのリードイネーブル信号603がリード信号発生器63に入力されると、リード信号発生器63はリードイネーブル信号603が有効な時にリード信号604を出力する。また、RDアドレスカウンタ64はリードイネーブル信号603が有効な時に、第1のクロック信号100を用いてリードアドレス605をインクリメントする。バッファ12ではリード信号604が入力された時、リードアドレス605の指示する位置からリードデータ602を読み出して出力する。
【0049】
次に、第2の回路11からのライトイネーブル信号607がライト信号発生器65に入力されると、ライト信号発生器65はライトイネーブル信号607が有効な時にライト信号608を出力する。また、WRアドレスカウンタ66はライトイネーブル信号607が有効な時に、第2のクロック信号101を用いてライトアドレス609をインクリメントする。バッファ12ではライト信号608が入力された時、ライトアドレス609の指示する位置にライトデータ606を書き込む。
【0050】
次に、アドレス比較タイミング生成回路17からは、第1の比較タイミング生成信号110と第2の比較タイミング生成信号111とが第1のクロック信号100に同期して出力される。また、アドレス比較回路19は、リードアドレス605とライトアドレス609を比較して、書込許可信号612と読出許可信号613を第2のクロック信号101に同期させて出力する。
【0051】
次に、リードREQ生成回路68は 読出許可信号613を第1のクロック信号100でラッチして、第1のクロック信号100に同期化させた読出要求信号614を生成している。
【0052】
ここで、アドレス比較回路19の回路図を図9に示す。Aレジスタ21に、リードアドレス605、第1の比較タイミング信号110、および第1のクロック信号100が供給されると、Aレジスタ21は、第1の比較タイミング信号110が有効な時(この例では、ハイレベルの時)、第1のクロック信号100の立ち上がりエッジでリードアドレス605をラッチしてAアドレス200を生成する。この場合、第1の比較タイミング信号110は、第1のクロック信号100を分周したトグル信号として与えられる。このため、Aアドレス200は、2クロック毎にリードアドレス605を伝搬させたものとなる。
【0053】
次に、比較回路22は、ライトアドレス609とAアドレス200に基づいて、バッファ12に蓄積されているデータ数を検出し、これを予め決められた所定値と比較することによって、第1,第2の比較結果201,202を生成する。第1の比較結果201はバッファ12へデータを書き込めるか否かを示し、第2の比較結果202はバッファ12からデータを読み出せるか否かを示している。なお、比較の方法についは上述した第1実施形態と同様であり、第1実施形態のリードアドレス109を第2実施形態のAアドレス200に、第1実施形態のAアドレス200を第2実施形態のライトアドレス609に置き換えればよい。
【0054】
次に、フリップフロップ23は、第2の比較タイミング信号111を第2のクロック信号101でラッチすることにより、第1のクロック信号100に同期している第2の比較タイミング信号111を第2のクロック信号101に同期化させて、第3の比較タイミング信号203を生成する。
【0055】
ところで、Aアドレス200とライトアドレス609は各々第1,第2のクロック信号100,101に同期しているので、第1実施形態と同様に第1,第2の比較結果201,202には、不安定になるタイミングが存在する。このため、両アドレスの値が安定しているタイミングにおける比較結果を得るためBレジスタ24とCレジスタ25が設けられている。Bレジスタ24には、第1の比較結果201と第3の比較タイミング信号203が供給され、第3の比較タイミング信号203が有効な時(この例ではハイレベル)、第2のクロック信号101の立ち上がりエッジで第1の比較結果201を伝搬して、書込許可信号612を生成する。一方、Cレジスタ25には、第2の比較結果202と第3の比較タイミング信号203が供給され、第3の比較タイミング信号203が有効な時(この例ではハイレベル)、第2のクロック信号101の立ち上がりエッジで第2の比較結果202を伝搬して、読出許可信号613を生成する。これにより、書込許可信号612と読出許可信号613を安定したものとすることができる。
【0056】
このように、第2実施形態によれば、第1のクロック信号100と第2のクロック信号101の間に周期上の制約はなく、簡易な構成によって、第1の回路10に対して安定な読出要求信号614を第1のクロック信号100に同期して送出することができる。また、第2の回路11に対して安定な書込許可信号612を第2のクロック信号101に同期して送出することができる。
【0057】
また、バッファ12に対してバーストライト動作およびバーストリード動作を行うことができ、しかもバッファ12の蓄積データ数を適切に監視することにより、バッファが完全に空の状態になるのを待たずに書込動作を開始でき、また、それが完全に満杯の状態になるのを待たずに読出動作を開始することができる。この結果、第1,第2の回路10,11の間で高速のデータ転送を実現することが可能となる。
【0058】
C.変形例
以上、本発明に係わる実施形態を説明したが、本発明は上述した実施形態に限定されるものではなく、以下に述べる各種の変形が可能である。
▲1▼上述した各実施形態において、アドレス比較タイミング生成回路17からは必ずしも第1の比較タイミング信号110と第2の比較タイミング信号111の両方が必要というわけではない。これらの信号は互いに反転しているだけであるから、どちらかの有効となるレベルを反対にすれば1つの信号に両方の意味合いを持たせることができる。
【0059】
▲2▼上述した各実施形態のインターフェース回路1,2は、コンピュータシステムに用いることもできる。図10は、インターフェース回路1,2を利用したコンピュータシステムのブロック図である。図において、第1の回路10は、PCIバスを介してCPUとの間でデータDの授受を行う。この場合のデータ伝送は、PCIバスのバースト転送モードを用いて実行してもよい。第1の回路10と第2の回路11との間には、上述したインターフェース回路1,2が設けられており、非同期で動作する第1,第2の回路10,11間でデータ処理が行われるようになっている。この場合、インターフェース回路1,2は、高速でデータ転送を行うことができるので、処理能力の高いコンピュータシステムを構築するこtができる。
【0060】
▲3▼上述した各実施形態においては、アドレス比較回路19において、第1の比較結果201と第2の比較結果202のうち、ライトアドレス105とリードアドレス109とが同時に確定するタイミング(図5中の点線のタイミング)における比較結果をBレジスタ24とCレジスタ25で抽出するように構成した。
この場合、同時に確定するタイミングは、第1のクロック信号100に基づいて生成される第2の比較タイミング信号111を第2のクロック信号101で同期化した第3の比較タイミング信号203と、第2のクロック信号101によって特定したが、他の方法によって、当該タイミングを生成するようにしてもよい。 すなわち、上述した実施形態のようにライトアドレス105が第1のクロック信号100に同期し、リードアドレス109が第2のクロック信号101に同期する場合には、両アドレスの変化タイミングは第1,第2のクロック信号100,101に依存するから、第1,第2のクロック信号100,101に基づいてライトアドレス105とリードアドレス109が同時に確定するタイミングを検出するように構成してもよい。
【0061】
▲4▼また、上述した各実施形態の比較回路22は、リードアドレス109とライトアドレス105(Aアドレス200)を比較して蓄積データ数を検出する蓄積データ数検出手段と、蓄積データ数とリード設定値を比較する第1の比較手段、蓄積データ数とライト設定値を比較する第2の比較手段として把握してもよい。また、Bレジスタ24は、第1の比較手段の比較結果を第2のクロック信号101に同期化させる手段と、Cレジスタ25は第2の比較手段の比較結果を第1のクロック信号100に同期化させる手段として各々把握してもよいことは勿論である。
また、蓄積データ数検出手段は、アドレスが同時に確定するタイミングにおいてのみ蓄積データ数を検出するようにしてもよい。また、第1,第2の比較手段は、アドレスが同時に確定するタイミングにおいてのみ比較動作を行うようにしてもよい。要は、アドレスが同時に確定するタイミングにおけるライトアドレス105とリードアドレス109に基づいて第1,第2の回路10,11の書込読出動作を制御するのであればどのようなものであってもよい。
【0062】
【発明の効果】
上述したように本発明に係る発明特定事項によれば、アドレスが同時に確定するタイミングにおける読出アドレスと書込アドレスに基づいて第1の回路の書込動作と第2の回路の読出動作を制御するようにしたので、非同期で動作する二つの回路に使用されるクロック周期に制約がなく、簡易な回路構成で高速のデータ伝送が可能なインターフェース回路を提供することができる。
【図面の簡単な説明】
【図1】 本発明に係わるインターフェース回路を用いた第1実施形態のデータ伝送システムの回路図である。
【図2】 同実施形態に係わるアドレス比較回路の回路図である。
【図3】 同実施形態において、第1の回路からバッファへライトデータを書き込む際のタイミングの一例を示すタイミングチャートである。
【図4】 同実施形態において、第2の回路がバッファからリードデータを読み出すタイミングの一例を示すタイミングチャートである。
【図5】 同実施形態において、アドレス比較の動作タイミングの一例を示すタイミングチャートである。
【図6】 同実施形態において、リード設定値を「3」とした場合の第1の比較結果を求めるための真理値表を示す図である。
【図7】 同実施形態において、ライト設定値を「22」とした場合の第2の比較結果を求めるための真理値表を示す図である。
【図8】 第2実施形態に係わるインターフェース回路を用いたデータ伝送システムの回路図である。
【図9】 同実施形態に係わるアドレス比較回路の回路図である。
【図10】 第1,第2同実施形態に係わるインターフェース回路を用いたコンピュータシステムの構成例を示すブロック図である。
【符号の説明】
1,2…インターフェース回路
10…第1の回路
11…第2の回路
12…バッファ(記憶手段)
14…WRアドレスカウンタ(書込アドレス生成手段)
16…RDアドレスカウンタ(読出アドレス生成手段)
17…アドレス比較タイミング生成回路(タイミング検出手段)
22…比較回路(蓄積データ数検出手段、比較手段)
24…Bレジスタ(読出制御手段)
25…Cレジスタ(書込制御手段)
19…アドレス比較回路(制御手段)
100…第1のクロック信号
101…第2のクロック信号
103…ライトイネーブル信号
105…ライトアドレス(書込アドレス)
109…リードアドレス(読出アドレス)
107…リードイネーブル信号
114…書込要求信号(書込制御信号)
112…読出許可信号(読出制御信号)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an interface circuit provided for transferring data between two circuits, and is particularly suitable for transferring data at high speed between circuits operating asynchronously.
[0002]
[Prior art]
Many systems that process digital data proceed with processing while exchanging data between a plurality of circuits. When a circuit for outputting data and a circuit for inputting data operate asynchronously, it is necessary to provide an interface circuit having a buffer for temporarily storing data between the two circuits so as to synchronize.
[0003]
As such an interface circuit, one in which writing to or reading from a buffer is performed in synchronization with a clock used in one circuit is disclosed in Japanese Patent Laid-Open No. 9-222988. This interface circuit is characterized in that the write address designating the buffer write position and the read address designating the read position to the buffer are completely synchronized, and both addresses are synchronized at the clock timing used for synchronization. And the data accumulation degree of the buffer is always detected. Therefore, according to this technique, by constantly monitoring the data accumulation degree, the write operation can be started without waiting for the buffer to become completely empty, and it becomes completely full. The read operation can be started without waiting.
[0004]
[Problems to be solved by the invention]
By the way, in the interface circuit disclosed in Japanese Patent Application Laid-Open No. 9-2222988, in order to completely synchronize the read address and the write address, a certain relationship is required between the clock sclk of the output circuit and the clock mclk of the input circuit. It was said. That is, as described in paragraph No. 0064 of Japanese Patent Laid-Open No. 9-2222988, the cycle of the clock sclk is required to be 1.5 times or more the cycle of the clock mclk. The interface circuit could be configured by the circuit. If the cycle of the clock sclk is less than 1.5 times the cycle of the clock mclk, a high-speed clock needs to be generated by another circuit for synchronization.
Therefore, in the prior art, there is a problem that there is a restriction on the clock period used for two circuits that operate asynchronously, and there is a problem that the circuit configuration becomes complicated if there is no restriction on the clock period. there were.
[0005]
The present invention has been made in view of the above-described circumstances, and provides an interface circuit capable of high-speed data transmission with a simple circuit configuration without any restriction on the clock cycle used for two circuits operating asynchronously. The purpose is to do.
[0006]
[Means for Solving the Problems]
In order to solve the above-described problem, the present invention is provided between a first circuit synchronized with a first clock signal and a second circuit synchronized with a second clock signal. An interface circuit for transferring data between a circuit and the second circuit, wherein the data supplied from the first circuit is written and the stored data is read and output to the second circuit Storage means for generating, based on the first clock signal, write address generation means for generating a write address indicating a write position of the storage means, and on the basis of the second clock signal, the storage A read address generating means for generating a read address indicating a read position of the means; and the write address and the read address based on the first clock signal and the second clock signal; Timing detection means for detecting the timing to be determined simultaneously, and based on the write address and the read address at the timing detected by the timing detection means, the write operation of the first circuit and the second circuit Control means for controlling reading operationThe stored data number detecting means for detecting the number of stored data in the storage means by comparing the read address and the write address with the predetermined read setting value. A control means having a comparison means and a read control means for controlling a read operation of the second circuit based on a comparison result of the comparison means, wherein the read set value is read from the storage means. The maximum number of data that may be read during a period from the start of data reading to the time when the read control operation for the second circuit is performed based on the read address that has changed, and the control means Is determined in advance based on the maximum number of data that may be read from the time when the second circuit is instructed to stop reading until the second circuit stops the reading operation.It is characterized by that.
In another aspect of the invention, the first circuit is provided between a first circuit synchronized with a first clock signal and a second circuit synchronized with a second clock signal. Is an interface circuit for transferring data between the first circuit and the second circuit, writing data supplied from the first circuit, reading the stored data, and outputting the data to the second circuit Storage means; Write address generation means for generating a write address indicating a write position of the storage means based on the first clock signal; and Storage means based on the second clock signal The write address and the read address are simultaneously confirmed on the basis of read address generation means for generating a read address indicating the read position of the first clock signal and the second clock signal. Timing detection means for detecting the timing to perform, a write operation of the first circuit and a read operation of the second circuit based on the write address and the read address at the timing detected by the timing detection means And a storage means for detecting the number of stored data in the storage means by comparing the read address and the write address, and a predetermined reading of the number of stored data. Control means comprising: comparing means for comparing with a set value; and writing control means for controlling a writing operation of the first circuit based on a comparison result of the comparing means. The set value is obtained during a period from the start of data writing to the storage means until a write control operation is performed on the first circuit based on the changed write address. The maximum number of data that can be written and the possibility that data will be written after the control means instructs the first circuit to stop writing until the first circuit stops writing operation. It is characterized in that it is predetermined based on a certain maximum number of data.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
A. First embodiment
Hereinafter, a data transmission system using an interface circuit according to an embodiment of the present invention will be described.
1. Configuration of the first embodiment
1-1: Overall configuration
FIG. 1 is a circuit diagram of a data transmission system using an interface circuit according to an embodiment of the present invention. In the figure, 10 is a first circuit that operates in synchronization with the
[0008]
The
[0009]
Next, the
[0010]
First, the
[0011]
Next, the
[0012]
Next, the
[0013]
Next, the
[0014]
Next, the
[0015]
Next, the address comparison
[0016]
Next, the
[0017]
Next, the write REQ
[0018]
1-2: Configuration of the address comparison circuit
Next, a specific configuration of the
[0019]
First, the
[0020]
Next, the
[0021]
Next, the flip-
[0022]
Next, when the
[0023]
Next, when the
[0024]
2. Operation of the first embodiment
Next, the operation of the data transmission system of the first embodiment will be described with reference to the drawings.
2-1; Write operation
FIG. 3 is a timing chart showing an example of timing when the
For example, if the write data D1 to D4 and D5 to D7 shown in FIG. 3D are written in the
[0025]
When the write enable
[0026]
As shown in FIG. 3F, when the
As described above, data writing to the
[0027]
2-2: Read operation
Next, FIG. 4 is a timing chart showing an example of timing at which the
[0028]
For example, assuming that the
[0029]
When the read enable
[0030]
The
As described above, data reading from the
[0031]
2-3: Address comparison operation
Next, FIG. 5 is a timing chart showing an example of operation timing of address comparison. First, the address comparison
[0032]
On the other hand, when the second
[0033]
Next, when the
Here, an example of a method for obtaining the comparison result will be described. For example, it is assumed that the storage capacity of the
[0034]
First, the
(1) When A address ≥ Read address
In this case, since the write address (A address) precedes, the number of accumulated data is given by the following equation.
Number of stored data = A address-read address
(2) When A address <read address
In this case, since the read address precedes, it is necessary to calculate the number of data in consideration of the storage capacity of the
Number of stored data = (A address + 64) −read address
When the number of accumulated data calculated in this way is “0”, the
[0035]
The
The read setting value is a value provided so that the
[0036]
In this example, the delay to reach the read
[0037]
Next, the
The write setting value is a value provided so that the
[0038]
In this example, there is a delay of up to 2 clocks (first clock signal 100) until the
[0039]
Further, in the
[0040]
In this way, the
[0041]
For example, as shown in FIG. 5I, the
[0042]
In the example shown in FIG. 5, the
[0043]
As described above, according to the first embodiment, there is no period limitation between the
[0044]
In addition, burst write operation and burst read operation can be performed on the
[0045]
B. Second embodiment
Next, a data transmission system using an interface circuit according to the second embodiment of the present invention will be described. This data transmission system is different from the first embodiment in that data is transmitted from the
[0046]
FIG. 8 is a circuit diagram of a data transmission system using an interface circuit according to the second embodiment. In addition, the same code | symbol is attached | subjected to the component same as FIG. The
[0047]
In FIG. 8, an
[0048]
First, when the read enable
[0049]
Next, when the write enable
[0050]
Next, the address comparison
[0051]
Next, the read REQ
[0052]
A circuit diagram of the
[0053]
Next, the
[0054]
Next, the flip-
[0055]
Incidentally, since the
[0056]
As described above, according to the second embodiment, there is no period limitation between the
[0057]
In addition, burst write operation and burst read operation can be performed on the
[0058]
C. Modified example
The embodiment according to the present invention has been described above. However, the present invention is not limited to the above-described embodiment, and various modifications described below are possible.
(1) In each of the embodiments described above, both the first
[0059]
(2) The
[0060]
(3) In each of the above-described embodiments, the timing at which the
In this case, the timing determined simultaneously is the third
[0061]
(4) Further, the
Further, the accumulated data number detecting means may detect the accumulated data number only at the timing when the address is determined simultaneously. Further, the first and second comparison means may perform the comparison operation only at the timing when the addresses are determined simultaneously. In short, as long as the write / read operation of the first and
[0062]
【The invention's effect】
As described above, according to the specific matters of the present invention, the write operation of the first circuit and the read operation of the second circuit are controlled based on the read address and the write address at the timing when the addresses are determined simultaneously. As described above, it is possible to provide an interface circuit capable of high-speed data transmission with a simple circuit configuration without any restriction on the clock cycle used for two circuits operating asynchronously.
[Brief description of the drawings]
FIG. 1 is a circuit diagram of a data transmission system according to a first embodiment using an interface circuit according to the present invention.
FIG. 2 is a circuit diagram of an address comparison circuit according to the same embodiment;
FIG. 3 is a timing chart showing an example of timing when write data is written from the first circuit to the buffer in the embodiment;
FIG. 4 is a timing chart showing an example of a timing at which a second circuit reads read data from a buffer in the embodiment.
FIG. 5 is a timing chart showing an example of operation timing for address comparison in the embodiment;
FIG. 6 is a diagram showing a truth table for obtaining a first comparison result when the read setting value is “3” in the embodiment.
FIG. 7 is a diagram showing a truth table for obtaining a second comparison result when the write setting value is “22” in the embodiment.
FIG. 8 is a circuit diagram of a data transmission system using an interface circuit according to a second embodiment.
FIG. 9 is a circuit diagram of an address comparison circuit according to the same embodiment;
FIG. 10 is a block diagram showing a configuration example of a computer system using an interface circuit according to the first and second embodiments.
[Explanation of symbols]
1,2 ... Interface circuit
10: First circuit
11 ... Second circuit
12 ... Buffer (storage means)
14 ... WR address counter (write address generation means)
16... RD address counter (read address generating means)
17 ... Address comparison timing generation circuit (timing detection means)
22... Comparison circuit (accumulated data number detection means, comparison means)
24 B register (reading control means)
25 ... C register (write control means)
19 ... Address comparison circuit (control means)
100: First clock signal
101: Second clock signal
103: Write enable signal
105: Write address (write address)
109 ... Read address (read address)
107: Read enable signal
114: Write request signal (write control signal)
112 ... Read permission signal (read control signal)
Claims (8)
前記第1の回路から供給されるデータを書き込むとともに、記憶された前記データを読み出して前記第2の回路へ出力する記憶手段と、
前記第1のクロック信号に基づいて、前記記憶手段の書込位置を指示する書込アドレスを生成する書込アドレス生成手段と、
前記第2のクロック信号に基づいて、前記記憶手段の読出位置を指示する読出アドレスを生成する読出アドレス生成手段と、
前記第1のクロック信号と前記第2のクロック信号とに基づいて、前記書込アドレスと前記読出アドレスとが同時に確定するタイミングを検出するタイミング検出手段と、
前記タイミング検出手段によって検出されたタイミングにおける前記書込アドレスと前記読出アドレスに基づいて、前記第1の回路の書込動作と前記第2の回路の読出動作とを制御する制御手段であって、前記読出アドレスと前記書込アドレスとを比較して前記記憶手段の蓄積データ数を検出する蓄積データ数検出手段と、前記蓄積データ数を予め定められた読出設定値とを比較する比較手段と、前記比較手段の比較結果に基づいて、前記第2の回路の読出動作を制御する読出制御手段と、を有する制御手段と、
を備え、
前記読出設定値は、
前記記憶手段からのデータ読出が開始されてから変化した前記読出アドレスに基づいて前記第2の回路に対する読出制御動作が行われるまでの期間中に読み出される可能性がある最大データ数と、前記制御手段が前記第2の回路に対して読出停止を指示してから前記第2の回路が読出動作を停止するまでに読み出される可能性がある最大データ数とに基づいて予め定められている
ことを特徴とするインターフェース回路。Provided between the first circuit synchronized with the first clock signal and the second circuit synchronized with the second clock signal, and transfers data between the first circuit and the second circuit An interface circuit that
Storage means for writing data supplied from the first circuit, reading the stored data and outputting the data to the second circuit;
Write address generating means for generating a write address indicating a write position of the storage means based on the first clock signal;
A read address generating means for generating a read address indicating a read position of the storage means based on the second clock signal;
Timing detection means for detecting a timing at which the write address and the read address are simultaneously determined based on the first clock signal and the second clock signal;
Control means for controlling a write operation of the first circuit and a read operation of the second circuit based on the write address and the read address at the timing detected by the timing detection means ; An accumulated data number detecting means for comparing the read address and the write address to detect the accumulated data number in the storage means; a comparing means for comparing the accumulated data number with a predetermined read setting value; Control means comprising: reading control means for controlling the reading operation of the second circuit based on the comparison result of the comparing means;
With
The read setting value is
A maximum number of data that may be read during a period from when data reading from the storage means is started to when a read control operation is performed on the second circuit based on the read address changed, and the control A predetermined number based on the maximum number of data that may be read from when the means instructs the second circuit to stop reading until the second circuit stops the reading operation. A featured interface circuit.
ことを特徴とする請求項1に記載のインターフェース回路。The read control means outputs a comparison result corresponding to a timing at which the read address and the write address are simultaneously determined from the comparison results of the comparison means based on the timing detected by the timing detection means. 2. The interface circuit according to claim 1, wherein the interface circuit extracts and controls a read operation of the second circuit based on the extracted comparison result.
ことを特徴とする請求項1に記載のインターフェース回路。2. The accumulated data number detecting means detects the number of accumulated data in the storage means by comparing the read address and the write address at the timing detected by the timing detecting means. Interface circuit described in 1.
ことを特徴とする請求項1に記載のインターフェース回路。The interface circuit according to claim 1, wherein the comparison unit compares the number of accumulated data at the timing detected by the timing detection unit with a predetermined read setting value.
前記第1の回路から供給されるデータを書き込むとともに、記憶された前記データを読み出して前記第2の回路へ出力する記憶手段と、
前記第1のクロック信号に基づいて、前記記憶手段の書込位置を指示する書込アドレスを生成する書込アドレス生成手段と、
前記第2のクロック信号に基づいて、前記記憶手段の読出位置を指示する読出アドレスを生成する読出アドレス生成手段と、
前記第1のクロック信号と前記第2のクロック信号とに基づいて、前記書込アドレスと前記読出アドレスとが同時に確定するタイミングを検出するタイミング検出手段と、
前記タイミング検出手段によって検出されたタイミングにおける前記書込アドレスと前記読出アドレスに基づいて、前記第1の回路の書込動作と前記第2の回路の読出動作とを制御する制御手段であって、前記読出アドレスと前記書込アドレスとを比較して前記記憶手段の蓄積データ数を検出する蓄積データ数検出手段と、前記蓄積データ数を予め定められた読出設定値とを比較する比較手段と、前記比較手段の比較結果に基づいて、前記第1の回路の書込動作を制御する書込制御手段と、を有する制御手段と、
を備え、
前記書込設定値は、
前記記憶手段へのデータ書込が開始されてから変化した前記書込アドレスに基づいて前記第1の回路に対する書込制御動作が行われるまでの期間中に書き込まれる可能性がある最大データ数と、前記制御手段が前記第1の回路に対して書込停止を指示してから前記第1の回路が書込動作を停止するまでに書き込まれる可能性がある最大データ数とに基づいて予め定められている
ことを特徴とするインターフェース回路。Provided between the first circuit synchronized with the first clock signal and the second circuit synchronized with the second clock signal, and transfers data between the first circuit and the second circuit An interface circuit that
Storage means for writing data supplied from the first circuit, reading the stored data and outputting the data to the second circuit;
Write address generating means for generating a write address indicating a write position of the storage means based on the first clock signal;
A read address generating means for generating a read address indicating a read position of the storage means based on the second clock signal;
Timing detection means for detecting a timing at which the write address and the read address are simultaneously determined based on the first clock signal and the second clock signal;
Control means for controlling a write operation of the first circuit and a read operation of the second circuit based on the write address and the read address at the timing detected by the timing detection means ; An accumulated data number detecting means for comparing the read address and the write address to detect the accumulated data number in the storage means; a comparing means for comparing the accumulated data number with a predetermined read setting value; Control means comprising: a writing control means for controlling a writing operation of the first circuit based on a comparison result of the comparing means;
With
The write setting value is
A maximum number of data that may be written during a period until a write control operation is performed on the first circuit based on the changed write address after the start of data writing to the storage means; And a predetermined number of data that may be written before the first circuit stops the writing operation after the control means instructs the first circuit to stop writing. An interface circuit characterized by that .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02603198A JP3711730B2 (en) | 1998-02-06 | 1998-02-06 | Interface circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02603198A JP3711730B2 (en) | 1998-02-06 | 1998-02-06 | Interface circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11224180A JPH11224180A (en) | 1999-08-17 |
JP3711730B2 true JP3711730B2 (en) | 2005-11-02 |
Family
ID=12182347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02603198A Expired - Fee Related JP3711730B2 (en) | 1998-02-06 | 1998-02-06 | Interface circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3711730B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7302508B2 (en) * | 2003-06-10 | 2007-11-27 | Via Technologies, Inc. | Apparatus and method for high speed data transfer |
US9489009B2 (en) | 2014-02-20 | 2016-11-08 | Samsung Electronics Co., Ltd. | System on chip, bus interface and method of operating the same |
JP2020077300A (en) * | 2018-11-09 | 2020-05-21 | 日本電信電話株式会社 | Distributed deep learning system and data transfer method |
-
1998
- 1998-02-06 JP JP02603198A patent/JP3711730B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11224180A (en) | 1999-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3156813B2 (en) | Buffer control circuit | |
US5295252A (en) | Data storage device | |
JP3645584B2 (en) | Data transfer synchronization device | |
JP2010027032A (en) | Fifo device and method of storing data in fifo buffer | |
Yun et al. | A high-performance asynchronous SCSI controller | |
JP3711730B2 (en) | Interface circuit | |
JPH11232214A (en) | Processor for information processor and its controlling method | |
JP4019757B2 (en) | Storage device | |
JP4569163B2 (en) | Data input / output device and data input / output method | |
US7899955B2 (en) | Asynchronous data buffer | |
JP3592169B2 (en) | Asynchronous data transfer control device and asynchronous data transfer control method | |
JPH10340596A (en) | Data storage device and semiconductor memory | |
JP3093583B2 (en) | Memory control circuit | |
JP3072168B2 (en) | Memory operation arbitration circuit | |
JP2637319B2 (en) | Direct memory access circuit | |
JP2973941B2 (en) | Asynchronous FIFO buffer device | |
JP2007272562A (en) | Fifo memory | |
JPH07160627A (en) | Bus controller | |
JP3256464B2 (en) | Asynchronous transfer control method | |
JP3098056B2 (en) | Cell data transfer method by ATM multiplex transmission | |
JP4355383B2 (en) | Data accumulation monitoring device | |
JP2724797B2 (en) | Direct memory access system | |
JPH0432922A (en) | Interface control circuit | |
JP4206524B2 (en) | Printer control device | |
JPH09274599A (en) | Buffer memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050210 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050726 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050808 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090826 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100826 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110826 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120826 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120826 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130826 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |