2021-03

20Q4.03A

FPGA 使え、って社長に言われた。さぁ、どうする? (4)

前回までのお話  会社に戻り、どのような製品開発をするかについて考えた Y 君。最初は身近なところから、ということで主力製品である通信機器を見直し、FPGA を活用することで付加価値をつけることにした。第1回目の企画会議に向けて資料を作成し、準備万端と思っていたが・・・。(前回の話はこちら) 調査報告 (1回目) @会議室 Y 君:おはようございます。お時間頂きありがとうございます。それでは、本日はよろしくお願いします。 社長:おはようございます。それでは、調査結果およ...
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.02B

FPGA を対象とした非同期式回路の設計 (5)

皆さん、こんにちは。今回は、前回までに合成した非同期式回路の機能検証と評価を説明していきます。前回をご覧になっていない場合は、初めにそちらをご覧下さい。 設計フローの続き 図1は、前々回示した設計フローです。 図1 設計フロー 前回の終了時点で、タイミング違反がないことを確認しました。今回は、その段階での Quartus Prime プロジェクトを想定して、説明をしていきます。 機能検証 ここでは、第2回で解説した RTL シミュレーションと同じ...
20Q4.01A

Vitis を用いたアクセラレータの開発 (5) Vitis Library, Vitis AI とは?

前回までは、Vivado や PetaLinux を使用して Vitis Target Platform の作成、そして Acceleration Application の構築までの一連の流れを簡単にご紹介しました。今回は最終回となる、Vitis Library や Vitis AI Solution についてご紹介いたします。 Vitis Library Vitis には Software の記述を FPGA に置き換えて高速化することが可能な Tool です。ですが、初めての...
20Q4.04A

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

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

FPGA を対象とした非同期式回路の設計 (4)

皆さん、こんにちは。前回までに、非同期式回路の合成について説明をしました。今回は、タイミング検証や遅延調整など残りの部分について説明したいと思います。前回を読んでいない方は、まずはそちらをご覧ください。 タイミング制約 設計フローの続きを解説する前に、タイミング制約を説明します。今回使用したモデルでは、セットアップ制約、ホールド制約、およびパルス幅制約の3種類のタイミング制約を満足する必要があります。 注意:今回の回路モデルは、直線的な処理をしているため、これらの...
20Q4.01A

Vitis を用いたアクセラレータの開発 (4) Acceleration Application 実装編

「Vitis Target Platform SW構築編」の記事で、PetaLinux を使った SW Component 構築方法について紹介しました。4回目となる今回は Vitis 2019.2 を利用して、Vitis Target Platform および Acceleration Application の構築方法をご紹介します。 Vitis Target Platform Tool Flow まず Tool Flow の復習ですが、Vitis での Acceleratio...
タイトルとURLをコピーしました