JPH10112178A - Fifo memory and its manufacture - Google Patents

Fifo memory and its manufacture

Info

Publication number
JPH10112178A
JPH10112178A JP8281331A JP28133196A JPH10112178A JP H10112178 A JPH10112178 A JP H10112178A JP 8281331 A JP8281331 A JP 8281331A JP 28133196 A JP28133196 A JP 28133196A JP H10112178 A JPH10112178 A JP H10112178A
Authority
JP
Japan
Prior art keywords
control unit
location flag
data
circuit
read
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
JP8281331A
Other languages
Japanese (ja)
Inventor
Hirosuke Terakago
博裕 寺籠
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP8281331A priority Critical patent/JPH10112178A/en
Publication of JPH10112178A publication Critical patent/JPH10112178A/en
Pending legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Abstract

PROBLEM TO BE SOLVED: To simplify design work by making constitution using a hard macro- module. SOLUTION: When digital data is transferred from a first circuit 1 operating with a different clock to a second clock, a FIFO memory 10 having a function performing receipt and delivery of data is designed. A memory module 11 consisting of plural storing sections 11a-11f and a control module 12 consisting of plural control sections 12a-12f are arranged. Each control section is provided with a function storing a flag W (logical value 1) indicating a write-in place and a flag R (logical value l) indicating a read-out place, and a function in which whenever writing processing and reading processing are finished, these flags are transferred to a control section of a poststage. When the flag W catches up the flag R, a signal FULL indicating a full state is transmitted, when the flag R catches up the flag W, a signal EMPTY indicating an empty state is transmitted.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はFIFOメモリに関
し、特に、動作速度の異なる2つの回路間でデジタルデ
ータを転送する際に、両回路の間でデータの受け渡しを
行う機能をもったFIFOメモリに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a FIFO memory, and more particularly, to a FIFO memory having a function of transferring data between two circuits when transferring digital data between two circuits having different operation speeds. .

【0002】[0002]

【従来の技術】互いに動作速度の異なる回路間でデジタ
ルデータの転送を行う場合、両者のクロック周波数が異
なるため、データを一時的に蓄積して受け渡しを媒介す
るFIFO(First In First Out)メモリを中間に設け
る必要がある。すなわち、第1のクロックで動作する第
1の回路から転送すべきデータが出力された場合、第2
のクロックで動作する第2の回路は、このデータを直ち
に取り込むことができないので、FIFOメモリを用い
てデータを一時的に蓄積しておく必要がある。FIFO
メモリに蓄積されたデータは、蓄積された順に、第2の
クロックに同期して第2の回路へと取り込まれる。
2. Description of the Related Art When digital data is transferred between circuits having different operation speeds, since the clock frequencies of the two are different, a FIFO (First In First Out) memory for temporarily storing data and mediating the transfer is provided. It must be provided in the middle. That is, when data to be transferred is output from the first circuit that operates on the first clock, the second circuit
The second circuit that operates with the clock cannot capture this data immediately, so it is necessary to temporarily store the data using a FIFO memory. FIFO
The data stored in the memory is taken into the second circuit in the order of storage in synchronization with the second clock.

【0003】従来のFIFOメモリとしては、デュアル
ポートSRAMを利用したものが一般的である。第1の
回路から第1のクロックに同期して出力されたデータ
は、デュアルポートSRAM内の第1のポートを介して
所定のアドレスへと書き込まれ、書き込まれたデータ
は、第2のポートを介して第2のクロックに同期して第
2の回路へと読み出される。このデュアルポートSRA
Mに対する書込アドレスと読出アドレスとは別個に管理
され、それぞれのアドレスについてポインタが設けられ
る。第1の回路からデータが出力されると、このデータ
は書込ポインタが示すアドレスに書き込まれ、書き込み
後に書込ポインタの値は更新される。一方、第2の回路
へは、読出ポインタが示すアドレスからデータが読み出
され、読み出し後に読出ポインタの値は更新される。こ
うして、両回路を媒介するFIFOメモリでは、データ
の先入れ先出し処理が行われることになる。
A conventional FIFO memory generally uses a dual-port SRAM. Data output from the first circuit in synchronization with the first clock is written to a predetermined address through a first port in the dual-port SRAM, and the written data is transmitted to a second port. The data is read out to the second circuit in synchronization with the second clock. This dual port SRA
The write address and the read address for M are managed separately, and a pointer is provided for each address. When data is output from the first circuit, the data is written to the address indicated by the write pointer, and the value of the write pointer is updated after writing. On the other hand, data is read from the address indicated by the read pointer to the second circuit, and the value of the read pointer is updated after the read. In this way, the FIFO memory that mediates both circuits performs the first-in first-out processing of data.

【0004】また、一般的なFIFOメモリには、第1
の回路に対してメモリが満状態であることを示す信号F
ULLを送信する機能と、第2の回路に対してメモリが
空状態であることを示す信号EMPTYを送信する機能
とが備わっている。これは、第2の回路へのデータ取り
込み処理が遅延した場合には、第1の回路から次々に出
力されたデータによってFIFOメモリが満状態となる
ので、信号FULLを第1の回路へ送信して、データの
出力処理を中断させ、逆に、第1の回路からのデータ出
力処理が遅延した場合には、第2の回路が取り込むべき
データがFIFOメモリ内には存在しない空状態となる
ので、信号EMPTYを第2の回路へ送信して、データ
の取り込み処理を中断させるためである。信号FULL
や信号EMPTYは、書込ポインタの値と読出ポインタ
の値との差に基づいて発生させることができる。
[0004] Further, a general FIFO memory has a first
F indicating that the memory is full for the circuit of FIG.
It has a function of transmitting a ULL and a function of transmitting a signal EMPTY indicating that the memory is empty to the second circuit. This is because if the data fetch processing to the second circuit is delayed, the FIFO memory becomes full due to the data successively output from the first circuit, so that the signal FULL is transmitted to the first circuit. If the data output processing is interrupted, and conversely, if the data output processing from the first circuit is delayed, the data to be captured by the second circuit is in an empty state in which no data exists in the FIFO memory. , And the signal EMPTY to the second circuit to interrupt the data fetch process. Signal FULL
The signal EMPTY can be generated based on the difference between the value of the write pointer and the value of the read pointer.

【0005】[0005]

【発明が解決しようとする課題】上述したように、従来
の一般的なFIFOメモリは、デュアルポートSRAM
を利用したものであるが、このデュアルポートSRAM
へのアクセスを統括制御するために、専用のコントロー
ル部が必要になる。この専用のコントロール部は、書込
ポインタや読出ポインタの管理や、信号FULLや信号
EMPTYを発生する処理などを行うための回路であ
る。ところが、一般的なデュアルポートSRAMは、ハ
ードマクロモジュールとして、セルライブラリに用意さ
れている既製のものを利用して設計することができる
が、専用のコントロール部は、このようなセルライブラ
リ内の汎用モジュールを利用することはできず、カウン
タ、比較器、組み合わせ論理回路、などの部品を組み合
わせたソフトマクロモジュール(ネットリストモジュー
ル)として、その都度、新たに設計せざるを得ない。近
年では、ICの設計を、自動マスクレイアウトツールを
用いた自動配置配線によって効率的に行うのが主流であ
るが、セルライブラリ内に用意された既製のモジュール
だけを用いた設計を行うことができないと、このような
効率的な設計作業を行う上で大きな支障となる。
As described above, a conventional general FIFO memory is a dual-port SRAM.
This dual port SRAM
A dedicated control unit is required to control access to the system. The dedicated control unit is a circuit for managing the write pointer and the read pointer, and performing processing for generating the signal FULL and the signal EMPTY. However, a general dual-port SRAM can be designed by using a ready-made hard macro module prepared in a cell library. A module cannot be used, and a software macro module (netlist module) in which components such as a counter, a comparator, and a combinational logic circuit are combined must be newly designed each time. In recent years, it has been mainstream to efficiently design ICs by automatic placement and routing using an automatic mask layout tool, but it is not possible to design using only ready-made modules prepared in a cell library. This is a great obstacle to performing such an efficient design work.

【0006】たとえば、設計者は、FIFOメモリを組
み込んだ回路の論理設計を行う段階で、FIFOメモリ
の遅延特性を見積もった設計を行う必要がある。しか
も、この論理設計に基づいて、自動マスクレイアウトツ
ールを用いた自動配置配線を行った結果、実際のレイア
ウトにおける遅延特性が見積もりと大きく異なった場合
には、再び、論理設計をやり直す必要がある。もちろ
ん、このような再設計を行わざるを得ない事態を避ける
ために、遅延特性の見積もりに十分に余裕をみた論理設
計を行うことも可能であるが、余裕をみればみるほど、
本来の実効能力よりも劣った論理設計しかできないこと
になる。
For example, at the stage of performing a logic design of a circuit in which a FIFO memory is incorporated, it is necessary for a designer to perform a design by estimating delay characteristics of the FIFO memory. In addition, if automatic placement and routing using an automatic mask layout tool is performed based on this logical design and the delay characteristics in the actual layout are significantly different from the estimated values, it is necessary to perform the logical design again. Of course, in order to avoid having to perform such a redesign, it is possible to perform a logic design with a sufficient margin for estimating the delay characteristics, but the more margin, the more
Only a logical design that is inferior to the original effective ability can be performed.

【0007】特に、近年では、ASIC(Application
Specific Integrated Circuit :特定用途向け集積回
路)の需要が高まってきており、SOG−GA(Sea Of
Gate- Gate Array:ゲート敷き詰め型のゲートアレ
イ)を利用してASICを設計することが広く行われる
ようになってきている。このようなSOG−GAを利用
して設計された回路では、任意のビット数、任意のワー
ド数をもったFIFOメモリが要求されることになる
が、このように任意の記憶容量をもったFIFOメモリ
を、ソフトマクロモジュールとして設計する作業は多大
な労力と時間を要する作業になる。特に、2のべき乗で
表される数(2,4,8,16,32,…)以外のワー
ド数をもったFIFOメモリを実現する必要がある場
合、アドレスポインタを単なるカウンタによって構成す
ることができず、論理設計は非常に複雑な作業にならざ
るを得ない。
In particular, in recent years, ASICs (Application
Demand for Specific Integrated Circuits (ICs) is increasing, and SOG-GAs (Sea Of
Designing an ASIC using a gate-gate array (gate-laying gate array) has been widely performed. In a circuit designed using such an SOG-GA, a FIFO memory having an arbitrary number of bits and an arbitrary number of words is required, and a FIFO memory having an arbitrary storage capacity is required. The task of designing a memory as a soft macro module requires a lot of labor and time. In particular, if it is necessary to realize a FIFO memory having a number of words other than the number represented by a power of 2 (2, 4, 8, 16, 32,...), The address pointer may be constituted by a simple counter. No, logic design has to be a very complex task.

【0008】そこで本発明は、設計作業を単純化させる
ことができるFIFOメモリおよびその製造方法を提供
することを目的とする。
SUMMARY OF THE INVENTION An object of the present invention is to provide a FIFO memory and a method for manufacturing the same, which can simplify the design work.

【0009】[0009]

【課題を解決するための手段】[Means for Solving the Problems]

(1) 本発明の第1の態様は、第1のクロックで動作す
る第1の回路から、第2のクロックで動作する第2の回
路へ、デジタルデータを転送する際に、両回路の間でデ
ータの受け渡しを行う機能をもったFIFOメモリにお
いて、転送すべきデータのビット数に応じた容量をもつ
記憶部を、複数M個配置してなるメモリモジュールと、
各記憶部に対応して設けられたM個の制御部からなる制
御モジュールと、を用意し、各制御部には、書込場所フ
ラグWおよび読出場所フラグRを格納する機能と、これ
らのフラグを後段の制御部へ転送する機能とを設け、リ
セット信号が与えられたときに、書込場所フラグWおよ
び読出場所フラグRが、初段となる所定の制御部に格納
されるようにし、第1の回路から第1のクロックに同期
してデータが出力されたら、メモリモジュールは、その
時点において書込場所フラグWが格納されている制御部
に対応する記憶部に、この出力されたデータを書き込む
処理を行い、書込場所フラグWを格納していた制御部
は、この書込場所フラグWを後段の制御部へと転送する
処理を行い、第2の回路から第2のクロックに同期した
データ入力の要求があったら、メモリモジュールは、そ
の時点において読出場所フラグRが格納されている制御
部に対応する記憶部から、データを読出して第2の回路
へ与える処理を行い、読出場所フラグRが格納されてい
た制御部は、この読出場所フラグRを後段の制御部へ転
送する処理を行い、各制御部が、読出場所フラグRを格
納しているときに、前段から書込場所フラグWの転送を
受けたときに、第1の回路に対してFIFOメモリが満
状態であることを示す信号FULLを送信し、逆に、書
込場所フラグWを格納しているときに、前段から読出場
所フラグRの転送を受けたときに、第2の回路に対して
FIFOメモリが空状態であることを示す信号EMPT
Yを送信する処理を行うようにしたものである。
(1) The first aspect of the present invention is a method for transferring digital data from a first circuit operating on a first clock to a second circuit operating on a second clock, between the two circuits. A memory module in which a plurality of M storage units having a capacity corresponding to the number of bits of data to be transferred are arranged in a FIFO memory having a function of transferring data by
A control module comprising M control units provided corresponding to each storage unit is provided, and each control unit has a function of storing a write location flag W and a read location flag R, And a function of transferring the write location flag W and the read location flag R to a predetermined control unit at the first stage when a reset signal is supplied, so that the first When the data is output from the circuit in synchronization with the first clock, the memory module writes the output data to the storage unit corresponding to the control unit in which the write location flag W is stored at that time. The control unit that has performed the processing and has stored the write location flag W performs a process of transferring the write location flag W to the control unit at the subsequent stage, and the data synchronized with the second clock from the second circuit. The input request is Then, the memory module performs a process of reading data from the storage unit corresponding to the control unit in which the read location flag R is stored at that time and giving the data to the second circuit, and the read location flag R is stored. The control unit performs a process of transferring the read location flag R to the subsequent control unit. When each control unit stores the read location flag R, the control unit receives the transfer of the write location flag W from the previous stage. At the same time, a signal FULL indicating that the FIFO memory is full is transmitted to the first circuit. Conversely, when the write location flag W is stored, the read location flag R When receiving the transfer, a signal EMPT indicating to the second circuit that the FIFO memory is empty
The processing for transmitting Y is performed.

【0010】(2) 本発明の第2の態様は、上述の第1
の態様に係るFIFOメモリにおいて、1ビットの記憶
素子を縦方向にL個並べて配置することによりLビット
の容量をもった記憶部を構成し、この記憶部を横方向に
M個並べて配置することによりLビットMワードの容量
をもったメモリモジュールを構成し、制御部を記憶部と
同じピッチで横方向にM個並べて配置することにより制
御モジュールを構成し、各記憶部とこれに対応する各制
御部とが互いに隣接配置されるようにしたものである。
(2) The second aspect of the present invention is the above-mentioned first aspect.
In the FIFO memory according to the aspect, a storage unit having a capacity of L bits is configured by arranging L one-bit storage elements in the vertical direction, and arranging M storage units in the horizontal direction. To form a memory module having a capacity of L bits and M words, and to form a control module by arranging M control units in the horizontal direction at the same pitch as the storage unit. The control section and the control section are arranged adjacent to each other.

【0011】(3) 本発明の第3の態様は、上述の第2
の態様に係るFIFOメモリにおいて、リセット信号が
与えられたときに、書込場所フラグWおよび読出場所フ
ラグRのいずれも生成しない第1の制御部と、リセット
信号が与えられたときに、書込場所フラグWおよび読出
場所フラグRの双方を生成する第2の制御部と、を用意
し、第1の制御部を(M−1)個配置するとともに、第
2の制御部を1個配置することにより、制御モジュール
を構成するようにしたものである。
(3) The third aspect of the present invention is the above-mentioned second aspect.
In the FIFO memory according to the aspect, when the reset signal is applied, the first control unit that does not generate any of the write location flag W and the read location flag R, and when the reset signal is applied, the write control is performed. And a second control unit that generates both the location flag W and the reading location flag R, and (M-1) first control units are arranged, and one second control unit is arranged. Thus, a control module is configured.

【0012】(4) 本発明の第4の態様は、上述の第2
または第3の態様に係るFIFOメモリにおいて、各制
御部が、書込場所フラグWを格納しているときに、対応
する記憶部内の記憶素子に対して書込許可信号WWを出
力し、読出場所フラグRを格納しているときに、対応す
る記憶部内の記憶素子に対して読出許可信号RRを出力
するようにしたものである。
(4) The fourth aspect of the present invention is the above-mentioned second aspect.
Alternatively, in the FIFO memory according to the third aspect, when each control unit stores the write location flag W, the control unit outputs a write enable signal WW to a storage element in a corresponding storage unit, When the flag R is stored, the read permission signal RR is output to the storage element in the corresponding storage unit.

【0013】(5) 本発明の第5の態様は、上述の第2
の態様に係るFIFOメモリの製造方法において、各記
憶素子および各制御部を、それぞれハードマクロモジュ
ールとしてライブラリに登録されたセルの形式で用意
し、記憶素子についてのセルを、縦方向にL個、横方向
にM個配列することにより、LビットMワードの容量を
もったメモリモジュールを構成し、制御部についてのセ
ルを、記憶素子についてのセルと同じピッチで横方向に
M個並べて配置することにより制御モジュールを構成す
るようにしたものである。
(5) The fifth aspect of the present invention is the above-mentioned second aspect.
In the method for manufacturing a FIFO memory according to the aspect, each storage element and each control unit are prepared in the form of cells registered in a library as hard macro modules, and L cells for the storage elements are vertically arranged. A memory module having a capacity of L bits and M words is configured by arranging M cells in the horizontal direction, and M cells for the control unit are arranged in the horizontal direction at the same pitch as the cells for the storage elements. The control module is constituted by.

【0014】[0014]

【発明の実施の形態】以下、本発明を図示する実施形態
に基づいて説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below based on an embodiment shown in the drawings.

【0015】§1. 従来の一般的なFIFOメモリ はじめに、従来の一般的なFIFOメモリの構造を簡単
に説明する。図1は、互いに動作速度の異なる第1の回
路1および第2の回路2間で、デジタルデータの転送を
行う場合に、両者を媒介するために用いられる一般的な
FIFOメモリ3を示す概念図である。第1の回路1は
第1のクロックCK1で動作し、第2の回路2は第2の
クロックCK2で動作するため、両回路は非同期動作を
行うことになり、両者間でデータ転送を行う場合には、
時間差を吸収するためのFIFOメモリ3を媒介させる
必要がある。ここに示すFIFOメモリ3には、転送す
べきデータのビット数に応じた容量をもつ記憶部が合計
6個設けられている。たとえば、転送すべきデータが8
ビットのデータである場合には、6個の記憶部A〜F
は、いずれも8ビットのデータを格納する記憶容量を有
しており、このFIFOメモリ3は、8ビット6ワード
の容量をもったメモリとして機能する。
§1. Introduction conventional general FIFO memory, briefly described conventional general FIFO structure of the memory. FIG. 1 is a conceptual diagram showing a general FIFO memory 3 used for mediating digital data transfer between a first circuit 1 and a second circuit 2 having different operation speeds. It is. Since the first circuit 1 operates with the first clock CK1 and the second circuit 2 operates with the second clock CK2, both circuits perform an asynchronous operation. In
It is necessary to mediate the FIFO memory 3 for absorbing the time difference. The FIFO memory 3 shown here is provided with a total of six storage units having a capacity corresponding to the number of bits of data to be transferred. For example, if the data to be transferred is 8
If the data is bit data, the six storage units A to F
Have a storage capacity for storing 8-bit data, and the FIFO memory 3 functions as a memory having a capacity of 8 bits and 6 words.

【0016】ここで、第1の回路1から第2の回路2
へ、デジタルデータX1,X2,X3,…を転送する場
合は、次のような処理が行われる。まず、第1の回路1
からは、第1のクロックCK1に同期したタイミング
で、転送すべきデータX1,X2,X3が順次出力され
る。これらのデータは、FIFOメモリ3内の空いてい
る記憶部へと順次格納されてゆく。一方、第2の回路2
からのデータの取り込み要求があると、FIFOメモリ
3内に格納されたデータが格納された順に、第2のクロ
ックCK2に同期したタイミングで順次読み出される。
このような先入れ先出しの処理を行うために、書込ポイ
ンタPwrite と読出ポインタPreadとが利用される。書
込ポインタPwrite は、第1の回路1から出力されたデ
ータを書き込むべき記憶部を指し示すポインタであり、
読出ポインタPreadは、第2の回路へとデータを読み出
すべき記憶部を指し示すポインタである。たとえば、図
1に示す例では、記憶部A,B,Cには、既にデータX
1,X2,X3が書き込まれており、書込ポインタPwr
ite は次にデータを書き込むべき記憶部Dを指し示して
いる。第1の回路1から次のデータX4が出力される
と、このデータX4は書込ポインタPwrite が指し示し
ている記憶部Dに書き込まれることになり、書込ポイン
タPwrite は次の記憶部Eを指し示すように更新され
る。一方、第2の回路2へデータを読み出す場合には、
まず、読出ポインタPreadが指し示している記憶部Aか
らデータX1が読み出されることになり、読出ポインタ
Preadは次の記憶部Bを指し示すように更新される。
Here, the first circuit 1 to the second circuit 2
, The following processing is performed. First, the first circuit 1
Thereafter, data X1, X2, and X3 to be transferred are sequentially output at a timing synchronized with the first clock CK1. These data are sequentially stored in an empty storage unit in the FIFO memory 3. On the other hand, the second circuit 2
When there is a data fetch request from the FIFO memory 3, the data stored in the FIFO memory 3 are sequentially read out in the order in which they are stored at the timing synchronized with the second clock CK2.
In order to perform such first-in first-out processing, a write pointer Pwrite and a read pointer Pread are used. The write pointer Pwrite is a pointer that indicates a storage unit to which data output from the first circuit 1 is to be written.
The read pointer Pread is a pointer that indicates a storage unit from which data is to be read to the second circuit. For example, in the example shown in FIG. 1, data X is already stored in the storage units A, B, and C.
1, X2, X3 are written, and the write pointer Pwr
ite indicates the storage unit D to which data is to be written next. When the next data X4 is output from the first circuit 1, this data X4 is written to the storage unit D pointed to by the write pointer Pwrite, and the write pointer Pwrite points to the next storage unit E. Will be updated as follows. On the other hand, when reading data to the second circuit 2,
First, the data X1 is read from the storage unit A pointed to by the read pointer Pread, and the read pointer Pread is updated so as to point to the next storage unit B.

【0017】このFIFOメモリ3には、全記憶部が満
状態になったことを示す信号FULLを第1の回路1へ
送信する機能と、全記憶部が空状態になったことを示す
信号EMPTYを第2の回路2へ送信する機能と、が備
わっている。たとえば、図1に示す状態において、デー
タ読出しが行われることなしに、新たなデータX4,X
5,X6が書き込まれると、全記憶部が満状態となるの
で、第1の回路1に対して信号FULLが送信される。
第1の回路1は、この信号FULLが送信された場合に
は、データ転送処理を一時休止する。逆に、図1に示す
状態において、更なるデータ書き込みが行われることな
しに、格納されていた全データX1,X2,X3が読み
出されると、全記憶部が空状態となるので、第2の回路
2に対して信号EMPTYが送信される。第2の回路2
は、この信号EMPTYが送信された場合には、データ
取込処理を一時休止する。
The FIFO memory 3 has a function of transmitting a signal FULL indicating that all storage units are full to the first circuit 1 and a signal EMPTY indicating that all storage units are empty. To the second circuit 2. For example, in the state shown in FIG. 1, new data X4, X4
When 5 and X6 are written, all the storage units become full, so that the signal FULL is transmitted to the first circuit 1.
When the signal FULL is transmitted, the first circuit 1 temporarily suspends the data transfer process. Conversely, in the state shown in FIG. 1, when all the stored data X1, X2, and X3 are read out without performing further data writing, all the storage units become empty, so the second Signal EMPTY is transmitted to circuit 2. Second circuit 2
Suspends the data fetch process when this signal EMPTY is transmitted.

【0018】このような機能をもったFIFOメモリを
実現するために、従来は、デュアルポートSRAMが用
いられていた。図2は、従来のFIFOメモリの一般的
な構成を示すブロック図である。このFIFOメモリの
主たる構成要素は、デュアルポートSRAM4とコント
ロール部5である。デュアルポートSRAM4は、書込
ポートと読出ポートとを有し、第1の回路1が出力した
データは、第1のクロックCK1に同期したタイミング
で、書込ポートから書き込まれ、第2の回路2へ取り込
むデータは、第2のクロックCK2に同期したタイミン
グで、読出ポートから読み出される。コントロール部5
は、書込ポートに対して書込アドレスを指示するととも
に、読出ポートに対して読出アドレスを指示する機能を
有する。これらのアドレスは、図1における書込ポイン
タPwrite および読出ポインタPreadに相当するもので
あり、書込ポートに与えられたデータは、書込アドレス
によって指定されるSRAM内のアドレス場所に格納さ
れ、読出ポートから取り出されるデータは、読出アドレ
スによって指定されるSRAM内のアドレス場所から取
り出されることになる。コントロール部5は、書込処理
あるいは読出処理が行われるごとに、書込アドレスある
いは読出アドレスを更新する処理を行い、両アドレスの
差が所定の条件を満たした場合には、信号FULLある
いは信号EMPTYを生成して送信する処理を行う。
Conventionally, a dual-port SRAM has been used to realize a FIFO memory having such a function. FIG. 2 is a block diagram showing a general configuration of a conventional FIFO memory. The main components of the FIFO memory are a dual-port SRAM 4 and a control unit 5. The dual-port SRAM 4 has a write port and a read port, and data output from the first circuit 1 is written from the write port at a timing synchronized with the first clock CK1, and the second circuit 2 The data to be taken into is read from the read port at a timing synchronized with the second clock CK2. Control part 5
Has a function of instructing a write address to a write port and instructing a read address to a read port. These addresses correspond to the write pointer Pwrite and the read pointer Pread in FIG. 1. The data applied to the write port is stored at the address location in the SRAM designated by the write address, and Data retrieved from the port will be retrieved from the address location in the SRAM specified by the read address. The control unit 5 performs a process of updating the write address or the read address every time the write process or the read process is performed, and when the difference between the two addresses satisfies a predetermined condition, the signal FULL or the signal EMPTY. The process of generating and transmitting is performed.

【0019】このような従来のFIFOメモリを設計す
る場合、デュアルポートSRAM4については、ハード
マクロモジュールとしてセルライブラリ内に用意されて
いる汎用のデュアルポートSRAMをそのまま利用すれ
ばよいが、コントロール部5については、カウンタ、比
較器、組み合わせ論理回路、などの部品を組み合わせた
ソフトマクロモジュールとして、その都度、新たに設計
せざるを得ない。このため、設計作業に多大な労力と時
間が必要になることは既に述べたとおりである。
When designing such a conventional FIFO memory, a general-purpose dual-port SRAM prepared in a cell library as a hard macro module may be used as it is for the dual-port SRAM 4. Must be newly designed each time as a soft macro module in which components such as a counter, a comparator, and a combinational logic circuit are combined. As described above, a great deal of labor and time are required for the design work.

【0020】§2. 本発明に係るFIFOメモリ 本発明に係るFIFOメモリ10の基本構成を、図3の
ブロック図に示す。このFIFOメモリ10の主たる構
成要素は、メモリモジュール11と制御モジュール12
である。メモリモジュール11は、転送すべきデータの
ビット数に応じた容量をもつ記憶部を、複数M個配置し
てなるモジュールであり、図示の例では、8ビットの容
量をもつ6個の記憶部11a〜11fにより、メモリモ
ジュール11が構成されている。一方、制御モジュール
12は、これら各記憶部に対応して設けられたM個の制
御部からなるモジュールであり、図示の例では、6個の
記憶部11a〜11fにそれぞれ対応して設けられた6
個の制御部12a〜12fにより、制御モジュール12
が構成されている。
§2. FIFO Memory According to the Present Invention The basic configuration of the FIFO memory 10 according to the present invention is shown in the block diagram of FIG. The main components of the FIFO memory 10 are a memory module 11 and a control module 12
It is. The memory module 11 is a module in which a plurality of M storage units having a capacity corresponding to the number of bits of data to be transferred are arranged. In the illustrated example, six storage units 11 a having a capacity of 8 bits are used. To 11f constitute the memory module 11. On the other hand, the control module 12 is a module including M control units provided corresponding to these storage units, and in the illustrated example, is provided corresponding to the six storage units 11a to 11f, respectively. 6
The control modules 12a to 12f
Is configured.

【0021】第1の回路1から出力された8ビットのデ
ータX1,X2,X3,…は、メモリモジュール11内
の6個の記憶部11a〜11fのいずれかに書き込まれ
ることになり、格納されたデータX1,X2,X3は、
格納された順に、第2の回路2へと読み出されることに
なるが、このとき、制御モジュール12によって、どの
記憶部へ書き込みを行うか、あるいはどの記憶部から読
出しを行うか、が指示される。このような指示を行うた
めに、各制御部12a〜12fには、それぞれ書込場所
フラグWおよび読出場所フラグRを格納する領域が設け
られている。図示の例では、各制御部は破線で上下の領
域に分割されており、上部が書込場所フラグWを格納す
る領域、下部が読出場所フラグRを格納する領域であ
る。ここでは、書込場所フラグWも読出場所フラグRも
いずれもビット“1”によって表されており、ビット
“0”が記された領域はフラグが格納されていない状態
を示し、ビット“1”が記された領域はフラグが格納さ
れている状態を示している。
The 8-bit data X1, X2, X3,... Output from the first circuit 1 are written to any of the six storage units 11a to 11f in the memory module 11 and stored therein. Data X1, X2, X3
The data are read out to the second circuit 2 in the order in which they are stored. At this time, the control module 12 instructs which storage unit to write to or from which storage unit to read. . In order to issue such an instruction, each of the control units 12a to 12f is provided with an area for storing a writing location flag W and a reading location flag R, respectively. In the illustrated example, each control unit is divided into upper and lower regions by broken lines, and the upper part is an area for storing the writing location flag W, and the lower part is an area for storing the reading location flag R. Here, both the write location flag W and the read location flag R are represented by a bit “1”, and an area in which a bit “0” is written indicates a state where no flag is stored, and a bit “1”. Indicates the state where the flag is stored.

【0022】具体的には、図3に示されている例では、
書込場所フラグWは制御部12dに格納されており、読
出場所フラグRは制御部12aに格納されている。書込
場所フラグWは、第1の回路1からデータが出力された
場合に、このデータを書き込むべき場所を示しており、
読出場所フラグRは、第2の回路2へデータを取り込む
場合に、データを読み込むべき場所を示している。
Specifically, in the example shown in FIG.
The writing location flag W is stored in the control unit 12d, and the reading location flag R is stored in the control unit 12a. The write location flag W indicates a location where the data is to be written when the data is output from the first circuit 1.
The read location flag R indicates a location where the data should be read when the data is loaded into the second circuit 2.

【0023】第1の回路1から第1のクロックCK1に
同期してデータが出力されると、メモリモジュール11
は、その時点において書込場所フラグWが格納されてい
る制御部に対応する記憶部に、この出力されたデータを
書き込む処理を行い、書込場所フラグWを格納していた
制御部は、この書込場所フラグWを後段の制御部へと転
送する処理を行う。たとえば、図示の状態において、第
1の回路1からデータX4が出力された場合、このデー
タX4は、現在、書込場所フラグWが格納されている制
御部12dに対応する記憶部11dに書き込まれること
になる。そして、書込場所フラグWは、制御部12dか
ら後段の制御部12eへと転送される(制御部12dの
上部がビット“0”になり、制御部12eの上部がビッ
ト“1”になる)。
When data is output from the first circuit 1 in synchronization with the first clock CK1, the memory module 11
Performs a process of writing the output data to the storage unit corresponding to the control unit in which the writing location flag W is stored at that time, and the control unit that has stored the writing location flag W A process of transferring the write location flag W to the subsequent control unit is performed. For example, when the data X4 is output from the first circuit 1 in the illustrated state, the data X4 is written to the storage unit 11d corresponding to the control unit 12d in which the write location flag W is currently stored. Will be. Then, the write location flag W is transferred from the control unit 12d to the control unit 12e at the subsequent stage (the upper part of the control unit 12d becomes bit "0" and the upper part of the control unit 12e becomes bit "1"). .

【0024】一方、第2の回路2から第2のクロックC
K2に同期してデータ入力の要求があると、メモリモジ
ュール11は、その時点において読出場所フラグRが格
納されている制御部に対応する記憶部から、データを読
出して第2の回路へ与える処理を行い、読出場所フラグ
Rを格納していた制御部は、この読出場所フラグRを後
段の制御部へ転送する処理を行う。たとえば、図示の状
態において、第2の回路2へデータを取り込む場合、現
在、読出場所フラグRが格納されている制御部12aに
対応する記憶部11aに格納されているデータX1が第
2の回路2へと読み出されることになる。そして、読出
場所フラグRは、制御部12aから後段の制御部12b
へと転送される(制御部12aの下部がビット“0”に
なり、制御部12bの下部がビット“1”になる)。
On the other hand, from the second circuit 2 to the second clock C
When there is a data input request in synchronization with K2, the memory module 11 reads data from the storage unit corresponding to the control unit in which the read location flag R is stored at that time and gives the data to the second circuit. Is performed, and the control unit storing the readout location flag R performs a process of transferring the readout location flag R to the control unit in the subsequent stage. For example, when data is taken into the second circuit 2 in the illustrated state, the data X1 stored in the storage unit 11a corresponding to the control unit 12a in which the readout location flag R is currently stored is stored in the second circuit 2. 2 will be read. Then, the read location flag R is transmitted from the control unit 12a to the control unit 12b in the subsequent stage.
(The lower part of the control unit 12a becomes bit “0” and the lower part of the control unit 12b becomes bit “1”).

【0025】このように、書込場所フラグWおよび読出
場所フラグRは、常に、制御モジュール12を構成する
各制御部12a〜12fのいずれか1つに格納され、第
1のクロックCK1に同期した書込処理が実行されるた
びに書込場所フラグWは後段の制御部へと転送され、第
2のクロックCK2に同期した読出処理が実行されるた
びに読出場所フラグRは後段の制御部へと転送される。
図示の例では、図の左から右へ、位置A,B,C,D,
E,Fの順に各段が定義されており、各フラグは、制御
部12a,12b,12c,12d,12e,12fの
順に転送されることになる(図では、ビット“1”が1
ますずつ右へ移動してゆくことになる)。ただし、位置
Fの後段として位置Aが定義されており、制御部12f
から転送されたフラグは制御部12aへと戻るような循
環ループが形成されることになる。
As described above, the write location flag W and the read location flag R are always stored in any one of the control units 12a to 12f constituting the control module 12, and are synchronized with the first clock CK1. Each time the write processing is executed, the write location flag W is transferred to the subsequent control unit, and every time the read processing synchronized with the second clock CK2 is executed, the read location flag R is transmitted to the subsequent control unit. Is transferred.
In the illustrated example, the positions A, B, C, D,
Each stage is defined in the order of E and F, and each flag is transferred in the order of the control units 12a, 12b, 12c, 12d, 12e, and 12f (bit "1" is 1 in the figure).
It will gradually move to the right.) However, the position A is defined as a subsequent stage of the position F, and the control unit 12f
Thus, a circulation loop is formed in which the flags transferred from the control unit 12a return to the control unit 12a.

【0026】なお、このFIFOメモリ10を最初に利
用する場合には、リセット信号を与えることにより初期
設定を行う。すなわち、このFIFOメモリ10にリセ
ット信号を与えると、書込場所フラグWおよび読出場所
フラグRは、いずれも初段となる制御部12aに格納さ
れた状態になる(図では、一番左の上下のますにそれぞ
れビット“1”が記入され、他のすべてのますにビット
“0”が記入された状態になる)。もっとも、初段の位
置は必ずしも位置Aにする必要はなく、任意の位置に定
義してかまわない。この初期設定の状態では、メモリモ
ジュール11を構成するすべての記憶部11a〜11f
は空として扱われる。
When the FIFO memory 10 is used for the first time, an initial setting is performed by giving a reset signal. That is, when a reset signal is applied to the FIFO memory 10, the write location flag W and the read location flag R are both stored in the control unit 12a, which is the first stage (in the figure, the upper left and lower left and right sides). First, a bit "1" is written in each case, and a bit "0" is written in all other squares.) However, the position of the first stage does not necessarily have to be position A, and may be defined at any position. In this initial setting state, all the storage units 11a to 11f configuring the memory module 11 are set.
Is treated as empty.

【0027】リセットを行った後に、第1の回路1から
出力された最初のデータX1は、その時点で書込場所フ
ラグWが格納されている制御部12aに対応した記憶部
11aに書き込まれ、書込場所フラグWは次の制御部1
2bへと転送される。続いて、第1の回路1から出力さ
れたデータX2は、その時点で書込場所フラグWが格納
されている制御部12bに対応した記憶部11bに書き
込まれ、書込場所フラグWは次の制御部12cへと転送
される。更に、第1の回路1からデータX3が出力され
ると、このデータX3は、その時点で書込場所フラグW
が格納されている制御部12cに対応した記憶部11c
に書き込まれ、書込場所フラグWは次の制御部12dへ
と転送される。図3に示す各フラグの状態は、このとき
の状態を示すものである。このように、制御モジュール
12内に格納された書込場所フラグWおよび読出場所フ
ラグRによって、データの書込場所および読出場所を決
定するようにすれば、先入れ先出しによるデータの受け
渡しが可能になる。
After the reset, the first data X1 output from the first circuit 1 is written to the storage unit 11a corresponding to the control unit 12a in which the writing location flag W is stored at that time. The write location flag W is set in the next control unit 1
2b. Subsequently, the data X2 output from the first circuit 1 is written in the storage unit 11b corresponding to the control unit 12b in which the writing location flag W is stored at that time, and the writing location flag W is The data is transferred to the control unit 12c. Further, when the data X3 is output from the first circuit 1, the data X3 is stored in the writing location flag W at that time.
Storage unit 11c corresponding to the control unit 12c in which is stored
And the write location flag W is transferred to the next control unit 12d. The state of each flag shown in FIG. 3 indicates the state at this time. As described above, if the write location and the read location of the data are determined by the write location flag W and the read location flag R stored in the control module 12, data can be transferred on a first-in first-out basis.

【0028】また、このFIFOメモリ10では、全記
憶部11a〜11fが満状態になると、信号FULLが
第1の回路1へと送信され、全記憶部11a〜11fが
空状態になると、信号EMPTYが第2の回路2へと送
信される。これは、各制御部12a〜12fが次のよう
な機能を有しているためである。すなわち、各制御部1
2a〜12fは、読出場所フラグRを格納しているとき
に、前段から書込場所フラグWの転送を受けると、第1
の回路1に対して信号FULLを送信し、逆に、書込場
所フラグWを格納しているときに、前段から読出場所フ
ラグRの転送を受けると、第2の回路2に対して信号E
MPTYを送信する機能を有する。
In this FIFO memory 10, when all the storage units 11a to 11f are full, a signal FULL is transmitted to the first circuit 1, and when all the storage units 11a to 11f are empty, the signal EMPTY is output. Is transmitted to the second circuit 2. This is because the control units 12a to 12f have the following functions. That is, each control unit 1
2a to 12f receive the transfer of the write location flag W from the preceding stage while storing the read location flag R, the first
FULL is transmitted to the circuit 1 of FIG. 1, and conversely, when the read location flag R is transferred from the preceding stage while the write location flag W is stored, the signal E is transmitted to the second circuit 2.
It has a function of transmitting MPTY.

【0029】この機能を、図3の例に基づいて具体的に
説明しよう。たとえば、図3に示す状態において、第2
の回路2へのデータ読出しが行われることなしに、第1
の回路1から新たなデータX4,X5,X6が出力され
ると、記憶部11d,11e,11fに、それぞれデー
タX4,X5,X6が書き込まれることになり、全記憶
部が満状態になる。このとき、データX6が記憶部11
fに書き込まれた時点で、制御部12fに格納されてい
た書込場所フラグWが後段へと転送される処理が行わ
れ、書込場所フラグWは循環して制御部12aへと転送
されることになる。すると、制御部12aは、読出場所
フラグRを格納しているときに、前段から書込場所フラ
グWの転送を受けたことになるので、第1の回路1に対
して信号FULLを送信する。第1の回路1は、この信
号FULLの送信を受けると、データ転送処理を一時休
止することになる。これにより、FIFOメモリ10が
オーバーフローすることを防ぐことができる。
This function will be specifically described based on the example of FIG. For example, in the state shown in FIG.
Without reading data to circuit 2
When new data X4, X5, and X6 are output from the circuit 1, the data X4, X5, and X6 are written into the storage units 11d, 11e, and 11f, respectively, and all the storage units become full. At this time, the data X6 is stored in the storage unit 11
At the time point when the data is written to f, the process of transferring the write location flag W stored in the control unit 12f to the subsequent stage is performed, and the write location flag W is cyclically transferred to the control unit 12a. Will be. Then, the control unit 12a transmits the signal FULL to the first circuit 1 because the control unit 12a has received the transfer of the write location flag W from the previous stage while storing the read location flag R. Upon receiving the transmission of the signal FULL, the first circuit 1 temporarily suspends the data transfer process. Thereby, it is possible to prevent the FIFO memory 10 from overflowing.

【0030】逆に、図3に示す状態において、更なるデ
ータ書き込みが行われることなしに、格納されていた全
データX1,X2,X3が第2の回路2へと読み出され
ると、全記憶部が空状態となる。このとき、データX3
が記憶部11cから読み出された時点で、制御部12c
に格納されていた読出場所フラグRが後段へと転送され
る処理が行われ、読出場所フラグRは制御部12dへと
転送されることになる。すると、制御部12dは、書込
場所フラグWを格納しているときに、前段から読出場所
フラグRの転送を受けたことになるので、第2の回路2
に対して信号EMPTYを送信する。第2の回路2は、
この信号EMPTYの送信を受けると、データ取込処理
を一時休止することになる。これにより、FIFOメモ
リ10から誤ったデータ読出しが行われることを防ぐこ
とができる。
Conversely, in the state shown in FIG. 3, when all the stored data X1, X2, X3 are read out to the second circuit 2 without further data writing, the entire storage section Becomes empty. At this time, the data X3
Is read from the storage unit 11c, the control unit 12c
Is transferred to the subsequent stage, and the read location flag R is transferred to the control unit 12d. Then, the control unit 12d receives the transfer of the read location flag R from the previous stage when the write location flag W is stored, so that the second circuit 2d
To transmit the signal EMPTY. The second circuit 2
When the transmission of the signal EMPTY is received, the data fetch process is temporarily suspended. Thus, erroneous data reading from the FIFO memory 10 can be prevented.

【0031】§3. 本発明に係るFIFOメモリの設
計方法 上述した本発明に係るFIFOメモリ10のメリット
は、メモリモジュール11および制御モジュール12
を、いずれもセルライブラリ内に用意されたハードマク
ロモジュールの組み合わせとして構成でき、設計作業を
単純化させることができる点にある。以下、この設計方
法を説明する。
§3. The configuration of the FIFO memory according to the present invention
Advantages of the FIFO memory 10 according to the total process of the present invention described above, the memory module 11 and control module 12
Can be configured as a combination of hard macro modules prepared in the cell library, and the design work can be simplified. Hereinafter, this design method will be described.

【0032】まず、セルライブラリ内に用意された1ビ
ットの記憶素子21のセルを、図4に示すように、Mワ
ード分だけ横方向に配置し、その一端に書込データバッ
ファ22および読出データバッファ23のセルを配置
し、単位行ユニット20を形成する。ここで、1ビット
の記憶素子のセル21、書込データバッファのセル2
2、読出データバッファのセル23は、いずれも汎用性
のあるセルであり、一般的なセルライブラリに既存のも
のをそのまま利用することができる(これら各セルとし
ては、図の縦方向の寸法が同じものを用いるようにす
る)。続いて、図5に示すように、この単位行ユニット
20を縦方向にL個分だけ配置すれば、LビットMワー
ドの記憶容量をもったメモリモジュールを構成すること
ができる。ここで、縦方向に並んだ各列ごとのL個の記
憶素子のセル21によって、1つの記憶部が形成される
ことになる(たとえば、図5の第1列目に並んだL個の
記憶素子のセル21によって、図3に示す記憶部11a
が形成される)。
First, as shown in FIG. 4, the cells of the 1-bit storage element 21 prepared in the cell library are arranged in the horizontal direction by M words, and the write data buffer 22 and the read data The cells of the buffer 23 are arranged to form the unit row unit 20. Here, the cell 21 of the 1-bit storage element and the cell 2 of the write data buffer
2. The cells 23 of the read data buffer are all versatile cells, and existing cells in a general cell library can be used as they are (these cells have vertical dimensions in the drawing). Use the same). Subsequently, as shown in FIG. 5, by arranging L unit row units 20 in the vertical direction, a memory module having a storage capacity of L bits and M words can be configured. Here, one storage unit is formed by the cells 21 of the L storage elements in each column arranged in the vertical direction (for example, the L storage cells arranged in the first column in FIG. 5). The storage unit 11a shown in FIG.
Is formed).

【0033】続いて、図6に示すように、M個の制御部
のセル31を用意し、これらを、第1列目から第M列目
までのM個の記憶部と同じピッチで並べて配置すれば制
御モジュールを構成することができ、各記憶部とこれに
対応する各制御部とが互いに隣接配置されるようにな
る。個々の制御部のセル31は、§2で述べた機能をも
つ素子であり、もちろん、従来から利用されている既存
の一般的なセルライブラリには用意されていない。した
がって、本発明を実施する上では、このような機能をも
つ制御部のセル31を新たなセルとして設計し、これを
セルライブラリに新規登録しておくとよい。各制御部の
セル31は、いずれも同一の機能を有するので(リセッ
ト信号によって、書込場所フラグWおよび読出場所フラ
グRを初期設定する場合には、初期設定機能をもった特
別なセルを用意する必要があるが、これについては、後
述する実施例で述べる)、実際に設計するFIFOメモ
リのワード数にかかわらず、単一の制御部のセル31を
ライブラリに登録しておけばよい。
Subsequently, as shown in FIG. 6, M control unit cells 31 are prepared, and these cells are arranged side by side at the same pitch as the M storage units in the first to Mth columns. By doing so, a control module can be configured, and each storage unit and each corresponding control unit are arranged adjacent to each other. The cell 31 of each control unit is an element having the function described in §2, and is not prepared in an existing general cell library used conventionally. Therefore, in practicing the present invention, it is preferable to design the cell 31 of the control unit having such a function as a new cell and newly register it in the cell library. Since the cells 31 of the respective control units have the same function (when resetting the write location flag W and the read location flag R by a reset signal, a special cell having an initial setting function is prepared. However, this will be described in an embodiment to be described later), but the cell 31 of a single control unit may be registered in the library regardless of the number of words of the FIFO memory to be actually designed.

【0034】最後に、図7に示すように、M個の制御部
のセル31から構成される制御モジュールに対して、第
1の回路1で用いる第1のクロック信号CK1を、書込
用クロックWCLKとして与え、第2の回路2で用いる
第2のクロック信号CK2を、読出用クロックRCLK
として与え、各制御部のセル31から送信される信号F
ULLを第1の回路1へ与え、各制御部のセル31から
送信される信号EMPTYを第2の回路2へ与えるよう
にし、必要に応じて、リセット信号RESETを与える
ようにすれば、本発明に係るFIFOメモリの設計は完
了である。
Finally, as shown in FIG. 7, a first clock signal CK1 used in the first circuit 1 is supplied to a control module composed of M control unit cells 31 by a write clock. The second clock signal CK2 used as the second clock signal WCLK is used as the read clock RCLK.
And the signal F transmitted from the cell 31 of each control unit
The present invention may be configured such that UL is supplied to the first circuit 1, a signal EMPTY transmitted from the cell 31 of each control unit is supplied to the second circuit 2, and a reset signal RESET is supplied as necessary. Is completed.

【0035】このような方法で設計を行えば、任意のビ
ット数L、任意のワード数MをもったFIFOメモリ
を、セルライブラリとして供給されるハードマクロモジ
ュールにより設計することができるので、セルを縦横に
並べる単純な配置作業と、セル相互の単純な配線作業に
よって設計を行うことが可能になり、設計作業の負担は
大幅に軽減されることになる。
By designing in this manner, a FIFO memory having an arbitrary number of bits L and an arbitrary number of words M can be designed by a hard macro module supplied as a cell library. The design can be performed by a simple arrangement work in which the cells are arranged vertically and horizontally and a simple wiring work between cells, so that the burden of the design work is greatly reduced.

【0036】[0036]

【実施例】図8および図9に、本発明に用いることがで
きる制御部の具体的な回路の回路図を示す。図8に示す
制御部100は、Mワードの記憶容量をもつFIFOメ
モリの第n列目(1≦n≦M−1)に用いられるセルで
あり、図9に示す制御部200は、Mワードの記憶容量
をもつFIFOメモリの第M列目(最上位ワード)に用
いられるセルである。両者の相違は、リセット信号RE
SETが与えられたときの動作のみである。すなわち、
図8に示す制御部100は、リセット信号RESETが
与えられると、右側の端子W(n),R(n)に論理値
“0”(フラグなしを示すビット)が出力されるのに対
し、図9に示す制御部200は、リセット信号RESE
Tが与えられると、右側の端子W(M),R(M)に論
理値“1”(フラグありを示すビット)が出力される。
別言すれば、リセット信号RESETが与えられたと
き、図8に示す制御部100では、書込場所フラグWお
よび読出場所フラグRのいずれもが生成されないのに対
し、図9に示す制御部200では、書込場所フラグWお
よび読出場所フラグRの双方が生成されることになる。
具体的には、たとえば、図3に示すように、6ワードの
記憶容量(M=6)をもつFIFOメモリを構成する場
合、制御部12a〜12eまでの5つの制御部として
は、図8に示す制御部100が用いられ、最後の制御部
12fとして、図9に示す制御部200が用いられるこ
とになる。
8 and 9 show circuit diagrams of specific circuits of a control unit which can be used in the present invention. The control unit 100 shown in FIG. 8 is a cell used for the n-th column (1 ≦ n ≦ M−1) of the FIFO memory having the storage capacity of M words, and the control unit 200 shown in FIG. Used in the M-th column (most significant word) of the FIFO memory having the storage capacity of The difference between the two is that the reset signal RE
This is only the operation when SET is given. That is,
The control unit 100 shown in FIG. 8 outputs a logical value “0” (bit indicating no flag) to the right terminals W (n) and R (n) when the reset signal RESET is supplied. The control unit 200 shown in FIG.
When T is given, a logical value “1” (bit indicating presence of a flag) is output to the right terminals W (M) and R (M).
In other words, when reset signal RESET is applied, control unit 100 shown in FIG. 8 generates neither write location flag W nor read location flag R, whereas control unit 200 shown in FIG. Then, both the writing location flag W and the reading location flag R are generated.
More specifically, for example, as shown in FIG. 3, when a FIFO memory having a storage capacity of 6 words (M = 6) is configured, the five control units 12a to 12e are configured as shown in FIG. The control unit 100 shown in FIG. 9 is used as the last control unit 12f.

【0037】図8および図9に示す回路は、いずれも論
理ゲートと順序回路との組み合わせによって構成されて
いる。図10〜図12は、これらの回路に用いられてい
る3種類の順序回路(各図(a) )とその真理値表(各図
(b) )を示すものである。真理値表の「X」は、任意の
論理値を示し、「Latch 」は直前の論理値が保持される
ことを示す。
Each of the circuits shown in FIGS. 8 and 9 is constituted by a combination of a logic gate and a sequential circuit. FIGS. 10 to 12 show three types of sequential circuits (each diagram (a)) used in these circuits and their truth tables (each diagram).
(b)). “X” in the truth table indicates an arbitrary logical value, and “Latch” indicates that the immediately preceding logical value is held.

【0038】制御部100,200は、許可信号出力部
110,210、書込場所フラグ格納部120,22
0、満空信号発生部130,230、読出場所フラグ格
納部140,240の4つの部分から構成されている。
ここで、書込場所フラグ格納部120,220は、図3
に示す各制御部12a〜12fの上部のますに相当する
機能を果たし、読出場所フラグ格納部140,240
は、図3に示す各制御部12a〜12fの下部のますに
相当する機能を果たす。
The control units 100 and 200 include permission signal output units 110 and 210 and write location flag storage units 120 and 22.
0, full / empty signal generators 130 and 230, and read location flag storage units 140 and 240.
Here, the writing location flag storage units 120 and 220 are as shown in FIG.
Performs a function corresponding to the upper part of each of the control units 12a to 12f shown in FIG.
Performs a function corresponding to the lower part of each of the control units 12a to 12f shown in FIG.

【0039】すなわち、書込場所フラグ格納部120,
220内の順序回路は、論理値“0”もしくは“1”を
一時的に保持し、第1の回路側から与えられる第1のク
ロック信号(書込クロック信号WCLK)に同期して、
保持した論理値を図の左から右へと転送する処理を実行
する。たとえば、図8に示す制御部100では、前段か
ら転送されてきた論理値W(n−1)が、書込クロック
信号WCLKの立ち下がりエッジに同期して第1段目の
順序回路に取り込まれ、続く立上がりエッジに同期して
第2段目の順序回路に取り込まれ、次の立ち下がりエッ
ジに同期して、論理値W(n)として後段へと転送され
ることになる。なお、第M列目に設けられた図9に示す
制御部200から出力された論理値W(M)は、第1列
目に設けられた図8に示す制御部100へ、論理値W
(n−1)として戻されることになる。
That is, the write location flag storage unit 120,
The sequential circuit in 220 temporarily holds the logical value “0” or “1” and synchronizes with a first clock signal (write clock signal WCLK) provided from the first circuit side.
A process for transferring the held logical values from left to right in the figure is executed. For example, in the control unit 100 shown in FIG. 8, the logical value W (n-1) transferred from the previous stage is taken into the first-stage sequential circuit in synchronization with the falling edge of the write clock signal WCLK. Are taken into the second sequential circuit in synchronization with the following rising edge, and transferred to the subsequent stage as a logical value W (n) in synchronization with the next falling edge. Note that the logical value W (M) output from the control unit 200 shown in FIG. 9 provided in the Mth column is sent to the control unit 100 shown in FIG.
(N-1).

【0040】同様に、読出場所フラグ格納部140,2
40内の順序回路は、論理値“0”もしくは“1”を一
時的に保持し、第2の回路側から与えられる第2のクロ
ック信号(読出クロック信号RCLK)に同期して、保
持した論理値を図の左から右へと転送する処理を実行す
る。たとえば、図8に示す制御部100では、前段から
転送されてきた論理値R(n−1)が、読出クロック信
号RCLKの立ち下がりエッジに同期して第1段目の順
序回路に取り込まれ、続く立上がりエッジに同期して第
2段目の順序回路に取り込まれ、次の立ち下がりエッジ
に同期して、論理値R(n)として後段へと転送される
ことになる。なお、第M列目に設けられた図9に示す制
御部200から出力された論理値R(M)は、第1列目
に設けられた図8に示す制御部100へ、論理値R(n
−1)として戻されることになる。
Similarly, read location flag storage sections 140 and 2
The sequential circuit in 40 temporarily holds the logic value “0” or “1”, and holds the held logic in synchronization with a second clock signal (read clock signal RCLK) given from the second circuit side. Performs processing to transfer values from left to right in the figure. For example, in the control unit 100 shown in FIG. 8, the logical value R (n-1) transferred from the previous stage is taken into the first-stage sequential circuit in synchronization with the falling edge of the read clock signal RCLK. The data is taken into the second sequential circuit in synchronization with the following rising edge, and is transferred to the subsequent stage as a logical value R (n) in synchronization with the next falling edge. The logical value R (M) output from the control unit 200 shown in FIG. 9 provided in the Mth column is sent to the control unit 100 shown in FIG. n
-1).

【0041】前述したように、これらの回路にリセット
信号RESETが与えられると、図8に示す制御部10
0は、論理値W(n),R(n)としてビット“0”を
生成して後段へと転送する処理を行うが、図9に示す制
御部200は、論理値W(M),R(M)としてビット
“1”を生成して後段へと転送する処理を行う。したが
って、リセット信号を与えた直後の初期設定状態では、
第1列目の制御部100内に、書込場所フラグWおよび
読出場所フラグRが保持された状態、すなわち、順序回
路に論理値“1”が保持された状態となり、第2列目〜
第(M−1)列目の制御部100および第M列目の制御
部200内の各順序回路に論理値“0”が保持された状
態となる。以後、書込場所フラグ格納部120,220
内に保持された論理値“1”(書込場所フラグW)は、
書込クロック信号WCLKの1クロック周期ごとに後段
へと転送されてゆき、読出場所フラグ格納部140,2
40内に保持された論理値“1”(読出場所フラグR)
は、読出クロック信号RCLKの1クロック周期ごとに
後段へと転送されてゆく。
As described above, when the reset signal RESET is supplied to these circuits, the control unit 10 shown in FIG.
0 performs the process of generating the bit “0” as the logical values W (n) and R (n) and transferring the bit to the subsequent stage. The control unit 200 shown in FIG. A process of generating a bit “1” as (M) and transferring it to the subsequent stage is performed. Therefore, in the initial setting state immediately after giving the reset signal,
In the control unit 100 in the first column, the write location flag W and the read location flag R are held, that is, the logical value “1” is held in the sequential circuit.
The logic value “0” is held in each sequential circuit in the control unit 100 in the (M−1) th column and the control unit 200 in the Mth column. Thereafter, the write location flag storage units 120 and 220
The logical value “1” (write location flag W) held in
The data is transferred to the subsequent stage every clock cycle of write clock signal WCLK, and read location flag storage units 140, 2
Logical value “1” held in 40 (read location flag R)
Is transferred to the subsequent stage every clock cycle of the read clock signal RCLK.

【0042】許可信号出力部110,210は、書込場
所フラグWを格納しているとき、すなわち、書込場所フ
ラグ格納部120,220内の順序回路が論理値“1”
を保持しているときに、書込許可信号WW(n),WW
(M)を出力し、読出場所フラグRを格納していると
き、すなわち、読出場所フラグ格納部140,240内
の順序回路が論理値“1”を保持しているときに、読出
許可信号RR(n),RR(M)を出力する機能を有す
る。書込許可信号WW(n),WW(M)および読出許
可信号RR(n),RR(M)は、対応する列の記憶部
内のメモリ素子へと供給され、その列(ワード)に対す
る書き込みもしくは読出し処理が実行されることにな
る。許可信号出力部110,210内に設けられたバッ
ファは、メモリ素子に対するドライブバッファとして機
能し、これらのバッファの駆動能力は、各記憶部のビッ
ト数Lに応じて定める必要がある。
The permission signal output units 110 and 210 store the write location flag W, that is, the sequential circuit in the write location flag storage units 120 and 220 outputs the logical value “1”.
Hold, the write enable signals WW (n), WW
(M) is output and the read location flag R is stored, that is, when the sequential circuits in the read location flag storage units 140 and 240 hold the logical value “1”, the read enable signal RR is output. (N) and a function of outputting RR (M). The write enable signals WW (n) and WW (M) and the read enable signals RR (n) and RR (M) are supplied to the memory elements in the storage unit of the corresponding column, and write or write to the column (word) is performed. The reading process will be executed. The buffers provided in the permission signal output units 110 and 210 function as drive buffers for the memory elements, and the driving capabilities of these buffers need to be determined according to the number of bits L of each storage unit.

【0043】また、満空信号発生部130,230は、
読出場所フラグRを格納しているときに、前段から書込
場所フラグWの転送を受けたときに信号FULLを発生
し、逆に、書込場所フラグWを格納しているときに、前
段から読出場所フラグRの転送を受けたときに信号EM
PTYを発生する処理を行う。別言すれば、読出場所フ
ラグ格納部140,240内の順序回路が論理値“1”
を保持している状態のときに、書込場所フラグ格納部1
20,220へ前段から論理値“1”が転送されてきた
場合に、信号FULLを発生し、書込場所フラグ格納部
120,220内の順序回路が論理値“1”を保持して
いる状態のときに、読出場所フラグ格納部140,24
0へ前段から論理値“1”が転送されてきた場合に、信
号EMPTYを発生する機能を有する。なお、リセット
信号RESETを与えた直後にも、信号EMPTYが発
生する。
The full / empty signal generators 130 and 230
When the read location flag R is stored, the signal FULL is generated when the write location flag W is transferred from the preceding stage. Conversely, when the write location flag W is stored, the signal FULL is generated. When receiving the read location flag R, the signal EM
A process for generating PTY is performed. In other words, the sequential circuit in the read location flag storage units 140 and 240 has the logical value “1”.
Is stored, the write location flag storage unit 1
When the logical value "1" is transferred from the preceding stage to the data storage units 20, 220, a signal FULL is generated, and the sequential circuit in the write location flag storage units 120, 220 holds the logical value "1". At the time of reading, the reading location flag storage units 140 and 24
It has a function of generating a signal EMPTY when a logical value “1” is transferred to 0 from the preceding stage. Note that the signal EMPTY is also generated immediately after giving the reset signal RESET.

【0044】図13は、上述した制御部100,200
を用いて構成したFIFOメモリの動作を示すタイミン
グチャートである。時刻t1においてリセット信号RE
SETを与えた直後は、いずれの記憶部にもデータは書
き込まれておらず、信号EMPTYが論理“1”となり
活性化される。期間T1,T2は、データData
(W)の書込動作タイミングを示しており、書込クロッ
ク信号WCLKの立ち上がりエッジに相当する時刻t2
に同期して書き込みが行われている。データが正確に書
き込まれるように、時刻t2の前に準備時間(setup ti
me)として期間T1が確保され、時刻t2の後に保持時
間(hold time )として期間T2が確保されている。ま
た、図示の例では、この書き込みにより、FIFOメモ
リは満状態となっており、信号FULLが論理“1”と
なり活性化されている。続く期間T3では、満状態にな
ったFIFOメモリから、データData(R)の読出
しが実行されたため、時刻t3において、信号FULL
が論理“0”となり不活性化されている。また、時刻t
4では、全データが読み出された結果、再び信号EMP
TYが論理“1”となり活性化されているが、続く時刻
t5において、次のデータData(W)の書き込みが
行われ、信号EMPTYは論理“0”となり不活性化さ
れている。
FIG. 13 shows the control units 100 and 200 described above.
5 is a timing chart showing the operation of a FIFO memory configured using the above. At time t1, reset signal RE
Immediately after the SET is given, no data is written in any of the storage units, and the signal EMPTY becomes logic “1” and is activated. The periods T1 and T2 correspond to the data Data.
(W) shows the write operation timing, at time t2 corresponding to the rising edge of the write clock signal WCLK.
Writing is performed in synchronization with. Before time t2, the setup time (setup ti
A period T1 is secured as me), and a period T2 is secured after time t2 as a hold time. In the illustrated example, the FIFO memory is in a full state by this writing, and the signal FULL becomes logic “1” and is activated. In the following period T3, data Data (R) is read from the full-filled FIFO memory, so that at time t3, the signal FULL is output.
Becomes logic "0" and is inactivated. Time t
4, as a result of reading out all data, the signal EMP
TY is logic "1" and is activated. At the subsequent time t5, the next data Data (W) is written, and the signal EMPTY becomes logic "0" and is inactivated.

【0045】図14は、図8に示す制御部100に対応
するセルを(M−1)個配置するとともに、図9に示す
制御部200に対応するセルを1個配置することによ
り、制御モジュールを構成した例を示すブロック図であ
る。制御部100および制御部200のセルの横幅を、
各記憶素子のセル幅に等しくしておけば、各記憶素子の
セルと各制御部のセルとを同じピッチで横方向に配置す
ることができる。また、各記憶素子における書込許可信
号WWおよび読出許可信号RRの入力端子位置と、各制
御部における書込許可信号WWおよび読出許可信号RR
の出力端子位置とが一致するようにしておけば、配線は
非常に単純化される(単に、セルを隣接配置するだけで
よい)。また、書込場所フラグWを転送するための端子
W(n)や、読出場所フラグRを転送するための端子R
(n)の縦方向位置は、個々の制御部で共通のため、こ
れらの端子の相互接続も非常に単純化される(やはり、
セルを隣接配置するだけでよい)。各クロック信号WC
LK,RCLKや、信号FULL,信号EMPTYにつ
いての配線も同様である。ただ、第M列目の制御部の端
子W(M)を、第1列目の制御部の端子W(0)へ接続
し、第M列目の制御部の端子R(M)を、第1列目の制
御部の端子R(0)へ接続する配線は別途必要になる。
FIG. 14 shows that the control module is arranged by arranging (M-1) cells corresponding to the control unit 100 shown in FIG. 8 and arranging one cell corresponding to the control unit 200 shown in FIG. It is a block diagram showing the example which constituted. The width of the cells of the control unit 100 and the control unit 200 is
If the cell width of each storage element is equal to that of each storage element, the cells of each storage element and the cells of each control unit can be arranged in the horizontal direction at the same pitch. The input terminal positions of the write enable signal WW and the read enable signal RR in each storage element, and the write enable signal WW and the read enable signal RR in each control unit
If the positions of the output terminals are the same, the wiring is greatly simplified (the cells need only be arranged adjacently). Also, a terminal W (n) for transferring the writing location flag W and a terminal R for transferring the reading location flag R
Since the vertical position of (n) is common to the individual control units, the interconnection of these terminals is also greatly simplified (again,
It is only necessary to place the cells adjacently). Each clock signal WC
The same applies to the wiring for LK, RCLK, the signal FULL, and the signal EMPTY. However, the terminal W (M) of the control unit in the Mth column is connected to the terminal W (0) of the control unit in the first column, and the terminal R (M) of the control unit in the Mth column is connected to the terminal R (M). Wiring connected to the terminal R (0) of the control unit in the first column is separately required.

【0046】[0046]

【発明の効果】以上のとおり本発明によれば、複数M個
の記憶部からなるメモリモジュールと、複数M個の制御
部からなる制御モジュールと、によってFIFOメモリ
を構成するようにしたため、設計作業を単純化させるこ
とができるようになる。
As described above, according to the present invention, a FIFO module is constituted by a memory module including a plurality of M storage units and a control module including a plurality of M control units. Can be simplified.

【図面の簡単な説明】[Brief description of the drawings]

【図1】一般的なFIFOメモリを用いたデータ転送の
原理を示すブロック図である。
FIG. 1 is a block diagram showing the principle of data transfer using a general FIFO memory.

【図2】従来のFIFOメモリの一般的な構成を示すブ
ロック図である。
FIG. 2 is a block diagram showing a general configuration of a conventional FIFO memory.

【図3】本発明に係るFIFOメモリの基本構成を示す
ブロック図である。
FIG. 3 is a block diagram showing a basic configuration of a FIFO memory according to the present invention.

【図4】図3に示すFIFOメモリを設計する第1のプ
ロセスを示す図である。
FIG. 4 is a diagram showing a first process for designing the FIFO memory shown in FIG. 3;

【図5】図3に示すFIFOメモリを設計する第2のプ
ロセスを示す図である。
FIG. 5 is a diagram showing a second process for designing the FIFO memory shown in FIG. 3;

【図6】図3に示すFIFOメモリを設計する第3のプ
ロセスを示す図である。
FIG. 6 is a diagram showing a third process for designing the FIFO memory shown in FIG. 3;

【図7】図3に示すFIFOメモリを設計する第4のプ
ロセスを示す図である。
FIG. 7 is a diagram showing a fourth process of designing the FIFO memory shown in FIG. 3;

【図8】本発明に係るFIFOメモリに第1の制御部と
して用いる回路の一例を示す回路図である。
FIG. 8 is a circuit diagram showing an example of a circuit used as a first control unit in a FIFO memory according to the present invention.

【図9】本発明に係るFIFOメモリに第2の制御部と
して用いる回路の一例を示す回路図である。
FIG. 9 is a circuit diagram showing an example of a circuit used as a second control unit in the FIFO memory according to the present invention.

【図10】図8および図9に示す回路図に用いられてい
る第1の順序回路およびその真理値表を示す図である。
FIG. 10 is a diagram showing a first sequential circuit used in the circuit diagrams shown in FIGS. 8 and 9 and a truth table thereof.

【図11】図8および図9に示す回路図に用いられてい
る第2の順序回路およびその真理値表を示す図である。
FIG. 11 is a diagram showing a second sequential circuit used in the circuit diagrams shown in FIGS. 8 and 9, and a truth table thereof.

【図12】図8および図9に示す回路図に用いられてい
る第3の順序回路およびその真理値表を示す図である。
FIG. 12 is a diagram showing a third sequential circuit used in the circuit diagrams shown in FIGS. 8 and 9, and a truth table thereof.

【図13】図8および図9に示す回路を用いて構成した
FIFOメモリの動作を示すタイミングチャートであ
る。
FIG. 13 is a timing chart showing the operation of the FIFO memory configured using the circuits shown in FIGS. 8 and 9;

【図14】図8および図9に示す制御部を配置すること
により構成した制御モジュールを示すブロック図であ
る。
FIG. 14 is a block diagram illustrating a control module configured by arranging the control units illustrated in FIGS. 8 and 9;

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

1…第1の回路 2…第2の回路 3…FIFOメモリ 4…デュアルポートSRAM 5…コントロール部 10…FIFOメモリ 11…メモリモジュール 11a〜11f…記憶部 12…制御モジュール 12a〜12f…制御部 20…単位行ユニット 21…1ビットの記憶素子のセル 22…書込データバッファのセル 23…読出データバッファのセル 31…制御部のセル 100…第1の制御部 110…許可信号出力部 120…書込場所フラグ格納部 130…満空信号発生部 140…読出場所フラグ格納部 200…第2の制御部 210…許可信号出力部 220…書込場所フラグ格納部 230…満空信号発生部 240…読出場所フラグ格納部 A〜F…データを格納する位置/記憶部 EMPTY…空状態を示す信号 FULL…満状態を示す信号 Pread…読出ポインタ Pwrite …書込ポインタ RCLK…読出クロック信号 RESET…リセット信号 R(n−1),R(n),R(M−1),R(M)…転
送される読出場所フラグ RR(n),RR(M)…読出許可信号 WCLK…書込クロック信号 W(n−1),W(n),W(M−1),W(M)…転
送される書込場所フラグ WW(n),WW(M)…書込許可信号 X1〜X3…転送すべきデータ X(1),X(L)…転送すべきデータの各ビット
DESCRIPTION OF SYMBOLS 1 ... 1st circuit 2 ... 2nd circuit 3 ... FIFO memory 4 ... Dual-port SRAM 5 ... Control part 10 ... FIFO memory 11 ... Memory module 11a-11f ... Storage part 12 ... Control module 12a-12f ... Control part 20 Unit cell unit 21 1-bit storage element cell 22 Write data buffer cell 23 Read data buffer cell 31 Control unit cell 100 First control unit 110 Enable signal output unit 120 Write Empty location flag storage unit 130 Full / vacant signal generation unit 140 Read location flag storage unit 200 Second control unit 210 Permit signal output unit 220 Write location flag storage unit 230 Full / vacant signal generation unit 240 Read Location flag storage units A to F: Position / storage unit for storing data EMPTY: Signal indicating empty status FULL: Indicates full status Signal Pread: Read pointer Pwrite: Write pointer RCLK: Read clock signal RESET: Reset signal R (n-1), R (n), R (M-1), R (M): Read location flag RR to be transferred (N), RR (M) ... read permission signal WCLK ... write clock signal W (n-1), W (n), W (M-1), W (M) ... write location flag WW to be transferred (N), WW (M) ... write enable signal X1 to X3 ... data to be transferred X (1), X (L) ... each bit of data to be transferred

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 第1のクロックで動作する第1の回路か
ら、第2のクロックで動作する第2の回路へ、デジタル
データを転送する際に、両回路の間でデータの受け渡し
を行う機能をもったFIFOメモリにおいて、 転送すべきデータのビット数に応じた容量をもつ記憶部
を、複数M個配置してなるメモリモジュールと、 前記各記憶部に対応して設けられたM個の制御部からな
る制御モジュールと、 を備え、 前記各制御部には、書込場所フラグWおよび読出場所フ
ラグRを格納する機能と、これらのフラグを後段の制御
部へ転送する機能とを設け、リセット信号が与えられた
ときに、前記書込場所フラグWおよび前記読出場所フラ
グRが、初段となる所定の制御部に格納されるように
し、 第1の回路から第1のクロックに同期してデータが出力
されたら、メモリモジュールは、その時点において書込
場所フラグWが格納されている制御部に対応する記憶部
に、この出力されたデータを書き込む処理を行い、書込
場所フラグWを格納していた制御部は、この書込場所フ
ラグWを後段の制御部へと転送する処理を行い、 第2の回路から第2のクロックに同期したデータ入力の
要求があったら、メモリモジュールは、その時点におい
て読出場所フラグRが格納されている制御部に対応する
記憶部から、データを読出して第2の回路へ与える処理
を行い、読出場所フラグRが格納されていた制御部は、
この読出場所フラグRを後段の制御部へ転送する処理を
行い、 各制御部は、読出場所フラグRを格納しているときに、
前段から書込場所フラグWの転送を受けたときに、第1
の回路に対してFIFOメモリが満状態であることを示
す信号FULLを送信し、逆に、書込場所フラグWを格
納しているときに、前段から読出場所フラグRの転送を
受けたときに、第2の回路に対してFIFOメモリが空
状態であることを示す信号EMPTYを送信する機能を
有することを特徴とするFIFOメモリ。
1. A function of transferring digital data between a first circuit operating on a first clock and a second circuit operating on a second clock when transferring digital data to the two circuits. A memory module having a plurality of M storage units each having a capacity corresponding to the number of bits of data to be transferred, and M control units provided corresponding to the storage units. A control module comprising: a control module having a function of storing a write location flag W and a read location flag R; and a function of transferring these flags to a control section at a subsequent stage. When a signal is applied, the write location flag W and the read location flag R are stored in a predetermined control unit at the first stage, and the data is transmitted from the first circuit in synchronization with the first clock. Comes out Then, the memory module performs a process of writing the output data to the storage unit corresponding to the control unit in which the writing location flag W is stored at that time, and stores the writing location flag W. The control unit performs a process of transferring the write location flag W to a subsequent control unit. If a request for data input synchronized with the second clock is issued from the second circuit, the memory module will The control unit that reads data from the storage unit corresponding to the control unit in which the read location flag R is stored and provides the read data to the second circuit,
A process of transferring the read location flag R to a subsequent control unit is performed. When each control unit stores the read location flag R,
When the write location flag W is received from the previous stage, the first
A signal FULL indicating that the FIFO memory is in a full state is transmitted to the circuit of FIG. A function of transmitting to the second circuit a signal EMPTY indicating that the FIFO memory is empty.
【請求項2】 請求項1に記載のFIFOメモリにおい
て、 1ビットの記憶素子を縦方向にL個並べて配置すること
によりLビットの容量をもった記憶部を構成し、この記
憶部を横方向にM個並べて配置することによりLビット
Mワードの容量をもったメモリモジュールを構成し、 制御部を前記記憶部と同じピッチで横方向にM個並べて
配置することにより制御モジュールを構成し、 各記憶部とこれに対応する各制御部とが互いに隣接配置
されるようにしたことを特徴とするFIFOメモリ。
2. The FIFO memory according to claim 1, wherein a storage unit having a capacity of L bits is formed by arranging L one-bit storage elements in a vertical direction, and forming the storage unit in a horizontal direction. A memory module having a capacity of L bits and M words is arranged by arranging M units in a matrix, and a control module is constituted by arranging M units in the horizontal direction at the same pitch as the storage unit. A FIFO memory, wherein a storage unit and each control unit corresponding to the storage unit are arranged adjacent to each other.
【請求項3】 請求項2に記載のFIFOメモリにおい
て、 リセット信号が与えられたときに、書込場所フラグWお
よび読出場所フラグRのいずれも生成しない第1の制御
部と、リセット信号が与えられたときに、書込場所フラ
グWおよび読出場所フラグRの双方を生成する第2の制
御部と、を用意し、第1の制御部を(M−1)個配置す
るとともに、第2の制御部を1個配置することにより、
制御モジュールを構成したことを特徴とするFIFOメ
モリ。
3. The FIFO memory according to claim 2, wherein when the reset signal is applied, the first control unit generates neither the write location flag W nor the read location flag R; And a second control unit for generating both the write location flag W and the read location flag R, the (M-1) first control units are arranged, and the second By arranging one control unit,
A FIFO memory comprising a control module.
【請求項4】 請求項2または3に記載のFIFOメモ
リにおいて、 各制御部は、書込場所フラグWを格納しているときに、
対応する記憶部内の記憶素子に対して書込許可信号WW
を出力し、読出場所フラグRを格納しているときに、対
応する記憶部内の記憶素子に対して読出許可信号RRを
出力することを特徴とするFIFOメモリ。
4. The FIFO memory according to claim 2, wherein each of the control units stores a write location flag W.
Write enable signal WW for the storage element in the corresponding storage unit
And outputting a read enable signal RR to a storage element in a corresponding storage unit when the read location flag R is stored.
【請求項5】 請求項2に記載のFIFOメモリの製造
方法において、 各記憶素子および各制御部を、それぞれハードマクロモ
ジュールとしてライブラリに登録されたセルの形式で用
意し、 前記記憶素子についてのセルを、縦方向にL個、横方向
にM個配列することにより、LビットMワードの容量を
もったメモリモジュールを構成し、 前記制御部についてのセルを、前記記憶素子についての
セルと同じピッチで横方向にM個並べて配置することに
より制御モジュールを構成することを特徴とするFIF
Oメモリの製造方法。
5. The method of manufacturing a FIFO memory according to claim 2, wherein each storage element and each control unit are prepared in the form of a cell registered in a library as a hard macro module, and a cell for the storage element is provided. Are arranged in the vertical direction and in the horizontal direction to form a memory module having a capacity of L bits and M words, and the cells for the control unit are arranged at the same pitch as the cells for the storage elements. Characterized in that a control module is configured by arranging M pieces in a horizontal direction in the FIF.
Manufacturing method of O memory.
JP8281331A 1996-10-02 1996-10-02 Fifo memory and its manufacture Pending JPH10112178A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8281331A JPH10112178A (en) 1996-10-02 1996-10-02 Fifo memory and its manufacture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8281331A JPH10112178A (en) 1996-10-02 1996-10-02 Fifo memory and its manufacture

Publications (1)

Publication Number Publication Date
JPH10112178A true JPH10112178A (en) 1998-04-28

Family

ID=17637622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8281331A Pending JPH10112178A (en) 1996-10-02 1996-10-02 Fifo memory and its manufacture

Country Status (1)

Country Link
JP (1) JPH10112178A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6090222A (en) * 1998-11-16 2000-07-18 Seh-America, Inc. High pressure gas cleaning purge of a dry process vacuum pump
KR20020052669A (en) * 2000-12-26 2002-07-04 윤종용 First-In First-OUT memory and flag signal generating method thereof
US6880050B1 (en) * 2000-10-30 2005-04-12 Lsi Logic Corporation Storage device, system and method which can use tag bits to synchronize queuing between two clock domains, and detect valid entries within the storage device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6090222A (en) * 1998-11-16 2000-07-18 Seh-America, Inc. High pressure gas cleaning purge of a dry process vacuum pump
US6189176B1 (en) 1998-11-16 2001-02-20 Seh-America, Inc. High pressure gas cleaning purge of a dry process vacuum pump
US6880050B1 (en) * 2000-10-30 2005-04-12 Lsi Logic Corporation Storage device, system and method which can use tag bits to synchronize queuing between two clock domains, and detect valid entries within the storage device
KR20020052669A (en) * 2000-12-26 2002-07-04 윤종용 First-In First-OUT memory and flag signal generating method thereof

Similar Documents

Publication Publication Date Title
JP2916045B2 (en) FIFO module
US5079693A (en) Bidirectional FIFO buffer having reread and rewrite means
US4809161A (en) Data storage device
JP3241045B2 (en) Multiport shared memory interface and related methods
US4884192A (en) Information processor capable of data transfer among plural digital data processing units by using an active transmission line having locally controlled storage of data
US7386689B2 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JPH07312078A (en) System for conversion of serial ram-based fifo memory into parallel one and of parallel one into serial one
US4521874A (en) Random access memory device
US6463000B2 (en) First-in first-out memory device and method of generating flag signal in the same
JPH04301290A (en) Pushup memory circuit
JPS5921055B2 (en) Data buffer memory
EP0421627B1 (en) Memory device
JPH10112178A (en) Fifo memory and its manufacture
US6961280B1 (en) Techniques for implementing address recycling in memory circuits
JP2841456B2 (en) Data transfer method and data buffer device
JPH06124584A (en) Sequential memory and method for sequentially storing of data unit
CN218100209U (en) Multi-bit asynchronous interface circuit
JP2510262B2 (en) Asynchronous data transmission device
JPH0298728A (en) Pushup memory
JPS633392B2 (en)
JP2000341256A (en) Elastic circuit and integrated circuit
JPS59188753A (en) Parity generating method
JP2595707B2 (en) Memory device
JPH05100820A (en) Fifo register device
JPS63138591A (en) First in first out memory circuit