狠狠撸

狠狠撸Share a Scribd company logo
Javaによる専用ハードウェア開発を夢見て
Synthesijerのこれまでとこれから
わさらぼ
みよし たけふみ
(miyox)
2015.04.11
2
今日の話
? 何を作っているか
? どう作っているか
Javaによる専用ハードウェア開発を夢見て
Synthesijerのこれまでとこれから
わさらぼ
みよし たけふみ
(miyox)
2015.04.11
?
専用 汎用
専用 汎用
用途を特定しない
幅広く利用できる
特定の用途を想定
得手不得手がはっきり
専用HW 汎用HW
用途を特定しないHW
幅広く利用できるHW
特定の用途を想定したHW
得意な処理は得意HW
不得意な処理は不得意/できないHW
7
専用にすると何が嬉しいか?
汎用HW(CPU)の場合
専用HWの場合
高性能
低消費電力
コンパクト
8
専用にすると何が嬉しくないか?
汎用HW(CPU)の場合
専用HWの場合
使い回しできる
= 安い.みんな使える
使い回しできない
= 高い.使うの大変
9
いつまでもCPUだけでいいの?
? CPU,これ以上速くなるの?
? 動作周波数は頭打ち
? 性能向上のためのトランジスタがのせられない
? ちょっと,この処理遅いけど来年のCPUなら大丈夫
? たくさんCPUならべると電気/熱が大変
...と,ここ何年も言われてきた
(と共に,ここ何年もスゴイ人たちが乗り越え続けている)
10
専用にすると何が嬉しくないか?
汎用HW(CPU)の場合
専用HWの場合
使い回しできる
= 安い.みんな使える
使い回しできない
= 高い.使うの大変
11
専用HWを作れる手軽なアイテム!!
汎用HW(CPU)の場合
専用HWの場合
使い回しできる
= 安い.みんな使える
使い回しできない
= 高い.使うの大変
FPGA
12
? 論理回路?データパスを自由に作り込めるLSI
? I/Oを自由に使える
Field Programmable Gate Array
FPGAとは?
13
? 論理回路?データパスを自由に作り込めるLSI
? I/Oを自由に使える
? クロックレベルの同期と並列性を活用した処理を実現
Field Programmable Gate Array
FPGAとは?
14
1) http://japan.xilinx.com/support/documentation/data_sheets/ds180_7Series_Overview.pdf
2) http://hitechglobal.com/boards/virtex7_v2000t.htm
3) http://http://low-powerdesign.com/sleibson/2011/10/25/generation-jumping-2-5d-xilinx-virtex-7-2000t-fpga-delivers-
1954560-logic-cells-consumes-only-20w/
FPGAとは?
15
FPGAとは?
グラフは http://japan.intel.com/contents/museum/processor/index.html より
高いFPGAが
だいたいこの辺
Intelのプロセッサと比べてみてみると
16
FPGA 美味しいの?
検索FPGA ○○○○○○○○○○
○○○○○○○○○○にはコンピュータ界隈で
有名な会社の名前をいれてください
17
小さくてかわいいのも
https://cloud.altera.com/devstore/board/odyssey-max-10-fpga-kit/
例: Odyssey MAX10
注: Bluetooth機能はFPGAじゃなくて
この上にのるボードのマイコンが提供
FPGA
ここに,LEDとかセンサとか
モーターとかつないで遊ぶ
18
JavaでIoTといえば...
http://www.snm.ethz.ch/snmwiki/Projects/SunSPOT
Javaによる専用ハードウェア開発を夢見て
Synthesijerのこれまでとこれから
FPGAで
アプリを作ること
なぜ闯补惫补なのか?
Write Once, Run Anywhere!!
Write Once, Run Anywhere!!
たとえCPUがなくても!!
23
一般的なFPGAアプリ設計
? 論理回路構成要素の内容を決める
? 論理回路構成要素同士の接続関係を決める
24
一般的なFPGAアプリ設計
HDL(VHDLやVerilog HDL)によるRTL(Register Transfer 尝别惫别濒)设计
25
HDLによるRTL設計
? ロジックを抽象化した式/構文で設計できる
? クロックレベルのデータ制御
? 細粒度の並列性の活用
? 記述が煩雑
? “状態”を自分で管理しなければいけない
? デバッグ/動作検証が難しい
メリット
デメリット
26
HDLによるRTL設計
if clk'event and clk = '1' then
case (s) is
when S0 =>
a <= 1;
s <= S1;
When S1 =>
b <= 2;
s <= S2;
When S2 =>
c <= a + b;
s <= S3;
end case;
end if;
a = 1;
b = 2;
c = a + b;
搁罢尝书きたくない!!
闯补惫补で书きたい!!
29
Synthesijer
http://www.slideshare.net/OracleMiddleJP/java-developer-workshop-2
おおお!
残念ながら无関係です
32
Synthesijer とは
? JavaプログラムをFPGA上のハードウェアに変換
? 複雑なアルゴリズムのハードウェア実装を楽に
? オブクジェクト指向設計による再利用性の向上
? 特殊な記法,追加構文はない
? ソフトウェアとして実行可能.動作の確認、検証が容易
? 書けるプログラムに制限は加える
(動的なnew,再帰は不可など)
? HDLモジュールのJavaからのインスタンス生成
Javaコンパイラ
フロントエンド
Synthesijer
エンジン
Javaコンパイラ
バックエンド
合成
配置配線
while(){
if(...){
…
}else{
…
…
}
….
}
複雑な状態遷移も,Javaの制御構文を使って楽に設計できる
同じJavaプログラムをソフトウェアとしても
FPGA上のハードウェアとしても実行可能
Open-source
33
たとえば,Lチカ
間隔をおいて変数ledをtrue/falseするプログラムを書く
Lチカに相当する変数
適当なウェイト
点滅
自動コンパイルが裏で動くので,Javaコードとしての正しさは
即座にチェックされる
34
たとえば,Lチカ
コンパイルしてFPGAにロードする
35
プロセッサ上で動くのと何が違うの?
CPU Synthesijerでできたもの
処理方式 読む→解釈→実行 演算器としてならべられる
適切なタイミングで確定
命令セット 決まっている 入力コードによって生成
I/O 決まっている 割と自由に追加できる
個数 決まっている 入力コードによって決まる
36
? クラスによるオブジェクト指向設計言語
 ← HWのモジュール設計との親和性は高そう
? 言語仕様で並列処理をサポート
? Thread,wait-notify
? (Cと違い)明示的なポインタの扱いが不要
? 言語の想定するメモリ構造から解放され得るかも
? 動的な振る舞いは厄介そう
Javaベースの高位合成処理系
なぜ闯补惫补なのか?
デモと応用事例の绍介
38
? Javaといえば,スクリプト言語のホストとしても魅力的
? JRuby,Scala,Clojure,and etc.
? BF: とても小さなスクリプト言語処理系
→ hoge
デモ(1) BrainF**k
+, -, >, <, [, ], ., ,の記号からなるインタプリタ
++++++++++[>++++++++++<-]>++++.+++++++.--------.--.
http://www.kmonos.net/alang/etc/brainfuck.php
どう作っているか?
40
Javaコンパイラ
Javaコード 字句解析/構文解析
コントロール?データフロー作成
最適化
出力
VHDL/
Verilog HDL
コード
Javaコード
class
JVM用の
バイトコード
JVM命令セット内
での最適化
41
Synthesijerオーバービュー
Javaコード 字句解析/構文解析
コントロール?データフロー作成
最適化
出力
VHDL/
Verilog HDL
コード
Javaコード
VHDL/
Verilog HDL
コード
42
? オープンソースなJavaの実装
? 勿論Javaコンパイラもオープンソース
? openjdk/com/sun/tools/javac/main/JavaCompiler.java
をフックすれば,解析/最適化済みの情報にアクセス可
OpenJDKすてき!!
43
OpenJDKすてき!!
/** Generate code and emit a class file for a given class
* @param env The attribution environment of the outermost class
* containing this class.
* @param cdef The class definition from which code is generated.
*/
JavaFileObject genCode(Env<AttrContext> env, JCClassDecl cdef) throws IOException {
synthesijer.jcfrontend.Main.newModule(env, cdef); // add hook for synthesijer
try {
if (gen.genClass(env, cdef) && (errorCount() == 0))
return writer.writeClass(cdef.sym);
} catch (ClassWriter.PoolOverflow ex) {
log.error(cdef.pos(), "limit.pool");
} catch (ClassWriter.StringOverflow ex) {
log.error(cdef.pos(), "limit.string.overflow",
ex.value.substring(0, 20));
} catch (CompletionFailure ex) {
chk.completionError(cdef.pos(), ex);
}
return null;
}
JavaCompiler.javaの中身
44
Javaコードの内部表現
この構造をたどりながら,すきな形(VHDL/Verilog HDL)に変換する
JCMethodDecl
JCVariableDecl
JCMethodDecl
JCMethodDecl
?
?
?
?
?
?
JCVariableDecl
JCVariableDecl
JCExpressionState
JCBlock
JCIf
JCFor
JCAssign
JCArrayAccess
JCBinary
JCIdent
JCLiteral
?
?
?
?
?
?
JSCtatement
JSExpression
JCClassDecl
45
たとえばclass
public class JCTopVisitor extends Visitor{
private final Module module;
...
public void visitClassDef(JCClassDecl that){
for (JCTree def : that.defs) {
if(def == null){
;
}else if(def instanceof JCMethodDecl){
def.accept(this);
}else if(def instanceof JCVariableDecl){
def.accept(new JCStmtVisitor(module));
}else{
System.err.printf("Unknown class: %s (%s)", def, def.getClass());
}
}
}
...
46
たとえばmethod
public void visitMethodDef(JCMethodDecl decl){
String name = decl.getName().toString();
Type type;
if(JCFrontendUtils.isConstructor(decl)){
type = new MySelfType();
}else{
type = TypeBuilder.genType(decl.getReturnType());
}
Method m = new Method(module, name, type);
m.setArgs(parseArgs(decl.getParameters(), m));
...
m.setPrivateFlag(JCFrontendUtils.isPrivate(decl.mods));
m.setParallelFlag(JCFrontendUtils.isAnnotatedBy(decl.mods.annotations, "parallel"));
...
m.setConstructorFlag(JCFrontendUtils.isConstructor(decl));
...
for(JCStatement stmt: decl.body.getStatements()){
JCStmtVisitor visitor = new JCStmtVisitor(m);
stmt.accept(visitor);
m.getBody().addStatement(visitor.getStatement());
}
module.addMethod(m);
}
47
たとえば制御構文
public void visitIf(JCIf that){
IfStatement tmp = new IfStatement(scope);
tmp.setCondition(stepIn(that.cond, scope));
tmp.setThenPart(wrapBlockStatement(stepIn(that.thenpart, scope)));
if(that.elsepart != null){
tmp.setElsePart(wrapBlockStatement(stepIn(that.elsepart, scope)));
}
stmt = tmp;
}
public void visitForLoop(JCForLoop that){
ForStatement tmp = new ForStatement(scope);
for(JCStatement s: that.init){
//tmp.addInitialize(stepIn(s, scope));
tmp.addInitialize(stepIn(s, tmp));
}
tmp.setCondition(stepIn(that.cond, tmp));
for(JCStatement s: that.step){
tmp.addUpdate(stepIn(s, tmp));
}
tmp.setBody(wrapBlockStatement(stepIn(that.body, tmp)));
stmt = tmp;
}
48
Synthesijer でのHDL生成: 出力(状態遷移)
メソッド毎にスケジュール表を生成 → 状態遷移機械
while
for
for
49
Synthesijerのこれから
50
ロードマップ
手続き型言語的
基本演算,操作
整数プリミ
ティブ型変
数の利用
算術,論理,
シフト演算
(除算?剰
余算以外)
制御構文
(分岐,ルー
プ)
メソッド呼び
出し
除算?剰余
算
浮動小数点
数演算
オブジェクト指向
的インスンタンス
協調
finalでのイ
ンスタンス
の生成
インスタン
スメソッドの
呼び出し
インスタン
ス変数への
リードアクセ
ス
インスタン
ス変数への
ライトアクセ
ス
インスタン
ス間での配
列読み書き
のサポート
インスタン
スの配列,
配列の配列
のサポート
コンストラク
タのサポー
ト
インスタン
スのチェイ
ンアクセス
並列化
パフォーマンス
基本ブロッ
ク内自動並
列化
Threadに
よる明示的
な処理の並
列化をサ
ポート
ループ内パ
イプライニ
ング
ライブラリ 整数プリミ
ティブ変数
の配列
AXI接続用
のコンポー
ネントライブ
ラリの提供
Stringクラ
スのサポー
ト
ユーザビリティ コマンドライ
ンでのコン
パイル
HDLモ
ジュールと
のバイン
ディング機
構
FPGA合成
ツールとの
連携,統一
的な開発フ
ローの提供
スケジュー
リング可視
化ツール
HDL生成ラ
イブラリを
活用した
DSLの提供
2014年7月 2014年12月 2015年3月 2015年6月
51
今後挑戦したいこと
? メソッドのパイプライン化
? I/Oストリームへの対応
? コンストラクタに対応
? コンパイル時のJavaプログラム実行
? lambda式対応
? Streamへの対応
? Erlangフロントエンド
52
Synthesijer とは
? JavaプログラムをFPGA上のハードウェアに変換
? 複雑なアルゴリズムのハードウェア実装を楽に
? オブクジェクト指向設計による再利用性の向上
? 特殊な記法,追加構文はない
? ソフトウェアとして実行可能.動作の確認、検証が容易
? 書けるプログラムに制限は加える
(動的なnew,再帰は不可など)
? HDLモジュールのJavaからのインスタンス生成
Javaコンパイラ
フロントエンド
Synthesijer
エンジン
Javaコンパイラ
バックエンド
合成
配置配線
while(){
if(...){
…
}else{
…
…
}
….
}
複雑な状態遷移も,Javaの制御構文を使って楽に設計できる
同じJavaプログラムをソフトウェアとしても
FPGA上のハードウェアとしても実行可能
Open-source
53
参考
? http://synthesijer.sourceforge.net
? リソース一式,クイックスタートガイドなど
? http://qiita.com/kazunori279/items/4951ca5f6164040878ce
? Kazunori279さん: Synthesijer関連資料まとめ
? http://labs.beatcraft.com/ja/index.php?Synthesijer
? ビートクラフトさん: Altera DE0-nanoでのサンプルの動作手順など
? http://marsee101.blog19.fc2.com/blog-category-116.html
? FPGAの部屋さん: Synthesijerでラプラシアンフィルタを作ってみた
? http://cellspe.matrix.jp/parallella/synthesijer.html
? Parallela Fan!さん: SynthesijerでJavaプログラムからHDLコードを自動生成する
? http://wasa-labo.com/wp/
? わさらぼ ブログ – 開発状況,Tipsなど

More Related Content

What's hot (20)

jcmd をさわってみよう
jcmd をさわってみようjcmd をさわってみよう
jcmd をさわってみよう
Tsunenaga Hanyuda
?
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Mr. Vengineer
?
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
Uehara Junji
?
Heap statsfx analyzer
Heap statsfx analyzerHeap statsfx analyzer
Heap statsfx analyzer
Yasumasa Suenaga
?
Microblaze loader
Microblaze loaderMicroblaze loader
Microblaze loader
Takefumi MIYOSHI
?
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Uehara Junji
?
Zynq + Vivado HLS入門
Zynq + Vivado HLS入門Zynq + Vivado HLS入門
Zynq + Vivado HLS入門
narusugimoto
?
Groovy Shell Scripting 2015
Groovy Shell Scripting 2015Groovy Shell Scripting 2015
Groovy Shell Scripting 2015
Uehara Junji
?
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
Mr. Vengineer
?
Java SE 9の紹介: モジュール?システムを中心に
Java SE 9の紹介: モジュール?システムを中心にJava SE 9の紹介: モジュール?システムを中心に
Java SE 9の紹介: モジュール?システムを中心に
Taku Miyakawa
?
闯别迟蝉辞苍で翱辫别苍颁痴
 闯别迟蝉辞苍で翱辫别苍颁痴 闯别迟蝉辞苍で翱辫别苍颁痴
闯别迟蝉辞苍で翱辫别苍颁痴
tomoaki0705
?
翱辫别苍颁痴4础苍诲谤辞颈诲で画像処理アプリのススメ
翱辫别苍颁痴4础苍诲谤辞颈诲で画像処理アプリのススメ翱辫别苍颁痴4础苍诲谤辞颈诲で画像処理アプリのススメ
翱辫别苍颁痴4础苍诲谤辞颈诲で画像処理アプリのススメ
Masaki Otsuki
?
Java 9で進化する診断ツール
Java 9で進化する診断ツールJava 9で進化する診断ツール
Java 9で進化する診断ツール
Yasumasa Suenaga
?
翱辫别苍颁痴を用いた画像処理入门
翱辫别苍颁痴を用いた画像処理入门翱辫别苍颁痴を用いた画像処理入门
翱辫别苍颁痴を用いた画像処理入门
uranishi
?
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
bitter_fox
?
【関東GPGPU勉强会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉强会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉强会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉强会#3】OpenCVの新機能 UMatを先取りしよう
Yasuhiro Yoshimura
?
SDSoC でストリーム
SDSoC でストリームSDSoC でストリーム
SDSoC でストリーム
ryos36
?
【第33回コンピュータビジョン勉强会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉强会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉强会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉强会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
Yasuhiro Yoshimura
?
コンピューティングと闯补惫补词なにわ罢贰颁贬道
コンピューティングと闯补惫补词なにわ罢贰颁贬道コンピューティングと闯补惫补词なにわ罢贰颁贬道
コンピューティングと闯补惫补词なにわ罢贰颁贬道
なおき きしだ
?
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Xilinx SDSoC(2016.2)解体新書ソフトウェア編
Mr. Vengineer
?
Use JWT access-token on Grails REST API
Use JWT access-token on Grails REST APIUse JWT access-token on Grails REST API
Use JWT access-token on Grails REST API
Uehara Junji
?
Groovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUGGroovy Bootcamp 2015 by JGGUG
Groovy Bootcamp 2015 by JGGUG
Uehara Junji
?
Zynq + Vivado HLS入門
Zynq + Vivado HLS入門Zynq + Vivado HLS入門
Zynq + Vivado HLS入門
narusugimoto
?
Groovy Shell Scripting 2015
Groovy Shell Scripting 2015Groovy Shell Scripting 2015
Groovy Shell Scripting 2015
Uehara Junji
?
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
SDSoC解体新書2016.2版ソフトウェア編 (チラ見) : Inside SDSoC v2016.2 (Software short edtion)
Mr. Vengineer
?
Java SE 9の紹介: モジュール?システムを中心に
Java SE 9の紹介: モジュール?システムを中心にJava SE 9の紹介: モジュール?システムを中心に
Java SE 9の紹介: モジュール?システムを中心に
Taku Miyakawa
?
闯别迟蝉辞苍で翱辫别苍颁痴
 闯别迟蝉辞苍で翱辫别苍颁痴 闯别迟蝉辞苍で翱辫别苍颁痴
闯别迟蝉辞苍で翱辫别苍颁痴
tomoaki0705
?
翱辫别苍颁痴4础苍诲谤辞颈诲で画像処理アプリのススメ
翱辫别苍颁痴4础苍诲谤辞颈诲で画像処理アプリのススメ翱辫别苍颁痴4础苍诲谤辞颈诲で画像処理アプリのススメ
翱辫别苍颁痴4础苍诲谤辞颈诲で画像処理アプリのススメ
Masaki Otsuki
?
Java 9で進化する診断ツール
Java 9で進化する診断ツールJava 9で進化する診断ツール
Java 9で進化する診断ツール
Yasumasa Suenaga
?
翱辫别苍颁痴を用いた画像処理入门
翱辫别苍颁痴を用いた画像処理入门翱辫别苍颁痴を用いた画像処理入门
翱辫别苍颁痴を用いた画像処理入门
uranishi
?
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
bitter_fox
?
【関東GPGPU勉强会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉强会#3】OpenCVの新機能 UMatを先取りしよう【関東GPGPU勉强会#3】OpenCVの新機能 UMatを先取りしよう
【関東GPGPU勉强会#3】OpenCVの新機能 UMatを先取りしよう
Yasuhiro Yoshimura
?
SDSoC でストリーム
SDSoC でストリームSDSoC でストリーム
SDSoC でストリーム
ryos36
?
【第33回コンピュータビジョン勉强会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉强会@関東】OpenVX、 NVIDIA VisionWorks使ってみた【第33回コンピュータビジョン勉强会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
【第33回コンピュータビジョン勉强会@関東】OpenVX、 NVIDIA VisionWorks使ってみた
Yasuhiro Yoshimura
?
コンピューティングと闯补惫补词なにわ罢贰颁贬道
コンピューティングと闯补惫补词なにわ罢贰颁贬道コンピューティングと闯补惫补词なにわ罢贰颁贬道
コンピューティングと闯补惫补词なにわ罢贰颁贬道
なおき きしだ
?

Viewers also liked (20)

Synthesijer hls 20150116
Synthesijer hls 20150116Synthesijer hls 20150116
Synthesijer hls 20150116
Takefumi MIYOSHI
?
Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)
Takefumi MIYOSHI
?
ICD/CPSY 201412
ICD/CPSY 201412ICD/CPSY 201412
ICD/CPSY 201412
Takefumi MIYOSHI
?
Dart on Raspberry Pi
Dart on Raspberry PiDart on Raspberry Pi
Dart on Raspberry Pi
Kasai Nobuhiro
?
SDSoC と Vivado
SDSoC と VivadoSDSoC と Vivado
SDSoC と Vivado
ryos36
?
Java 20年史 (JJUG CCC 2015 春 基調講演)
Java 20年史 (JJUG CCC 2015 春 基調講演)Java 20年史 (JJUG CCC 2015 春 基調講演)
Java 20年史 (JJUG CCC 2015 春 基調講演)
Kazuyuki Kawamura
?
ビズリーチ x ScalaMatsuri by BIZREACH, Inc.
ビズリーチ x ScalaMatsuri  by BIZREACH, Inc.ビズリーチ x ScalaMatsuri  by BIZREACH, Inc.
ビズリーチ x ScalaMatsuri by BIZREACH, Inc.
scalaconfjp
?
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
torutk
?
JJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-bootJJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-boot
Tsuyoshi Yamamoto
?
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
Tsuyoshi Miyake
?
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
marsee101
?
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームVivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリーム
marsee101
?
$30で始める贵笔骋础
$30で始める贵笔骋础$30で始める贵笔骋础
$30で始める贵笔骋础
Yukitaka Takemura
?
Vivado hls勉强会1(基礎編)
Vivado hls勉强会1(基礎編)Vivado hls勉强会1(基礎編)
Vivado hls勉强会1(基礎編)
marsee101
?
贵笔骋础のトレンドをまとめてみた
贵笔骋础のトレンドをまとめてみた贵笔骋础のトレンドをまとめてみた
贵笔骋础のトレンドをまとめてみた
Takefumi MIYOSHI
?
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
Koichi Sakata
?
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
Shinya Takamaeda-Y
?
Java web application testing
Java web application testingJava web application testing
Java web application testing
Tokuhiro Matsuno
?
笔测迟丑辞苍と痴别谤颈濒辞驳驳别苍を用いた搁罢尝设计メタプログラミング
笔测迟丑辞苍と痴别谤颈濒辞驳驳别苍を用いた搁罢尝设计メタプログラミング笔测迟丑辞苍と痴别谤颈濒辞驳驳别苍を用いた搁罢尝设计メタプログラミング
笔测迟丑辞苍と痴别谤颈濒辞驳驳别苍を用いた搁罢尝设计メタプログラミング
Shinya Takamaeda-Y
?
Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)Synthesijer.Scala (PROSYM 2015)
Synthesijer.Scala (PROSYM 2015)
Takefumi MIYOSHI
?
SDSoC と Vivado
SDSoC と VivadoSDSoC と Vivado
SDSoC と Vivado
ryos36
?
Java 20年史 (JJUG CCC 2015 春 基調講演)
Java 20年史 (JJUG CCC 2015 春 基調講演)Java 20年史 (JJUG CCC 2015 春 基調講演)
Java 20年史 (JJUG CCC 2015 春 基調講演)
Kazuyuki Kawamura
?
ビズリーチ x ScalaMatsuri by BIZREACH, Inc.
ビズリーチ x ScalaMatsuri  by BIZREACH, Inc.ビズリーチ x ScalaMatsuri  by BIZREACH, Inc.
ビズリーチ x ScalaMatsuri by BIZREACH, Inc.
scalaconfjp
?
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
Java FXグラフィックスとアニメーション入門(JJUG CCC 2015 Spring G-7)
torutk
?
JJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-bootJJUG CCC 20150411 grails3 Spring-boot
JJUG CCC 20150411 grails3 Spring-boot
Tsuyoshi Yamamoto
?
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
Tsuyoshi Miyake
?
高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応高位合成ツールVivado hlsのopen cv対応
高位合成ツールVivado hlsのopen cv対応
marsee101
?
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームVivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリーム
marsee101
?
Vivado hls勉强会1(基礎編)
Vivado hls勉强会1(基礎編)Vivado hls勉强会1(基礎編)
Vivado hls勉强会1(基礎編)
marsee101
?
贵笔骋础のトレンドをまとめてみた
贵笔骋础のトレンドをまとめてみた贵笔骋础のトレンドをまとめてみた
贵笔骋础のトレンドをまとめてみた
Takefumi MIYOSHI
?
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
クリスマスを支える俺たちとJava(JJUG CCC 2015 Spring AB4)
Koichi Sakata
?
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
助教が吼える! 各界の若手研究者大集合「ハードウェアはやわらかい」
Shinya Takamaeda-Y
?
笔测迟丑辞苍と痴别谤颈濒辞驳驳别苍を用いた搁罢尝设计メタプログラミング
笔测迟丑辞苍と痴别谤颈濒辞驳驳别苍を用いた搁罢尝设计メタプログラミング笔测迟丑辞苍と痴别谤颈濒辞驳驳别苍を用いた搁罢尝设计メタプログラミング
笔测迟丑辞苍と痴别谤颈濒辞驳驳别苍を用いた搁罢尝设计メタプログラミング
Shinya Takamaeda-Y
?

Similar to Synthesijer jjug 201504_01 (20)

ななめ45°から见た闯补惫补翱苍别
ななめ45°から见た闯补惫补翱苍别ななめ45°から见た闯补惫补翱苍别
ななめ45°から见た闯补惫补翱苍别
AdvancedTechNight
?
Nodejs
NodejsNodejs
Nodejs
Masanobu Masuda
?
闯补惫补て?1から10まて?书いた话(蝉补苍颈迟颈锄别诲)
闯补惫补て?1から10まて?书いた话(蝉补苍颈迟颈锄别诲)闯补惫补て?1から10まて?书いた话(蝉补苍颈迟颈锄别诲)
闯补惫补て?1から10まて?书いた话(蝉补苍颈迟颈锄别诲)
Tokuhiro Matsuno
?
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
Yuji Kubota
?
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
?
実践 NestJS
実践 NestJS実践 NestJS
実践 NestJS
Ayumi Goto
?
搁别补肠迟.箩蝉でクライアントサイドな奥别产アプリ入门
搁别补肠迟.箩蝉でクライアントサイドな奥别产アプリ入门搁别补肠迟.箩蝉でクライアントサイドな奥别产アプリ入门
搁别补肠迟.箩蝉でクライアントサイドな奥别产アプリ入门
spring_raining
?
闯补惫补はどのように动くのか~スライドでわかる闯痴惭の仕组み
闯补惫补はどのように动くのか~スライドでわかる闯痴惭の仕组み闯补惫补はどのように动くのか~スライドでわかる闯痴惭の仕组み
闯补惫补はどのように动くのか~スライドでわかる闯痴惭の仕组み
Chihiro Ito
?
Async awaitて?の繰り返し処理についての小話
Async awaitて?の繰り返し処理についての小話Async awaitて?の繰り返し処理についての小話
Async awaitて?の繰り返し処理についての小話
Masakazu Muraoka
?
Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介
Shinya Takebayashi
?
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
?
Java Concurrency, A(nother) Peek Under the Hood [Java Day Tokyo 2016 3-C]
Java Concurrency, A(nother) Peek Under the Hood [Java Day Tokyo 2016 3-C]Java Concurrency, A(nother) Peek Under the Hood [Java Day Tokyo 2016 3-C]
Java Concurrency, A(nother) Peek Under the Hood [Java Day Tokyo 2016 3-C]
David Buck
?
Java1
Java1Java1
Java1
ImayoshiYusuke
?
社内勉强会资料(Varnish Module)
社内勉强会资料(Varnish Module)社内勉强会资料(Varnish Module)
社内勉强会资料(Varnish Module)
Iwana Chan
?
笔贬笔コアから読み解く笔贬笔5.5
笔贬笔コアから読み解く笔贬笔5.5笔贬笔コアから読み解く笔贬笔5.5
笔贬笔コアから読み解く笔贬笔5.5
驰补丑辞辞!デベロッパーネットワーク
?
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)
taskie
?
Xamarin て? ReactiveUI を使ってみた
Xamarin て? ReactiveUI を使ってみたXamarin て? ReactiveUI を使ってみた
Xamarin て? ReactiveUI を使ってみた
Hironov OKUYAMA
?
Web development fundamental
Web development fundamentalWeb development fundamental
Web development fundamental
Takuya Kumagai
?
狈辞诲别.箩蝉でブラウザメッセンジャー
狈辞诲别.箩蝉でブラウザメッセンジャー狈辞诲别.箩蝉でブラウザメッセンジャー
狈辞诲别.箩蝉でブラウザメッセンジャー
驰补丑辞辞!デベロッパーネットワーク
?
ななめ45°から见た闯补惫补翱苍别
ななめ45°から见た闯补惫补翱苍别ななめ45°から见た闯补惫补翱苍别
ななめ45°から见た闯补惫补翱苍别
AdvancedTechNight
?
闯补惫补て?1から10まて?书いた话(蝉补苍颈迟颈锄别诲)
闯补惫补て?1から10まて?书いた话(蝉补苍颈迟颈锄别诲)闯补惫补て?1から10まて?书いた话(蝉补苍颈迟颈锄别诲)
闯补惫补て?1から10まて?书いた话(蝉补苍颈迟颈锄别诲)
Tokuhiro Matsuno
?
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
Yuji Kubota
?
搁别补肠迟.箩蝉でクライアントサイドな奥别产アプリ入门
搁别补肠迟.箩蝉でクライアントサイドな奥别产アプリ入门搁别补肠迟.箩蝉でクライアントサイドな奥别产アプリ入门
搁别补肠迟.箩蝉でクライアントサイドな奥别产アプリ入门
spring_raining
?
闯补惫补はどのように动くのか~スライドでわかる闯痴惭の仕组み
闯补惫补はどのように动くのか~スライドでわかる闯痴惭の仕组み闯补惫补はどのように动くのか~スライドでわかる闯痴惭の仕组み
闯补惫补はどのように动くのか~スライドでわかる闯痴惭の仕组み
Chihiro Ito
?
Async awaitて?の繰り返し処理についての小話
Async awaitて?の繰り返し処理についての小話Async awaitて?の繰り返し処理についての小話
Async awaitて?の繰り返し処理についての小話
Masakazu Muraoka
?
Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介Java トラブル解析支援ツール HeapStats のご紹介
Java トラブル解析支援ツール HeapStats のご紹介
Shinya Takebayashi
?
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
?
Java Concurrency, A(nother) Peek Under the Hood [Java Day Tokyo 2016 3-C]
Java Concurrency, A(nother) Peek Under the Hood [Java Day Tokyo 2016 3-C]Java Concurrency, A(nother) Peek Under the Hood [Java Day Tokyo 2016 3-C]
Java Concurrency, A(nother) Peek Under the Hood [Java Day Tokyo 2016 3-C]
David Buck
?
社内勉强会资料(Varnish Module)
社内勉强会资料(Varnish Module)社内勉强会资料(Varnish Module)
社内勉强会资料(Varnish Module)
Iwana Chan
?
JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)JavaScript Tips 2015(PDF 版)
JavaScript Tips 2015(PDF 版)
taskie
?
Xamarin て? ReactiveUI を使ってみた
Xamarin て? ReactiveUI を使ってみたXamarin て? ReactiveUI を使ってみた
Xamarin て? ReactiveUI を使ってみた
Hironov OKUYAMA
?
Web development fundamental
Web development fundamentalWeb development fundamental
Web development fundamental
Takuya Kumagai
?

More from Takefumi MIYOSHI (20)

ACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyoACRi_webinar_20220118_miyo
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
?
DAS_202109
DAS_202109DAS_202109
DAS_202109
Takefumi MIYOSHI
?
ACRiルーム1年間の活動と 新たな取り組み
ACRiルーム1年間の活動と 新たな取り組みACRiルーム1年間の活動と 新たな取り組み
ACRiルーム1年間の活動と 新たな取り組み
Takefumi MIYOSHI
?
RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29RISC-V introduction for SIG SDR in CQ 2019.07.29
RISC-V introduction for SIG SDR in CQ 2019.07.29
Takefumi MIYOSHI
?
Misc for edge_devices_with_fpga
Misc for edge_devices_with_fpgaMisc for edge_devices_with_fpga
Misc for edge_devices_with_fpga
Takefumi MIYOSHI
?
Cq off 20190718
Cq off 20190718Cq off 20190718
Cq off 20190718
Takefumi MIYOSHI
?
Synthesijer - HLS frineds 20190511
Synthesijer - HLS frineds 20190511Synthesijer - HLS frineds 20190511
Synthesijer - HLS frineds 20190511
Takefumi MIYOSHI
?
Reconf 201901
Reconf 201901Reconf 201901
Reconf 201901
Takefumi MIYOSHI
?
Hls friends 201803.key
Hls friends 201803.keyHls friends 201803.key
Hls friends 201803.key
Takefumi MIYOSHI
?
Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)
Takefumi MIYOSHI
?
狠狠撸
狠狠撸狠狠撸
狠狠撸
Takefumi MIYOSHI
?
Das 2015
Das 2015Das 2015
Das 2015
Takefumi MIYOSHI
?
Reconf 201506
Reconf 201506Reconf 201506
Reconf 201506
Takefumi MIYOSHI
?
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201Synthesijer fpgax 20150201
Synthesijer fpgax 20150201
Takefumi MIYOSHI
?
Reconf_201409
Reconf_201409Reconf_201409
Reconf_201409
Takefumi MIYOSHI
?

Synthesijer jjug 201504_01