Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
FPGA入門 / Introduction of FPGA 2019
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Naoki Kishida
July 10, 2019
Technology
0
1.2k
FPGA入門 / Introduction of FPGA 2019
2019年7月10日に「夏のAI EdgeハードウェアMeetup in 福岡」で発表した資料です
Naoki Kishida
July 10, 2019
Tweet
Share
More Decks by Naoki Kishida
See All by Naoki Kishida
ローカルLLM基礎知識 / local LLM basics 2025
kishida
30
16k
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
5
1.1k
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
13
6.5k
海外登壇の心構え - コワクナイヨ - / how to prepare for a presentation abroad
kishida
2
150
Current States of Java Web Frameworks at JCConf 2025
kishida
0
1.7k
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
26
7.3k
LLMベースAIの基本 / basics of LLM based AI
kishida
13
3.6k
Java 24まとめ / Java 24 summary
kishida
3
840
AI時代のプログラミング教育 / programming education in ai era
kishida
25
27k
Other Decks in Technology
See All in Technology
アーキテクチャモダナイゼーションを実現する組織
satohjohn
1
1.1k
今のWordPress の制作手法ってなにがあんねん?(改) / What’s the Deal with WordPress Development These Days?
tbshiki
0
500
"作る"から"使われる"へ:Backstage 活用の現在地
sbtechnight
0
180
Google系サービスで文字起こしから勝手にカレンダーを埋めるエージェントを作った話
risatube
0
190
Agent ServerはWeb Serverではない。ADKで考えるAgentOps
akiratameto
0
120
Kubernetesにおける推論基盤
ry
1
410
銀行の内製開発にて2つのプロダクトを1つのチームでスクラムしてみてる話
koba1210
1
140
品質を経営にどう語るか #jassttokyo / Communicating the Strategic Value of Quality to Executive Leadership
kyonmm
PRO
2
480
【Oracle Cloud ウェビナー】【入門編】はじめてのOracle AI Data Platform - AIのためのデータ準備&自社用AIエージェントをワンストップで実現
oracle4engineer
PRO
1
150
Everything Claude Code を眺める
oikon48
11
7.2k
ガバメントクラウドにおけるAWSの長期継続割引について
takeda_h
2
5.2k
めちゃくちゃ開発するQAエンジニアになって感じたメリットとこれからの課題感
ryuhei0000yamamoto
0
120
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
Writing Fast Ruby
sferik
630
63k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
350
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
First, design no harm
axbom
PRO
2
1.1k
[SF Ruby Conf 2025] Rails X
palkan
2
830
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
390
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
440
Google's AI Overviews - The New Search
badams
0
930
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Embracing the Ebb and Flow
colly
88
5k
Docker and Python
trallard
47
3.8k
Transcript
FPGA入門 夏のAI EdgeハードウェアMeetup in 福岡 2019年7月10日 きしだなおき
FPGAとは • Field Programmable Gate Array – Field 現場で –
Programmable プログラム可能な – Gate 論理素子が – Array いっぱい並んだやつ • 現場でプログラムできる論理回路
FPGAの仕組み
回路の合成 • 例:3入力でORとANDの組み合わせ
回路にはいろいろある • XORやNOTなどいろいろ組み合わせると大変 • 全部用意しようとすると使わない素子が多く なる • 回路に無駄
回路の入出力の組み合わせ 入力 出力 000 0 100 0 010 0 110
1 001 1 101 1 011 1 111 1
LUT(LookUp Table) • 入出力をあらかじめメモリにもっておけばい い • 製品としては4入力LUTや6入力LUT 入力 出力 000
0 100 0 010 0 110 1 001 1 101 1 011 1 111 1
論理ブロック • Logical Element(LE) Intel(Altera) • Logical Cell(LC) Xilinx
配線 • 論理ブロックが格子状に配置 • 周囲に配線 • アイランドスタイル
乗算回路とメモリ • 乗算やメモリを論理ブロックの組み合わせで 実現すると効率がわるい • 乗算回路やメモリ(SRAM)がのってる
FPGAは基本的にはメモリ回路 • LUTの基本はメモリ • 配線スイッチもメモリ • 配線データを書き込むだけ
FPGAとCPU • CPUとは – メモリから命令をよびだして、命令にしたがった 回路で処理を行う – ノイマン型アーキテクチャ
FPGAなら • 命令を読み込む必要なく、回路をやりたい処 理のとおり並べることができる • 非ノイマン型アーキテクチャ
FPGAの利点 • 命令を読み込む必要がない – 処理を行うまでのタイムラグが少ない • 低レイテンシ – 命令解析のための回路が不要 •
余分な回路がないので低消費電力 • 細かな並列化
FPGAでの開発 • 回路記述 – VHDLやVerilogHDLなど • 論理合成 – HDLを論理回路に変換 •
配置配線 – 論理回路を実際の回路に配置 • コンフィギュレーション – FPGAに回路情報を設定
ソフトウェアとの違い • 配線は記述順序は関係ない • 状態はレジスタで保持してクロックなど契機 に変更
HDLの問題点 • 書くのが面倒 • 書くのが面倒 • 論理合成に時間がかかる – 数時間かかったりする •
デバッグが面倒 • デバッグが面倒 • テストも面倒 • テストも面倒 • いろいろ面倒
IPを使う • Intellectual Property • ようするにライブラリ • だれかが作って検証してる
SoC • System on Chip • CPU回路のせちゃえ – ソフトコアCPU •
物理CPUのせちゃえ – FPGAの微細化 – チップに余裕 – 再構成可能回路が大量にあってもしかたない – そうだARMを乗せよう
高位合成 • CとかJavaとかで書いてHDLに変換 • アルゴリズムの検証がソフトウェアとして行 える – デバッガなどが使える – コンパイルが速い
• OpenCL – GPUやCPUでの並列にも対応
FPGAのつかいどころ • 画像・映像処理 – Mac ProにはFPGAが載っていて動画エンコーディ ングなどに使える • ネットワーク処理 •
「人工知能」 • IoT
人工知能 • 深層ニューラルネットワーク • たくさんの掛け算・足し算を要素ごとに行う
IoT • たくさんのセンサーから常時データが送られ る • ほとんどのデータは無駄 • 人工知能(深層ニューラルネットワーク)に学習 させて、必要なデータだけを送信 •
低消費電力
実際に試すには? • FPGA開発ボード – DE0-CVやDE0-nano(Intel) • WindowsかLinux • Macの場合はiverilogで信号の確認だけ・・・ –
VirtualBoxなどを使ってLinuxを動かせばOK
FPGAやりましょう