20Q1.04A

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

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

AWS F1 で始めるサーバーサイド FPGA (2)

このコースの前の記事はこちら はじめに この連載では AWS F1 サービスを題材に FPGA を使ったアプリケーションのアクセラレートを体験してみる予定です。手を動かし始める前の準備として、この記事では FPGA アクセラレータの開発環境を紹介します。 FPGA の開発と聞くと、Verilog などのハードウェア記述言語を習得しないといけないと思われるかもしれませんが、実は C++ だけで FPGA アクセラレータを開発できる環境が整っています。C++ で 記述できるとはい...
20Q1.02A

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

前回の記事では、ロボットにおけるソフトウェア処理を高速化する (マクロ) 視点での FPGA 活用と、ロボットを構成する電気信号レベルでの入出力や制御に関する (ミクロ) 視点での FPGA 活用について、大枠を考えました。今回は、ロボットの目的や定義を考えた上で、小さいロボットシステムの事例を通じて FPGA が活用できる場面がどこにあるかを見ていきます。 ロボットの定義 さて、そもそも「ロボットとは何」でしょう? 時代によってロボットの定義は変化しており、「ロボットについ...
20Q1.01A

PYNQ を使って Python で手軽に FPGA を活用 (2)

みなさんこんにちは。このコースでは、Python で FPGA を手軽に利用できる PYNQ とその活用方法を紹介していきます。ゴールは、Jupyter Notebook の環境を使って Python から手軽に FPGA を利用できるようになることです。前回は、「そもそも FPGA ってなに?」というタイトルで FPGA の紹介をしました。第2回の今回は、本題の PYNQ を紹介します。 PYNQ って何? - Python による FPGA 操作 PYNQ は、PythonでF...
20Q1.10B

物理計測のための FPGA の使い方 (1) ~FPGAを選ぶポイント~

みなさん、はじめまして。 筆者は大学の研究室(主に物理系)や独立行政法人〇〇研究機構といった顧客に「計測用カスタム FPGA 基板」を作るという仕事をしています。大学以外にも一般の企業向けに産業用カメラを作ったり、計測器を作ったり、あるときは自社製品として FPGA 評価ボードを作ったりと、とりとめもなくいろいろなことをやっています。 実際には基板を作るだけではなく、ADC や DAC まわりのアナログ設計や、FPGA の回路設計、カスタムファームウェアから PC 側のソフトウェア...
20Q1.09A

Vivado のインストールと使いかた (1) HLx Edition WebPACK の概要とインストール (Windows編)

ここでは Xilinx 社の FPGA の開発環境である Vivado のインストール手順を解説します。Vivado は、HDL からビットストリームファイルの生成、FPGA への書き込みまでの一番下位の部分を担当するツールです。中規模までのほとんどの FPGA は無償版の WebPACK というバージョンで開発できます。下記よりダウンロードできます。 対応 OS は、Windows と Linux です。Ver.2019.2 で対応する OS は、具体的には次の通りですが、今後...
20Q1.08B

FPGA をもっと活用するために IP コアを使ってみよう (1)

みなさんこんにちは。この「 FPGA をもっと活用するために IP コアを使ってみよう」のシリーズでは、全5回を通じて FPGA を使って実用的なアプリケーションを実装するために必要不可欠な IP コアの使い方を紹介していきます。 IPコアを使いこなせるようになると、既に開発されているモジュールの流用で開発コストを低く抑え、自分のアプリケーションの開発に注力できるようになりますよ。第一回では「IP コアって何?どんなもの?」について説明します。 IP コアってなに? IP コ...
20Q1.07A

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

愛知⼯業⼤学の藤枝と申します。 普段は電気系の学⽣さんにディジタル回路や計算機システムを教えつつ、FPGA を使って何か⾯⽩いことができないかと⽇々⼿を動かしています。 このコースでは、実用的な回路の設計・実装と動作確認を通じて、ハードウェア記述言語 (HDL) を使った FPGA 上のディジタル回路設計について学んでいきます。具体的には、PC と FPGA との最もお手軽な通信手段であるシリアル通信 (UART ともいいます) を使って、FPGA から PC に対して「Hello, F...
20Q1.06A

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

みなさんこんにちは。このコースでは FPGA を使いこなすために理解しておきたい論理回路の基礎について 5 回にわたって説明します。RTL (Register Transfer Level) で FPGA 開発をするための入門になります。また,高位合成で開発をしていても、FPGA の性能を引き出すためには自分で記述するコードがどのようなハードウェアになるかを理解するための知識です。電気・情報系の大学の 2 年生くらいで学ぶ内容ですが、ハードウェアはよく分からないという方はぜひお付き合いくださ...
20Q1.05A

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

みなさんはじめまして。ACRi ブログ第1期の6番目のコースを担当する小林です。 このコースでは、スーパーコンピュータ (以下、ブログの文字数節約のために一般的に使われている略称「スパコン」を使います) にも FPGA がなぜ使われ始めたのか、FPGA をスパコンに使うことによって何ができるようになるのか、どのような技術的な面白さがあるのか、を紹介していきます。 第1回の記事ではいまどきのスパコン事情を紹介します。 そもそもスパコンとは? 「スーパーコンピュータ」と...
20Q1.04A

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

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

AWS F1 で始めるサーバーサイド FPGA (1)

はじめに 何気なく利用しているインターネットサービスの多くはデータセンターで運営されており、今やデータセンターは社会になくてはならない重要な存在となっています。道路や水道と同様に私たちの生活に欠かせないインフラのひとつと言っても過言ではないでしょう。そのようなデータセンターの中で FPGA をアクセラレータとして利用する事例が増えています。 全5回を予定しているこの連載では、アマゾン・ウェブ・サービス (AWS) を題材に、データセンターでの FPGA の活用事例と開発環境を紹介し...
20Q1.02A

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

みなさんはロボットと聞いて何をイメージするでしょうか? 人型ロボットや動物型ロボット、もしかしたら空飛ぶロボットでしょうか。工場で働く産業用ロボット・災害救助ロボットや、お料理ロボット・お掃除ロボットをイメージするかもしれません。 色々なロボットがありますが、みなさんもご存じの通り、現在のロボットは「特定の作業は人間より得意(高精度・高速)だけど、人間の作業の代わりをやるのは難しい」という状況です。 近い将来、ロボットがもっと知的になってもらい社会で活躍するためには、どうしたらよい...
20Q1.01A

PYNQ を使って Python で手軽に FPGA を活用 (1)

みなさんこんにちは。ACRi ブログの1番目のコースでは5回にわたるブログ記事を通して、Python で FPGA を手軽に利用できる PYNQ とその活用方法を紹介していきます。扱いやすい Jupyter Notebook の環境を使いながら、Python で手軽に FPGA の開発を体験するのがゴールです。 第1回のこの記事では「そもそも FPGA ってなに?」という疑問に答えていきます。 FPGAって何? FPGA こと Field Programmable Gate ...
ACRiルーム

Windows 10 の「リモート デスクトップ接続」で FPGA 利用環境 (ACRi ルーム) を使う

ACRi の FPGA 利用環境 (ACRi ルーム) に接続するオススメの方法をまとめます。いつも Windows 10 のコンピュータを使っていて、そこからネットワークの向こう側の Ubuntu がインストールされた Linux のコンピュータに接続する方法です。Windows 10 に入っている「リモート デスクトップ接続」を使います。また、Tera Term とよばれるターミナルエミュレータも使います。 ACRi ルームの本格運用は 2020 年8月1日から始まっています ...
ACRiブログ

ACRi ブログの執筆者のみなさまへ

この記事では、ブログの執筆者のみなさまに守ってほしい項目をまとめます。執筆前に必ず確認してください。編集者の負担軽減にご協力ください。 日本語のスタイルガイド 全角・半角、句読点、スペースについて次を守ってください。 日本語の句読点には全角の「。」と「、」を使ってください。すべての英数字、符号は半角文字を使ってください。数字は、慣習的に使われている場合を除いて、半角の算用数字 (1、2、3) を使ってください。すべての丸括弧は半角 ( ) を使ってください。丸括弧 ( ) の...
コース紹介

はじめまして

ACRi ブログへようこそ。このブログはアダプティブコンピューティング研究推進体が運営しています。 アダプティブデバイスの FPGA を活用するシステム、活用基盤、研究成果などの記事を発信していきます。 アダプティブコンピューティング研究推進体 (Adaptive Computing Research Initiative, ACRi) は、FPGAの活用方法を模索、研究する団体です。 ACRi では、FPGA (Field Programmable Gate Array) を...
タイトルとURLをコピーしました