質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

FPGA

FPGAは、製造後でも設計者によって書き換えができる論理回路です。即時に書き換えが可能なため、開発期間を短縮することが可能。何度でも書き換えられるといった柔軟性があるため、製造や開発における費用も削減できるといったメリットがあります。

Q&A

3回答

2361閲覧

現役FPGAエンジニアに質問したいことがあります。

carnage0216

総合スコア194

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

FPGA

FPGAは、製造後でも設計者によって書き換えができる論理回路です。即時に書き換えが可能なため、開発期間を短縮することが可能。何度でも書き換えられるといった柔軟性があるため、製造や開発における費用も削減できるといったメリットがあります。

1グッド

3クリップ

投稿2018/05/22 17:51

編集2018/05/31 06:37
  1. 質問1

なぜFPGAエンジニアになろうと思ったのでしょうか?
CPUやGPUで処理できないことを処理させるためでしょうか?もしそうならばCPUやGPUを使う必要はないのですが、そうでもない場合はCPUやGPUを使わずにFPGAを使っている理由は何でしょうか?是非詳しく知りたいです。
FPGAは画像処理、最近では機械学習などで使われていますが個人的にはCPUとGPUを使っての処理のほうがコストが安いことや処理速度がアルゴリズムによりますが比較的速い事や、開発に時間があまりかからないことがメリットとして言えます。

  1. 質問2

FPGAでの設計では論理回路などは紙に書いたり、設計図を作るのでしょうか?
高位合成などがありますが、常に高位合成から得られるハードウェアプログラムは適切とは言えないので、時にはC言語プログラムからハードウェアプログラムを考えて設計したりするのでしょうか?

~~0. 質問3
最後に迷っていることがあります。将来FPGAで画像処理と機械学習を用いた仕事かCPUやGPUを用いて画像処理と機械学習を行う仕事につきたいのですがどちらにしたらよいかだいぶ悩んでおります。
~~

編集
質問4 
FPGAなどのハードウェア設計では組めない回路やプログラムはどのようなものがありますか?
例えばソフトでは開発できるがハードでは開発できないものはどんなものがあるでしょうか?
複雑な演算回路などはハードではなくソフトでの方が組みやすいなど。

set0gut1👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ozwk

2018/05/22 23:17

「CPUやGPUで処理できないことを処理させるためでしょうか?」と「 もしそうならばCPUやGPUを使う必要はないのですが」に繋がりが見えないんですが。
YomogiKOBO

2018/05/24 15:10

「FPGAは~と言えます。」の下りで、なんの情報を根拠にしているのか謎すぎます。回答者からの情報でしょうか。。
YomogiKOBO

2018/05/24 15:15

質問2に関して、論理回路、電子回路は最近じゃツールがありますよ。Visioでも作ろうと思えばつくれるし。
carnage0216

2018/05/25 12:53

どうもありがとうございます。
carnage0216

2018/05/31 06:23

どうもありがとうございます。
guest

回答3

0

またおまえか案件ですか。

そりゃCPUでできないことをさせるためにFPGAを使うってだけの話ですな。
設計のときは回路図書いたりすることもあるけど、たいがいいきなりソース書き始めますな。
C言語なんか使いません。ちゃんとHDL言語覚えましょうよ。

投稿2018/05/22 22:55

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

質問1、いろいろやってたら結果的にFPGAエンジニアになっていた、というのが近いかもです。
CPU,GPU,FPGA、当然それぞれ得意不得意な分野があります。設計目標を実現するためにリーズナブルな手段を選んだ結果FPGAが必須な分野もあります。一般的に有名ではない特殊な用途もあります。

質問2、
紙には書きません。頭のなかに浮かんだものをコードに落とすだけです。ちなみにいうと、高位合成の結果が適切ではないとは思いません。ちゃんと理解して使えば、非常に便利なものです。

質問4、
ソフトがハードの上で動く以上、論理的にはハードで書けないものは無いと思います。ただし、抽象度が高いものは現実的な時間内で実装が難しいものは多々あると思います。

投稿2018/07/20 16:01

yutakau8255

総合スコア99

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

■質問1

  • なぜFPGAエンジニアになろうと思ったのか

趣味としてデジタル回路設計をやりたかったからです。
ASICは個人では無理です。また、ユニバーサル基板にロジックICを並べるのは時間も費用も大変です。
FPGAはデジタル回路をソフト的に扱える点が良いなと思いました。
就職という点では、技術者も少ないので貴重がられるといいなと思いました。
ソフト・ハード両方の知識が必要になりとても楽しいです。

  • CPUやGPUを使わずにFPGAを使っている理由

CPU、GPUではスペックを満たすことが出来ないからです。
例えば、PCI Expressを10個並べてそれぞれと通信をするとかです。
大抵の案件ではコストの面でCPU、GPUが有利です。とても悲しいです。

■質問2
FPGAだからといって特別に変わることはありません。
普通にソフト設計やアナログ回路設計などをやるのと手順は変わらないです。技術的な内容だけが違います。

時にはC言語プログラムからハードウェアプログラムを考えて設計したりするのでしょうか?

ソフトウェアでも、時にはアセンブラを考慮して設計することもあるでしょう。同じです。
シビアな部分や、実現性に関わるところはしっかり考えます。
それほど性能を求められていない所はあまり深く考えません。必要なだけきちんと手抜きを行います。

■質問3
画像処理や機械学習をやりたい場合は、FPGA設計者をチョイスするべきではありません。
FPGAはあくまで実現する手段です。画像処理や機械学習に対する知識が求められるわけではないのです。
それは、画像処理屋であったり機械学習屋であったりして、FPGA屋ではないのです。

アルゴリズムや構成を考えたら、FPGA屋なり組み込み屋なりに外部委託してください。
数ヵ月後に自分が思い描いたものが動く実機が納入されることでしょう。
おそらくあなたがやりたいと思っているのは、委託先に投げる為の仕様を検討することだったり、納入された実機を使ってアルゴリズムをつめたりすることだと思います。

■質問4
○ハードで組めないもの
例えばアナログ回路です。
FPGA自身が無線通信をすることはできない、といえば伝わりますでしょうか。
もちろん無線通信モジュールがデジタルI/Fを持っていれば、デジタル回路で制御できます。

○ソフトでは開発できるがハードでは開発できないもの
可能不可能、というより得手不得手はあります。
CPUもハードですから、不可能なことはないといえるでしょう。
(ここでは現実的かどうかは目をつぶります)

ハードは開発コストがソフトに比べて大きいです。
従って、頻繁に変更があるもの、あやふやなものは苦手です。
変更があるとモノを作り直さなくてはいけないからです。

FPGAはソフト的な面もありますが、ソフトに比べてコンパイルにものすごく時間が掛ります。
LEDを点滅させるだけでも数分、ちゃんとしたものを作ると十数時間掛ることも珍しくありません。
1行いじっただけでも実機でうごかすならコンパイルは必要ですので、とても開発コストが掛ります。

投稿2018/08/28 08:09

編集2018/08/28 08:16
morittyo

総合スコア14

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問