SlideShare a Scribd company logo
1 of 29
Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Cortex-M0プロセッサから自作して
Lチカをやってみた
秋田純一(金沢大)
@akita11
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介
 本業:(機能つき)イメージセンサ
 金沢大(’98~’00・’04~)
 公立はこだて未来大(’00~’04)
 ’95〜’00:はこだて未来大 計画策定委員
 副業:はんだ付け
 小4から大須(名古屋の秋葉原)通い
 好きなはんだはPb:Sn=60:40
 「集積回路を作って使う」研究
 ※意外と、こういうバックグラウンドの
LSI/回路研究者は少ない?
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介(おまけ)
mbedでLチカしてみると気づく、
「ちゃんとした回路の計算」の意義
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介(おまけ:2)
http://deviceplus.jp/people/eagle-eye/
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
LSIの進化の歴史:Mooreの法則
ref: http://www.intel.com/jp/intel/museum/processor/index.htm
傾き:×約1.5/年
G.Mooreが1965年に論文[1]で述べる→C.Meadが「法則」と命名→「予測」→「指針(目標)」へ
[1] G.E.Moore, "Cramming more components onto integrated circuits," IEEE Solid-State Circuit Newsletter, Vol.11, No.5, pp.33-35, 1965.
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
ムーアの法則とコンピュータの歴史
DEC VAX(1976)
1MIPS
Cray-1 (1978)
100MIPS
MIPS:Million Instruction Per Second (1秒間に実行できる命令数)
(世界最初のスーパーコンピュータ)
「世界トップの高速化」+「身近なものにも高速化の恩恵」の2つの側面がある
20000MIPS
10MIPS
100MIPS
20MIPS
20000MIPS
109MFLOPS
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータ:「CPU」から「原子」に
Atmel ATtinyシリーズ
(ふりかけマイコン)
出典:ARM
Ubiquitous→IoT /IoE / CPS / M2M
IoT = Internet of Things
IoE = Internet of Everything
CPS = Cyber Physical System
M2M = Machine to Machine
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「LED点滅(Lチカ)」のパラダイムシフト
コスト面:マイコン○(「もったいなくない」)
機能面:マイコン○(多機能・仕様変更も容易)
「集積回路の低価格化」が起こした
「コンピュータ=部品」へのパラダイムシフト
マイコン使用
部品点数=1
コスト:100円
発振回路(555)
部品点数=4
コスト:150円
while(1){
a = 1;
sleep(1);
a = 0;
sleep(1);
}
※さすがにPCではちょっと・・・
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
※ウソです
広辞林(第6版)より
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
日本工業標準調査会(JISC)
JIS規格一覧
※ウソです
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
集積回路は「道具」になっているか?
高性能な「汎用品」:道具になった
(マイコン、FPGA、オペアンプ、・・・)
「専用品」(カスタムLSI)は?:現状、無理
例:学部1年生にLSIを作らせる?
「高いんだぞ・・・」「失敗したらシャレにならんぞ」
「ツールの使い方が難しいぞ」
「基礎知識(回路理論など)をいっぱい勉強しろ」
「ちゃんと動かすのは難しいぞ」
TATが長い(=チップが届くころには忘れている)
作れない→経験できない→学べない
11
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
LSIは「道具」になっているか?:調査
https://www.youtube.com/watch?v=A188CYfuKQ0
http://www.nicovideo.jp/watch/sm23660093
CMOS 0.18um 5Al
2.5mm x 2.5mm
RingOSC x 1001
T-FF (Div)
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
LチカLSI動画:ニコ動でのコメント
 こっから?
 ニコ技界のTOKIO
 ゲートの無駄遣い
 ここから!!?
 ひでえ、勿体ない使い方wwwww
 マジかよ。レジストレベルの設計とか
ガチすぎる。
 無駄遣い過ぎるだろw
 贅沢というかなんというか
 え?まじでここからかよ」wwww」」
 IC版FusionPCB的なところが現れれば・・・
 (FPGAでは)いかんのか?
 俺はFPGAで我慢することにする
 いや、そこまでは必要ないです
 量産品すらFPGA使う時代に専用LSI・・・
 アマチュアはFPGAで良いんだよなぁ・・・w
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
集積回路を「つくる」ためのハードル
設計CAD
市販の業務用CAD: 高すぎ、高機能すぎ
製造方法
高すぎ、時間かかりすぎ(1000万円・半年)
NDA(設計ルールなどのアクセス制限)が厳しすぎ
ユーザ・コミュニティ
参入障壁:現状は専門家ばかり
“How”の専門家は多いが、”Why/What”は皆無
例:IoT時代のTrillion Sensor←経済的な方策(設置・運用)は?
例:エナジーハーベストで動く永久センサノード←いずれ故障する
※半導体業界の人気がないのは、
半導体業界の苦境、は原因ではないと思う
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「カスタムIC」ならではのことは?
実世界との界面
センサ、アクチュエータ(MEMS)
アナログ回路
超LowPower
カスタムマイコン
15
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
LSIを道具にするために: MakeLSI:
情報収集・整理
フリーCADなど(けっこうある)
VDEC非依存の環境で
仲間さがし
参加条件:特になし(アツい心)
けっこういる(100名程度)
プロ・経験者〜SWエンジニア〜主婦
http://ifdl.jp/make_lsi
Wgex(浅田先生作)
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
MakeLSI: まずはやってみた
2015年7月~8月&2016年7月~8月
参加:
2015年:8人・9種類@2チップ(高専生~ギーク~元プロ)
2016年:11人・13種類@2チップ(高専生~プロ~主婦)
IP蓄積が異様に速い(オープンソース/Github)
Linuxのような、オープンソース&分散型IP開発の可能性?
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「道具」としてのLSIを持つこと
ふつうの情報工学の研究・・・「あるもの」を使う
カメラ、Kinect、マイコン、FPGA・・・
新技術で、一気にパラダイムが変わることがある
「LSIをつくれる」という道具
=「いまできること」という発想から脱却
「カメラをつくれる」→画素をいじってみる
「容量センサをつくれる」→回路とつなげる
Depth画像
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「DIYマイコン」はどうか?
ARM Cortex-M0 DesignStartプログラム
誰でも申請OK、評価目的でCortex-M0のHDLソース
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「自作Cortex-M0でLチカ」:概要
0: 23a0 movs r3, #160 ; 0xa0
2: 05db lsls r3, r3, #23
4: 4c0b ldr r4, [pc, #44]
6: 4f0c ldr r7, [pc, #48]
8: 2201 movs r2, #1
a: 601a str r2, [r3, #0]
c: 2500 movs r5, #0
e: 6025 str r5, [r4, #0]
10: 2600 movs r6, #0
12: 3601 adds r6, #1
14: 42be cmp r6, r7
16: d1fc bne.n 12 <main+0x12>
18: 3501 adds r5, #1
1a: 2dff cmp r5, #255 ; 0xff
1c: d1f7 bne.n e <main+0xe>
1e: 2200 movs r2, #0
20: 601a str r2, [r3, #0]
22: 25ff movs r5, #255 ; 0xff
24: 2600 movs r6, #0
26: 3601 adds r6, #1
28: 42be cmp r6, r7
2a: d1fc bne.n 26 <main+0x26>
2c: 3d01 subs r5, #1
2e: 2d00 cmp r5, #0
30: d1f8 bne.n 24 <main+0x24>
32: e7e9 b.n 8 <main+0x8>
34: 50000004
38: 0000270f
#define GPIO 0x50000000
#define PWMDUTY 0x50000001
#define WAIT 10000 // 3,000,000=0.3s / 256 -> 10,000
void main()
{
volatile unsigned int w;
volatile unsigned int d;
while(1){
*(volatile unsigned int *)GPIO = 0x0001;
for (d = 0; d < 256; d++){
*(volatile unsigned int *)PWMDUTY = d;
for (w = 0; w < WAIT; w++);
}
*(volatile unsigned int *)GPIO = 0x0000;
for (d = 255; d >= 0; d--){
*(volatile unsigned int *)PWMDUTY = d;
for (w = 0; w < WAIT; w++);
}
}
}
arm-gcc/gas
VerilogHDL
module imem(clk, addr, data2);
input clk;
input [31:0] addr;
output [31:0] data2;
reg [31:0] data, data2;
// 0x00000000 - 0x1fffffff : code (0x00000000-0x000000c0: int.vec.)
// code memory: little-endian (LSB=1st byte / MSB=2nd byte)
wire [31:0] addr2;
assign addr2 = {addr[31:2], 2'b00};
always @(addr2) begin
case (addr2)
32'h00000000 : data <= 32'h0020000; // insital SP
32'h00000004 : data <= 32'h0000101; // reset (bit[0]=T)
32'h00000100 : data <= {16'h05db,16'h23a0};
32'h00000104 : data <= {16'h4f0d,16'h4c0c};
32'h00000108 : data <= {16'h601a,16'h2201};
32'h0000010c : data <= {16'h6025,16'h2500};
32'h00000110 : data <= {16'h3601,16'h2600};
32'h00000114 : data <= {16'hd1fc,16'h42be};
32'h00000118 : data <= {16'h2dff,16'h3501};
32'h0000011c : data <= {16'h2200,16'hd1f7};
32'h00000120 : data <= {16'h25ff,16'h601a};
32'h00000124 : data <= {16'h2600,16'h6025};
32'h00000128 : data <= {16'h42be,16'h3601};
32'h0000012c : data <= {16'h3d01,16'hd1fc};
32'h00000130 : data <= {16'hd1f7,16'h2d00};
32'h00000134 : data <= {16'h0000,16'he7e8};
32'h00000138 : data <= 32'h50000004;
32'h0000013c : data <= 32'd1999;
default: data <= 32'h0;
endcase
end
always @(posedge clk) begin
data2 <= data;
end
endmodule
「Lチカ」&「Lほわ」
Thumb命令
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「自作Cortex-M0でLチカ」:メモリマップ
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Lチカ専用Cortex-M0」:設計してみた
CMOS 0.18um 5Al
0.55mm x 0.65mm
※このチップの設計は、東京大学大規模集積システム設計教育研究センターを通し、
日本ケイデンス株式会社、シノプシス株式会社研究センターの協力で行われたものです。
※このチップの設計で使用したライブラリは、京都大学情報学研究科 田丸・小野寺研究室の
成果によるもので、京都工芸繊維大学 小林和淑教授によりリリースされたものです。
※このチップの試作は、東京大学大規模集積システム設計教育研究センターを通し、
ローム(株)および凸版印刷(株)の協力で行われたものです。
Synopsys
Design Compiler
& IC Compiler
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Lチカ専用Cortex-M0」:製造してみた
※基板はスイッチサイエンスPCBで製造
※クロック周波数=10MHz
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Lチカ専用Cortex-M0」:動作させてみた
詳細はこちら→https://www.youtube.com/watch?v=Ptb5kcw3QtY / niconico: sm30093578
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
DIYマイコン:どう作る?ミニマルファブ
0.5インチウエハ・局所クリーン化・DLP露光
工程ごとの小型装置群
小ロットのLSI製造
加工寸法:1um程度
単TAT(1〜2日)
pMOS, nMOS:OK
→CMOS回路へ/MEMS
一部装置は既に販売開始
CMOS製造装置群&製造サービスはあと数年?
基板界での「P板.com」や「スイッチサイエンスPCB」に
似た位置づけ
http://unit.aist.go.jp/neri/mini-sys/fabsystem/minimalfab.html
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
1um?0.5in?いえいえ、けっこう使えます
1[um]/3Alプロセス・0.5inウエハに
Cortex-M0コアが4ショットは入る
カスタムなペリフェラル・アナログ・センサ・MEMS
の混載も(これが数万円&1週間@1個から)
※0.18[um]/3Alでの配置配線結果の
レイアウトデータ(GDS)を1/0.18=28倍に
拡大して作成
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Cortex-M0 DSの可能性:SWとHWの継続
電子回路→コンピュータの継続性
本来はつながっている知識学問体系
・・・全体を通して理解している人がいるか?
2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
似た現象?:化学〜生物学・医学
化学〜生物学・医学の学問体系
脳・知能
生物(多細胞生物)
細胞
タンパク質・DNA
分子・原子
SWとHWが分断すると・・・?
「ガン化するトランジスタ」:確率的に’0’にならない
論理回路(量子効果)
SWからは「ガン」にしか見えない?(対処療法)
超えられない壁?

More Related Content

What's hot

様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題tmaehara
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとはTakuya Akiba
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装MITSUNARI Shigeo
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門Kimikazu Kato
 
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)Shirou Maruyama
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~Nobuhisa Koizumi
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxpsMITSUNARI Shigeo
 
Quine・難解プログラミングについて
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについてmametter
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdfcatupper
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~Takuya Akiba
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらいHideo Terada
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方uchan_nos
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたMITSUNARI Shigeo
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界Preferred Networks
 

What's hot (20)

辺彩色
辺彩色辺彩色
辺彩色
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
 
勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは勉強か?趣味か?人生か?―プログラミングコンテストとは
勉強か?趣味か?人生か?―プログラミングコンテストとは
 
高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装高速な倍精度指数関数expの実装
高速な倍精度指数関数expの実装
 
純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
 
プログラムを高速化する話
プログラムを高速化する話プログラムを高速化する話
プログラムを高速化する話
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
 
F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~F#入門 ~関数プログラミングとは何か~
F#入門 ~関数プログラミングとは何か~
 
条件分岐とcmovとmaxps
条件分岐とcmovとmaxps条件分岐とcmovとmaxps
条件分岐とcmovとmaxps
 
C++ マルチスレッド 入門
C++ マルチスレッド 入門C++ マルチスレッド 入門
C++ マルチスレッド 入門
 
Quine・難解プログラミングについて
Quine・難解プログラミングについてQuine・難解プログラミングについて
Quine・難解プログラミングについて
 
最大流 (max flow)
最大流 (max flow)最大流 (max flow)
最大流 (max flow)
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
 
明日使えないすごいビット演算
明日使えないすごいビット演算明日使えないすごいビット演算
明日使えないすごいビット演算
 
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
プログラミングコンテストでのデータ構造 2 ~平衡二分探索木編~
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらい
 
30分で分かる!OSの作り方
30分で分かる!OSの作り方30分で分かる!OSの作り方
30分で分かる!OSの作り方
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
 

Viewers also liked

集積回路が真の道具になるために
集積回路が真の道具になるために集積回路が真の道具になるために
集積回路が真の道具になるためにJunichi Akita
 
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法Kentaro Sano
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)Takeshi HASEGAWA
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAryos36
 
cocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたcocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたHideyuki TAKEI
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)Shinya Takamaeda-Y
 
Golang, make and robotics #gocon
Golang, make and robotics #goconGolang, make and robotics #gocon
Golang, make and robotics #goconHideyuki TAKEI
 
IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine LearningIkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning Takeshi HASEGAWA
 
Beatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングBeatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングHideyuki TAKEI
 
電子回路の民主化とその実践
電子回路の民主化とその実践電子回路の民主化とその実践
電子回路の民主化とその実践Junichi Akita
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動についてMr. Vengineer
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化ryos36
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門ryos36
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向Shinya Takamaeda-Y
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Shinya Takamaeda-Y
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたTakefumi MIYOSHI
 
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアTensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアMr. Vengineer
 

Viewers also liked (20)

集積回路が真の道具になるために
集積回路が真の道具になるために集積回路が真の道具になるために
集積回路が真の道具になるために
 
IkaLog20170316pynq_dist
IkaLog20170316pynq_distIkaLog20170316pynq_dist
IkaLog20170316pynq_dist
 
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
FPGAによる津波シミュレーション -- GPUを超える高性能計算の手法
 
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
IkaLog: Data Collector for Splatoon and Machine Learning (Jan 2017 @ Softbank)
 
Klabの梅雨対策
Klabの梅雨対策Klabの梅雨対策
Klabの梅雨対策
 
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGAPolyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
 
cocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみたcocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみた
 
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)
 
Golang, make and robotics #gocon
Golang, make and robotics #goconGolang, make and robotics #gocon
Golang, make and robotics #gocon
 
IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine LearningIkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning
 
Beatroboでのハードウェアプロトタイピング
BeatroboでのハードウェアプロトタイピングBeatroboでのハードウェアプロトタイピング
Beatroboでのハードウェアプロトタイピング
 
電子回路の民主化とその実践
電子回路の民主化とその実践電子回路の民主化とその実践
電子回路の民主化とその実践
 
2017年のFPGA Community活動について
2017年のFPGA Community活動について2017年のFPGA Community活動について
2017年のFPGA Community活動について
 
Polyphony の並列化
Polyphony の並列化Polyphony の並列化
Polyphony の並列化
 
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
 
FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向FPGA・リコンフィギャラブルシステム研究の最新動向
FPGA・リコンフィギャラブルシステム研究の最新動向
 
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
 
Gpu vs fpga
Gpu vs fpgaGpu vs fpga
Gpu vs fpga
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェアTensorFlow XLA とハードウェア
TensorFlow XLA とハードウェア
 

Similar to Cortex-M0プロセッサから自作して Lチカをやってみた

自作LSIコミュニティの可能性
自作LSIコミュニティの可能性自作LSIコミュニティの可能性
自作LSIコミュニティの可能性Junichi Akita
 
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Makerの「道具」としてのLSI~「LED点滅用のLSIをつくって  Lチカをやってみた」のココロ~(MakerFaireTokyo2014)Makerの「道具」としてのLSI~「LED点滅用のLSIをつくって  Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)Junichi Akita
 
揚げて炙ってわかる半導体
揚げて炙ってわかる半導体揚げて炙ってわかる半導体
揚げて炙ってわかる半導体Junichi Akita
 
道具としての半導体設計:Lチカを題材として
道具としての半導体設計:Lチカを題材として道具としての半導体設計:Lチカを題材として
道具としての半導体設計:Lチカを題材としてJunichi Akita
 
自作RISC-VチップでLチカをやってみた
自作RISC-VチップでLチカをやってみた自作RISC-VチップでLチカをやってみた
自作RISC-VチップでLチカをやってみたJunichi Akita
 
Makeの最後の砦(ラスボス):半導体への挑戦
Makeの最後の砦(ラスボス):半導体への挑戦Makeの最後の砦(ラスボス):半導体への挑戦
Makeの最後の砦(ラスボス):半導体への挑戦Junichi Akita
 
Makerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSIMakerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSIJunichi Akita
 
道具としての半導体:HCI分野での例
道具としての半導体:HCI分野での例道具としての半導体:HCI分野での例
道具としての半導体:HCI分野での例Junichi Akita
 
つくってドヤると楽しい
つくってドヤると楽しいつくってドヤると楽しい
つくってドヤると楽しいJunichi Akita
 
カスタムLSIが道具になるために
カスタムLSIが道具になるためにカスタムLSIが道具になるために
カスタムLSIが道具になるためにJunichi Akita
 
ニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみたニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみたJunichi Akita
 
集積回路工学第2・第13回資料
集積回路工学第2・第13回資料集積回路工学第2・第13回資料
集積回路工学第2・第13回資料Junichi Akita
 
炙ってわかる半導体とIT業界
炙ってわかる半導体とIT業界炙ってわかる半導体とIT業界
炙ってわかる半導体とIT業界Junichi Akita
 
道具としての「ハードウエア」
道具としての「ハードウエア」道具としての「ハードウエア」
道具としての「ハードウエア」Junichi Akita
 
Makeと半導体の過去と未来
Makeと半導体の過去と未来Makeと半導体の過去と未来
Makeと半導体の過去と未来Junichi Akita
 
チップレベルでカスタマイズできることで見える世界の体験
チップレベルでカスタマイズできることで見える世界の体験チップレベルでカスタマイズできることで見える世界の体験
チップレベルでカスタマイズできることで見える世界の体験Junichi Akita
 
左手サブキーボードを作り続けてみた
左手サブキーボードを作り続けてみた左手サブキーボードを作り続けてみた
左手サブキーボードを作り続けてみたJunichi Akita
 
産業としての半導体とムーアの法則
産業としての半導体とムーアの法則産業としての半導体とムーアの法則
産業としての半導体とムーアの法則Junichi Akita
 

Similar to Cortex-M0プロセッサから自作して Lチカをやってみた (20)

自作LSIコミュニティの可能性
自作LSIコミュニティの可能性自作LSIコミュニティの可能性
自作LSIコミュニティの可能性
 
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Makerの「道具」としてのLSI~「LED点滅用のLSIをつくって  Lチカをやってみた」のココロ~(MakerFaireTokyo2014)Makerの「道具」としてのLSI~「LED点滅用のLSIをつくって  Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
 
揚げて炙ってわかる半導体
揚げて炙ってわかる半導体揚げて炙ってわかる半導体
揚げて炙ってわかる半導体
 
道具としての半導体設計:Lチカを題材として
道具としての半導体設計:Lチカを題材として道具としての半導体設計:Lチカを題材として
道具としての半導体設計:Lチカを題材として
 
自作RISC-VチップでLチカをやってみた
自作RISC-VチップでLチカをやってみた自作RISC-VチップでLチカをやってみた
自作RISC-VチップでLチカをやってみた
 
Makeの最後の砦(ラスボス):半導体への挑戦
Makeの最後の砦(ラスボス):半導体への挑戦Makeの最後の砦(ラスボス):半導体への挑戦
Makeの最後の砦(ラスボス):半導体への挑戦
 
Makerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSIMakerの「道具」としてのカスタムLSI
Makerの「道具」としてのカスタムLSI
 
道具としての半導体:HCI分野での例
道具としての半導体:HCI分野での例道具としての半導体:HCI分野での例
道具としての半導体:HCI分野での例
 
つくってドヤると楽しい
つくってドヤると楽しいつくってドヤると楽しい
つくってドヤると楽しい
 
カスタムLSIが道具になるために
カスタムLSIが道具になるためにカスタムLSIが道具になるために
カスタムLSIが道具になるために
 
ニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみたニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみた
 
集積回路工学第2・第13回資料
集積回路工学第2・第13回資料集積回路工学第2・第13回資料
集積回路工学第2・第13回資料
 
炙ってわかる半導体とIT業界
炙ってわかる半導体とIT業界炙ってわかる半導体とIT業界
炙ってわかる半導体とIT業界
 
道具としての「ハードウエア」
道具としての「ハードウエア」道具としての「ハードウエア」
道具としての「ハードウエア」
 
Makeと半導体の過去と未来
Makeと半導体の過去と未来Makeと半導体の過去と未来
Makeと半導体の過去と未来
 
チップレベルでカスタマイズできることで見える世界の体験
チップレベルでカスタマイズできることで見える世界の体験チップレベルでカスタマイズできることで見える世界の体験
チップレベルでカスタマイズできることで見える世界の体験
 
Imaocande LT
Imaocande LTImaocande LT
Imaocande LT
 
左手サブキーボードを作り続けてみた
左手サブキーボードを作り続けてみた左手サブキーボードを作り続けてみた
左手サブキーボードを作り続けてみた
 
産業としての半導体とムーアの法則
産業としての半導体とムーアの法則産業としての半導体とムーアの法則
産業としての半導体とムーアの法則
 
Introduction of FPGA
Introduction of FPGAIntroduction of FPGA
Introduction of FPGA
 

More from Junichi Akita

M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)Junichi Akita
 
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)Junichi Akita
 
日本の「ものづくり」の可能性:中国深センとの比較を通して
日本の「ものづくり」の可能性:中国深センとの比較を通して日本の「ものづくり」の可能性:中国深センとの比較を通して
日本の「ものづくり」の可能性:中国深センとの比較を通してJunichi Akita
 
分解のススメHyperの読みどころ
分解のススメHyperの読みどころ分解のススメHyperの読みどころ
分解のススメHyperの読みどころJunichi Akita
 
深センで半年間住んでMakeと研究をしてみた
深センで半年間住んでMakeと研究をしてみた深センで半年間住んでMakeと研究をしてみた
深センで半年間住んでMakeと研究をしてみたJunichi Akita
 
日本での電子回路の導入教育の可能性:中国との比較を通して
日本での電子回路の導入教育の可能性:中国との比較を通して日本での電子回路の導入教育の可能性:中国との比較を通して
日本での電子回路の導入教育の可能性:中国との比較を通してJunichi Akita
 
中国と深センでの半導体とRISC-V業界事情
中国と深センでの半導体とRISC-V業界事情中国と深センでの半導体とRISC-V業界事情
中国と深センでの半導体とRISC-V業界事情Junichi Akita
 
タイプライターを改造してキーボードを作ってみた
タイプライターを改造してキーボードを作ってみたタイプライターを改造してキーボードを作ってみた
タイプライターを改造してキーボードを作ってみたJunichi Akita
 
3Dプリンタを改造してチップマウンタを作ってみたら物理的にForkされた件
3Dプリンタを改造してチップマウンタを作ってみたら物理的にForkされた件3Dプリンタを改造してチップマウンタを作ってみたら物理的にForkされた件
3Dプリンタを改造してチップマウンタを作ってみたら物理的にForkされた件Junichi Akita
 
中国でスタックチャンに会ってみた
中国でスタックチャンに会ってみた中国でスタックチャンに会ってみた
中国でスタックチャンに会ってみたJunichi Akita
 
M5Stackでインターンしてみた
M5StackでインターンしてみたM5Stackでインターンしてみた
M5StackでインターンしてみたJunichi Akita
 
STM32F互換マイコン(自称を含む)を 軽く解析してみた
STM32F互換マイコン(自称を含む)を軽く解析してみたSTM32F互換マイコン(自称を含む)を軽く解析してみた
STM32F互換マイコン(自称を含む)を 軽く解析してみたJunichi Akita
 
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)Junichi Akita
 
深センで2ヶ月過ごしていろいろ試してみた
深センで2ヶ月過ごしていろいろ試してみた深センで2ヶ月過ごしていろいろ試してみた
深センで2ヶ月過ごしていろいろ試してみたJunichi Akita
 
Makeと半導体の境界
Makeと半導体の境界Makeと半導体の境界
Makeと半導体の境界Junichi Akita
 
CH551/2/8/9を炙ってみた
CH551/2/8/9を炙ってみたCH551/2/8/9を炙ってみた
CH551/2/8/9を炙ってみたJunichi Akita
 
うっかりチップマウンタを自作して薄い本を書いてみた
うっかりチップマウンタを自作して薄い本を書いてみたうっかりチップマウンタを自作して薄い本を書いてみた
うっかりチップマウンタを自作して薄い本を書いてみたJunichi Akita
 
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性Junichi Akita
 
シリアルフラッシュを炙って比べてみた
シリアルフラッシュを炙って比べてみたシリアルフラッシュを炙って比べてみた
シリアルフラッシュを炙って比べてみたJunichi Akita
 
CH340を炙って削ってみた
CH340を炙って削ってみたCH340を炙って削ってみた
CH340を炙って削ってみたJunichi Akita
 

More from Junichi Akita (20)

M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
 
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
M5Stackで脱出ゲームのギミックを作ってみた件(M5StackユーザーミーティングLT)
 
日本の「ものづくり」の可能性:中国深センとの比較を通して
日本の「ものづくり」の可能性:中国深センとの比較を通して日本の「ものづくり」の可能性:中国深センとの比較を通して
日本の「ものづくり」の可能性:中国深センとの比較を通して
 
分解のススメHyperの読みどころ
分解のススメHyperの読みどころ分解のススメHyperの読みどころ
分解のススメHyperの読みどころ
 
深センで半年間住んでMakeと研究をしてみた
深センで半年間住んでMakeと研究をしてみた深センで半年間住んでMakeと研究をしてみた
深センで半年間住んでMakeと研究をしてみた
 
日本での電子回路の導入教育の可能性:中国との比較を通して
日本での電子回路の導入教育の可能性:中国との比較を通して日本での電子回路の導入教育の可能性:中国との比較を通して
日本での電子回路の導入教育の可能性:中国との比較を通して
 
中国と深センでの半導体とRISC-V業界事情
中国と深センでの半導体とRISC-V業界事情中国と深センでの半導体とRISC-V業界事情
中国と深センでの半導体とRISC-V業界事情
 
タイプライターを改造してキーボードを作ってみた
タイプライターを改造してキーボードを作ってみたタイプライターを改造してキーボードを作ってみた
タイプライターを改造してキーボードを作ってみた
 
3Dプリンタを改造してチップマウンタを作ってみたら物理的にForkされた件
3Dプリンタを改造してチップマウンタを作ってみたら物理的にForkされた件3Dプリンタを改造してチップマウンタを作ってみたら物理的にForkされた件
3Dプリンタを改造してチップマウンタを作ってみたら物理的にForkされた件
 
中国でスタックチャンに会ってみた
中国でスタックチャンに会ってみた中国でスタックチャンに会ってみた
中国でスタックチャンに会ってみた
 
M5Stackでインターンしてみた
M5StackでインターンしてみたM5Stackでインターンしてみた
M5Stackでインターンしてみた
 
STM32F互換マイコン(自称を含む)を 軽く解析してみた
STM32F互換マイコン(自称を含む)を軽く解析してみたSTM32F互換マイコン(自称を含む)を軽く解析してみた
STM32F互換マイコン(自称を含む)を 軽く解析してみた
 
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
基板設計の基礎知識と実践(別名:基板と仲良くなる方法)
 
深センで2ヶ月過ごしていろいろ試してみた
深センで2ヶ月過ごしていろいろ試してみた深センで2ヶ月過ごしていろいろ試してみた
深センで2ヶ月過ごしていろいろ試してみた
 
Makeと半導体の境界
Makeと半導体の境界Makeと半導体の境界
Makeと半導体の境界
 
CH551/2/8/9を炙ってみた
CH551/2/8/9を炙ってみたCH551/2/8/9を炙ってみた
CH551/2/8/9を炙ってみた
 
うっかりチップマウンタを自作して薄い本を書いてみた
うっかりチップマウンタを自作して薄い本を書いてみたうっかりチップマウンタを自作して薄い本を書いてみた
うっかりチップマウンタを自作して薄い本を書いてみた
 
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
 
シリアルフラッシュを炙って比べてみた
シリアルフラッシュを炙って比べてみたシリアルフラッシュを炙って比べてみた
シリアルフラッシュを炙って比べてみた
 
CH340を炙って削ってみた
CH340を炙って削ってみたCH340を炙って削ってみた
CH340を炙って削ってみた
 

Cortex-M0プロセッサから自作して Lチカをやってみた

  • 1. Interface Device Laboratory, Kanazawa University http://ifdl.jp/ Cortex-M0プロセッサから自作して Lチカをやってみた 秋田純一(金沢大) @akita11
  • 2. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 自己紹介  本業:(機能つき)イメージセンサ  金沢大(’98~’00・’04~)  公立はこだて未来大(’00~’04)  ’95〜’00:はこだて未来大 計画策定委員  副業:はんだ付け  小4から大須(名古屋の秋葉原)通い  好きなはんだはPb:Sn=60:40  「集積回路を作って使う」研究  ※意外と、こういうバックグラウンドの LSI/回路研究者は少ない?
  • 3. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 自己紹介(おまけ) mbedでLチカしてみると気づく、 「ちゃんとした回路の計算」の意義
  • 4. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 自己紹介(おまけ:2) http://deviceplus.jp/people/eagle-eye/
  • 5. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ LSIの進化の歴史:Mooreの法則 ref: http://www.intel.com/jp/intel/museum/processor/index.htm 傾き:×約1.5/年 G.Mooreが1965年に論文[1]で述べる→C.Meadが「法則」と命名→「予測」→「指針(目標)」へ [1] G.E.Moore, "Cramming more components onto integrated circuits," IEEE Solid-State Circuit Newsletter, Vol.11, No.5, pp.33-35, 1965.
  • 6. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ ムーアの法則とコンピュータの歴史 DEC VAX(1976) 1MIPS Cray-1 (1978) 100MIPS MIPS:Million Instruction Per Second (1秒間に実行できる命令数) (世界最初のスーパーコンピュータ) 「世界トップの高速化」+「身近なものにも高速化の恩恵」の2つの側面がある 20000MIPS 10MIPS 100MIPS 20MIPS 20000MIPS 109MFLOPS
  • 7. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ コンピュータ:「CPU」から「原子」に Atmel ATtinyシリーズ (ふりかけマイコン) 出典:ARM Ubiquitous→IoT /IoE / CPS / M2M IoT = Internet of Things IoE = Internet of Everything CPS = Cyber Physical System M2M = Machine to Machine
  • 8. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「LED点滅(Lチカ)」のパラダイムシフト コスト面:マイコン○(「もったいなくない」) 機能面:マイコン○(多機能・仕様変更も容易) 「集積回路の低価格化」が起こした 「コンピュータ=部品」へのパラダイムシフト マイコン使用 部品点数=1 コスト:100円 発振回路(555) 部品点数=4 コスト:150円 while(1){ a = 1; sleep(1); a = 0; sleep(1); } ※さすがにPCではちょっと・・・
  • 9. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ ※ウソです 広辞林(第6版)より
  • 10. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 日本工業標準調査会(JISC) JIS規格一覧 ※ウソです
  • 11. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 集積回路は「道具」になっているか? 高性能な「汎用品」:道具になった (マイコン、FPGA、オペアンプ、・・・) 「専用品」(カスタムLSI)は?:現状、無理 例:学部1年生にLSIを作らせる? 「高いんだぞ・・・」「失敗したらシャレにならんぞ」 「ツールの使い方が難しいぞ」 「基礎知識(回路理論など)をいっぱい勉強しろ」 「ちゃんと動かすのは難しいぞ」 TATが長い(=チップが届くころには忘れている) 作れない→経験できない→学べない 11
  • 12. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ LSIは「道具」になっているか?:調査 https://www.youtube.com/watch?v=A188CYfuKQ0 http://www.nicovideo.jp/watch/sm23660093 CMOS 0.18um 5Al 2.5mm x 2.5mm RingOSC x 1001 T-FF (Div)
  • 13. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ LチカLSI動画:ニコ動でのコメント  こっから?  ニコ技界のTOKIO  ゲートの無駄遣い  ここから!!?  ひでえ、勿体ない使い方wwwww  マジかよ。レジストレベルの設計とか ガチすぎる。  無駄遣い過ぎるだろw  贅沢というかなんというか  え?まじでここからかよ」wwww」」  IC版FusionPCB的なところが現れれば・・・  (FPGAでは)いかんのか?  俺はFPGAで我慢することにする  いや、そこまでは必要ないです  量産品すらFPGA使う時代に専用LSI・・・  アマチュアはFPGAで良いんだよなぁ・・・w
  • 14. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 集積回路を「つくる」ためのハードル 設計CAD 市販の業務用CAD: 高すぎ、高機能すぎ 製造方法 高すぎ、時間かかりすぎ(1000万円・半年) NDA(設計ルールなどのアクセス制限)が厳しすぎ ユーザ・コミュニティ 参入障壁:現状は専門家ばかり “How”の専門家は多いが、”Why/What”は皆無 例:IoT時代のTrillion Sensor←経済的な方策(設置・運用)は? 例:エナジーハーベストで動く永久センサノード←いずれ故障する ※半導体業界の人気がないのは、 半導体業界の苦境、は原因ではないと思う
  • 15. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「カスタムIC」ならではのことは? 実世界との界面 センサ、アクチュエータ(MEMS) アナログ回路 超LowPower カスタムマイコン 15
  • 16. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ LSIを道具にするために: MakeLSI: 情報収集・整理 フリーCADなど(けっこうある) VDEC非依存の環境で 仲間さがし 参加条件:特になし(アツい心) けっこういる(100名程度) プロ・経験者〜SWエンジニア〜主婦 http://ifdl.jp/make_lsi Wgex(浅田先生作)
  • 17. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
  • 18. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ MakeLSI: まずはやってみた 2015年7月~8月&2016年7月~8月 参加: 2015年:8人・9種類@2チップ(高専生~ギーク~元プロ) 2016年:11人・13種類@2チップ(高専生~プロ~主婦) IP蓄積が異様に速い(オープンソース/Github) Linuxのような、オープンソース&分散型IP開発の可能性?
  • 19. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「道具」としてのLSIを持つこと ふつうの情報工学の研究・・・「あるもの」を使う カメラ、Kinect、マイコン、FPGA・・・ 新技術で、一気にパラダイムが変わることがある 「LSIをつくれる」という道具 =「いまできること」という発想から脱却 「カメラをつくれる」→画素をいじってみる 「容量センサをつくれる」→回路とつなげる Depth画像
  • 20. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「DIYマイコン」はどうか? ARM Cortex-M0 DesignStartプログラム 誰でも申請OK、評価目的でCortex-M0のHDLソース
  • 21. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「自作Cortex-M0でLチカ」:概要 0: 23a0 movs r3, #160 ; 0xa0 2: 05db lsls r3, r3, #23 4: 4c0b ldr r4, [pc, #44] 6: 4f0c ldr r7, [pc, #48] 8: 2201 movs r2, #1 a: 601a str r2, [r3, #0] c: 2500 movs r5, #0 e: 6025 str r5, [r4, #0] 10: 2600 movs r6, #0 12: 3601 adds r6, #1 14: 42be cmp r6, r7 16: d1fc bne.n 12 <main+0x12> 18: 3501 adds r5, #1 1a: 2dff cmp r5, #255 ; 0xff 1c: d1f7 bne.n e <main+0xe> 1e: 2200 movs r2, #0 20: 601a str r2, [r3, #0] 22: 25ff movs r5, #255 ; 0xff 24: 2600 movs r6, #0 26: 3601 adds r6, #1 28: 42be cmp r6, r7 2a: d1fc bne.n 26 <main+0x26> 2c: 3d01 subs r5, #1 2e: 2d00 cmp r5, #0 30: d1f8 bne.n 24 <main+0x24> 32: e7e9 b.n 8 <main+0x8> 34: 50000004 38: 0000270f #define GPIO 0x50000000 #define PWMDUTY 0x50000001 #define WAIT 10000 // 3,000,000=0.3s / 256 -> 10,000 void main() { volatile unsigned int w; volatile unsigned int d; while(1){ *(volatile unsigned int *)GPIO = 0x0001; for (d = 0; d < 256; d++){ *(volatile unsigned int *)PWMDUTY = d; for (w = 0; w < WAIT; w++); } *(volatile unsigned int *)GPIO = 0x0000; for (d = 255; d >= 0; d--){ *(volatile unsigned int *)PWMDUTY = d; for (w = 0; w < WAIT; w++); } } } arm-gcc/gas VerilogHDL module imem(clk, addr, data2); input clk; input [31:0] addr; output [31:0] data2; reg [31:0] data, data2; // 0x00000000 - 0x1fffffff : code (0x00000000-0x000000c0: int.vec.) // code memory: little-endian (LSB=1st byte / MSB=2nd byte) wire [31:0] addr2; assign addr2 = {addr[31:2], 2'b00}; always @(addr2) begin case (addr2) 32'h00000000 : data <= 32'h0020000; // insital SP 32'h00000004 : data <= 32'h0000101; // reset (bit[0]=T) 32'h00000100 : data <= {16'h05db,16'h23a0}; 32'h00000104 : data <= {16'h4f0d,16'h4c0c}; 32'h00000108 : data <= {16'h601a,16'h2201}; 32'h0000010c : data <= {16'h6025,16'h2500}; 32'h00000110 : data <= {16'h3601,16'h2600}; 32'h00000114 : data <= {16'hd1fc,16'h42be}; 32'h00000118 : data <= {16'h2dff,16'h3501}; 32'h0000011c : data <= {16'h2200,16'hd1f7}; 32'h00000120 : data <= {16'h25ff,16'h601a}; 32'h00000124 : data <= {16'h2600,16'h6025}; 32'h00000128 : data <= {16'h42be,16'h3601}; 32'h0000012c : data <= {16'h3d01,16'hd1fc}; 32'h00000130 : data <= {16'hd1f7,16'h2d00}; 32'h00000134 : data <= {16'h0000,16'he7e8}; 32'h00000138 : data <= 32'h50000004; 32'h0000013c : data <= 32'd1999; default: data <= 32'h0; endcase end always @(posedge clk) begin data2 <= data; end endmodule 「Lチカ」&「Lほわ」 Thumb命令
  • 22. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「自作Cortex-M0でLチカ」:メモリマップ
  • 23. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「Lチカ専用Cortex-M0」:設計してみた CMOS 0.18um 5Al 0.55mm x 0.65mm ※このチップの設計は、東京大学大規模集積システム設計教育研究センターを通し、 日本ケイデンス株式会社、シノプシス株式会社研究センターの協力で行われたものです。 ※このチップの設計で使用したライブラリは、京都大学情報学研究科 田丸・小野寺研究室の 成果によるもので、京都工芸繊維大学 小林和淑教授によりリリースされたものです。 ※このチップの試作は、東京大学大規模集積システム設計教育研究センターを通し、 ローム(株)および凸版印刷(株)の協力で行われたものです。 Synopsys Design Compiler & IC Compiler
  • 24. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「Lチカ専用Cortex-M0」:製造してみた ※基板はスイッチサイエンスPCBで製造 ※クロック周波数=10MHz
  • 25. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 「Lチカ専用Cortex-M0」:動作させてみた 詳細はこちら→https://www.youtube.com/watch?v=Ptb5kcw3QtY / niconico: sm30093578
  • 26. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ DIYマイコン:どう作る?ミニマルファブ 0.5インチウエハ・局所クリーン化・DLP露光 工程ごとの小型装置群 小ロットのLSI製造 加工寸法:1um程度 単TAT(1〜2日) pMOS, nMOS:OK →CMOS回路へ/MEMS 一部装置は既に販売開始 CMOS製造装置群&製造サービスはあと数年? 基板界での「P板.com」や「スイッチサイエンスPCB」に 似た位置づけ http://unit.aist.go.jp/neri/mini-sys/fabsystem/minimalfab.html
  • 27. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 1um?0.5in?いえいえ、けっこう使えます 1[um]/3Alプロセス・0.5inウエハに Cortex-M0コアが4ショットは入る カスタムなペリフェラル・アナログ・センサ・MEMS の混載も(これが数万円&1週間@1個から) ※0.18[um]/3Alでの配置配線結果の レイアウトデータ(GDS)を1/0.18=28倍に 拡大して作成
  • 28. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ Cortex-M0 DSの可能性:SWとHWの継続 電子回路→コンピュータの継続性 本来はつながっている知識学問体系 ・・・全体を通して理解している人がいるか?
  • 29. 2016/12/24 Interface Device Laboratory, Kanazawa University http://ifdl.jp/ 似た現象?:化学〜生物学・医学 化学〜生物学・医学の学問体系 脳・知能 生物(多細胞生物) 細胞 タンパク質・DNA 分子・原子 SWとHWが分断すると・・・? 「ガン化するトランジスタ」:確率的に’0’にならない 論理回路(量子効果) SWからは「ガン」にしか見えない?(対処療法) 超えられない壁?