SlideShare a Scribd company logo
1 of 31
Download to read offline
超入門
===特定顧客向 研修資料 抜粋===
今岡工学事務所
今岡 通博
【プロフィール】 愛媛県松山市在住。今岡工学事務所代表。
主に組込系のハード及びソフトの開発。最近はFPGAを用いたカ
スタムチップの開発を請負う。
本業のかたわら、技術評論社のソフトウエアデザイン及び電波
新聞社の電子工作マガジン、日経Linux等に寄稿。
その他各種オンライメディアに記事を提供。
今まで日本Androidの会のイベントや雑誌を通してAndroidデバ
イスで動作する音声認識ロボット「ドロンくん」や放射線自動
観測BOT「Imaocande」などを発表。
@imaoca
imaoca@gmail.com
Agenda
FPGA Overview
FPGA Design Flow
HDL(Hardware Definiton Language)
IP(intelligent property)
FPGA Design environment
Demonstrations (altera CPLD MAX II)
独⾃仕様の集積回路を作るには
     従来はASICで対応
特定用途 独自回路
ASIC(application specific integrated circuit)
特定 用途向 複数機能 回路 1
集積回路 総称
発注
⼩ロットまたは試作機を作るには
     FPGAだと
特定用途 独自回路
FPGA(field-programmable gate array)
製造後 購入者 設計者 構成 設定 集
積回路 広義 PLD
一種 現場
可能
呼
評価
ASSP ASIC FPGA 比較
CPU+
SW
開発 低 同一 回路 比較 低速 逐次処理
ASSP(Application Specific Standard
Product)
FPGA design flow
Schematic Entry
HDL(Hardware Definiton Language)
-VHDL
-VerilogHDL
FPGA Design Entry
Schematic Entry
VHDL
VHDL[1] 回路設計用 記述言語 一種 EDA分野 標
準 一 主 論理回路 設計 特 FPGA ASIC 設計 使 規格 存在
IEEE 1076-2008
http://ja.wikipedia.org/wiki/VHDL
Verilog
http://ja.wikipedia.org/wiki/Verilog#Verilog_200
5
Verilog-HDL Code example
module add(input A,B,Cin,output S,Cout );
assign t = A^B;
assign S = t^Cin;
assign Cout = (t&Cin)|(A&B);
endmodule
add0A0
B0
S0
add1A1
B1
S1
add2A2
B2
S2
add3A3
B3
S3
Cout
Cout
Cout
module add4(input A0,A1,A2,A3,B0,B1,B2,B4,
output S0,S1,S2,S3,C3);
add add0(A0,B0,0,S0,C0);
add add1(A1,B1,C0,S1,C1);
add add2(A2,A2,C1,S2,C2);
add add3(A3,A3,C2,S3,C3);
endmodule
4bit full adder
module add(input A,B,Cin,output S,Cout );
assign t = A^B;
assign S = t^Cin;
assign Cout = (t&Cin)|(A&B);
endmodule
module add4(input [3:0]A,input [3:0]B,
output[4:0]S);
assign S = A+B;
endmodule
FPGA vs CPLD
FPGA CPLD
規模 中 大規模 小 中規模
記憶 揮発 不揮発
消費電力 多 少
速度 高速 中速
用途 処理系
CPU Ethernet Cntroller
内包可能
小規模 制御系
グレープフルーツの起電⼒でLCDを駆動!!
ザイリンクス、超低消費電⼒を実現したCPLDのデモを実施
http://ascii.jp/elem/000/000/308/308293
/
(株) 2000年1月24日
発表 CPLD(Complex
Programmable Logic
Device)“CoolRunner”
XPLA3(eXtended Programmable
Logic Array) 説明会
実施
Ulrich Radig have developed simple CPLD
VGA graphics board which is able to
generate 256×256 64 color graphics on
standard 640×480 with 60 Hz monitor. He
used a CPLD XC9572PC84 from Xilink
which is clocked with 32mHz crystal.
http://www.embedds.com/cpld-8-bit-vga-
graphics/
CPLD Examples by
Embedded projects from
around the web
http://www.64hdd.com/projects/hardware/c64-
cpld.html
Commodore™ C64 Projects
1 MSX
1chipMSX(ワンチップ エムエスエックス)とは、MSX2規格をFPGA(Field
Programmable Gate Array)上で再現したハードウェアエミュレータである。
出荷時の設定ではMSX2相当の回路になっており、MSXパソコンのように使える。
http://www.youtube.com/watch?v=Gx-
QNfjYg5Q
FPGAだからこそ実を結んだムーブメント
【事例】1チップMSXは実は世界の⼼をつかんでいた
Maker movement
IP(intelligent property)
・開発効率化のため機能単位にライブラリー化されるようになる。
1990年代以降、LSIの開発⼿法としてハードウェア記述⾔語による開発が盛んになり、開
発効率の向上が求められた。 そこで、既存開発製品の回路を、機能ブロック単位で再利
⽤可能な形にまとめ、他の製品でも利⽤可な部分はそれを流⽤する⽅法が⽤いられた。
・このライブラリーが再販されるビジネスモデルが構築される。
この再利⽤可能な機能ブロックは、その開発者だけでなく、他の開発者や他の会社との間
でもやり取りが⾏われるようになり、 新しいビジネスモデルが発達した。 IPコアベンダ
は、LSIを開発するためのIPコアを提供し、LSI開発側はIPコアベンダに使⽤料を⽀払う契
約を結ぶのが⼀般的である。
IPコア(あいぴーコア、英: intellectual property core)とは、LSIを構成するための部分
的な回路情報で、特に機能単位でまとめられているものを指す。単にIPと呼ぶ場合もあ
る。ASIC開発やプログラマブルロジックデバイスを⽤いた開発の際に利⽤する。
FPGA Venderが提供する標準IP
デジタル回路
 CPU(ソフトプロセッサ)、DSP
 CPU周辺回路 (タイマー、DMA、割り込み制御、他)
 メモリ (フラッシュメモリ、SRAM、DRAM、他)
 通信I/F (UART、SPI、I²C、USB、イーサネット、ATM、JTAG、他)
 バスI/F (PCI、PCI Express、AHB、ハードディスクドライブ I/F、メモ
リカードI/F、他)
基本算術演算 (浮動⼩数点演算、FFT、他)
暗号化/復号 (AES、DES、RSA、RC5、SHA1、MD5、SSL、他)
画像処理 (静⽌画CODEC(JPEG、他)、動画CODEC (MPEG)、画像
認識、他)
⾳声処理 (⾳声CODEC(MP3、AAC、μ-law、A-law)、⾳声合成、他)
Altera Quartus II MegaWizard Plug-In Manager
http://www.altera.co.jp/products/ip/ipm-index.html
1 IBM and others - PowerPC 12332
2 Sun Microsystems and others - OpenSPARC 4441
3 Xilinx 850
4 ARM 740
5 Rambus 403
6 TSMC 399
7 Altera 389
8 Cadence Design Systems 331
9 On2 Technologies 286
10 MIPS Technologies - MIPS 220
http://top-
topics.thefullwiki.org/Top_semiconductor_IP_core_vendors:_All
Top semiconductor IP core vendors:
All Rank Topic Wikipedia views Oct 21 2010
FPGA Design Environment
Design Tool
Altera Quartus2 Web Edition
https://www.altera.com/download/software/quartus-ii-we/ja
ProgrammerUSB Blaster
http://www.hdl.co.jp/ACC/TB1/index.htm
l
Demonstrations (altera CPLD MAX II)
http://optimize.ath.cx/max2/index.htm
l
module rc_counter(output OUT1,output OUT2);
reg [19:0] counter;
assign OUT1 = counter[19];
assign OUT2 = osc;
assign oscen=1;
rc_osc rc_osc(oscen,osc); // use IP core
always @(posedge osc) counter[19:0] = counter[19:0]
+ 1;
endmodule
Supplementation
Debug or Simulation
How to use logic Analyzer
Verilog porgramming
Consept of State machine
Trend
Xilinx Zynq
Altera Arria V SoC FPGA, Cyclone V SoC FPGA
Thank you.
Do you have any questions?

More Related Content

What's hot

Fuji sakuraでmbedを!
Fuji sakuraでmbedを!Fuji sakuraでmbedを!
Fuji sakuraでmbedを!
Tetsuya Noguchi
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
Hideki Takase
 

What's hot (20)

GDC報告会2010VA
GDC報告会2010VAGDC報告会2010VA
GDC報告会2010VA
 
キーボードアプリとSketchのススメ
キーボードアプリとSketchのススメキーボードアプリとSketchのススメ
キーボードアプリとSketchのススメ
 
Fuji sakuraでmbedを!
Fuji sakuraでmbedを!Fuji sakuraでmbedを!
Fuji sakuraでmbedを!
 
第一回 AI Code Review
第一回 AI Code Review第一回 AI Code Review
第一回 AI Code Review
 
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
 
Swift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウムSwift 2 (& lldb) シンポジウム
Swift 2 (& lldb) シンポジウム
 
Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介
 
Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021Unity道場 ロボティクス 秋のLT祭り 2021
Unity道場 ロボティクス 秋のLT祭り 2021
 
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
建設シミュレータOCSの開発 / OCS・VTC on Unity におけるROS対応機能について
 
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
 
ROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉するROSのロボットモデルでバーチャルロボット受肉する
ROSのロボットモデルでバーチャルロボット受肉する
 
PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)PYNQ単体でUIを表示してみる(PYNQまつり)
PYNQ単体でUIを表示してみる(PYNQまつり)
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発UIbuilderを使ったフロントエンド開発
UIbuilderを使ったフロントエンド開発
 
3 d printer_ivent
3 d printer_ivent3 d printer_ivent
3 d printer_ivent
 
Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談Swiftで多層型で戻り値を返すことの是非と雑談
Swiftで多層型で戻り値を返すことの是非と雑談
 
Deep learning demonstration using fpga
Deep learning demonstration using fpgaDeep learning demonstration using fpga
Deep learning demonstration using fpga
 
Yidev201406.pub
Yidev201406.pubYidev201406.pub
Yidev201406.pub
 
Node-REDの開発に参加しよう
Node-REDの開発に参加しようNode-REDの開発に参加しよう
Node-REDの開発に参加しよう
 
音声認識におけるサーバサイド開発_Shuta Ichimura
音声認識におけるサーバサイド開発_Shuta Ichimura音声認識におけるサーバサイド開発_Shuta Ichimura
音声認識におけるサーバサイド開発_Shuta Ichimura
 

Similar to Introduction of FPGA

45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
Hirotaka Kawata
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
Kenichi Yoshida
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
Masaki Muranaka
 

Similar to Introduction of FPGA (20)

Imaocande LT
Imaocande LTImaocande LT
Imaocande LT
 
ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
コードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めようコードを書かずにLチカ。から始めよう
コードを書かずにLチカ。から始めよう
 
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
SORACOM UG 広島 #2 | SORACOM の紹介から SORACOM Conference "Discovery" 2018 SORACOM ...
 
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
第162回情報処理学会ハイパフォーマンスコンピューティング研究発表会
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
サバフェス2016まとめLT
サバフェス2016まとめLTサバフェス2016まとめLT
サバフェス2016まとめLT
 
FPGAスタートアップ資料
FPGAスタートアップ資料FPGAスタートアップ資料
FPGAスタートアップ資料
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
 
seccamp2012 チューター発表
seccamp2012 チューター発表seccamp2012 チューター発表
seccamp2012 チューター発表
 
2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF2014 0228 OSC-Spring Tokyo NETMF
2014 0228 OSC-Spring Tokyo NETMF
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
 
OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料OSC 2012 Hokkaido でのプレゼン資料
OSC 2012 Hokkaido でのプレゼン資料
 
ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118ET2016 Smart Japan Alliance Llilum 161118
ET2016 Smart Japan Alliance Llilum 161118
 
MaxScaleを触ってみた
MaxScaleを触ってみたMaxScaleを触ってみた
MaxScaleを触ってみた
 
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
 
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータPyCoRAMを用いたグラフ処理FPGAアクセラレータ
PyCoRAMを用いたグラフ処理FPGAアクセラレータ
 
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
SORACOM UG 信州 #5 | SORACOM Conference "Discovery" 2018 SORACOM UG Explorer それ...
 
Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料Cq tse-fm3セミナー資料
Cq tse-fm3セミナー資料
 

More from Imaoka Micihihiro

More from Imaoka Micihihiro (20)

Parallel Empire and The Serial Empire
Parallel Empire and The Serial EmpireParallel Empire and The Serial Empire
Parallel Empire and The Serial Empire
 
パラレル帝国とシリアル皇国(the Parallel Empire and the Serial Empire.)
パラレル帝国とシリアル皇国(the Parallel Empire and the Serial Empire.)パラレル帝国とシリアル皇国(the Parallel Empire and the Serial Empire.)
パラレル帝国とシリアル皇国(the Parallel Empire and the Serial Empire.)
 
Cybozu lt2017
Cybozu lt2017Cybozu lt2017
Cybozu lt2017
 
la notificacion de la temperature remote
la notificacion de la temperature remotela notificacion de la temperature remote
la notificacion de la temperature remote
 
遠隔地の温度をスマホで表示
遠隔地の温度をスマホで表示遠隔地の温度をスマホで表示
遠隔地の温度をスマホで表示
 
Observation of the temperature of remote
Observation of the temperature of remoteObservation of the temperature of remote
Observation of the temperature of remote
 
Cómo controlar el LED remoto
Cómo controlar el LED remotoCómo controlar el LED remoto
Cómo controlar el LED remoto
 
超お手軽!スマホでLEDを遠隔操作
超お手軽!スマホでLEDを遠隔操作超お手軽!スマホでLEDを遠隔操作
超お手軽!スマホでLEDを遠隔操作
 
How to control remote LED at the easiest and cheapest with Azure
How to control remote LED at the easiest and cheapest with AzureHow to control remote LED at the easiest and cheapest with Azure
How to control remote LED at the easiest and cheapest with Azure
 
Security camp cpu
Security camp cpuSecurity camp cpu
Security camp cpu
 
Lチカからはじめるfpga入門
Lチカからはじめるfpga入門Lチカからはじめるfpga入門
Lチカからはじめるfpga入門
 
Attempt of implementation of neural network model on FPGA
Attempt of implementation of neural network model on FPGAAttempt of implementation of neural network model on FPGA
Attempt of implementation of neural network model on FPGA
 
NN系学習済みモデルをFPGAに実装してみた
NN系学習済みモデルをFPGAに実装してみたNN系学習済みモデルをFPGAに実装してみた
NN系学習済みモデルをFPGAに実装してみた
 
第9回セキュリティみかんlt
第9回セキュリティみかんlt第9回セキュリティみかんlt
第9回セキュリティみかんlt
 
1st fpga startup seminar keynote
1st fpga startup seminar keynote1st fpga startup seminar keynote
1st fpga startup seminar keynote
 
BigうんちDATA インタラクティブトイレの考察と実践
BigうんちDATA インタラクティブトイレの考察と実践BigうんちDATA インタラクティブトイレの考察と実践
BigうんちDATA インタラクティブトイレの考察と実践
 
Gatito
GatitoGatito
Gatito
 
Sakura20141017a
Sakura20141017aSakura20141017a
Sakura20141017a
 
Raspberry Pi Rover + Scratch = IMAOCACH
Raspberry Pi Rover + Scratch = IMAOCACHRaspberry Pi Rover + Scratch = IMAOCACH
Raspberry Pi Rover + Scratch = IMAOCACH
 
Physical computing Scratch 2.0 & Android
Physical computing  Scratch 2.0 & AndroidPhysical computing  Scratch 2.0 & Android
Physical computing Scratch 2.0 & Android
 

Introduction of FPGA