JP2016076027A - メモリ装置 - Google Patents

メモリ装置 Download PDF

Info

Publication number
JP2016076027A
JP2016076027A JP2014204930A JP2014204930A JP2016076027A JP 2016076027 A JP2016076027 A JP 2016076027A JP 2014204930 A JP2014204930 A JP 2014204930A JP 2014204930 A JP2014204930 A JP 2014204930A JP 2016076027 A JP2016076027 A JP 2016076027A
Authority
JP
Japan
Prior art keywords
read
signal
permission signal
data
write
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.)
Granted
Application number
JP2014204930A
Other languages
English (en)
Other versions
JP6337730B2 (ja
Inventor
中村 三津男
Mitsuo Nakamura
三津男 中村
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.)
Denso Corp
Original Assignee
Denso 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 Denso Corp filed Critical Denso Corp
Priority to JP2014204930A priority Critical patent/JP6337730B2/ja
Publication of JP2016076027A publication Critical patent/JP2016076027A/ja
Application granted granted Critical
Publication of JP6337730B2 publication Critical patent/JP6337730B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

【課題】先入れ先出しメモリにおいて、設計ミスなどに起因して、書き込みデータ数と読み出しデータ数との不均衡が発生することを防止することが可能なメモリ装置を提供する。
【解決手段】メモリ装置10は、読出調整回路30を備えている。この読出調整回路30は、有効な書込許可信号の時間長さを、CLK信号に基づいて計測し、読出開始タイミングとなったときに、その計測した時間長さに相当する時間長さの読出許可信号を出力する。つまり、読出調整回路30は、書込許可信号と同じ長さの読出許可信号を生成することにより、自動的に、書込データと同じ量のデータを読み出すことができる。
【選択図】図1

Description

本発明は、先入れ先出し型のメモリを備えたメモリ装置に関するものである。
例えば、特許文献1には、FIFO(First In First Out)メモリを制御する制御回路が開示されている。この制御回路は、FIFOメモリの記憶データ量をカウントする計数回路を有する。そして、カウントされたFIFOメモリの記憶データ量と、FIFOメモリから読み出したデータを受信する受信装置によってセットされた読み出しデータ要求数とを比較回路にて比較する。この比較の結果、FIFOメモリの記憶データ量が読み出しデータ要求数以上となると、比較回路は、OUTPUT READY信号をアクティブにする。
また、計数回路は、FIFOメモリの空き量もカウントする。制御回路は、カウントされたFIFOメモリの空き量と、FIFOメモリに書き込みデータを送信する送信装置によってセットされた書き込みデータ要求数とを比較する比較回路も備えている。この比較回路における比較の結果、FIFOメモリの空き量が書き込みデータ以上となると、比較回路は、INPUT READY信号をアクティブにする。
このようなOUTPUT READY信号やINPUT READY信号に基づくことで、特許文献1の制御回路によれば、受信装置や送信装置は、任意のデータ量で読み出しや書き込みを行うことが容易となる。
特開平4−165529号公報
しかしながら、特許文献1の制御回路は、送信装置が書き込もうとしているデータ量以上の空き量がFIFOメモリに生じたことや、受信装置が読み出そうとしているデータ量以上のデータがFIFOメモリに蓄積されたことを、上述したREADY信号を用いて外部装置(送信装置、受信装置)に報知しているだけのものにすぎない。
ここで、送信装置や受信装置の設計者は、通常、FIFOメモリに対する書き込みデータと読み出しデータの数を同数とし、書き込み頻度と読み出し頻度とが同程度となるように設計を行うことが考えられる。このようにすれば、FIFOメモリが空になってデータを読み出せないといった状況や、FIFOメモリが一杯になってデータを書き込めないといった状況の発生を防止できるためである。
しかし、書き込みデータ数と読み出しデータ数の不一致などの設計ミスが生じた場合、データの書き込みと読み出しのバランスが崩れて、データを正しく読み出せなくなったり、データを書き込むことができなくなったりといった不具合が発生する可能性がある。このような不具合に起因して、システム全体に悪影響を及ぼすような場合、設計者は、その原因究明に多大な労力を費やす虞が生じる。
本発明は、上述した点に鑑みてなされたものであり、先入れ先出しメモリにおいて、設計ミスなどに起因して、書き込みデータ数と読み出しデータ数との不均衡が発生することを防止することが可能なメモリ装置を提供することを目的とする。
上記目的を達成するために、本発明によるメモリ装置は、
書込許可信号が与えられている間、クロック信号に従って、データの書き込みを行うとともに、読出許可信号が与えられている間、書込データを、クロック信号に従って、書き込み順序通りに読み出して出力する、先入れ先出し型のメモリ(20)と、
メモリに与えられる書込許可信号の時間長さを、クロック信号に基づいて計測する計測手段(32)と、
読み出し開始が指示されると、計測手段によって計測された書込許可信号の時間長さに相当する時間長さの読出許可信号をメモリに出力する読出許可信号出力手段(34)と、を備えることを特徴とする。
上記のように、本発明によるメモリ装置では、計測手段が、書込許可信号の時間長さを計測する。そして、読出許可信号出力手段が、読み出し開始の指示に応じて、計測された書込許可信号の時間長さに相当する時間長さの読出許可信号をメモリに出力する。そのため、本発明によるメモリ装置では、読み出し開始の指示に応じて、自動的に、書込データのデータ量と同じデータ量の読出データの読み出しが行われる。従って、本発明によるメモリ装置を利用した回路を設計する際に、その設計者は、メモリ装置へのデータ書き込み数とデータ読み出し数との管理についてなんら考慮する必要がなく、設計ミスの発生の未然防止、設計負荷の軽減、設計回路の規模の減少など、種々のメリットを享受することが可能となる。
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
実施形態によるメモリ装置の構成を示す構成図である。 FIFOメモリの通常の書き込み処理と読み出し処理について説明するための説明図である。 読出調整回路が備える機能をブロック図として示した機能ブロック図である。 外部回路から直接入力される外部入力読出開始信号と、読出許可信号生成ブロックの読出開始信号生成部によって生成される内部生成読出開始信号とを選択的に使用するための構成の一例を示した構成図である。 書込時間計測ブロックにおける処理内容を示すフローチャートである。 読出許可信号生成ブロックにおける処理内容を示すフローチャートである。 読出許可信号生成ブロックにおいて、読出開始信号を内部生成するための処理を示すフローチャートである。 読出調整回路の動作の一例を説明するためのタイミングチャートである。 図8の動作例よりも複雑な動作例を説明するためのタイミングチャートである。
以下、本発明の実施形態によるメモリ装置について、図面に基づいて詳細に説明する。図1は、本実施形態によるメモリ装置の構成を示す構成図である。図1に示すように、本実施形態によるメモリ装置10は、FIFOメモリ20と、読出調整回路30とを有している。
本実施形態では、FIFOメモリ20として、一般的に使用されている公知のFIFOメモリを用いる。図1には、FIFOメモリ20の基本的な入出力ポートが示されている。すなわち、図1に示すFIFOメモリ20は、デュアルポート型のメモリであり、書込データが入力される入力ポートと、読出データが出力される出力ポートとを有する。さらに、FIFOメモリ20は、その他の入出力ポートとして、クロック(CLK)信号ポート、書込許可信号ポート、FULL信号ポート、読出許可信号ポート、EMPTY信号ポート、RESET信号ポートを有する。このFIFOメモリ20の入出力信号および内部処理信号は、全てCLK信号ポートに入力されるCLK信号に同期して処理される。
例えば、FIFOメモリ20において、書込許可信号ポートに有効な書込許可信号(通常、ハイレベル)が入力されている間、CLK信号に同期して、入力ポートに入力された複数ビットからなる書込データが、順に内部記憶素子(通常、RAM)に書き込まれる。このように、内部記憶素子への書き込みはCLK信号に同期して行われ、あるCLK信号での書込データは、アドレスポインタが指し示すあるアドレスの内部記憶素子に書き込まれ、次のCLK信号での書込データは、その次のアドレスの内部記憶素子に書き込まれる。この書き込み処理は書込許可信号が有効になっている間はずっと継続される。
データの書き込みによりFIFOメモリ20の内部記憶素子が一杯となり、それ以上のデータ書き込みができない状態となると、FIFOメモリ20は、FULL信号ポートから、有効なFULL信号(通常、ハイレベル)を出力して、外部に書き込み不能状態を知らせる。本メモリ装置10を利用する利用者(ユーザ)は、FULL信号が有効になった場合、それ以上のデータの書き込みが行われないように、外部回路を設計する必要がある。例えば、ユーザは、書込許可信号を無効にして、FIFOメモリ20への書き込みができないようにするとともに、書込データの発生を一時中断するように、外部回路を設計する必要がある。
また、FIFOメモリ20において、読出許可信号ポートに有効な読出許可信号(通常、ハイレベル)が入力されている間、CLK信号に同期して、複数ビットからなる読出データが出力ポートから出力される。この際、読出データは、内部記憶素子に書込データが書き込まれた順番で内部記憶素子から読み出されて、出力ポートから出力される。この読出処理により、内部記憶素子に記憶されている書込データが全て読み出されると、FIFOメモリ20は、EMPTY信号ポートから、有効なEMPTY信号(通常、ハイレベル)を出力して、外部に読出不能状態を知らせる。なお、有効なEMPTY信号が出力されているにも係わらず、データの読出を行った場合、どのようなデータが読み出されるかは保障されない。
FIFOメモリ20は、さらに、RESET信号ポートを備えている。このRESET信号ポートに有効なRESET信号が入力されると、内部記憶素子の書込データが全て消去され、FIFOメモリ20は初期状態に戻る。この際、データを書き込むべきアドレスや、データを読み出すべきアドレスを指定するアドレスポインタも初期位置に戻る。
次に、図2を参照して、FIFOメモリ20における、通常の書き込み処理と読み出し処理について説明する。なお、図2は、RESET信号によりリセットされた直後の状態から、FIFOメモリ20が動作を開始した場合のタイミングチャートを示している。
リセット直後は、FIFOメモリ20の内部記憶素子にデータは書き込まれていない。そのため、図2のタイミングチャートの左端には、有効なEMPTY信号(ハイレベル)が出力されることが示されている。そして、タイミングAにおいて、有効な書込許可信号の入力が開始されると、入力ポートに入力されている書込データの内部記憶素子への書き込みが開始される。最初のデータD1が書き込まれることにより、FIFOメモリ20は空の状態ではなくなるので、有効なEMPTY信号の出力が終了する。そして、書込許可信号が有効である間、CLK信号に同期して書き込み処理が継続して実行される。図2には、8クロック分のデータD1〜D8が書き込まれる例が示されている。内部記憶素子には、この書込データD1〜D8の番号順に、各書込データD1〜D8が書き込まれる。そして、有効な書込許可信号の入力が終了すると、書き込み処理は終了する。なお、図2における、書き込み処理を行うデータ数に特に意味はない。
その後、タイミングBにおいて、有効な読出許可信号の入力が開始されると、内部記憶素子に書き込まれたデータが書込順に読み出されて、出力ポートから読出データとして出力される。ただし、FIFOメモリ20には、内部記憶素子から書込データを読み出して出力ポートから出力するまでに遅延時間が存在する。図2では、この遅延時間をCLK信号の1クロック分に相当する時間として示しているが、この遅延時間は、FIFOメモリ20のハード構成に依存して変化する。
図2に示す例では、読出許可信号は5クロック分の長さであるため、5個のデータ(D1〜D5)が読み出され、読出許可信号から1クロック分遅延して出力ポートから出力されている。この場合、有効な読出許可信号が終了した時点で、FIFOメモリ20には、3個の書込データD6〜D8が残っていることになる。なお、図2には、5クロック分の間、読出許可信号を有効にした例を示しているが、単なる一例にすぎない。また、読出処理を開始するタイミングBに関しても、書込処理終了後のある時点という程度の意味に過ぎない。
ここで、書込データD1〜D8が書き込まれた順序は、D1→D2→・・・→D8であるので、読み出されて出力される読出データは、D1→D2→D3→D4→D5の順となる。そして、読み出されたデータはFIFOメモリ20の内部記憶素子から消去される。正確には、読み出し対象となる書込データのアドレスが、アドレスポインタを用いて特定されるが、あるアドレスの書込データが読み出されると、アドレスポインタは、次回読み出す予定の書込データのアドレスに変わるので、既に読み出した書込データはもはや読み出すことができなくなる。よって、結果的に書込データを消去したことと同じ状態となる。このように、FIFOメモリ20では、通常のRAMのように同一アドレスに何度もアクセスすることはできず、アクセスは1回のみであるという特徴がある。
また、図2のタイミングチャートにおいて、例えばタイミングCの後に、所定数のデータの書き込みを許可する書込許可信号が入力され、それら所定数のデータの書込が行われた結果、FIFOメモリ20の内部記憶素子が一杯になると、図2に点線で描かれているように、有効なFULL信号が出力されることになる。
上述したように、FIFOメモリ20は、内部記憶素子にデータを書き込むとともに、その書き込まれたデータを読み出して出力するものである。そのため、書き込みデータ数と読み出しデータ数の不一致などの設計ミスが生じた場合、データの書き込みと読み出しのバランスが崩れることになる。この際、データ書き込みが過多となる場合には、データの書き込みが不能となり、データ読み出しが過多となる場合には、正しくデータを読み出せなくなる不具合が発生する。
このような不具合の発生を防止するため、本実施形態によるメモリ装置10は、読出調整回路30を備えている。この読出調整回路30は、有効な書込許可信号の時間長さを、CLK信号に基づいて計測し、読出開始タイミングとなったときに、その計測した時間長さに相当する時間長さの読出許可信号を出力するものである。つまり、読出調整回路30は、書込許可信号と同じ長さの読出許可信号を生成することにより、自動的に、書き込みデータと同じ量のデータを読み出すことを可能とするものである。以下、読出調整回路30について詳しく説明する。
図3は、読出調整回路30が備える機能を機能ブロック図として示したものである。図3に示すように、読出調整回路30は、書込時間計測ブロック32と、読出許可信号生成ブロック34とを有する。
書込時間計測ブロック32は、FIFOメモリ20に入力されるのと同じ書込許可信号及びCLK信号を入力する。そして、入力した書込許可信号のレベルがローレベルからハイレベルに変化したとき、有効な書込許可信号の入力が開始されたことを示す書込許可立上り信号を、読出許可信号生成ブロック34に対して出力する。
また、書込時間計測ブロック32は、有効な書込許可信号の入力が開始されると、書込許可信号が有効となっている間の時間を、入力されたCLK信号に基づいて計測する。具体的には、書込許可信号がハイレベルとなっている間のCLK信号の数をカウントし、そのカウント値を書込時間計測値として読出許可信号生成ブロック34に出力する。
さらに、書込時間計測ブロック32は、有効な書込許可信号の入力が終了して、書込許可信号の時間計測が完了すると、書込時間計測値が有効であることを示す計測時間有効信号を出力する。
読出許可信号生成ブロック34は、図3に示すように、図示しない外部回路から、読出開始信号、読出遅延時間信号、及び読出停止信号を入力可能となっている。また、読出許可信号生成ブロック34は、読出許可信号をFIFOメモリ20に出力することに加え、読出データ有効信号、読出完了信号を出力する。
読出開始信号は、FIFOメモリ20からデータを読み出すタイミングとなったときに、外部回路から読出許可信号生成ブロック34に入力されるものである。この読出開始信号は、例えば1クロック分のパルス信号からなる。読出許可信号生成ブロック34は、読出開始信号が入力されると、後述するように、書込時間計測値に応じた長さの読出許可信号の出力を開始する。つまり、本実施形態では、従来のように、FIFOメモリ20に対してデータの読出し処理を行う期間の間、有効となる読出許可信号を与える必要はなく、データの読出しを開始するタイミングに合わせて、読出開始信号を与えるだけで良い。
読出遅延時間信号は、読出許可信号生成ブロック34において、書込許可立上り信号を基準として、本実施形態によるメモリ装置10の利用者が設定した所望の遅延時間が経過したときに、自動的に読出開始信号を生成するために利用されるものである。つまり、読出遅延時間信号は、利用者が望む所定の遅延時間を示すためのもので、外部回路から、読出許可信号生成ブロック34に入力される。読出許可信号生成ブロック34は、読出遅延時間信号が与えられると、書込許可立上り信号が入力された時点から、読出遅延時間信号が示す所望の遅延時間が経過したことを判定する。そして、遅延時間が経過したときに、自動的に読出開始信号を生成する。そして、生成された読出開始信号に応じて、FIFOメモリ20への読出許可信号の出力が開始される。
このように、読出調整回路30は、書き込み処理が開始された時点を基準として、利用者が設定する所望の遅延時間経過後に、読出開始信号を自動的に生成する機能を備えている。このため、利用者は、用途により、外部回路から直接、読出開始信号をメモリ装置10に入力することも可能であるし、読出調整回路30による読出許可信号の自動生成機能を利用することも可能である。
図4は、外部回路から直接入力される外部入力読出開始信号と、読出許可信号生成ブロック34の読出開始信号生成部36によって生成される内部生成読出開始信号とを選択的に使用するための構成の一例を示している。図4に示す例では、外部入力読出開始信号と内部生成読出開始信号とが入力され、選択指定信号に従って、いずれか一方の信号を選択して出力する選択回路38が設けられている。選択指定信号は、外部回路から入力されても良い。また、メモリ装置10内部において、選択指定信号を固定し、どちらか一方しか選択されないように構成しても良い。そして、図4に示すように、選択回路38から出力された読出開始信号は、読出許可信号生成ブロック34の読出許可信号生成部40に与えられる。読出許可信号生成部40は、読出開始信号が入力されると、読出許可信号の出力を開始する。
読出停止信号は、FIFOメモリ20からデータの読出を一時中断する必要が生じたときに、外部回路から読出調整回路30に入力されるものである。この読出停止信号を受けると、読出許可信号生成ブロック34の読出許可信号生成部40は、有効な読出許可信号の出力を一時的に停止する。そして、読出停止信号が終了したとき、読出許可信号生成部40は、まだ出力していない残りの時間分の読出許可信号の出力を再開する。
例えば、本実施形態のメモリ装置10の用途として、有線もしくは無線通信を行う際、データを一時的に保存するバッファとして使用することが考えられる。このような用途に使用された場合、通信チャネルの状況によっては、データの通信を一時的に中断させることが必要となる場合がある。本実施形態によるメモリ装置10は、読出停止信号によってデータの読出の一時停止が可能であるため、そのような用途においても適切に対応することが可能となる。
読出データ有効信号は、FIFOメモリ20の出力ポートから、読出データが出力されているときに、有効(例えば、ハイレベル)となる信号である。利用者は、この読出データ有効信号により、FIFOメモリ20から読出データが出力されていることを認識することができる。従って、利用者は、例えばメモリ装置10の後段に、読出データ有効信号が有効となっているときに読出データの取り込みを行う外部回路を設けることにより、確実に読出データの取り込みを行うことが可能となる。
また、読出完了信号は、書込許可信号と同じ時間長さの読出許可信号により、すべての読出データの出力が完了したときに出力される信号である。利用者は、この読出完了信号に基づき、すべての読出データの出力が完了したことを把握することができる。従って、例えば、データの読出が一時停止された場合であっても、読出停止信号により、データの出力の停止が、一時中断によるものか、全データの出力完了によるものかを正確に識別することができる。
次に、書込時間計測ブロック32及び読出許可信号生成ブロック34におけるより詳細な処理内容を図5〜図7のフローチャートを参照して説明する。図5のフローチャートは書込時間計測ブロック32における処理内容を示し、図6及び図7のフローチャートは読出許可信号生成ブロック34の処理内容を示している。
まず、図5のフローチャートに示す処理について説明する。図5のフローチャートのステップS100では、初期化処理として、計測時間有効信号をクリアして無効化する。続くステップS110では、書込許可信号の立上りが検出されたか否か、すなわち、有効な書込許可信号の入力が検出されたか否かを判定する。書込許可信号の立上りが検出されたと判定されるとステップS120の処理に進む。一方、立上りが検出されない場合には、その検出まで待機する。
ステップS120では、書き込み処理が開始されたことを知らせるために、読出許可信号生成ブロック34に向けて書込許可立上り信号を出力する。ステップS130では、書込許可信号の時間長さの計測開始に備えて、あらためて計測時間有効信号をクリアする。つまり、計測時間有効信号は、書込許可信号の時間長さの計測が完了としたときに有効化される信号であり、計測が完了するまでは無効化された状態に維持される。そして、ステップS140において、書込許可信号の時間長さの計測を開始する。具体的には、書込許可信号が有効となっている間に、CLK信号の入力数をカウントする書込時間計測カウンタによるカウント動作を開始する。
続くステップS150では、書込許可信号の立下りが検出されたか否か、すなわち、有効な書込許可信号の入力が終了したか否かを判定する。書込許可信号の立下りが検出されたと判定されるとステップS160の処理に進む。一方、立下りが検出されない場合には、その検出まで待機する。なお、この待機中も、上述した書込時間計測カウンタによるCLK信号のカウント動作は継続して行われている。
ステップS160では、有効な書込許可信号の入力が終了したため、書込許可信号の時間長さの計測を終了する。具体的には、上述した書込時間計測カウンタによるCLK信号のカウント動作を停止させる。そして、ステップS170において、書込時間レジスタに書込時間計測値(書込時間計測カウンタのカウント値)をセットして、読出許可信号生成ブロック34に対して、書込時間計測値を出力できる状態にする。続くステップS180では、書込許可信号の時間長さの計測が完了し、書込時間計測値が確定したため、計測時間有効信号を有効化する。すなわち、計測時間有効信号のレベルをローレベルからハイレベルに変化させる。
次に、図6のフローチャートに示す処理について説明する。まず、ステップS200では、外部入力読出開始信号と内部生成読出開始信号とから選択された一方の読出開始信号の立上りが検出されたか否か、すなわち、有効な読出開始信号の入力が検出されたか否かを判定する。読出開始信号の立上りが検出されたと判定されるとステップS210の処理に進む。一方、立上りが検出されない場合には、その検出まで待機する。
ステップS210では、FIFOメモリ20に対して、読出許可信号の出力を開始する。これにより、FIFOメモリ20において、内部記憶素子に書き込まれたデータの読出処理が開始される。続くステップS220では、読出許可信号を出力している時間の計測を開始する。具体的には、読出時間計測カウンタにより、読出許可信号の出力を開始してから読出調整回路30に入力されるCLK信号の数のカウントを開始する。
ステップS230では、読出停止信号は無効のままであるか、それとも有効化されたかどうかを判定する。無効のままであると判定されると、ステップS260の処理に進み、有効化されたと判定されると、ステップS240の処理に進む。
ステップS240では、読出許可信号を出力している時間の計測を一時停止する。具体的には、上述した読出時間計測カウンタによるCLK信号のカウント動作を一時中断する。続くステップS250では、読出許可信号をクリアし、無効化する。これにより、FIFOメモリ20におけるデータの読出処理が一時的に中断される。この後、ステップS230の処理に進み、ステップS230における判定結果が、読出停止信号は無効となると、ステップS260の処理に進む。
ステップS260では、読出許可信号を出力している時間の計測が一時停止中であるか否かを判定する。つまり、以前にステップS250の処理が実行され、読出許可信号がクリアされているどうかを判定する。一時停止中、つまり読出許可信号がクリアされていると判定された場合にはステップS270の処理に進み、一時停止中ではないと判定された場合にはステップS290の処理に進む。
ステップS270では、読出許可信号の出力を開始する。さらに、ステップS280において、読出許可信号を出力している時間の計測を再開させる。つまり、読出時間計測カウンタによるカウント動作を再開させる。この場合、読出時間計測カウンタは、一時停止前にカウントしたカウント値を保持しており、その保持したカウント値に上積みするように、CLK信号のカウント動作を行う。
ステップS290では、後述するステップS320にてセットされる書込時間確定フラグがセット済みであるか否かを判定する。書込時間確定フラグがセット済みであると判定した場合ステップS330の処理に進み、セット済みではないと判定した場合ステップS300の処理に進む。
ステップS300では、書込時間計測ブロック32から有効な計測時間有効信号を受信したか否かを判定する。まだ有効な計測時間有効信号を受信していないと判定した場合ステップS230の処理に戻る。一方、有効な計測時間有効信号を受信したと判定した場合ステップS310の処理に進む。
ステップS310では、書込時間計測ブロック32から出力されている書込時間計測値を取り込み、計測値レジスタに保存する。つまり、書込時間計測ブロック32から有効な計測時間有効信号を受信したのであるから、書込時間計測ブロック32において、書込許可信号の時間長さの計測が完了し、書込時間計測値が確定した状態である。そのため、書込時間計測ブロック32からの書込時間計測値を取り込んで保存する。これにより、読出許可信号生成ブロック34は、書込時間計測ブロック32における確定した書込時間計測値を取得することができる。そして、ステップS320において、書込時間確定フラグをセットする。すなわち、書込時間確定フラグは、読出許可信号生成ブロック34が、書込時間計測ブロック32の確定した書込時間計測値を取得したことを示すフラグである。
続くステップS330では、読出時間計測カウンタによって計測されている読出時間計測値と、ステップS320において計測値レジスタに保存された書込時間計測値とを比較する。この比較処理において、読出時間計測値が書込時間計測値以上であると判定されると、書込時間計測値に等しい時間分だけ読出許可信号が出力されたことを意味するので、ステップS340の処理に進み、読出許可信号をクリアして無効化する。一方、読出時間計測値が書込時間計測値未満であると判定されると、まだ、読出許可信号の出力時間は、書込時間計測値が示す時間に達していないので、ステップS230の処理に戻って、読出許可信号の出力を継続する。
ステップS340の処理の後に実行されるステップS350においては、読出許可信号の出力時間の計測を終了する。すなわち、読出時間計測カウンタによるカウント動作を停止し、そのカウント値をクリアする。続くステップS360では、FIFOメモリ20における出力遅延時間経過後に、読出完了信号を出力する。最後に、ステップS370において、書込時間確定フラグをクリアする。
なお、読出データ有効信号の出力処理は、上述した図6のフローチャートに示されていないが、読出データ有効信号は、読出許可信号をFIFOメモリ20の出力遅延時間分だけ遅らせたものであるため、シフトレジスタ等を用いて、読出許可信号を遅延させる回路を読出調整回路30内に設ければ良い。
次に、図7のフローチャートに示す処理について説明する。図7は、読出調整回路30の読出許可信号生成ブロック34が、内部生成読出開始信号を出力するための処理を示すフローチャートである。このため、利用者が、外部回路から直接、読出開始信号を入力する場合には、図7のフローチャートに示す処理による結果は無視される。
まず、ステップS400において、初期化処理として、読出開始信号をクリアして無効化する。続くステップS410では、書込時間計測ブロック32から書込許可立上り信号が入力されたか否かを判定する。書込許可立上り信号が入力されたと判定した場合、ステップS420に進み、入力されないと判定した場合、入力されたと判定するまで待機する。
ステップS420では、書込許可立上り信号が入力されてからの経過時間である遅延時間の計測を開始する。続くステップS430では、ステップS420において計測が開始された遅延時間計測値が、読出遅延時間信号によって設定された設定遅延時間以上であるか否かを判定する。遅延時間計測値が設定遅延時間未満であると判定すると、設定遅延時間以上となるまで待機する。一方、遅延時間計測値が設定遅延時間以上であると判定すると、ステップS440の処理に進む。
ステップS440では、書込許可信号の立上りから設定遅延時間が経過したので、読出開始信号を出力する。そして、ステップS450では、遅延時間の計測を終了する。
上述した図5〜図7のフローチャートに示す処理による、読出調整回路30の動作の一例を図8のタイミングチャートを用いて説明する。なお、図8において、書込許可信号は、外部回路からメモリ装置10に入力される信号であり、読出開始信号は、外部回路によって入力される場合もあれば、読出調整回路30において内部生成される場合もある信号である。
外部回路から入力される書込許可信号が有効の間、書込データがCLK信号に同期してFIFOメモリ20の内部記憶素子に書込まれる。この書込許可信号が有効になっている時間(パルス幅)が、読出調整回路30の書込時間計測ブロック32によって計測される。計測された書込時間は、読出調整回路30の読出許可信号生成ブロック34内に記録され、後にFIFOメモリ20からデータの読出し処理を実施するときに使用される。
外部回路から直接、読出開始信号を入力する場合、読出開始信号をどのタイミングで有効にするかに関しては、利用者の判断に委ねられる。例えば、書き込んだ全データを一定の時間だけ遅延させたい用途で本メモリ装置10を使用する場合、書込許可信号が立ち上がった時点から、(狙いとする遅延時間―FIFOメモリ20の出力遅延時間)後に読出開始信号を有効にするようにすれば良い。なお、FIFOメモリ20の出力遅延時間とは、上述した通り、読出許可信号がFIFOメモリ20に入力されてから、読出データの出力が開始されるまでの遅延時間のことである。ただし、このような使い方であれば、読出遅延時間信号によって遅延時間を指定する方が便利である。また、すべてのデータの書き込みが終了した時点から一定時間後にデータを読み出す用途で本メモリ装置10を使用する場合には、書込許可信号が立ち下った時点から、(狙いとする一定時間―FIFOメモリ20の出力遅延時間)後に、読出開始信号を有効にすれば良い。
ここで、外部回路から入力される読出開始信号は、読み出し処理を開始するためのトリガーとなる入力信号であり、この信号のパルス幅自体は意味を持たない。本実施形態では、読出開始信号の立ち上がりを読出調整回路30で検出して、FIFOメモリ20に与える読出許可信号の生成を開始する。そのため、読出開始信号は、最低1クロック信号分のパルス幅を持っていれば良い。
なお、図8には、書込許可信号が有効となっている間に、読出開始信号が出力されて、データの読み出し処理を開始した例を示している。本実施形態では、上述したように、デュアルポート型のFIFOメモリ20を使用しているため、書き込み処理と読み出し処理を並行して行うことができる。
読出開始信号によって出力開始される読出許可信号は、計測された書込時間の時間長さ分だけ、読出調整回路30から自動的に出力される。また、読出調整回路30は、図8に示すように、読出許可信号に対して、FIFOメモリ20の出力遅延時間分だけ遅延した読出データ有効信号も出力する。
有効な読出許可信号が読出調整回路30から出力されることにより、FIFOメモリ20から読出データが出力される。この読出データは、出力遅延時間分だけ読出許可信号よりも遅れる。このため、読出データ有効信号が示すデータ有効区間と、FIFOメモリ20からの読出データの出力区間とが一致する。従って、利用者は、読出データ有効信号を使って、読出データが出力されていることを認識することができる。
全ての読出データの出力が完了するときに、読出調整回路30は読出完了信号を出力する。この読出完了信号は、全ての読出データの出力が完了したことを外部回路に通知するためのものであり、この信号のパルス幅は最後のデータの1クロック分である。この読出完了信号により、外部回路において、FIFOメモリ20に書込んだデータの全読出しが完了したことを認識することができる。
次に、図8のタイミングチャートに示した動作よりも複雑な動作例を、図9のタイミングチャートを用いて説明する。図9のタイミングチャートに示す動作例は、読出停止指令信号により、FIFOメモリ20からの読出データの出力が一時中断される点が、図8のタイミングチャートに示す動作例と異なる。
読出停止指令信号は、上述したように、例えば、本メモリ装置10の後段に接続された通信処理回路から、通信チャネルの混雑状況に応じて出力される。読出停止指令信号が有効になると、図9に示すように、読出許可信号が無効化され、FIFOメモリ20の出力遅延時間分だけ遅れて読出データ有効信号も無効化される。これにより、FIFOメモリ20から、読出データの出力が一時中断される。
読出停止指令信号の状態が有効から無効に変化すると、図9に示すように、読出許可信号が有効化され、FIFOメモリ20の出力遅延時間分だけ遅れて読出データ有効信号も有効化される。これにより、FIFOメモリ20から、読出データの出力が再開される。
このように読出データの出力の一時中断を行った場合、読出調整回路30では、一時中断する前の読出許可信号の出力時間と、一時中断後の読出許可信号の出力時間との合計時間が、書込時間計測値と等しくなるように、一時中断後の読出許可信号の出力時間を制御する。従って、一時中断があっても、書き込まれたデータと同じ量のデータを読み出すことができる。なお、図9には、読み出し処理中に読出停止指令信号が1回出力された例を示しているが、読出停止指令信号は、読み出し処理中に複数回出力されることもあり得る。この場合、複数回の読み出し停止指令信号によって3箇所以上に分断された読出許可信号の出力時間の合計値が書込時間計測値に一致するように制御される。
また、図9に示すように、読出停止指令信号によって読出データの出力が一時中断された場合、読出データ有効信号だけでは、読出データの出力の停止が、一時中断によるものか、全データの出力完了によるかを判別することはできない。しかし、本実施形態では、すべての読出データの出力が完了したとき、読出調整回路30が読出完了信号を出力するように構成している。このため、図9に示すような状況であっても、読出完了信号の有無に基づき、データの出力の停止が、一時中断によるものか、全データの出力完了によるものかを正確に識別することができる。
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
例えば、上述した実施形態のメモリ装置10の読出調整回路30は、ハードウエア(例えば、FPGAや専用IC)によって実現されても良いし、クロック信号に従った処理が間に合うならば、CPU等によって実行されるソフトウエアによって実現されても良い。
また、上述した実施形態では、読出調整回路30が、外部からの読出開始信号と、内部で読出開始信号を生成するための遅延時間を示す読出遅延時間信号との入力を受け付けるとともに、いずれかの読出開始信号を選択する構成を示した。しかしながら、読出調整回路30は、外部からの読出開始信号のみを受け付ける構成としても良いし、読出遅延時間信号のみを受け付けて、読出開始信号を内部で生成するようにしても良い。このようにすれば、いずれの場合であっても、一方の読出開始信号を選択するための構成を省略することができる。
10 メモリ装置
20 FIFOメモリ
30 読出調整回路
32 書込時間計測ブロック
34 読出許可信号生成ブロック
36 読出開始信号生成部
38 選択回路
40 読出許可信号生成部

Claims (9)

  1. 書込許可信号が与えられている間、クロック信号に従って、データの書き込みを行うとともに、読出許可信号が与えられている間、書込データを、前記クロック信号に従って、書き込み順序通りに読み出して出力する、先入れ先出し型のメモリ(20)と、
    前記メモリに与えられる書込許可信号の時間長さを、前記クロック信号に基づいて計測する計測手段(32)と、
    読み出し開始が指示されると、前記計測手段によって計測された書込許可信号の時間長さに相当する時間長さの前記読出許可信号を前記メモリに出力する読出許可信号出力手段(34)と、を備えることを特徴とするメモリ装置。
  2. 前記計測手段は、前記書込許可信号の時間長さの計測が完了すると、計測が完了したことを示す計測時間有効信号を前記読出許可信号出力手段に出力することを特徴とする請求項1に記載のメモリ装置。
  3. 前記書込許可信号が与えられ始めた時点から、所定の時間が経過したときに、前記読出許可信号出力手段へ読み出し開始を指示する指示信号を出力する指示信号出力手段(36)を備えることを特徴とする請求項1又は2に記載のメモリ装置。
  4. 前記指示信号出力手段が、前記指示信号を出力するまでの前記所定の時間は、利用者によって設定可能であることを特徴とする請求項3に記載のメモリ装置。
  5. 前記指示信号出力手段が出力する指示信号と、外部から与えられる指示信号との一方を選択して、前記読出許可信号出力手段に出力する選択手段(38)を備えることを特徴とする請求項3又は4に記載のメモリ装置。
  6. 前記読出許可信号出力手段は、前記メモリから前記書込データが読み出されて出力されている間、前記メモリから前記書込データが出力されていることを示すデータ有効信号を出力することを特徴とする請求項1乃至5のいずれか1項に記載のメモリ装置。
  7. 前記読出許可信号出力手段は、外部からの読出停止指令を受け付けることが可能なものであり、前記読出停止指令を受領している間、前記読出許可信号の出力を停止し、前記読出停止指令の受領が終了すると、まだ出力していない時間長さ分の前記読出許可信号の出力を再開することを特徴とする請求項1乃至6のいずれか1項に記載のメモリ装置。
  8. 前記読出許可信号出力手段は、前記メモリから前記書込データが読み出されて出力されている間、前記メモリから前記書込データが出力されていることを示すデータ有効信号を出力するものであり、前記読出停止指令を受領している間、前記データ有効信号の出力を停止することを特徴とする請求項7に記載のメモリ装置。
  9. 前記読出許可信号出力手段は、前記メモリからすべての前記書込データが読み出されて出力されるときに、読出完了信号を出力することを特徴とする請求項1乃至8のいずれか1項に記載のメモリ装置。
JP2014204930A 2014-10-03 2014-10-03 メモリ装置 Active JP6337730B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014204930A JP6337730B2 (ja) 2014-10-03 2014-10-03 メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014204930A JP6337730B2 (ja) 2014-10-03 2014-10-03 メモリ装置

Publications (2)

Publication Number Publication Date
JP2016076027A true JP2016076027A (ja) 2016-05-12
JP6337730B2 JP6337730B2 (ja) 2018-06-06

Family

ID=55949921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014204930A Active JP6337730B2 (ja) 2014-10-03 2014-10-03 メモリ装置

Country Status (1)

Country Link
JP (1) JP6337730B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312143A (ja) * 1998-04-28 1999-11-09 Clarion Co Ltd 情報処理装置及び方法、カーオーディオシステム及びその制御方法並びに情報処理用プログラムを記録した記録媒体
JP2005321933A (ja) * 2004-05-07 2005-11-17 Fuji Xerox Co Ltd データ入出力装置およびデータ入出力方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11312143A (ja) * 1998-04-28 1999-11-09 Clarion Co Ltd 情報処理装置及び方法、カーオーディオシステム及びその制御方法並びに情報処理用プログラムを記録した記録媒体
JP2005321933A (ja) * 2004-05-07 2005-11-17 Fuji Xerox Co Ltd データ入出力装置およびデータ入出力方法

Also Published As

Publication number Publication date
JP6337730B2 (ja) 2018-06-06

Similar Documents

Publication Publication Date Title
US8356203B2 (en) Asynchronous interface circuit and data transfer method
US8041856B2 (en) Skip based control logic for first in first out buffer
US20150058502A1 (en) I/o device, programmable logic controller, and operation method
JP4869369B2 (ja) 情報処理装置、情報処理方法およびプログラム
CN105022706B (zh) 控制器电路,数据接口块和用于传输数据的方法
JP6337730B2 (ja) メモリ装置
US8065449B2 (en) DMA device having plural buffers storing transfer request information and DMA transfer method
JP2008083911A (ja) Dma転送制御装置および半導体集積回路装置
JP5982845B2 (ja) トレース制御装置及びトレース制御方法
US20140139263A1 (en) Data processing apparatus and method in plc system
JP2007087467A (ja) データ転送動作終了検知回路及びこれを備える半導体記憶装置
JP2008026996A (ja) 電子装置
JP2005321933A (ja) データ入出力装置およびデータ入出力方法
JP4346506B2 (ja) 先入れ先出しメモリ及びそれを用いた記憶媒体制御装置
JP5907558B2 (ja) マルチインターバルタイマ並びにその制御装置、制御方法及び制御プログラム
JP2011022781A (ja) データ転送装置、データ転送方法及びデータ転送プログラム
TWI714930B (zh) 控制系統、控制方法及其非暫態電腦可讀取媒體
JP6529092B2 (ja) マルチインターバルタイマ装置、その制御方法および制御プログラム
JP4696003B2 (ja) データ転送回路
US20180018131A1 (en) Memory controller for performing write transaction
JP5441219B2 (ja) 半導体装置及びシリアルインタフェース回路
JP2009282591A (ja) データ転送装置及びデータ転送方法
KR101667602B1 (ko) 태깅 및 언태깅의 제어가 가능한 선입선출 메모리 장치 및 이를 이용한 데이터 출력 방법
JP2009015689A (ja) インターフェース装置
JPS6048076B2 (ja) 装置間インタフェ−ス方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170327

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180328

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R151 Written notification of patent or utility model registration

Ref document number: 6337730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250