JPH04221491A - Fifo circuit for cell - Google Patents

Fifo circuit for cell

Info

Publication number
JPH04221491A
JPH04221491A JP2412750A JP41275090A JPH04221491A JP H04221491 A JPH04221491 A JP H04221491A JP 2412750 A JP2412750 A JP 2412750A JP 41275090 A JP41275090 A JP 41275090A JP H04221491 A JPH04221491 A JP H04221491A
Authority
JP
Japan
Prior art keywords
read
cell
fifo
write
given
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.)
Pending
Application number
JP2412750A
Other languages
Japanese (ja)
Inventor
Masashi Nitta
新田 昌史
Shigeki Hino
滋樹 日野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2412750A priority Critical patent/JPH04221491A/en
Publication of JPH04221491A publication Critical patent/JPH04221491A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To accelerate a speed and to increase a capacity by employing an FIFO controller which can simultaneously control a plurality of virtual passes. CONSTITUTION:When a memory block 2 receives a write start signal from an FIFO controller 1, the block 2 writes data for one cell in a write address. A leading word of a cell to be started by the start signal is written in a memory bank. When a read start signal from the controller 1 is received, data for one cell is output from the read address. In this case, the leading head of the cell is read from next memory bank of the final word memory bank of the cell which was previously read, and then sequentially read. The writing/reading of the respective words are deviated at the banks for the respective one words, and hence the banks to be written and read are not simultaneously conducted to be written and read, but sequentially written and read. N pieces of the banks are provided thereby to alleviate writing/reading time limits.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、例えばATM(Asy
nchronous  Transfer  Mode
)交換機における速度変換用バッファのように高速かつ
大容量のFIFO(ファースト・イン・ファースト・ア
ウト)を必要とし、データの書き込み及び読み出しがセ
ルとよばれるひとかたまりの固定長単位のデータを単位
として行われる場合のFIFO用バッファとしてのFI
FO回路に関するものである。この他に、一般の情報処
理機器のように高速かつ大容量のFIFOが必要なもの
にも本発明は応用できる。
[Industrial Application Field] The present invention is applicable to, for example, ATM (Asylum)
Chronous Transfer Mode
) Requires a high-speed, large-capacity FIFO (first-in-first-out) like the speed conversion buffer in an exchange, and data is written and read in fixed-length units called cells. FI as a buffer for FIFO when
This relates to the FO circuit. In addition, the present invention can be applied to general information processing equipment that requires a high-speed and large-capacity FIFO.

【0002】0002

【従来の技術】従来技術としては、例えば、特開昭63
−271601号「パケット通信装置」の明細書の添付
図面に開示されているように、メモリブロック部分にい
わゆる2ポートRAM(デュアルポートRAMとも呼ば
れる)を使用するとした発明があるが、2ポートRAM
は通常の1ポートRAMに比べ大規模のものが生産され
ていなく、2ポートRAMを使用した大規模のFIFO
を構成することは現状では困難である。
[Prior Art] As a prior art, for example, Japanese Patent Application Laid-open No. 63
As disclosed in the attached drawing of the specification of No. 271601 "Packet Communication Device", there is an invention that uses so-called 2-port RAM (also called dual-port RAM) in the memory block part.
is not produced in large scale compared to normal 1-port RAM, and large-scale FIFO using 2-port RAM
It is currently difficult to configure a

【0003】このため、ATM交換機におけるバッファ
としては必ずしも充分な容量が得られるとは言えない。 特に最近のCCITT(国際電信電話諮問委員会)にお
ける標準化動向に見られるように、同一の伝送路に互い
に帯域を共用しない複数のバーチャルパス(論理的な仮
想伝送路)が存在するといった仕様を実現しようとする
と、一つの伝送路に対応するバッファ内に前記複数のバ
ーチャルパスに対応したFIFOが必要となり、このよ
うな場合に2ポートRAMを用いていたのでは装置の外
形寸法が巨大なものとなり実用的でないと言う問題があ
った。
[0003] For this reason, it cannot necessarily be said that a sufficient capacity can be obtained as a buffer in an ATM switch. In particular, as seen in recent standardization trends in the CCITT (International Telegraph and Telephone Consultative Committee), specifications have been realized in which multiple virtual paths (logical virtual transmission paths) exist on the same transmission path that do not share the band with each other. If you try to do this, a FIFO corresponding to the plurality of virtual paths will be required in the buffer corresponding to one transmission path, and in such a case, if a 2-port RAM was used, the external dimensions of the device would be enormous. The problem was that it was not practical.

【0004】0004

【発明が解決しようとする課題】すでに述べたように、
ATM交換機における速度変換バッファのような高速か
つ大容量のFIFOが多数必要な場合には、従来の2ポ
ートRAMでは1ポートRAMに比べて大規模なものが
生産されていないために、前記2ポートRAMを使用し
て大規模なFIFOを構成することが困難であり、また
全体を非同期FIFOで構成しようとしたとき、このよ
うなRAMを用いていたのでは装置の外形寸法が巨大な
ものとなり実用的でないと言う問題点を、複数のバーチ
ャルパスを一括して制御可能とするFIFOコントロー
ラを用いることにより解消し、前記高速かつ大容量なF
IFOが多数必要な場合でも装置を高速でしかも小型に
作ることができるようすることを、本発明は解決すべき
課題とする。
[Problem to be solved by the invention] As already mentioned,
When a large number of high-speed, large-capacity FIFOs are required, such as speed conversion buffers in ATM exchanges, conventional 2-port RAMs are not manufactured in large scale compared to 1-port RAMs, so It is difficult to configure a large-scale FIFO using RAM, and when attempting to configure the entire system with asynchronous FIFO, using such RAM would result in a large external size of the device, making it impractical. This problem is solved by using a FIFO controller that can control multiple virtual paths at once.
The problem to be solved by the present invention is to enable a device to be manufactured quickly and compactly even when a large number of IFOs are required.

【0005】[0005]

【課題を解決するための手段】本発明の上記課題の解決
は、第1より第NまでのN個(但し、Nは任意の整数)
のメモリバンクと、1個のタイミング制御回路と、1個
の書き込みアドレス変換回路と、1個の読み出しアドレ
ス変換回路と、で構成され、1セル単位でデータの書き
込み及び読み出しができるメモリブロックを設け、該メ
モリブロックに対し書き込みアドレス、書き込み開始信
号、読み出しアドレス、及び読み出し開始信号の制御用
信号を与えるFIFOコントローラ回路を備えることで
達成される。メモリバンクは通常の1ポートRAMを用
い、タイミング制御回路の制御によって、書き込み、読
み出しを切り換えられるようになっている。
[Means for Solving the Problems] The solution to the above problems of the present invention is to solve the above problems by using N numbers from the first to the Nth (however, N is any integer).
A memory block is provided, which is composed of a memory bank, one timing control circuit, one write address conversion circuit, and one read address conversion circuit, and is capable of writing and reading data in units of one cell. This is achieved by providing a FIFO controller circuit that provides control signals such as a write address, a write start signal, a read address, and a read start signal to the memory block. The memory bank uses a normal 1-port RAM, and can be switched between writing and reading under the control of a timing control circuit.

【0006】[0006]

【作用】本発明にかかる第1のセルFIFO回路は、請
求項1に記載したセルFIFO回路であるが、FIFO
コントローラからの書き込み開始信号を受けると、メモ
リブロックは書き込みアドレスに1セル分のデータを書
き込む。このとき該書き込み開始信号によって書き込み
を開始されるセルの先頭ワードを、前回書き込みを行っ
たセルの最終ワードが書き込まれたメモリバンクの次の
メモリバンクに書き込み、以下順次、各ワードを一つ前
のワードが書き込まれたメモリバンクの次のメモリバン
クに書き込む。ただし、一つ前のワードが書き込まれた
メモリバンクが最終の第Nメモリバンクの場合は第1メ
モリバンクを次のメモリバンクとする。
[Operation] The first cell FIFO circuit according to the present invention is the cell FIFO circuit according to claim 1, but the first cell FIFO circuit according to the present invention is
Upon receiving a write start signal from the controller, the memory block writes data for one cell to the write address. At this time, the first word of the cell whose writing is started by the write start signal is written to the memory bank next to the memory bank to which the last word of the cell that was previously written is written, and from then on, each word is written one by one. Write to the next memory bank after the memory bank in which the word was written. However, if the memory bank to which the previous word was written is the final Nth memory bank, the first memory bank is set as the next memory bank.

【0007】そして、該FIFOコントローラからの読
み出し開始信号を受けると読み出しアドレスから1セル
分のデータを出力する。この時、セルの先頭ワードを前
回読み出しを行ったセルの最終ワードのメモリバンクの
次のメモリバンクから読み出し、以下順次各ワードを前
のワードが読み出された次のメモリバンクより読み出し
を行う。ただし、前のワードの読み出しが行われたメモ
リバンクが最終の第Nメモリバンクのときは、第1メモ
リバンクを次のメモリバンクとして読み出しを行う。以
上の書き込み及び読み出し動作により、任意のワード数
のセルを取り扱うことができる。
[0007] When receiving a read start signal from the FIFO controller, data for one cell is output from the read address. At this time, the first word of the cell is read from the memory bank next to the memory bank of the last word of the cell that was read last time, and then each word is sequentially read from the next memory bank from which the previous word was read. However, when the memory bank from which the previous word was read is the final Nth memory bank, the first memory bank is used as the next memory bank for reading. Through the above write and read operations, cells with an arbitrary number of words can be handled.

【0008】また、FIFOコントローラはセル到着時
に、すでに待ち合わせ中のセル数があらかじめ設定され
た制限数に達しない場合には、メモリブロックに対し書
き込みアドレスとして未使用のアドレスを与えるととも
に、書き込み開始信号を与える。逆に該制限数に達して
いる場合には、書き込み開始信号を与えないようになっ
ている。また、ある一定の周期をもって、メモリブロッ
ク中の待ち合わせ中のセル数が1以上の場合にはメモリ
ブロックに対し、読み出しアドレスとして次に出力すべ
き待ち合わせ中のセルを収容しているアドレスを与える
とともに、読み出し開始信号を与え、待ち合わせ中のセ
ル数が0の場合には読み出し開始信号を与えないように
なっている。
[0008] Furthermore, if the number of waiting cells does not reach a preset limit when a cell arrives, the FIFO controller gives an unused address as a write address to the memory block and also sends a write start signal. give. Conversely, if the limit number has been reached, the write start signal is not given. In addition, at a certain period, if the number of waiting cells in the memory block is 1 or more, the address containing the waiting cell to be output next is given to the memory block as a read address. , a read start signal is given, and when the number of waiting cells is 0, the read start signal is not given.

【0009】ここで図3に示すタイミング図(メモリバ
ンク数が4個の例)において、各ワードの書き込み、読
み出しについて、1ワード毎にメモリバンクがずれてい
くことにより、書き込みと読み出しのメモリバンクが重
ならずに順次書き込み、読み出しが行われる。また、メ
モリバンク数がN個になることにより、Nメモリバンク
での1ワードの書き込みと読み出し時間がN/2倍に延
びることにより、各バンクに書き込まれるデータ、読み
出されるデータの時間制限が緩和される。これにより入
ハイウェイ、出ハイウェイでの速度は市販のRAMアク
セス速度のN/2倍の速度にすることができる。以上の
ような作用によって、本発明にかかる第1のセルFIF
O回路は小型ながら大容量かつ高速のFIFOが実現す
る。
In the timing diagram shown in FIG. 3 (an example in which the number of memory banks is 4), when writing and reading each word, the memory banks are shifted for each word, so that the memory banks for writing and reading are Writing and reading are performed sequentially without overlapping. In addition, by increasing the number of memory banks to N, the time to write and read one word in N memory banks is extended by N/2, which eases the time limit for data written to and read from each bank. be done. As a result, the speed on the incoming and outgoing highways can be increased to N/2 times the access speed of a commercially available RAM. Due to the above-described effects, the first cell FIF according to the present invention
Although the O circuit is small, it realizes a large capacity and high speed FIFO.

【0010】本発明にかかる第2のセルFIFO回路は
、本発明にかかる前記第1のセルFIFO回路に小規模
の非同期FIFOを追加し、FIFOコントローラに対
して該小規模の非同期FIFOは該小規模の非同期FI
FO中のセル数が一定数以下の場合に受け入れ可能信号
を与え、一定数を越える場合は受け入れ可能信号を与え
ないようになっている。
A second cell FIFO circuit according to the present invention adds a small-scale asynchronous FIFO to the first cell FIFO circuit according to the present invention, and the small-scale asynchronous FIFO is connected to the FIFO controller. Asynchronous FI of scale
An acceptable signal is given when the number of cells in the FO is below a certain number, and no acceptable signal is given when it exceeds a certain number.

【0011】また、FIFOコントローラはある一定周
期をもって行われるメモリブロックからのデータの読み
出し動作において、待ち合わせ中のセル数が1以上であ
り、かつ該小規模非同期FIFOからの受け入れ可能信
号を与えられている場合にはメモリブロックに読み出し
開始信号をあたえると同時に該小規模非同期FIFOに
書き込み許可信号を与える。
[0011] Furthermore, in a data read operation from a memory block that is performed at a certain period, the FIFO controller determines that the number of waiting cells is 1 or more and that an acceptance signal from the small-scale asynchronous FIFO is given. If so, a read start signal is given to the memory block and at the same time a write enable signal is given to the small-scale asynchronous FIFO.

【0012】また、待ち合わせ中のセル数が0であるか
、または該小規模非同期FIFOから受け入れ可能信号
が与えられていない場合には、メモリブロックへの読み
出し開始信号も、該小規模非同期FIFOへの書き込み
許可信号も与えないようになっている。これは、小規模
非同期FIFOへの書込動作が行われるとセルの廃棄が
起こるためである。
[0012] Furthermore, if the number of waiting cells is 0 or an acceptability signal is not given from the small-scale asynchronous FIFO, the read start signal to the memory block is also sent to the small-scale asynchronous FIFO. The write permission signal is also not given. This is because a write operation to a small asynchronous FIFO causes cells to be discarded.

【0013】メモリバンクにおけるセル書き込み動作は
前記第1のセルFIFO回路と同一である。また、FI
FOコントローラが読み出し開始信号を与えた場合にお
いては、メモリバンクからのセル読み出し動作も前記第
1のセルFIFO回路と同一である。メモリバンクより
読み出されたセルは小規模非同期FIFOに一端蓄えら
れてから、入ハイウェイのクロックとは非同期の出ハイ
ウェイのクロックにより出ハイウェイへ出力される。
The cell write operation in the memory bank is the same as in the first cell FIFO circuit. Also, FI
When the FO controller provides a read start signal, the cell read operation from the memory bank is also the same as that of the first cell FIFO circuit. The cells read from the memory bank are temporarily stored in a small-scale asynchronous FIFO, and then output to the output highway using the output highway clock, which is asynchronous with the input highway clock.

【0014】このように本発明にかかる第2のセルFI
FO回路では、セル蓄積容量の大部分は、書き込み、読
み出しが同期クロックで動作するメモリバンクより実現
しているが、小規模非同期FIFOの作用により書き込
みクロックと読み出しクロックを非同期にできる。以上
のような作用によって、本発明にかかる第2のセルFI
FO回路は小型ながら大容量かつ高速のFIFOが大型
の割に容量が大きくない非同期FIFOのみで構成され
たFIFO回路と同様な非同期入出力条件で実現する。
As described above, the second cell FI according to the present invention
In the FO circuit, most of the cell storage capacity is realized by a memory bank whose write and read operations operate using synchronous clocks, but the write clock and read clock can be made asynchronous by the action of a small-scale asynchronous FIFO. Due to the above-described effects, the second cell FI according to the present invention
The FO circuit is a small FIFO that has a large capacity and high speed, but is realized under the same asynchronous input/output conditions as a FIFO circuit that is made up only of asynchronous FIFOs that are small but have a small capacity.

【0015】本発明にかかる第3のセルFIFO回路は
、メモリバンクへのセル書き込み動作は前記第1のセル
FIFO回路と同一だが、この時のセル書き込み位置が
FIFOコントローラ内に記憶され、メモリバンクより
セルを読み出す時には、該FIFOコントローラが書き
込み時に記憶したセルの位置に基づいて指示するメモリ
バンクより読み出しが行われ、以下順次タイミング制御
回路の作用によって各ワードを前のワードが読み出され
た次のメモリバンクより読み出しが行われる。
In the third cell FIFO circuit according to the present invention, the cell write operation to the memory bank is the same as that of the first cell FIFO circuit, but the cell write position at this time is stored in the FIFO controller, and the cell write operation to the memory bank is When reading a cell, the FIFO controller reads from the memory bank specified based on the cell position stored at the time of writing, and the timing control circuit sequentially reads each word from the memory bank after the previous word was read. Reading is performed from the memory bank.

【0016】この時、前のワードが読み出されたメモリ
バンクが最終の第Nメモリバンクのときは第1メモリバ
ンクを次のワードのメモリバンクとして読み出しが行わ
れる。なお、本発明にかかる第3のセルFIFO回路で
は、読みだしが書き込み動作とは非同期で行われるため
、書き込みと読み出しが同一メモリバンク上で重複する
場合があり、この場合は書き込みが優先され、読み出し
は一時制止されることになる。しかもここで、FIFO
コントローラとして、例えば図5のような構造の複数の
バーチャルパスに対応した複数のセルの待ち行列を管理
することができるようなFIFOコントローラを使用す
ることにより、バーチャルパス毎に複数のセルFIFO
回路を設けたのと同じ機能として使用できる。
At this time, if the memory bank from which the previous word was read is the final Nth memory bank, reading is performed using the first memory bank as the memory bank for the next word. Note that in the third cell FIFO circuit according to the present invention, since reading is performed asynchronously with the writing operation, writing and reading may overlap on the same memory bank, and in this case, writing takes priority. Reading will be temporarily stopped. Moreover, here, FIFO
For example, by using a FIFO controller capable of managing queues of multiple cells corresponding to multiple virtual paths having a structure as shown in FIG.
It can be used for the same function as a circuit.

【0017】本発明にかかる第4のセルFIFO回路は
、前記第3のセルFIFO回路に前記第1のセルFIF
O回路に対する前記第2のセルFIFO回路と同様に、
小規模非同期FIFOを追加したものである。メモリバ
ンクにおけるセル書き込み動作は前記第3のセルFIF
O回路と同一である。また、FIFOコントローラが読
みだし開始信号を与えた場合においてもメモリバンクか
らのセル読みだし動作は前記第3のセルFIFO回路と
同一である。
[0017] The fourth cell FIFO circuit according to the present invention includes the first cell FIFO circuit in the third cell FIFO circuit.
Similar to the second cell FIFO circuit for the O circuit,
A small asynchronous FIFO is added. The cell write operation in the memory bank is performed by the third cell FIF.
It is the same as the O circuit. Further, even when the FIFO controller gives a read start signal, the cell read operation from the memory bank is the same as that of the third cell FIFO circuit.

【0018】メモリバンクより読み出されたセルは、小
規模非同期FIFOに一旦、入力されてから、入ハイウ
ェイのクロックとは非同期の出ハイウェイのクロックに
より出ハイウェイへ出力される。前記第3のセルFIF
O回路では、書き込みと読み出しが同一メモリバンク上
で重複した場合は書き込みが優先され、読み出しは一時
制止されることになっているが、小規模非同期FIFO
が追加されているので読みだしの制止によって、セル長
に満たない半端な数の間隔が出ハイウェイ上で空くこと
はない。
The cells read from the memory bank are once input into the small-scale asynchronous FIFO, and then output to the output highway using the output highway clock, which is asynchronous with the input highway clock. Said third cell FIF
In the O circuit, if writing and reading overlap on the same memory bank, writing takes priority and reading is temporarily stopped, but small-scale asynchronous FIFO
is added, so that an irregular number of intervals that are less than the cell length will not be left on the outgoing highway due to the reading restriction.

【0019】ただし、例外として、書き込みクロックと
読みだしクロックの速度差が極めて小さい場合は、書き
込みが行われていて、読みだしが制止されている時は小
規模非同期FIFO中のセルがすべて出力される可能性
がある。しかし、もともと本発明は書き込みクロックと
読みだしクロックの速度差が大きい場合にセルの廃棄を
抑制するために使用するものである。従って実用上はこ
のような現象は起こらないとみなすことができる。
However, as an exception, if the speed difference between the write clock and the read clock is extremely small, all cells in the small asynchronous FIFO are output when writing is in progress and reading is inhibited. There is a possibility that However, the present invention is originally used to suppress cell discard when the speed difference between the write clock and the read clock is large. Therefore, it can be considered that such a phenomenon does not occur in practice.

【0020】以上のような作用により、非同期で、しか
もバーチャルパス毎に複数の非同期セルFIFO回路を
用いたのと同じ機能として使用することができ、小規模
非同期FIFOの作用により、書き込みクロックと読み
出しクロックを非同期で動作させることができ、メモリ
ブロックでセルの読み出しが片寄っても出ハイウェイで
のセルの間隔は一定にすることができる。
[0020] Due to the above-described effects, it is possible to use the same function as using a plurality of asynchronous cell FIFO circuits for each virtual path. The clocks can be operated asynchronously, and even if cell reading is uneven in the memory block, the cell spacing on the output highway can be kept constant.

【0021】[0021]

【実施例】以下本発明の実施例を図面にもとづいて詳細
に説明する。図1は、本発明の第1の実施例であるセル
FIFO回路の構成図である。図1において、アドレス
は書き込み及び読み出しのアドレスをFIFOコントロ
ーラ1からメモリブロック2に対し指定するアドレス指
定信号であり、ICSはFIFOコントローラ1からメ
モリブロック2へ送られる書き込み開始信号であり、I
CSSは到着セルの先頭指示信号で、ICKは入ハイウ
ェイのワードクロックでありIFOコントローラ1及び
メモリブロック2に供給され、OCSSはFIFOコン
トローラ1からメモリブロック2に送られる読み出し開
始信号である。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Examples of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram of a cell FIFO circuit according to a first embodiment of the present invention. In FIG. 1, address is an address designation signal that specifies write and read addresses from FIFO controller 1 to memory block 2, ICS is a write start signal sent from FIFO controller 1 to memory block 2, and I
CSS is a signal indicating the beginning of an arriving cell, ICK is a word clock on the input highway and is supplied to the IFO controller 1 and memory block 2, and OCSS is a read start signal sent from the FIFO controller 1 to the memory block 2.

【0022】メモリブロック2は、図4に示されている
ように、タイミング制御回路TB、メモリバンク(BA
NK)0からメモリバンク(BANK)3までの4メモ
リバンク、データの入り側レジスタ0から3(DIFF
0から3)、データの出側レジスタ0から3(DOFF
0から3)、書き込みレジスタ0から3(DWAFF0
から3)、読み出しレジスタ0から3(DRAFF0か
ら3)、書き込みアドレス変換回路(WACNV)、読
み出しアドレス変換回路(RACNV)より構成されて
おり、タイミング制御回路TBは、各レジスタに対して
タイミングパルスを送出し、各レジスタはこのタイミン
グに基づきセルデータの書き込み、読み出しを行う。
As shown in FIG. 4, the memory block 2 includes a timing control circuit TB, a memory bank (BA
NK) 0 to memory bank (BANK) 3, data input side registers 0 to 3 (DIFF)
0 to 3), data output registers 0 to 3 (DOFF
0 to 3), write registers 0 to 3 (DWAFF0
3), read registers 0 to 3 (DRAFF0 to 3), a write address conversion circuit (WACNV), and a read address conversion circuit (RACNV), and the timing control circuit TB sends timing pulses to each register. Each register writes and reads cell data based on this timing.

【0023】また、メモリバンク(BANK)はセルデ
ータの格納用であり、書き込み時はデータの入り側レジ
スタ(DIFF)よりデータが書き込まれるが、この時
書き込みアドレス変換回路(WACNV)から出力され
たメモリバンク(BANK)の内部アドレスが書き込み
レジスタ(DWAFF)に保持されている状態において
、この内部アドレスを用いてタイミング制御回路TBか
らの書き込みパルスの出力がメモリバンク(BANK)
のアドレス入力に供給され、次にタイミング制御回路T
Bからメモリバンク(BANK)への書き込みパルスが
出力され、セルデータの入り側レジスタ(DIFF)が
保持するセルの1ワード分のデータがメモリバンク(B
ANK)に対して書き込まれる。
Furthermore, the memory bank (BANK) is for storing cell data, and at the time of writing, data is written from the data input side register (DIFF), but at this time, the data is written from the data input side register (DIFF). When the internal address of the memory bank (BANK) is held in the write register (DWAFF), the write pulse output from the timing control circuit TB is sent to the memory bank (BANK) using this internal address.
is supplied to the address input of the timing control circuit T.
A write pulse is output from B to the memory bank (BANK), and one word worth of data of the cell held by the cell data input register (DIFF) is written to the memory bank (BANK).
ANK).

【0024】書き込みアドレス変換回路(WACNV)
では、FIFOコントローラからの「何セル目」と言う
アドレス指定値と、ICS及びICKを用い、しかるべ
き(例えば図3に示すような)タイミングにより各メモ
リバンク(BANK)毎の内部アドレス値を発生する。 読み出し時はセルデータの出側レジスタ(DOFF)を
介してセルデータが読み出されるが、この時読み出しア
ドレス変換回路(RACNV)から出力されたアドレス
が読み出しアドレスレジスタ(DRAFF)に入力され
、次にこの内部アドレス値を用いてタイミング制御回路
TBからの読み出しパルスによりデータの出側レジスタ
(DOFF)へメモリバンク(BANK)より読み出し
が行われることになる。
Write address conversion circuit (WACNV)
Now, using the address designation value "what cell" from the FIFO controller, ICS and ICK, generate an internal address value for each memory bank (BANK) at appropriate timing (for example, as shown in Figure 3). do. At the time of reading, cell data is read out through the cell data output register (DOFF), but at this time, the address output from the read address conversion circuit (RACNV) is input to the read address register (DRAFF), and then this Using the internal address value, data is read from the memory bank (BANK) to the data output register (DOFF) by a read pulse from the timing control circuit TB.

【0025】読み出しアドレス変換回路(RACNV)
では、FIFOコントローラからの「何セル目」と言う
アドレス指定値と、OCSS及びICKを用い、しかる
べきタイミングにより書各メモリバンク(BANK)毎
の内部アドレス値を発生する。
Read address conversion circuit (RACNV)
Then, an internal address value for each memory bank (BANK) is generated at appropriate timing using the address designation value "which cell" from the FIFO controller, OCSS and ICK.

【0026】このときのメモリバンク(BANK)内の
タイミングは図3に示すとおり、各ワードが順次各メモ
リバンク(BANK)にずれて書き込まれ、書き込みと
読み出しが交互に行われるので、書き込みと読み出しが
同一メモリバンク(BANK)上で重複することはなく
、しかもこの実施例のようにメモリバンク数が4だと、
1メモリバンクのときと比べてメモリブロック全体とし
ての書き込みと読み出し時間が2倍(N/2倍)になる
ことにより、1RAM当たりの書き込み、読み出しの時
間制限が緩和されることになる。従って本発明のセルF
IFOは速度も市販のRAMのアクセス速度の2倍(N
/2)の速度にすることができ、入ハイウェイ、出ハイ
ウェイの速度も2倍になる。
The timing in the memory bank (BANK) at this time is as shown in FIG. are not duplicated on the same memory bank (BANK), and if the number of memory banks is 4 as in this example,
Since the writing and reading time for the entire memory block is doubled (N/2 times) compared to the case of one memory bank, the time limit for writing and reading per RAM is relaxed. Therefore, the cell F of the present invention
The speed of IFO is twice the access speed of commercially available RAM (N
/2), and the inbound and outbound highway speeds are also doubled.

【0027】FIFOコントローラは、メモリブロック
内の待ち合わせ中のセル数があらかじめ設定された制限
数に達していない場合、メモリブロックに対して書き込
みアドレスとして未使用のアドレスと書き込み開始信号
を与える。しかし、メモリブロック内の待ち合わせ中の
セル数があらかじめ設定された制限数に達している場合
は、書き込みアドレスも書き込み開始信号も与えない。 この時、書き込み行われるとセルのデータが、まだ読み
出しが行われていないデータに上書きされて消えてしま
うのを防ぐためである。
The FIFO controller provides an unused address and a write start signal as a write address to the memory block when the number of waiting cells in the memory block has not reached a preset limit number. However, if the number of waiting cells in the memory block has reached a preset limit, neither a write address nor a write start signal is given. At this time, this is to prevent data in the cell from being overwritten and erased by data that has not yet been read out when writing is performed.

【0028】また読み出しは、ある一定の周期により、
メモリブロック内の待ち合わせ中のセル数が1以上の場
合はメモリブロックに対し読み出しアドレスと読み出し
開始信号を与えるが、メモリブロック内の待ち合わせ中
のセル数が0の場合は読み出しアドレスも読み出し開始
信号も与えない。
[0028] Also, reading is performed at a certain period,
If the number of waiting cells in a memory block is 1 or more, a read address and a read start signal are given to the memory block, but if the number of waiting cells in a memory block is 0, neither a read address nor a read start signal is given. I won't give it.

【0029】図2は、本発明の第2の実施例であるセル
FIFO回路の構成図である。図2において、アドレス
は書き込み及び読み出しのアドレスをFIFOコントロ
ーラ1からメモリブロック2に対し指定する信号であり
、ICSはFIFOコントローラ1からメモリブロック
2へ送られる書き込み開始信号であり、ICSSは到着
セルの先頭指示信号であり、ICKは入ハイウェイのワ
ードクロックであって、FIFOコントローラ1及びメ
モリブロック2に供給され、OCSSはFIFOコント
ローラ1からメモリブロック2に送られる読み出し開始
信号である。
FIG. 2 is a block diagram of a cell FIFO circuit according to a second embodiment of the present invention. In FIG. 2, address is a signal that specifies write and read addresses from FIFO controller 1 to memory block 2, ICS is a write start signal sent from FIFO controller 1 to memory block 2, and ICSS is a signal for specifying a write and read address from FIFO controller 1 to memory block 2. A leading instruction signal, ICK, is a word clock on the input highway and is supplied to the FIFO controller 1 and memory block 2, and OCSS is a read start signal sent from the FIFO controller 1 to the memory block 2.

【0030】また、小規模非同期FIFO3において、
NOTFUL端子は該小規模非同期FIFO3中のデー
タがすでに設定されている値に達していないことをあら
わす受け入れ可能信号でFIFOコントローラ1の読み
出しを許可するREN端子入力につながっており、WE
N端子はFIFOコントローラ1のJK>0端子より送
信したメモリブロック2中にセルが1以上待ち合わせて
いることをあらわす書き込み許可信号を受信し、LDC
K端子は入ハイウェイのクロックであるICKを受けて
いる。
[0030] Furthermore, in the small-scale asynchronous FIFO 3,
The NOTFUL terminal is connected to the REN terminal input which allows the FIFO controller 1 to read with an acceptable signal indicating that the data in the small asynchronous FIFO 3 has not reached the preset value;
The N terminal receives a write permission signal sent from the JK>0 terminal of the FIFO controller 1 indicating that one or more cells are waiting in the memory block 2, and the LDC
The K terminal receives ICK, which is the input highway clock.

【0031】また、本第2の実施例において構成及び書
き込み動作は前記第1の実施例と同一であり、読み出し
動作についてはFIFOコントローラ1に小規模非同期
FIFO3からの受け入れ可能信号が送信されていない
場合を除き、前記第1の実施例と同一動作である。
In addition, the configuration and write operation in the second embodiment are the same as those in the first embodiment, and for the read operation, an acceptability signal from the small-scale asynchronous FIFO 3 is not sent to the FIFO controller 1. The operation is the same as that of the first embodiment except for the case.

【0032】メモリブロック2の出力は小規模非同期F
IFO3の入力になっており、この小規模非同期FIF
O3はFIFOコントローラ1に対し受け入れ可能信号
を出し、逆にFIFOコントローラ1は小規模非同期F
IFO3に対し書き込み許可信号を出すことができるよ
うになっている。該小規模非同期FIFO3から出され
る受け入れ可能信号は、該小規模非同期FIFO3中の
セル数が一定数以下の場合にFIFOコントローラ1に
対し空け入れ可能信号を出し、一定数を超える場合は受
け入れ可能信号を与えないようになっている。
The output of memory block 2 is a small-scale asynchronous F
It is the input of IFO3, and this small asynchronous FIF
O3 provides an accept signal to FIFO controller 1, which in turn provides a small asynchronous F
A write permission signal can be issued to IFO3. The acceptability signal outputted from the small-scale asynchronous FIFO 3 is a vacancy-ready signal to the FIFO controller 1 when the number of cells in the small-scale asynchronous FIFO 3 is below a certain number, and an acceptability signal when the number of cells in the small-scale asynchronous FIFO 3 exceeds a certain number. It is designed not to give

【0033】このときのメモリバンク2内のタイミング
は、図3に示すとおり、各ワードが順次各メモリバンク
にずれて書き込まれ、書き込みと読み出しが交互に行わ
れるので、書き込みと読み出しが同一メモリバンク上で
重複することはなく、しかもこの実施例のようにメモリ
バンク数が4だと1メモリバンクのときと比べてメモリ
ブロック全体の書き込みと読み出し時間が2倍(N/2
倍)になることにより、1RAM当たりの書き込み、読
み出しの時間制限が緩和されることになる。従って本発
明にかかるセルFIFO回路は、速度も市販のRAMの
アクセス速度の2倍(N/2)の速度にすることができ
、入ハイウェイ、出ハイウェイの速度も2倍となる。
As shown in FIG. 3, the timing within the memory bank 2 at this time is such that each word is sequentially written to each memory bank with a shift, and writing and reading are performed alternately, so writing and reading are performed in the same memory bank. Moreover, when the number of memory banks is 4 as in this embodiment, the writing and reading time for the entire memory block is twice (N/2) compared to when there is 1 memory bank.
By increasing the number of times (2 times), the time limit for writing and reading per RAM is relaxed. Therefore, the cell FIFO circuit according to the present invention can be made twice (N/2) faster than the access speed of a commercially available RAM, and the incoming and outgoing speeds can also be doubled.

【0034】FIFOコントローラ1は、メモリブロッ
ク2内の待ち合わせ中のセル数が1以上であり、かつ小
規模非同期FIFO3からの受け入れ可能信号がある場
合に、メモリブロック2に対し読み出し開始信号を与え
るとともに、該小規模非同期FIFO3に対し書き込み
許可信号を与え、待ち合わせセル数が0であるか、また
は該小規模非同期FIFO3から受け入れ可能信号が与
えられていない場合は、メモリブロック2に対しての読
み出し開始信号も小規模非同期FIFO3に対しての書
き込み許可信号も与えないようになっている。これは、
小規模非同期FIFOへの書込動作が行われるとセルの
廃棄が起こるためである。
The FIFO controller 1 gives a read start signal to the memory block 2 when the number of waiting cells in the memory block 2 is 1 or more and there is an acceptable signal from the small-scale asynchronous FIFO 3. , gives a write permission signal to the small-scale asynchronous FIFO 3, and if the number of waiting cells is 0 or an acceptability signal is not given from the small-scale asynchronous FIFO 3, starts reading from the memory block 2. Neither signal nor write permission signal to the small-scale asynchronous FIFO 3 is given. this is,
This is because cells are discarded when a write operation to the small-scale asynchronous FIFO is performed.

【0035】以上の作用によりあたかも非同期セルFI
FO回路で全体を構成したものと同様に、書き込みのク
ロックと読み出しのクロックが非同期で動作するように
なっている。
[0035] Due to the above action, it is as if the asynchronous cell FI
Similar to the case where the entire structure is made up of FO circuits, the write clock and read clock operate asynchronously.

【0036】本発明の第3の実施例は、図1において、
アドレスは書き込み及び読み出しのアドレスをFIFO
コントローラ1からメモリブロック2に対し指定するも
のであり、ICSはFIFOコントローラ1からメモリ
ブロック2へ送られる書き込み開始信号であり、ICS
Sは到着セルの先頭指示信号で、ICKは入ハイウエイ
をFIFOコントローラ1からメモリブロック2に供給
する信号であり、OCSSはFIFOコントローラ1か
らメモリブロック2に送られる読み出し開始信号である
The third embodiment of the present invention is shown in FIG.
Address is FIFO write and read address
It is specified from controller 1 to memory block 2, and ICS is a write start signal sent from FIFO controller 1 to memory block 2.
S is a signal indicating the head of an arriving cell, ICK is a signal for supplying the input highway from the FIFO controller 1 to the memory block 2, and OCSS is a read start signal sent from the FIFO controller 1 to the memory block 2.

【0037】メモリブロック2の構成とメモリバンクへ
の書き込み動作は、前記第1の実施例と同一である。メ
モリバンクからの読み出し動作については、書き込みが
順次各メモリバンクに書き込まれ、読み出しはFIFO
コントローラ1の制御によりランダムにアドレスが指定
されて読み出しが行われるため、書き込みと読み出しが
同一メモリバンク上で重複する場合があり、このときは
書き込みを優先し読み出しは一時制止されることになる
The configuration of the memory block 2 and the write operation to the memory bank are the same as in the first embodiment. For read operations from memory banks, writes are written to each memory bank sequentially and reads are FIFO
Since reading is performed by randomly specifying addresses under the control of the controller 1, writing and reading may overlap on the same memory bank, and in this case, writing is given priority and reading is temporarily stopped.

【0038】FIFOコントローラ1は、メモリブロッ
ク2内の待ち合わせ中のセル数があらかじめ設定された
制限数に達していない場合、メモリブロック2に対して
書き込みアドレスとして未使用のアドレスと書き込み開
始信号をあたえる。しかし、メモリブロック2内の待ち
合わせ中のセル数があらかじめ設定された制限数に達し
ている場合は、書き込みアドレスも書き込み開始信号も
与えない。
If the number of waiting cells in the memory block 2 has not reached the preset limit, the FIFO controller 1 gives the memory block 2 an unused address as a write address and a write start signal. . However, if the number of waiting cells in the memory block 2 has reached a preset limit, neither a write address nor a write start signal is given.

【0039】また読み出しは、FIFOコントローラ1
が次に読み出すセルの先頭ワードが書き込まれているメ
モリバンクをメモリバンク内のタイミング制御回路TB
に設定し、該FIFOコントローラ1が指示するメモリ
バンクより順次読み出すようになっており、ある一定の
周期により、メモリブロック内の待ち合わせ中のセル数
が1以上の場合はメモリブロック2に対し読み出しアド
レスと読み出し開始信号を与えるが、メモリブロック2
内の待ち合わせ中のセル数が0の場合は読み出しアドレ
スも読みだし開始信号も与えない。
Further, reading is performed using the FIFO controller 1.
The timing control circuit TB in the memory bank selects the memory bank in which the first word of the cell to be read next is written.
The memory bank specified by the FIFO controller 1 is read out sequentially, and if the number of waiting cells in the memory block is 1 or more, the read address is sent to the memory block 2 at a certain period. and gives a read start signal, but memory block 2
If the number of waiting cells in the cell is 0, neither a read address nor a read start signal is given.

【0040】しかもここで、FIFOコントローラ1と
して例えば図5のような構造の、FIFO1個分の読み
出しアドレス表5から競合制御回路6に送出可能信号(
REQ)を出し、競合制御回路6から送出される読み出
し開始信号(OCSS)をFIFO1個分の読み出しア
ドレス表5に与え、セレクタ回路7により次に読み出す
FIFO1個分のアドレスをメモリブロックへ送出する
ような、複数のバーチャルパスに対応した複数のセルの
待ち行列を管理するFIFOコントローラ1を使用する
ことにより、バーチャルパス毎に複数のセルFIFO回
路を設けたのと同じ機能として使用できる。
Moreover, here, the FIFO controller 1, for example, has a structure as shown in FIG.
REQ), the read start signal (OCSS) sent from the contention control circuit 6 is given to the read address table 5 for one FIFO, and the selector circuit 7 sends the address for one FIFO to be read next to the memory block. By using the FIFO controller 1 that manages a plurality of cell queues corresponding to a plurality of virtual paths, it can be used with the same function as providing a plurality of cell FIFO circuits for each virtual path.

【0041】本発明の第4の実施例は図2において、ア
ドレスは書き込み及び読み出しのアドレスをFIFOコ
ントローラ1からメモリブロック2に対し指定するもの
であり、ICSはFIFOコントローラ1からメモリブ
ロック2へ送られる書き込み開始信号であり、ICSS
は到着セルの先頭指示信号で、ICKは書き込みクロッ
クをFIFOコントローラ1からメモリブロック2に供
給する信号であり、OCSSはFIFOコントローラ1
からメモリブロック2に送られる読み出し開始信号であ
る。
In the fourth embodiment of the present invention, in FIG. 2, the address specifies write and read addresses from the FIFO controller 1 to the memory block 2, and the ICS specifies the write and read addresses from the FIFO controller 1 to the memory block 2. ICSS
is the head instruction signal of the arriving cell, ICK is the signal that supplies the write clock from the FIFO controller 1 to the memory block 2, and OCSS is the signal that supplies the write clock from the FIFO controller 1 to the memory block 2.
This is a read start signal sent from the memory block 2 to the memory block 2.

【0042】また、小規模非同期FIFO3において、
NOTFUL端子は該小規模非同期FIFO3中のデー
タがすでに設定されている値に達していないことをあら
わす受け入れ可能信号をREN端子へ送信し、WEN端
子はFIFOコントローラ1のJK>0端子より送信し
たメモリブロック2中にセルが1以上待ち合わせている
ことをあらわす書き込み許可信号を受信し、LDCK端
子は入ハイウェイのクロックであるICKを受けている
[0042] Furthermore, in the small-scale asynchronous FIFO 3,
The NOTFUL terminal sends an acceptance signal to the REN terminal indicating that the data in the small-scale asynchronous FIFO 3 has not reached the preset value, and the WEN terminal sends the memory signal sent from the JK>0 terminal of the FIFO controller 1. A write permission signal indicating that one or more cells are waiting in block 2 is received, and the LDCK terminal receives ICK, which is the input highway clock.

【0043】メモリブロック2の構成と書き込み動作に
ついては、前記第1の実施例と同一である。読み出し動
作についてはFIFOコントローラ1に小規模非同期F
IFO3からの受け入れ可能信号が送信されていない場
合を除き、前記第1の実施例と同一動作である。
The structure and write operation of the memory block 2 are the same as in the first embodiment. For read operations, FIFO controller 1 has a small asynchronous F
The operation is the same as in the first embodiment except for the case where the acceptability signal from the IFO 3 is not transmitted.

【0044】メモリブロック2の出力は小規模非同期F
IFO3の入力になっており、この小規模非同期FIF
O3はFIFOコントローラ1に対し受け入れ可能信号
を出し、逆にFIFOコントローラ1は小規模非同期F
IFO3に対し書き込み許可信号を出すことができるよ
うになっている。該小規模非同期FIFO3から出され
る受け入れ可能信号は、該小規模非同期FIFO3中の
セル数が一定数以下の場合にFIFOコントローラ1に
対し受け入れ可能信号を出し、一定数を超える場合は受
け入れ可能信号を与えないようになっている。
The output of memory block 2 is a small-scale asynchronous F
It is the input of IFO3, and this small asynchronous FIF
O3 provides an accept signal to FIFO controller 1, which in turn provides a small asynchronous F
A write permission signal can be issued to IFO3. The acceptability signal output from the small-scale asynchronous FIFO 3 is such that an acceptability signal is sent to the FIFO controller 1 when the number of cells in the small-scale asynchronous FIFO 3 is below a certain number, and an acceptability signal is sent to the FIFO controller 1 when the number of cells in the small-scale asynchronous FIFO 3 exceeds a certain number. It is designed not to be given.

【0045】このときのメモリバンク内のタイミングは
、各ワードが順次各メモリバンクにずれて書き込まれ、
読み出しも書き込みと同じように読み出されるが、この
とき書き込みが順次各メモリバンクに書き込まれ、読み
出しはFIFOコントローラ1の制御によりランダムに
アドレスが指定されて読み出しが行われるため、書き込
みと読み出しが同一メモリバンク上で重複する場合があ
り、このときは書き込みを優先し読み出しは一時制止さ
れることになる。
The timing within the memory bank at this time is such that each word is sequentially written to each memory bank with a shift,
Reading is performed in the same way as writing, but at this time, writing is written to each memory bank sequentially, and reading is performed by randomly specifying an address under the control of FIFO controller 1, so writing and reading are performed from the same memory. There may be duplicates on a bank, in which case writing will take priority and reading will be temporarily stopped.

【0046】FIFOコントローラ1は、メモリブロッ
ク2内の待ち合わせ中のセル数が1以上であり、かつ小
規模非同期FIFO3からの受け入れ可能信号がある場
合にメモリブロック2に対し読み出し開始信号を与える
とともに、該小規模非同期FIFO3に対し書き込み許
可信号を与え、待ち合わせセル数が0であるか、または
該小規模非同期FIFO3から受け入れ可能信号が与え
られていない場合は、メモリブロック2に対しての読み
出し開始信号も小規模非同期FIFO3に対しての書き
込み許可信号も与えないようになっている。
The FIFO controller 1 gives a read start signal to the memory block 2 when the number of waiting cells in the memory block 2 is 1 or more and there is an acceptable signal from the small-scale asynchronous FIFO 3, and A write permission signal is given to the small-scale asynchronous FIFO 3, and if the number of waiting cells is 0 or an acceptability signal is not given from the small-scale asynchronous FIFO 3, a read start signal is sent to the memory block 2. Also, no write permission signal is given to the small-scale asynchronous FIFO 3.

【0047】ここで、FIFOコントローラ1として例
えば図5のような構造の、FIFO1個分の読み出しア
ドレス表5から競合制御回路6に送出可能信号(REQ
)を出し、競合制御回路6から送出される読み出し開始
信号(OCSS)をFIFO1個分の読み出しアドレス
表5に与え、セレクタ回路7により次に読み出すFIF
O1個分のアドレスをメモリブロック2へ送出するよう
な、複数のバーチャルパスに対応した複数のセルの待ち
行列を管理するFIFOコントローラ1を使用すること
により、非同期でしかもバーチャルパス毎に複数の非同
期FIFOを用いたのと同じ機能として使用することが
できる。また、小規模非同期FIFO3の作用により、
書き込みクロックと読み出しクロックを非同期にでき、
メモリブロック2でのセルの読み出しが片寄っても出力
側でのセルの間隔を一定にすることができる。
Here, the FIFO controller 1 has a structure as shown in FIG. 5, for example, and sends a sendable signal (REQ
), the read start signal (OCSS) sent from the contention control circuit 6 is given to the read address table 5 for one FIFO, and the selector circuit 7 selects the next FIF to be read.
By using the FIFO controller 1 that manages queues of multiple cells corresponding to multiple virtual paths, such as sending O1 addresses to the memory block 2, multiple asynchronous addresses can be generated for each virtual path. It can be used for the same function as using FIFO. In addition, due to the action of small-scale asynchronous FIFO3,
Write clock and read clock can be asynchronous,
Even if reading of cells in the memory block 2 is uneven, the cell spacing on the output side can be made constant.

【0048】[0048]

【発明の効果】以上述べた如く、本出願における第1,
第3の発明(実施例)によれば、固定長のセル型データ
の待ち合わせに使用されるFIFO回路であって、1セ
ル単位でデータの書き込み及び読み出しができるメモリ
ブロックと、該メモリブロックに対し書き込みアドレス
、書き込み開始信号、読み出しアドレス、読み出し開始
信号を与えるFIFOコントローラを備え、図1のよう
な構成を用い、2ポートRAMにより全体を非同期FI
FOで構成することでは充分なバッファ容量を実現する
ことが困難であると言う問題点を解決し、速度もメモリ
バンクを設け、各ワードをバンク分けすることによりN
/2倍(但しNはメモリバンク数)にすることができ、
しかもセル長が任意のデータ長のセルでも扱うことがで
きると言う効果を得ることができる。
[Effects of the Invention] As stated above, the first,
According to the third invention (embodiment), the FIFO circuit is used for waiting for fixed-length cell-type data, and includes a memory block in which data can be written and read in units of one cell, and a memory block for the memory block. It is equipped with a FIFO controller that provides a write address, a write start signal, a read address, and a read start signal, and uses the configuration shown in Figure 1, and the whole is an asynchronous FIFO using a 2-port RAM.
We solved the problem that it was difficult to achieve sufficient buffer capacity by configuring with FO, and the speed was increased by providing memory banks and dividing each word into banks.
/2 times (where N is the number of memory banks),
Moreover, it is possible to obtain the effect that cells having an arbitrary data length can be handled.

【0049】また前記効果の他に、本出願における第2
,第4の発明(実施例)によれば、図2のような構成を
設け、メモリブロックの出力側に小規模非同期FIFO
を設けることにより、書き込みクロックと読み出しクロ
ックを非同期にでき、また、第4の発明(実施例)によ
ると、メモリブロックより出力されるセルの間隔が不定
である場合に小規模非同期FIFOへいったん取り込ん
でから出力するので、メモリブロックでのセルの読み出
しが片寄っても出力側でのセルの間隔を一定にすると言
う効果を得ることができる。しかも本出願における第3
,第4の発明(実施例)において、複数のバーチャルパ
ス毎に複数のセルFIFO回路を設けたのと同じ機能と
して使用できると言う効果を得ることができる。
[0049] In addition to the above effects, the second effect in this application is
According to the fourth invention (embodiment), the configuration shown in FIG. 2 is provided, and a small-scale asynchronous FIFO is provided on the output side of the memory block.
By providing this, the write clock and the read clock can be made asynchronous, and according to the fourth invention (embodiment), when the interval between cells output from the memory block is undefined, it is possible to make the write clock and the read clock asynchronous. Since the output is performed after the output, even if the readout of the cells in the memory block is uneven, it is possible to obtain the effect of making the interval between the cells on the output side constant. Moreover, the third
In the fourth invention (embodiment), it is possible to obtain the effect that it can be used for the same function as providing a plurality of cell FIFO circuits for each of a plurality of virtual paths.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】本発明の第1,第3の実施例であるセルFIF
O回路の構成図である。
[Fig. 1] Cell FIF which is the first and third embodiments of the present invention
FIG. 3 is a configuration diagram of an O circuit.

【図2】本発明の第2,第4の実施例であるセルFIF
O回路の構成図である。
[Fig. 2] Cell FIF which is the second and fourth embodiments of the present invention
FIG. 3 is a configuration diagram of an O circuit.

【図3】メモリブロック内のタイミング制御回路により
制御されるメモリバンクの動作タイミング図である。
FIG. 3 is an operation timing diagram of a memory bank controlled by a timing control circuit within a memory block.

【図4】図1,図2に共通のメモリブロックのブロック
構成図である。
FIG. 4 is a block configuration diagram of a memory block common to FIGS. 1 and 2;

【図5】第3,第4の実施例に共通のFIFOコントロ
ーラの内部構成図である。
FIG. 5 is an internal configuration diagram of a FIFO controller common to the third and fourth embodiments.

【符号の説明】[Explanation of symbols]

1…FIFOコントローラ、2…メモリブロック、3…
小規模非同期FIFO、5…FIFO1個分の読みだし
アドレス表、6…競合制御回路、7…セレクタ、アドレ
ス…メモリブロック中の番地、ICS:書き込み開始信
号、OCSS:読み出し開始信号、JK>0:メモリブ
ロック内にセルが待ち合わせていることをあらわす信号
、WEN:JK>0の書き込み許可信号を小規模非同期
FIFOに取り込む、NOTFUL:FIFOコントロ
ーラに受け入れ可能信号を送出する、REN:NOTF
ULからの書き込み可能信号をFIFOコントローラに
取り込む、LDCK:データバスから小規模非同期FI
FOにクロックを取り込む、IFF:書き込みタイミン
グ信号、OFF:読み出しタイミング信号、WAFF:
書き込みアドレスタイミング信号、RAFF:読み出し
アドレスタイミング信号、WE:書き込み可能信号、O
E:読み出し可能信号、TB:タイミング制御回路、R
EQ:送出可能信号。
1...FIFO controller, 2...memory block, 3...
Small-scale asynchronous FIFO, 5...Read address table for one FIFO, 6...Conflict control circuit, 7...Selector, address...Address in memory block, ICS: Write start signal, OCSS: Read start signal, JK>0: A signal indicating that a cell is waiting in the memory block, WEN: Takes the write permission signal of JK>0 into the small asynchronous FIFO, NOTFUL: Sends an acceptable signal to the FIFO controller, REN: NOTF
LDCK: Small-scale asynchronous FI that takes in the write enable signal from UL to the FIFO controller.
Take clock into FO, IFF: write timing signal, OFF: read timing signal, WAFF:
Write address timing signal, RAFF: Read address timing signal, WE: Write enable signal, O
E: Readable signal, TB: Timing control circuit, R
EQ: Sendable signal.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】  固定長のセル型データの待ち合わせに
使用されるFIFO回路であって、1セル単位でデータ
の書き込み及び読みだしができるメモリブロックと、該
メモリブロックに対し、書き込みアドレス、書き込み開
始信号、読みだしアドレス、および読みだし開始信号を
与えるFIFOコントローラ回路と、から成り、前記メ
モリブロックは、FIFOコントローラからの書き込み
開始信号を受けると、書き込みアドレスに1セル分のデ
ータを取り込み、FIFOコントローラからの読みだし
開始信号を受けると読み出しアドレスから1セル分のデ
ータを出力し、前記FIFOコントローラは、セル到着
時に、すでに待ち合わせ中のセル数があらかじめ設定さ
れた制限数に達しない場合には、メモリブロックに対し
、書き込みアドレスとして未使用のアドレスを与えると
ともに書き込み開始信号を与え、逆に該制限数に達して
いる場合には、該メモリブロックへの書き込み開始信号
を与えないようになっており、またある一定の周期をも
って、待ち合わせ中のセル数が1以上の場合には、該メ
モリブロックに対し読みだしアドレスとして次に出力す
べき待ち合わせ中のセルを収容しているアドレスを与え
るとともに、読みだし開始信号を与え、待ち合わせ中の
セル数が0の場合には、読みだし開始信号を与えないよ
うになっており、前記メモリブロックは、第一より第N
までのN個のメモリバンク(但しNは任意の整数)と、
1個のタイミング制御回路と、1個の書き込みアドレス
変換回路と、1個の読みだしアドレス変換回路と、で構
成され、前記セル到着時の書き込み動作は、セルの先頭
ワードを、前回書き込みを行ったセルの最終ワードが書
き込まれたメモリバンクの、次のメモリバンクに書き込
み、該タイミング制御回路が各メモリバンクに対し順番
に発生する書き込みパルスにしたがい、各メモリバンク
内部の書き込み位置は書き込みアドレス変換回路がFI
FOコントローラからのアドレス値をセル先頭よりのク
ロックパルス数を用いて変換したアドレスにしたがって
、各ワードを前のワードが書き込まれたメモリバンクの
次のメモリバンクに、(ただし前のワードが書き込まれ
たメモリバンクが最終の第Nバンクのときは第一バンク
を次のメモリバンクとして、)書き込みを行い、前記あ
る一定の周期をもって行う読みだし動作は、セルの先頭
ワードを、前回読みだしを行ったセルの最終ワ−ドが読
み出されたメモリバンクの、次のメモリバンクより読み
だし、該タイミング制御回路が各メモリバンクに対し順
番に発生する読みだしパルスにしたがい、各メモリバン
ク内部の読みだし位置は読みだしアドレス変換回路がF
IFOコントローラからのアドレス値をセル先頭よりの
クロックパルス数を用いて変換したアドレスにしたがっ
て、各ワードを前のワードが読み出されたメモリバンク
の次のメモリバンクより、(ただし前のワードが読み出
されたメモリバンクが最終の第Nバンクのときは第一バ
ンクを次のメモリバンクとして、)読みだしを行う、こ
とを特徴とするセルFIFO回路。
Claim 1: A FIFO circuit used for waiting for fixed-length cell-type data, which includes a memory block in which data can be written and read in units of cells, and a write address and write start for the memory block. a FIFO controller circuit that provides a signal, a read address, and a read start signal, and when the memory block receives a write start signal from the FIFO controller, it takes in one cell's worth of data at the write address and sends the data to the FIFO controller. When the FIFO controller receives a read start signal from the read address, it outputs one cell's worth of data from the read address, and if the number of waiting cells does not reach a preset limit when the cell arrives, the FIFO controller An unused address is given as a write address and a write start signal is given to the memory block, and conversely, when the limit has been reached, a write start signal is not given to the memory block. , If the number of waiting cells is 1 or more at a certain period, the address containing the waiting cell to be output next is given to the memory block as the read address, and the read If a reading start signal is given and the number of waiting cells is 0, a reading start signal is not given, and the memory blocks are
N memory banks (where N is any integer) up to
It consists of one timing control circuit, one write address conversion circuit, and one read address conversion circuit, and the write operation upon arrival of the cell is performed by converting the first word of the cell from the previous write. The timing control circuit performs write address conversion on the write position within each memory bank according to write pulses generated sequentially for each memory bank. The circuit is FI
According to the address obtained by converting the address value from the FO controller using the number of clock pulses from the beginning of the cell, each word is transferred to the memory bank next to the memory bank in which the previous word was written (unless the previous word was written). When the last memory bank is the Nth bank, the first bank is set as the next memory bank.) The read operation, which is performed at a certain period, reads the first word of the cell from the previous read. The last word of the cell read out is read from the memory bank next to the memory bank from which the last word of the cell was read. The start position is read and the address conversion circuit is F.
According to the address obtained by converting the address value from the IFO controller using the number of clock pulses from the beginning of the cell, each word is read from the memory bank next to the memory bank from which the previous word was read (but only if the previous word was read). 1. A cell FIFO circuit characterized in that when the output memory bank is the final Nth bank, reading is performed using the first bank as the next memory bank.
【請求項2】  請求項1に記載のセルFIFO回路に
おいて、小規模の非同期FIFOを追加し、前記メモリ
ブロックのデータ出力が該小規模の非同期FIFOのデ
ータ入力になり、該小規模の非同期FIFOは、前記F
IFOコントローラに対し、受け入れ可能信号を与える
ことができ、前記FIFOコントローラは、該小規模の
非同期FIFOに書き込み許可信号を与えることができ
、前記小規模の非同期FIFOは、該非同期FIFO中
のセル数が一定数以下の場合に前記FIFOコントロー
ラに対し受け入れ可能信号を与え、該セル数が一定数を
超える場合には受け入れ可能信号を与えないようにし前
記FIFOコントローラは、前記ある一定の周期をもっ
て行われるメモリブロックからのデータ読みだし動作に
おいて、待ち合わせ中のセル数が1以上でありかつ前記
小規模の非同期FIFOから受け入れ可能信号を与えら
れている場合には、メモリブロックに読みだし開始信号
を与えると同時に前記非同期FIFOに対し書き込み許
可信号を与え、待ち合わせ中のセル数が0であるかまた
は前記小規模の非同期FIFOから受け入れ可能信号を
与えられていない場合には、メモリブロックへの読みだ
し開始信号も、非同期FIFOへの書き込み許可信号も
、与えないようにしたことを特徴とするセルFIFO回
路。
2. In the cell FIFO circuit according to claim 1, a small-scale asynchronous FIFO is added, the data output of the memory block becomes a data input of the small-scale asynchronous FIFO, and the small-scale asynchronous FIFO is the above F
An accept signal may be provided to an IFO controller, the FIFO controller may provide a write permission signal to the small asynchronous FIFO, and the small asynchronous FIFO may be configured to control the number of cells in the asynchronous FIFO. When the number of cells is less than a certain number, an acceptability signal is given to the FIFO controller, and when the number of cells exceeds a certain number, an acceptability signal is not given to the FIFO controller. In a data read operation from a memory block, if the number of waiting cells is 1 or more and an acceptable signal is given from the small-scale asynchronous FIFO, a read start signal is given to the memory block. At the same time, a write permission signal is given to the asynchronous FIFO, and if the number of waiting cells is 0 or an acceptability signal is not given from the small-scale asynchronous FIFO, a read start signal is given to the memory block. A cell FIFO circuit characterized in that neither a write permission signal to the asynchronous FIFO is given.
【請求項3】  複数の属性が定められた固定長のセル
型データの待ち合わせに使用されるFIFO回路であっ
て、1セル単位でデータの書き込み及び読み出しができ
るメモリブロックと、該メモリブロックに対し、書き込
みアドレス、書き込み開始信号、読み出しアドレス、お
よび読み出し開始信号を与えるFIFOコントローラ回
路と、からなり、前記メモリブロックは、FIFOコン
トローラからの書き込み開始信号を受けると、書き込み
アドレスに1セル分のデータを取り込み、FIFOコン
トローラからの読みだし開始信号を受けると読み出しア
ドレスから1セル分のデータを出力し、前記FIFOコ
ントローラは、セルの属性に対応した複数の待ち行列を
管理するFIFOコントローラであって、セル到着時に
、到着セルの属性ごとのすでに待ち合わせ中のセル数が
あらかじめ設定された制限数に達しない場合には、メモ
リブロックに対し、書き込みアドレスとして未使用のア
ドレスを与えるとともに、書き込み開始信号を与え、逆
に該制限数に達している場合には、書き込み開始信号を
与えないようになっており、またある一定の周期をもっ
て、あらじかじめ、固定的に組み込まれるかまたは外部
から与えられる手順にしたがって、読み出しを行うセル
属性を選択し、選択されたセル属性について、待ち合わ
せ中のセル数が1以上の場合には、メモリブロックに対
し、読みだしアドレスとして、次に出力すべき待ち合わ
せ中のセルを収容しているアドレスを与えるとともに、
読みだし開始信号を与え、待ち合わせ中のセル数が0の
場合には、前記選択をやり直すか、または読みだし開始
信号を与えないようになっており、前記メモリブロック
は、第一より第NまでのN個のメモリバンク(但しNは
任意の整数)と、1個のタイミング制御回路と、1個の
書き込みアドレス変換回路と、1個の読みだしアドレス
変換回路と、で構成され、セル到着時の書き込み動作は
、セルの先頭ワードを、前回書き込みを行ったセルの最
終ワードが書き込まれたメモリバンクの、次のメモリバ
ンクに書き込み、以下順次、タイミング制御回路および
アドレス変換回路の作用によって、各ワードを前のワー
ドが書き込まれたメモリバンクの次のメモリバンクに、
(ただし前のワードが書き込まれたメモリバンクが最終
の第Nバンクのときは第一バンクを次のメモリバンクと
して、)書き込みを行い、読みだし動作は、FIFOコ
ントローラが次に読み出すべきセルの先頭ワードが収容
されたメモリバンクを指示し、タイミング制御回路に設
定するようになっており、セルの先頭ワードを、該FI
FOコントローラが指示するメモリバンクより読みだし
、以下順次、タイミング制御回路およびアドレス変換回
路の作用によって、各ワードを前のワードが読み出され
たメモリバンクの次のメモリバンクより、(ただし前の
ワードが読み出されたメモリバンクが最終の第Nバンク
のときは第一バンクを次のメモリバンクとして、)読み
だしを行うことを特徴とするセルFIFO回路。
3. A FIFO circuit used for queuing fixed-length cell-type data with a plurality of attributes defined, comprising a memory block in which data can be written and read in units of one cell, and a memory block for the memory block. , a write address, a write start signal, a read address, and a FIFO controller circuit that provides a read start signal, and when the memory block receives a write start signal from the FIFO controller, it stores data for one cell at the write address. When it receives a read start signal from the FIFO controller, it outputs data for one cell from the read address, and the FIFO controller is a FIFO controller that manages a plurality of queues corresponding to the attributes of the cell. At the time of arrival, if the number of waiting cells for each attribute of the arriving cell does not reach the preset limit, an unused address is given as a write address to the memory block, and a write start signal is given. On the contrary, if the limit number is reached, the write start signal is not given, and at a certain period, a procedure that is fixedly installed in advance or given from the outside is set. Accordingly, select the cell attribute to be read, and if the number of waiting cells for the selected cell attribute is 1 or more, the next waiting cell attribute to be output as the read address for the memory block is selected. along with giving the address that houses the cell,
When a read start signal is given and the number of waiting cells is 0, the selection is redone or no read start signal is given, and the memory blocks are divided into memory blocks from the first to the Nth. It consists of N memory banks (N is any integer), one timing control circuit, one write address conversion circuit, and one read address conversion circuit. In the write operation, the first word of the cell is written to the memory bank next to the memory bank to which the last word of the previously written cell was written. The word is written to the memory bank next to the memory bank in which the previous word was written.
(However, if the memory bank to which the previous word was written is the final Nth bank, the first bank is set as the next memory bank.) Write and read operations are performed at the beginning of the cell to be read next by the FIFO controller. The memory bank in which the word is stored is specified and set in the timing control circuit, and the first word of the cell is
Each word is read from the memory bank specified by the FO controller, and then, by the action of the timing control circuit and address conversion circuit, each word is read from the memory bank next to the memory bank from which the previous word was read (however, the previous word A cell FIFO circuit characterized in that when the memory bank from which the data is read is the final Nth bank, the first bank is read as the next memory bank.
【請求項4】  請求項3に記載のセルFIFO回路に
おいて、小規模の非同期FIFOを追加し、前記メモリ
ブロックのデータ出力が該小規模の非同期FIFOのデ
ータ入力になり、該小規模の非同期FIFOは、前記F
IFOコントローラに対し、受け入れ可能信号を与える
ことができ、前記FIFOコントローラは、該小規模の
非同期FIFOに書き込み許可信号を与えることができ
、前記小規模の非同期FIFOは、該非同期FIFO中
のセル数が一定数以下の場合にFIFOコントローラに
対し受け入れ可能信号を与え、該セル数が一定数を超え
る場合には受け入れ可能信号を与えないようになってお
り、前記FIFOコントローラは、前記メモリブロック
からのデータ読みだし動作において、選択された属性に
ついて待ち合わせ中のセル数が1以上でありかつ前記小
規模の非同期FIFOから受け入れ可能信号を与えられ
ている場合には、メモリブロックに読みだし開始信号を
与えると同時に前記非同期FIFOに対し書き込み許可
信号を与え、選択された属性について待ち合わせ中のセ
ル数が0であるかまたは前記小規模の非同期FIFOか
ら受け入れ可能信号を与えられていない場合には、メモ
リブロックへの読みだし開始信号も、非同期FIFOへ
の書き込み許可信号も与えないようになっていることを
特徴とするセルFIFO回路。
4. In the cell FIFO circuit according to claim 3, a small-scale asynchronous FIFO is added, the data output of the memory block becomes a data input of the small-scale asynchronous FIFO, and the small-scale asynchronous FIFO is the above F
An accept signal may be provided to an IFO controller, the FIFO controller may provide a write permission signal to the small asynchronous FIFO, and the small asynchronous FIFO may be configured to control the number of cells in the asynchronous FIFO. When the number of cells is less than a certain number, an acceptability signal is given to the FIFO controller, and when the number of cells exceeds a certain number, an acceptability signal is not given to the FIFO controller. In a data read operation, if the number of waiting cells for the selected attribute is 1 or more and an acceptability signal is given from the small-scale asynchronous FIFO, a read start signal is given to the memory block. At the same time, a write permission signal is given to the asynchronous FIFO, and if the number of waiting cells for the selected attribute is 0 or an acceptability signal is not given from the small-scale asynchronous FIFO, the memory block A cell FIFO circuit characterized in that neither a read start signal to the asynchronous FIFO nor a write permission signal to the asynchronous FIFO is applied.
JP2412750A 1990-12-21 1990-12-21 Fifo circuit for cell Pending JPH04221491A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2412750A JPH04221491A (en) 1990-12-21 1990-12-21 Fifo circuit for cell

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2412750A JPH04221491A (en) 1990-12-21 1990-12-21 Fifo circuit for cell

Publications (1)

Publication Number Publication Date
JPH04221491A true JPH04221491A (en) 1992-08-11

Family

ID=18521528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2412750A Pending JPH04221491A (en) 1990-12-21 1990-12-21 Fifo circuit for cell

Country Status (1)

Country Link
JP (1) JPH04221491A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793533A (en) * 1992-10-15 1998-08-11 Asahi Kogaku Kogyo Kabushiki Kaisha Zoom lens system
JP2007527079A (en) * 2003-07-02 2007-09-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Single memory with multiple shift register functions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793533A (en) * 1992-10-15 1998-08-11 Asahi Kogaku Kogyo Kabushiki Kaisha Zoom lens system
JP2007527079A (en) * 2003-07-02 2007-09-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Single memory with multiple shift register functions

Similar Documents

Publication Publication Date Title
US5083269A (en) Buffer device suitable for asynchronous transfer mode communication
US5212686A (en) Asynchronous time division switching arrangement and a method of operating same
US5825767A (en) ATM switch with input and output ports
US6226338B1 (en) Multiple channel data communication buffer with single transmit and receive memories
US4862419A (en) High speed pointer based first-in-first-out memory
JP2848400B2 (en) Switching device for prioritized information packets
JPH09502818A (en) Multiport shared memory interface and related methods
EP0960501A2 (en) Data communication system utilizing a scalable, non-blocking, high bandwidth central memory controller and method
US3967070A (en) Memory operation for 3-way communications
US4845704A (en) Switching system for integrated voice/data communications
IL125515A (en) Burst descriptors
JP2628701B2 (en) Switch for prioritized information packets
EP0480368B1 (en) Asynchronous cell switch
EP0695988A2 (en) A first-in first-out memory
JPH04221491A (en) Fifo circuit for cell
US6314489B1 (en) Methods and systems for storing cell data using a bank of cell buffers
JPH0831877B2 (en) Packet switch
JPH09116545A (en) Atm cell multiplexing device
JPH01270431A (en) High-speed packet exchange switch
KR0153946B1 (en) Shared memory i/o bus arbitration apparatus having the priority order conversion and continuous i/o facilities
JP2773757B2 (en) ATM cell multiplexer
KR0181485B1 (en) Data-buffering device for data telecommunication
JPH04291548A (en) High speed large capacity matrix type time division label exchange system
GB2223648A (en) Asynchronous packet switch
JPS5814640A (en) Signal receiving system of data exchange device