JP2510262B2 - Asynchronous data transmission device - Google Patents
Asynchronous data transmission deviceInfo
- Publication number
- JP2510262B2 JP2510262B2 JP30759888A JP30759888A JP2510262B2 JP 2510262 B2 JP2510262 B2 JP 2510262B2 JP 30759888 A JP30759888 A JP 30759888A JP 30759888 A JP30759888 A JP 30759888A JP 2510262 B2 JP2510262 B2 JP 2510262B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- controller
- memory
- system controller
- time
- 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 - Lifetime
Links
Landscapes
- Information Transfer Systems (AREA)
- Control By Computers (AREA)
- Communication Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、2つのシステムコントローラ間でデータ
を非同期で伝送する場合に好適な非同期データ伝送装置
に関し、特に、一方のシステムコントローラでの第1の
判断及び第2の判断に使用するクロックが他方のシステ
ムコントローラでの第3の判断に使用するクロックとが
異なる場合に好適な装置に関する。Description: TECHNICAL FIELD The present invention relates to an asynchronous data transmission apparatus suitable for asynchronously transmitting data between two system controllers, and particularly to a first system controller for one system controller. And a clock used for the second determination is different from the clock used for the third determination in the other system controller.
2つのシステムコントローラ間でデータ伝送を行なう
場合には、ハードウェアの同期および速度調整等をとる
ために、これらコントローラ間には通常バッファ装置が
設けられている。When data transmission is performed between two system controllers, a buffer device is usually provided between these controllers in order to synchronize hardware and adjust speed.
従来装置においては、このバッファ装置は1個設けら
れ、一方のコントローラからのアクセスを他方のコント
ローラのアクセスに対し優先させることで、アクセスの
衝突に備えるようにしている。または、どちらかのコン
トローラがアクセス中のときは他方のコントローラにビ
ジー信号を出し、その区間アクセスをウエイトさせるよ
うにしている。この場合、コントローラはお互いをウエ
イトさせることになり、コントローラの実稼働時間の妨
げとなる。このビジー信号をどちらか一方だけが出すと
しても同様である。In the conventional device, one buffer device is provided, and access from one controller is prioritized over access from the other controller to prepare for an access collision. Alternatively, when one of the controllers is accessing, a busy signal is output to the other controller to wait for the section access. In this case, the controllers will weigh each other, hindering the actual operating time of the controllers. The same is true even if only one of the busy signals is issued.
しかし、かかる従来構成では、例えばシステムコント
ローラAからシステムコントローラBへのデータ転送を
考え、コントローラAのライト要求がコントローラBの
リード要求に優先すると設定した場合、リードの途中に
ライト要求がきたときには、リードの前後でデータが異
なることになり、コントローラBはコントローラAの同
時刻および同内容のデータを取り扱えないという問題が
発生する。However, in such a conventional configuration, for example, when data transfer from the system controller A to the system controller B is considered and it is set that the write request of the controller A has priority over the read request of the controller B, when a write request is made during reading, Since the data will be different before and after the read, there arises a problem that the controller B cannot handle the data of the same time and the same content of the controller A.
このことは、システムコントローラAからシステムコ
ントローラBへ1つのまとまったデータを転送する場合
大きな問題であり、正確なデータ転送をなし得なくな
る。This is a serious problem when transferring one set of data from the system controller A to the system controller B, and accurate data transfer cannot be performed.
また、この種のデータ転送においては、通常システム
コントローラA,Bでそれぞれ異なるシステムクロックが
用いられており、このため、これら異なるシステムクロ
ックに同期して発生するコントローラAのライト要求と
コントローラBのリード要求とが全く同時に発生するこ
とがあり、このような場合同一メモリに対してライトと
リードが衝突してしまう。In this type of data transfer, different system clocks are usually used in the system controllers A and B. Therefore, the write request of the controller A and the read of the controller B which are generated in synchronization with these different system clocks are performed. Requests may occur at exactly the same time, and in such a case, a write and a read will collide with the same memory.
この発明はこのような事情に鑑みてなされたもので、
異なるシステムクロックが用いられる2つのシステムコ
ントローラ間で正確かつ確実なデータ伝送をなし得ると
もに、2つのシステムコントローラをウエイトさせるこ
とのない非同期データ伝送装置を提供しようとするもの
である。The present invention has been made in view of such circumstances,
It is an object of the present invention to provide an asynchronous data transmission device that can perform accurate and reliable data transmission between two system controllers that use different system clocks and that does not cause the two system controllers to wait.
この発明では、それぞれ異なるシステムクロックが用
いられている第1のシステムコントローラと第2のシス
テムコントローラとのデータ伝送であって、第1のシス
テムコントローラからこの第1のシステムコントローラ
の非アクセス時間より短いアクセス時間をもつ第2のシ
ステムコントローラへデータ伝送する非同期データ伝送
装置において、 前記第1のシステムコントローラから出力されるデー
タを一時記憶する読み書き可能な第1のメモリと、前記
第1および第2のシステムコントローラからのアクセス
に対して所定の優先順位が予め設定され、前記第1のシ
ステムコントローラの出力データまたは前記第1のメモ
リの一時記憶データが書込まれるとともに、この書込み
データを前記第2のシステムコントローラへ読出す並列
構成の第2および第3のメモリと、前記第1のシステム
コントローラからの書込み要求の開始に伴ない第2のシ
ステムコントローラによる第2および第3のメモリへの
アクセス状態を少なくとも3回、時間ずらせて判定し、
少なくとも3つの判定結果を得る第1の判定手段と、こ
の第1の判定手段の判定結果の多数決論理をとる多数決
手段と、この多数決手段の出力および前記優先順位に基
づき前記第2および第3のメモリのうちの前記第2のシ
ステムコントローラがアクセスしていないが側のメモリ
を選択する第1の選択手段と、前記第1のシステムコン
トローラからの書込み要求に応答して前記第1の選択手
段の選択結果に対応するメモリおよび前記第1のメモリ
へ第1のシステムコントローラの出力データを同時に書
込む第1の書込み制御を行なう第1の書込み手段と、前
記第1の書込み制御終了に伴ない前記第2のシステムコ
ントローラによる第2および第3のメモリへのアクセス
状態を少なくとも2回、時間をずらせて判定する第2の
判定手段と、この第2の判定手段の判定結果に応じて前
記第1の選択手段が選択したメモリの他方のメモリへ前
記第1のメモリの記憶データを書込む第2の書込み制御
を行なう第2の書込み手段と、前記第2のシステムコン
トローラからの読出し要求の開始時点で第1のシステム
コントローラまたは第1のメモリからの書込みによる第
2および第3のメモリへのアクセス状態を判定する第3
の判定手段と、この第3の判定手段の出力および前記優
先順位に基づき前記第2および第3のメモリのうちの前
記第1のシステムコントローラがアクセスしていない側
のメモリを選択する第2の選択手段と、前記第2のシス
テムコントローラからの読出し要求に応答して前記第2
の選択手段の選択結果に対応するメモリから記憶データ
を読出し第2のシステムコントローラへ出力する読出し
手段とを具えるようにする。According to the present invention, data transmission between the first system controller and the second system controller using different system clocks is shorter than the non-access time of the first system controller from the first system controller. In an asynchronous data transmission device for transmitting data to a second system controller having access time, a readable / writable first memory for temporarily storing data output from the first system controller, and the first and second A predetermined priority is set in advance for an access from the system controller, the output data of the first system controller or the temporary storage data of the first memory is written, and the write data is changed to the second data. Parallel configuration to read to system controller Determining the access states of the second and third memories and the second system controller by the second system controller with the start of the write request from the first system controller, at least three times, by shifting the time. Then
First determining means for obtaining at least three determination results, majority determining means for obtaining a majority decision logic of the determination results of the first determining means, and the second and the third based on the output of the majority determining means and the priority. A first selecting means for selecting a side memory which is not accessed by the second system controller among the memories; and a first selecting means for responding to a write request from the first system controller. First write means for performing first write control for simultaneously writing the output data of the first system controller to the memory corresponding to the selection result and the first memory; and with the end of the first write control, the first write means. Second judging means for judging the access states of the second and third memories by the second system controller at least twice at different times; Second writing means for performing second writing control for writing the data stored in the first memory to the other memory of the memories selected by the first selecting means according to the determination result of the second determining means; A third method of determining an access state to the second and third memories by writing from the first system controller or the first memory at the time of starting a read request from the second system controller.
And a second memory for selecting the memory on the side not accessed by the first system controller from the second and third memories based on the output of the third determination means and the priority. The second means in response to a read request from the selecting means and the second system controller;
Reading means for reading stored data from the memory corresponding to the selection result of the selecting means and outputting it to the second system controller.
かかる構成では、転送するデータを保持するメモリを
2重化し(第2のメモリ、第3のメモリ)、かつデータ
を送信する側の第1のシステムコントローラとこれら第
2、第3のメモリとの間に第1のメモリを配するととも
に、これら第2および第3のメモリに対して第1のシス
テムコントローラからデータを書込むときは、時間をず
らせて2回に分けて書込みを行なう(第1の書込み制
御、第2の書込み制御)。1回目の書込みのときは、第
2のシステムコントローラによる第2および第3のメモ
リへのアクセス状態を少なくとも3回、時間をずらせて
判定し、これら判定結果の多数決をとることで、第2お
よび第3のメモリのうちの第2のシステムコントローラ
がアクセスしていない側のメモリを選択し、該選択した
メモリと前記第1のメモリへデータを書込む。2回目の
書込みのときは、前記1回目の書込み終了に伴ない第2
のシステムコントローラによる第2および第3のメモリ
へのアクセス状態を少なくとも2回、時間をずらせて判
定し、これら判定結果が一致した時点で1回目の書込み
でアクセスした第2または第3のメモリの他方側へ前記
第1のメモリのデータを書込む。このようにして、第2
および第3のメモリに対して同一のデータを書込む。ま
た、これら第2および第3のメモリからデータを読出す
際には、第2のシステムコントローラの読出し要求に応
答して第1のシステムコントローラまたは第1のメモリ
からの書込みによる第2および第3のメモリへのアクセ
ス状態を判定し、この結果に対応して前記第2および第
3のメモリのうちの第1のシステムコントローラがアク
セスしていない側のメモリを選択し、該選択したメモリ
からデータ読出しを行なう。In such a configuration, the memory holding the data to be transferred is duplicated (second memory, third memory), and the first system controller on the data transmission side and the second and third memories When the first system controller is arranged between them and the data is written to the second and third memories from the first system controller, the data is written in two times at different times (first Write control, second write control). At the time of the first write, the access states of the second and third memories by the second system controller are determined at least three times with a time lag, and the majority of these determination results is taken. Of the third memories, the memory on the side not accessed by the second system controller is selected, and the data is written to the selected memory and the first memory. At the time of the second writing, the second
The access states of the second and third memories by the system controller are determined at least twice by shifting the time, and when the determination results match, the second or third memory accessed in the first write is accessed. The data in the first memory is written to the other side. In this way, the second
And write the same data to the third memory. Further, when reading data from the second and third memories, the second and third memories written by the first system controller or the first memory are responded to in response to a read request from the second system controller. Of the second memory and the third memory, the memory on the side not accessed by the first system controller is selected in accordance with the result, and data is selected from the selected memory. Read out.
以下、この発明を添付図面に示す実施例にしたがって
詳述する。Hereinafter, the present invention will be described in detail with reference to the embodiments shown in the accompanying drawings.
第1図はこの発明の一実施例の概念的構成を、第2図
はその詳略構成例を示すものである。FIG. 1 shows a conceptual configuration of an embodiment of the present invention, and FIG. 2 shows a detailed configuration example thereof.
第1図および第2図において、システムコントローラ
A,Bは例えば産業機械に備えられるものである。システ
ムコントローラ(以下コントローラと略す)Aは、この
場合産業機械自体を統轄管理するマスタコントローラ
で、CPU.メモリ等を備えた通常のコンピュータ構成であ
る。またシステムコントローラBは産業機械各所に設置
したセンサやアクチュエータとデータの授受を行なうも
のである。1 and 2, the system controller
A and B are provided in, for example, an industrial machine. In this case, a system controller (hereinafter abbreviated as controller) A is a master controller that controls and manages the industrial machine itself, and has a normal computer configuration including a CPU, a memory and the like. Further, the system controller B exchanges data with sensors and actuators installed in various places of the industrial machine.
この第1図に示す構成は、コントローラAからコント
ローラBへデータを伝送するための構成を示し、コント
ローラA,Bのメモリアクセス期間について言えば、コン
トローラAのメモリに対する非アクセス時間TNA(この
場合は非書込み時間)がコントローラBのメモリアクセ
ス期間TB(この場合は読出し時間)より長いというこ
とが前提となっている。The configuration shown in FIG. 1 shows a configuration for transmitting data from the controller A to the controller B. Regarding the memory access period of the controllers A and B, the non-access time TNA (in this case It is premised that the non-writing time) is longer than the memory access period TB of the controller B (reading time in this case).
すなわち、正確に言えば、 システムAの非アクセス時間TNA >後ライトに要する時間Td +システムBのアクセス時間TB となることが前提となっている(第4図(a),(j)
参照)。後ライトについては後述する。That is, to be precise, it is premised that the non-access time TNA of the system A> the time Td required for the post-write + the access time TB of the system B (FIGS. 4 (a) and (j)).
reference). The rear light will be described later.
なお、この場合システムコントローラAはシステムク
ロックCKAによって動作し、またコントローラBはクロ
ックCKBによって動作する。これらのクロックCKA,CKB
は、その周期、位相等に関して全く異なっている。In this case, the system controller A operates by the system clock CKA, and the controller B operates by the clock CKB. These clocks CKA, CKB
Are completely different in terms of their period, phase, etc.
メモリ10はコントローラA,Bの双方からアクセス可能
な書込み/読出し自在のデュアルポートRAMであり、こ
の場合アドレスの最上位ビット「ALH」、または「ARH」
をHかLかにすることで、メモリ領域をH側およびL側
に2分割するようになっており、これにより特許請求の
範囲の第2、第3のメモリを実現している。コントロー
ラA側からアクセスするときは、「ALH」をH/Lにするこ
とでH/L側領域を選択し、コントローラB側からアクセ
スするときは「ARH」をH/LにすることでH/L側領域を選
択する。すなわち、この場合メモリ10はいわゆる2重化
された構成であり、該メモリ10のH側領域、L側領域に
は制御ロジック部30の後述する制御によってコントロー
ラAの書込み周期毎に、結果的に全く同一のデータが書
込まれるようになっている。The memory 10 is a write / read dual port RAM that can be accessed by both controllers A and B. In this case, the most significant bit "ALH" or "ARH" of the address.
By setting H to L, the memory area is divided into two on the H side and the L side, whereby the second and third memories in the claims are realized. When accessing from the controller A side, set the "ALH" to H / L to select the H / L side area, and when accessing from the controller B side, set "ARH" to H / L to H / L Select the L side area. That is, in this case, the memory 10 has a so-called duplicated structure, and the H-side region and the L-side region of the memory 10 are controlled by the control logic unit 30 to be described later at each writing cycle of the controller A, as a result. The exact same data is written.
なお、この場合は前述したようにコントローラAから
コントローラBへの一方向についてのみのデータ転送を
問題としているため、コントローラAは書込みのみを、
コントローラBは読出しのみを行なう。In this case, since data transfer in only one direction from the controller A to the controller B is a problem as described above, the controller A writes only
Controller B only reads.
コントローラAと、メモリ10との間にはバッファ回路
20が設けられている。バッファ回路20は、コントローラ
Aからメモリ10へのデータ書込みのときにコントローラ
Aの出力データDTおよびアドレスADを一時記憶するとと
もに、その後この一時記憶したデータを制御ロジック部
30からの信号にしたがってメモリ10のH側領域およびL
側領域のいずれか一方に出力するものであり、この場合
は2つのFIFO20,25(先入れ先出し回路:First in First
out)を用いている。すなわち、FIFO20はコントローラ
Aからのアドレスを記憶するもので、またFIFO25はコン
トローラからのデータを記憶するものである。A buffer circuit is provided between the controller A and the memory 10.
20 are provided. The buffer circuit 20 temporarily stores the output data DT and the address AD of the controller A at the time of writing data from the controller A to the memory 10, and thereafter stores the temporarily stored data in the control logic unit.
According to the signal from 30, the H side area of memory 10 and L
It outputs to either one of the side areas. In this case, two FIFOs 20 and 25 (first in first out circuit: First in First
out) is used. That is, the FIFO 20 stores the address from the controller A, and the FIFO 25 stores the data from the controller.
次に、制御ロジック部30の内部構成を説明する前に、
メモリ10およびFIFO20,25の信号入出力端子について説
明する。Next, before explaining the internal configuration of the control logic unit 30,
The signal input / output terminals of the memory 10 and the FIFOs 20 and 25 will be described.
▲▼:メモリ10の左側(コントローラA側)から
のチップセレクト、 ▲▼:メモリ10の右側(コントローラB側)から
のチップセレクト、 ▲▼:メモリ10のライトイネーブル信号 : メモリ10のリードイネーブル信号 ALH: メモリ10の最上位アドレスビットであり、左側
(コントローラA側)からメモリ10をH/L領域に2分割
するための信号 ARH: メモリ10の最上位アドレスビットであり、右側
(コントローラB側)からメモリ10をH/L領域に2分割
するための信号 AD: アドレス信号 DT:データ ▲▼:FIFOのライトイネーブル信号 ▲▼:FIFOが出力するデータエンプティフラグ:
(FIFIO内に記憶データがあるときはH,FIFOから記憶デ
ータを全て読出した状態のときはL、) ▲▼:FIFOのリードイネーブル信号 IN: FIFOのデータ入力端子 OUT: FIFOのデータ出力端子 制御ロジック部30は、第1図に示すようにコントロー
ラA,BのコントロールバスCBに接続され(具体的にはコ
ントローラAからの書込み要求信号▲▼とコントロ
ーラBの読出し要求信号▲▼が入力される)、メモ
リ10およびFIFO20,25の書込み/読出し制御を行なうも
のであり、第2図に示すように複数の回路31〜54によっ
て構成されている。制御ロジック部30の複数の回路はフ
リップフロップや論理ゲート等のハードウェアで全てそ
の論理が構成されている。▲ ▼: Chip select from the left side of the memory 10 (controller A side), ▲ ▼: Chip select from the right side of the memory 10 (controller B side), ▲ ▼: Write enable signal of the memory 10: Read enable signal of the memory 10 ALH: Highest address bit of memory 10, signal from left (controller A side) to divide memory 10 into H / L area ARH: Highest address bit of memory 10, right side (Controller B side) ) Signal for dividing memory 10 into H / L areas AD: Address signal DT: Data ▲ ▼: FIFO write enable signal ▲ ▼: Data empty flag output from FIFO:
(H when there is stored data in FIFIO, L when all stored data is read from the FIFO,) ▲ ▼: FIFO read enable signal IN: FIFO data input pin OUT: FIFO data output pin control The logic unit 30 is connected to the control buses CB of the controllers A and B as shown in FIG. 1 (specifically, the write request signal ▲ ▼ from the controller A and the read request signal ▲ ▼ from the controller B are input. ), Which controls writing / reading of the memory 10 and the FIFOs 20 and 25, and is constituted by a plurality of circuits 31 to 54 as shown in FIG. The logics of the plurality of circuits of the control logic unit 30 are all configured by hardware such as flip-flops and logic gates.
以下、制御ロジック部30の各回路構成を説明する前
に、該制御ロジック部30によるメモリ10およびFIFO20,2
5に対しての書込み/読出し制御の論理構成について簡
単に説明する。Hereinafter, before describing each circuit configuration of the control logic unit 30, the memory 10 and the FIFOs 20, 2 by the control logic unit 30 are described.
The logical configuration of the write / read control for 5 will be briefly described.
まず、メモリ10は、その書込み/読出しに関してL
側領域のほうがH側領域より優先順位が高く設定してあ
る。First, the memory 10 has an L level for writing / reading.
The side area is set to have a higher priority than the H side area.
コントローラAから書込み要求信号▲▼が出力
されると、メモリ10に対して2回の書込みを時間をずら
せて行なうことで、メモリ10のH側領域およびL側領域
にコントローラAの同一データを書込む。When the write request signal ▲ ▼ is output from the controller A, the same data of the controller A is written in the H side area and the L side area of the memory 10 by performing the writing twice in the memory 10 at different times. Put in.
1回目の書込み(以下前ライトという)時には、メモ
リ10のH側領域およびL側領域のいずれか一方とFIFO25
にデータを同時に書込むとともに、FIFO20にアドレスを
書込む。メモリ10のH/L側領域のいずれを選択するかに
ついては、コントローラAの▲▼信号の送出開始時
に、コントローラB側の状態を判断する。そして、この
判断時点で既にコントローラBがメモリ10のH/L領域の
いずれかを読出しアクセスしているときは、コントロー
ラAはその逆側の領域に対して書込みを行ない、またコ
ントローラBがメモリ10にアクセスしていない場合は優
先側のL側領域に対して書込みを行なう。At the time of the first write (hereinafter referred to as the previous write), either the H side area or the L side area of the memory 10 and the FIFO 25
The data is written simultaneously to and the address is written to FIFO20. As to which of the H / L side areas of the memory 10 to select, the state of the controller B side is judged at the start of the transmission of the signal A from the controller A. If the controller B has already read and accessed any of the H / L areas of the memory 10 at this point of time, the controller A writes to the area on the opposite side, and the controller B also writes to the memory 10 If not accessed, writing is performed to the L side area on the priority side.
2回目の書込み(以下後ライトという)時には、上述
した前ライトのときにFIFO25に書込んだデータとFIFO20
に書込んだアドレスとを上記前ライト終了後、FIFO25,2
0から読出し、FIFO25から読出したデータをFIFO20から
出力されるアドレスにしたがってメモリ10の上記前ライ
ト時に選択した領域と逆側のH/L領域に書込む。ただ
し、この後ライト開始時、FIFO25からのデータを書込む
べき前記逆側の領域に対してコントローラBがアクセス
しているときは、このコントローラBのアクセス終了ま
で待機し、該アクセス終了後に後ライトを行なうように
する。At the time of the second writing (hereinafter referred to as “post-writing”), the data written in the FIFO25 and the FIFO20 during the above-mentioned writing
After writing the address written above to the FIFO25,2
The data read from 0 and the data read from the FIFO 25 are written in the H / L area on the opposite side of the area selected at the time of the previous write of the memory 10 according to the address output from the FIFO 20. However, at the start of writing after this, if the controller B is accessing the area on the opposite side where the data from the FIFO 25 is to be written, the controller B waits until the access of this controller B ends, and after the access ends To do.
コントローラBから読出し要求信号▲▼(リー
ド区間の間、Lになっている)が出力されると、この▲
▼信号の送出開始時点でコントローラA側の状態を
判断し、この判断時に既にコントローラAがメモリ10の
H/L領域のいずれかを書込みアクセスしているときは、
その逆側の領域から読出しを行ない、またコントローラ
Aがアクセスしていない場合は優先側のL側領域から読
出しを行なう。When the controller B outputs the read request signal ▲ ▼ (L during the read section), this ▲
▼ The state of the controller A is judged at the start of signal transmission.
When writing access to any of the H / L areas,
Reading is performed from the area on the opposite side, and when the controller A is not accessing, reading is performed from the L side area on the priority side.
相手側コントローラの状態を判断する際は、次のよ
うな方式をとることで、同一時刻に相手側コントローラ
の状態をそれぞれ判断した場合に発生するメモリ10の同
一領域に対する両コントローラの同時アクセスを防止す
るようにしている。When determining the status of the partner controller, the following method is used to prevent simultaneous access of both controllers to the same area of memory 10 that occurs when the status of the partner controller is judged at the same time. I am trying to do it.
すなわち、コントローラAが前ライトを行なうとき
は、相手側コントローラBのステータス判断に基づいて
自コントローラAがアクセスすべきメモリ領域(H/L領
域)を選定するための判断処理を複数回、例えば3回、
時間をずらせて行なう。そして、これら3つの異なる時
点における判断結果の多数決をとり、該多数決の結果に
よってコントローラAが実際にアクセスするメモリ領域
を決定する。例えば、前記3つの時点における判断結果
がH,L,L(H;H側領域を選択する。L;L側領域を選択す
る)のときは多数決の結果はLとなり、コントローラA
はL側領域をアクセスする。また前記3つの判断結果が
L,H,Hであるときは多数決の結果はHとなりコントロー
ラAはH側領域をアクセスする。なお、3つの多数決を
とるということは、最初の判断結果のみでは多数決の結
果は得られないということであり、3つの多数決結果が
得られるためには少なくとも2つの判断結果が必要であ
る。すなわち、前ライト時におけるコントローラAのメ
モリアクセス領域は、少なくとも2回の判断結果が出た
後に決定される。That is, when the controller A performs the previous write, the judgment process for selecting the memory area (H / L area) to be accessed by the self controller A based on the status judgment of the partner controller B is performed a plurality of times, for example, 3 times. Times,
Stagger the time. Then, the majority decision of the decision results at these three different times is taken, and the memory area which the controller A actually accesses is decided by the result of the majority decision. For example, when the judgment results at the three time points are H, L, and L (H; H side region is selected; L; L side region is selected), the result of the majority decision is L and the controller A
Accesses the L side area. In addition, the above three judgment results
When L, H, H, the result of the majority decision is H and the controller A accesses the H side area. It should be noted that taking three majority votes means that the result of the majority vote cannot be obtained only by the first decision result, and at least two decision results are required to obtain the three majority results. That is, the memory access area of the controller A at the time of the previous write is determined after the determination result is obtained at least twice.
上記多数決の結果は、コントローラAのメモリアクセ
ス状態を示すフラグ信号として、コントローラBのリー
ド時における相手側コントローラAのステータス判断に
使われる。なお、このフラグ信号は、1回目の判断結果
が出されたときは、この1回目の判断結果に対応する状
態となっている。The result of the majority decision is used as a flag signal indicating the memory access state of the controller A to judge the status of the partner controller A when the controller B reads. The flag signal is in a state corresponding to the first determination result when the first determination result is output.
コントローラBによるメモリ10のリード時には、読出
し要求信号▲▼の送出開始時点で1回のみ前記フラ
グ信号に基づきコントローラA側の状態を判断し、この
判断に応じて自コントローラBがアクセスするメモリ領
域を決定する。なお、前記3つの異なる時点の判断にお
ける最初の判断時点で読出し要求信号▲▼が開始さ
れた場合は、全く同時点における判断として、コントロ
ーラBに優先側のL側領域をアクセスするように設定し
ている。When the memory B is read by the controller B, the state of the controller A side is judged based on the flag signal only once at the start of sending the read request signal ▲ ▼, and the memory area accessed by the own controller B is determined according to this judgment. decide. When the read request signal ▲ ▼ is started at the first determination time point of the three different time point determinations, the controller B is set to access the L side area on the priority side as the determination at exactly the same time point. ing.
以上が制御ロジック部30の論理の概略であるが、以下
第3図〜第5図のタイムチャートにしたがって、第1図
の構成の動作を各種場合について説明する。The above is the outline of the logic of the control logic unit 30, and the operation of the configuration of FIG. 1 will be described below in various cases with reference to the time charts of FIGS. 3 to 5.
第3図〜第5図において、(a)はコントローラAか
ら出力される書込み要求信号▲▼から生成する▲
▼信号(後述)を、(b)は前ライト区間を遅
延回路40で遅延させた前ライトを、(c)はクロック信
号ckを、(d)はコントローラBから出力される読出し
要求信号▲▼並びに読出し期間を、(e)は▲
▼信号の立下がり時に相手側コントローラBの状態を判
断して立てられるフラグ、(f)は▲▼信号の立下
がり時の半クロックck後に立てられる前記と同じフラ
グ、(g)は▲▼信号の立下がり時の1クロックck
後に立てられる前記と同じフラグ、(h)はフラグ1〜
3の多数決をとったフラグ、(i)は前ライトおよび後
ライト時に選択するメモリ領域を決定するフラグ、
(j)は後ライト期間をそれぞれ示す。なお、(e)〜
(g)に示したフラグ1〜フラグ3は、前述したように
前ライト時の相手側コントローラBのステータス判断に
基づいて自コントローラAがアクセスすべきメモリ領域
を選択するための判断処理を、3つの異なる時点に行な
った結果を示すものである。また、これら第3図〜第5
図においては、フラグ信号以外の信号はLが能動であ
り、さらに各信号の上に付した,はメモリ10の選択
された側のH/L領域を示している。In FIGS. 3 to 5, (a) is generated from the write request signal ▲ ▼ output from the controller A.
▼ A signal (described later), (b) a previous write in which the previous write section is delayed by the delay circuit 40, (c) a clock signal ck, and (d) a read request signal output from the controller B ▲ ▼ And the read period, (e) is ▲
▼ A flag that is set by judging the state of the partner controller B when the signal falls, (f) is the same flag that is set after a half clock ck when the signal falls, and (g) is a ▲ ▼ signal 1 clock ck at the falling edge of
The same flags that will be set later, (h) is flag 1 to
3 is a flag for which a majority decision has been taken, (i) is a flag for deciding a memory area to be selected at the time of pre-writing and post-writing,
(J) shows the post-write period, respectively. In addition, (e) ~
The flags 1 to 3 shown in (g) indicate the determination process for selecting the memory area to be accessed by the self controller A based on the status determination of the partner controller B at the time of the previous write as described above. The results are shown at two different times. Moreover, these FIGS.
In the figure, L is active for signals other than the flag signal, and the symbol above each signal indicates the H / L region on the selected side of the memory 10.
第3図は、前ライト開始時点にコントローラ13が既に
メモリ10をアクセス中である状態を示している。FIG. 3 shows a state in which the controller 13 is already accessing the memory 10 at the start of the previous write.
第3図において、時刻t0においては、コントローラ
Bがメモリ10のL側領域にアクセス中であるため、コン
トローラA側のアクセス対象としてH側領域が選択さ
れ、この結果、時刻t1〜時刻t3の期間にはコントロー
ラAのデータがメモリ10のH側領域に書込まれ、かつコ
ントローラAのデータおよびアドレスがFIFO25,20に書
込まれる、前ライト処理が行なわれる。なお、時刻t2
〜t4におけるコントローラBの読出し処理において
は、時刻t2においてメモリ10のH側領域がコントロー
ラAに占拠されているため、コントローラBのアクセス
対象としてL側領域が選択されている。In FIG. 3, since the controller B is accessing the L side area of the memory 10 at time t 0 , the H side area is selected as the access target of the controller A side. As a result, the time t 1 to the time t In the period of 3 , pre-write processing is performed in which the data of the controller A is written in the H side area of the memory 10 and the data and address of the controller A are written in the FIFOs 25 and 20. Note that time t 2
In reading processing of the controller B in ~t 4, since the H-side region of the memory 10 is occupied by the controller A at time t 2, L-side region is selected as the access target controller B.
次に、コントローラAの前ライトが終了した時刻t3
においては、後ライトを行なおうとするL側領域(前ラ
イトの逆領域)はコントローラBによって占拠されてい
る。したがって、制御ロジック部30では、コントローラ
Bのアクセスが終了するまで待機し、該終了時点(時刻
t4)から後ライトを開始する。時刻t5に後ライトが終
了する。Next, the time t 3 when the front light of the controller A ends
In, the controller B occupies the L-side area (the area opposite to the front light) where the rear light is to be performed. Therefore, the control logic unit 30 waits until the access of the controller B ends, and starts the post-write from the end point (time t 4 ). The rear light ends at time t 5 .
第4図は、コントローラAの▲▼信号から生成す
る▲▼信号(後述の立下がりとコントローラ
Bの▲▼信号の立下がりが同時(時刻t0)の場合
を示している。この場合は、相手側ステータスを同時に
判断することになるが、このときは1回しか判断を行な
わないコントローラB側は、コントローラAのアクセス
を示す▲▼がH(アクセスしていない)と判
断するので、優先側のL側を選択することになる。FIG. 4 shows a case where the signal A generated from the signal A of the controller A (the trailing edge which will be described later and the trailing edge of the signal B of the controller B simultaneously fall (time t 0 ). In this case, The other party's status will be judged at the same time. At this time, the controller B, which judges only once, judges that the ▲ ▼ indicating the access of the controller A is H (not accessed). Will select the L side.
したがって、時刻t0からコントローラBは、メモリ1
0のL側領域に読出しアクセスを開始する。他方、時刻
t0に相手側コントローラBの状態に基づき自コントロ
ーラA側がアクセスしようとするメモリ領域を選択した
結果を示すフラグ1は、時刻t0における相手側コント
ローラBのL領域に対するメモリアクセスを検知し得な
いのでLのままである。しかし、半クロック後の時刻t
1になると相手側コントローラBの状態を検知できるの
で、フラグ2は時刻t1においてコントローラBのメモ
リアクセス領域Lと逆のHに立上がる。フラグ3も同様
であり、時刻t2にHに立上がる。したがって、これら
フラグ1〜フラグ3の多数決論理が出力される多数決フ
ラグは時刻t2にHに立上がる。ライト領域選択フラグ
は前ライトのときは多数決フラグと同じ論理値となり、
後ライトのときは多数決フラグの反転値となる。したが
って、その後、コントローラAから出力されたデータは
メモリ10のH側領域に書込まれる(時刻t3〜t4)。勿
論、この時刻t3〜t4における前ライト期間には、コン
トローラAのデータおよびアドレスがFIFO25,20に書込
まれる。コントローラAの前ライトが終了した時刻t4
においては、後ライトを行なおうとするL側領域に対し
てコントローラBはアクセスしていない。したがって、
この場合は待ち時間なしに時刻t4から直ちに後ライト
が行なわれる。Therefore, from time t 0 , the controller B starts the memory 1
A read access to the 0 side L area is started. On the other hand, the flag 1 indicating the result of selecting the memory area own controller A side based on the state of the mating controller B at time t 0 is trying to access is detected the memory access to L region of the mating controller B at time t 0 It remains L because it cannot be done. However, at time t half a clock later
When it becomes 1 , the state of the partner controller B can be detected, so the flag 2 rises to H, which is the opposite of the memory access area L of the controller B, at time t 1 . Flag 3 is also the same, and rises to H at time t 2 . Therefore, the majority flag from which the majority logic of these flags 1 to 3 is output rises to H at time t 2 . The write area selection flag has the same logical value as the majority flag when the previous write,
In the case of post-write, it is the inverted value of the majority vote flag. Accordingly, then, the data output from the controller A is written to the H-side area of the memory 10 (time t 3 ~t 4). Of course, before the write period in the time t 3 ~t 4, data and address of the controller A is written into FIFO25,20. Time t 4 when the front light of the controller A ends
In, the controller B does not access the L-side area that is going to perform the post-write. Therefore,
In this case, post-write is performed immediately from time t 4 without waiting time.
第5図はコントローラAの▲▼信号(正確には▲
▼信号)の立下がりの半クロック後と、コン
トローラBの▲▼信号の立下がり時が同時の場合を
示している。Fig. 5 shows the ▲ ▼ signal of controller A (to be exact, ▲
A half clock after the falling of the ▼ signal) and the falling time of the ▼ signal of the controller B are shown at the same time.
時刻t0においては、コントローラBはメモリアクセ
スを行なっていないので、フラグ1は時刻t0において
優先側のLとなっている。この時刻t0から半クロック
後の時刻t1において、コントローラBの読出し要求信
号▲▼がLに立下がり、この時点で多数決フラグ、
コントローラAのアクセスを示す▲▼および
後ライトに基づき相手側コントローラAの状態が判断さ
れる。この場合、時刻t1において多数決フラグはLで
あり、▲▼がL(コントローラAがL側をア
クセスしている)のため、、コントローラBの読出し対
象領域として多数決フラグと逆のH領域が選択され、こ
の結果時刻t1〜t3の期間、メモリ10のH側領域からコ
ントローラBによる読出しが行なわれる。At time t 0, the controller B so not performed the memory access, the flag 1 has a preferential side L at time t 0. At a time t 1 which is a half clock after the time t 0 , the read request signal ▲ ▼ of the controller B falls to L, and at this time, the majority flag,
The state of the partner controller A is judged based on the ▲ ▼ indicating the access of the controller A and the rear light. In this case, at time t 1 , the majority flag is L and ▲ ▼ is L (the controller A is accessing the L side). Therefore, the H area opposite to the majority flag is selected as the read target area of the controller B. As a result, during the period from time t 1 to t 3 , the controller B reads from the H side area of the memory 10.
他方、時刻t1において、コントローラBはH側領域
を選択しているため、時刻t1,t2でその判断動作を行な
うフラグ2、フラグ3はLのままである。したがって多
数決フラグもLを維持し、この結果、時刻t2から前ラ
イトがメモリ10のL側領域に対して開始される。コント
ローラAの前ライトが終了した時刻t4においては、後
ライトを行なおうとするH側領域に対してコントローラ
Bはアクセスしていない。したがって、この場合も、第
4図と同様、時刻t4から直ちに後ライトが行なわれ
る。On the other hand, at time t 1, the controller B because it has to select the H-side region, flag 2, flag 3 performing the decision operation at time t 1, t 2 remains L. Therefore, the majority flag also maintains L, and as a result, the previous write is started for the L side area of the memory 10 from time t 2 . At the time t 4 when the previous write of the controller A is completed, the controller B does not access the H side area to perform the post write. Therefore, also in this case, as in FIG. 4, the post-write is immediately performed from time t 4 .
次に、制御ロジック部30内の各回路構成を第2図にし
たがって説明する。なお、この第2図においては、シス
テムクロックCKが各所に入力されているが、要所のみそ
の入力状態を示し、それ以外は省略している。Next, each circuit configuration in the control logic unit 30 will be described with reference to FIG. Note that, in FIG. 2, the system clock CK is input to various places, but the input state is shown only for important points, and the other parts are omitted.
コントローラAの書込み要求信号▲▼(第6,7図
(a))は、前ライト区間発生回路31およびゲート41に
入力されている。なお、前述のシステムクロックCKのパ
ルス周期は書込み要求信号WRのパルス幅より十分短いも
のである。The write request signal {circle around ()} (FIGS. 6 and 7 (a)) of the controller A is input to the previous write section generation circuit 31 and the gate 41. The pulse cycle of the system clock CK is sufficiently shorter than the pulse width of the write request signal WR.
前ライト区間発生回路31は、ワンショットマルチバイ
ブレータ回路、フリップフロップ等で構成され、書込み
要求信号▲▼をシステムクロックCKの立下がりで取
込み、その後、L状態を所定時間TA保持する▲
▼信号を形成し、出力する(第7図(b))。すな
わち▲▼信号はコントローラAの1書込み期間中T
A(第6図参照)にコントローラAから多数個順次出力
されるが、これら▲▼信号が出力されている期間に
対応して▲▼信号はLとなっている。The previous write section generation circuit 31 is composed of a one-shot multivibrator circuit, a flip-flop, etc., takes in the write request signal ▲ ▼ at the falling edge of the system clock CK, and thereafter holds the L state for a predetermined time TA.
▼ Form a signal and output it (Fig. 7 (b)). That is, the ▲ ▼ signal is T during one writing period of the controller A.
A large number of signals are sequentially output from the controller A to A (see FIG. 6), and the signal ▼ is L corresponding to the period in which these signals ▼ are being output.
この▲▼信号はシステムB側状態断面回路
32等に入力されている。This ▲ ▼ signal is the state cross-section circuit on the system B side.
It has been entered in 32 mag.
システムB側状態判断回路32は、ゲート33と5つのD
型フリップフロップ34〜38と多数決回路39とで構成され
ている。▲▼信号はフリップフロップ34のD
端子に入力されることで▲▼信号がクロック
信号CKの半周期(半クロック)だけ遅延された▲
▼信号(第7図(c))がフリップフロップ34から
出力される。この▲▼信号はさらにフリップ
フロップ36に入力されることで▲▼信号がク
ロックCKの1周期(1クロック)だけ遅延された▲
▼信号(第7図(d))がフリップフロップ36か
ら出力される。すなわち、▲▼,▲
▼信号は▲▼信号を半クロックずつ遅延し
たものであり、▲▼信号、▲▼信
号、▲▼信号はそれぞれフリップフロップ3
5,37,38のクロック端子に入力されている。これらフリ
ップフロップ35,37,38のD端子にはゲート33の出力SBLA
が入力されている。The system B side state determination circuit 32 includes a gate 33 and five Ds.
The flip-flops 34 to 38 and the majority circuit 39. ▲ ▼ signal is D of flip-flop 34
By being input to the terminal, the signal is delayed by a half cycle (half clock) of the clock signal CK.
The signal (FIG. 7 (c)) is output from the flip-flop 34. This ▲ ▼ signal is further input to the flip-flop 36, so that the ▲ ▼ signal is delayed by one cycle (1 clock) of the clock CK.
The signal (FIG. 7 (d)) is output from the flip-flop 36. That is, ▲ ▼, ▲
The ▼ signal is obtained by delaying the ▲ ▼ signal by half a clock, and the ▲ ▼ signal, ▲ ▼ signal, and ▲ ▼ signal are each flip-flop 3
Input to the clock terminals of 5,37,38. The output SBLA of the gate 33 is connected to the D terminals of these flip-flops 35, 37 and 38.
Has been entered.
ゲート33は、システムコントローラBの読出し要求信
号▲▼およびシステムA側状態判断回路47の出力AR
Hの各反転出力のアンドをとることで、システムB側の
状態を判断し、この判断に対応してコントローラA側が
メモリ10のどちらの領域(H/L領域)を選択すべきかを
判定し、信号SBLAを出力する。なお、このSBLA信号はコ
ントローラA側がメモリ10のいずれのH/L領域を選択す
るかを決定するための判断材料としての性質をもつもの
である。The gate 33 outputs the read request signal ▲ ▼ of the system controller B and the output AR of the system A side state determination circuit 47.
By taking the AND of each inverted output of H, the state on the system B side is judged, and in response to this judgment, the controller A side judges which area (H / L area) of the memory 10 should be selected, Output signal SBLA. The SBLA signal has a property as a judgment material for the controller A side to decide which H / L area of the memory 10 to select.
ARH信号は、コントローラBによる読出しの際、コン
トローラBがH/L領域のいずれを選択するかを示すもの
であり、該ARH信号を出力するための論理構成は後で詳
述する。なお、ARH信号がHのときはメモリ10のH側領
域が選択され、LのときはL側領域が選択される。The ARH signal indicates which of the H / L areas the controller B selects when reading by the controller B, and the logical configuration for outputting the ARH signal will be described in detail later. When the ARH signal is H, the H side area of the memory 10 is selected, and when the ARH signal is L, the L side area is selected.
すなわち、ゲート33およびフリップフロップ35による
構成は、▲▼信号およびARH信号の状態に基づきコ
ントローラB側のアクセス状態を▲▼信号が
Lに立下がる時点に判断し、この判断に対応してコント
ローラA側がメモリ10のどちらの領域(H/L領域)を選
択するかを判定し、その判定結果を示す信号ABC1を出力
する(第7図(e))。すなわち、信号ABC1は、▲
▼信号がLに立下がるときの▲▼信号および
ARH信号の状態によって決定され、その真理値表は下記
第1表のようになる。That is, the configuration including the gate 33 and the flip-flop 35 determines the access state on the controller B side based on the states of the ▲ ▼ signal and the ARH signal when the ▲ ▼ signal falls to L, and the controller A responds to this determination. The side determines which region (H / L region) of the memory 10 to select, and outputs a signal ABC1 indicating the determination result (FIG. 7 (e)). That is, the signal ABC1 is
▼ ▼ signal when the signal falls to L and
The truth table is determined by the state of the ARH signal, and is shown in Table 1 below.
すなわち、前述したように、メモリ10はL側領域が優
先となっており、このため、前ライト開始時に▲▼
信号がH、すなわちコントローラBが非アクセス中のと
き、ABC1信号はメモリ10の優先領域(L領域)に対応し
てLとなり、また前ライト開始時に▲▼信号がL、
すなわちコントローラBがアクセス中のときには、ABC1
信号はARH信号の逆となり、コントローラBがアクセス
中の領域と逆の領域を選択しようとする。 That is, as described above, in the memory 10, the L side area is prioritized.
When the signal is H, that is, when the controller B is not accessing, the ABC1 signal becomes L corresponding to the priority area (L area) of the memory 10, and the ▲ ▼ signal is L at the start of the previous write.
That is, when controller B is accessing, ABC1
The signal becomes the opposite of the ARH signal, and the controller B tries to select the area opposite to the area being accessed.
また、フリップフロップ37はゲート33の出力SBLAを▲
▼信号の立下がり時点、すなわち▲
▼信号の立下がりの半クロック後にラッチし、ABC2信
号として出力する(第7図(f))。フリップフロップ
38はゲート33の出力SBLAを▲▼信号の立下が
り時点、すなわち▲▼信号の立下がりの1ク
ロック後にラッチし、ABC3信号として出力する(第7図
(g))。Further, the flip-flop 37 sets the output SBLA of the gate 33 to ▲
▼ When the signal falls, that is ▲
▼ It is latched half a clock after the falling edge of the signal and output as the ABC2 signal (Fig. 7 (f)). flip flop
38 latches the output SBLA of the gate 33 at the time of the falling of the signal, that is, one clock after the falling of the signal, and outputs it as the ABC3 signal (FIG. 7 (g)).
すなわち、フリップフロップ35,37,38はゲート33の出
力を半クロックずつずれた3つの異なる時点にラッチす
ることで、コントローラBの状態を3回、時間をずらせ
て判断し、これら各判断に対応してコントローラA側が
選択すべきメモリ領域(H/L領域)を示すフラグ信号ABC
1,ABC2,ABC3を出力する。That is, the flip-flops 35, 37, 38 latch the output of the gate 33 at three different time points shifted by half a clock to judge the state of the controller B three times with different times, and respond to each of these judgments. Then, the flag signal ABC indicating the memory area (H / L area) to be selected by the controller A side
Outputs 1, ABC2, ABC3.
これらフラグ信号ABC1〜ABC3は多数決回路39に入力さ
れ、該多数決回路39でこれら入力信号の多数決論理がと
られる。すなわち、多数決回路39は、これら入力信号AB
C1〜ABC3の各時点における多数決をとり、該多数決をと
った結果をA10H(第6図(l)、第7図(p))を出力
するものであり、例えばある時点にABC1〜ABC3が、L,L,
HのときはLが出力され、またある時点にABC1〜ABC3が
L,H,LのときはLが出力され、さらに同様に、H,H,Lのと
きはHが出力される。These flag signals ABC1 to ABC3 are input to the majority decision circuit 39, and the majority decision circuit 39 takes the majority decision logic of these input signals. That is, the majority decision circuit 39 receives these input signals AB
A majority decision is taken at each time point of C1 to ABC3, and the result of the majority decision is output as A10H (FIG. 6 (l), FIG. 7 (p)). For example, ABC1 to ABC3 at a certain time point, L, L,
When H, L is output, and at some point ABC1 to ABC3
When L, H, L, L is output, and similarly, when H, H, L, H is output.
他方、▲▼信号は遅延回路40に入力され、
ここで数クロックCK分の時間遅延された後ゲート41に入
力される。ゲート41は、コントローラAからの▲▼
信号と上記▲▼信号の遅延出力の各反転出力
のナンドをとり、該出力をFIFO20,25の▲▼端子に
入力する(第6図(e)、第7図(j))。なお、前述
したように、システムクロックCKのパルス周期はWR信号
のパルス幅より十分短いものであり、このため、▲
▼信号を数クロック分遅延した遅延回路40の出力と▲
▼信号とがゲート41に入力されることによって、▲
▼信号の一発目のパルスが消されることはない(第7
図参照)。上記遅延回路40は前ライト時メモリ10のALH
端子にセレクタ50の出力が入力されるまでの時間をかせ
ぐためのものである。FIFO20,25は▲▼端子への入
力がLのとき、コントローラAから出力されるアドレス
信号およびデータ信号を該FIFO20,25の記憶エリアにそ
れぞれ書込む。On the other hand, the ▲ ▼ signal is input to the delay circuit 40,
Here, after a time delay of several clocks CK, the signal is input to the gate 41. The gate 41 is ▲ ▼ from the controller A.
The NAND of the signals and the inverted outputs of the delayed outputs of the above signals is taken and the outputs are input to the terminals of the FIFOs 20 and 25 (FIG. 6 (e), FIG. 7 (j)). As mentioned above, the pulse period of the system clock CK is sufficiently shorter than the pulse width of the WR signal.
▼ The output of the delay circuit 40 which delayed the signal by several clocks and ▲
▼ By inputting a signal to the gate 41,
▼ The first pulse of the signal is not erased (7th pulse)
See figure). The delay circuit 40 is the ALH of the memory 10 at the time of previous write.
This is for gaining time until the output of the selector 50 is input to the terminal. When the input to the ▲ ▼ terminal of the FIFO 20, 25 is L, the address signal and the data signal output from the controller A are written in the storage areas of the FIFO 20, 25, respectively.
前ライト終了検知回路42へは、▲▼信号と
▲▼信号が入力され、これら入力信号に基づ
き前ライト終了時を規定する。この場合は、▲
▼信号の立上がり時と▲▼信号の立上がり
時の中間時刻、すなわち▲▼信号の立上がり
時を前ライト終了時としており、この時点で前ライト終
了信号WREDを出力する。A ▲ ▼ signal and a ▲ ▼ signal are input to the pre-write end detection circuit 42, and the pre-write end time is defined based on these input signals. In this case, ▲
An intermediate time between the ▼ signal rising edge and the ▲ ▼ signal rising edge, that is, the ▲ ▼ signal rising edge is set as the end of the previous write, and at this time point, the previous write end signal WRED is output.
▲▼生成回路43には、FIFO20からの▲▼信
号、WRED信号およびフィードバック信号が入力され、そ
の内部は複数の論理ゲート、フリップフロップ等で構成
されている。▲▼信号(第6図(h)、第7図
(m))は前述したように、FIFO20のエンプティフラグ
であり、前述した前ライト、後ライトが行なわれている
間はH状態にある。▲▼生成回路43は、WRED信号
の立上がり、すなわち▲▼信号の立上がりで
立下がり、▲▼信号の立下がりで立上がる▲
▼信号を形成する。すなわち▲▼信号は、前ライ
ト終了時から後ライト終了時までの間、Lになる。The ▼ signal, the WRED signal, and the feedback signal from the FIFO 20 are input to the ▲ ▼ generation circuit 43, and the inside thereof is composed of a plurality of logic gates, flip-flops, and the like. As described above, the signal (FIG. 6 (h), FIG. 7 (m)) is the empty flag of the FIFO 20, and is in the H state while the above-mentioned front write and rear write are performed. The ▲ ▼ generation circuit 43 rises when the WRED signal rises, that is, when the ▲ ▼ signal rises, and rises when the ▲ ▼ signal falls.
▼ Form a signal. That is, the signal ▲ ▼ becomes L from the end of the front write to the end of the rear write.
セレクタ50は、▲▼信号および▲▼
信号の状態に応じてA10H信号およびその反転信号を切替
えてALH信号として出力するものであり、その出力ALHに
は、▲▼信号がLのとき(略前ライト中)は
信号A10Hの非反転出力が選択され、▲▼信号がL
のとき(前ライト終了時から後ライト終了時まで)は信
号A10Hの反転出力が選択され、さらに▲▼信
号および▲▼信号がHのときにはメモリ10の優先
領域に対応してLが選択される。すなわち、このセレク
タ50によって後ライト時に前ライト時と逆側の領域を選
択するようにしている。このセレクタ50から出力される
ALH信号はメモリ10のH側領域およびL側領域を選択す
るALH端子に入力される。Selector 50 controls ▲ ▼ signal and ▲ ▼
The A10H signal and its inverted signal are switched according to the state of the signal and output as the ALH signal. The output ALH is a non-inverted output of the signal A10H when the ▲ ▼ signal is L (during approximately before writing). Is selected and the ▲ ▼ signal is L
In this case (from the end of the previous write to the end of the subsequent write), the inverted output of the signal A10H is selected, and when the ▲ ▼ and ▲ ▼ signals are H, L is selected corresponding to the priority area of the memory 10. . That is, the selector 50 selects the area on the opposite side to the area on the side of the front writing at the time of the rear writing. Output from this selector 50
The ALH signal is input to the ALH terminal that selects the H side area and the L side area of the memory 10.
次に、コントローラBから出力される読出し要求信号
▲▼は、直接メモリ10の▲▼端子および端
子に入力されている。したがって、▲▼信号がLに
なっている期間には、必ずメモリ10のH/L領域のいずれ
かから記憶データが読出される。すなわち、読出しに関
しては待ち時間は存在しない。読出しの際、H/L領域の
いずれを選択するかは、システムA側状態判断回路47か
ら出力されるARH信号(第6図(n)、第7図(o))
によって決定される。このシステムA側状態判断回路47
の論理構成は、後で詳述するが、その概略を簡単に述べ
ておく。すなわち、この判断回路47の出力ARHは、▲
▼信号がLに立下がるときの▲▼信号およびAL
H信号の状態によって決定され、その真理値表を下記第
2表に示す。Next, the read request signal ▲ ▼ output from the controller B is directly input to the ▲ ▼ terminal and the terminal of the memory 10. Therefore, the stored data is always read from any of the H / L areas of the memory 10 while the signal (L) is L. That is, there is no waiting time for reading. Which of the H / L areas is selected for reading is determined by the ARH signal output from the system A side state determination circuit 47 (FIG. 6 (n), FIG. 7 (o)).
Determined by This system A side state judgment circuit 47
The logical configuration of will be described in detail later, but its outline will be briefly described. That is, the output ARH of this judgment circuit 47 is
▼ ▼ signal and AL when the signal falls to L
The truth table determined by the state of the H signal is shown in Table 2 below.
そして、ARH信号がHのときは、メモリ10のH側領域
が選択され、Lのときはメモリ10のL側領域が選択され
る。 When the ARH signal is H, the H side area of the memory 10 is selected, and when the ARH signal is L, the L side area of the memory 10 is selected.
後ライト待条件生成回路44は、FIFO20,25からメモリ1
0に対する後ライトが、コントローラBのメモリ10に対
するアクセスによってウエイトさせられる条件の一部を
生成するものであり、▲▼信号、ARH信号およびA10
H信号を入力信号として、▲▼信号を出力する
(第6図(j))。▲▼信号は下記第3表に示す
ウエイト条件が成立したときLになる。The post-write wait condition generation circuit 44 stores the memory 1 from the FIFO 20, 25.
The post-write to 0 generates a part of the conditions waited for by the access to the memory 10 of the controller B. The ▲ ▼ signal, the ARH signal and the A10 signal.
The H signal is used as an input signal and the signal is output (Fig. 6 (j)). The signal ▲ ▼ becomes L when the weighting conditions shown in Table 3 below are satisfied.
すなわち上表において、A10Hの反転信号は後ライトの
メモリ領域を表わしているため、A10Hの反転とARH(コ
ントローラB側のアクセス領域)とが一致したときであ
って、かつ▲▼信号がLのとき(コントローラBが
アクセス中)に、後ライトを待たせる必要があるとし
て、▲▼信号をLにする。 That is, in the above table, the inversion signal of A10H represents the memory area for post-write, so when the inversion of A10H and ARH (access area on the controller B side) match, and the ▲ ▼ signal is L At this time (while the controller B is accessing), it is necessary to make the post-write wait, and the signal ▼ is set to L.
この▲▼信号はフリップフロップ45,46のD端
子に入力されている。フリップフロップ45のクロック端
子にはシステムクロックCKの反転信号が入力され、また
フリップフロップ46のクロック端子にはシステムクロッ
クCKの非反転信号が入力されており、したがって、これ
らフリップフロップ45,46によって▲▼信号を半
クロックCKずれたタイミングで2回ラッチし、それらの
出力をゲート48に入力している。The signal ▲ ▼ is input to the D terminals of the flip-flops 45 and 46. The inverted signal of the system clock CK is input to the clock terminal of the flip-flop 45, and the non-inverted signal of the system clock CK is input to the clock terminal of the flip-flop 46. ▼ The signals are latched twice at a timing shifted by half a clock CK, and their outputs are input to the gate 48.
ゲート48では、▲▼信号の反転信号とフリップ
フロップ45,46の各出力のアンドをとり、その反転信号
を▲▼信号として出力する(第6図(k)、第
7図(l))。すなわち、このゲート48によって、後ラ
イト期間中にのみLになる▲▼信号が形成さ
れ、出力される。The gate 48 takes the AND signal of the inverted signal of the signal and the outputs of the flip-flops 45 and 46, and outputs the inverted signal as the signal (FIG. 6 (k), FIG. 7 (l)). That is, the gate 48 forms and outputs a signal which becomes L only during the post-write period.
この▲▼信号は、ゲート49,52,53に入力され
ている。ゲート49では、▲▼信号の反転信号と
▲▼信号の反転信号とのノアをとり、そのノ
ア出力▲▼をメモリ10の▲▼端子に入力す
る。すなわち、ゲート49によって、前ライト時(▲
▼)と後ライト時(▲▼)に▲▼
信号はLとなり、このときメモリ10を左側からチップセ
レクトするようにする。This ▲ ▼ signal is input to the gates 49, 52 and 53. The gate 49 takes the NOR of the inverted signal of the ▲ ▼ signal and the inverted signal of the ▲ ▼ signal, and inputs the NOR output ▲ ▼ to the ▲ ▼ terminal of the memory 10. That is, by the gate 49, at the time of the front light (▲
▼) and after light (▲ ▼) ▲ ▼
The signal becomes L, and at this time, the memory 10 is chip-selected from the left side.
▲▼信号はシステムA側状態判断回路47にも入
力されている。A側状態判断回路47は、前述したように
入力される▲▼信号およびALH信号に基づきコン
トローラA側のアクセス状態を▲▼信号がLに立下
がる時点に判断し、この判断に対応してコントローラB
側がメモリ10のどちらの領域(H/L領域)を選択するか
を決定し、その選択結果を示す信号ARH信号を出力する
(第6図(n))。その真理値表は第2表に示した通り
である。なお、ARH信号は、ALH信号と同様、Hのときメ
モリ10のH側領域が選択され、Lのときメモリ10のL側
領域が選択される。The signal ▲ ▼ is also input to the system A side state determination circuit 47. The A-side state determination circuit 47 determines the access state on the controller A side based on the ▲ ▼ signal and the ALH signal input as described above at the time when the ▲ ▼ signal falls to L, and the controller responds to this determination. B
The side determines which area (H / L area) of the memory 10 to select, and outputs a signal ARH signal indicating the selection result (FIG. 6 (n)). The truth table is as shown in Table 2. As with the ALH signal, when the ARH signal is H, the H side area of the memory 10 is selected, and when the ARH signal is L, the L side area of the memory 10 is selected.
ところで、このシステムA側状態判断回路47は、第2
表にも示すようにL側領域を優先としており、このため
▲▼信号の立下がりでコントローラA側が非アクセ
ス中だと判断した場合(▲▼信号がH)、即、L
側領域に対してアクセスするようになっている。したが
って、コントローラAの後ライトがL側領域であるとす
るときに、コントローラBからの読出し要求信号▲
▼の立下がりと後ライトの開始が同時になった場合、同
じL側領域に対して読出しと後ライトが行なわれる可能
性がある。これを防止するために、2個のフリップフロ
ップ45,46を設け、該フリップフロップ45,46によって▲
▼信号を時間をずらせて、2個ラッチし、これら
ラッチ信号をゲート48に入力するようにしている。By the way, the system A side state determination circuit 47 is
As shown in the table, the L side area is prioritized. Therefore, when it is determined that the controller A side is not accessing due to the fall of the ▲ ▼ signal (▲ ▼ signal is H), immediately L
It is designed to access the side area. Therefore, when the rear write of the controller A is in the L side area, the read request signal from the controller B is
When the falling edge of ▼ and the start of the post-write occur at the same time, there is a possibility that the read and the post-write are performed on the same L-side area. In order to prevent this, two flip-flops 45, 46 are provided, and the flip-flops 45, 46
▼ Two signals are latched by shifting the time, and these latched signals are input to the gate 48.
ゲート52,53にはパルス発生器51から若干位相のずれ
たパルス信号がそれぞれ入力されており、各ゲート52,5
3の他方端子に入力される▲▼信号によって前
記パルス信号の通過、遮断が切替えられる。すなわち、
▲▼信号がLのときに、各ゲート52,53からパ
ルス発生器51からのパルス出力が出力される。The gates 52 and 53 are respectively supplied with pulse signals with a slight phase shift from the pulse generator 51.
A pulse signal input to the other terminal of 3 switches between passage and interruption of the pulse signal. That is,
(2) When the signal is L, the pulse output from the pulse generator 51 is output from each gate 52, 53.
ゲート52を通過したパルス信号はFIFO20,25の▲
▼端子(第6図(d))に入力される。したがって、FI
FO20,25からは前ライトのときに記憶したアドレスおよ
びデータが▲▼信号がLになったときパルス発
生器51の出力パルスにしたがって出力される。FIFO20か
ら出力されるアドレスはメモリ10のAD端子に入力され、
FIFO25から出力されるデータはメモリ10のDT端子に入力
される。The pulse signal that has passed through the gate 52 is
Input to the terminal (Fig. 6 (d)). Therefore, FI
Addresses and data stored during the previous write are output from the FOs 20 and 25 in accordance with the output pulse of the pulse generator 51 when the signal ▼ becomes L. The address output from the FIFO20 is input to the AD terminal of the memory 10,
The data output from the FIFO 25 is input to the DT terminal of the memory 10.
一方、ゲート53を通過したパルス信号はゲート54に入
力される。ゲート54では、ゲート41の出力とゲート53の
出力のノアをとって、メモリ10の▲▼端子に入力す
る。すなわち、ゲート54は、前ライトを示すゲート41の
出力と後ライト中を示すゲート53の出力とのノアをとる
ことで、前ライト、後ライトに必要なパルス列をメモリ
10の▲▼端子に入力する。On the other hand, the pulse signal that has passed through the gate 53 is input to the gate 54. The gate 54 takes the NOR of the output of the gate 41 and the output of the gate 53 and inputs it to the ▲ ▼ terminal of the memory 10. That is, the gate 54 stores the pulse train necessary for the front write and the rear write by taking the NOR of the output of the gate 41 indicating the front write and the output of the gate 53 indicating the during the rear write.
Input to ▲ ▼ terminal of 10.
なお、この場合、後ライトはハードウェア構成のFIFO
20,25からの出力制御であるため、前ライト(▲
▼〜▲▼)よりその長さ(▲
▼)が極端に短くなっており、この▲▼信号が
Lになっている期間中に▲▼信号と同じ数のパルス
信号が出力される。これはシステムAがライトした数だ
けのデータをFIFO20からリードしたときに▲▼が出
力されるが、その▲▼によって▲▼がH,す
なわちパルス発生器からのパルスを遮断するからであ
る。In this case, the post-write is the hardware configured FIFO.
Since it is output control from 20,25, front light (▲
From ▼ to ▲ ▼) its length (▲
▼) is extremely short, and the same number of pulse signals as the ▲ ▼ signals are output during the period when the ▲ ▼ signal is L. This is because ▲ ▼ is output when the number of data written by the system A is read from the FIFO 20, and ▲ ▼ causes H to stop, that is, the pulse from the pulse generator.
以上が制御ロジック部30の構成である。 The above is the configuration of the control logic unit 30.
次に、第6図に示すタイムチャートにしたがって、制
御ロジック部30の全体的動作について説明する。なお、
この第6図に関する動作説明は、時間に関しては必ずし
も厳密でない。Next, the overall operation of the control logic unit 30 will be described with reference to the time chart shown in FIG. In addition,
The explanation of the operation relating to FIG. 6 is not always exact with respect to time.
時刻t1において、一発目の▲▼信号がコントロ
ーラAから出力される(第6図(a))。前ライト区間
発生回路31は、この一発目の▲▼信号のL状態をク
ロックCKの立下がりでトリガし、その後コントローラA
がアクセスしている所定時間TAの間このL状態を保持
する▲▼信号を出力する。この▲
▼信号はフリップフロップ34,36によって1クロック分
遅延され、さらに遅延回路40によって数クロック分遅延
された後ゲート41に入力される。ゲート41には▲▼
信号も入力されている。ゲート41の出力はFIFO20,25の
▲▼端子に入力されるとともに、ゲート54を介して
メモリ10の▲▼端子に入力される(第6図(c),
(e))。▲▼,▲▼はそれぞれライトネーブ
ル端子である。これとほとんど同時に(略時間t1)▲
▼信号はゲート49を介してメモリ10の▲
▼端子(第6図(d))に入力され、左側からのチッ
プセレクトが可能な状態になる。At the time t 1 , the first A signal is output from the controller A (Fig. 6 (a)). The previous write section generation circuit 31 triggers the L state of this first-shot signal at the falling edge of the clock CK, and then the controller A
Outputs a signal that holds this L state for a predetermined time TA during the access. This ▲
The signal is delayed by one clock by the flip-flops 34 and 36, further delayed by several clocks by the delay circuit 40, and then input to the gate 41. At gate 41 ▲ ▼
Signals are also being input. The output of the gate 41 is input to the ▲ ▼ terminals of the FIFOs 20 and 25, and is also input to the ▲ ▼ terminal of the memory 10 via the gate 54 (FIG. 6 (c),
(E)). ▲ ▼ and ▲ ▼ are write enable terminals, respectively. Almost at the same time (approximately time t 1 ) ▲
▼ Signal is sent to the memory 10 via the gate 49 ▲
Input to the terminal (Fig. 6 (d)), and the chip select from the left side becomes possible.
さらに、これと同時に、システムB側状態判断回路36
は、 がそれぞれ立下がった時点における▲▼信号および
ARH信号の状態に基づいた多数決論理によってコントロ
ーラB側の状態を判断し、この判断結果に基づきメモリ
10のH/L領域のいずれを選択するかを示す信号を出力す
る。この場合は、時刻t1近傍において▲▼信号は
H,ARH信号はLであるため、優先側のL側領域が選択さ
れるようA10H信号はLになる。このA10H信号はセレクタ
50を介してメモリ10のALH端子に入力される。この結
果、時刻t1〜時刻t7の期間中は、システムコントロー
ラAの▲▼信号に同期してコントローラAのデータ
がメモリ10のL側領域に書込まれるとともに、コントロ
ーラAのアドレスがFIFO20に書込まれ、さらにコントロ
ーラAのデータがFIFO25に書込まれる、前ライト処理が
実行される。Further, at the same time, the system B side state determination circuit 36
Is Signal at the time of each fall and
The state of the controller B side is judged by the majority logic based on the state of the ARH signal, and the memory is judged based on this judgment result.
It outputs a signal indicating which of the 10 H / L areas is selected. In this case, the ▲ ▼ signal is near the time t 1.
Since the H and ARH signals are L, the A10H signal becomes L so that the L side area on the priority side is selected. This A10H signal is a selector
It is input to the ALH terminal of the memory 10 via 50. As a result, during the period from time t 1 to time t 7 , the data of the controller A is written in the L side area of the memory 10 in synchronization with the signal ▼ of the system controller A, and the address of the controller A is stored in the FIFO 20. A pre-write process is executed in which the data of the controller A is written and the data of the controller A is written in the FIFO 25.
なお、この前ライト処理の期間中にも、コントローラ
Bのアクセス(読出し)は行なわれており、システムA
側状態判断回路47では、▲▼信号の各立下がり時点
(時刻t2,t3,t4,t5,t8)でコントローラA側のアクセ
ス状態を判定し、この判定結果に基づきコントローラB
がアクセスすべきメモリ10の領域を判定している。この
場合、前ライトの期間中に、コントローラAはメモリ10
のL側領域を選択しているため、この前ライトの期間中
におけるコントローラBのアクセス対象は、ARH信号か
らも判るように、H側領域となる。Note that the controller B is still accessing (reading) during this pre-write processing, and the system A
In side state determination circuit 47, ▲ ▼ at each fall time of the signal (time t 2, t 3, t 4 , t 5, t 8) determines the access status of the controller A side controller B based on the determination result
Determines which area of memory 10 to access. In this case, during the period of the previous write, the controller A uses the memory 10
Since the L side area is selected, the access target of the controller B during the previous write is the H side area, as can be seen from the ARH signal.
その後、前ライト処理が終了すると、これは▲
▼信号の立上がりとして前ライト終了検出回路42で
検出され、該回路42からWRED信号が出力される(時刻t
7)。After that, when the pre-write process ends, this
▼ The preceding write end detection circuit 42 detects the rising of the signal, and the WRED signal is output from the circuit 42 (time t
7 ).
このWRED信号によって、▲▼生成回路43から出
力される▲▼信号は、時刻t7でLに立下がる。
セレクタ50は、前述したように、▲▼信号がLの
期間中はA10H信号の反転信号を出力するため、時刻t7
〜t9の期間中ALH信号はHとなる。With this WRED signal, the signal {circle around (1)} output from the circuit {circle around (43)} falls to L at time t 7 .
As described above, the selector 50 outputs the inverted signal of the A10H signal during the period when the signal ▲ ▼ is L, and therefore, the time t 7
The ALH signal becomes H during the period from t 9 to t 9 .
また、この場合は、後ライトを行なおうとするメモリ
10のH側領域(A10H)に対してコントローラBが読出し
アクセス中であるため待ち時間(TC)が存在してい
る。このため、後ライト待条件生成回路44、フリップフ
ロップ45,46およびゲート48の構成によって、待ち時間
TCが存在した後、後ライトが開始される。すなわち、
時刻t9に、▲▼信号は▲▼信号の立上が
りによってLに立下がり、その後の時刻t9に▲
▼信号は▲▼信号の立下がりに起因したPFD信号
の立上がりによってHに立上がる。この時刻t8〜t9の
期間が後ライト期間であり、この期間中FIFO20,25の▲
▼端子(リードイネーブル)には、▲▼信
号によってパルス発生器51の出力パルスが入力されると
ともに(第6図(d))、メモリ10の▲▼端子(ラ
イトイネーブル)には同パルス発生器51の出力パルスが
入力される。さらに、メモリ10の▲▼端子も▲
▼信号によってチップセレクト状態となってい
る。In this case, the memory that is going to write after
There is a waiting time (TC) because the controller B is performing read access to the H side area (A10H) of 10. Therefore, after the waiting time TC exists, the post-write is started by the configuration of the post-write waiting condition generation circuit 44, the flip-flops 45 and 46, and the gate 48. That is,
At time t 9 , the ▲ ▼ signal falls to L due to the rising of the ▲ ▼ signal, and then at time t 9 ▲
The ▼ signal rises to H by the rise of the PFD signal caused by the fall of the ▲ ▼ signal. This period of time t 8 ~t 9 is the rear light period, during this period FIFO20,25 ▲
The output pulse of the pulse generator 51 is input to the ▼ terminal (read enable) by the ▲ ▼ signal (FIG. 6 (d)), and the pulse generator is connected to the ▲ ▼ terminal (write enable) of the memory 10. Output pulse of 51 is input. Furthermore, the ▲ ▼ terminal of the memory 10 is also ▲
▼ Chip select state by signal.
したがって、この時刻t8〜t9の期間中には、FIFO20
の出力、すなわち、前ライトのときコントローラAから
出力されたアドレス信号、がメモリ10のAD端子に入力さ
れ、かつFIFO25の出力、すなわち、前ライトのときコン
トローラAから出力されたデータがメモリ10のDT端子に
入力され、さらにこのときALH端子はHとなっているた
め、結果的にメモリ10のH側領域に前ライト時にコント
ローラAから出力されたデータが書込まれることにな
る。そして、この後ライトの結果、メモリ10のL側領域
とH側領域との記憶内容は全く同一となる。Therefore, during this period of time t 8 ~t 9, FIFO20
Output, that is, the address signal output from the controller A at the time of the previous write is input to the AD terminal of the memory 10, and the output of the FIFO 25, that is, the data output from the controller A at the time of the previous write is stored in the memory 10. Since it is input to the DT terminal and the ALH terminal is H at this time, as a result, the data output from the controller A at the time of the previous write is written in the H side area of the memory 10. Then, as a result of the subsequent writing, the stored contents of the L side area and the H side area of the memory 10 become exactly the same.
第7図は、▲▼信号の立下がりとコントロ
ーラBの▲▼信号の立下がりが同時のときのタイム
チャートを示し、これは先の第4図に示したものの前ラ
イト開始時の詳細タイムチャートに相当する。すなわ
ち、第7図は第6図の時間軸を大きく引き延ばしたもの
である。▲▼信号は前述したように、コントローラ
Bのリード区間を示し、コントローラBによって全デー
タをリードする間Lになっている。FIG. 7 shows a time chart when the falling edge of the ▲ ▼ signal and the falling edge of the ▲ ▼ signal of the controller B are at the same time. This is a detailed time chart at the start of the previous write, which is shown in FIG. 4 above. Equivalent to. That is, FIG. 7 is a drawing obtained by greatly extending the time axis of FIG. As described above, the signal ▲ ▼ indicates the read section of the controller B, and is set to L while the controller B reads all the data.
第7図においては、時刻t1に▲▼信号と
▲▼信号とがほとん同時に立下がっている。この場
合は▲▼信号の立下がりが▲▼信号の立
下がりより若干早いとする。In FIG. 7, at time t 1 , the ▲ ▼ signal and the ▲ ▼ signal fall almost at the same time. In this case, the fall of the ▲ ▼ signal is assumed to be slightly earlier than the fall of the ▲ ▼ signal.
この場合、システムA側状態判断回路47では、この時
刻t1に先の第2表の論理に基づいてARH信号を決定し、
出力する。この場合、時刻t1に▲▼信号はHで
あるので、ARH信号はL状態を保持する。他方、▲
▼信号が立下がった時点におけるフリップフロッ
プ35の出力、すなわちABC1信号は、▲▼信号
の立下がりが▲▼信号の立下がりより若干早いので
先の第1表の論理によってLになる(∵▲▼が
H)。In this case, the system A side state determination circuit 47 determines the ARH signal based on the logic of the above Table 2 at this time t 1 .
Output. In this case, since the signal ▼ is H at time t 1 , the ARH signal holds the L state. On the other hand, ▲
▼ The output of the flip-flop 35 at the time when the signal falls, that is, the ABC1 signal, becomes LOW according to the logic in Table 1 above because the ▲ ▼ signal falls slightly earlier than the ▲ ▼ signal falls (∵ ▲ ▼ is H).
また、▲▼信号はメモリ10の▲▼端子およ
び端子に直接入力されているので、▲▼信号の立
下がりと同時にこの場合はメモリ10のL側領域に対して
読出しアクセスが開始される。Further, since the ▲ ▼ signal is directly input to the ▲ ▼ terminal and the terminal of the memory 10, the read access to the L side area of the memory 10 is started at the same time when the ▲ ▼ signal falls.
上記▲▼信号の立下がりから半クロック遅
れた時点(時刻t2)において、フリップフロップ37は
再びゲート33の出力SBLAをラッチする。この時点t2に
おいては、ゲート33に入力される▲▼信号およびAR
H信号はそれぞれL,Lとなっているので、ABC2信号は時刻
t2でHに立上がる。同様にして、ABC3信号は、時刻t2
よりさらに半クロックCK後の時刻t3に、Hに立上が
る。したがって、これら、ABC1〜ABC3信号の多数決論理
をとったA10H信号は時刻t3にHに立上がる。The flip-flop 37 latches the output SBLA of the gate 33 again at a time point (time t 2 ) after a half clock delay from the fall of the signal ▼. At this time t 2 , the signal and the AR input to the gate 33 and AR
Since the H signal is L and L, respectively, the ABC2 signal rises to H at time t 2 . Similarly, the ABC3 signal has a time t 2
It rises to H at time t 3 after half a clock CK. Therefore, they, A10H signals taking a majority logic of the ABC1~ABC3 signal rises at time t 3 in H.
他方、ゲート41では▲▼信号を遅延回路40
で数クロック分遅延したものの反転信号と▲▼信号
の反転信号のナンド論理をとり、その出力をFIFO20,25
の▲▼端子およびメモリ10の▲▼端子に入力し
ている。したがって、この場合には、端子▲▼およ
び▲▼に対する入力がLに立下がる時刻t4時点か
ら、コントローラAのデータがFIFO25およびメモリ10に
書込まれ、かつコントローラAのアドレスがFIFO20に書
込まれる、前ライトが開始される。コントローラAのデ
ータが書込まれる領域は、コントローラBのアクセス領
域(L領域)と逆のH領域である。On the other hand, the gate 41 delays the ▲ ▼ signal to the delay circuit 40.
The NAND logic of the inverted signal of the signal delayed by several clocks and the inverted signal of the ▲ ▼ signal is taken, and the output is FIFO20,25.
Input to the ▲ ▼ terminal of and the ▲ ▼ terminal of the memory 10. Therefore, in this case, the data of the controller A is written in the FIFO 25 and the memory 10 and the address of the controller A is written in the FIFO 20 from the time t 4 when the inputs to the terminals ▲ ▼ and ▲ ▼ fall to L. The front light is started. The area in which the data of the controller A is written is the H area, which is the opposite of the access area (L area) of the controller B.
このように、システムB側状態判断回路32の構成によ
れば、相手側コントローラのステータス判断が同時にな
された場合においても同一領域に両コントローラA,Bの
アクセスが行なわれることは決してない。なお、この例
では▲▼信号の立下がりが▲▼信号の立
下がりより若干早い場合について示したが、逆の場合で
もアクセスが衝突することはなく、また全く同時の場合
であってもアクセスが衝突することはない。As described above, according to the configuration of the system B side state determination circuit 32, both controllers A and B are never accessed to the same area even when the status determination of the partner controller is made at the same time. In this example, the case where the falling edge of the ▲ ▼ signal is slightly earlier than the falling edge of the ▲ ▼ signal is shown. However, the access does not collide even in the opposite case, and the access is performed even at the same time. There is no collision.
第8図は▲▼信号の立下がりとコントロー
ラBの▲▼信号の立下がりが同時のときのタイムチ
ャートを示し、これは先の第5図に示したものの前ライ
ト開始時の詳細タイムチャートに相当する。FIG. 8 shows a time chart when the falling edge of the ▲ ▼ signal and the falling edge of the ▲ ▼ signal of the controller B are the same. This is a detailed time chart at the start of the previous write, which is shown in FIG. 5 above. Equivalent to.
第8図において、▲▼信号がLに立下がる
時刻t1においてABC1信号は▲▼信号がHであるた
めLである(第1表参照)。したがって、時刻t1にお
いては多数決回路から出力されるA10H信号もLであり、
またALH信号もLである。In FIG. 8, the ABC1 signal is L at the time t 1 when the signal ▼ falls to L because the signal ▼ is H (see Table 1). Therefore, at time t 1 , the A10H signal output from the majority decision circuit is also L,
The ALH signal is also L.
時刻t2における▲▼信号の立下がりに伴ないシ
ステムA側状態判断回路47は入力されているALH信号に
基づき相手側コントローラAがL側領域をアクセスして
いると判断し、ARH信号を逆のHに立上げる。この結
果、時刻t2における▲▼信号の立下がりと同時
に、コントローラBによる読出しアクセスがメモリ10の
H側領域に対して開始される。At the time t 2, the system A side state judgment circuit 47 judges that the partner side controller A is accessing the L side area based on the inputted ALH signal, and reverses the ARH signal. Start up to H. As a result, the read access by the controller B is started to the H side area of the memory 10 at the same time as the falling of the signal at the time t 2 .
他方、システムB側状態判断回路32では、▲
▼信号の立下がりより半クロック遅れた時刻t2の時
点およびそれよりさらに半クロック遅れた時点t3でも
相手側コントローラBの状態を判断し、自コントローラ
Aが選択すべきメモリ領域を示す信号ABC2,ABC3を出力
するが、この場合、▲▼がH(コントローラBがア
クセスしていない)であるか、時刻t2においてコント
ローラBはメモリのH側領域に対して実際の読出しアク
セスを開始している。このため、ABC2信号およびABC3信
号もL状態のままで、この結果A10H信号およびALH信号
もL状態のままである。On the other hand, in the system B side state judgment circuit 32,
▼ A signal ABC2 indicating the memory area to be selected by the self controller A at the time t 2 which is delayed by a half clock from the falling edge of the signal and at the time t 3 which is delayed by a half clock from the falling edge of the signal. , ABC3 is output, but in this case, ▲ ▼ is H (the controller B is not accessing) or the controller B starts the actual read access to the H side area of the memory at time t 2 . There is. Therefore, the ABC2 signal and the ABC3 signal also remain in the L state, and as a result, the A10H signal and the ALH signal also remain in the L state.
他方、メモリ10の▲▼端子およびFIFO20,25の▲
▼端子は▲▼信号の立下がりに(時刻t
3)から所定時間後(時刻t4)にLに立下がる。On the other hand, ▲ ▼ terminal of memory 10 and ▲ ▼ of FIFO20,25
▼ terminal is at the falling edge of ▲ ▼ signal (time t
It falls to L after a predetermined time (time t 4 ) from 3 ).
この結果、時刻t4からコントローラAのデータはメ
モリ10のL側領域に書込まれるとともに、FIFO25に書込
まれ、またコントローラAのアドレスがFIFO20に書込ま
れることになる。As a result, from time t 4, the data of the controller A is written in the L side area of the memory 10 and the FIFO 25, and the address of the controller A is written in the FIFO 20.
このように、▲▼信号の立下がりが▲
▼信号の立下がりと同時になった場合においてもメモリ
アクセス領域の衝突を確実に回避できる。In this way, the falling of the ▲ ▼ signal is ▲
(C) The collision of the memory access area can be reliably avoided even when the signal falls at the same time.
なお、RD信号の立下がりが▲▼信号の立下
がりと同時になった場合の動作は第8図とほとんど同じ
であり、この場合もメモリアクセス領域の衝突を回避す
ることができる。The operation when the falling edge of the RD signal coincides with the falling edge of the ▼ signal is almost the same as in FIG. 8, and in this case also, the collision of the memory access area can be avoided.
このように、この実施例による構成によれば、コント
ローラA、コントローラBが異なるクロックで動作して
いる場合に、コントローラA側による第1及び第2の判
断に使用するクロックがコントローラB側による第3の
判断時刻と位相が無関係の場合においても、同一メモリ
領域に対するアクセスの衝突を好適に回避することがで
きる。特に、前ライト開始時の衝突は多数決回路39等の
構成により、また後ライト開始時での衝突はフリップフ
ロップ45,46により回避することができる。As described above, according to the configuration of this embodiment, when the controller A and the controller B are operating at different clocks, the clock used for the first and second determinations by the controller A side is the clock by the controller B side. Even when the determination time of 3 is irrelevant to the phase, access collision to the same memory area can be preferably avoided. Particularly, the collision at the start of the front write can be avoided by the configuration of the majority circuit 39 and the collision at the start of the rear write can be avoided by the flip-flops 45, 46.
なお、上記実施例では、メモリ10は最上位ビットアド
レスによって2分割する場合を示したが、メモリの2重
化構成として、最上位以外の例えば最下位ビットによっ
て2分割するようにしてもよく、さらに2つの異なるチ
ップから成るメモリを用いるようにしてもよい。また、
制御ロジック部30の論理構成も、これらと同等の機能を
達成するものであれば他の任意の論理構成としてもよ
い。さらに、バッファ回路としてのFIFOの代わりに、通
常のフリップフロップの集合体を用いてもよい。Although the memory 10 is divided into two by the most significant bit address in the above embodiment, the memory 10 may be divided into two by the least significant bit other than the most significant bit as a duplicated structure of the memory. Further, a memory composed of two different chips may be used. Also,
The logical configuration of the control logic unit 30 may be any other logical configuration as long as it achieves a function equivalent to these. Furthermore, instead of the FIFO as the buffer circuit, a normal aggregate of flip-flops may be used.
以上説明したように、この発明によれば、メモリアク
セス期間が異なり、かつ異なるシステムクロックが用い
られているシステムコントローラ間のデータ伝送におい
て、2つのシステムコントローラをウエイトさせること
なく、同一メモリ領域に対するアクセスの衝突を好適に
回避することができ、これにより、データが各システム
コントローラのアクセス期間の途中で途切れるといった
ことがなくなり、これにより受信側のシステムコントロ
ーラは送信側のコントローラの同時刻および同内容のデ
ータを受信でき、もってエラーのない正確なデータ伝送
をなし得る。As described above, according to the present invention, in data transmission between system controllers having different memory access periods and using different system clocks, access to the same memory area can be performed without waiting two system controllers. It is possible to preferably avoid the collision of data, so that the data will not be interrupted in the middle of the access period of each system controller, whereby the system controller on the receiving side can receive the same time and contents of the controller on the transmitting side. The data can be received, and thus the error-free and accurate data transmission can be achieved.
第1図はこの発明の一実施例を示すブロック図、第2図
は上記実施例装置の内部回路構成の詳細ブロック図、第
3図乃至第5図は上記実施例装置の作用を概念的に示す
タイムチャート、第6図乃至第8図はそれぞれ実施例装
置のより詳細な作用を説明するためのタイムチャートで
ある。 A,B……システムコントローラ、10……メモリ(デュア
ルポートメモリ)、20,25……バッファ回路(FIFO)、3
0……制御ロジック部。FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a detailed block diagram of an internal circuit configuration of the above-mentioned embodiment device, and FIGS. 3 to 5 are conceptual diagrams showing the operation of the above-mentioned embodiment device. The time charts shown in FIGS. 6 to 8 are time charts for explaining more detailed actions of the embodiment apparatus. A, B: System controller, 10: Memory (dual port memory), 20,25: Buffer circuit (FIFO), 3
0 …… Control logic section.
Claims (2)
れている第1のシステムコントローラと第2のシステム
コントローラとのデータ伝送であって、第1のシステム
コントローラからこの第1のシステムコントローラの非
アクセス時間より短いアクセス時間をもつ第2のシステ
ムコントローラへデータを伝送する非同期データ伝送装
置において、 前記第1のシステムコントローラから出力されるデータ
を一時記憶する読み書き可能な第1のメモリと、 前記第1および第2のシステムコントローラからのアク
セスに対して所定の優先順位が予め設定され、前記第1
のシステムコントローラの出力データまたは前記第1の
メモリの一時記憶データが書込まれるとともに、この書
込みデータを前記第2のシステムコントローラへ読出
す、並列構成の第2および第3のメモリと、 前記第1のシステムコントローラからの書込み要求の開
始に伴ない第2のシステムコントローラによる第2およ
び第3のメモリへのアクセス状態を少なくとも3回、時
間をずらせて判定し、少なくとも3つの判定結果を得る
第1の判定手段と、 この第1の判定手段の判定結果の多数決論理をとる多数
決手段と、 この多数決手段の出力および前記優先順位に基づき前記
第2および第3のメモリのうちの前記第2のシステムコ
ントローラがアクセスしていないが側のメモリを選択す
る第1の選択手段と、 前記第1のシステムコントローラからの書込み要求に応
答して前記第1の選択手段の選択結果に対応するメモリ
および前記第1のメモリへ第1のシステムコントローラ
の出力データを同時に書込む第1の書込み制御を行なう
第1の書込み手段と、 前記第1の書込み制御終了に伴ない前記第2のシステム
コントローラによる第2および第3のメモリへのアクセ
ス状態を少なくとも2回、時間をずらせて判定する第2
の判定手段と、 この第2の判定手段の判定結果に応じて前記第1の選択
手段が選択したメモリの他方のメモリへ前記第1のメモ
リの記憶データを書込む第2の書込み制御を行なう第2
の書込み手段と 前記第2のシステムコントローラからの読出し要求の開
始時点で第1のシステムコントローラまたは第1のメモ
リからの書込みによる第2および第3のメモリへのアク
セス状態を判定する第3の判定手段と、 この第3の判定手段の出力および前記優先順位に基づき
前記第2および第3のメモリのうちの前記第1のシステ
ムコントローラがアクセスしていない側のメモリを選択
する第2の選択手段と、 前記第2のシステムコントローラからの読出し要求に応
答して前記第2の選択手段の選択結果に対応するメモリ
から記憶データを読出し第2のシステムコントローラへ
出力する読出し手段 とを具える非同期データ伝送装置。1. Data transmission between a first system controller and a second system controller, which use different system clocks, respectively, and the data is transmitted from the first system controller according to a non-access time of the first system controller. In an asynchronous data transmission device for transmitting data to a second system controller having a short access time, a readable / writable first memory for temporarily storing data output from the first system controller; A predetermined priority order is preset for access from the second system controller, and
Output data of the system controller or temporary storage data of the first memory is written, and the write data is read to the second system controller, and second and third memories in parallel configuration, A first system controller determines a state of access to the second and third memories by the second system controller with the start of a write request, and determines at least three times at different times to obtain at least three determination results. No. 1 determination means, majority decision means for taking majority decision logic of the decision result of the first decision means, and the second of the second and third memories based on the output of the majority decision means and the priority. First selection means for selecting a memory on the side not accessed by the system controller; and the first system controller. A first write control for simultaneously writing the output data of the first system controller to the memory corresponding to the selection result of the first selecting means and the first memory in response to the write request from the controller. Write means for determining the access state to the second and third memories by the second system controller upon completion of the first write control, and determining the access state at least twice by shifting the time.
And the second write control for writing the stored data of the first memory to the other memory of the memories selected by the first selecting means in accordance with the determination result of the second determining means. Second
Writing means and third judgment for judging the access states to the second and third memories by the writing from the first system controller or the first memory at the start point of the read request from the second system controller. Means and second selecting means for selecting one of the second and third memories on the side not accessed by the first system controller based on the output of the third determining means and the priority. And a read means for reading the stored data from the memory corresponding to the selection result of the second selecting means and outputting it to the second system controller in response to the read request from the second system controller. Transmission equipment.
うちの当該第1のメモリの記憶データを書込むべきメモ
リへ前記第2のシステムコントローラがアクセス中であ
るとする判定結果が出力された場合、該第2のシステム
コントローラのアクセスが終了するまで前記第2の書込
み制御を待機させる待機手段を含むものである請求項
(1)記載の非同期データ伝送装置。2. The second writing means writes the data stored in the first memory of the second and third memories to the memory to which the second system writes the second system. The asynchronous device according to claim 1, further comprising a standby unit for waiting the second write control until the access of the second system controller is completed when the determination result that the controller is accessing is output. Data transmission equipment.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30759888A JP2510262B2 (en) | 1988-12-05 | 1988-12-05 | Asynchronous data transmission device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30759888A JP2510262B2 (en) | 1988-12-05 | 1988-12-05 | Asynchronous data transmission device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02153454A JPH02153454A (en) | 1990-06-13 |
JP2510262B2 true JP2510262B2 (en) | 1996-06-26 |
Family
ID=17970983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30759888A Expired - Lifetime JP2510262B2 (en) | 1988-12-05 | 1988-12-05 | Asynchronous data transmission device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2510262B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2572292B2 (en) * | 1990-05-14 | 1997-01-16 | 株式会社小松製作所 | Asynchronous data transmission device |
JP2722281B2 (en) * | 1990-12-28 | 1998-03-04 | 株式会社小松製作所 | Data transmission equipment |
-
1988
- 1988-12-05 JP JP30759888A patent/JP2510262B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH02153454A (en) | 1990-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5502822A (en) | Asynchronous data transmission system | |
US5546347A (en) | Interleaving architecture and method for a high density FIFO | |
US6161168A (en) | Shared memory system | |
US5295252A (en) | Data storage device | |
US4712190A (en) | Self-timed random access memory chip | |
US5392442A (en) | Data-driven processor having an output unit for providing only operand data in a predetermined order | |
EP0409285B1 (en) | Method and apparatus for data transfer between processor elements | |
JP2007525766A (en) | Collision detection in multiport memory systems | |
KR0133236B1 (en) | Shared memory system and arbitration method and system | |
US5033001A (en) | Dual mode memory read cycle time reduction system which generates read data clock signals from shifted and synchronized trigger signals | |
US6463000B2 (en) | First-in first-out memory device and method of generating flag signal in the same | |
JPH0271344A (en) | Micro-computer-system | |
JP2510262B2 (en) | Asynchronous data transmission device | |
JP2510261B2 (en) | Asynchronous data transmission device | |
US5416362A (en) | Transparent flip-flop | |
US7023850B2 (en) | Multicasting apparatus and method in shared memory switch | |
JP2510263B2 (en) | Asynchronous data transmission device | |
US5283763A (en) | Memory control system and method | |
JP2841456B2 (en) | Data transfer method and data buffer device | |
US6282149B1 (en) | Circuit and method for synchronized data banking | |
JPH10112178A (en) | Fifo memory and its manufacture | |
JP3528198B2 (en) | Computer system | |
KR0120220Y1 (en) | Time slicing memory access control circuit | |
JPH08137741A (en) | Fifo-type memory | |
JPH0743690B2 (en) | Access priority control system |