JPH1145562A - 半導体記憶装置 - Google Patents

半導体記憶装置

Info

Publication number
JPH1145562A
JPH1145562A JP9200097A JP20009797A JPH1145562A JP H1145562 A JPH1145562 A JP H1145562A JP 9200097 A JP9200097 A JP 9200097A JP 20009797 A JP20009797 A JP 20009797A JP H1145562 A JPH1145562 A JP H1145562A
Authority
JP
Japan
Prior art keywords
output
value
read
address
gate
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
JP9200097A
Other languages
English (en)
Inventor
Masayuki Koyama
雅行 小山
Mitsuru Hori
充 堀
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9200097A priority Critical patent/JPH1145562A/ja
Priority to US08/990,801 priority patent/US5914897A/en
Priority to DE19804384A priority patent/DE19804384B4/de
Priority to KR1019980004128A priority patent/KR100294770B1/ko
Publication of JPH1145562A publication Critical patent/JPH1145562A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods 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
    • G06F5/10Methods 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 having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/10Indexing scheme relating to groups G06F5/10 - G06F5/14
    • G06F2205/106Details of pointers, i.e. structure of the address generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 先入れ先出し方式の半導体記憶装置の構成を
簡単化する。 【解決手段】 リードカウンタ部7が生成するリードア
ドレスを用い、順序回路を含まないライトアドレス生成
用組合せ回路部100Aがライトアドレスを生成する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、先入れ先出し方
式の半導体記憶装置(以下FIFO装置という。)に関
するものである。
【0002】
【従来の技術】FIFO装置は、例えはデジタルデータ
の伝送系に組み込まれ、FIFO処理を行うために用い
る。FIFO処理は、伝送されてきたデータを記憶し、
記憶しているデータを伝送されてきた順に送り出す処理
であるが、例えば、図6に示すようにクロックに従って
行われる。図6は、デジタル伝送系のデータをFIFO
処理する目的で使用されるFIFO装置の概要を説明す
るためのブロック図である。図6において、FIFO装
置1は、伝送元回路2から送られてきたデータの伝送先
回路3への伝送を仲介する。
【0003】FIFO装置1は、クロックジェネレータ
4からクロックclkを供給され、リセット信号発生回
路5からリセット信号rstを受ける。FIFO装置1
は、伝送するデータを記憶するためのランダムアクセス
メモリ(以下RAMという。)6と、RAM6で用いる
リードアドレスを発生するリードカウンタ部7と、RA
M6で用いるライトアドレスを発生するライトカウンタ
部8を備える。
【0004】リードアドレスRAとライトアドレスWA
と読出データdoutと書き込みデータdinとの関係
の例を図7に示す。
【0005】RAM6に記憶されているデータのうち、
クロックclkの立ち下がる時刻t1において与えられ
ているリードアドレスRAにおけるものがデータdou
tとして読み出され、伝送元回路2から伝送されてきた
データdinは、クロックclkの立ち上がる時刻t2
においてRAM6に与えられているライトアドレスWA
に書き込まれる。ライトカウンタ部8の出力値は、リー
ドカウンタ部7の出力値よりも、例えば1つだけ小さく
なるように設定されている。この場合には、書き込みが
行われたライトアドレスと同じリードアドレスに次のク
ロックでアクセスすることができるので、RAM6に書
き込まれているデータの中から古い順にデータが読み出
される。次に、FIFO装置が記憶するデータ数が2の
累乗になる場合におけるライトカウンタ部8およびリー
ドカウンタ部7の構成について、それぞれ図8および図
9を用いて説明する。ライトカウンタ部8は、例えば、
クロックclkを2分周するためのDフリップフロップ
10およびインバータ20と、クロックclkを2分周
して得たDフリップフロップ10の出力と自己の1クロ
ック前の和出力との加算を行うハーフアダー11と、ハ
ーフアダー11の桁上げ出力と自己の1クロック前の和
出力との加算を行うハーフアダー12と、ハーフアダー
12の桁上げ出力と自己の1クロック前の和出力との加
算を行うハーフアダー13と、それぞれ対応するハーフ
アダー11〜13の和出力を保持するためのDフリップ
フロップ17〜19と、対応するDフリップフロップ1
0,17〜19のリセットを行うための4つのANDゲ
ート21,14〜16で構成されている。ライトカウン
タ部8の出力は、4ビットである。リセット信号rst
は、入力端子23に与えられ、クロックclkは入力端
子22に与えられる。ライトカウンタ部8の出力値は、
ライトアドレスとして出力端子24から出力される。リ
セット信号rstとインバータ20の出力の論理積から
得られるANDゲート21の出力は、Dフリップフロッ
プ10のデータとして取り込まれる。インバータ20は
Dフリップフロップ10の出力を反転する。ANDゲー
ト14〜16は、全てその一方の入力にリセット信号r
stが与えられ、その他方の入力にはそれぞれ対応する
ハーフアダー11〜13の出力が与えられる。
【0006】また、リードカウンタ部7は、例えばクロ
ックclkを2分周するためのDフリップフロップ30
およびNANDゲート42並びにインバータ40,41
と、クロックclkを2分周して得たDフリップフロッ
プ30の出力と自己の1クロック前の和出力との加算を
行うハーフアダー31と、ハーフアダー31の桁上げ出
力と自己の1クロック前の和出力との加算を行うハーフ
アダー32と、ハーフアダー32の桁上げ出力と自己の
1クロック前の和出力との加算を行うハーフアダー33
と、それぞれ対応するハーフアダー31〜33の和出力
を保持するためのDフリップフロップ37〜39と、対
応するDフリップフロップ30,37〜39のリセット
を行うための3つのANDゲート42,34〜36で構
成されている。リードカウンタ部7の出力は、4ビット
である。リセット信号rstは、入力端子44に与えら
れ、クロックclkは入力端子43に与えられる。リー
ドカウンタ部7の出力値は、リードアドレスとして出力
端子45から出力される。リセット信号rstとインバ
ータ41の出力との論理積を取って得られるNANDゲ
ート42の出力は、Dフリップフロップ30のデータと
なる。インバータ40,41はDフリップフロップ30
の出力をバッファする。ANDゲート34〜36の一方
の入力は、リセット信号rstであり、他方の入力はそ
れぞれ対応するハーフアダー31〜33の和出力であ
る。
【0007】リセット信号rstを「1」にしたとき、
図9のリードカウンタ部7が「0001」から開始して
カウントを増大するのに対し、図8のライトカウンタ部
8が「0000」から開始してカウントを増大するの
で、ファーストイン・ファーストアウト動作を行う。な
お、「」で数字を囲んだときは2進数を示すものとす
る。また、「1」はハイレベルを出力することに対応
し、「0」はローレベルを出力することに対応する。
【0008】また、FIFO装置が記憶するデータ数が
2の累乗にならない場合におけるライトカウンタ部8お
よびリードカウンタ部7の構成について、それぞれ図1
0および図11を用いて説明する。ライトカウンタ部8
は、例えば、クロックclkを2分周するためのDフリ
ップフロップ50並びにインバータ51及びANDゲー
ト52と、クロックclkを2分周して得たDフリップ
フロップ50の出力と自己の1クロック前の和出力との
加算を行うハーフアダー53と、ハーフアダー53の桁
上げ出力と自己の1クロック前の和出力との加算を行う
ハーフアダー54と、ハーフアダー54の桁上げ出力と
自己の1クロック前の和出力との加算を行うハーフアダ
ー55と、否定されたハーフアダー53の和出力を保持
するためのDフリップフロップ59と、それぞれ対応す
るハーフアダー54,55の和出力を保持するためのD
フリップフロップ60,61と、対応するDフリップフ
ロップ59〜61のリセットを行うための3つのAND
ゲート56〜58と、カウント値が所定の値、すなわち
「1101」を出力した場合にライトカウンタ部8をリ
セットするためのNANDゲート62とANDゲート6
3とで構成されている。ライトカウンタ部8の出力は、
4ビットである。リセット信号rstは、入力端子65
に与えられ、クロックclkは入力端子64に与えられ
る。ライトカウンタ部8の出力値は、ライトアドレスと
して出力端子66から出力される。ANDゲート56〜
58は、全てその一方の入力にANDゲート63の出力
が与えられ、それぞれ他方の入力に対応するハーフアダ
ー53〜55の和出力が与えられ、それらの論理積を取
って得た出力を対応するDフリップフロップ59〜61
の入力としている。また、Dフリップフロップ50は、
ANDゲート52の出力を入力として受ける。このAN
Dゲート52の出力は、ANDゲート63の出力とイン
バータ51の出力の論理積を取ることで生成される。A
NDゲート63は、リセット信号rstとNANDゲー
ト62の出力の論理積を出力とし、NANDゲート62
は、Dフリップフロップ50,60,61の出力とDフ
リップフロップ51の反転出力(ライトアドレスの2桁
目のビットの否定)の否定論理積を出力する。
【0009】また、リードカウンタ部7は、例えばクロ
ックclkを2分周するためのDフリップフロップ70
およびNANDゲート71と、クロックclkを2分周
して得たDフリップフロップ70の出力と自己の1クロ
ック前の和出力との加算を行うハーフアダー72と、ハ
ーフアダー72の桁上げ出力と自己の1クロック前の和
出力との加算を行うハーフアダー73と、ハーフアダー
73の桁上げ出力と自己の1クロック前の出力との排他
的論理和を出力するEXORゲート74と、それぞれ対
応するハーフアダー72,73の和出力およびEXOR
ゲート74の出力を保持するためのDフリップフロップ
80〜82と、対応するDフリップフロップ80〜82
のリセットを行うためのANDゲート76〜79および
NANDゲート75とで構成されている。リードカウン
タ部7の出力は、4ビットである。なお、リードカウン
タ部7の出力値が所定の値、すなわち「1101」を出
力したときにNANDゲート75は「0」を出力してリ
ードカウンタ部7をリセットする。リセット信号rst
は、入力端子83に与えられ、クロックclkは入力端
子82に与えられる。リードカウンタ部7の出力値は、
リードアドレスとして出力端子85から出力される。A
NDゲート77〜79は、全てその一方の入力にAND
ゲート76の出力が与えられ、それぞれ他方の入力にハ
ーフアダー72の和出力、ハーフアダー73の和出力、
EXORゲート74の出力が与えられる。NANDゲー
ト75は、Dフリップフロップ70,81,82の出力
とDフリップフロップ80の反転出力(リードアドレス
の2桁目のビットの否定)の否定論理積を出力する。D
フリップフロップ70のデータとしてリセット信号rs
tとDフリップフロップ70の出力の否定論理積から生
成されるNANDゲート71の出力が与えられる。
【0010】
【発明が解決しようとする課題】従来の半導体記憶装置
は以上のように構成されており、FIFO機能を実現す
るために、2つのカウンタ部を必要とするので、回路規
模が大きくなるという問題がある。
【0011】この発明は上記の問題点を解消するために
なされたものであり、カウンタ部をそれよりも構成が簡
単な組み合わせ回路に置き換えることによって、半導体
記憶装置の構成を簡単化することを目的とする。
【0012】
【課題を解決するための手段】第1の発明に係る半導体
記憶装置は、クロックに応じてライトアドレスにデータ
を書き込むことおよびリードアドレスからデータを読み
出す記憶部を備える先入れ先出し方式の半導体記憶装置
において、前記ライトアドレスまたは前記リードアドレ
スを生成するためにクロックをカウントして第1の値と
第2の値の間で循環して値を順に出力する動作を繰り返
すカウンタ部と、前記ライトアドレスまたは前記リード
アドレスのうちの前記カウンタ部で生成されない方のア
ドレスとして、所定のクロック数だけ前の前記カウンタ
部の出力値と同じ値を生成する組合せ回路部とを備えて
構成される。
【0013】第2の発明に係る半導体記憶装置は、第1
の発明の半導体記憶装置において、前記組合せ回路部
は、前記カウンタ部の出力値が前記第1の値と前記第2
の値の間に在る所定の第3の値であることを検出する検
出部と、前記検出部が前記第3の値を検出しないとき
は、前記カウンタ部の出力値と第4の値との演算によっ
て前記所定のクロック数分ずれたときの値を生成し、前
記検出部が前記第3の値を検出したときは、前記第1の
値と前記第2の値の間に在る所定の第5の値を生成する
演算部とを備えて構成される。
【0014】第3の発明に係る半導体記憶装置は、第2
の発明の半導体記憶装置において、前記第4の値は1で
あることを特徴とする。
【0015】
【発明の実施の形態】
実施の形態1.以下、この発明の実施の形態1について
図1乃至図3を用いて説明する。図1は、この発明の実
施の形態1によるFIFO装置の構成を示すブロック図
である。図1において、100Aは、FIFO装置1A
に設けられ、リードカウンタ部7が出力する出力値、つ
まりリードアドレスを受けてライトアドレスを生成する
ライトアドレス生成用組合せ回路部であり、その他図6
と同一符号のものは図6の同一符号部分に相当する部分
である。
【0016】図2はライトアドレス生成用組合せ回路部
100Aの構成を説明するための概念図である。図2に
おいて、91はリードアドレスRAが所定の値になって
いることを検出するための検出部、92はリードアドレ
スRAから1を引く減算回路、93はライトアドレスW
Aのうちの所定の値を生成するための所定アドレス生成
回路、94は検出部91の出力に応じ減算回路92と所
定アドレス生成回路93の出力の選択を行うマルチプレ
クサである。また、減算回路92と所定アドレス生成回
路93とマルチプレクサ94は演算部95を形成する。
例えば、リードカウンタ部7として図11に示す構成を
用いたとき、検出部91はリードアドレスRAが「00
00」か否かを検出する。検出部91が「0000」を
検出したとき、マルチプレクサ94は所定アドレス生成
回路93が生成する「1101」を出力する。検出部9
1が「0000」を検出しないとき、マルチプレクサ9
4は、減算回路92で生成されるリードアドレスRAか
ら1を引いた値を出力する。
【0017】図3は、このような概念に基づいて実際に
設計され、ライトアドレス生成用組合せ回路部100A
の構成の一例を示す論理図である。ただし、回路構成を
圧縮するため共通化されている部分が多くなり検出部9
1等の各部の関係の区別は不明瞭になっている。リード
カウンタ部7の構成としては、従来と同様に、図11に
示す構成を有するリードカウンタ部7が用いられるもの
とする。リードカウンタ部7から出力されたリードアド
レスRAは入力端子116に与えられ、ライトアドレス
生成用組合せ回路部100Aの出力値は、ライトアドレ
スWAとして出力端子117から出力される。ライトア
ドレス生成用組合せ回路部100Aは、ライトアドレス
を生成するため、リードカウンタ部7の出力値が「00
00」以外の時はリードカウンタ部7の出力値よりも1
クロックだけ前の出力値と同じ値を出力し、リードカウ
ンタ部7の出力値が「0000」の場合にはそれに対応
する所定の値である「1101」を出力することによっ
て、リードカウンタ部7の出力から1クロック分ずれた
値を出力しつつ「0000」と「1101」の範囲の値
を順に出力する動作を繰り返す。
【0018】ライトアドレス生成用組合せ回路部100
Aは、リードアドレスが「0000」であるか否かを検
出する検出部115を備えている。検出部115は、リ
ードアドレスの1桁目のビットと2桁目のビットとの否
定論理和を出力するNORゲート105と、NORゲー
ト105の出力を反転するインバータ106と、インバ
ータ106の出力とリードアドレスの3桁目のビットと
の否定論理和を出力するNORゲート107と、リード
アドレスの4桁目のビットを反転するインバータ108
と、NORゲート107の出力とインバータ108の出
力の否定論理積を出力するNANDゲート109とを備
えて構成される。
【0019】リードカウンタ部7が出力するリードアド
レスの1桁目のビットを反転するインバータ101の出
力がライトアドレスの1桁目のビットになる。リードア
ドレスの1桁目のビットに対しライトアドレスの1桁目
のビットを1クロック遅らせることができる。ANDゲ
ート102は、リードアドレスの1桁目のビットと2桁
目のビットとの論理積を出力する。ANDゲート103
は、NANDゲート109の出力とNORゲート105
の出力との論理積を出力する。つまり、ANDゲート1
02の出力は、リードアドレスの1桁目と2桁目が共に
「1」の場合に「1」となる。ANDゲート103の出
力は、リードアドレスの1桁目と2桁目が共に「0」で
ある場合であって、「0000」を除き、「1」とな
る。これら、ANDゲート102,103の出力の論理
和をORゲート104により取ることで、リードアドレ
スの1桁目と2桁目が同じ値の時に「1」を出力でき、
ライトアドレスの2桁目のビットを1クロック分遅らせ
ることができる。
【0020】ANDゲート110は、リードアドレスの
3桁目のビットとインバータ106の論理積を出力す
る。つまり、ANDゲート110は、リードアドレスの
3桁目のビットが「1」であるリードアドレスのうち1
桁目と2桁目のビットが共に「0」である場合を除いて
「1」を出力する。また、検出部115のNORゲート
23の出力がリードアドレスの1〜3桁目が全て「0」
の時に「1」を出力するので、NORゲート111とイ
ンバータ112とからなる回路がANDゲート110の
出力とNORゲート107の出力の論理和を出力するこ
とによって、リードアドレスの3桁目のビットに対しラ
イトアドレスの3桁目のビットを1クロック遅らせるこ
とができる。ORゲート113は、NORゲート107
の出力とインバータ108の出力の論理和をとることに
よって、リードアドレスの4桁目が「0」である場合に
加えて、「1000」の場合にも「1」を出力する。N
ANDゲート114は、ORゲート113が「1」を出
力するうちの「0000」の場合を除いて「0」を出力
する。これによって、リードアドレスの4桁目のビット
に対しライトアドレスの4桁目のビットを1クロック遅
らせることができる。
【0021】以上のように、ライトアドレス生成用組合
せ回路部100Aは、Dフリップフロップ等の順序回路
を用いないので、従来のライトカウンタ部8に比べてそ
のことのみで回路規模を削減できるばかりでなく、検出
部と他の部分の共有化が容易になるため回路規模の削減
をさらに進めることができる場合がある。
【0022】実施の形態2.図4はライトアドレス生成
用組合せ回路部100Aの構成の他の例を示す論理図で
ある。リードカウンタ部7の構成としては、従来と同様
に、図9に示す構成を有するリードカウンタ部7が用い
られるものとする。ライトアドレス生成用組合せ回路部
100Aは、ライトアドレスを生成するため、リードカ
ウンタ部7の出力値が「1111」以外の時はリードカ
ウンタ部7の出力値よりも1クロックだけ後の出力値と
同じ値を出力し、リードカウンタ部7の出力値が「00
00」の場合にはそれに対応する所定の値である「11
11」を出力することによって、リードカウンタ部7の
出力から1クロック分ずれた値を出力しつつ「000
0」と「1111」の範囲の値を順に出力する動作を繰
り返す。しかし、リードカウンタ部7の出力が「000
0」のとき、それから「1」を減算すると「1111」
になるように構成できるため、検出部において「000
0」を検出しなくても、ライトアドレス生成用組合せ回
路部100Aは、リードアドレスに対し1クロック進ん
だ値をライトアドレスとするという機能だけで、FIF
O動作を行わせるためのライトアドレスを生成すること
ができる。
【0023】リードカウンタ部7から出力されたリード
アドレスRAは入力端子128に与えられ、ライトカウ
ンタ部8の出力値は、ライトアドレスWAとして出力端
子129から出力される。リードカウンタ部7が出力す
るリードアドレスの1桁目のビットを反転するインバー
タ120の出力がライトアドレスの1桁目のビットにな
る。リードアドレスの1桁目のビットに対しライトアド
レスの1桁目のビットを1クロック遅らせることができ
る。EXORゲート121は、リードアドレスの1桁目
のビットと2桁目のビットとの排他的論理和を出力す
る。つまり、リードアドレスの1桁目のビットと2桁目
のビットが同じ値の時に「0」を出力する。そのEXO
Rゲート121の出力をインバータ122で反転するこ
とによって、リードアドレスの2桁目のビットに対して
ライトアドレスの2桁目のビットを1クロック遅らせる
ことができる。
【0024】ORゲート123は、リードアドレスの1
桁目のビットと2桁目の論理和をとることにより、ビッ
トリードアドレスの1桁目のビットと2桁目のビットが
共に「0」の場合にのみ「0」を出力する。NORゲー
ト124は、リードアドレスの1桁目のビットと2桁目
の否定論理和をとることにより、ビットリードアドレス
の1桁目のビットと2桁目のビットが共に「0」の場合
にのみ「1」を出力する。従って、セレクタ125によ
って、リードアドレスの3桁目のビットが「1」になる
ときに切り替えることで、セレクタ125が出力するラ
イトアドレスの3桁目のビットをリードアドレスの3桁
目のビットに対し1クロック遅らせることができる。
【0025】NORゲート126は、リードアドレスの
1桁目のビットとEXORゲート121の出力とリード
アドレスの3桁目のビットの否定論理積をとることによ
って、リードアドレスの1〜3桁目のビットが全て
「0」のときに「1」を出力する。EXORゲート12
7は、NORゲート126の出力とリードアドレスの4
桁目のビットの排他的論理和をとることによって、リー
ドアドレスが「0000」のときに「1」を出力すると
ともにリードアドレスが「1000」のときに「0」を
出力する。そのために、EXORゲート127が出力す
るライトアドレスの4桁目のビットはリードアドレスの
4桁目のビットに対し1クロック遅れる。
【0026】以上のように、ライトアドレス生成用組合
せ回路部100Aは、Dフリップフロップ等の順序回路
を用いないので、従来のライトカウンタ部8に比べてそ
のことのみで回路規模を削減できるばかりでなく、各部
の共有化が容易になるため回路規模の削減をさらに進め
ることができる場合がある。
【0027】なお、上記実施の形態1,2において、リ
ードカウンタ部7が出力するリードアドレスを用いてラ
イトアドレスを生成するライトアドレス生成用組合せ回
路部100Aを構成したが、図5に示すFIFO装置1
Bのように、ライトカウンタ部8が出力するライトアド
レスを用いてリードアドレスを生成するリードアドレス
生成用組合せ回路部100Bを構成してもよく、上記実
施の形態1,2と同様の効果を奏する。ただし、その際
には、リードアドレス生成用組合せ回路部100Bが出
力するリードアドレスはライトアドレスに所定の値を加
算したものとなる。また、上記実施の形態1,2ではリ
ードカウンタ部7またはライトカウンタ部8にアップカ
ウンタを用いたが、ダウンカウンタを用いてもよく、そ
の際にはリードカウンタ部7の出力に対しライトアドレ
ス生成用組合せ回路部100Aのアドレスの方が大きな
値、つまりリードアドレスに所定の値を加算することが
必要であり、またライトカウンタ部8の出力に対しライ
トアドレス生成用組合せ回路部100Bのアドレスの方
が大きな値、つまりライトアドレスから所定の値を減算
することが必要である。また、上記実施の形態1では、
ライトアドレス生成用組合せ回路部100Aにおいて、
リードアドレスから引く値を1としたので、検出する値
が「0000」のみで済み、構成を簡単化する上では有
利であるが、リードアドレスから引く値を1以外の値と
してもライトアドレス生成用組合せ回路部100Aが構
成できないわけではない。この点については、リードア
ドレス生成用組合せ回路部100Bを構成する場合にあ
っても同様である。
【0028】
【発明の効果】以上説明したように、請求項1記載の発
明の半導体記憶装置によれば、従来用いられていたカウ
ンタに換えて使用する組み合わせ回路が、カウンタより
も構成を簡単化できるため、半導体記憶装置の構成を簡
素化できるという効果がある。
【0029】請求項2記載の発明の半導体記憶装置によ
れば、検出部と演算部で実現することにより、汎用性の
ある設計が可能になるという効果がある。
【0030】請求項3記載の発明の半導体記憶装置によ
れば、1だけ加算あるいは減算することで、検出部で検
出する第3の値を一つにできるので、構成の簡単化が容
易になるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による半導体記憶装
置の構成を示すブロック図である。
【図2】 実施の形態1によるライトアドレス生成用組
合せ回路部の構成を説明するための概念図である。
【図3】 実施の形態1によるライトアドレス生成用組
合せ回路部の構成を示す論理図である。
【図4】 実施の形態2によるライトアドレス生成用組
合せ回路部の構成を示す論理図である。
【図5】 この発明の半導体記憶装置の他の態様を示す
ブロック図である。
【図6】 従来の半導体記憶装置の構成を示すブロック
図である。
【図7】 図6のRAMの動作を示すタイミングチャー
トである。
【図8】 従来のライトカウンタ部の構成の一例を示す
論理図である。
【図9】 従来のリードカウンタ部の構成の一例を示す
論理図である。
【図10】 従来のライトカウンタ部の構成の他の例を
示す論理図である。
【図11】 従来のリードカウンタ部の構成の他の例を
示す論理図である。
【符号の説明】
1,1A,1B FIFO装置、7 リードカウンタ
部、8 ライトカウンタ部、100A ライトアドレス
生成用組合せ回路部、100B リードアドレス生成用
組合せ回路部、115 検出部。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年10月28日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0005
【補正方法】変更
【補正内容】
【0005】RAM6に記憶されているデータのうち、
クロックclkの立ち下がる時刻t1において与えられ
ているリードアドレスRAにおけるものがデータdou
tとして読み出され、伝送元回路2から伝送されてきた
データdinは、クロックclkの立ち上がる時刻t2
においてRAM6に与えられているライトアドレスWA
に書き込まれる。ライトカウンタ部8の出力値は、リー
ドカウンタ部7の出力値よりも、例えば1つだけ小さく
なるように設定されている。この場合には、読み出し
行われたリードアドレスと同じライトアドレスに次のク
ロックでアクセスすることができるので、RAM6に書
き込まれているデータの中から古い順にデータが読み出
される。次に、FIFO装置が記憶するデータ数が2の
累乗になる場合におけるライトカウンタ部8およびリー
ドカウンタ部7の構成について、それぞれ図8および図
9を用いて説明する。ライトカウンタ部8は、例えば、
クロックclkを2分周するためのDフリップフロップ
10およびインバータ20と、クロックclkを2分周
して得たDフリップフロップ10の出力と自己の1クロ
ック前の和出力との加算を行うハーフアダー11と、ハ
ーフアダー11の桁上げ出力と自己の1クロック前の和
出力との加算を行うハーフアダー12と、ハーフアダー
12の桁上げ出力と自己の1クロック前の和出力との加
算を行うハーフアダー13と、それぞれ対応するハーフ
アダー11〜13の和出力を保持するためのDフリップ
フロップ17〜19と、対応するDフリップフロップ1
0,17〜19のリセットを行うための4つのANDゲ
ート21,14〜16で構成されている。ライトカウン
タ部8の出力は、4ビットである。リセット信号rst
は、入力端子23に与えられ、クロックclkは入力端
子22に与えられる。ライトカウンタ部8の出力値は、
ライトアドレスとして出力端子24から出力される。リ
セット信号rstとインバータ20の出力の論理積から
得られるANDゲート21の出力は、Dフリップフロッ
プ10のデータとして取り込まれる。インバータ20は
Dフリップフロップ10の出力を反転する。ANDゲー
ト14〜16は、全てその一方の入力にリセット信号r
stが与えられ、その他方の入力にはそれぞれ対応する
ハーフアダー11〜13の出力が与えられる。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正内容】
【0006】また、リードカウンタ部7は、例えばクロ
ックclkを2分周するためのDフリップフロップ30
およびNANDゲート42並びにインバータ40,41
と、クロックclkを2分周して得たDフリップフロッ
プ30の出力と自己の1クロック前の和出力との加算を
行うハーフアダー31と、ハーフアダー31の桁上げ出
力と自己の1クロック前の和出力との加算を行うハーフ
アダー32と、ハーフアダー32の桁上げ出力と自己の
1クロック前の和出力との加算を行うハーフアダー33
と、それぞれ対応するハーフアダー31〜33の和出力
を保持するためのDフリップフロップ37〜39と、対
応するDフリップフロップ30,37〜39のリセット
を行うための4つのANDゲート42,34〜36で構
成されている。リードカウンタ部7の出力は、4ビット
である。リセット信号rstは、入力端子44に与えら
れ、クロックclkは入力端子43に与えられる。リー
ドカウンタ部7の出力値は、リードアドレスとして出力
端子45から出力される。リセット信号rstとインバ
ータ41の出力との否定論理積を取って得られるNAN
Dゲート42の出力は、Dフリップフロップ30のデー
タとなる。インバータ40,41はDフリップフロップ
30の出力をバッファする。ANDゲート34〜36の
一方の入力は、リセット信号rstであり、他方の入力
はそれぞれ対応するハーフアダー31〜33の和出力で
ある。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正内容】
【0008】また、FIFO装置が記憶するデータ数が
2の累乗にならない場合におけるライトカウンタ部8お
よびリードカウンタ部7の構成について、それぞれ図1
0および図11を用いて説明する。ライトカウンタ部8
は、例えば、クロックclkを2分周するためのDフリ
ップフロップ50並びにインバータ51及びANDゲー
ト52と、クロックclkを2分周して得たDフリップ
フロップ50の出力と自己の1クロック前の和出力との
加算を行うハーフアダー53と、ハーフアダー53の桁
上げ出力と自己の1クロック前の和出力との加算を行う
ハーフアダー54と、ハーフアダー54の桁上げ出力と
自己の1クロック前の和出力との加算を行うハーフアダ
ー55と、否定されたハーフアダー53の和出力を保持
するためのDフリップフロップ59と、それぞれ対応す
るハーフアダー54,55の和出力を保持するためのD
フリップフロップ60,61と、対応するDフリップフ
ロップ59〜61のリセットを行うための3つのAND
ゲート56〜58と、カウント値が所定の値、すなわち
「1101」を出力した場合にライトカウンタ部8をリ
セットするためのNANDゲート62とANDゲート6
3とで構成されている。ライトカウンタ部8の出力は、
4ビットである。リセット信号rstは、入力端子65
に与えられ、クロックclkは入力端子64に与えられ
る。ライトカウンタ部8の出力値は、ライトアドレスと
して出力端子66から出力される。ANDゲート56〜
58は、全てその一方の入力にANDゲート63の出力
が与えられ、それぞれ他方の入力に対応するハーフアダ
ー53〜55の和出力が与えられ、それらの論理積を取
って得た出力を対応するDフリップフロップ59〜61
の入力としている。また、Dフリップフロップ50は、
ANDゲート52の出力を入力として受ける。このAN
Dゲート52の出力は、ANDゲート63の出力とイン
バータ51の出力の論理積を取ることで生成される。A
NDゲート63は、リセット信号rstとNANDゲー
ト62の出力の論理積を出力とし、NANDゲート62
は、Dフリップフロップ50,60,61の出力とDフ
リップフロップ59の反転出力(ライトアドレスの2桁
目のビットの否定)の否定論理積を出力する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正内容】
【0009】また、リードカウンタ部7は、例えばクロ
ックclkを2分周するためのDフリップフロップ70
およびNANDゲート71と、クロックclkを2分周
して得たDフリップフロップ70の出力と自己の1クロ
ック前の和出力との加算を行うハーフアダー72と、ハ
ーフアダー72の桁上げ出力と自己の1クロック前の和
出力との加算を行うハーフアダー73と、ハーフアダー
73の桁上げ出力と自己の1クロック前の出力との排他
的論理和を出力するEXORゲート74と、それぞれ対
応するハーフアダー72,73の和出力およびEXOR
ゲート74の出力を保持するためのDフリップフロップ
80〜82と、対応するDフリップフロップ80〜82
のリセットを行うためのANDゲート76〜79および
NANDゲート75とで構成されている。リードカウン
タ部7の出力は、4ビットである。なお、リードカウン
タ部7の出力値が所定の値、すなわち「1101」を出
力したときにNANDゲート75は「0」を出力してリ
ードカウンタ部7をリセットする。リセット信号rst
は、入力端子84に与えられ、クロックclkは入力端
83に与えられる。リードカウンタ部7の出力値は、
リードアドレスとして出力端子85から出力される。A
NDゲート77〜79は、全てその一方の入力にAND
ゲート76の出力が与えられ、それぞれ他方の入力にハ
ーフアダー72の和出力、ハーフアダー73の和出力、
EXORゲート74の出力が与えられる。NANDゲー
ト75は、Dフリップフロップ70,81,82の出力
とDフリップフロップ80の反転出力(リードアドレス
の2桁目のビットの否定)の否定論理積を出力する。D
フリップフロップ70のデータとしてリセット信号rs
tとDフリップフロップ70の出力の否定論理積から生
成されるNANDゲート71の出力が与えられる。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0020
【補正方法】変更
【補正内容】
【0020】ANDゲート110は、リードアドレスの
3桁目のビットとインバータ106の論理積を出力す
る。つまり、ANDゲート110は、リードアドレスの
3桁目のビットが「1」であるリードアドレスのうち1
桁目と2桁目のビットが共に「0」である場合を除いて
「1」を出力する。また、検出部115のNORゲート
107の出力がリードアドレスの1〜3桁目が全て
「0」の時に「1」を出力するので、NORゲート11
1とインバータ112とからなる回路がANDゲート1
10の出力とNORゲート107の出力の論理和を出力
することによって、リードアドレスの3桁目のビットに
対しライトアドレスの3桁目のビットを1クロック遅ら
せることができる。ORゲート113は、NORゲート
107の出力とインバータ108の出力の論理和をとる
ことによって、リードアドレスの4桁目が「0」である
場合に加えて、「1000」の場合にも「1」を出力す
る。NANDゲート114は、ORゲート113が
「1」を出力するうちの「0000」の場合を除いて
「0」を出力する。これによって、リードアドレスの4
桁目のビットに対しライトアドレスの4桁目のビットを
1クロック遅らせることができる。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0022
【補正方法】変更
【補正内容】
【0022】実施の形態2.図4はライトアドレス生成
用組合せ回路部100Aの構成の他の例を示す論理図で
ある。リードカウンタ部7の構成としては、従来と同様
に、図9に示す構成を有するリードカウンタ部7が用い
られるものとする。ライトアドレス生成用組合せ回路部
100Aは、ライトアドレスを生成するため、リードカ
ウンタ部7の出力値が「0000」以外の時はリードカ
ウンタ部7の出力値よりも1クロックだけ後の出力値と
同じ値を出力し、リードカウンタ部7の出力値が「00
00」の場合にはそれに対応する所定の値である「11
11」を出力することによって、リードカウンタ部7の
出力から1クロック分ずれた値を出力しつつ「000
0」と「1111」の範囲の値を順に出力する動作を繰
り返す。しかし、リードカウンタ部7の出力が「000
0」のとき、それから「1」を減算すると「1111」
になるように構成できるため、検出部において「000
0」を検出しなくても、ライトアドレス生成用組合せ回
路部100Aは、リードアドレスに対し1クロック進ん
だ値をライトアドレスとするという機能だけで、FIF
O動作を行わせるためのライトアドレスを生成すること
ができる。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0024
【補正方法】変更
【補正内容】
【0024】ORゲート123は、リードアドレスの1
桁目のビットと2桁目のビットの論理和をとることによ
、リードアドレスの1桁目のビットと2桁目のビット
が共に「0」の場合にのみ「0」を出力する。NORゲ
ート124は、リードアドレスの1桁目のビットと2桁
目のビットの否定論理和をとることにより、リードアド
レスの1桁目のビットと2桁目のビットが共に「0」の
場合にのみ「1」を出力する。従って、セレクタ125
によって、リードアドレスの3桁目のビットが「1」に
なるときに切り替えることで、セレクタ125が出力す
るライトアドレスの3桁目のビットをリードアドレスの
3桁目のビットに対し1クロック遅らせることができ
る。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0025
【補正方法】変更
【補正内容】
【0025】NORゲート126は、リードアドレスの
1桁目のビットとEXORゲート121の出力とリード
アドレスの3桁目のビットの否定論理をとることによ
って、リードアドレスの1〜3桁目のビットが全て
「0」のときに「1」を出力する。EXORゲート12
7は、NORゲート126の出力とリードアドレスの4
桁目のビットの排他的論理和をとることによって、リー
ドアドレスが「0000」のときに「1」を出力すると
ともにリードアドレスが「1000」のときに「0」を
出力する。そのために、EXORゲート127が出力す
るライトアドレスの4桁目のビットはリードアドレスの
4桁目のビットに対し1クロック遅れる。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正内容】
【0027】なお、上記実施の形態1,2において、リ
ードカウンタ部7が出力するリードアドレスを用いてラ
イトアドレスを生成するライトアドレス生成用組合せ回
路部100Aを構成したが、図5に示すFIFO装置1
Bのように、ライトカウンタ部8が出力するライトアド
レスを用いてリードアドレスを生成するリードアドレス
生成用組合せ回路部100Bを構成してもよく、上記実
施の形態1,2と同様の効果を奏する。ただし、その際
には、リードアドレス生成用組合せ回路部100Bが出
力するリードアドレスはライトアドレスに所定の値を加
算したものとなる。また、上記実施の形態1,2ではリ
ードカウンタ部7またはライトカウンタ部8にアップカ
ウンタを用いたが、ダウンカウンタを用いてもよく、そ
の際にはリードカウンタ部7の出力に対しライトアドレ
ス生成用組合せ回路部100Aのアドレスの方が大きな
値、つまりリードアドレスに所定の値を加算することが
必要であり、またライトカウンタ部8の出力に対しリー
アドレス生成用組合せ回路部100Bのアドレスの方
小さな値、つまりライトアドレスから所定の値を減算
することが必要である。また、上記実施の形態1では、
ライトアドレス生成用組合せ回路部100Aにおいて、
リードアドレスから引く値を1としたので、検出する値
が「0000」のみで済み、構成を簡単化する上では有
利であるが、リードアドレスから引く値を1以外の値と
してもライトアドレス生成用組合せ回路部100Aが構
成できないわけではない。この点については、リードア
ドレス生成用組合せ回路部100Bを構成する場合にあ
っても同様である。
【手続補正10】
【補正対象書類名】図面
【補正対象項目名】図10
【補正方法】変更
【補正内容】
【図10】
【手続補正11】
【補正対象書類名】図面
【補正対象項目名】図11
【補正方法】変更
【補正内容】
【図11】

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 クロックに応じてライトアドレスにデー
    タを書き込むことおよびリードアドレスからデータを読
    み出す記憶部を備える先入れ先出し方式の半導体記憶装
    置において、 前記ライトアドレスまたは前記リードアドレスを生成す
    るためにクロックをカウントして第1の値と第2の値の
    間で循環して値を順に出力する動作を繰り返すカウンタ
    部と、 前記ライトアドレスまたは前記リードアドレスのうちの
    前記カウンタ部で生成されない方のアドレスとして、所
    定のクロック数だけ前の前記カウンタ部の出力値と同じ
    値を生成する組合せ回路部とを備える半導体記憶装置。
  2. 【請求項2】 前記組合せ回路部は、 前記カウンタ部の出力値が前記第1の値と前記第2の値
    の間に在る所定の第3の値であることを検出する検出部
    と、 前記検出部が前記第3の値を検出しないときは、前記カ
    ウンタ部の出力値と第4の値との演算によって前記所定
    のクロック数分ずれたときの値を生成し、前記検出部が
    前記第3の値を検出したときは、前記第1の値と前記第
    2の値の間に在る所定の第5の値を生成する演算部とを
    備える、請求項1記載の半導体記憶装置。
  3. 【請求項3】 前記第4の値は1であることを特徴とす
    る、請求項2記載の半導体記憶装置。
JP9200097A 1997-07-25 1997-07-25 半導体記憶装置 Pending JPH1145562A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9200097A JPH1145562A (ja) 1997-07-25 1997-07-25 半導体記憶装置
US08/990,801 US5914897A (en) 1997-07-25 1997-12-15 FIFO memory device having address detection portion
DE19804384A DE19804384B4 (de) 1997-07-25 1998-02-04 Halbleiterspeichereinrichtung
KR1019980004128A KR100294770B1 (ko) 1997-07-25 1998-02-12 반도체기억장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9200097A JPH1145562A (ja) 1997-07-25 1997-07-25 半導体記憶装置

Publications (1)

Publication Number Publication Date
JPH1145562A true JPH1145562A (ja) 1999-02-16

Family

ID=16418804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9200097A Pending JPH1145562A (ja) 1997-07-25 1997-07-25 半導体記憶装置

Country Status (4)

Country Link
US (1) US5914897A (ja)
JP (1) JPH1145562A (ja)
KR (1) KR100294770B1 (ja)
DE (1) DE19804384B4 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11185497A (ja) * 1997-12-24 1999-07-09 Mitsubishi Electric Corp 半導体記憶装置
JP4107716B2 (ja) * 1998-06-16 2008-06-25 株式会社ルネサステクノロジ Fifo型記憶装置
DE102005058298A1 (de) 2005-12-07 2007-06-21 Robert Bosch Gmbh Verfahren und Vorrichtung zur Erkennung von Tanklecks

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0206743A3 (en) * 1985-06-20 1990-04-25 Texas Instruments Incorporated Zero fall-through time asynchronous fifo buffer with nonambiguous empty/full resolution
JPS63146298A (ja) * 1986-12-10 1988-06-18 Mitsubishi Electric Corp 可変語長シフトレジスタ
JPS63276795A (ja) * 1986-12-16 1988-11-15 Mitsubishi Electric Corp 可変長シフトレジスタ
JPH01233514A (ja) * 1988-03-15 1989-09-19 Nec Corp 書込み/読出し非同期形fifo式バッファ
JPH02168496A (ja) * 1988-09-14 1990-06-28 Kawasaki Steel Corp 半導体メモリ回路
US5267191A (en) * 1989-04-03 1993-11-30 Ncr Corporation FIFO memory system
US5220529A (en) * 1990-08-20 1993-06-15 Fujitsu Limited One-chip first-in first-out memory device having matched write and read operations
US5220586A (en) * 1991-12-30 1993-06-15 Texas Instruments Incorporated Circuitry and method for variable single transition counting
JPH0676559A (ja) * 1992-06-26 1994-03-18 Mitsubishi Electric Corp ファーストインファーストアウトメモリ装置
US5406518A (en) * 1994-02-08 1995-04-11 Industrial Technology Research Institute Variable length delay circuit utilizing an integrated memory device with multiple-input and multiple-output configuration
KR0123239B1 (ko) * 1994-07-06 1997-11-26 김주용 선입선출방식(fifo) 메모리
JPH08203265A (ja) * 1995-01-26 1996-08-09 Nec Eng Ltd 遅延回路
US5555524A (en) * 1995-02-13 1996-09-10 Standard Microsystems Corporation Semi-synchronous dual port FIFO

Also Published As

Publication number Publication date
KR19990013315A (ko) 1999-02-25
KR100294770B1 (ko) 2001-07-12
DE19804384A1 (de) 1999-01-28
US5914897A (en) 1999-06-22
DE19804384B4 (de) 2010-12-09

Similar Documents

Publication Publication Date Title
US8612651B2 (en) FIFO buffer
CN111367495B (zh) 一种异步先入先出的数据缓存控制器
US5079693A (en) Bidirectional FIFO buffer having reread and rewrite means
US5175819A (en) Cascadable parallel to serial converter using tap shift registers and data shift registers while receiving input data from FIFO buffer
EP0977109A1 (en) Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
US9330740B1 (en) First-in first-out circuits and methods
JP3645584B2 (ja) データ転送同期装置
JPH1145562A (ja) 半導体記憶装置
US5214607A (en) Look-ahead FIFO byte count apparatus
US5488712A (en) Memory circuit with pipeline processing
US5515506A (en) Encoding and decoding of dual-ported RAM parity using one shared parity tree and within one clock cycle
JP3138865B2 (ja) 非同期式先入先出メモリ装置の制御回路
Huemer et al. Timing domain crossing using Muller pipelines
EP3531560B1 (en) A binary-to-gray conversion circuit, related fifo memory, integrated circuit and method
KR100301653B1 (ko) 고속 엠티 플래그 발생기
JP4193284B2 (ja) エラスティック回路および集積回路
JP4524724B2 (ja) 入出力装置
JP4478592B2 (ja) メモリ回路
JP2010206603A (ja) 遅延発生装置及びicテスタ
JP3443630B2 (ja) ビット保護回路
JP3374772B2 (ja) 大小判定回路およびそれを用いたfifo回路
JP2000011637A (ja) Fifo型記憶装置
JPH0352694B2 (ja)
KR100338402B1 (ko) 기억장치및그제어방법
JPH0337887A (ja) 論理演算半導体集積回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070717

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080408