SlideShare a Scribd company logo
FPGAプログラミング
イントロダクション
福田 祐樹
(TWITTER -> @Y_F_ACOUSTICS)
目次
煩雑になったので割愛
本発表の概要
・FPGAの必要性
・FPGAを用いた論理回路の開発方法
・他の論理回路開発に比べたFPGA利用の有用性
自己紹介
氏名:福田 祐樹(フクダ ユウキ)
学歴:広島市立大学大学院 修士(情報工学)
年齢:23歳
現在:社会人一年目.
東北地方最南端に在住.
ハードウェア開発を勉強中.
「回路」という言葉を聞いて・・・
FPGA(Field Programmable Gate Array)
開発者が即座に論理回路を再構築可能なロジックIC
※「即座に」→あくまでハードウェアとして
(ASIC: Application Specified Integrated Circuitは不可能)
主なベンダー:Xilinx, Intel(ALTERA), etc…
高度な開発をしない限りは無料で開発環境を導入可能
CPUとの違い
CPU
・高速なクロック(GHz単位)
・並列処理が苦手
・スピード重視
・ビット長固定(メモリコスト大)
FPGA
・低速なクロック(数十~数百MHz)
・並列処理が得意
・動作速度も合わせて設計可能
・可変ビット長(メモリコスト小)
なぜFPGAか?
・「ヘテロジニアス・コンピューティング」の注目度高
(Intel Xeon Gold 6138Pは個人的に衝撃的なニュース)
・複数の論理ゲート(74HCシリーズとか)を組み合わせる開発やASICは開
発
の長期化,高コスト化が否めない
・FPGAは組み込み前の全ての設計をコンピュータで完結可能
→故に低コスト化が可能
・リバースエンジニアリング不可能→知的財産の保護
FPGAのシステム開発方法
1.仕様決定
2.設計(ブロック図,HDL,プログラミング言語)
3.論理合成
4.テスト
5.組み込み
高位合成と呼ぶ(割愛)
HDL(Hardware Description Language)
FPGAなどのPLD(Plogrammable Logic Device)の動作を
決定するための言語(IEEEにより規格化)
・ VHDL(国防総省開発.型が厳密)
・ Verilog HDL(Cadence Design Systems開発.型がない)
・ SystemVerilog(Verilogの機能拡張版.)
近年はこれらを組み合わせたシステム開発が可能
VHDL
Verilog
SystemVerilo
g
仕様決定
・論理の入力・出力を決定(真理値表)
・組み合わせ回路?順序回路?
・場合によってはカルノー図(不要な場合がほとんど)
設計・論理合成
真理値表やカルノー図をもとに言語で動作を記述→論理回路を構成(論理合成)
冗長な動作を言語で表現可能
Verilogを用いた論理合成の例
※「ネットリスト」と呼ぶ
テスト
構成した回路が正しく動作するかをテスト用コード(テストベンチ)
を記述してシミュレータで確認→回路動作の確認もコンピュータで完結
FPGAの空きロジックを活用して
実際の信号の確認も可能
(ELA: Embedded Logic Analyzer)
組み込み
ここでやっとFPGA本体の出番
開発フローの殆どが
開発環境内で完結!
まとめ
・FPGAの注目度大
・ソフトウェアを書くノリで論理回路を構築できる!(なんと素敵!)
・オシロスコープなどの工具をほとんど必要としないので初期投資小
・ArduinoやRaspberry Piとの連携もしやすくなってるので興味ある人はぜひ
GPIO 20ピン
Arduino I/O
予告
Verilog HDLハンズオンをします(時期未定)
前提知識: 基本的な論理ゲート,組み合わせ回路,順序回路
推奨知識: C言語(記法が類似している),電子回路
準備するもの:WindowsあるいはLinux OSのPC(Mac非対応.いかがなものか)

More Related Content

PPT
FPGA
PPTX
動き検出勉強会リメイク。過去の発表のリメイク版です。動き検出のアルゴリズムとOpencvのオプションについてまとめました
PDF
Nakahara_ACRi_panel-discussion_25_march2021
PPTX
FPGAって、何?
PPTX
FPGAで遊んでみた
PDF
Offloading BPF Implementation to FPGA-NIC したいねって話
PPTX
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
PDF
Bthesis - A High-speed and Portable FPGA Accelerator
FPGA
動き検出勉強会リメイク。過去の発表のリメイク版です。動き検出のアルゴリズムとOpencvのオプションについてまとめました
Nakahara_ACRi_panel-discussion_25_march2021
FPGAって、何?
FPGAで遊んでみた
Offloading BPF Implementation to FPGA-NIC したいねって話
ZytleBot:ROS対応自動走行ロボットへのFPGA活用を加速化する統合開発プラットフォーム
Bthesis - A High-speed and Portable FPGA Accelerator

Similar to Fpga programming introduction (20)

PPTX
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
PPTX
総合技術特別講義講演資料2017
PPTX
Rakuten20181027
PDF
Fuji sakuraでmbedを!
PDF
Sw技術者に送るfpga入門
PDF
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
PDF
FPGA Community
PPTX
Hdmits fpgax6-v0
PPTX
Myoshimi extreme
PDF
18th ACRi Webinar : Presentation Slide ; Fukuda-san, ChipTip Technology
PDF
Ac ri lt_fixstars_20210720
PPTX
M5StackにFPGAをつないでみた
PPTX
Kyoto dev caffe
PDF
ACRiウェビナー_ChipTip Technology様ご講演資料
PDF
ソフトウェア技術者はFPGAをどのように使うか
PDF
20220525_kobayashi.pdf
PDF
FPGA Traxコンテストについて
PDF
PDF
NN系学習済みモデルをFPGAに実装してみた
PDF
Gpu vs fpga
Microsemi FPGA はいいぞ,FPGAの紹介とおさそい
総合技術特別講義講演資料2017
Rakuten20181027
Fuji sakuraでmbedを!
Sw技術者に送るfpga入門
コンピュータアーキテクチャ研究の最新動向〜ISCA2015参加報告〜 @FPGAエクストリーム・コンピューティング 第7回 (#fpgax #7)
FPGA Community
Hdmits fpgax6-v0
Myoshimi extreme
18th ACRi Webinar : Presentation Slide ; Fukuda-san, ChipTip Technology
Ac ri lt_fixstars_20210720
M5StackにFPGAをつないでみた
Kyoto dev caffe
ACRiウェビナー_ChipTip Technology様ご講演資料
ソフトウェア技術者はFPGAをどのように使うか
20220525_kobayashi.pdf
FPGA Traxコンテストについて
NN系学習済みモデルをFPGAに実装してみた
Gpu vs fpga
Ad

Fpga programming introduction