Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自作LSIコミュニティの可能性
秋田純一(金沢大・電子情報学類)
akita@ifdl.jp
@akita11
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介
 名古屋生まれ→博士号(‘98)(イメージセンサ)
 金沢大(’98~’00・’04~)
 公立はこだて未来大(’00~’04)
 ’95〜’00:はこだて未来大 計画策定委員
 本業:(機能つき)イメージセンサ
 +半導体を使うデバイス・システム(←電子工少年)
 好きな半田はPb:Sn=60:40
 好きなプロセスは0.35μm(半導体)
LSI(イメージセンサ)のレイアウト図
(プロッタ出力して目視チェック)
チップと基板をつなぐ
ワイヤーボンディング
基板設計
はんだ部屋
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介(おまけ)
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
最近の秋葉原(あきば)
4
※客層が変わってきている(こっちの)
(昔)ロボコン高専生・電子工作マニア(おっさん)
(今)↑+テクノ手芸女子、親子連れ、美大生
西餅「ハルロック」・1Ωより
(週刊モーニングで連載/単行本)
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Make: 理工離れ?どこの世界の話?
“Maker”の活動の広がり
実はみんな「作るのが大好き」
FabLab(レーザーカッター、3Dプリンタ等の
加工機をコアにしたコミュニティ)
いままでは「技術が手元になかった」だけ
道具・技術が「民主化」されて、
使えるようになった
MakerFaireTokyo2013の様子
「ハルロック」1巻1Ωより
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
“Maker”から産業へ
ロングテール:嗜好の多様化+それに応える産業
「本当に欲しいもの」が手に入る
実際に製造業でも
Industry4.0も背景
小規模製造業、高い技術力
熱心なユーザ・ファン、ユニークな製品
市場調査+資金調達=CrowdFunding
サプライチェーン・製造技術の活用
製造業におけるロングテールの具現化
「ハードウエア・スタートアップ」が続々
「大量生産型」の補完として定着
(C.アンダーソン「ロングテール」,早川書房 (2009))
全体の40%
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
なぜMakerが生まれたのか?
製造技術が「普及(道具化)」したから
技術がこなれてきた
ノウハウがたまった
ユーザの「幅」が広がった
生態系(ecosystem)を形成(事業として成立)
Arduino←→無数のマイコンボードの違い?
使いやすさ+ユーザコミュニティ(主にオンライン)
7
ArduinoUno
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術が「道具」になるには?
 1993年頃に生まれる
→2003年頃から普及(10年)
 当初:食べ方???
 料理番組・雑誌等での
調理例→定番キノコに
 料理の「道具(素材)」になった
(Wikipediaより)
(農林水産省「平成20年度 農林水産物貿易円滑化推進事業 台湾・香港・シンガポール・タイ
における品目別市場実態調査(生鮮きのこ)報告書」(林野庁経営課特用林産対策室 )より)
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術が「道具」になるステップ
開発/発明される
お店で買えるようになる
使い方が知られるようになる
みんなが使うようになる
それが「道具」となって、次のステップへ
プロのみ マニア(ハイレベルアマチュア)向け だれでも
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「技術の普及」の結果:深圳の華強北
10
山寨(ShanZhai)の例(“iPhone nano”)
※FakeCopyではなく、プロダクトの
進化系。これが2週間で量産される
無限に続くパーツ屋/築地のような活気
“Used Mobile Phone Shop”の実体
パーツに分解
(BGAも)
路上で解体
店頭でリペア
※BGAも手はんだ
※ボール再生機あり
ShenZhen HuaQiangBei
基板製造
+
部品(サプライチェーン)
+
ハードウエアスタートアップ
+
VC/アクセラレータ
深圳の生態系
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体の進化の歴史:ムーアの法則
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.
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「LED点滅(Lチカ)」のパラダイムシフト
コスト面:マイコン○(「もったいなくない」)
機能面:マイコン○(多機能・仕様変更も容易)
「半導体(LSI)の低価格化」が起こした
「コンピュータ=部品」へのパラダイムシフト
マイコン使用
部品点数=1
コスト:100円
発振回路(555)
部品点数=4
コスト:150円
while(1){
a = 1;
sleep(1);
a = 0;
sleep(1);
}
※さすがにPCではちょっと・・・
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
集積回路は「道具」になっているか?
高性能な「汎用品」:道具になった
(マイコン、FPGA、オペアンプ、・・・)
「専用品」(カスタムLSI)は?:現状、無理
例:学部1年生にLSIを作らせる?
「高いんだぞ・・・」「失敗したらシャレにならんぞ」
「ツールの使い方が難しいぞ」
「基礎知識(回路理論など)をいっぱい勉強しろ」
「ちゃんと動かすのは難しいぞ」
TATが長い(=チップが届くころには忘れている)
作れない→経験できない→学べない
13
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体は「道具」になっているか?:調査
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)
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
LチカLSI動画:ニコ動でのコメント
 こっから?
 ニコ技界のTOKIO
 ゲートの無駄遣い
 ここから!!?
 ひでえ、勿体ない使い方wwwww
 マジかよ。レジストレベルの設計とか
ガチすぎる。
 無駄遣い過ぎるだろw
 贅沢というかなんというか
 え?まじでここからかよ」wwww」」
 IC版FusionPCB的なところが現れれば・・・
 (FPGAでは)いかんのか?
 俺はFPGAで我慢することにする
 いや、そこまでは必要ないです
 量産品すらFPGA使う時代に専用LSI・・・
 アマチュアはFPGAで良いんだよなぁ・・・w
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体を「つくる」ためのハードル
設計CAD
市販の業務用CAD: 高すぎ、高機能すぎ
製造方法
高すぎ、時間かかりすぎ(1000万円・半年)
NDA(設計ルールなどのアクセス制限)が厳しすぎ
ユーザ・コミュニティ
参入障壁:現状は専門家ばかり
“How”の専門家は多いが、”Why/What”は皆無
例:IoT時代のTrillion Sensor←経済的な方策(設置・運用)は?
例:エナジーハーベストで動く永久センサノード←いずれ故障する
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体を道具にするために: MakeLSI:
情報収集・整理
フリーCADなど(けっこうある)
NDAフリー・OpenSourceの環境で
仲間さがし
参加条件:特になし(アツい心)
けっこういる(120名程度)
プロ・経験者〜SWエンジニア〜主婦
http://ifdl.jp/make_lsi
フリーのCAD
2017/4/22 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開発の可能性?
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「道具」としての半導体を持つこと
ふつうの情報工学の研究・・・「あるもの」を使う
カメラ、Kinect、マイコン、FPGA、HoloLens・・・
新技術で、一気にパラダイムが変わることがある
「LSIをつくれる」という道具
=「いまできること」という発想から脱却
Microsoft HoloLens
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「DIYマイコン」はどうか?
ARM Cortex-M0 DesignStartプログラム
誰でも申請OK、評価目的でCortex-M0のHDLソース
2017/4/22 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命令
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「自作Cortex-M0でLチカ」:メモリマップ
2017/4/22 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
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Lチカ専用Cortex-M0」:製造してみた
※基板はスイッチサイエンスPCBで製造
※クロック周波数=10MHz
2017/4/22 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Lチカ専用Cortex-M0」:動作させてみた
詳細はこちら→https://www.youtube.com/watch?v=Ptb5kcw3QtY / niconico: sm30093578
2017/4/22 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
2017/4/22 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倍に
拡大して作成

自作LSIコミュニティの可能性

  • 1.
    Interface Device Laboratory,Kanazawa University http://ifdl.jp/ 自作LSIコミュニティの可能性 秋田純一(金沢大・電子情報学類) akita@ifdl.jp @akita11
  • 2.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 自己紹介  名古屋生まれ→博士号(‘98)(イメージセンサ)  金沢大(’98~’00・’04~)  公立はこだて未来大(’00~’04)  ’95〜’00:はこだて未来大 計画策定委員  本業:(機能つき)イメージセンサ  +半導体を使うデバイス・システム(←電子工少年)  好きな半田はPb:Sn=60:40  好きなプロセスは0.35μm(半導体) LSI(イメージセンサ)のレイアウト図 (プロッタ出力して目視チェック) チップと基板をつなぐ ワイヤーボンディング 基板設計 はんだ部屋
  • 3.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 自己紹介(おまけ)
  • 4.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 最近の秋葉原(あきば) 4 ※客層が変わってきている(こっちの) (昔)ロボコン高専生・電子工作マニア(おっさん) (今)↑+テクノ手芸女子、親子連れ、美大生 西餅「ハルロック」・1Ωより (週刊モーニングで連載/単行本)
  • 5.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ Make: 理工離れ?どこの世界の話? “Maker”の活動の広がり 実はみんな「作るのが大好き」 FabLab(レーザーカッター、3Dプリンタ等の 加工機をコアにしたコミュニティ) いままでは「技術が手元になかった」だけ 道具・技術が「民主化」されて、 使えるようになった MakerFaireTokyo2013の様子 「ハルロック」1巻1Ωより
  • 6.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ “Maker”から産業へ ロングテール:嗜好の多様化+それに応える産業 「本当に欲しいもの」が手に入る 実際に製造業でも Industry4.0も背景 小規模製造業、高い技術力 熱心なユーザ・ファン、ユニークな製品 市場調査+資金調達=CrowdFunding サプライチェーン・製造技術の活用 製造業におけるロングテールの具現化 「ハードウエア・スタートアップ」が続々 「大量生産型」の補完として定着 (C.アンダーソン「ロングテール」,早川書房 (2009)) 全体の40%
  • 7.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ なぜMakerが生まれたのか? 製造技術が「普及(道具化)」したから 技術がこなれてきた ノウハウがたまった ユーザの「幅」が広がった 生態系(ecosystem)を形成(事業として成立) Arduino←→無数のマイコンボードの違い? 使いやすさ+ユーザコミュニティ(主にオンライン) 7 ArduinoUno
  • 8.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術が「道具」になるには?  1993年頃に生まれる →2003年頃から普及(10年)  当初:食べ方???  料理番組・雑誌等での 調理例→定番キノコに  料理の「道具(素材)」になった (Wikipediaより) (農林水産省「平成20年度 農林水産物貿易円滑化推進事業 台湾・香港・シンガポール・タイ における品目別市場実態調査(生鮮きのこ)報告書」(林野庁経営課特用林産対策室 )より)
  • 9.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術が「道具」になるステップ 開発/発明される お店で買えるようになる 使い方が知られるようになる みんなが使うようになる それが「道具」となって、次のステップへ プロのみ マニア(ハイレベルアマチュア)向け だれでも
  • 10.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「技術の普及」の結果:深圳の華強北 10 山寨(ShanZhai)の例(“iPhone nano”) ※FakeCopyではなく、プロダクトの 進化系。これが2週間で量産される 無限に続くパーツ屋/築地のような活気 “Used Mobile Phone Shop”の実体 パーツに分解 (BGAも) 路上で解体 店頭でリペア ※BGAも手はんだ ※ボール再生機あり ShenZhen HuaQiangBei 基板製造 + 部品(サプライチェーン) + ハードウエアスタートアップ + VC/アクセラレータ 深圳の生態系
  • 11.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 半導体の進化の歴史:ムーアの法則 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.
  • 12.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「LED点滅(Lチカ)」のパラダイムシフト コスト面:マイコン○(「もったいなくない」) 機能面:マイコン○(多機能・仕様変更も容易) 「半導体(LSI)の低価格化」が起こした 「コンピュータ=部品」へのパラダイムシフト マイコン使用 部品点数=1 コスト:100円 発振回路(555) 部品点数=4 コスト:150円 while(1){ a = 1; sleep(1); a = 0; sleep(1); } ※さすがにPCではちょっと・・・
  • 13.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 集積回路は「道具」になっているか? 高性能な「汎用品」:道具になった (マイコン、FPGA、オペアンプ、・・・) 「専用品」(カスタムLSI)は?:現状、無理 例:学部1年生にLSIを作らせる? 「高いんだぞ・・・」「失敗したらシャレにならんぞ」 「ツールの使い方が難しいぞ」 「基礎知識(回路理論など)をいっぱい勉強しろ」 「ちゃんと動かすのは難しいぞ」 TATが長い(=チップが届くころには忘れている) 作れない→経験できない→学べない 13
  • 14.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 半導体は「道具」になっているか?:調査 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)
  • 15.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ LチカLSI動画:ニコ動でのコメント  こっから?  ニコ技界のTOKIO  ゲートの無駄遣い  ここから!!?  ひでえ、勿体ない使い方wwwww  マジかよ。レジストレベルの設計とか ガチすぎる。  無駄遣い過ぎるだろw  贅沢というかなんというか  え?まじでここからかよ」wwww」」  IC版FusionPCB的なところが現れれば・・・  (FPGAでは)いかんのか?  俺はFPGAで我慢することにする  いや、そこまでは必要ないです  量産品すらFPGA使う時代に専用LSI・・・  アマチュアはFPGAで良いんだよなぁ・・・w
  • 16.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 半導体を「つくる」ためのハードル 設計CAD 市販の業務用CAD: 高すぎ、高機能すぎ 製造方法 高すぎ、時間かかりすぎ(1000万円・半年) NDA(設計ルールなどのアクセス制限)が厳しすぎ ユーザ・コミュニティ 参入障壁:現状は専門家ばかり “How”の専門家は多いが、”Why/What”は皆無 例:IoT時代のTrillion Sensor←経済的な方策(設置・運用)は? 例:エナジーハーベストで動く永久センサノード←いずれ故障する
  • 17.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 半導体を道具にするために: MakeLSI: 情報収集・整理 フリーCADなど(けっこうある) NDAフリー・OpenSourceの環境で 仲間さがし 参加条件:特になし(アツい心) けっこういる(120名程度) プロ・経験者〜SWエンジニア〜主婦 http://ifdl.jp/make_lsi フリーのCAD
  • 18.
    2017/4/22 Interface DeviceLaboratory, 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.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「道具」としての半導体を持つこと ふつうの情報工学の研究・・・「あるもの」を使う カメラ、Kinect、マイコン、FPGA、HoloLens・・・ 新技術で、一気にパラダイムが変わることがある 「LSIをつくれる」という道具 =「いまできること」という発想から脱却 Microsoft HoloLens
  • 20.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「DIYマイコン」はどうか? ARM Cortex-M0 DesignStartプログラム 誰でも申請OK、評価目的でCortex-M0のHDLソース
  • 21.
    2017/4/22 Interface DeviceLaboratory, 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.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「自作Cortex-M0でLチカ」:メモリマップ
  • 23.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「Lチカ専用Cortex-M0」:設計してみた CMOS 0.18um 5Al 0.55mm x 0.65mm ※このチップの設計は、東京大学大規模集積システム設計教育研究センターを通し、 日本ケイデンス株式会社、シノプシス株式会社研究センターの協力で行われたものです。 ※このチップの設計で使用したライブラリは、京都大学情報学研究科 田丸・小野寺研究室の 成果によるもので、京都工芸繊維大学 小林和淑教授によりリリースされたものです。 ※このチップの試作は、東京大学大規模集積システム設計教育研究センターを通し、 ローム(株)および凸版印刷(株)の協力で行われたものです。 Synopsys Design Compiler & IC Compiler
  • 24.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「Lチカ専用Cortex-M0」:製造してみた ※基板はスイッチサイエンスPCBで製造 ※クロック周波数=10MHz
  • 25.
    2017/4/22 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「Lチカ専用Cortex-M0」:動作させてみた 詳細はこちら→https://www.youtube.com/watch?v=Ptb5kcw3QtY / niconico: sm30093578
  • 26.
    2017/4/22 Interface DeviceLaboratory, 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.
    2017/4/22 Interface DeviceLaboratory, 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倍に 拡大して作成