20Q4.04A

20Q4.04A

BRAM 達人への道 (5) レイテンシ 0 FIFO と Read Modify Write

はじめに BRAM アプリケーションとして FIFO を扱ってきましたが、今回は読み出しレイテンシを0にするにはどうしたらいいか、を扱います。加えて、FIFO から離れますが、Read Modify Write を BRAM で実行したい場合について考察します。 読み出しレイテンシ0の FIFO 読み出しレイテンシ0の定義 読み出しレイテンシ0を誤解されないために、ここで扱うその定義について明確にしておきましょう。図5-1を見てください。BRAM としての出力段をラッチ...
20Q4.04A

BRAM 達人への道 (4) FIFO に使ってみる-非同期型2

前回からの続き 第3回では、非同期型の FIFO について2つの設計例を示しましたが、いずれも特定の条件下では有効に機能するが、万能ではない結果となってしまいました。今回はこれに対し改善を試みます。 アドレス交換法3 非常に安直な考え方ですが、前回説明のアドレス交換法1と2の両方の良いとこ取りという意味で、ハイブリッド型を考えてみます。アドレス交換法1と2とで異なるタイミングにて、一方のクロック系から他方のクロック系にアドレスを渡しあうわけですが、アドレス交換法1と2のタイミ...
20Q4.04A

BRAM 達人への道 (3) FIFO に使ってみる-非同期型1

はじめに BRAM アプリケーションとして FIFO を扱っていますが、第2回では同期型 (書き込み側のクロックと読み出し側のクロックが同一の場合) を扱いました。今回は非同期型 (書き込み側のクロックと読み出し側のクロックが独立な場合) を扱います。 どうしたら非同期型の FIFO ができるか まず、前回の基本構成を図3-1に示します。 図3-1 同期型 FIFO のブロック図 書き込みアドレスカウンタ、読み出しアドレスカウンタは独立したクロックで動作し、互いに...
20Q4.04A

BRAM 達人への道 (2) FIFO に使ってみる-同期型

本連載は今回から、BRAM を用いたアプリケーションの一つとして、FIFO を扱うことにします。 はじめに FIFO は First In First Out の略で、最初に書き込まれたデータが最初に読み出せる→データが書き込んだ順に読み出せる記憶機能、と考えることができます。何らかのデータを扱うアプリケーションにおいては、非常に便利な構成要素で、その記憶素子として BRAM を使うととても便利です。FIFO の記憶容量として RAMB36 が大きすぎてもったいない場合もありますが...
20Q4.04A

BRAM 達人への道 (1) 構造と基本的な使い方

FPGA を用いて AI のアクセラレーションのような高度な処理を行うことが当たり前の時代になりました。しかし、FPGA を利用する全てのエンジニアがそうしたアプリケーションに携わっているわけではなく、初心者、初級者レベルのエンジニアが多数おられるということも事実ではないかと思います。 この記事では、現場レベルで使えるちょっとした工夫や考え方のヒントを紹介し、初級者のレベルアップや、現場の方々の手助けにつながればと考えています。 はじめに 題材としては、FPGA の基本要素と...
タイトルとURLをコピーしました