SlideShare a Scribd company logo
1 of 23
Download to read offline
すごいSystemC
エロく学ぼう!
(part1)
著:#ひらっちエロい
監修:ひらっち
2014/6/20
神(ひらっち)は言った
ということで、
今回の題材は
Modular Interface
もしかしてだけど∼
もしかしてだけど∼
端子信号見ながら
デバッグしてるんじゃないの???
TLM
(Transaction Level Modeling)
• サイクルベースではなく、処理ベース
• 端子(ポート/ピン)レベルではなく、処理レベル
Write
端子レベル
処理レベル
READY
VALID
なぜ必要なの?
!
• 端子レベルでの表現だとわかりづらい
• AXIなどは端子信号を数十本確認しないといけない
えっ?信号で書きたいやつは書けばいいですよ(^O^)
Modular Interface
• 動作合成/高位合成という名のSystemCから
Verilog HDL/VHDLを出力するツールベンダが付
けた名称(なので、ベンダによって名称異なります)
• Transaction(TLM)→Cycle(Pin)レベル変換を

行うInterface処理ライブラリの名称
Slaveモデルは実現が大変
• 神ブログにもあるようにMaster側の実現は簡単
• Slave側を「受け」と解釈すると処理が大変
しかし
実はひらっち
ドS なんです
ドS なんです!
ドS なんです!
Slaveなんてなかったんや!
• ユーザーが記述するのは put/get 関数
• put - 「くれてやるわ!」
• get - 「よこしなさい!」
つまり
どちらもMaster!
こんな感じ
Master
プロセス プロセスチャネル
put get
Slave(実はMaster)
こんな感じ
プロセス プロセス
Slave(実はMaster)
チャネル
put get
どうやって通信すんの?
Master
チャネルに仕込み
プロセス プロセスチャネル
put get
Slave(実はMaster)Master
チャネルに仕込み
プロセス プロセスチャネル
put get
プロセス
チャネル
FIFO
Slave(実はMaster)Master
Slaveを簡単に実装可能
プロセス プロセスチャネル
put get
プロセス
チャネル
FIFO
Slave(実はMaster)Master
今回のまとめ
• TLMは端子信号を意識せずに、通信を実現
• Modular Interfaceは必要悪だけど、怖くないよ
• put/getで貴方もドSコーディング!

More Related Content

Viewers also liked

Analytical electrochemistry wang
Analytical electrochemistry   wangAnalytical electrochemistry   wang
Analytical electrochemistry wangTiến Đồng Sỹ
 
Rassegna Stampa - Feb/Ott 2013
Rassegna Stampa - Feb/Ott 2013Rassegna Stampa - Feb/Ott 2013
Rassegna Stampa - Feb/Ott 2013macnil
 
Momentos especiles
Momentos especilesMomentos especiles
Momentos especilesbuinchi
 
Wireless Wednesdays: Part 3
Wireless Wednesdays: Part 3Wireless Wednesdays: Part 3
Wireless Wednesdays: Part 3Teamstudio
 
A terra 2116
A terra 2116A terra 2116
A terra 2116marcendon
 
Wireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsWireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsTeamstudio
 
Karakteristik Transistor
Karakteristik TransistorKarakteristik Transistor
Karakteristik TransistorAlfi Diantoro
 
Pacchetto lavoro decreto del fare 12 07 2013_slide totali 1
Pacchetto lavoro decreto del fare 12 07 2013_slide totali 1Pacchetto lavoro decreto del fare 12 07 2013_slide totali 1
Pacchetto lavoro decreto del fare 12 07 2013_slide totali 1Deca & Associati s.r.l.
 
Summary of responses - A Survey About Cannabis - RAW DATA
Summary of responses - A Survey About Cannabis - RAW DATASummary of responses - A Survey About Cannabis - RAW DATA
Summary of responses - A Survey About Cannabis - RAW DATAGrafx.one
 
Pay it forward rotary program 2
Pay it forward rotary program 2Pay it forward rotary program 2
Pay it forward rotary program 2Dustin Rumsey
 
Día de la paz iii
Día de la paz iiiDía de la paz iii
Día de la paz iiibuinchi
 

Viewers also liked (18)

Analytical electrochemistry wang
Analytical electrochemistry   wangAnalytical electrochemistry   wang
Analytical electrochemistry wang
 
Rassegna Stampa - Feb/Ott 2013
Rassegna Stampa - Feb/Ott 2013Rassegna Stampa - Feb/Ott 2013
Rassegna Stampa - Feb/Ott 2013
 
Gamer street
Gamer streetGamer street
Gamer street
 
Momentos especiles
Momentos especilesMomentos especiles
Momentos especiles
 
Wireless Wednesdays: Part 3
Wireless Wednesdays: Part 3Wireless Wednesdays: Part 3
Wireless Wednesdays: Part 3
 
A terra 2116
A terra 2116A terra 2116
A terra 2116
 
Onderweg naar Accountant3.0
Onderweg naar Accountant3.0Onderweg naar Accountant3.0
Onderweg naar Accountant3.0
 
Internet
InternetInternet
Internet
 
Wireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsWireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControls
 
Karakteristik Transistor
Karakteristik TransistorKarakteristik Transistor
Karakteristik Transistor
 
Pacchetto lavoro decreto del fare 12 07 2013_slide totali 1
Pacchetto lavoro decreto del fare 12 07 2013_slide totali 1Pacchetto lavoro decreto del fare 12 07 2013_slide totali 1
Pacchetto lavoro decreto del fare 12 07 2013_slide totali 1
 
Evaluations
EvaluationsEvaluations
Evaluations
 
Summary of responses - A Survey About Cannabis - RAW DATA
Summary of responses - A Survey About Cannabis - RAW DATASummary of responses - A Survey About Cannabis - RAW DATA
Summary of responses - A Survey About Cannabis - RAW DATA
 
Pay it forward rotary program 2
Pay it forward rotary program 2Pay it forward rotary program 2
Pay it forward rotary program 2
 
Mohideen Khader-122316
Mohideen Khader-122316Mohideen Khader-122316
Mohideen Khader-122316
 
5 webinar-court
5 webinar-court5 webinar-court
5 webinar-court
 
Día de la paz iii
Día de la paz iiiDía de la paz iii
Día de la paz iii
 
Ke chuyen ve kim loai 2
Ke chuyen ve kim loai 2Ke chuyen ve kim loai 2
Ke chuyen ve kim loai 2
 

Similar to Learn SystemC Erotically part1

TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介ao27
 
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話simotin13 Miyazaki
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態npsg
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Takuya Matsunaga
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:codeKouji Matsui
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03Miya Kohno
 
Erlangご紹介 websocket編
Erlangご紹介 websocket編Erlangご紹介 websocket編
Erlangご紹介 websocket編Masatoshi Itoh
 
Community Open Day 沖縄
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄Yutaka Tsumori
 
Pentaho ETL@DevLOVE関西
Pentaho ETL@DevLOVE関西Pentaho ETL@DevLOVE関西
Pentaho ETL@DevLOVE関西Hirokazu Tokuno
 
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Kei IWASAKI
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)啓 小笠原
 
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門sandai
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするYusuke Naka
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門Hirotaka Kawata
 
2009年のPHPフレームワーク
2009年のPHPフレームワーク2009年のPHPフレームワーク
2009年のPHPフレームワークTakuya Sato
 
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版Takuya Matsunaga
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回龍一 田中
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -chibochibo
 

Similar to Learn SystemC Erotically part1 (20)

TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介TreeFrog Frameworkの紹介
TreeFrog Frameworkの紹介
 
C#勉強会
C#勉強会C#勉強会
C#勉強会
 
C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話C・C++用のコードカバレッジツールを自作してみた話
C・C++用のコードカバレッジツールを自作してみた話
 
「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態「宣言的プログラミング」とSDNのひとつの形態
「宣言的プログラミング」とSDNのひとつの形態
 
Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版Dalvik仮想マシンのアーキテクチャ 改訂版
Dalvik仮想マシンのアーキテクチャ 改訂版
 
Async deepdive before de:code
Async deepdive before de:codeAsync deepdive before de:code
Async deepdive before de:code
 
Mk network programmability-03
Mk network programmability-03Mk network programmability-03
Mk network programmability-03
 
Erlangご紹介 websocket編
Erlangご紹介 websocket編Erlangご紹介 websocket編
Erlangご紹介 websocket編
 
Community Open Day 沖縄
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄
 
Pentaho ETL@DevLOVE関西
Pentaho ETL@DevLOVE関西Pentaho ETL@DevLOVE関西
Pentaho ETL@DevLOVE関西
 
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
Cli mini Hack!#1 ~Terminalとの親睦を深めよう~
 
関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)関数型言語&形式的手法セミナー(3)
関数型言語&形式的手法セミナー(3)
 
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
 
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
 
2009年のPHPフレームワーク
2009年のPHPフレームワーク2009年のPHPフレームワーク
2009年のPHPフレームワーク
 
Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版Dalvikバイトコードリファレンスの読み方 改訂版
Dalvikバイトコードリファレンスの読み方 改訂版
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回
 
L-R
L-RL-R
L-R
 
What is doobie? - database access for scala -
What is doobie? - database access for scala -What is doobie? - database access for scala -
What is doobie? - database access for scala -
 

Learn SystemC Erotically part1