SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
FPGAを用いたシリアル入力型
VGA映像出力装置の設計と実装
WIP
ARCH B2 miyukki
PARENT macchan
きっかけ
• 映像、音響に愛がある
• FPGAを触ってみたい
• FPGAを触って高価な映像、音響機器類の実装を
作ってみたい
• オープンソースで公開する
• FPGAの実装スキルを身に着けたい
実装について
• RS-232からデータを受け取り、レジスタに記憶す
るシリアルモジュールとレジスタのデータを映像と
して出力するVGAモジュールをFPGAに実装し、実
際に動作させた
• ソースコードはGitHubで公開している
https://github.com/miyukki/spartan-3an-vga
構成図
FPGA
評価ボード
モニター
PCなど
RS-232 VGA
10101…
…
環境
• FPGA
• Spartan 3AN 評価ボード
• 開発環境
• Ubuntu 14.04
• ISE WebPACK 20131013
Spartan 3AN 評価ボード
Serial Module
• RS-232インターフェースを用いてRS-232規格の
通信をするモジュールを実装
• 入力をレジスタに記録していく
• RS-232のではいくつかのボーレート(通信速度)を
指定することができるが、精度の観点から9600bps
を指定した
• 50MHzの発振子から9600Hzを生成してモジュール
のクロックとした
RS-232仕様1
• EIA(現、TIA)が「ANSI/TIA/EIA-232-F-1997」、
日本では「JIS X 5101」として規格が定められて
いるが、製品によって様々な信号が出力されている
• 仕様ではデータビットは8bit、スタートビットとス
トップビットがそれぞれ1bit、データビットにパリ
ティビットを含む場合がある
• 1本の信号でデータをやりとりするが、クロックの
同期をデータとともに行う調歩同期式のため、お互
いのボーレートを同期する必要がある
RS-232仕様2
• また、ビットの1は-5V以下であり、0は5V以上であ
るため、注意が必要
• 評価ボードの場合は電圧変換器を含んでいるため、
実装時に考慮しなくてもよい
VGA Module
• D-Sub 15pinインターフェースを用いてVGA規格
の通信をするモジュールを実装
• レジスタの内容を表示し続ける
• ピクセル単位で25MHzのクロックが必要なため、
50MHzの発振子から25MHzを生成してモジュール
のクロックとした
• 1ピクセル25MHzだとフレーム単位で、
59.52Hz 59.94Hz=60FPS
VGA仕様1
• VGA信号における厳密な規格は制定されていない
• 民間でVESAなどが仕様を決めているが、製品によっ
て様々な信号が出力されている
• 最低限必要な信号はR,G,B,水平同期,垂直同期の5本
VGA仕様2
• ピクセルごとの色をアナログ値で出力する
• ちなみに評価ボードでは4bit出力をサポートしているた
め、2^4bit^3色=4096色の出力が可能
• 1ライン(ここでは640)の出力の後に、水平同期信
号をLOW※にする
• 1フレーム(ここでは640*480)の出力の後に、垂直
同期信号をLOW※にする
※機器によってはHIGH出力するものもあり
VGA仕様 図
Active Video
水平同期
96px
垂直同期
2px
640
480
800
525
1
0
16 48
10
33
Register
• ここで言うRegisterとはFF/Latch回路のこと
• FPGA内で生成できるFF/Latch回路の制限から、
64x48=3072bitの領域を確保した
• VGAの解像度は、640x480のため、10pxのブロッ
クを表示する
描画について
• シリアルからの入力をレジスタにunshiftをして記
録をしていき、レジスタの先頭から画面に描画する
1
10
110101
100000…
010000…
110101…
…
…
…
画面の描画レジスタシリアルの入力
※unshift方式であればシリアルからの入力が何番目の
 レジスタに代入するかを記録する必要が無いため
10px
回路仕様
VGA
FF/Latch
Register
CLOCK
50MHz
CLOCK GENERATOR
9600Hz
CLOCK GENERATOR
25MHz
[3:0] RED
[3:0] GREEN
[3:0] BLUE
HSYNC
VSYNC
[3071:0]
Serial
RS-232
TX
[3071:0]
CLK
RX
CLK
CLK
CLK
FF/Latch
Register
FF/Latch
Register
デモ1
画像の出力
• Rubyで画像を二値化し、0と1でシリアル出力する
プログラムを作った
00000000
01111110
01000000
01111110
00000010
01111110
00000000
…
デモ2
実装の問題点
• FPGA内にFF/Latch回路をこれ以上作ることが出来
ない
• 評価ボードのSDRAMなどを使うことによってより
多くのデータを記録することができ、多色で高解像
度のデータを持つことができる
• RS-232の通信速度が遅い/損失が出る
• ボーレートを速くすると損失が出るが、数倍のクロッ
クで動作させ、中間位置でデータを取得するべき
• パリティを用いて早くするか、Ethernetなどを用
いる
今後について
• VGAはもはや主流ではなくなってきているため、
今後は、SDI/HDMIなどで実装、開発をしたい
• HDMI入出力が可能なSpartan 6(Atlys)評価ボー
ドを借りることが出来たので、2入力の映像を合
成することを目標としたい
参考文献
• 全般
• FPGA始めました!
• http://kozos.jp/fpga/
• RS-232
• シリアル通信RS232Cについて
• http://homepage3.nifty.com/ken-create/hard/rs/rs232c.htm
• VGA
• Video Graphics Array
• http://en.wikipedia.org/wiki/Video_Graphics_Array
• Arduino Uno output to VGA monitor
• http://www.gammon.com.au/forum/?id=11608
質疑応答など
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Andere mochten auch

Introduction to Go programming
Introduction to Go programmingIntroduction to Go programming
Introduction to Go programmingExotel
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Yuji Otani
 
ソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかなおき きしだ
 
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolangFINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolangYoshiki Shibukawa
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座Yusei Yamanaka
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料Yuji Otani
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
LINE Ads PlatformのCTRを2倍にした開発手法
LINE Ads PlatformのCTRを2倍にした開発手法LINE Ads PlatformのCTRを2倍にした開発手法
LINE Ads PlatformのCTRを2倍にした開発手法LINE Corporation
 

Andere mochten auch (10)

Introduction to Go programming
Introduction to Go programmingIntroduction to Go programming
Introduction to Go programming
 
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例Go言語のフレームワークRevelの紹介とサービスにおける活用事例
Go言語のフレームワークRevelの紹介とサービスにおける活用事例
 
ソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うかソフトウェア技術者はFPGAをどのように使うか
ソフトウェア技術者はFPGAをどのように使うか
 
$30で始めるFPGA
$30で始めるFPGA$30で始めるFPGA
$30で始めるFPGA
 
FINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolangFINAL FANTASY Record Keeperを支えたGolang
FINAL FANTASY Record Keeperを支えたGolang
 
Database sql
Database sqlDatabase sql
Database sql
 
猫にはわからないGit講座
猫にはわからないGit講座猫にはわからないGit講座
猫にはわからないGit講座
 
【初心者向け】Go言語勉強会資料
 【初心者向け】Go言語勉強会資料 【初心者向け】Go言語勉強会資料
【初心者向け】Go言語勉強会資料
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
LINE Ads PlatformのCTRを2倍にした開発手法
LINE Ads PlatformのCTRを2倍にした開発手法LINE Ads PlatformのCTRを2倍にした開発手法
LINE Ads PlatformのCTRを2倍にした開発手法
 

Ähnlich wie FPGAを用いたシリアル入力型VGA映像出力装置の設計と実装

GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスGoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスToshiki Tsuboi
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...Takuma Usui
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料一路 川染
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみたHiroki Nakahara
 
FPGAスタートアップ資料
FPGAスタートアップ資料FPGAスタートアップ資料
FPGAスタートアップ資料marsee101
 
ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性Kenichiro MITSUDA
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようShinya Takamaeda-Y
 
仮想FPGAクラウド
仮想FPGAクラウド仮想FPGAクラウド
仮想FPGAクラウドEric Fukuda
 
FPGAアクセラレータの作り方
FPGAアクセラレータの作り方FPGAアクセラレータの作り方
FPGAアクセラレータの作り方Mr. Vengineer
 
IEICE technical report (RECONF), January 2015.
IEICE technical report (RECONF), January 2015.IEICE technical report (RECONF), January 2015.
IEICE technical report (RECONF), January 2015.Takuma Usui
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードKazuhiro Hara
 
FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器I_HaL
 
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoTakefumi MIYOSHI
 
FPGAでベンチマークしたときに苦労した話@fpgax#12
FPGAでベンチマークしたときに苦労した話@fpgax#12FPGAでベンチマークしたときに苦労した話@fpgax#12
FPGAでベンチマークしたときに苦労した話@fpgax#12Jun Ando
 

Ähnlich wie FPGAを用いたシリアル入力型VGA映像出力装置の設計と実装 (20)

GoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティスGoBGP活用によるSD-WANプラクティス
GoBGP活用によるSD-WANプラクティス
 
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
High-speed Sorting using Portable FPGA Accelerator (IPSJ 77th National Conven...
 
FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料FPGA+SoC+Linux実践勉強会資料
FPGA+SoC+Linux実践勉強会資料
 
なにわTech20161215
なにわTech20161215 なにわTech20161215
なにわTech20161215
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
 
FPGAスタートアップ資料
FPGAスタートアップ資料FPGAスタートアップ資料
FPGAスタートアップ資料
 
Riscv+fpga200606
Riscv+fpga200606Riscv+fpga200606
Riscv+fpga200606
 
ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性ソフトウェア技術者から見たFPGAの魅力と可能性
ソフトウェア技術者から見たFPGAの魅力と可能性
 
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみようPythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
Pythonによる高位設計フレームワークPyCoRAMでFPGAシステムを開発してみよう
 
仮想FPGAクラウド
仮想FPGAクラウド仮想FPGAクラウド
仮想FPGAクラウド
 
Pdp11 on-fpga
Pdp11 on-fpgaPdp11 on-fpga
Pdp11 on-fpga
 
FPGAアクセラレータの作り方
FPGAアクセラレータの作り方FPGAアクセラレータの作り方
FPGAアクセラレータの作り方
 
IEICE technical report (RECONF), January 2015.
IEICE technical report (RECONF), January 2015.IEICE technical report (RECONF), January 2015.
IEICE technical report (RECONF), January 2015.
 
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレードPlay framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
 
FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器FPGAによるHDMI to LVDS変換器
FPGAによるHDMI to LVDS変換器
 
ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
 
Myoshimi extreme
Myoshimi extremeMyoshimi extreme
Myoshimi extreme
 
Introduction of FPGA
Introduction of FPGAIntroduction of FPGA
Introduction of FPGA
 
FPGAでベンチマークしたときに苦労した話@fpgax#12
FPGAでベンチマークしたときに苦労した話@fpgax#12FPGAでベンチマークしたときに苦労した話@fpgax#12
FPGAでベンチマークしたときに苦労した話@fpgax#12
 
Ptt391
Ptt391Ptt391
Ptt391
 

Mehr von Yusei Yamanaka

インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版Yusei Yamanaka
 
130727ニコニコデータセットに扱われてみた
130727ニコニコデータセットに扱われてみた130727ニコニコデータセットに扱われてみた
130727ニコニコデータセットに扱われてみたYusei Yamanaka
 
20110805 hddssd research
20110805 hddssd research20110805 hddssd research
20110805 hddssd researchYusei Yamanaka
 
ライブストリーミング
ライブストリーミングライブストリーミング
ライブストリーミングYusei Yamanaka
 
開発費0円でニコニコ生放送を作ってみた
開発費0円でニコニコ生放送を作ってみた開発費0円でニコニコ生放送を作ってみた
開発費0円でニコニコ生放送を作ってみたYusei Yamanaka
 

Mehr von Yusei Yamanaka (6)

インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版
 
130727ニコニコデータセットに扱われてみた
130727ニコニコデータセットに扱われてみた130727ニコニコデータセットに扱われてみた
130727ニコニコデータセットに扱われてみた
 
20110805 hddssd research
20110805 hddssd research20110805 hddssd research
20110805 hddssd research
 
20110804 hls research
20110804 hls research20110804 hls research
20110804 hls research
 
ライブストリーミング
ライブストリーミングライブストリーミング
ライブストリーミング
 
開発費0円でニコニコ生放送を作ってみた
開発費0円でニコニコ生放送を作ってみた開発費0円でニコニコ生放送を作ってみた
開発費0円でニコニコ生放送を作ってみた
 

Kürzlich hochgeladen

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 

Kürzlich hochgeladen (9)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 

FPGAを用いたシリアル入力型VGA映像出力装置の設計と実装