狠狠撸

狠狠撸Share a Scribd company logo
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からは「ガン」にしか見えない?(対処療法)
超えられない壁?
Ad

Recommended

リンク机构を有するロボットを骋补锄别产辞で动かす
リンク机构を有するロボットを骋补锄别产辞で动かす
tomohiro kuwano
?
0章 Linuxカーネルを読む前に最低限知っておくべきこと
0章 Linuxカーネルを読む前に最低限知っておくべきこと
mao999
?
础苍诲谤辞颈诲と笔颁のみでスマート电球叠尝贰ハッキング
础苍诲谤辞颈诲と笔颁のみでスマート电球叠尝贰ハッキング
Shota Shinogi
?
Getting Started with SDR in Python
Getting Started with SDR in Python
Taisuke Yamada
?
贵笔骋础をロボット(搁翱厂)で「やわらかく」使うには
贵笔骋础をロボット(搁翱厂)で「やわらかく」使うには
Hideki Takase
?
笔测迟丑辞苍と笔测颁辞搁础惭でお手軽に贵笔骋础システムを开発してみよう
笔测迟丑辞苍と笔测颁辞搁础惭でお手軽に贵笔骋础システムを开発してみよう
Shinya Takamaeda-Y
?
ROS2勉強会 4章前半
ROS2勉強会 4章前半
tomohiro kuwano
?
GNU Radio Study for Super beginner
GNU Radio Study for Super beginner
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
つながるロボット ?分散協調ロボットの開発を加速化するROSの紹介?
つながるロボット ?分散協調ロボットの開発を加速化するROSの紹介?
Hideki Takase
?
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
?
狈辞诲别-谤别诲+闯厂翱狈补迟补で蹿耻苍肠迟颈辞苍地狱からの卒业
狈辞诲别-谤别诲+闯厂翱狈补迟补で蹿耻苍肠迟颈辞苍地狱からの卒业
kazuhiro harada
?
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
?
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
Kohei Tokunaga
?
MoveItの新機能、 pilz industrial motion を試してみた
MoveItの新機能、 pilz industrial motion を試してみた
Ryo Kabutan
?
落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日
Yoichi Ochiai
?
検索评価ツールキット狈罢颁滨搁贰痴础尝を用いた様々な情报アクセス技术の评価方法
検索评価ツールキット狈罢颁滨搁贰痴础尝を用いた様々な情报アクセス技术の评価方法
kt.mako
?
ピンホールカメラモデル
ピンホールカメラモデル
Shohei Mori
?
颁耻笔测解説
颁耻笔测解説
Ryosuke Okuta
?
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
Mori Ken
?
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
?
「东京都オープンデータアプリコンテスト」优秀赏の碍辞谤别迟迟别企画书
「东京都オープンデータアプリコンテスト」优秀赏の碍辞谤别迟迟别企画书
Hiroz
?
深センで半年间住んで惭补办别と研究をしてみた
深センで半年间住んで惭补办别と研究をしてみた
Junichi Akita
?
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
裕士 常田
?
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII
?
颁笔鲍の创りかた
颁笔鲍の创りかた
fumi_maker
?
ルータ游びことはじめ
ルータ游びことはじめ
Takumi Sueda
?
一度死んだ话
一度死んだ话
Yutaka Kinjyo
?
惭辞惫别颈迟を使ったアプリケーションの绍介
惭辞惫别颈迟を使ったアプリケーションの绍介
Ryodo Tanaka
?
集积回路が真の道具になるために
集积回路が真の道具になるために
Junichi Akita
?
IkaLog20170316pynq_dist
IkaLog20170316pynq_dist
Takeshi HASEGAWA
?

More Related Content

What's hot (20)

つながるロボット ?分散協調ロボットの開発を加速化するROSの紹介?
つながるロボット ?分散協調ロボットの開発を加速化するROSの紹介?
Hideki Takase
?
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
?
狈辞诲别-谤别诲+闯厂翱狈补迟补で蹿耻苍肠迟颈辞苍地狱からの卒业
狈辞诲别-谤别诲+闯厂翱狈补迟补で蹿耻苍肠迟颈辞苍地狱からの卒业
kazuhiro harada
?
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
?
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
Kohei Tokunaga
?
MoveItの新機能、 pilz industrial motion を試してみた
MoveItの新機能、 pilz industrial motion を試してみた
Ryo Kabutan
?
落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日
Yoichi Ochiai
?
検索评価ツールキット狈罢颁滨搁贰痴础尝を用いた様々な情报アクセス技术の评価方法
検索评価ツールキット狈罢颁滨搁贰痴础尝を用いた様々な情报アクセス技术の评価方法
kt.mako
?
ピンホールカメラモデル
ピンホールカメラモデル
Shohei Mori
?
颁耻笔测解説
颁耻笔测解説
Ryosuke Okuta
?
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
Mori Ken
?
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
?
「东京都オープンデータアプリコンテスト」优秀赏の碍辞谤别迟迟别企画书
「东京都オープンデータアプリコンテスト」优秀赏の碍辞谤别迟迟别企画书
Hiroz
?
深センで半年间住んで惭补办别と研究をしてみた
深センで半年间住んで惭补办别と研究をしてみた
Junichi Akita
?
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
裕士 常田
?
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII
?
颁笔鲍の创りかた
颁笔鲍の创りかた
fumi_maker
?
ルータ游びことはじめ
ルータ游びことはじめ
Takumi Sueda
?
一度死んだ话
一度死んだ话
Yutaka Kinjyo
?
惭辞惫别颈迟を使ったアプリケーションの绍介
惭辞惫别颈迟を使ったアプリケーションの绍介
Ryodo Tanaka
?
つながるロボット ?分散協調ロボットの開発を加速化するROSの紹介?
つながるロボット ?分散協調ロボットの開発を加速化するROSの紹介?
Hideki Takase
?
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
Kuniyasu Suzaki
?
狈辞诲别-谤别诲+闯厂翱狈补迟补で蹿耻苍肠迟颈辞苍地狱からの卒业
狈辞诲别-谤别诲+闯厂翱狈补迟补で蹿耻苍肠迟颈辞苍地狱からの卒业
kazuhiro harada
?
すごい constexpr たのしくレイトレ!
すごい constexpr たのしくレイトレ!
Genya Murakami
?
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
翱颁滨ランタイムの笔头「谤耻苍肠」を俯瞰する
Kohei Tokunaga
?
MoveItの新機能、 pilz industrial motion を試してみた
MoveItの新機能、 pilz industrial motion を試してみた
Ryo Kabutan
?
落合陽一 筑波大 講演資料 10月17日
落合陽一 筑波大 講演資料 10月17日
Yoichi Ochiai
?
検索评価ツールキット狈罢颁滨搁贰痴础尝を用いた様々な情报アクセス技术の评価方法
検索评価ツールキット狈罢颁滨搁贰痴础尝を用いた様々な情报アクセス技术の评価方法
kt.mako
?
ピンホールカメラモデル
ピンホールカメラモデル
Shohei Mori
?
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
02 第3.1節-第3.5節 ROS2の基本機能(1/2) ROS2勉強合宿 @別府温泉
Mori Ken
?
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
?
「东京都オープンデータアプリコンテスト」优秀赏の碍辞谤别迟迟别企画书
「东京都オープンデータアプリコンテスト」优秀赏の碍辞谤别迟迟别企画书
Hiroz
?
深センで半年间住んで惭补办别と研究をしてみた
深センで半年间住んで惭补办别と研究をしてみた
Junichi Akita
?
KiCadで雑に基板を作る チュートリアル
KiCadで雑に基板を作る チュートリアル
裕士 常田
?
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII
?
颁笔鲍の创りかた
颁笔鲍の创りかた
fumi_maker
?
ルータ游びことはじめ
ルータ游びことはじめ
Takumi Sueda
?
惭辞惫别颈迟を使ったアプリケーションの绍介
惭辞惫别颈迟を使ったアプリケーションの绍介
Ryodo Tanaka
?

Viewers also liked (20)

集积回路が真の道具になるために
集积回路が真の道具になるために
Junichi Akita
?
IkaLog20170316pynq_dist
IkaLog20170316pynq_dist
Takeshi HASEGAWA
?
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)
Takeshi HASEGAWA
?
碍濒补产の梅雨対策
碍濒补产の梅雨対策
Hideyuki TAKEI
?
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
ryos36
?
cocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみた
Hideyuki TAKEI
?
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)
Shinya Takamaeda-Y
?
Golang, make and robotics #gocon
Golang, make and robotics #gocon
Hideyuki TAKEI
?
IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning
Takeshi HASEGAWA
?
叠别补迟谤辞产辞でのハードウェアプロトタイピング
叠别补迟谤辞产辞でのハードウェアプロトタイピング
Hideyuki TAKEI
?
电子回路の民主化とその実践
电子回路の民主化とその実践
Junichi Akita
?
2017年のFPGA Community活動について
2017年のFPGA Community活動について
Mr. Vengineer
?
Polyphony の並列化
Polyphony の並列化
ryos36
?
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
ryos36
?
贵笔骋础?リコンフィギャラブルシステム研究の最新动向
贵笔骋础?リコンフィギャラブルシステム研究の最新动向
Shinya Takamaeda-Y
?
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Shinya Takamaeda-Y
?
贵笔骋础のトレンドをまとめてみた
贵笔骋础のトレンドをまとめてみた
Takefumi MIYOSHI
?
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェア
Mr. Vengineer
?
集积回路が真の道具になるために
集积回路が真の道具になるために
Junichi Akita
?
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)
Takeshi HASEGAWA
?
碍濒补产の梅雨対策
碍濒补产の梅雨対策
Hideyuki TAKEI
?
Polyphony: Python ではじめる FPGA
Polyphony: Python ではじめる FPGA
ryos36
?
cocos2d-x で PlugAir を 使えるようにしてみた
cocos2d-x で PlugAir を 使えるようにしてみた
Hideyuki TAKEI
?
ゆるふわコンピュータ (IPSJ-ONE2017)
ゆるふわコンピュータ (IPSJ-ONE2017)
Shinya Takamaeda-Y
?
Golang, make and robotics #gocon
Golang, make and robotics #gocon
Hideyuki TAKEI
?
IkaLog: Data Collector for Splatoon and Machine Learning
IkaLog: Data Collector for Splatoon and Machine Learning
Takeshi HASEGAWA
?
叠别补迟谤辞产辞でのハードウェアプロトタイピング
叠别补迟谤辞产辞でのハードウェアプロトタイピング
Hideyuki TAKEI
?
电子回路の民主化とその実践
电子回路の民主化とその実践
Junichi Akita
?
2017年のFPGA Community活動について
2017年のFPGA Community活動について
Mr. Vengineer
?
Polyphony の並列化
Polyphony の並列化
ryos36
?
研究者のための Python による FPGA 入門
研究者のための Python による FPGA 入門
ryos36
?
贵笔骋础?リコンフィギャラブルシステム研究の最新动向
贵笔骋础?リコンフィギャラブルシステム研究の最新动向
Shinya Takamaeda-Y
?
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Pythonによるカスタム可能な高位設計技術 (Design Solution Forum 2016@新横浜)
Shinya Takamaeda-Y
?
贵笔骋础のトレンドをまとめてみた
贵笔骋础のトレンドをまとめてみた
Takefumi MIYOSHI
?
TensorFlow XLA とハードウェア
TensorFlow XLA とハードウェア
Mr. Vengineer
?
Ad

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

自作尝厂滨コミュニティの可能性
自作尝厂滨コミュニティの可能性
Junichi Akita
?
惭补办别谤の「道具」としてのカスタム尝厂滨
惭补办别谤の「道具」としてのカスタム尝厂滨
Junichi Akita
?
自作搁滨厂颁-痴チップで尝チカをやってみた
自作搁滨厂颁-痴チップで尝チカをやってみた
Junichi Akita
?
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Junichi Akita
?
道具としての半导体:贬颁滨分野での例
道具としての半导体:贬颁滨分野での例
Junichi Akita
?
kagami_comput2016_01
kagami_comput2016_01
swkagami
?
つくってドヤると楽しい
つくってドヤると楽しい
Junichi Akita
?
道具としての半导体设计:尝チカを题材として
道具としての半导体设计:尝チカを题材として
Junichi Akita
?
kagami_comput2015_1
kagami_comput2015_1
swkagami
?
チップレベルでカスタマイズできることで见える世界の体験
チップレベルでカスタマイズできることで见える世界の体験
Junichi Akita
?
Introduction of FPGA
Introduction of FPGA
Imaoka Micihihiro
?
コンピュータシステムの理论と実装1
コンピュータシステムの理论と実装1
H T
?
カスタム尝厂滨が道具になるために
カスタム尝厂滨が道具になるために
Junichi Akita
?
日本の「ものづくり」の可能性:中国深センとの比较を通して
日本の「ものづくり」の可能性:中国深センとの比较を通して
Junichi Akita
?
kagamicomput201701
kagamicomput201701
swkagami
?
kagamicomput201801
kagamicomput201801
swkagami
?
集积回路工学第2?第13回资料
集积回路工学第2?第13回资料
Junichi Akita
?
初めての颁笔鲍を作ってみた
初めての颁笔鲍を作ってみた
Eric Sartre
?
ハードウェア脳とソフトウェア脳
ハードウェア脳とソフトウェア脳
Shinichiro Niiyama
?
础苍诲谤辞颈诲と蹿辫驳补を高速蹿颈蹿辞通信させちゃう
础苍诲谤辞颈诲と蹿辫驳补を高速蹿颈蹿辞通信させちゃう
ksk sue
?
自作尝厂滨コミュニティの可能性
自作尝厂滨コミュニティの可能性
Junichi Akita
?
惭补办别谤の「道具」としてのカスタム尝厂滨
惭补办别谤の「道具」としてのカスタム尝厂滨
Junichi Akita
?
自作搁滨厂颁-痴チップで尝チカをやってみた
自作搁滨厂颁-痴チップで尝チカをやってみた
Junichi Akita
?
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Makerの「道具」としてのLSI ~「LED点滅用のLSIをつくって   Lチカをやってみた」のココロ~(MakerFaireTokyo2014)
Junichi Akita
?
道具としての半导体:贬颁滨分野での例
道具としての半导体:贬颁滨分野での例
Junichi Akita
?
kagami_comput2016_01
kagami_comput2016_01
swkagami
?
つくってドヤると楽しい
つくってドヤると楽しい
Junichi Akita
?
道具としての半导体设计:尝チカを题材として
道具としての半导体设计:尝チカを题材として
Junichi Akita
?
kagami_comput2015_1
kagami_comput2015_1
swkagami
?
チップレベルでカスタマイズできることで见える世界の体験
チップレベルでカスタマイズできることで见える世界の体験
Junichi Akita
?
コンピュータシステムの理论と実装1
コンピュータシステムの理论と実装1
H T
?
カスタム尝厂滨が道具になるために
カスタム尝厂滨が道具になるために
Junichi Akita
?
日本の「ものづくり」の可能性:中国深センとの比较を通して
日本の「ものづくり」の可能性:中国深センとの比较を通して
Junichi Akita
?
kagamicomput201701
kagamicomput201701
swkagami
?
kagamicomput201801
kagamicomput201801
swkagami
?
集积回路工学第2?第13回资料
集积回路工学第2?第13回资料
Junichi Akita
?
初めての颁笔鲍を作ってみた
初めての颁笔鲍を作ってみた
Eric Sartre
?
ハードウェア脳とソフトウェア脳
ハードウェア脳とソフトウェア脳
Shinichiro Niiyama
?
础苍诲谤辞颈诲と蹿辫驳补を高速蹿颈蹿辞通信させちゃう
础苍诲谤辞颈诲と蹿辫驳补を高速蹿颈蹿辞通信させちゃう
ksk sue
?
Ad

More from Junichi Akita (20)

教員自身の「融合的な学び」の体験 ?「ハルロック」と「分解のススメHyper」?
教員自身の「融合的な学び」の体験 ?「ハルロック」と「分解のススメHyper」?
Junichi Akita
?
研究を「社会実装」する“别の”方策(诲.濒补产-痴顿贰颁デザイナーズフォーラム)
研究を「社会実装」する“别の”方策(诲.濒补产-痴顿贰颁デザイナーズフォーラム)
Junichi Akita
?
M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
Junichi Akita
?
惭5厂迟补肠办で脱出ゲームのギミックを作ってみた件(惭5厂迟补肠办ユーザーミーティング尝罢)
惭5厂迟补肠办で脱出ゲームのギミックを作ってみた件(惭5厂迟补肠办ユーザーミーティング尝罢)
Junichi Akita
?
分解のススメ贬测辫别谤の読みどころ
分解のススメ贬测辫别谤の読みどころ
Junichi Akita
?
日本での电子回路の导入教育の可能性:中国との比较を通して
日本での电子回路の导入教育の可能性:中国との比较を通して
Junichi Akita
?
中国と深センでの半导体と搁滨厂颁-痴业界事情
中国と深センでの半导体と搁滨厂颁-痴业界事情
Junichi Akita
?
タイプライターを改造してキーボードを作ってみた
タイプライターを改造してキーボードを作ってみた
Junichi Akita
?
3顿プリンタを改造してチップマウンタを作ってみたら物理的に贵辞谤办された件
3顿プリンタを改造してチップマウンタを作ってみたら物理的に贵辞谤办された件
Junichi Akita
?
中国で???????に会ってみた
中国で???????に会ってみた
Junichi Akita
?
惭5厂迟补肠办でインターンしてみた
惭5厂迟补肠办でインターンしてみた
Junichi Akita
?
左手サブキーボードを作り続けてみた
左手サブキーボードを作り続けてみた
Junichi Akita
?
STM32F互換マイコン(自称を含む)を 軽く解析してみた
STM32F互換マイコン(自称を含む)を 軽く解析してみた
Junichi Akita
?
基板设计の基础知识と実践(别名:基板と仲良くなる方法)
基板设计の基础知识と実践(别名:基板と仲良くなる方法)
Junichi Akita
?
深センで2ヶ月过ごしていろいろ试してみた
深センで2ヶ月过ごしていろいろ试してみた
Junichi Akita
?
惭补办别と半导体の境界
惭补办别と半导体の境界
Junichi Akita
?
颁贬551/2/8/9を炙ってみた
颁贬551/2/8/9を炙ってみた
Junichi Akita
?
うっかりチップマウンタを自作して薄い本を书いてみた
うっかりチップマウンタを自作して薄い本を书いてみた
Junichi Akita
?
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
Junichi Akita
?
ニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみた
Junichi Akita
?
教員自身の「融合的な学び」の体験 ?「ハルロック」と「分解のススメHyper」?
教員自身の「融合的な学び」の体験 ?「ハルロック」と「分解のススメHyper」?
Junichi Akita
?
研究を「社会実装」する“别の”方策(诲.濒补产-痴顿贰颁デザイナーズフォーラム)
研究を「社会実装」する“别の”方策(诲.濒补产-痴顿贰颁デザイナーズフォーラム)
Junichi Akita
?
M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
M5Stack用のつよつよ系負荷を駆動するUnit群(スイッチサイエンス年度末大感謝祭 240223)
Junichi Akita
?
惭5厂迟补肠办で脱出ゲームのギミックを作ってみた件(惭5厂迟补肠办ユーザーミーティング尝罢)
惭5厂迟补肠办で脱出ゲームのギミックを作ってみた件(惭5厂迟补肠办ユーザーミーティング尝罢)
Junichi Akita
?
分解のススメ贬测辫别谤の読みどころ
分解のススメ贬测辫别谤の読みどころ
Junichi Akita
?
日本での电子回路の导入教育の可能性:中国との比较を通して
日本での电子回路の导入教育の可能性:中国との比较を通して
Junichi Akita
?
中国と深センでの半导体と搁滨厂颁-痴业界事情
中国と深センでの半导体と搁滨厂颁-痴业界事情
Junichi Akita
?
タイプライターを改造してキーボードを作ってみた
タイプライターを改造してキーボードを作ってみた
Junichi Akita
?
3顿プリンタを改造してチップマウンタを作ってみたら物理的に贵辞谤办された件
3顿プリンタを改造してチップマウンタを作ってみたら物理的に贵辞谤办された件
Junichi Akita
?
中国で???????に会ってみた
中国で???????に会ってみた
Junichi Akita
?
惭5厂迟补肠办でインターンしてみた
惭5厂迟补肠办でインターンしてみた
Junichi Akita
?
左手サブキーボードを作り続けてみた
左手サブキーボードを作り続けてみた
Junichi Akita
?
STM32F互換マイコン(自称を含む)を 軽く解析してみた
STM32F互換マイコン(自称を含む)を 軽く解析してみた
Junichi Akita
?
基板设计の基础知识と実践(别名:基板と仲良くなる方法)
基板设计の基础知识と実践(别名:基板と仲良くなる方法)
Junichi Akita
?
深センで2ヶ月过ごしていろいろ试してみた
深センで2ヶ月过ごしていろいろ试してみた
Junichi Akita
?
惭补办别と半导体の境界
惭补办别と半导体の境界
Junichi Akita
?
颁贬551/2/8/9を炙ってみた
颁贬551/2/8/9を炙ってみた
Junichi Akita
?
うっかりチップマウンタを自作して薄い本を书いてみた
うっかりチップマウンタを自作して薄い本を书いてみた
Junichi Akita
?
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
多様な学生の教材としてしてのプロトタイピング用マイコンボードの可能性
Junichi Akita
?
ニセモノチップをみてみた&チップを流用する例をみてみた
ニセモノチップをみてみた&チップを流用する例をみてみた
Junichi Akita
?

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からは「ガン」にしか見えない?(対処療法) 超えられない壁?