JP3711730B2 - Interface circuit - Google Patents

Interface circuit Download PDF

Info

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
Application number
JP02603198A
Other languages
Japanese (ja)
Other versions
JPH11224180A (en
Inventor
信明 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP02603198A priority Critical patent/JP3711730B2/en
Publication of JPH11224180A publication Critical patent/JPH11224180A/en
Application granted granted Critical
Publication of JP3711730B2 publication Critical patent/JP3711730B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 first clock signal 100, 11 is a second circuit that operates in synchronization with the second clock signal 101, and an interface between these circuits. A circuit 1 is provided. In this example, data is transferred from the first circuit 10 to the second circuit 11. The period of the first clock signal 100 and the second clock signal 101 is arbitrary, but in this example, the period of the first clock signal 100 is the period of the second clock signal 101 in order to facilitate understanding. Longer than that.
[0008]
The first circuit 10 is supplied with a write request signal 114. During the valid period of the write request signal 114 (for example, during a low level period), the first circuit 10 The write data 102 and the write enable signal 103 are output in synchronization with one clock signal 100. On the other hand, the read permission signal 112 is supplied to the second circuit 11, and during the effective period of the read permission signal 112 (for example, during the low level period), the second circuit 11 The read enable signal 103 is output in synchronization with the second clock signal 101 and the read data 106 is captured.
[0009]
Next, the interface circuit 1 includes a buffer 12, a write signal generator 13, a WR address counter 14, a read signal generator 15, an RD address counter 16, an address comparison timing generation circuit 17, and an address comparison circuit 19. .
[0010]
First, the buffer 12 is configured by, for example, a 2-port RAM so that writing and reading can be performed simultaneously. Write data 102 from the first circuit 10 is written into the buffer 12, and this is read as read data 106 at a predetermined timing and supplied to the second circuit 11.
[0011]
Next, the write signal generator 13 generates a write signal 104 based on the first clock signal 100 and the write enable signal 103. The write signal generator 13 is composed of, for example, an OR circuit, and the logical sum of the first clock signal 100 and the write enable signal 103 is output as the write signal 104. The write signal 104 acts as a clock for writing the write data 102 to the buffer 12.
[0012]
Next, the WR address counter 14 outputs the count value as the write address 105. A write enable signal 103 is supplied to the enable input terminal of the WR address counter 14, and the first clock signal 100 is supplied to the clock input terminal. Therefore, when the write enable signal 103 is valid, the write address 105 is incremented in synchronization with the first clock signal 100.
[0013]
Next, the read signal generator 15 generates a read signal 108 based on the second clock signal 101 and the read enable signal 107. Like the write signal generator 13, the read signal generator 15 is configured by, for example, an OR circuit. The read signal 108 acts as a clock for reading the read data 106 from the buffer 12.
[0014]
Next, the RD address counter 16 outputs the count value as the read address 109. In the RD address counter 16, the read address 109 is incremented in synchronization with the second clock signal 101 when the read enable signal 107 is valid.
[0015]
Next, the address comparison timing generation circuit 17 generates first and second comparison timing signals 110 and 111 based on the first clock signal 100. The address comparison timing generation circuit 17 is constituted by, for example, a toggle circuit that divides the first clock signal 100, and the toggle signal and an inverted signal thereof are output as the first and second comparison timing signals 110 and 111. It has come to be.
[0016]
Next, the address comparison circuit 19 compares the write address 105 with the read address 109 and generates a write enable signal 113 and a read enable signal 112 in synchronization with the second clock signal 101 based on the comparison result. Is configured to do. The write permission signal 113 permits the write data 102 to be written to the buffer 12 when the value is low level. Further, the read permission signal 112 permits the read data 106 to be read from the buffer 12 when the value thereof is at a low level.
[0017]
Next, the write REQ generation circuit 18 generates a write request signal 114 in which the write permission signal 113 is synchronized with the first clock signal 100. The write REQ generation circuit 18 is configured by, for example, a D flip-flop.
[0018]
1-2: Configuration of the address comparison circuit
Next, a specific configuration of the address comparison circuit 19 will be described. FIG. 2 is a circuit diagram of the address comparison circuit. As shown in this figure, the address comparison circuit 19 includes an A register 21, a comparison circuit 22, a flip-flop 23, a B register 24, and a C register 25, and the number of data stored in the buffer 12 is thereby reduced. The read permission signal 112 and the write permission signal 113 are generated based on the detection result.
[0019]
First, the A register 21 generates an A address 200 based on the write address 105, the first comparison timing signal 110, and the first clock signal 100. Specifically, when the first comparison timing signal 110 is valid (high level in this example), the write address 105 is latched at the rising edge of the first clock signal 100, and the A address 200 is generated. The In this case, since the first comparison timing signal 110 is given as a toggle signal obtained by dividing the first clock signal 100 as described above, the A address 200 is obtained by propagating the write address every two clocks. Become.
[0020]
Next, the comparison circuit 22 detects the number of data stored in the buffer 12 based on the read address 109 and the A address 200, and compares it with a predetermined value to determine the first and first values. Two comparison results 201 and 202 are generated. The first comparison result 201 indicates whether data can be read from the buffer 12, and the second comparison result 202 indicates whether data can be written to the buffer 12. The comparison method will be described later.
[0021]
Next, the flip-flop 23 latches the second comparison timing signal 111 with the second clock signal 101, so that the second comparison timing signal 111 synchronized with the first clock signal 100 is A third comparison timing signal 203 is generated in synchronization with the clock signal 101.
[0022]
Next, when the first comparison result 201 and the third comparison timing signal 203 are supplied to the B register 24 and the third comparison timing signal 203 is valid (high level in this example), the second clock The first comparison result 201 is read at the rising edge of the signal 101 to generate the read permission signal 112.
[0023]
Next, when the second comparison result 202 and the third comparison timing signal 203 are supplied to the C register 25 and the third comparison timing signal 203 is valid (high level in this example), the second clock is output. The second comparison result 202 is read at the rising edge of the signal 101 to generate the write permission signal 113.
[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 write data 102 is written from the first circuit 10 to the buffer 12. If the write request signal 114 shown in FIG. 3B is supplied to the first circuit 10 in synchronization with the first clock signal 100 shown in FIG. 3A, the first circuit 10 Data is written in a period during which the write request signal 114 is valid (in this example, a low level period).
For example, if the write data D1 to D4 and D5 to D7 shown in FIG. 3D are written in the buffer 12, the first circuit 10 generates the write enable signal 103 shown in FIG. The write enable signal 103 is valid at a low level.
[0025]
When the write enable signal 103 is supplied to the write signal generator 13, the write signal generator 13 generates the write signal 104 shown in FIG. 3E based on the write enable signal 103 and the first clock signal 100. Generate. When the write enable signal 103 is supplied to the WR address counter 14, the WR address counter 14 counts at the rising edge of the first clock signal 100 when the write enable signal 103 is valid (at the low level). And is generated as a write address 105 shown in FIG.
[0026]
As shown in FIG. 3F, when the write address 105 changes as “1 → 2 → 3 → 4 → 5 → 6 → 7”, the write data D1 is a storage area corresponding to the address value “1”, the write data D2 is sequentially stored such as a storage area corresponding to the address value “2”. In this way, four consecutive write data D1 to D4 are written, and thereafter three consecutive write data D5 to D7 are written.
As described above, data writing to the buffer 12 can be performed by a burst write operation, so that high-speed data transfer can be supported.
[0027]
2-2: Read operation
Next, FIG. 4 is a timing chart showing an example of timing at which the second circuit 11 reads the read data 106 from the buffer 12. If the read permission signal 112 shown in FIG. 4B is supplied to the second circuit 11 in synchronization with the second clock signal 101 shown in FIG. 4A, the second circuit 11 Data is read in a period during which the signal 112 is valid (in this example, a low level period).
[0028]
For example, assuming that the second circuit 11 outputs the read enable signal 107 shown in FIG. 3C, the read signal generator 15 generates the read enable signal 107 based on the read enable signal 107 and the second clock signal 101 in FIG. The read signal 108 shown in d) is generated.
[0029]
When the read enable signal 107 is supplied to the RD address counter 16, the RD address counter 16 increments the count value at the rising edge of the second clock signal 101 when the read enable signal 107 is at a low level. This is generated as a read address 109 shown in FIG.
[0030]
The read address 109 changes from “0 → 2 →... → 9” as shown in FIG. 4F, and the data stored in the storage area of the buffer 12 corresponding to each address is D0 to D9, respectively. Then, as shown in FIG. 4E, first, the data D0 to D4 are continuously read, and then the data D5 to D8 are read.
As described above, data reading from the buffer 12 can be performed by a burst read operation, so that high-speed data transfer can be supported.
[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 timing generation circuit 17 divides the first clock signal 100 shown in FIG. 5A to divide the first and second comparison timing signals 110 and 111 (FIGS. 5C and 5E). Reference) is generated and output to the address comparison circuit 19. In the A register 21 of the address comparison circuit 19, when the first comparison timing signal 110 is valid (in this example, at a high level), the write address 105 (FIG. 5B) at the rising edge of the first clock signal 100. )) Is latched to generate an A address 200. Therefore, the A address 200 is obtained by updating the write address 105 at a rate of once every two clocks as shown in FIG. 5D, and the value is “6 → 7 → 9 → A → B”. To change.
[0032]
On the other hand, when the second comparison timing signal 111 is supplied to the flip-flop 23, the flip-flop 23 latches the second comparison timing signal 111 at the rising edge of the second clock signal 101 shown in FIG. Then, the third comparison timing signal 203 shown in FIG. As a result, the second comparison timing signal 111 is synchronized with the second clock signal 101.
[0033]
Next, when the read address 109 and the A address 200 shown in FIG. 5 (h) are supplied to the comparison circuit 22, the comparison circuit 22 compares the two addresses with a predetermined set value and performs a first comparison. A result 201 and a second comparison result 202 are generated.
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 buffer 12 is 32 words and each storage area can be specified by a 5-bit address. The WR address counter 14 and the RD address counter 16 are both 6-bit counters, and the lower 5 bits of the count value are supplied to the buffer 12. The address comparison circuit 19 has a 6-bit write address 105 and a read address 109. , And a 6-bit read address 109 and an A address 200 are input to the comparison circuit 22.
[0034]
First, the comparison circuit 22 obtains a difference value between the A address 200 and the read address 109 in order to detect the number of data accumulated in the buffer 12. By the way, since the buffer 12 is composed of a cyclic memory, the value of the read address 109 may exceed the value of the A address 200. Therefore, the number of accumulated data is detected under the following conditions.
(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 buffer 12. For this reason, the number of data is given by the following equation.
Number of stored data = (A address + 64) −read address
When the number of accumulated data calculated in this way is “0”, the buffer 12 is in an empty state, and when the number of accumulated data is “32”, the buffer 12 is in a full state.
[0035]
The first comparison result 201 is generated by comparing the number of accumulated data with a predetermined read setting value. When the accumulated data number is equal to or larger than the read setting value, the first comparison result 201 is “0”, and the accumulated data number is read. When it is less than the set value, it is “1”.
The read setting value is a value provided so that the second circuit 11 does not validate the read enable signal 107 when the buffer 12 is empty, and the number of data that can read the read data 106 normally. Set to Specifically, a delay until the read permission signal 112 is reached through address comparison after the end of one read operation, from when the read permission signal 112 becomes invalid until the second circuit 11 stops the read operation. And the read operation timing specification of the second circuit 11 are taken into consideration, and the maximum number of words read during these delays is determined.
[0036]
In this example, the delay to reach the read permission signal 112 after the end of the read operation is 3 clocks (second clock signal 101) at the maximum. Here, there is no delay until the second circuit 11 stops the read operation after the read permission signal 112 becomes invalid, and the second circuit 11 may read in every cycle. The lead setting value may be “3”. If the second circuit 11 reads at a rate of once every two cycles, the read setting value may be “2”. FIG. 6 shows a truth table when the read set value is “3”. In this case, if the number of accumulated data is 3 or more, that is, if data of 3 words or more remains in the buffer 12, the first comparison result 201 is '0', and if it is 2 words or less, it is '1'. .
[0037]
Next, the second comparison result 202 is generated by comparing the number of accumulated data with a predetermined write setting value, and becomes “1” when the accumulated data number is equal to or larger than the write setting value. When the number is less than the write set value, it becomes “0”.
The write setting value is a value provided so that the first circuit 11 does not validate the write enable signal 103 when the buffer 12 is full, and is set to the number of data that can normally write the write data 102. The Specifically, 1) after one write operation is completed, a write permission signal 113 is generated through address comparison, and the write REQ generation circuit 18 synchronizes the write permission signal 113 with the first clock signal 100. 2) Delay until the write request signal 114 is generated 2) Delay until the first circuit 10 stops the write operation after the write request signal 114 becomes invalid 3) Write operation of the first circuit 10 The timing specification is taken into consideration based on the maximum number of words written during these delays.
[0038]
In this example, there is a delay of up to 2 clocks (first clock signal 100) until the write address 105 is propagated to the A address 200 after the write operation is completed, and the comparison result between the A address 200 and the read address 109 is written. When the delay until propagation to the write enable signal 113 is converted with respect to the first clock signal 100, there is a delay of less than 3 clocks at the maximum. There is a one clock delay when synchronizing to the first clock signal 100 via. Further, in the first circuit 10, if the delay from when the write request signal 114 becomes invalid until the write operation is stopped is 1 clock, the total of these delays is 6 clocks. Although the maximum value of the number of words written to the buffer 12 during 6 clocks depends on the timing specification of the write operation of the first circuit 10, it is assumed here that there is a possibility of writing in all 6 clocks.
[0039]
Further, in the first circuit 10, a burst write operation for continuously writing a plurality of words (4 words in the example of FIG. 3) is performed. If the burst write operation is started at the same time as the write request signal 114 becomes invalid, four more words are written in the burst cycle. For this reason, after the write operation corresponding to the comparison address is performed, a maximum of 10 words may be written. Therefore, the write setting value is set to a value “22” obtained by subtracting “10” from “32” which is the data capacity of the buffer 12. A truth table when the light set value is “22” is shown in FIG. In this case, if the number of accumulated data is 22 or more, that is, if data of 22 words or more remains in the buffer 12, the second comparison result 202 is “1”, and if it is 21 words or less, it is “0”. .
[0040]
In this way, the first comparison result 201 and the second comparison result 202 are generated based on the read address 109 and the A address 200, and the first and second clocks that serve as the time reference for both addresses. Since the signals 100 and 101 are not synchronized, there is a timing at which the comparison result becomes unstable.
[0041]
For example, as shown in FIG. 5I, the first comparison result 201 takes an unstable value at the shaded portion. The same applies to the second comparison result 202. For this reason, the B register 24 and the C register 25 are connected to the first and second clocks at the rising edge of the second clock signal 101 during the period in which the third comparison timing signal 203 shown in FIG. The comparison results 201 and 202 are respectively latched to generate the read permission signal 112 and the write permission signal 113, respectively.
[0042]
In the example shown in FIG. 5, the first comparison result 201 shown in FIG. 5 (i) is read from the B register 24 at each timing indicated by the dotted line (timing when the address is determined). The read permission signal 112 shown in (j) is output to the second circuit 11.
[0043]
As described above, according to the first embodiment, there is no period limitation between the first clock signal 100 and the second clock signal 101, and the first circuit 10 is stable with a simple configuration. The write request signal 114 can be sent in synchronization with the first clock signal 100. In addition, a stable read permission signal 112 can be sent to the second circuit 11 in synchronization with the second clock signal 101.
[0044]
In addition, burst write operation and burst read operation can be performed on the buffer 12, and by appropriately monitoring the number of data stored in the buffer 12, it is possible to write without waiting for the buffer to become completely empty. The read operation can be started without waiting for it to become completely full. As a result, high-speed data transfer between the first and second circuits 10 and 11 can be realized.
[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 second circuit 11 to the first circuit 10.
[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 read signal generator 63, RD address counter 64, write signal generator 65, and WR address counter 66 shown in FIG. 8 are the same as the read signal generator 15, RD address counter 16, and write signal generator 13 shown in FIG. , And the WR address counter 14, and is different only in whether it is provided on the second circuit 11 side or on the first circuit 10.
[0047]
In FIG. 8, an interface circuit 2 is provided between the first circuit 10 that operates in synchronization with the first clock signal 100 and the second circuit 11 that operates in synchronization with the second clock signal 101. It has been. In this example, it is assumed that the cycle of the first clock signal 100 is longer than the cycle of the second clock signal 101 as in the first embodiment.
[0048]
First, when the read enable signal 603 from the first circuit 10 is input to the read signal generator 63, the read signal generator 63 outputs the read signal 604 when the read enable signal 603 is valid. The RD address counter 64 increments the read address 605 using the first clock signal 100 when the read enable signal 603 is valid. When the read signal 604 is input to the buffer 12, the read data 602 is read from the position indicated by the read address 605 and output.
[0049]
Next, when the write enable signal 607 from the second circuit 11 is input to the write signal generator 65, the write signal generator 65 outputs the write signal 608 when the write enable signal 607 is valid. The WR address counter 66 increments the write address 609 using the second clock signal 101 when the write enable signal 607 is valid. When the write signal 608 is input to the buffer 12, the write data 606 is written at the position indicated by the write address 609.
[0050]
Next, the address comparison timing generation circuit 17 outputs the first comparison timing generation signal 110 and the second comparison timing generation signal 111 in synchronization with the first clock signal 100. The address comparison circuit 19 compares the read address 605 and the write address 609 and outputs the write permission signal 612 and the read permission signal 613 in synchronization with the second clock signal 101.
[0051]
Next, the read REQ generation circuit 68 latches the read permission signal 613 with the first clock signal 100 and generates a read request signal 614 that is synchronized with the first clock signal 100.
[0052]
A circuit diagram of the address comparison circuit 19 is shown in FIG. When the read address 605, the first comparison timing signal 110, and the first clock signal 100 are supplied to the A register 21, the A register 21 detects when the first comparison timing signal 110 is valid (in this example, , The read address 605 is latched at the rising edge of the first clock signal 100 to generate the A address 200. In this case, the first comparison timing signal 110 is given as a toggle signal obtained by dividing the first clock signal 100. Therefore, the A address 200 is obtained by propagating the read address 605 every two clocks.
[0053]
Next, the comparison circuit 22 detects the number of data stored in the buffer 12 based on the write address 609 and the A address 200, and compares this with a predetermined value, thereby determining the first and first values. Two comparison results 201 and 202 are generated. The first comparison result 201 indicates whether data can be written to the buffer 12, and the second comparison result 202 indicates whether data can be read from the buffer 12. The comparison method is the same as that of the first embodiment described above. The read address 109 of the first embodiment is set to the A address 200 of the second embodiment, and the A address 200 of the first embodiment is set to the second embodiment. The write address 609 may be replaced.
[0054]
Next, the flip-flop 23 latches the second comparison timing signal 111 with the second clock signal 101, so that the second comparison timing signal 111 synchronized with the first clock signal 100 is A third comparison timing signal 203 is generated in synchronization with the clock signal 101.
[0055]
Incidentally, since the A address 200 and the write address 609 are synchronized with the first and second clock signals 100 and 101, respectively, the first and second comparison results 201 and 202 are similar to the first embodiment. There is an unstable timing. For this reason, a B register 24 and a C register 25 are provided to obtain a comparison result at a timing when the values of both addresses are stable. The B register 24 is supplied with the first comparison result 201 and the third comparison timing signal 203, and when the third comparison timing signal 203 is valid (high level in this example), the second clock signal 101 The first comparison result 201 is propagated at the rising edge, and the write permission signal 612 is generated. On the other hand, when the second comparison result 202 and the third comparison timing signal 203 are supplied to the C register 25 and the third comparison timing signal 203 is valid (high level in this example), the second clock signal The second comparison result 202 is propagated at the rising edge of 101 to generate the read permission signal 613. Thereby, the write permission signal 612 and the read permission signal 613 can be stabilized.
[0056]
As described above, according to the second embodiment, there is no period limitation between the first clock signal 100 and the second clock signal 101, and the first circuit 10 is stable with a simple configuration. The read request signal 614 can be sent in synchronization with the first clock signal 100. In addition, a stable write permission signal 612 can be sent to the second circuit 11 in synchronization with the second clock signal 101.
[0057]
In addition, burst write operation and burst read operation can be performed on the buffer 12, and by appropriately monitoring the number of data stored in the buffer 12, it is possible to write without waiting for the buffer to become completely empty. The read operation can be started without waiting for it to become completely full. As a result, high-speed data transfer between the first and second circuits 10 and 11 can be realized.
[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 comparison timing signal 110 and the second comparison timing signal 111 are not necessarily required from the address comparison timing generation circuit 17. Since these signals are only inverted from each other, one signal can have both implications by reversing either effective level.
[0059]
(2) The interface circuits 1 and 2 of each embodiment described above can be used in a computer system. FIG. 10 is a block diagram of a computer system using the interface circuits 1 and 2. In the figure, a first circuit 10 exchanges data D with a CPU via a PCI bus. Data transmission in this case may be executed using a burst transfer mode of the PCI bus. The interface circuits 1 and 2 described above are provided between the first circuit 10 and the second circuit 11, and data processing is performed between the first and second circuits 10 and 11 operating asynchronously. It has come to be. In this case, since the interface circuits 1 and 2 can perform data transfer at high speed, it is possible to construct a computer system with high processing capability.
[0060]
(3) In each of the above-described embodiments, the timing at which the write address 105 and the read address 109 are simultaneously determined in the address comparison circuit 19 among the first comparison result 201 and the second comparison result 202 (in FIG. 5). The comparison result in (dotted line timing) is extracted by the B register 24 and the C register 25.
In this case, the timing determined simultaneously is the third comparison timing signal 203 obtained by synchronizing the second comparison timing signal 111 generated based on the first clock signal 100 with the second clock signal 101, and the second comparison timing signal 203. However, the timing may be generated by another method. That is, when the write address 105 is synchronized with the first clock signal 100 and the read address 109 is synchronized with the second clock signal 101 as in the above-described embodiment, the change timings of both addresses are the first and first. Since it depends on the second clock signal 100, 101, the timing at which the write address 105 and the read address 109 are simultaneously determined may be detected based on the first and second clock signals 100, 101.
[0061]
(4) Further, the comparison circuit 22 of each of the embodiments described above compares the read address 109 with the write address 105 (A address 200), detects the number of stored data, and stores the number of stored data and the read. You may grasp | ascertain as a 1st comparison means which compares a setting value, and a 2nd comparison means which compares the number of accumulation | storage data, and a write setting value. The B register 24 synchronizes the comparison result of the first comparison means with the second clock signal 101, and the C register 25 synchronizes the comparison result of the second comparison means with the first clock signal 100. Of course, it is possible to grasp each as a means to make it.
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 second circuits 10 and 11 is controlled on the basis of the write address 105 and the read address 109 at the timing when the addresses are determined simultaneously, any method may be used. .
[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のクロック信号に同期する第1の回路と第2のクロック信号に同期する第2の回路との間に設けられ、前記第1の回路と前記第2の回路との間でデータを転送するインターフェース回路であって、
前記第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.
前記読出制御手段は、前記タイミング検出手段によって検出されたタイミングに基づいて、前記比較手段の比較結果の中から前記読出アドレスと前記書込アドレスとが同時に確定しているタイミングに対応する比較結果を抽出し、抽出された比較結果に基づいて前記第2の回路の読出動作を制御する
ことを特徴とする請求項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のクロック信号に同期する第1の回路と第2のクロック信号に同期する第2の回路との間に設けられ、前記第1の回路と前記第2の回路との間でデータを転送するインターフェース回路であって、
前記第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 .
前記書込制御手段は、前記タイミング検出手段によって検出されたタイミングに基づいて、前記比較手段の比較結果の中から前記読出アドレスと前記書込アドレスとが同時に確定しているタイミングに対応する比較結果を抽出し、抽出された比較結果に基づいて前記第1の回路の書込動作を制御することを特徴とする請求項5に記載のインターフェース回路。  The write control means, based on the timing detected by the timing detection means, the comparison result corresponding to the timing at which the read address and the write address are simultaneously determined from the comparison results of the comparison means 6. The interface circuit according to claim 5, wherein a write operation of the first circuit is controlled based on the extracted comparison result. 前記蓄積データ数検出手段は、前記タイミング検出手段によって検出されたタイミングにおける前記読出アドレスと前記書込アドレスとを比較して、前記記憶手段の蓄積データ数を検出することを特徴とする請求項5に記載のインターフェース回路。  6. 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. 前記比較手段は、前記タイミング検出手段によって検出されたタイミングにおける前記蓄積データ数を、予め定められた書込設定値と比較することを特徴とする請求項5に記載のインターフェース回路。  6. The interface circuit according to claim 5, wherein the comparison unit compares the number of accumulated data at the timing detected by the timing detection unit with a predetermined write setting value.
JP02603198A 1998-02-06 1998-02-06 Interface circuit Expired - Fee Related JP3711730B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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