SlideShare una empresa de Scribd logo
1 de 20
「第3のコンピュータ」をソフトウェア志向で
使いこなすシステム設計環境
SWORDSフレームワーク
高瀬 英希
(京都大学)
研究対象:組込みシステムの設計技術
情報通信
メディア機器
情報家電
OA機器
産業機械
ロボット
自動車
航空機
研究対象:組込みシステムの設計技術
情報通信
メディア機器
情報家電
OA機器
産業機械
ロボット
私たちの生活を豊かにする
専用コンピュータシステム
自動車
航空機
研究対象:組込みシステムの設計技術
情報通信
メディア機器
情報家電
OA機器
産業機械
ロボット
私たちの生活を豊かにする
専用コンピュータシステム
組込みシステムの設計技術
システムの「作り方」を創る
自動車
航空機
組込みコンピューティングデバイス
設計容易性・柔軟性
開発製造コスト
性能・並列性
省電力性
プロセッサ
&
ソフトウェア
ASIC
(専用回路)
ハードウェア
組込みコンピューティングデバイス
設計容易性・柔軟性
開発製造コスト
性能・並列性
省電力性
プロセッサ
&
ソフトウェア
ASIC
(専用回路)
ハードウェア
FPGA
&
ソフトウェア
第3のコンピュータ:FPGA&SW
基本論理セルの組み合わせと配線の構成を
自由に変更できるデバイス
配線
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
第3のコンピュータ:FPGA&SW
基本論理セルの組み合わせと配線の構成を
自由に変更できるデバイス
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
設計次第で
どんなハードにも
なれる!!
第3のコンピュータ:FPGA&SW
基本論理セルの組み合わせと配線の構成を
自由に変更できるデバイス
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
論理
セル
設計次第で
どんなハードにも
なれる!!
always@(posedge CLK) begin
if (!RES) XOUT <= 0;
else begin
case (IN)
4'b0001 : TMP <= 1;
4'b0010 : TMP <= 5;
4'b1100 : TMP <= 7;
default : TMP <= 0;
endcase
end
end
assign OUT = ~{REG[7:4], TMP[3:0]};
FPGA&SW=
高位合成で
ソフト言語から
ハードを合成
ハードウェア記述言語
プログラマブルSoC
プロセッサ+FPGA+通信バス
プロセッサ
通信バス
FPGA
HW
HW
SW
SW
SW
プログラマブルSoC
プロセッサ+FPGA+通信バス
プロセッサ
通信バス
FPGA
HW
HW
SW
SW
SW
ソフトは普通に
作れるかな,,,
ハードも作るの!??
どうしよう,,,
ソフトとハードは
どう通信させよう??
そんな時には??
何をしてくれるのか?
プロセッサ
通信バス
プログラマブルSoC
FPGA
SW
SW
SW
SW
アルゴリズムは
ソフトだけで記述する
何をしてくれるのか?
プロセッサ
通信バス
プログラマブルSoC
FPGA
アルゴリズムは
ソフトだけで記述する
HW
HW
インタフェース IF
レイヤ
ソフトから
ハードを合成する
SW
SW
通信経路も
合成する
オペレーティングシステム
SW
SW
IF
レイヤ
ハードをソフトと同じように
管理できるOSも提供する
設計記述
C
HWタスク
C
コ
ン
パ
イ
ル
HWタスク
Verilog
HW
モジュール
SW
モジュール
資源情報
cfg
TOPPERS/FM
Pカーネル
SWタスク
C
ラッパータスク
C
IF情報(HW)
tclファイル
SWタスク
C
サービスコール
情報
cfgファイル
SWORDSの全体像
構成記述
XML
論
理
合
成
IF
合
成
タ
ス
ク
解
析
高
位
合
成
設計記述
C
HWタスク
C
コ
ン
パ
イ
ル
HWタスク
Verilog
HW
モジュール
SW
モジュール
資源情報
cfg
TOPPERS/FM
Pカーネル
SWタスク
C
ラッパータスク
C
IF情報(HW)
tclファイル
SWタスク
C
サービスコール
情報
cfgファイル
SWORDSの入力あ
構成記述
XML
論
理
合
成
IF
合
成
タ
ス
ク
解
析
高
位
合
成
<conf>
<device>Zynq</device>
<os>fmp</os>
<IFtype>
<name>SAMPLE_BUS</name>
<AXI>AXI4-Lite</AXI>
<port>HP</port>
</IFtype>
<hw_task>
<name>func1</name>
<IFtype>SAMPLE_BUS</IFtype>
<argument>
<name>xxx</name>
<IFtype>SAMPLE_BUS</IFtype>
</argument>
<parallel>true</parallel>
</hw_task>
</conf>
int_t main () {
a = func1(xxx);
b = func2(yyy);
c = a + b;
}
int_t func1(x) {
…
return val;
}
int_t func2(y) {
…
z = func3(y);
...
return val;
}
C言語だけで
システム設計を記述 デバイスと
OSを指定
ソフト/ハード間の
通信方式を指定
ハード化する関数と
実行方式を指定タスク・セマフォ等の
カーネル資源情報を記述
設計記述
C
HWタスク
C
コ
ン
パ
イ
ル
HWタスク
Verilog
HW
モジュール
SW
モジュール
資源情報
cfg
TOPPERS/FM
Pカーネル
SWタスク
C
ラッパータスク
C
IF情報(HW)
tclファイル
SWタスク
C
サービスコール
情報
cfgファイル
SWORDSのフロー
構成記述
XML
論
理
合
成
IF
合
成
タ
ス
ク
解
析
高
位
合
成
(1) タスク解析・
インタフェース生成
(2) タスク・インタ
フェース合成
(3) 実行可能
モジュール生成
要するにSWORDSは?
ソフトの開発技術だけで
プログラマブルSoC上に
組込みシステムを
作れるようにします!
だからSWORDSは?
システム設計技術で
ソフト屋さん(とハード屋さん)の
システム開発を元気にします!!
まとめにかえて
LED-Camp4
組込みシステムの初学者・入門者のための合宿型教育実習
LED-Camp

Más contenido relacionado

Similar a IPSJ-ONE 2016:「第3のコンピュータ」をソフトウェア志向で使いこなすシステム設計環境SWORDSフレームワーク

Lab introduction 2014
Lab introduction 2014Lab introduction 2014
Lab introduction 2014
nlab_utokyo
 

Similar a IPSJ-ONE 2016:「第3のコンピュータ」をソフトウェア志向で使いこなすシステム設計環境SWORDSフレームワーク (20)

چه ارتباطی بین سیستم اتوماسیون اداری و هوش مصنوعی وجود دارد؟
چه ارتباطی بین سیستم اتوماسیون اداری و هوش مصنوعی وجود دارد؟چه ارتباطی بین سیستم اتوماسیون اداری و هوش مصنوعی وجود دارد؟
چه ارتباطی بین سیستم اتوماسیون اداری و هوش مصنوعی وجود دارد؟
 
東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」東京工業大学「ロボット技術・ロボットミドルウェア」
東京工業大学「ロボット技術・ロボットミドルウェア」
 
安全な産業用ドローンサービスの提供
安全な産業用ドローンサービスの提供安全な産業用ドローンサービスの提供
安全な産業用ドローンサービスの提供
 
Lt4 aws@loft #11 aws io-t for smart building
Lt4 aws@loft #11 aws io-t for smart buildingLt4 aws@loft #11 aws io-t for smart building
Lt4 aws@loft #11 aws io-t for smart building
 
IoT開発を支える技術の今とこれから
IoT開発を支える技術の今とこれからIoT開発を支える技術の今とこれから
IoT開発を支える技術の今とこれから
 
動画を理解するAIエンジン及びAI学習シミュレーター
動画を理解するAIエンジン及びAI学習シミュレーター動画を理解するAIエンジン及びAI学習シミュレーター
動画を理解するAIエンジン及びAI学習シミュレーター
 
RTミドルウエア説明資料(10ページ版)
RTミドルウエア説明資料(10ページ版)RTミドルウエア説明資料(10ページ版)
RTミドルウエア説明資料(10ページ版)
 
クラウドロボティクスとエッジコンピューティング
クラウドロボティクスとエッジコンピューティングクラウドロボティクスとエッジコンピューティング
クラウドロボティクスとエッジコンピューティング
 
NEDO特別講座_画像処理・AI技術活用コース_後編
NEDO特別講座_画像処理・AI技術活用コース_後編NEDO特別講座_画像処理・AI技術活用コース_後編
NEDO特別講座_画像処理・AI技術活用コース_後編
 
設計書自動生成への取り組み~手書き設計書から脱却するには?~
設計書自動生成への取り組み~手書き設計書から脱却するには?~設計書自動生成への取り組み~手書き設計書から脱却するには?~
設計書自動生成への取り組み~手書き設計書から脱却するには?~
 
151119 iotlt-talk
151119 iotlt-talk151119 iotlt-talk
151119 iotlt-talk
 
Computer vision, human vision, and your vision
Computer vision, human vision, and your visionComputer vision, human vision, and your vision
Computer vision, human vision, and your vision
 
ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜ブロックチェーン入門〜ただしFinTechを除く〜
ブロックチェーン入門〜ただしFinTechを除く〜
 
2015 11 19_io_t.lt (1)
2015 11 19_io_t.lt (1)2015 11 19_io_t.lt (1)
2015 11 19_io_t.lt (1)
 
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方
 
Lab introduction 2014
Lab introduction 2014Lab introduction 2014
Lab introduction 2014
 
JAZUG_TOHOKU_modeki_20230324_共有版.pdf
JAZUG_TOHOKU_modeki_20230324_共有版.pdfJAZUG_TOHOKU_modeki_20230324_共有版.pdf
JAZUG_TOHOKU_modeki_20230324_共有版.pdf
 
IoT向けプラットフォーム 「SORACOM」ご紹介
IoT向けプラットフォーム 「SORACOM」ご紹介IoT向けプラットフォーム 「SORACOM」ご紹介
IoT向けプラットフォーム 「SORACOM」ご紹介
 
ジェネレーティブAIと完全自動化がもたらす製造業の未来
ジェネレーティブAIと完全自動化がもたらす製造業の未来ジェネレーティブAIと完全自動化がもたらす製造業の未来
ジェネレーティブAIと完全自動化がもたらす製造業の未来
 
「作りこまない IoT 」を実現するためのクラウドネイティブな IoT システム構築 ― Cloud Native Days Tokyo 2018 (Op...
「作りこまない IoT 」を実現するためのクラウドネイティブな IoT システム構築 ― Cloud Native Days Tokyo 2018 (Op...「作りこまない IoT 」を実現するためのクラウドネイティブな IoT システム構築 ― Cloud Native Days Tokyo 2018 (Op...
「作りこまない IoT 」を実現するためのクラウドネイティブな IoT システム構築 ― Cloud Native Days Tokyo 2018 (Op...
 

Más de Hideki Takase

関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
Hideki Takase
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
Hideki Takase
 

Más de Hideki Takase (20)

Rclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet ElixirRclex: A Library for Robotics meet Elixir
Rclex: A Library for Robotics meet Elixir
 
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
高い並列性能と耐障害性を持つElixirとNervesでIoTの新しいカタチを切り拓く
 
関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング関数型っぽくROSロボットプログラミング
関数型っぽくROSロボットプログラミング
 
ROS 2 Client Library for E^2
ROS 2 Client Library for E^2ROS 2 Client Library for E^2
ROS 2 Client Library for E^2
 
Elixir/Nervesはナウでヤングなcoolなすごいやつ
Elixir/NervesはナウでヤングなcoolなすごいやつElixir/Nervesはナウでヤングなcoolなすごいやつ
Elixir/Nervesはナウでヤングなcoolなすごいやつ
 
関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開関数型言語ElixirのIoTシステム開発への展開
関数型言語ElixirのIoTシステム開発への展開
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワークElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
ElixirでIoT!?ナウでヤングでcoolなNervesフレームワーク
 
Rclex: ElixirでROS!!
Rclex: ElixirでROS!!Rclex: ElixirでROS!!
Rclex: ElixirでROS!!
 
QoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/EloquentQoS for ROS 2 Dashing/Eloquent
QoS for ROS 2 Dashing/Eloquent
 
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
 
ROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+αROSCon2019 参加報告:オーバビュー+α
ROSCon2019 参加報告:オーバビュー+α
 
ElixirでFPGAを設計する
ElixirでFPGAを設計するElixirでFPGAを設計する
ElixirでFPGAを設計する
 
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
つながるロボット 〜分散協調ロボットの開発を加速化するROSの紹介〜
 
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けてZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
ZytleBot: ROSベースの自律移動ロボットへのFPGAの統合に向けて
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
 
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
IoTアプリ/ロボット開発をリアルタイムOSでレベルアップしませんか? ~高品質な組込み向けオープンソースを開発するTOPPERSプロジェクトのご紹介~
 
TOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYANTOPPERSプロジェクトのご紹介@IoT ALGYAN
TOPPERSプロジェクトのご紹介@IoT ALGYAN
 
ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?ElixirでFPGAハードウェアが作れちゃう,かも!!?
ElixirでFPGAハードウェアが作れちゃう,かも!!?
 

IPSJ-ONE 2016:「第3のコンピュータ」をソフトウェア志向で使いこなすシステム設計環境SWORDSフレームワーク

Notas del editor

  1. タイトル長いと話しも長い
  2. 凄く乱暴な定義をすれば,汎用コンピュータ以外の専用コンピュータ
  3. 凄く乱暴な定義をすれば,汎用コンピュータ以外の専用コンピュータ
  4. 凄く乱暴な定義をすれば,汎用コンピュータ以外の専用コンピュータ
  5. FPGAは基本論理セルが規則的に並ぶ構造となっています. セルの組み合わせと接続を変えることで,ある時は通信回路,動画処理エンジン,暗号回路,プロセッサにもなれる. ドワンゴさんのサーバでも動いているらしいです. 設計方法,プログラミングというとちょっと語弊がありますが,こんな言語で記述します.ぶっちゃけ私はこんなの書けないです. 最近ではそんな私のために,高位合成という技術が実用レベルになりつつあります.
  6. FPGAは基本論理セルが規則的に並ぶ構造となっています. セルの組み合わせと接続を変えることで,ある時は通信回路,動画処理エンジン,暗号回路,プロセッサにもなれる. ドワンゴさんのサーバでも動いているらしいです. 設計方法,プログラミングというとちょっと語弊がありますが,こんな言語で記述します.ぶっちゃけ私はこんなの書けないです. 最近ではそんな私のために,高位合成という技術が実用レベルになりつつあります.
  7. FPGAは基本論理セルが規則的に並ぶ構造となっています. 基本論理セルはこんな感じのルックアップテーブルという回路ブロックが入っています
  8. FPGAはセルの組み合わせと接続を変えることで,ある時はルータの通信回路,ある時は掃除機ロボットの制御回路,ある時はプロセッサにもなれます.ドワンゴさんのサーバでも動いているらしいです. 設計方法,プログラミングというとちょっと語弊がありますが,こんな言語で記述します.ぶっちゃけ私はこんなの書けないです. 最近ではそんな私のために,高位合成という技術が実用レベルになりつつあります.
  9. FPGAはセルの組み合わせと接続を変えることで,ある時はルータの通信回路,ある時は掃除機ロボットの制御回路,ある時はプロセッサにもなれます.ドワンゴさんのサーバでも動いているらしいです. 設計方法,プログラミングというとちょっと語弊がありますが,こんな言語で記述します.ぶっちゃけ私はこんなの書けないです. 最近ではそんな私のために,高位合成という技術が実用レベルになりつつあります.
  10. 最近ホット!!なのがプログラマブルSoC プロセッサ+FPGA+専用バスが1チップに集積されたデバイス 柔軟性が求められる逐次処理はソフトで実行 高速化が見込まれる並列処理はハードで実行 ソフト−ハード間は専用バスで接続して通信
  11. 最近ホット!!なのがプログラマブルSoC プロセッサ+FPGA+専用バスが1チップに集積されたデバイス 柔軟性が求められる逐次処理はソフトで実行 高速化が見込まれる並列処理はハードで実行 ソフト−ハード間は専用バスで接続して通信
  12. システム設計技術の出番です ソフトウェア志向でハードウェア/プログラマブルSoCを使いこなそう! 名前はDQNです
  13. Yahoo?