- 締切済み
FIFOの仕組みについて
- FIFO(First-In,First-Out)を使用したいと考えています。メモリ上に保持されずに消えてしまうのか、他のRAMと同様に保持されるのか理解できません。
- FIFO(First-In,First-Out)とは、最初に入ったデータが最初に出力される仕組みです。しかし、FIFOで出力されたデータはメモリ上に保持されず、他のRAMと同様に保持されるわけではありません。
- FIFO(First-In,First-Out)はデータの入力順序と出力順序が一致するデータ構造です。ただし、FIFOで出力されるデータはメモリ上に保持されず、他のRAMと同様に保持されることはありません。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
こんにちは。 CY7Cシリーズのデーダシートが見つからないのではっきりした事が言えなくて申し訳ありませんが、FIFOはデータの非同期インターフェスに使用されるのでアドレスポインタをリセットする端子があると思います。 この端子がREADとWRITEで別になっていると都合が良いのです。 私は以前IDT社、沖あたりのを使ったことがある程度ですが、最近はほとんどSDRAMを使用する場合が多い(便利)と聞いています。 英文のデータシートも読み切る癖をつけておかないといずれプロセッサーやFPGA、DSP等の時大量の英文ドキュメントの為に、自力で開発や設計、トラブルシューティングが出来なくなりますので今からがんばってみてください。
CY7Cシリーズなら、そのものズバリかは分かりませんが CQ出版の「メモリICの実践活用法」と言う本の P170から記事があります。 FIFOは使ったことがないので何とも言えないのですが リードするとリードポインタは当然1つ進みますよね。 それを戻せたら再度同じデータをリード出来ますが リードポインタを戻す方法があるのでしょうか? 無いように思うのですが・・・
お礼
plusさん,貴重な情報ありがとうございます. 機会を見つけて,記事を見るようにします.
こんにちは。 押し出されてしまうタイプはシフトレジスタ(タイプ)のメモリで確かにFIFOと言えば言えなくもありません。このタイプは可変長タイプが普通です。 容量はそう大きくはなくスピードもやや遅いのが一般的です。 一般的にFIFOと言えばSRAMにマルチプレクサが付いていて、インクリメント(又はデクリメント)のアドレス・カウウンターで順次アドレスをカウントアップ(ダウン)させそのカウンター値のデータをマルチプレクサで出力させるものだと思います。(READ時) カウンターのインクリメントはREADパルス毎に行ないます。これらのアドレスカウンターをポインターと呼びます。 ポインターはREAD(読込み)とWRITE(書込み)の両方が有り、互いに非同期で行なわれますが、衝突時のデータには注意しなければなりません。 詳細はデバイス(意図された用途によっても異なる)によって異なります。 最後になりましたが、ご質問の件についてはそのデバイスがREADポインターとWRITEポインターが別のものなら通常データは保持されていると思います。 最終的にはデバイスのデータシートで確認してください。 デバイス名を特定していただければ、もう少し確定したことをもうしあげられるのですが。
補足
korusamuさん,早速のご回答有難うございます.現在cypress社のCY7Cシリーズを考えています.データシートにはリードポインタとライトポインタが別々になっていますので,おそらく保持される形式だと思われます.データシートが英語ということも有り,いまいち理解できなかったのですが,おかげで概念が理解できた気がします.
お礼
korusamuさん,再度のご回答ありがとうございます. 自分自身も英語力の必要性を痛感しており,今後努力していきたいと思います.