初級

20Q2.02A

IP の世界からこんにちは (5)

IP インテグレータを用いた回路やシステムの設計について学ぶコースも、いよいよ今回が最終回です。前回は、文字送信回路の IP コアを MicroBlaze と組み合わせるための IP コアを作成し、これらを含むブロック図からシステムを合成しました。今回は、このシステムの上で動作するソフトウェアを記述し、動作確認を行います。 なお,今回の内容は基本的に Vivado/Vitis 2019.2 を対象に記述しています。2019.1 以前の Vivado では、こうした FPGA 上の組込みプ...
20Q2.02A

IP の世界からこんにちは (4)

IP インテグレータを用いた回路やシステムの設計について学ぶコースの第4回です。前回までで、シリアル通信による文字送信回路の IP コアを作成し、ブロック図を使った設計で「Hello, FPGA」を PC に送信する回路を作成しました。 今回は、文字送信回路の IP コアを Xilinx 社のソフトプロセッサである MicroBlaze と組み合わせていきます。 テンプレートからの IP の作成 IP パッケージャでテンプレートを生成 第1回 や 第2回 でもざっと紹介...
20Q2.02A

IP の世界からこんにちは (3)

IP インテグレータを用いた回路やシステムの設計について学ぶコースの第3回です。前回は、IP パッケージャを使って、シリアル通信による文字送信回路の IP コアを作成しました。 今回は、これらと既存の IP コアとを組み合わせて、ブロック図を使った設計で「Hello, FPGA」を PC に送信する回路を作成して、その動作を確認していきます。 ブロック図作成の下準備 制御部の回路の再考 今回作成する回路は、「シリアル通信で Hello, FPGA (5)」(以下、「以前...
20Q1.07A

シリアル通信で Hello, FPGA (5)

実用的な回路の設計・実装と動作確認を通じて,ハードウェア記述言語 (HDL) を使った FPGA 上のディジタル回路の設計について学ぶコースの最終回です。 前回までに、シリアル通信 (UART) による文字送信回路を設計し、論理シミュレーションと実機の両方で、1文字を正しく送信できることが確認できました。今回はこの回路をもう少しだけ拡張し、シリアル通信で Hello, FPGA を FPGA から PC に送信し、その結果を確認する……つまり、本コースの最終目標に踏み込みます。 ト...
20Q1.06A

4ビットカウンタでわかる FPGA のための論理回路 入門 (5)

みなさんこんにちは。このコースでは FPGA を使いこなすために理解しておきたい論理回路の基本について説明します。FPGA を使って開発しているけどハードウェアはよく分からないという方は、ぜひお付き合いください。 前回は4ビットカウンタ回路の挙動をシミュレーションで確認しました。また、前回までで論理回路の基礎事項はあらかた説明しています。 今回は、回路設計、最適化に重要なタイミング解析について、よく出てくる用語とともに掘り下げて説明します。 タイミング解析 論理回路は値...
20Q1.05A

スーパーコンピュータでも使われ始めた FPGA (5)

このコースでは、スーパーコンピュータ (以下、ブログの文字数節約のために一般的に使われている略称「スパコン」を使います) にも FPGA が何故使われ始めたのか、FPGA をスパコンに使うことによって何ができるようになるのか、どのような技術的な面白さがあるのか等について紹介していきます。 このコースもいよいよ最終回となりました。最後は Cygnus を使い倒すにあたって、前回の記事で紹介した以外にも解決しなければならない課題を紹介していきたいと思います。 なお、先に謝っておきますが...
20Q1.04A

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

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

シリアル通信で Hello, FPGA (4)

実用的な回路の設計・実装と動作確認を通じて,ハードウェア記述言語 (HDL) を使った FPGA 上のディジタル回路の設計について学ぶコースの第4回です。 前回までに、シリアル通信 (UART) による文字送信回路を設計し、論理シミュレーションを使って動作検証を行いました。今回はこの回路を FPGA に書き込んで、シリアル通信で PC に文字を送信します。 トップモジュールの作成 トップモジュールの設計 第2回で設計した文字送信回路は、他の回路から1文字のデータを受け取...
20Q1.06A

4ビットカウンタでわかる FPGA のための論理回路 入門 (4)

みなさんこんにちは。このコースでは FPGA を使いこなすために理解しておきたい論理回路の基本について説明します。FPGA を使って開発しているけどハードウェアはよく分からないという方は、ぜひお付き合いください。 前回は、4ビットカウンタ回路を SystemVerilog で記述し、そのコードを Vivado を使って論理合成して結果を確認しました。今回は記述した4ビットカウンタ回路の挙動をシミュレーションで確認します。 今回の記事は、「シリアル通信で Hello, FPGA (3...
20Q1.05A

スーパーコンピュータでも使われ始めた FPGA (4)

このコースでは、スーパーコンピュータ (以下、ブログの文字数節約のために一般的に使われている略称「スパコン」を使います) にも FPGA が何故使われ始めたのか、FPGA をスパコンに使うことによって何ができるようになるのか、どのような技術的な面白さがあるのか等について紹介していきます。 第4回のこの記事では、FPGA を導入した国内スパコンである Cygnus を対象にどのような研究開発が行われているかについて紹介していきます。 OpenCL から制御可能なデータ転送技術の開発 ...
20Q1.04A

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

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

ロボットでも注目される FPGA ⼊⾨ (4)

前回までに、ロボットの制御・計画とそれに必要な画像認識について FPGA の活用方法を紹介しました。 今回は、どのようにして制御・計画・画像認識を統合するか、そのプラットフォームである ROS (Robot Operating System) について説明し、FPGA を導入する方法について考えたいと思います。 ROS (Robot Operating System)とは 知的なロボットシステムの機能実現において、ソフトウェアの占める重要性は非常に大きく、如何に短期間で所望の...
20Q1.06A

4ビットカウンタでわかる FPGA のための論理回路 入門 (3)

みなさんこんにちは。このコースでは FPGA を使いこなすために理解しておきたい論理回路の基本について説明します。FPGA を使って開発しているけどハードウェアはよく分からないという方は、ぜひお付き合いください。 前回までの記事で、クロック同期回路を理解するための論理回路の基礎を説明してきました。今回は、4ビットカウンタ回路を例にクロック同期回路の設計を説明します。 4ビットカウンタ回路の設計 仕様 4 ビットカウンタは 0 から 15 (16 進数で 0x0 から 0...
20Q1.07A

シリアル通信で Hello, FPGA (3)

実用的な回路の設計・実装と動作確認を通じて,ハードウェア記述言語 (HDL) を使った FPGA 上のディジタル回路の設計について学ぶコースの第3回です。 前回は、シリアル通信 (UART) による文字送信回路を設計し、HDL 記述を作成しました。この回路を実際に動かす前に、まずは論理シミュレーションを使って、正しく動作しそうであるかチェックしてみましょう。今回は、テストベンチの作成方法、および Vivado シミュレータで回路の動作を確認する方法を解説していきます。 テストベンチ...
20Q1.05A

スーパーコンピュータでも使われ始めた FPGA (3)

このコースでは、スーパーコンピュータ (以下、ブログの文字数節約のために一般的に使われている略称「スパコン」を使います) にも FPGA が何故使われ始めたのか、FPGA をスパコンに使うことによって何ができるようになるのか、どのような技術的な面白さがあるのか等について紹介していきます。 第3回のこの記事では、FPGA を導入したスパコンについて紹介していきます。 その名は「Cygnus」 Cygnus は、本記事の執筆時点において国内で唯一、FPGA を本格的に使用するスパ...
20Q1.04A

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

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