Contenu connexe Similaire à 「揚げて炙ってわかるコンピュータの仕組み」の舞台裏 (20) Plus de Junichi Akita (12) 「揚げて炙ってわかるコンピュータの仕組み」の舞台裏2. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介(その1)
’70 名古屋生まれ
小4のころから、ハンダの煙で育つ
東京で大学→大学院
D論:低消費電力な4進木読み出しイメージセンサ
金沢大(’98~’00・’04~)
現:理工学域 電子情報通信学類
※融合学域(専任)に異動予定
公立はこだて未来大(’00~’04)
‘95-’00: 計画策定委員として、
大学の策定に関わる
(はこだて未来大のHPより)
3. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
研究内容(概要)
集積回路
特に(機能つき)イメージセンサ
+集積回路を使うデバイス・システム
ユーザインタフェース・インタラクティブシステム
(人間相手の機械)
集積回路(イメージセンサ)のレイアウト図
(プロッタ出力して目視チェック)
基板設計
研究室(実験室)
4. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介(その2)
Maker、ハンダテラピスト
好きな半田はPb:Sn=40:60
好きなプロセスはCMOS0.35μm
好きなICパッケージはDIP8ピン
Maker(広い意味での「ものづくり」)
Makerイベントの運営などのコミュニティ活動
NT金沢の企画・運営(6月末頃@金沢駅地下広場)
電子工作関連ガジェットの企画・設計・販売
本の著者紹介には
60:40とありますが
訂正お願いします!
本の著者紹介に
書き忘れたので
追記お願いします!
6. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
本になってしまった
あと、いろんな人が「炙っ
て」と古いガジェットをくれ
る
教訓:ネタを晒しておくと、
拾ってくれる人がいる
技術評論社の傅さん、
ありがとうございます
(実は数年前に別の出版
社に企画を持ち込んでボ
ツになった内容)
7. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
正誤表
40:60
https://suzuri.jp/yamac/4566465/t-shirt/l/applegreen
・ 好きなICパッケージはDIP8ピン ←追加
8. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
好きなICパッケージはDIP8ピン
マイコン/オペアンプ/555で属性が分かれる
とも
https://www.youtube.com/watch?v=4ZE9st9IJRo
https://www.nicovideo.jp/watch/sm25650867
10. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
※私のオリジナルではありません
https://www.nicovideo.jp/watch/sm7881602
チップ炙りの先人:rerofumiさん
11. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
こんな本です
コンピュータが進化して複雑になってきた
「わからない」という不安・あきらめ
高度に進化した科学技術は魔法と区別がつかない
「わかると、より楽しい」
必要ならば中を理解できる
必要ならば改造できる
14. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
勝手に親近感
分解という道具をもつ
=世界の理解
分解することで
「いじれる」
=脱ブラックボックス
16. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータの階層構造
電子回路→コンピュータの継続性
ハードウエア=回路
ソフトウエア=プログラム
本来はつながっている知識学問体系
17. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータの歴史と半導体
(1946)
真空管: 18,000本
消費電力: 140kW
サイズ: 30m×3m×1m
演算性能: 5,000加算/s
(ENIAC:世界最初のコンピュータ)
(2007)
最小加工寸法: 0.065μm(65nm)
素子数: ~50,000,000
消費電力: 100W~数mW
サイズ: 10mm×10mm程度
演算性能: 10,000,000,000演算/s
(1960)集積回路(IC)の発明
18. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータの歴史の2つの側面
DEC VAX(1976)
1MIPS
Cray-1 (1978)
100MIPS
MIPS:Million Instruction Per Second (1秒間に実行できる命令数)
(世界最初のスーパーコンピュータ)
「世界トップの高速化」+「身近なものにも高速化の恩恵」の2つの側面がある
20000MIPS
10MIPS
100MIPS
20MIPS
20000MIPS
109MFLOPS
19. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータの「使い方」の変化
国に1台/会社に1台 個人で1台(PC) 一人で何台も
仕事・勉強の道具国・会社のプロジェクト
コミュニケーション
・遊びの道具
>1億円 10〜100万円 数万円
身の回りに無数
存在に
気づかない
〜100円
大昔のコンピュータ 一昔前のコンピュータ 今どきのコンピュータ
コンピュータの利用場面(アプリケーション)が広がった
20. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
集積回路(IC)の発明
US Patent No. 2 981 877 (R. Noyce)
(1961)
US Patent No. 2 138 743 (J. Kilby)
(1959)
電子回路を半導体(ケイ素=シリコン)に作り込んだもの
※IC = Integrated Circuit
21. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体→トランジスタ→集積回路
ref: http://imasaracmosanalog.blog111.fc2.com/category33-1.html
A X
X=not A
A X
22. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
ICの進化の歴史:Mooreの法則
ref: http://www.intel.com/jp/intel/museum/processor/index.htm
傾き:×約1.5/年
年を追って、複雑・高機能な集積回路がつくられるようになった
※G.Moore (インテルの創業者の一人)
G.Mooreが1965年に論文[1]で述べる→C.Meadが「法則」と命名→「予測」→「指針(目標)」へ
G.E.Moore, "Cramming more components onto integrated circuits," IEEE Solid-State Circuit Newsletter, Vol.11, No.5, pp.33-35, 1965.
23. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Mooreの法則のカラクリ:スケーリング
集積回路の部品(MOSトランジスタ)を、同じ形状で、
より小さく作ると・・・?
寸法: 1/α
不純物濃度: α
電源電圧: 1/α
p-Si
S DG
n-Sin-Si
p-Si
S DG
n-Sin-Si
L
R.H.Dennard et al., "Design of ion-implanted MOSFET's with very small physical dimensions," IEEE J.of SSC, Vol.9, No.5, pp.256-268, 1974.
MOSトランジスタの断面構造
※正確には、S−D間の電界強度を一定のまま、サイズを小さくする
E = V / d → V→V/α&d→d/α → E = (V/α) / (d/α) = V/d (一定)
24. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
スケーリングの効果
効果:いいことばかり
速度↑
消費電力↓
集積度(機能)↑
技術が進むべき方向性が極めて明確なまれなケース
例:クルマの性能は・・・?
p-Si
S DG
n-Sin-Si
p-Si
S DG
n-Sin-Si
L
• 素子面積:1/α2
• 素子密度:α2
• 電流I:1/α (←電圧:1/α)
• 容量C:1/α (←C=εS/d, S:1/α2, d:1/α)
• 抵抗R:α (←R=ρL/S, S:1/α2, L:1/α)
• 回路遅延:1/α (←E:一定, S-D間:1/α)
• 消費電力:1/α2 (←V:1/α, I:1/α)
• 配線遅延時間CR:1 (変わらない)
※MOSトランジスタを
上から見たところ
(素子1個の専有面積)
25. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
般若心経だと・・・
1um
0.8um
0.5um
0.35um
18ヶ月
18ヶ月
18ヶ月
同じ用紙サイズなら文字数2倍
=機能2倍
26. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
般若心経だと・・・(その2)
1um
18ヶ月
18ヶ月
0.5um
0.8um
同じ内容なら用紙サイズ1/2
=コスト1/2
27. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
(おまけ)
https://booth.pm/ja/items/1247719
https://booth.pm/ja/items/1226529
28. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Mooreの法則のわかりやすい例
マイコン(ATmega328P/PB)の例
機能:ATmega328P < ATmega328PB(上位互換)
価格:ATmega328P > ATmega328PB(30%安価)
0.6umくらいだと、製造コストはほぼチップ面積
ATmega328P(1.2umルール?) ATmega328PB(0.6umルール?)
詳細:http://ifdl.jp/blog/?p=1197
29. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
MOSトランジスタの微細化の歴史
微細化するほど
メリットがある
=がんばって微細化
そろそろ「原子」が
見えてきている
「お金がからむと
技術は進む」
ref: 日経BP Tech-On! 2009/03/30の記事
L=20nm(いま)
L=5nm(2020年ごろ予定)
30. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Mooreの法則の意味するところ
誰も損をしないトレードオフのない進化
性能↑
消費電力↓
コスト↓
言い換えれば、全ては「ゼロ」に向かう
チップ面積、価格
だからこそ、「価値」を探すことが必要
価値のためには面積が必要
Ref: #分解のススメ 4:清水洋治氏(テカナリエ)
https://www.youtube.com/watch?v=C1NGYSLoi6Y
31. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
最近のCPU(※イメージ)
Intel Core i7 (2008)トランジスタ(素子)数~10億個
cf: 地球の人口~70億人、中国の人口~13億人
32. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
最近のソフトとハードの関係
学問体系レベル・実務レベル
ソフト=プログラミング→ネットワーク
ハード=電子回路→コンピュータアーキテクチャ
学問体系として分かれつつある(←複雑化)
33. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
似た現象?:化学〜生物学・医学
化学〜生物学・医学の学問体系
脳・知能
生物(多細胞生物)
細胞
タンパク質・DNA
分子・原子
化学と生物学をつなごうとする試み:
分子生物学、生物物理学、・・・
まだ成功はしていない
超えられない壁?
34. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
SW/HWが断絶した世界とは?
コンピュータの構成要素(トランジスタ)の「ガン化」
コンピュータ=決定論的システム(動作結果は計画通り)
=構成要素の完全動作が前提
微細化→量子効果等による動作の不確実性↑
「電流が流れないはず」のところで、流れる(ことがある)
現状では、製造技術や設計技術で、なんとか抑え込む
そろそろヤバい(回路が思うとおりに動かなくなる)
「ハード屋」の言い分:ソフトウエアでなんとかしてくれ
「ソフト屋」の言い分:ハードウエアでなんとかしてくれ
int i = 1;
int a = 1, b = 2;
c = a + b;
このプログラムで、
i=1, c = 3 とならない(かも)
35. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
どれくらいギリギリなのか?
S→Dに流れる電流を、Gに加える電圧でON/OFF
不安要因
製造ばらつき(設計通りの形状にならない)
不純物ばらつき(電気特性が設計通りにならない)
トンネル効果(OFFにしたつもりが電子が通り抜ける)
ref: https://slideplayer.com/slide/7843454/
Si原子(直径0.2nm)
×50
=
36. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータの中身が見えなくなる
https://hardware.srad.jp/story/18/05/25/0450230/
https://security.srad.jp/story/18/05/08/0919252/
http://www.itmedia.co.jp/news/articles/
1806/15/news079.html
「正しく動作する」と
信じていたものが・・・
37. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
CPUを「つくる」ことでわかること
仕組みを理解できる
回路→頭脳につながる瞬間
「ヤバそう」ぐらいは
わかるかも
少なくとも中で何が起こって
いるか、は見えるはず
小規模:手設計でいけそう
大規模:どうやろう?
38. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
CPUをどう「つくる」のか?(1)
論理ICを並べて手配線→4bitくらい
さすがに手設計はこれぐらいが限界
HDLで書く→8bitくらい
PICくらいなら、慣れればできる
教科書的なRISCアーキテクチャ
ATtiny10のアーキテクチャ
39. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
CPUをどう「つくる」のか?(1)
IPをもってきてカスタマイズ→16bit以上
HDL等でCPUの「ソース」をもってくる
それを「コンパイル」して回路にする
周辺(タイマ等)は自分でカスタマイズできる
https://developer.arm.com/products/designstart
ARM Design Start
Cortex-M0/M3のソース
量産するときに課金
https://opencores.org/
OpenCores.org
各種MPU等のHDLソース
SHなどもある
RISC-V
オープンソース、
階層的なISA(命令セット)
各種実装あり
40. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
RISC-Vを「コンパイル」してみた
CMOS 0.6um 3Al
1.8x1.8mm
〜3k gate
subset of RV32I
41. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Contents(後半)
分解の道具立て
(基板揚げ、チップ炙り)
コンピュータの再構成
道具になる半導体
44. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体チップはどこにある?
「電気で動くもの」には、だいたい入ってる
普通は黒いパッケージの中にあり、見えない
PlayStation2をバラした基板
コレ
48. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体チップの取り出し方
濃硫酸・発煙硝酸に入れて加熱し、
パッケージを溶かす
どこのご家庭にもある道具 ・・・ねぇよ!
52. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
分析する
詳しくはコチラ→https://note.mu/akita11/
一番細い配線パターンが見えた!
倍率をあげならが、
特徴ある形状を基準に
サイズを計測していく
53. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
分析(1): ATmega328P/PB(1)
ATmega328P:ArduinoUNO等でおなじみ
ATmega328PB:↑の上位互換(UARTx2等)、安価
54. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
分析(1): ATmega328P/PB(2)
ATmega328P
メタル間隔:1.8um
ATmega328PB
メタル間隔:0.6um
※0.6umプロセスあたり
までは5V動作OK
詳細は→https://note.com/akita11/
56. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
分析(2): PL2303のニセモノ(Rev.A)
45円@AliExp
マーク消し Aitendoで購入
57. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
分析(2): PL2303のニセモノ(沼)
PL2303のニセモノ各種
@tomonさん提供
実はPL2303は、
FT232のピン互換・安価品
実はUSBシリアル変換ICは
ぜんぶマイコンなんじゃ?説(@Ohkiさん)
59. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
より詳しく知りたい方は・・・
紹介記事→
https://medium.com/分解のススメ/techanalye-983589cb499d
購読申込→https://forms.gle/HWgLqhiG7Tr2YJLk6
61. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータの動作と論理回路
RISC-Vを題材に、命令セットと制御の流れを
https://uzuarai.booth.pm/items/1572579
63. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「マイコン」という概念
マイコン=Micro-controller
/ Micro-computer
技術的には:枯れた技術の固まり
RISC, Flashメモリ, ...
ハーバードアーキテクチャ, …
使い方的には・・・?
「コンピュータ」が安く小さくなることの意義
単なる「安くて小さいコンピュータ」ではない
パラダイム(常識・概念)の転換(の可能性)
(Atmel ATtiny10データシートより)
(日立/Renesas H8/3048F)
64. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータが「頭脳」から「部品」に
出典:ARM
機器の頭脳
関節ごとに小さい脳(神経節)
コンピュータが、システムの「主役」から「構成要素(部品)」になった
※基本的には「コンピュータ」だが、小型で安価
65. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Lチカ」から考える半導体
=「LEDチカチカ」(LED Blink)
「LEDを点滅させる」こと
プログラミングにおける”Hello World”的なもの
(まず始めに試すやつ)
68. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
PCで「Lチカ」・・・?
while(1){
a = 1;
sleep(1);
a = 0;
sleep(1);
}
「可能」ではあるが、「現実的」ではない
69. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
マイコン使用
部品点数=1
コスト:100円
発振回路(555)
部品点数=4
コスト:150円
「Lチカ」のパラダイムシフト
コスト面:マイコン○(「もったいなくない」)
機能面:マイコン○(多機能・仕様変更も容易)
while(1){
a = 1;
sleep(1);
a = 0;
sleep(1);
}
※さすがにPCではちょっと・・・
Mooreの法則の結果、コンピュータが「部品」になった例
昔のLチカ
今どきのLチカ
※マイコン=Micro Controller(小さなコンピュータ)
70. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
価格が起こしたパラダイムシフト
シリアル制御フルカラーLED“NeoPixel”
電源+1本のシリアル制御線で複数制御
超安価 (~3円/pcs)
普通のLEDより安い
LEDディスプレイなど大量に使われるようになった
制御チップは1umルール程度(かなり安い)
Ref:https://news.nicovideo.jp/watch/nw4240213
72. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
集積回路(IC)は「道具」か?:調査
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)
(※LSI=集積回路のこと)
73. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Lチカ動画:ニコ動でのコメント
こっから?
ニコ技界のTOKIO
ゲートの無駄遣い
ここから!!?
ひでえ、勿体ない使い方wwwww
マジかよ。レジストレベルの設計とか
ガチすぎる。
無駄遣い過ぎるだろw
贅沢というかなんというか
え?まじでここからかよ」wwww」」
IC版FusionPCB的なところが現れれば・・・
(FPGAでは)いかんのか?
俺はFPGAで我慢することにする
いや、そこまでは必要ないです
量産品すらFPGA使う時代に専用LSI・・・
アマチュアはFPGAで良いんだよなぁ・・・w
「集積回路=すごいことをやるためのもの」という意識
74. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
なんでこんなアホなことを?
LSIは「道具」になりきっているか?
オレLSI
「作る?ちょっとそこまでは・・・」「使うけど・・・」
他の技術はどうなってきたか?
コンピュータ:大型機→PC
マイコン:H8→Arduino
プリント基板:業務用→アマチュア
3Dプリンタ:業務用→フィギュア
動画編集:映画→YouTube/ニコ動
75. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
ムーアの法則がもたらしたもの(2)
LSI設計・製造コストの高騰
シャトル製造サービス〜$1k
製造初期コスト(マスク)〜$1M
設計ツール 〜$1M
秘密保持契約(NDA; Non Disclosure Agreement)
: Priceless
製造工場 〜$1G
cf:プリント基板製造($10~)、Arduino($10~)
cf: 設計CAD&コンパイラ(IDE)(Free~)
「専用LSIつくってLチカ」ってもったいない&無駄遣いすぎる
76. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「道具」としての集積回路
「ハード」=電子回路、プリント基板あたり
「集積回路(半導体チップ)」までは、なかなか
どうしても「今あるもの・使えるもの」を使う
カメラ、Kinect、マイコン、FPGA・・・
新技術で、一気にパラダイムが変わることがある
「集積回路をつくれる」という道具
=「いまできること」という発想の縛りから開放
Depth画像
※昔は「可能だが高価」
→Kinect後は「誰でも使える」
→ユーザインタフェース界の革命
77. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
LチカLSI ver2(センサ)
タッチセンサ 光センサ ※北九州学術研究都市 共同研究開発センターの半導体試作施設において、
(一財)ファジィシステム研究所の協力の下、他大学学生のLSI製造演習として
試作されました
CMOS 2um 2Al
3.2mm x 3.2mm
https://www.youtube.com/watch?v=NN1wNf66vXw
http://www.nicovideo.jp/watch/sm24280073
CAD:フリーウエア(Inkscape)
製造:北九州の時間貸しクリーンルーム
78. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
センサを「つくる」
基本、物理法則に沿っていれば
「何でもできる」
微細構造、界面、・・・
ADCなどの信号処理回路も集積OK
逆に、自由度が高すぎて、難しい
電子回路
量子力学
電磁気学
・・・
ref: https://tech.nikkeibp.co.jp/dm/article/WORD/20090415/168824/
79. 2020/8/19 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命令
機械語の
プログラム
80. 2020/8/19 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
※クロック周波数=10MHz
81. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
オレLSI:アナログLSI
アナログ回路の「部品」をつないで設計
CMOS 0.18um
1P5M
CMPx2+DFF+DisChgTr
本家とピン互換
82. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
オレLSI:AI向けも
AI/深層学習向けのプロセッサ
従来型の「ノイマン型コンピュータ」では苦手
いわゆるASIC(特定用途向けIC)だが、
少量多品種向け
GoogleのTPU (Tensorflow Processing Unit)の例
ref: https://news.mynavi.jp/article/20170411-tpu/2
83. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
オレLSI:IoT向けも
IoTは、本質的に「少量多品種」
使う場面ごとに、必要な機能・性能が異なる
情報処理のやり方も多様(端末側?サーバ?)
環境発電(太陽電池、振動発電など)など、
超低消費電力が必要な場面も多い
センサ プロセッサ 通信
記録 電源
84. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
集積回路を「つくる」ためのハードル
設計CAD
市販の業務用CAD: 高すぎ、高機能すぎ
製造方法
高すぎ、時間かかりすぎ(1000万円・半年)
NDA(設計ルールなどのアクセス制限)が厳しすぎ
ユーザ・コミュニティ
参入障壁:現状は専門家ばかり
“How”の専門家は多いが、”Why/What”は皆無
いずれも、なんとかなりそう?
85. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
オレLSIをつくってみたい:実践
情報収集・整理
探せば、ないことはない
仲間さがし
やや古めのテクノロジで
NDAフリー
&オープンソース
GitHubで回路をシェア
http://j.mp/make_lsi
86. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
・・・と思っていたら
NDA不要・オープンソースなチップ設計環境
やや議論が発散気味な印象だが、猛スピードで整備中
予定では11月に相乗り試作
「なんてNDAなしでできたんですかね?」
→「だって130nmなんて枯れた技術だし、
隠すより、エコシステム作ったほうがいいじゃん?」
87. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
チップを「つくる」
(イメージ:近い将来)
設計する(GDS形式)
データをupload
チップが届く
cf: プリント基板
設計する(gerber形式)
Webからデータをupload
基板が届く
88. 2020/8/19 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倍に
拡大して作成
89. 2020/8/19 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
LSIが道具になるとは・・・
『3Dプリンタは、私たちに「何をつくりたいの
か」を問いかけているのです。』
あなたなら、何を作りますか?
いまのうちから、考えておいても
損はないはず。