JP2752362B2 - 先入れ先出しメモリ - Google Patents
先入れ先出しメモリInfo
- Publication number
- JP2752362B2 JP2752362B2 JP62231935A JP23193587A JP2752362B2 JP 2752362 B2 JP2752362 B2 JP 2752362B2 JP 62231935 A JP62231935 A JP 62231935A JP 23193587 A JP23193587 A JP 23193587A JP 2752362 B2 JP2752362 B2 JP 2752362B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- cell
- cells
- management
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明は電子式の先入れ先出しメモリ(FIFO)に関す
る。 通常の垂直に立てた物のたとえを用いれば、FIFOは入
力データをデータの最上位セルに導く制御部を備えてい
る。最上位セルは空になっているセル、すなわち有効デ
ータが入っていないセルのうちの最上位のものとして一
層正確に特徴づけることができる。この最上位セルより
下のセルにはすべてデータが入っている。実際上、この
ようなFIFOは可変長のシフトレジスタであり、その長さ
は常にその内部に格納されているデータと同じである。
したがって、データをFIFOから取出す(pull)と、各デ
ータ・ビットは1セル下にシフトされ、最上位セルの位
置も同様にひとつ下にシフトする。このようなFIFOはテ
ープ・レコーダ、電子式タイプライタ、およびワード・
プロセッサのような装置にしばしば使用されている。 たとえば、FIFOの高性能テープ・ドライブの読取り回
路のアナログ・サブシステムとディジタル・サブシステ
ムを接続するのに使用することができる。このような装
置では、データは一般的に磁気テープ上に平行な何本か
の磁束レベルのトラックとして記録される。テープは読
取りヘッドを通過し、読取りヘッドは各トラックの磁束
レベルをアナログ電気信号に変換する。これらアナログ
電気信号はディジタル化されて読取り/フォーマット回
路に送られデコードされる。 読取り/フォーマット回路内のタイミングはシステム
・クロックにより精密に同期させることができるが、こ
のディジタル回路を到来するアナログ信号トラックに対
して調整し、また個々の信号トラックを互いに調整する
ことはささいな事柄ではない。テープ上で磁束反転の形
をしているデータのタイミングは機械的速度の変動、テ
ープまたはヘッドの位置ずれ、およびテープの変形とい
うばらつき的事項に影響されやすい。したがって、個々
のデータ・トラック間には相互にスキューが存在するこ
とがあり、これら信号は一般に読取り/フォーマット回
路を支配する同期に対しての本質的な関係は持たない。 アナログ回路とディジタル回路間のインターフェイス
をとるために、各トラックの信号を位相ロック・ルー
プ、FIFOおよびスキュー補償回路によって処理すること
ができる。各位相ロック・ループは到来するアナログ信
号をサンプルしてその各セグメントにディジタル値を割
当てる。位相ロック・ループはまたどのサンプルが有効
であるかを判定する。すなわち位相ロック・ループは二
つのビット間の遷移ではなく、個々のデータ・ビットを
表現する。このような判定の結果に従って、位相ロック
・ループはプッシュつまり押込み(push)命令がデータ
入力を受取るFIFOに対して何時発せられるかを定める。
スキュー補償回路はデータ・トラックに書込まれている
或るタイミング・マークを探し、FIFOからデータを取り
上げまたFIFOの内容を下にシフトさせるプルつまり取出
し命令を発したり保留したりする。したがって、FIFOは
読取り回路のアナログ・サブシステムとディジタル・サ
ブシステムの間のインターフェイスをバッファするよう
に働く。 しかしながら、利用できるFIFOの機構はコスト、信頼
性、および速度の制限によって装置の性能を制約するこ
とがある。これら制限のほとんどはVLSI回路で現在のFI
FOの構成を実現することの困難さに関係している。VLSI
の技術は複雑な回路を非常に費用効率よく製造するのに
役立っている。これはVLSI装置によって実現されるもっ
と大きなシステム内に集積することができる簡単な回路
に関してかなりな節約になる。同様に、VLSIに組込まれ
ている回路は関連する電気径路が短くなることによる速
度の有利さと、別々の接続製造工程を可能なかぎり少な
くできることによる信頼性の利点を得ることができる。 しかしながら、VLSIデバイスの信頼性は、製造業者が
不良デバイスを捨てることができるということに依存し
ている。これから逆に、VLSIにより実現される構成は試
験しやすいものであることが必要となる。試験可能であ
ることが必要となる。試験可能であることの大部分は、
構成が全て同期的であるということによって決まる。 したがって、回路の利口な設計法のひとつとして、非
同期要素を用いるのをやめて、読取り/フォーマット・
チップのような、共通のクロックに同期している回路を
モノリシック・デバイス上に集積するということがあ
る。従って同期化の境界により、どのデバイスがVLSIの
利益を享受することができるかを限定していると言うこ
とができる。利用できるFIFOの構成は非同期であり、し
たがって同期化境界の外になければならない。同様に、
このようなFIFOによって同期サブシステムから分離され
ている構成要素は同期化境界の外にあるのでこれを主シ
ステムのチップに組入れることによってVLSI化の利益を
受けることは困難である。 このように、現在のFIFOの構成はVLSIの技術の利益を
確実に享受することができない。この制限は他の構成要
素、たとえば、テープ・レコーダの読取り回路のFIFOシ
フトレジスタから上流にあるものにも及ぶ。これに関連
する欠点は、テープ・ドライブ読取り回路によく見られ
るように、並列に設置された複数のFIFOの動作を調和さ
せるのは困難であるということである。加えて、従来の
FIFOにおいては、データ・ビットが入口のセルから順番
にシフトしていって最上位のセルに到達するのにかかる
時間中システムの動作を遅らせる可能性がある。 〔発明の目的〕 本発明は上述した従来技術の問題点を解消し、より速
く動作し、VLSIデバイスに組込むことが可能であり、ま
た並列に設置された他のFIFOと調和動作できるFIFOを提
供することを目的とする。 〔発明の概要〕 本発明の一実施例によれば、FIFOは入力を選択された
セルに直接注入する手段を備えている。これによってデ
ータが入口のセルから順次伝搬するための時間による遅
れが回避され、更に重要なことは、FIFOが同期して動作
できる。したがって、本実施例はモノリシックVLSIデバ
イスに組込むことができるFIFOを提供するものである。
更に、このようなFIFOの動作は並列に設置された同様な
デバイスの動作と容易に協調することができる。 同等な従来の装置の場合のように、本実施例のFIFOは
直列に配置された一組の読取り・書込みメモリ・セルを
備えている。この一組のセルのうちにはFIFO最下位セル
があり、ここからデータがFIFOを出て行く。またデータ
がFIFOに入っている場合には、このセルにデータ・ビッ
トが入っている。このセルの組にはまたFIFO最上位セル
が含まれており、これはFIFOが満杯になっているときだ
け有効なデータ・ビットを保持する。FIFO最上位セル以
外の各セルには夫々先行セルが対応付けられ、またFIFO
最下位セル以外の各セルには夫々後続セルが対応付けら
れている。後続セルが対応付けられている各セルにはそ
のセルの内容を後続セルに転送する手段が設けられてい
る。 本実施例では、FIFO中の各セルは並列データ入力線か
ら入力を受取ることができる。各セルには次の転送が先
行セルからであるかあるいは並列データ入力線からであ
るかを判別する入力制御手段が設けられている。各セル
は同期動作を行うようにクロックされることができる。
このような数個のFIFOシフトレジスタが、必要に応じ
て、同期して並列に動作することができる。 入力制御部はデータ・セルと一対一に対応している一
連の入力制御セルとして実現することができる。各入力
制御セルはそれぞれのデータ・セルが有効ビットを含ん
でいるか否かを示すビットを格納する。この情報はそれ
ぞれのデータ・セル、および、もしあれば、その後続デ
ータ・セルに対して入力選択を制御するのに使用され
る。実際の判定動作はFIFOへの「押込み」および「取出
し」信号入力に応じて行われる。これ以上の詳細および
利点は図面および下記の詳細説明を見れば明らかであ
る。 〔実 施 例〕 FIFOバンク99は第1図に示すように二つのFIFO100お
よび200を備えている。各FIFO100、200は一連のセル101
〜132、201〜232を備えている。磁束データは各セルの
並列入力ポート(PIN)に接続されている磁束データ入
力線(FDIN)によって各セルに直接注入することができ
る。その他に、FIFO100および200は共通クロック(クロ
ック)によって駆動され同期動作を行うことができる。 FIFO100および200の動作を、第2図に詳細を示すよう
に、二つの隣接するセル103および104の相互作用に関連
して説明する。第2図中ではセル102が「次の」セルで
あり、セル105が「前の」セルである。FIFO中のデータ
は、一連のセル101〜132(あるいは201〜232)で形成さ
れたシフトレジスタ中を、参照番号の小さいセル(つま
り入口側のセル)から参照番号の大きなセル(つまり出
口側のセル)の方へシフトされていく。またデータがこ
のシフトレジスタに入力される際には、空いているセル
のうちで一番出口側にあるセルに入れられるので、参照
番号の小さいセル(つまり出口側のセル)から先にデー
タが詰め込まれ、FIFO中に入っているデータの個数が多
くなるに連れてデータが詰め込まれているセル群の末尾
が参照番号の小さい側(つまり入口側)に向かって伸び
ていく。 セル103はデータ・セルA143と入力制御セルA153を備
えている。またセル104はこれに対応してデータ・セルB
144と入力制御セル154を備えている。(「A」と「B」
は夫々「上」および「下」を表わす省略記号である)各
データ・セル143、144は10個のポートを備えている。従
来どうり、押込み(PSH)、取出し(PL)、データ入力
(SIN)、データ出力(SOUT)、クリア(CL)、および
試験(TST)のポートが設けられている。本発明によれ
ば、更にクロック(CLK)、並列入力(PIN)、当該セル
・データ有効(DVH)、および上位セル・データ有効(D
VA)のポートも設けられている。 これらの追加されたポートは入力制御セル153および1
54により直接または間接に制御される。たとえば、デー
タ・セルB143のDVHポートでの値は入力制御セルB153の
内容であり、データ・セルB143のDVAポートでの値は入
力制御セルA154の内容と同じである。いずれのデータ・
セルについても、格納すべき次のデータ・ビットの供給
源はDVAとDVHでの値およびこれに関してPSHとPLで受信
された入力の値によって決まる。この供給源はセルの直
列入力(SIN)または並列入力(PIN)のいずれかになり
得る。 クリア(CL)信号が付勢されると、すべてのデータ・
セルが「0」に初期設定され、すべての入力制御セルが
「1」に初期設定される。入力制御セルの「1」はそれ
に対応するデータ・セルが格納している値が有効データ
を反映していないことを意味する。したがって、入力制
御セルは有効性指示の補数(ここでは記号「V*」で表
わす)を格納する。以下に詳記する機能により、入力制
御セルの「1」の作用は、対応するセルにその直列入力
(SIN)ではなく並列入力(PIN)を通してデータを受入
れさせることである。 FIFOの入力制御部は双方向シフトレジスタを構成して
いる。押込みは、それと同時に取出しが起らない場合
に、この双方向シフトレジスタの内容を1セルだけ上に
(第1図および第2図では左に)シフトさせる。たとえ
ば、入力制御セルB153に格納されている「1」はそのV
*ポートを通して入力制御セルA154のINBポートに伝達
することができる。逆に、押込みがない時に取出しを行
なうと入力制御セルの内容が下方にシフトされる。たと
えば、入力制御セルA154に格納されている「0」はその
V*ポートを通して入力制御セルB153のINAポートに伝
達することができる。取出しおよび押込みの信号が同時
に存在すると入力制御セルの内容はシフトされない。 第1図を参照すると、最下位セル101のINBが接地され
ている。したがって、取出しをともなわない押込みが行
われれば、この接地レベルの「0」が入力制御セルで構
成されている双方向シフトレジスタ内に取込まれる。し
たがって、データがFIFO100に格納されていくにつれ
て、「1」が上に移り、「0」は下の空所を埋める。こ
れと相応して、最上位セル132のINA入力ポートは高電位
のVDDに結合されているので、双方向シフトレジスタが
取出し命令に応答して下方にシフトしていくにつれてVD
Dに対応する「1」が入力される。この同じ最上位セル
の直列入力(SIN)は接地されているので、通常は、FIF
Oへのデータ入力は並列入力ポート(PIN)を通るものだ
けであることに注意されたい。 この構造では、双方向シフトレジスタに関して三つの
択一的な状態がある。第1の状態では、入力制御セルは
すべて「1」を格納している。これはFIFOには、たとえ
ば初期状態の場合のように、有効データが無いことを意
味する。第2の状態では、入力制御セルはすべて「0」
を格納している。これはオーバフローを起す可能性があ
り、したがって、V*出力ポートが、エラー信号として
処理されるオーバフロー(OVER)信号を発生することを
意味する。第3の状態では、スタック中のデータについ
て通常使用されている意味でのトップ位置のセルが存在
する。すなわち、このセルよりも上(入口側)のデータ
・セルでは、それに対応する全ての入力制御セルに
「1」が入っていて、これらのデータ・セルが空である
ことを表わしている。また、トップ位置のセル以下(出
口側)のデータ・セルでは、それに対応する全ての入力
制御セルに「0」が入っていて、これらのデータ・セル
に有効なデータが入っていることを表わしている。これ
以外には通常の定常状態の可能性は存在しない。 第2図を参照して、入力制御セルA154が「1」を含ん
でおり、入力制御セルB153が「0」を含んでいる場合を
考える。押込みが発せられると、入力制御セルB153に格
納されている「0」は、当該セルに対応するデータ・セ
ルB143が新しいデータをその入力ポートのいずれからも
受入れることができないことを示す。他方、入力制御セ
ルA154の「1」により、これに対応するデータ・セルA1
44はその並列入力ポートPINを介してデータ入力を受取
る。押込み命令はまた入力制御セルの内容を1セル上に
シフトするので第2図に示す二つの入力制御セルに
「0」が入ることになる。したがって、次の命令が押込
みであれば、データ・セルは入力を受入れないことにな
る。 取出しが発せられると、各データ・セルの挙動はその
DVAポートの値に支配される。再び図示の入力制御セル1
53および154が異なる値を持っていると仮定すれば、取
出し命令が発せられると、データ・セルB143のDVAポー
トの「1」によってその並列入力(PIN)を経由してデ
ータが受入れられる。他方、入力制御セルA154に「0」
が入っていてデータ・セルAが有効データを持っている
ことを示していれば、データ・セルB143はその直列入力
(SIN)ポートを経由してその有効データを受入れるこ
とになる。押込みが無くて取出し命令が発せられると、
入力制御セルに格納されている値が1セル下にシフトさ
れる。したがって、入力制御セルA154の「1」はそのV
*ポートを出て入力制御セルBのINBに受取られる。 取出しと押込みが同時に発せられると、入力制御セル
の内容は変化しない。データ・セルのDVAポートの値は
そのデータ・セルがどのポートを通して次のデータ・ビ
ットを受取るかを決める。入力制御セルの出力V*には
四つの目的地、すなわち、関連データ・セルのポートで
ある「当該セル・データ有効」(DVH)、これに対応す
るデータ・セルのすぐ次のデータ・セルの「上位セル・
データ有効」(DVA)、すぐ次の入力制御セルの「入方
からの入力」(INA)、および直前の入力制御セルの
「下方からの入力」(INB)がある。 添付の図面は、ほとんどの場合そこに現れている信号
は実際には複合信号であるという意味において簡略化し
てある。たとえば、クロック信号は10個のクロック信号
として実現されている。クロックは2位相クロックであ
るから、位相1とその相補信号、および位相2とその相
補信号が与えられている。付加的な位相1クロックはデ
ータ・セルへの径路指定制約のため設けられている。次
に、二重化された信号は入力制御セルに送られる。同様
に他の信号の大部分は掲示した信号およびその相補信号
を備えている。 第1図のFIFOの動作を第3図のタイミング図と関連し
て更に説明する。この図では、CLK(0)はFIFOへのク
ロックの位相1入力であり、CLK(1)はクロックの位
相2入力であり、CLは「クリア」入力であり、PSHは
「押込み」入力であり、PLは「取出し」入力であり、FD
INは磁束データ入力であり、FDOUTはFIFOの「磁束デー
タ出力」であり、EMPTYは「空」出力である。 第3図に示したシーケンスは次のとうりである。 1. (0〜0.75μs)最初の3サイクル中、クリアが付
勢され、FIFOは空の状態になる。クリアはここに示した
様に長いこと付勢し続ける必要はない。1サイクルで充
分である。 2. (0.75〜1.0μs)次に、「1」が押込まれる。次
のクロック・サイクル前に空が落ちる。 3. (1.0〜1.25μs)次に、「0」が押込まれる。 4. (1.25〜1.5μs)次に、取出しが付勢される。出
力での「1」はクロックの位相1(clk(0)高)の終
りに消え、FIFOの次のビット「0」で置き換えられる。 5. (1.5〜1.75μs)次の取出しが付勢される。
「0」は4.における取出しのようにクロックの位相1の
終りに消える。同時に空が真になり、「FDOUT」の地が
無効であることを示す。 6. (1.75〜2.0μs)次に、「1」がもうひとつ押込
まれ、空が偽となる。 7. (2.0〜2.25μs)次に、取出しが付勢されている
のと同時に「0」が押込まれる。丁度押込まれたばかり
の「1」はFIFOから取出され、次のビット「0」が置き
換えられることに注意されたい。出力での「0」は有効
であってまだ取出されていないので、空は低のままであ
る。 8. (2.25〜2.5μs)「1」がもうひとつ押込まれ
る。 9. (2.5〜2.75μs)取出し付勢されていると同時に
「0」が押込まれる。このとき、「0」が出力から取出
され、その後で入れられた「1」で置き換えられる。こ
の手順が終了したときには、FIFOには2ビットが入って
いる。すなわち「1」とそれに続く「0」である。 インターフェイスをとりやすくするために、第1図の
FIFO100および200は四つの出力信号を発生する。「FDOU
T」は従来の磁束データ出力信号である。「EMPTY」は出
力として利用できる信号が無いことを示し、一般に接続
されているデバイスが取出しを付勢するのを禁止するの
に使用される。「OVER」はすべてのセルが有効データを
持っていることを示し、したがって、オーバフロー・エ
ラーが発生した可能性のあることを示す。「FULL」はオ
ーバフロー・エラーが発生する前に取るべき処置を開始
するのに使用される。第1図に示したFIFO100および200
では、「FULL」は第3番目のセルから最後のセル、たと
えばFIFOシフトレジスタ100のセル130、へのV*出力で
ある。 これら「FULL」または「ほとんど満杯」の信号はFIFO
バンク99のFIFO間で組合わされる。セル130からのFULL
出力はゲート161に送られる。ゲート161では接地された
FULLIN入力とセル130のV*出力の反転信号の論理和が
とられる。この和はセル230のV*出力の反転信号との
論理和を取るゲート162のFULLIN入力で利用することが
できる。その結果二つのFIFOのどれかが満杯になってい
ることを示す「満杯になっているものがあるか?」の信
号が発生される。したがって、FIFO100、200の夫々のFU
LL信号およびいずれかのFIFOが満杯であることを意味す
る論理信号の三つの満杯信号がインターフェイスをとる
ために利用できる。 第4図のテープ・ドライブ読取り回路に組込まれてい
るように、9個のFIFOが9個の個別FULL信号と論理和複
合信号を発生し、301に10ビットの信号が得られる。一
つのFIFO302は「OVER」、押込み、取出し、空、および
磁束データ入力および出力の各線を備えた状態で示して
ある。 第4図中ではFIFOへの、読取りヘッド305を通過する
9トラック磁気テープ303から得られる磁束データ入力
が示されている。読取りヘッド305は磁束レベルを電気
信号のレベルに変換し、これをアナログ読取り回路307
に導く。アナログ読取り回路307からの磁束データ出力
の9本のチャネルは9個の位相ロック・ループ(PLL)3
11のバンク309によりディジタル化される。 PLLのバンク309は磁束データと有効性信号をデマルチ
プレクスした9チャネルの信号を与える。これらをマル
チプレクスすると、アクティブな有効性信号がそれぞれ
のFIFOへの「押込み」信号として処理される。すなわ
ち、半サイクル期間中に、次の半サイクルに同じ線に現
われるデータを対応するFIFOに押込んでよいか否かを示
す有効性信号が発せられる。このクロック・サイクルの
タイミングは組込まれている読取り装置により与えられ
る位相・選択信号によって制御され、指示され、読取り
回路の主システム・クロックに同期される。 位相・選択および磁束データ・有効性の各信号はモノ
リシックVLSIのスキュー補償読取り回路313に入力され
る。これに含まれているデマルチプレクサ315は到来す
るデータ/有効性信号から無効データをふるい落し、有
効データがトラックごとに伝達されるときに押込み(PS
H)信号をFIFO302に対して発する。 スキュー補償/読取り回路313はマスタ・クロックに
よって制御されるが、これはよく知られているので図示
していない。マスタ・クロックはFIFOばかりでなく、ね
じれ補償/読取り回路313のスキュー補償/マーク検出
回路317および読取り/フォーマット回路319へのクロッ
ク源である。他に、マスタ・クロックはPLLバンク309か
らの位相/選択信号の同期化も行う。 PLLバンク309からの9トラックの磁束データ出力はマ
スタ・クロックに関して同期化されているが、これらの
データは一般に相互には同期していない。読取りヘッド
305とテープ径路との機械的相対ずれ、および駆動力と
疲労によるテープの変形により、元来同期して書込まれ
たビットがわずかに異なった時刻に読取られる。 高性能テープ・ドライブで使用されている高ビット密
度のとき、これらわずかな時間差により、たとえば、ト
ラック1のビット1がトラック5のビット3と同時に読
取られる可能性がある。テープから読取られているデー
タを確実にデコードできるようにするため、スキュー補
償回路が設けられている。図示した実施例では、スキュ
ー補償/マーク検出回路317がデータ・ブロックの境界
とテープの各トラックに書込まれた同期化マークを検知
する。 所定のマークがあるトラックで見つかると、スキュー
補償回路は通常アクティブな「PULL」信号を不活性とす
る。これによりデータがFIFOから出ないようにする一方
で、FIFOへのデータ入力はそのまま行なわれるから、そ
れぞれのFIFOが埋まり始める。FIFOが埋まっていく間、
スキュー補償/マーク検出回路317か他のトラックの対
応するマークを探す。いずれかのFIFOがFULL信号を発す
る前に、探し求められているマークがすべてのトラック
で、あるいはエラー訂正の目的に充分な数のトラックで
見つかったならば、この手順によりスキュー補償が成功
する。トラックのどれかが満杯になる前に探し求められ
ているマークの検出数が不充分な場合には、スキュー補
償回路は更に、発生した「いずれかのトラックが満杯で
ある」こと、「このトラックが満杯である」ことを示す
信号およびマークの検出に応じて、およびそこで採用さ
れているスキュー補償のやり方にしたがって補正処置を
行う。 充分な数のトラックでマークを発見することができな
かった場合には、有効性ストローブが不活性の状態に保
持され、読取り/フォーマット回路は受取った磁束デー
タ入力を捨てる。そうでない場合には、読取り/フォー
マット回路は有効入力をフォーマットし、同期化用その
他のマークのような非データ磁束入力を捨て、そこで採
用されているデータ訂正方式にしたがって受取ったデー
タを訂正し、8ビット・データをシステム処理装置(図
示せず)に出力する。この8ビット・データにはパリテ
ィ・ビットが含まれていてもよい。データの終り(EO
D)信号も設けられていて処理装置に対してデータ境界
を示すようにしている。 開示したFIFOの制御セルを読取り且つプログラムする
ことができるという事実により、このFIFOを別の動作モ
ードに容易に適応させることばできる。たとえば、入力
制御セルの内容を読みとるには、各入力制御セル毎にそ
のV*出力を読んでも良いし、あるいは取出し(PL)信
号を出さないでおいて押込み(PSH)信号を順次発してO
VER信号を監視して命令のステップ数を数えてもよい
し、またあるいはPSHを出さないでおいてPL信号を順次
発していきEMPTY出力を監視することによっても読取れ
る。 同様に、入力制御セルは、PL信号を出さないでおいて
PSH信号が発せられたとき最下位入力制御セルたとえば1
01のINBにおけるレベルを制御することにより、あるい
はPSHを出さないでおいてPLが発せられたとき最上位入
力制御セル、たとえば132のINAにおけるレベルを制御す
ることによりプログラムすることができる。入力制御セ
ルをプログラムすることにより、またPSH信号とPL信号
とを結合することにより、可変長のシフトレジスタが得
られる。 開示したFIFOの構造がプログラム可能なおよび読取り
可能な固定長シフトレジスタとしても使用できるという
事実により、このFIFOを組込んでいるドライブの融通性
を高めることができる。たとえば、磁束密度が低いとき
に、動的スキューは重大でない場合がある。このときに
は安定な機械的整列不良によって導入されることのある
静的スキューだけに注目すればよい。したがって、所与
の磁束密度についての校正テープを使用して特定のテー
プ・ドライブのスキュー・プロフィールを判定すること
ができる。このスキュー・プロフィールはそれぞれの入
力制御セルから読取って格納することができる。通常の
(校正用ではない)テープを装填するときは、このプロ
フィールをそれぞれの入力制御セルにプログラムして、
FIFOバンクの出口では複数トラックからのデータが相互
に整列するのに必要な遅れを各FIFOに導入するようにす
ることができる。もちろん、FIFOを読取り、プログラム
する能力には他に多数の可能な用法が存在する。 開示したFIFOは同期動作を行うことができるようにな
っているため、このFIFOは図示のようにモノリシックVL
SIスキュー補償/読取回路313の一部として実現するこ
とができる。特別な長所として、デマルチプレクサ315
は、従来のFIFOを使用した場合、VLSIチップの外に出さ
れることになるが、本発明によれば同期化境界中に入ら
れる。 その他に、クロック同期した直接注入転送という構成
によりビットがいつ出力で利用できるようになるかを判
定する際の不確実さが除かれる。したがって、スキュー
が無い状態での正常動作中、FIFOバンクに同時に入力す
るビットは予測可能な時刻に同時に除去することができ
る。換言すれば、本発明はFIFOバンクの入力で同期して
いるデータはその出力でも同期しているようにする。こ
れによってシステムはFIFOバンクの出力でビットを「整
列」させる遅れを導入する必要性、または代りに、非同
期出力を補正する付加回路を設ける必要性から解放され
る。 本発明の更に他の利点として、データを次に利用可能
な空所に直接注入することによりデータが入口のセルか
ら必要なセルへ順次伝搬するための遅れが最少限とな
る。したがって、開示したFIFOはそれに接続している回
路の速さに容易に合わせることができる。 本発明は当業者には明らかな他の修正案および変形例
で更に他の利点を持っている。本発明は深さ2ビット以
上のFIFOおよび任意の大きさの並列FIFOバンクに適合す
ることができる。更に、開示した回路を一部修正するこ
とによりあるいは適切な外部論理を設けることにより別
の動作モードを備えることができる。これらの、および
他の修正および変形例は本発明によって提供されるが、
その範囲は特許請求の範囲によってのみ限定される。 〔発明の効果〕 以上説明したように、本発明によれば高速動作可能で
集積化が容易なFIFOを提供することができる。
る。 通常の垂直に立てた物のたとえを用いれば、FIFOは入
力データをデータの最上位セルに導く制御部を備えてい
る。最上位セルは空になっているセル、すなわち有効デ
ータが入っていないセルのうちの最上位のものとして一
層正確に特徴づけることができる。この最上位セルより
下のセルにはすべてデータが入っている。実際上、この
ようなFIFOは可変長のシフトレジスタであり、その長さ
は常にその内部に格納されているデータと同じである。
したがって、データをFIFOから取出す(pull)と、各デ
ータ・ビットは1セル下にシフトされ、最上位セルの位
置も同様にひとつ下にシフトする。このようなFIFOはテ
ープ・レコーダ、電子式タイプライタ、およびワード・
プロセッサのような装置にしばしば使用されている。 たとえば、FIFOの高性能テープ・ドライブの読取り回
路のアナログ・サブシステムとディジタル・サブシステ
ムを接続するのに使用することができる。このような装
置では、データは一般的に磁気テープ上に平行な何本か
の磁束レベルのトラックとして記録される。テープは読
取りヘッドを通過し、読取りヘッドは各トラックの磁束
レベルをアナログ電気信号に変換する。これらアナログ
電気信号はディジタル化されて読取り/フォーマット回
路に送られデコードされる。 読取り/フォーマット回路内のタイミングはシステム
・クロックにより精密に同期させることができるが、こ
のディジタル回路を到来するアナログ信号トラックに対
して調整し、また個々の信号トラックを互いに調整する
ことはささいな事柄ではない。テープ上で磁束反転の形
をしているデータのタイミングは機械的速度の変動、テ
ープまたはヘッドの位置ずれ、およびテープの変形とい
うばらつき的事項に影響されやすい。したがって、個々
のデータ・トラック間には相互にスキューが存在するこ
とがあり、これら信号は一般に読取り/フォーマット回
路を支配する同期に対しての本質的な関係は持たない。 アナログ回路とディジタル回路間のインターフェイス
をとるために、各トラックの信号を位相ロック・ルー
プ、FIFOおよびスキュー補償回路によって処理すること
ができる。各位相ロック・ループは到来するアナログ信
号をサンプルしてその各セグメントにディジタル値を割
当てる。位相ロック・ループはまたどのサンプルが有効
であるかを判定する。すなわち位相ロック・ループは二
つのビット間の遷移ではなく、個々のデータ・ビットを
表現する。このような判定の結果に従って、位相ロック
・ループはプッシュつまり押込み(push)命令がデータ
入力を受取るFIFOに対して何時発せられるかを定める。
スキュー補償回路はデータ・トラックに書込まれている
或るタイミング・マークを探し、FIFOからデータを取り
上げまたFIFOの内容を下にシフトさせるプルつまり取出
し命令を発したり保留したりする。したがって、FIFOは
読取り回路のアナログ・サブシステムとディジタル・サ
ブシステムの間のインターフェイスをバッファするよう
に働く。 しかしながら、利用できるFIFOの機構はコスト、信頼
性、および速度の制限によって装置の性能を制約するこ
とがある。これら制限のほとんどはVLSI回路で現在のFI
FOの構成を実現することの困難さに関係している。VLSI
の技術は複雑な回路を非常に費用効率よく製造するのに
役立っている。これはVLSI装置によって実現されるもっ
と大きなシステム内に集積することができる簡単な回路
に関してかなりな節約になる。同様に、VLSIに組込まれ
ている回路は関連する電気径路が短くなることによる速
度の有利さと、別々の接続製造工程を可能なかぎり少な
くできることによる信頼性の利点を得ることができる。 しかしながら、VLSIデバイスの信頼性は、製造業者が
不良デバイスを捨てることができるということに依存し
ている。これから逆に、VLSIにより実現される構成は試
験しやすいものであることが必要となる。試験可能であ
ることが必要となる。試験可能であることの大部分は、
構成が全て同期的であるということによって決まる。 したがって、回路の利口な設計法のひとつとして、非
同期要素を用いるのをやめて、読取り/フォーマット・
チップのような、共通のクロックに同期している回路を
モノリシック・デバイス上に集積するということがあ
る。従って同期化の境界により、どのデバイスがVLSIの
利益を享受することができるかを限定していると言うこ
とができる。利用できるFIFOの構成は非同期であり、し
たがって同期化境界の外になければならない。同様に、
このようなFIFOによって同期サブシステムから分離され
ている構成要素は同期化境界の外にあるのでこれを主シ
ステムのチップに組入れることによってVLSI化の利益を
受けることは困難である。 このように、現在のFIFOの構成はVLSIの技術の利益を
確実に享受することができない。この制限は他の構成要
素、たとえば、テープ・レコーダの読取り回路のFIFOシ
フトレジスタから上流にあるものにも及ぶ。これに関連
する欠点は、テープ・ドライブ読取り回路によく見られ
るように、並列に設置された複数のFIFOの動作を調和さ
せるのは困難であるということである。加えて、従来の
FIFOにおいては、データ・ビットが入口のセルから順番
にシフトしていって最上位のセルに到達するのにかかる
時間中システムの動作を遅らせる可能性がある。 〔発明の目的〕 本発明は上述した従来技術の問題点を解消し、より速
く動作し、VLSIデバイスに組込むことが可能であり、ま
た並列に設置された他のFIFOと調和動作できるFIFOを提
供することを目的とする。 〔発明の概要〕 本発明の一実施例によれば、FIFOは入力を選択された
セルに直接注入する手段を備えている。これによってデ
ータが入口のセルから順次伝搬するための時間による遅
れが回避され、更に重要なことは、FIFOが同期して動作
できる。したがって、本実施例はモノリシックVLSIデバ
イスに組込むことができるFIFOを提供するものである。
更に、このようなFIFOの動作は並列に設置された同様な
デバイスの動作と容易に協調することができる。 同等な従来の装置の場合のように、本実施例のFIFOは
直列に配置された一組の読取り・書込みメモリ・セルを
備えている。この一組のセルのうちにはFIFO最下位セル
があり、ここからデータがFIFOを出て行く。またデータ
がFIFOに入っている場合には、このセルにデータ・ビッ
トが入っている。このセルの組にはまたFIFO最上位セル
が含まれており、これはFIFOが満杯になっているときだ
け有効なデータ・ビットを保持する。FIFO最上位セル以
外の各セルには夫々先行セルが対応付けられ、またFIFO
最下位セル以外の各セルには夫々後続セルが対応付けら
れている。後続セルが対応付けられている各セルにはそ
のセルの内容を後続セルに転送する手段が設けられてい
る。 本実施例では、FIFO中の各セルは並列データ入力線か
ら入力を受取ることができる。各セルには次の転送が先
行セルからであるかあるいは並列データ入力線からであ
るかを判別する入力制御手段が設けられている。各セル
は同期動作を行うようにクロックされることができる。
このような数個のFIFOシフトレジスタが、必要に応じ
て、同期して並列に動作することができる。 入力制御部はデータ・セルと一対一に対応している一
連の入力制御セルとして実現することができる。各入力
制御セルはそれぞれのデータ・セルが有効ビットを含ん
でいるか否かを示すビットを格納する。この情報はそれ
ぞれのデータ・セル、および、もしあれば、その後続デ
ータ・セルに対して入力選択を制御するのに使用され
る。実際の判定動作はFIFOへの「押込み」および「取出
し」信号入力に応じて行われる。これ以上の詳細および
利点は図面および下記の詳細説明を見れば明らかであ
る。 〔実 施 例〕 FIFOバンク99は第1図に示すように二つのFIFO100お
よび200を備えている。各FIFO100、200は一連のセル101
〜132、201〜232を備えている。磁束データは各セルの
並列入力ポート(PIN)に接続されている磁束データ入
力線(FDIN)によって各セルに直接注入することができ
る。その他に、FIFO100および200は共通クロック(クロ
ック)によって駆動され同期動作を行うことができる。 FIFO100および200の動作を、第2図に詳細を示すよう
に、二つの隣接するセル103および104の相互作用に関連
して説明する。第2図中ではセル102が「次の」セルで
あり、セル105が「前の」セルである。FIFO中のデータ
は、一連のセル101〜132(あるいは201〜232)で形成さ
れたシフトレジスタ中を、参照番号の小さいセル(つま
り入口側のセル)から参照番号の大きなセル(つまり出
口側のセル)の方へシフトされていく。またデータがこ
のシフトレジスタに入力される際には、空いているセル
のうちで一番出口側にあるセルに入れられるので、参照
番号の小さいセル(つまり出口側のセル)から先にデー
タが詰め込まれ、FIFO中に入っているデータの個数が多
くなるに連れてデータが詰め込まれているセル群の末尾
が参照番号の小さい側(つまり入口側)に向かって伸び
ていく。 セル103はデータ・セルA143と入力制御セルA153を備
えている。またセル104はこれに対応してデータ・セルB
144と入力制御セル154を備えている。(「A」と「B」
は夫々「上」および「下」を表わす省略記号である)各
データ・セル143、144は10個のポートを備えている。従
来どうり、押込み(PSH)、取出し(PL)、データ入力
(SIN)、データ出力(SOUT)、クリア(CL)、および
試験(TST)のポートが設けられている。本発明によれ
ば、更にクロック(CLK)、並列入力(PIN)、当該セル
・データ有効(DVH)、および上位セル・データ有効(D
VA)のポートも設けられている。 これらの追加されたポートは入力制御セル153および1
54により直接または間接に制御される。たとえば、デー
タ・セルB143のDVHポートでの値は入力制御セルB153の
内容であり、データ・セルB143のDVAポートでの値は入
力制御セルA154の内容と同じである。いずれのデータ・
セルについても、格納すべき次のデータ・ビットの供給
源はDVAとDVHでの値およびこれに関してPSHとPLで受信
された入力の値によって決まる。この供給源はセルの直
列入力(SIN)または並列入力(PIN)のいずれかになり
得る。 クリア(CL)信号が付勢されると、すべてのデータ・
セルが「0」に初期設定され、すべての入力制御セルが
「1」に初期設定される。入力制御セルの「1」はそれ
に対応するデータ・セルが格納している値が有効データ
を反映していないことを意味する。したがって、入力制
御セルは有効性指示の補数(ここでは記号「V*」で表
わす)を格納する。以下に詳記する機能により、入力制
御セルの「1」の作用は、対応するセルにその直列入力
(SIN)ではなく並列入力(PIN)を通してデータを受入
れさせることである。 FIFOの入力制御部は双方向シフトレジスタを構成して
いる。押込みは、それと同時に取出しが起らない場合
に、この双方向シフトレジスタの内容を1セルだけ上に
(第1図および第2図では左に)シフトさせる。たとえ
ば、入力制御セルB153に格納されている「1」はそのV
*ポートを通して入力制御セルA154のINBポートに伝達
することができる。逆に、押込みがない時に取出しを行
なうと入力制御セルの内容が下方にシフトされる。たと
えば、入力制御セルA154に格納されている「0」はその
V*ポートを通して入力制御セルB153のINAポートに伝
達することができる。取出しおよび押込みの信号が同時
に存在すると入力制御セルの内容はシフトされない。 第1図を参照すると、最下位セル101のINBが接地され
ている。したがって、取出しをともなわない押込みが行
われれば、この接地レベルの「0」が入力制御セルで構
成されている双方向シフトレジスタ内に取込まれる。し
たがって、データがFIFO100に格納されていくにつれ
て、「1」が上に移り、「0」は下の空所を埋める。こ
れと相応して、最上位セル132のINA入力ポートは高電位
のVDDに結合されているので、双方向シフトレジスタが
取出し命令に応答して下方にシフトしていくにつれてVD
Dに対応する「1」が入力される。この同じ最上位セル
の直列入力(SIN)は接地されているので、通常は、FIF
Oへのデータ入力は並列入力ポート(PIN)を通るものだ
けであることに注意されたい。 この構造では、双方向シフトレジスタに関して三つの
択一的な状態がある。第1の状態では、入力制御セルは
すべて「1」を格納している。これはFIFOには、たとえ
ば初期状態の場合のように、有効データが無いことを意
味する。第2の状態では、入力制御セルはすべて「0」
を格納している。これはオーバフローを起す可能性があ
り、したがって、V*出力ポートが、エラー信号として
処理されるオーバフロー(OVER)信号を発生することを
意味する。第3の状態では、スタック中のデータについ
て通常使用されている意味でのトップ位置のセルが存在
する。すなわち、このセルよりも上(入口側)のデータ
・セルでは、それに対応する全ての入力制御セルに
「1」が入っていて、これらのデータ・セルが空である
ことを表わしている。また、トップ位置のセル以下(出
口側)のデータ・セルでは、それに対応する全ての入力
制御セルに「0」が入っていて、これらのデータ・セル
に有効なデータが入っていることを表わしている。これ
以外には通常の定常状態の可能性は存在しない。 第2図を参照して、入力制御セルA154が「1」を含ん
でおり、入力制御セルB153が「0」を含んでいる場合を
考える。押込みが発せられると、入力制御セルB153に格
納されている「0」は、当該セルに対応するデータ・セ
ルB143が新しいデータをその入力ポートのいずれからも
受入れることができないことを示す。他方、入力制御セ
ルA154の「1」により、これに対応するデータ・セルA1
44はその並列入力ポートPINを介してデータ入力を受取
る。押込み命令はまた入力制御セルの内容を1セル上に
シフトするので第2図に示す二つの入力制御セルに
「0」が入ることになる。したがって、次の命令が押込
みであれば、データ・セルは入力を受入れないことにな
る。 取出しが発せられると、各データ・セルの挙動はその
DVAポートの値に支配される。再び図示の入力制御セル1
53および154が異なる値を持っていると仮定すれば、取
出し命令が発せられると、データ・セルB143のDVAポー
トの「1」によってその並列入力(PIN)を経由してデ
ータが受入れられる。他方、入力制御セルA154に「0」
が入っていてデータ・セルAが有効データを持っている
ことを示していれば、データ・セルB143はその直列入力
(SIN)ポートを経由してその有効データを受入れるこ
とになる。押込みが無くて取出し命令が発せられると、
入力制御セルに格納されている値が1セル下にシフトさ
れる。したがって、入力制御セルA154の「1」はそのV
*ポートを出て入力制御セルBのINBに受取られる。 取出しと押込みが同時に発せられると、入力制御セル
の内容は変化しない。データ・セルのDVAポートの値は
そのデータ・セルがどのポートを通して次のデータ・ビ
ットを受取るかを決める。入力制御セルの出力V*には
四つの目的地、すなわち、関連データ・セルのポートで
ある「当該セル・データ有効」(DVH)、これに対応す
るデータ・セルのすぐ次のデータ・セルの「上位セル・
データ有効」(DVA)、すぐ次の入力制御セルの「入方
からの入力」(INA)、および直前の入力制御セルの
「下方からの入力」(INB)がある。 添付の図面は、ほとんどの場合そこに現れている信号
は実際には複合信号であるという意味において簡略化し
てある。たとえば、クロック信号は10個のクロック信号
として実現されている。クロックは2位相クロックであ
るから、位相1とその相補信号、および位相2とその相
補信号が与えられている。付加的な位相1クロックはデ
ータ・セルへの径路指定制約のため設けられている。次
に、二重化された信号は入力制御セルに送られる。同様
に他の信号の大部分は掲示した信号およびその相補信号
を備えている。 第1図のFIFOの動作を第3図のタイミング図と関連し
て更に説明する。この図では、CLK(0)はFIFOへのク
ロックの位相1入力であり、CLK(1)はクロックの位
相2入力であり、CLは「クリア」入力であり、PSHは
「押込み」入力であり、PLは「取出し」入力であり、FD
INは磁束データ入力であり、FDOUTはFIFOの「磁束デー
タ出力」であり、EMPTYは「空」出力である。 第3図に示したシーケンスは次のとうりである。 1. (0〜0.75μs)最初の3サイクル中、クリアが付
勢され、FIFOは空の状態になる。クリアはここに示した
様に長いこと付勢し続ける必要はない。1サイクルで充
分である。 2. (0.75〜1.0μs)次に、「1」が押込まれる。次
のクロック・サイクル前に空が落ちる。 3. (1.0〜1.25μs)次に、「0」が押込まれる。 4. (1.25〜1.5μs)次に、取出しが付勢される。出
力での「1」はクロックの位相1(clk(0)高)の終
りに消え、FIFOの次のビット「0」で置き換えられる。 5. (1.5〜1.75μs)次の取出しが付勢される。
「0」は4.における取出しのようにクロックの位相1の
終りに消える。同時に空が真になり、「FDOUT」の地が
無効であることを示す。 6. (1.75〜2.0μs)次に、「1」がもうひとつ押込
まれ、空が偽となる。 7. (2.0〜2.25μs)次に、取出しが付勢されている
のと同時に「0」が押込まれる。丁度押込まれたばかり
の「1」はFIFOから取出され、次のビット「0」が置き
換えられることに注意されたい。出力での「0」は有効
であってまだ取出されていないので、空は低のままであ
る。 8. (2.25〜2.5μs)「1」がもうひとつ押込まれ
る。 9. (2.5〜2.75μs)取出し付勢されていると同時に
「0」が押込まれる。このとき、「0」が出力から取出
され、その後で入れられた「1」で置き換えられる。こ
の手順が終了したときには、FIFOには2ビットが入って
いる。すなわち「1」とそれに続く「0」である。 インターフェイスをとりやすくするために、第1図の
FIFO100および200は四つの出力信号を発生する。「FDOU
T」は従来の磁束データ出力信号である。「EMPTY」は出
力として利用できる信号が無いことを示し、一般に接続
されているデバイスが取出しを付勢するのを禁止するの
に使用される。「OVER」はすべてのセルが有効データを
持っていることを示し、したがって、オーバフロー・エ
ラーが発生した可能性のあることを示す。「FULL」はオ
ーバフロー・エラーが発生する前に取るべき処置を開始
するのに使用される。第1図に示したFIFO100および200
では、「FULL」は第3番目のセルから最後のセル、たと
えばFIFOシフトレジスタ100のセル130、へのV*出力で
ある。 これら「FULL」または「ほとんど満杯」の信号はFIFO
バンク99のFIFO間で組合わされる。セル130からのFULL
出力はゲート161に送られる。ゲート161では接地された
FULLIN入力とセル130のV*出力の反転信号の論理和が
とられる。この和はセル230のV*出力の反転信号との
論理和を取るゲート162のFULLIN入力で利用することが
できる。その結果二つのFIFOのどれかが満杯になってい
ることを示す「満杯になっているものがあるか?」の信
号が発生される。したがって、FIFO100、200の夫々のFU
LL信号およびいずれかのFIFOが満杯であることを意味す
る論理信号の三つの満杯信号がインターフェイスをとる
ために利用できる。 第4図のテープ・ドライブ読取り回路に組込まれてい
るように、9個のFIFOが9個の個別FULL信号と論理和複
合信号を発生し、301に10ビットの信号が得られる。一
つのFIFO302は「OVER」、押込み、取出し、空、および
磁束データ入力および出力の各線を備えた状態で示して
ある。 第4図中ではFIFOへの、読取りヘッド305を通過する
9トラック磁気テープ303から得られる磁束データ入力
が示されている。読取りヘッド305は磁束レベルを電気
信号のレベルに変換し、これをアナログ読取り回路307
に導く。アナログ読取り回路307からの磁束データ出力
の9本のチャネルは9個の位相ロック・ループ(PLL)3
11のバンク309によりディジタル化される。 PLLのバンク309は磁束データと有効性信号をデマルチ
プレクスした9チャネルの信号を与える。これらをマル
チプレクスすると、アクティブな有効性信号がそれぞれ
のFIFOへの「押込み」信号として処理される。すなわ
ち、半サイクル期間中に、次の半サイクルに同じ線に現
われるデータを対応するFIFOに押込んでよいか否かを示
す有効性信号が発せられる。このクロック・サイクルの
タイミングは組込まれている読取り装置により与えられ
る位相・選択信号によって制御され、指示され、読取り
回路の主システム・クロックに同期される。 位相・選択および磁束データ・有効性の各信号はモノ
リシックVLSIのスキュー補償読取り回路313に入力され
る。これに含まれているデマルチプレクサ315は到来す
るデータ/有効性信号から無効データをふるい落し、有
効データがトラックごとに伝達されるときに押込み(PS
H)信号をFIFO302に対して発する。 スキュー補償/読取り回路313はマスタ・クロックに
よって制御されるが、これはよく知られているので図示
していない。マスタ・クロックはFIFOばかりでなく、ね
じれ補償/読取り回路313のスキュー補償/マーク検出
回路317および読取り/フォーマット回路319へのクロッ
ク源である。他に、マスタ・クロックはPLLバンク309か
らの位相/選択信号の同期化も行う。 PLLバンク309からの9トラックの磁束データ出力はマ
スタ・クロックに関して同期化されているが、これらの
データは一般に相互には同期していない。読取りヘッド
305とテープ径路との機械的相対ずれ、および駆動力と
疲労によるテープの変形により、元来同期して書込まれ
たビットがわずかに異なった時刻に読取られる。 高性能テープ・ドライブで使用されている高ビット密
度のとき、これらわずかな時間差により、たとえば、ト
ラック1のビット1がトラック5のビット3と同時に読
取られる可能性がある。テープから読取られているデー
タを確実にデコードできるようにするため、スキュー補
償回路が設けられている。図示した実施例では、スキュ
ー補償/マーク検出回路317がデータ・ブロックの境界
とテープの各トラックに書込まれた同期化マークを検知
する。 所定のマークがあるトラックで見つかると、スキュー
補償回路は通常アクティブな「PULL」信号を不活性とす
る。これによりデータがFIFOから出ないようにする一方
で、FIFOへのデータ入力はそのまま行なわれるから、そ
れぞれのFIFOが埋まり始める。FIFOが埋まっていく間、
スキュー補償/マーク検出回路317か他のトラックの対
応するマークを探す。いずれかのFIFOがFULL信号を発す
る前に、探し求められているマークがすべてのトラック
で、あるいはエラー訂正の目的に充分な数のトラックで
見つかったならば、この手順によりスキュー補償が成功
する。トラックのどれかが満杯になる前に探し求められ
ているマークの検出数が不充分な場合には、スキュー補
償回路は更に、発生した「いずれかのトラックが満杯で
ある」こと、「このトラックが満杯である」ことを示す
信号およびマークの検出に応じて、およびそこで採用さ
れているスキュー補償のやり方にしたがって補正処置を
行う。 充分な数のトラックでマークを発見することができな
かった場合には、有効性ストローブが不活性の状態に保
持され、読取り/フォーマット回路は受取った磁束デー
タ入力を捨てる。そうでない場合には、読取り/フォー
マット回路は有効入力をフォーマットし、同期化用その
他のマークのような非データ磁束入力を捨て、そこで採
用されているデータ訂正方式にしたがって受取ったデー
タを訂正し、8ビット・データをシステム処理装置(図
示せず)に出力する。この8ビット・データにはパリテ
ィ・ビットが含まれていてもよい。データの終り(EO
D)信号も設けられていて処理装置に対してデータ境界
を示すようにしている。 開示したFIFOの制御セルを読取り且つプログラムする
ことができるという事実により、このFIFOを別の動作モ
ードに容易に適応させることばできる。たとえば、入力
制御セルの内容を読みとるには、各入力制御セル毎にそ
のV*出力を読んでも良いし、あるいは取出し(PL)信
号を出さないでおいて押込み(PSH)信号を順次発してO
VER信号を監視して命令のステップ数を数えてもよい
し、またあるいはPSHを出さないでおいてPL信号を順次
発していきEMPTY出力を監視することによっても読取れ
る。 同様に、入力制御セルは、PL信号を出さないでおいて
PSH信号が発せられたとき最下位入力制御セルたとえば1
01のINBにおけるレベルを制御することにより、あるい
はPSHを出さないでおいてPLが発せられたとき最上位入
力制御セル、たとえば132のINAにおけるレベルを制御す
ることによりプログラムすることができる。入力制御セ
ルをプログラムすることにより、またPSH信号とPL信号
とを結合することにより、可変長のシフトレジスタが得
られる。 開示したFIFOの構造がプログラム可能なおよび読取り
可能な固定長シフトレジスタとしても使用できるという
事実により、このFIFOを組込んでいるドライブの融通性
を高めることができる。たとえば、磁束密度が低いとき
に、動的スキューは重大でない場合がある。このときに
は安定な機械的整列不良によって導入されることのある
静的スキューだけに注目すればよい。したがって、所与
の磁束密度についての校正テープを使用して特定のテー
プ・ドライブのスキュー・プロフィールを判定すること
ができる。このスキュー・プロフィールはそれぞれの入
力制御セルから読取って格納することができる。通常の
(校正用ではない)テープを装填するときは、このプロ
フィールをそれぞれの入力制御セルにプログラムして、
FIFOバンクの出口では複数トラックからのデータが相互
に整列するのに必要な遅れを各FIFOに導入するようにす
ることができる。もちろん、FIFOを読取り、プログラム
する能力には他に多数の可能な用法が存在する。 開示したFIFOは同期動作を行うことができるようにな
っているため、このFIFOは図示のようにモノリシックVL
SIスキュー補償/読取回路313の一部として実現するこ
とができる。特別な長所として、デマルチプレクサ315
は、従来のFIFOを使用した場合、VLSIチップの外に出さ
れることになるが、本発明によれば同期化境界中に入ら
れる。 その他に、クロック同期した直接注入転送という構成
によりビットがいつ出力で利用できるようになるかを判
定する際の不確実さが除かれる。したがって、スキュー
が無い状態での正常動作中、FIFOバンクに同時に入力す
るビットは予測可能な時刻に同時に除去することができ
る。換言すれば、本発明はFIFOバンクの入力で同期して
いるデータはその出力でも同期しているようにする。こ
れによってシステムはFIFOバンクの出力でビットを「整
列」させる遅れを導入する必要性、または代りに、非同
期出力を補正する付加回路を設ける必要性から解放され
る。 本発明の更に他の利点として、データを次に利用可能
な空所に直接注入することによりデータが入口のセルか
ら必要なセルへ順次伝搬するための遅れが最少限とな
る。したがって、開示したFIFOはそれに接続している回
路の速さに容易に合わせることができる。 本発明は当業者には明らかな他の修正案および変形例
で更に他の利点を持っている。本発明は深さ2ビット以
上のFIFOおよび任意の大きさの並列FIFOバンクに適合す
ることができる。更に、開示した回路を一部修正するこ
とによりあるいは適切な外部論理を設けることにより別
の動作モードを備えることができる。これらの、および
他の修正および変形例は本発明によって提供されるが、
その範囲は特許請求の範囲によってのみ限定される。 〔発明の効果〕 以上説明したように、本発明によれば高速動作可能で
集積化が容易なFIFOを提供することができる。
【図面の簡単な説明】
第1図は本発明の一実施例の概略ブロック図、第2図は
第1図に示した本発明の一実施例の動作を説明するより
詳細なブロック図、第3図は第1図に示した本発明の一
実施例の動作を説明するタイミング図、第4図は本発明
の応用例を示すブロック図である。 99:FIFOバンク、 100,200:FIFO、 101〜132,201〜232:セル、 143:データ・セルB、 144:データ・セルA、 153:入力制御セルB、 154:入力制御セルA。
第1図に示した本発明の一実施例の動作を説明するより
詳細なブロック図、第3図は第1図に示した本発明の一
実施例の動作を説明するタイミング図、第4図は本発明
の応用例を示すブロック図である。 99:FIFOバンク、 100,200:FIFO、 101〜132,201〜232:セル、 143:データ・セルB、 144:データ・セルA、 153:入力制御セルB、 154:入力制御セルA。
Claims (1)
- (57)【特許請求の範囲】 1.以下(a)ないし(h)を設けてなる先入れ先出し
メモリ: (a)データ受信手段; (b)プッシュ信号受信手段; (c)プル信号受信手段; (d)最上位データ・セル及び最下位データ・セルを含
む直列接続されたデータ・セルのグループ:前記最上位
データ・セル以外の全てのデータ・セルは直後のデータ
・セルを有し、前記最下位データ・セル以外の全てのデ
ータ・セルは直前のデータ・セルを有し、前記データ・
セルの各々はクロックに同期して2値データを受信し、
ストアし、送信するようになっており、前記データ・セ
ルの各々は並列入力と直列入力と直列出力を有し、前記
最下位データ・セルの直列出力は先入れ先出しメモリの
出力となっている; (e)前記直後のデータ・セルの各々に関連付けられ、
その直列入力を介して、その直前のデータ・セルの直列
出力経由で、当該直前のデータ・セル中にストアされて
いるデータを受信する直列入力手段; (f)前記データ受信手段を介して受信されたデータを
前記データ・セルの各々の前記並列入力に向ける並列入
力手段; (g)前記プッシュ信号入力手段及び前記プル信号入力
手段から受信されたプッシュ信号及びプル信号に応答し
て、前記データ・セルの各々を、プッシュ信号とプル信
号の何れが受信されたか、当該データ・セルにデータが
入っているか否か、また直前及び直後のデータ・セルに
夫々データが入っているか否かに基づいて、当該データ
・セルがデータを受信すべきであるか、またデータを受
信すべきである場合にはそれをいずれの入力から受信す
べきであるかを判定することにより個別的に管理する入
力管理手段; (h)前記入力管理手段に設けられた、複数の管理セル
によって形成された双方向のシフト・レジスタ:前記管
理セルの各々は前記データ・セルの各々に関連付けら
れ、前記管理セルは最上位管理セル及び最下位管理セル
を含み、前記最上位管理セル以外の全ての管理セルは夫
々直後の管理セルを有し、前記最下位管理セル以外の全
ての管理セルは夫々直前の管理セルを有し、前記管理セ
ルによって形成された前記双方向シフト・レジスタは、
前記プッシュ信号と前記プル信号の一方だけが受信され
た場合には夫々前記最上位管理セル側、前記最下位管理
セル側へシフト動作を行い、前記プッシュ信号と前記プ
ル信号の両方が受信された場合にはシフト動作を行わな
い。 2.最上位データ・セル及び最下位データ・セルを有す
る直列接続されたデータ・セルの別のグループを設け、
これらのグループは互いに同期して動作することを特徴
とする特許請求の範囲第2項記載の先入れ先出しメモ
リ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/908,051 US4672646A (en) | 1986-09-16 | 1986-09-16 | Direct-injection FIFO shift register |
US908051 | 1986-09-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6374187A JPS6374187A (ja) | 1988-04-04 |
JP2752362B2 true JP2752362B2 (ja) | 1998-05-18 |
Family
ID=25425076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62231935A Expired - Fee Related JP2752362B2 (ja) | 1986-09-16 | 1987-09-16 | 先入れ先出しメモリ |
Country Status (5)
Country | Link |
---|---|
US (1) | US4672646A (ja) |
EP (1) | EP0260411B1 (ja) |
JP (1) | JP2752362B2 (ja) |
CA (1) | CA1270533A (ja) |
DE (1) | DE3789928T2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2191801B (en) * | 1986-06-19 | 1990-03-21 | Gearhart Tesel Ltd | Method and apparatus for transmitting and processing data from a well logging tool |
US5170484A (en) * | 1986-09-18 | 1992-12-08 | Digital Equipment Corporation | Massively parallel array processing system |
US5084837A (en) * | 1988-01-22 | 1992-01-28 | Sharp Kabushiki Kaisha | Fifo buffer with folded data transmission path permitting selective bypass of storage |
GB8817243D0 (en) * | 1988-07-20 | 1988-08-24 | Plessey Telecomm | Multi-channel controller |
JPH0391188A (ja) * | 1989-09-04 | 1991-04-16 | Matsushita Electric Ind Co Ltd | Fifoメモリ |
US5349683A (en) * | 1992-07-16 | 1994-09-20 | Mosel-Vitelic | Bidirectional FIFO with parity generator/checker |
US6097655A (en) * | 1998-04-03 | 2000-08-01 | International Business Machines Corporation | Pull through FIFO memory device |
EP1408835A2 (en) * | 2001-07-25 | 2004-04-21 | Dentsply International, Inc. | Real-time digital x-ray imaging apparatus |
DE10332449A1 (de) * | 2003-07-17 | 2004-12-09 | Infineon Technologies Ag | FIFO-Schieberegister zum seriellen Beschreiben und Auslesen von Daten |
US9501407B1 (en) | 2011-09-16 | 2016-11-22 | Altera Corporation | First-in-first-out memory with dual memory banks |
CN112992248A (zh) * | 2021-03-12 | 2021-06-18 | 西安交通大学深圳研究院 | 一种基于fifo的可变长循环移位寄存器的pe计算单元结构 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL297829A (ja) * | 1962-09-13 | |||
DE1774033A1 (de) * | 1968-03-23 | 1971-07-29 | Licentia Gmbh | Auffuellregister |
FR1586878A (ja) * | 1968-07-05 | 1970-03-06 | ||
US3646526A (en) * | 1970-03-17 | 1972-02-29 | Us Army | Fifo shift register memory with marker and data bit storage |
US3838345A (en) * | 1973-05-25 | 1974-09-24 | Sperry Rand Corp | Asynchronous shift cell |
US3972034A (en) * | 1975-05-12 | 1976-07-27 | Fairchild Camera And Instrument Corporation | Universal first-in first-out memory device |
US4058773A (en) * | 1976-03-15 | 1977-11-15 | Burroughs Corporation | Asynchronous self timed queue |
JPS52164427U (ja) * | 1976-06-07 | 1977-12-13 | ||
NL7713707A (nl) * | 1977-12-12 | 1979-06-14 | Philips Nv | Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met variabele ingang en vaste uitgang. |
US4156288A (en) * | 1978-06-13 | 1979-05-22 | Sperry Rand Corporation | Asynchronous shift register with turnpike feature |
US4293919A (en) * | 1979-08-13 | 1981-10-06 | International Business Machines Corporation | Level sensitive scan design (LSSD) system |
JPS5920139A (ja) * | 1982-07-26 | 1984-02-01 | オリンパス光学工業株式会社 | 光源装置 |
US4592019A (en) * | 1983-08-31 | 1986-05-27 | At&T Bell Laboratories | Bus oriented LIFO/FIFO memory |
FR2552916B1 (fr) * | 1983-09-29 | 1988-06-10 | Thomas Alain | File d'attente asynchrone a empilement de registres |
-
1986
- 1986-09-16 US US06/908,051 patent/US4672646A/en not_active Expired - Lifetime
-
1987
- 1987-07-24 DE DE3789928T patent/DE3789928T2/de not_active Expired - Fee Related
- 1987-07-24 EP EP87110783A patent/EP0260411B1/en not_active Expired - Lifetime
- 1987-09-15 CA CA000546936A patent/CA1270533A/en not_active Expired
- 1987-09-16 JP JP62231935A patent/JP2752362B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE3789928D1 (de) | 1994-07-07 |
EP0260411A3 (en) | 1990-09-26 |
EP0260411A2 (en) | 1988-03-23 |
DE3789928T2 (de) | 1995-01-12 |
EP0260411B1 (en) | 1994-06-01 |
CA1270533A (en) | 1990-06-19 |
US4672646A (en) | 1987-06-09 |
JPS6374187A (ja) | 1988-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2752362B2 (ja) | 先入れ先出しメモリ | |
US5255239A (en) | Bidirectional first-in-first-out memory device with transparent and user-testable capabilities | |
US8527676B2 (en) | Reducing latency in serializer-deserializer links | |
US7178001B2 (en) | Semiconductor memory asynchronous pipeline | |
US5935263A (en) | Method and apparatus for memory array compressed data testing | |
US5388074A (en) | FIFO memory using single output register | |
US6032274A (en) | Method and apparatus for compressed data testing of more than one memory array | |
US6005823A (en) | Memory device with pipelined column address path | |
US7859939B2 (en) | Semiconductor memory device | |
US3953838A (en) | FIFO Buffer register memory utilizing a one-shot data transfer system | |
US7269754B2 (en) | Method and apparatus for flexible and programmable clock crossing control with dynamic compensation | |
US5809521A (en) | Single and multistage stage fifo designs for data transfer synchronizers | |
EP0481494B1 (en) | Memory apparatus | |
US6563747B2 (en) | Integrated data input sorting and timing circuit for double data rate (DDR) dynamic random access memory (DRAM) devices | |
US20100315885A1 (en) | Circuits, devices, systems, and methods of operation for capturing data signals | |
JPH06202933A (ja) | 同期式大規模集積回路記憶装置 | |
US12062413B1 (en) | Signal receiver with skew-tolerant strobe gating | |
EP0273642B1 (en) | Apparatus for reading data from memory | |
US6118835A (en) | Apparatus and method of synchronizing two logic blocks operating at different rates | |
US4348762A (en) | Circuit for correcting data reading clock pulses | |
US3286243A (en) | Shift register deskewing system | |
US6418176B1 (en) | Forwarded clock recovery with variable latency | |
US5307472A (en) | Data transfer interface module | |
US6055588A (en) | Single stage FIFO memory with a circuit enabling memory to be read from and written to during a single cycle from a single clock | |
KR100282519B1 (ko) | 플래시 메모리의 데이터 리드속도 향상회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |