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
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
Current States of Java Web Frameworks at JCConf 2025
kishida
0
910
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
24
6.5k
LLMベースAIの基本 / basics of LLM based AI
kishida
13
3.3k
Java 24まとめ / Java 24 summary
kishida
3
780
AI時代のプログラミング教育 / programming education in ai era
kishida
25
26k
Java Webフレームワークの現状 / java web framework at burikaigi
kishida
10
2.6k
AI時代に求められるプログラマの能力 / ability of programmer in AI era
kishida
19
13k
Java 23の概要とJava Web Frameworkの現状 / Java 23 and Java web framework
kishida
2
550
Java Webフレームワークの現状 / java web framework
kishida
10
11k
Other Decks in Technology
See All in Technology
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
230
生成AIで「お客様の声」を ストーリーに変える 新潮流「Generative ETL」
ishikawa_satoru
1
370
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
690
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
160
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
140
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
340
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
230
Git in Team
kawaguti
PRO
3
330
『バイトル』CTOが語る! AIネイティブ世代と切り拓くモノづくり組織
dip_tech
PRO
1
110
20201008_ファインディ_品質意識を育てる役目は人かAIか___2_.pdf
findy_eventslides
2
590
三菱電機・ソニーグループ共同の「Agile Japan企業内サテライト」_2025
sony
0
130
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
4
450
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
A designer walks into a library…
pauljervisheath
209
24k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Six Lessons from altMBA
skipperchong
28
4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
The Language of Interfaces
destraynor
162
25k
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やりましょう