Thiem Van Chu

20Q2.09B

MIG を使って DRAM メモリを動かそう (5)

この記事では、DRAM ベースの設計のためのシミュレーション方法を解説していきます。説明では、Synopsys 社のシミュレータ VCS を使用し、前回の記事で実機の FPGA ボードで動かしたテストプログラムと RISC-V ソフトプロセッサのシミュレーションを行います。 ソースコード: テストプログラム:  ソフトプロセッサ: 概要 FPGA の設計において、シミュレーションは不可欠です。簡単な回路を設計する場合は、一発で実機で動かせることがありますが、ほとんどの...
20Q2.09B

MIG を使って DRAM メモリを動かそう (4)

この記事では、前回まで解説してきた MIG ベースの DRAM コントローラのテストプログラムと先端の RISC-V ソフトプロセッサへの応用を説明していきます。 ソースコード: テストプログラム:  ソフトプロセッサ: Wizard ベースのクロック生成スクリプト: 説明では、現時点 (2020年8月) ACRi ルームで使用可能な Vivado 2019.2 を使用します。ターゲットの FPGA ボードは Arty A7-35T です。 テストプログラムと RI...
20Q2.09B

MIG を使って DRAM メモリを動かそう (3)

この記事では、Vivado で MIG の生成方法と DRAM コントローラ全体の Verilog HDL の実装を解説していきます。これまでのように、説明では、Digilent 社の Arty A7-35T FPGA ボードを想定します。 ソースコード: 現時点 (2020年8月) において、ACRi ルーム (ACRi の提供する FPGA 利用環境) で使用可能な Vivado 2019.2 を使いますが、新しい Vivado バージョンにも簡単に移植することができます。 ...
20Q2.09B

MIG を使って DRAM メモリを動かそう (2)

この記事では、DRAM の基本的な構成と、MIG とアプリケーション回路の間に設けるユーザインタフェースと呼ばれるモジュールについて解説していきます。前回の記事のように、説明では、Micron 社の DDR3 SDRAM MT41K128M16JT-125 という 256MB DRAM チップを搭載する Arty A7-35T FPGA ボードを想定します。 DRAM の基本的な構成 下図は DRAM ベースのメモリシステムの一般的な構成を示しています。 図1: DRAM ベ...
20Q2.09B

MIG を使って DRAM メモリを動かそう (1)

みなさんこんにちは。この「MIG を使って DRAM メモリを動かそう」のシリーズでは、全5回を通じて Xilinx Memory Interface Generator (MIG) という IP コアをベースに Xilinx FPGA で DRAM メモリを動かす方法を紹介していきます。説明では教育向けに設計された Arty A7-35T FPGA ボードを用いますが、他の FPGA ボードにも同様に適用できます。 第1回の今回は、FPGA 設計で DRAM を利用する必要性について説...
20Q1.04A

FPGA を使って基本的なアルゴリズムのソーティングを劇的に高速化 (5)

前回の記事までは、私たちが国際会議 FCCM 2017 (論文 ) で提案した高性能 FPGA ベースのハードウェアマージソータ (Hardware Merge Sorter, HMS) を説明してきました。 コースの最終回となる今回は、その後の研究論文を紹介していきます。 MMS: フィードバックデータパスのない HMS FCCM 2017 の論文で提案した HMS とそのベースラインは「フィードバックデータパス」を含みます。下図はこれらの基本的な構成要素であるマージロジッ...
20Q1.04A

FPGA を使って基本的なアルゴリズムのソーティングを劇的に高速化 (4)

前回の記事では、私たちが国際会議 FCCM 2017 (論文 ) で提案した、2つのソートされた系列を1つの系列にマージするマージロジック回路の新しいアーキテクチャを紹介しました。 この記事では、これを用いて構築したハードウェア・マージソータ (Hardware Merge Sorter, HMS) の評価について解説します。 比較対象 性能を評価するためには適切な比較相手を見つける必要があります。ここでの比較対象は、国際会議 FCCM 2016 (論文 ) で Song ら...
20Q1.04A

FPGA を使って基本的なアルゴリズムのソーティングを劇的に高速化 (3)

この記事では、私たちが国際会議 FCCM 2017 (論文 ) で提案したマージロジック回路のアーキテクチャ、動作例、特徴を解説します。マージロジック回路は2つのソートされた系列を1つの系列にマージします。これまでに提案された FPGA で動作させるソーティングアクセラレータの基本的な構成要素です。マージロジック回路の役割は1回目の記事、提案アーキテクチャのベースラインと基本的なアイデアは2回目の記事で説明されています。 フィードバックレジスタの最適化 これまでに説明した E レコ...
20Q1.04A

FPGA を使って基本的なアルゴリズムのソーティングを劇的に高速化 (2)

この記事では、私たちが国際会議 FCCM 2017 (論文 ) で提案したソーティングを高速化するための基本的なアイデアを解説していきます。提案したアイデアのベースラインは、2014年の国際会議 FPGA でスタンフォード大学の Casper と Olukotun によって発表された方式 (論文 ) です。 前回の記事で説明したように、これまで提案された FPGA ソーティングアクセラレータの基本的な構成要素は、2つのソートされた系列を1つの系列にマージするマージロジック回路です。一般に...
20Q1.04A

FPGA を使って基本的なアルゴリズムのソーティングを劇的に高速化 (1)

みなさんこんにちは。ACRi ブログ第1期の4番目のコースを担当するティエムです。 このコースは、FPGA やアダプティブコンピューティングの研究論文をその著者が紹介するシリーズの第一弾です。科学技術の進歩のために、研究者は日々難題に取り組んでいます。 アダプティブコンピューティングの国際会議で発表された研究成果から、選りすぐりの研究論文を紹介します。 このコースでは、2017年5月に開催された FPGA の主要な国際会議 FCCM (The 25th IEEE Internat...
タイトルとURLをコピーしました