Interface Device Laboratory, Kanazawa University http://ifdl.jp/
道具としての半導体設計
:Lチカを題材として
秋田純一(金沢大学)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介
 1970名古屋生まれ
 東京で大学→大学院
 金沢大(’98~’00・’04~)
 公立はこだて未来大(’00~’04)
 ’95〜’00:はこだて未来大 計画策定委員(翼セミナーOBの縁)
 本業:集積回路、特に(機能つき)イメージセンサ
 好きなプロセスはCMOS 0.35μm
 +集積回路を使うデバイス・システム
 ユーザインタフェース・インタラクティブシステム(人間相手の機械)
集積回路(イメージセンサ)のレイアウト図
(プロッタ出力して目視チェック) 基板設計
研究室(実験室)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
自己紹介(副業)
Maker、ハンダテラピスト
好きな半田はPb:Sn=40:60
Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「ムーアの法則」について改めて
2021/7/28 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)の発明
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体(集積回路)の発明
US Patent No. 2 981 877 (R. Noyce)
(1961)
US Patent No. 2 138 743 (J. Kilby)
(1959)
電子回路を半導体(ケイ素=シリコン)に作り込んだもの
インテルの創業者(の一人)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体の進化の歴史: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.
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Mooreの法則のカラクリ:比例縮小
コンピュータの電子回路の最小単位
=MOSトランジスタ
電流のON(“1”)/OFF(“0”)を制御するスイッチ
集積回路の部品(MOSトランジスタ)を、同じ
形状で、より小さく作ると・・・?
寸法: 1/α
不純物濃度: α
電源電圧: 1/α p-Si
S D
G
n-Si
n-Si
p-Si
S D
G
n-Si
n-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トランジスタの断面構造
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
比例縮小の効果
効果:いいことばかり
速度↑(電子の移動=信号の伝搬距離が短くなる)
消費電力↓(電源電圧が下がる)
集積度(機能)↑(1つの素子が小さい=同一チップに多数)
技術が進むべき方向性が極めて明確なまれなケース
p-Si
S D
G
n-Si
n-Si
p-Si
S D
G
n-Si
n-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個の専有面積)
物理的な詳細
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
般若心経だと・・・
1um
0.8um
0.5um
0.35um
18ヶ月
18ヶ月
18ヶ月
同じ用紙サイズなら文字数2倍
=機能2倍
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
般若心経だと・・・(その2)
1um
18ヶ月
18ヶ月
0.5um
0.8um
同じ内容なら用紙サイズ1/2
=コスト1/2
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
MOSトランジスタの微細化の歴史
微細化するほど
メリットがある
=がんばって微細化
そろそろ「原子」が
見えてきている
「お金がからむと
技術は進む」
L=20nm
L=5nm
平本・日経新聞「経済教室」(2019/7/18)
日経BP Tech-On! 2009/03/30
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータの歴史の2つの側面
DEC VAX(1976)
1MIPS
Cray-1 (1978)
100MIPS
MIPS:Million Instruction Per Second (1秒間に実行できる命令数)
(世界最初のスーパーコンピュータ)
「世界トップの高速化」+「身近なものにも高速化の恩恵」の2つの側面がある
107MFLOPS
10MIPS
100MIPS
100MIPS
108MIPS
5×1011MFLOPS
106MFLOPS
100MIPS
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータの「使い方」の変化
国に1台/会社に1台 個人で1台(PC) 一人で何台も
仕事・勉強の道具
国・会社のプロジェクト
コミュニケーション
・遊びの道具
>1億円 10〜100万円 数万円
身の回りに無数
存在に
気づかない
〜100円
大昔のコンピュータ 一昔前のコンピュータ 今どきのコンピュータ
コンピュータの利用場面(アプリケーション)が広がった
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
イノベーションのトリクルダウン
A. “bunnie” Huan, “Guerilla Production Tactics”より
30倍
3倍
45nmノード
14nmノード
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Lチカ」から考える半導体
=「LEDチカチカ」(LED Blink)
「LEDを点滅させる」こと
プログラミングにおける”Hello World”的なもの
(まず始めに試すやつ)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
※ウソです
広辞林(第6版)より
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
日本工業標準調査会(JISC)
JIS規格一覧
※ウソです
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Lチカ」のパラダイムシフト
MCU
#Component=1
$1
Oscillator(555)
#Component=4
$1.5 while(1){
a = 1;
sleep(1);
a = 0;
sleep(1);
}
可能だが非現実的なLチカ
合理的なLチカ
マイコン(MCU)を使って
「Lチカ」しない理由がない
コスト、機能性、・・・
コンピュータの使い方がもったいなくなくなった
Mooreの法則の結果、コンピュータが「部品」になった例
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
コンピュータが「頭脳」から「部品」に
出典:ARM
機器の頭脳
関節ごとに小さい脳(神経節)
コンピュータが、システムの「主役」から「構成要素(部品)」になった
2021/7/28 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
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
(おまけ)炙って見られる
どこのご家庭にもある
BBQ用バーナー(カセットボンベ式)
3分くらい炙る
※火事・ヤケドに注意
ICチップ(パッケージ入)
チップが見えてきた!
炭化したパッケージを、
ピンセットなどで、崩していく
(チップを割らないように注意)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
(おまけ)
ネタをTwitterで晒していたら、本になりました
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
価格が起こしたパラダイムシフト
シリアル制御フルカラーLED“NeoPixel”
電源+1本のシリアル制御線で複数制御
超安価 (~3円/pcs)
普通のLEDより安い
LEDディスプレイなど大量に使われるようになった
制御チップは1umルール程度(かなり安い)
Ref:https://news.nicovideo.jp/watch/nw4240213
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Mooreの法則の今後
微細化が進みすぎて、素子として動作しない+
安定に製造できない
不安要因
製造ばらつき(設計通りの形状にならない)
不純物ばらつき(電気特性が設計通りにならない)
トンネル効果(OFFにしたつもりが電子が通り抜ける)
ref: https://slideplayer.com/slide/7843454/
Si原子(直径0.2nm)
×50
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
最近のCPU(※イメージ)
Intel Core i7 (2008)
トランジスタ(素子)数~10億個
(設計では、これらを1つも間違いなく組み合わせる)
cf: 地球の人口~70億人、中国の人口~13億人
2021/7/28 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
設計が正しいか検証しきれない
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
AI/IoT時代の半導体
半導体は重要部品なのは事実
Mooreの法則の延長は望めない
十分すぎる、使いこなしきれない機能がある
どう使うか?
「今ある半導体を使う」という発想の転換
ソフトウエア→ハードウエア→半導体チップ
Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術が「道具」になる意義と
イノベーション
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術の進歩と独裁化
科学技術の進歩=社会水準の向上
科学技術の進歩=技術の高度化・複雑化
「製造者」と「利用者」の分離
製造者の「特権」:
原材料の入手(原油、電子部品、・・・)
工場・製造装置
販売チャンネル
利用者の「意識」
「ものは買う物」
大量生産・大量消費の時代が長く続いた
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術の民主化へ
技術を、市民の手に「取り戻す」流れ
大量生産→ロングテールへ
「技術の民主化」を可能にする技術革新
実はルネッサンス時代への回帰でもある
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術の「民主化」がもたらすもの
(以前)プロのみ
音楽、映画、・・・
我々は「消費者」
(現在)アマチュアでもコンテンツを
作ることができる
DTM, Vocaloid, …
YouTube, …
我々は「制作者」にもなれる
(可能性・裾野が広がった) 宮下芳明「コンテンツは民主化をめざす
―表現のためのメディア技術」
(明治大学出版会, 2015)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術の「民主化」がもたらすもの
プログラミング
(以前)PCもプログラミングツールも高価
「遊び」から始められない
(現在)PCもプログラミングツールも安価orタダ
「遊び」などから始められる
=敷居の低下=裾野の広がり
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術の「民主化」がもたらすもの
裾野が広がる=イノベータの多様化
「アツい思い」を具現化する
道具がある
多様性=イノベーションの土壌
小川進「ユーザーイノベーション:
消費者から始まるものづくりの未来」
(東洋経済新報社, 2013)
(L.Fleming, Harvard Business Review,
8(9), pp.22-24 (2004))
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術が「道具」になるとは
技術が「道具」になるステップ
開発/発明される
お店で買えるようになる
使い方が知られるようになる
みんなが使うようになる
それが「道具」となって、次のステップへ
プロのみ マニア(ハイレベルアマチュア)向け だれでも
プロ(詳しい人)しか使えない
アマ(詳しくない人)でも使える
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
道具としてのマイコンボード
文具のように、いつのまにかなくなるので
常時ストック、という感覚
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
「Makerの道具」としてのArduino
Arduino←→それまでのマイコンボード
USBケーブルのみでPC接続(給電・通信・書き込み)
DTRリセット(PCからリセットをかける)
メスソケット(ジャンパ線を挿せる)
ArduinoIDE(ソフトウエアはこれで完結。ライブラリと
サンプルも)
いずれも「なんだ、そんなことか」と思えること
しかし、それで「世の中が変わった」
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術の民主化の結果:深圳の華強北
38
山寨(ShanZhai)の例(“iPhone nano”)
※FakeCopyではなく、プロダクトの
進化系。これが2週間で量産される
無限に続くパーツ屋
“Used Mobile Phone Shop”の実体
パーツに分解
(BGAも)
路上で解体
店頭でリペア
新製品の試作に流用
ShenZhen HuaQiangBei
基板製造
+
部品(サプライチェーン)
+
起業(ハードウエアスタートアップ)
+
資本(VC/アクセラレータ)
深圳の生態系
謎の起業・新製品が続々(ときどきアタる)
世界中から頭脳と資金が集まり、
イノベーションを生み出している
「ハードウエアのシリコンバレー」とも
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
技術が生まれて「道具」になるまで
エリンギの例
1993年に日本へ
2003年ごろから一般化
↑10年かかって「道具」に
料理番組、調理例・・・
農林水産省「平成20年度 農林水産物貿易円滑化推進事業
台湾・香港・シンガポール・タイにおける品目別市場実態調査
(生鮮きのこ)報告書」(林野庁経営課特用林産対策室 )より
Interface Device Laboratory, Kanazawa University http://ifdl.jp/
最後の砦:半導体
ラスボス
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体は「道具」になっているか?
「ハード」=電子回路、プリント基板あたり
「集積回路(半導体チップ)」までは、なかなか
どうしても「今あるもの・使えるもの」を使う
カメラ、Kinect、マイコン、FPGA・・・
新技術で、一気にパラダイムが変わることがある
「集積回路をつくれる」という道具
=「いまできること」という発想の縛りから開放
Depth画像
※昔は「可能だが高価」
→Kinect後は「誰でも使える」
→ユーザインタフェース界の革命
2021/7/28 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)
(※LSI=集積回路のこと)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Lチカ動画:ニコ動でのコメント
 こっから?
 ニコ技界のTOKIO
 ゲートの無駄遣い
 ここから!!?
 ひでえ、勿体ない使い方wwwww
 マジかよ。レジストレベルの設計とか
ガチすぎる。
 無駄遣い過ぎるだろw
 贅沢というかなんというか
 え?まじでここからかよ」wwww」」
 IC版FusionPCB的なところが現れれば・・・
 (FPGAでは)いかんのか?
 俺はFPGAで我慢することにする
 いや、そこまでは必要ないです
 量産品すらFPGA使う時代に専用LSI・・・
 アマチュアはFPGAで良いんだよなぁ・・・w
「集積回路=すごいことをやるためのもの」という意識
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Mooreの法則がもたらしたもの(2)
LSI設計・製造コストの高騰
シャトル製造サービス〜$1k
製造初期コスト(マスク)〜$1M
設計ツール 〜$1M
秘密保持契約(NDA; Non Disclosure Agreement)
: Priceless
製造工場 〜$1G
cf:プリント基板製造($10~)、Arduino($10~)
cf: 設計CAD&コンパイラ(IDE)(Free~)
「専用LSIつくってLチカ」ってもったいない&無駄遣いすぎる
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
これまでに・・・
「懲りずに再度、LED点滅用のLSIを
つくってLチカをやってみた」
Inkscape設計、クリーンルームで製造、
センサ
「また懲りずに再度、LED点滅用の
LSIをつくってLチカをやってみた 」
555互換(デジアナ混載)
「またまた懲りずに再度、LED点滅用
のLSIをつくってLチカをやってみた 」
Cortex-M0(HDLから設計)
2021/7/28 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
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
オレLSI:IoT向けも
IoTは、本質的に「少量多品種」
使う場面ごとに、必要な機能・性能が異なる
情報処理のやり方も多様(端末側?サーバ?)
環境発電(太陽電池、振動発電など)など、
超低消費電力が必要な場面も多い
センサ プロセッサ 通信
記録 電源
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
半導体を「つくる」ためのハードル
設計CAD
市販の業務用CAD: 高すぎ、高機能すぎ
製造方法
高すぎ、時間かかりすぎ(1000万円・半年)
NDA(設計ルールなどのアクセス制限)が厳しすぎ
ユーザ・コミュニティ
参入障壁:現状は専門家ばかり
“How”の専門家は多いが、”Why/What”は皆無
いずれも、なんとかなりそう?
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
MakerでオレLSIをつくってみたい
情報収集・整理
仲間さがし
有志でつくってみる?
製造方法もいくつか
フェニテック0.6umなど
http://j.mp/make_lsi
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
・・・と思っていたら
NDA不要・オープンソースなチップ設計環境
やや議論が発散気味な印象だが、猛スピードで整備中
予定では11月に相乗り試作
「なんてNDAなしでできたんですかね?」
→「だって130nmなんて枯れた技術だし、
隠すより、エコシステム作ったほうがいいじゃん?」
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
Non-commercial EDA Tools
結構ある(オープンソースも多い)
Layout Tool: Glade, K-Layout
Schematic Entry: KiCAD, Xscheme, …
Circuit Simulator: LTspice / Spice3 / ngspice, …
Synthesize/P&R: Alliance, Qflow, OpenLANE
*Open Source Softwares
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
5番目のLチカのお題:RISC-V
Open SourceなRISC命令セット
用途に応じて、実装する命令が階層化
乗算器、浮動小数点、暗号化、・・・
回路の小規模下、省電力化に
適している
ARMと並んで組み込み用途、
特に中国で採用例が急増中
52
https://riscv.org/specifications/
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
RISC-Vコアの入手
poyo-v
命令セット:RV32I
3段パイプライン
VerilogHDLソース
MITライセンス
https://github.com/ourfool/poyo-v
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
ペリフェラルの準備
RISC-V
ROM
GPIO
Lチカのプログラムを
入れておく
poyo-v
チップ
(CMOS0.6um)
メモリマップ
0x00000000:プログラム
0x00001000:GPIO
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
プログラムの記述→命令ROM
0000 lui x1,0x0
0004 addi x1,x1,0x0ff ; x1=255
0008 lui x3,0x00001 ; GPIO base address
000c li x4,1 / ori x0,x4,1
0010 sw x4,0(x3) ; GPIO=1
0014 mv x2,x0 ; = addi x2,x0,0
0018 addi x2,x2,1 ; = x2++
001c bgeu x1,x2,00018
0020 sw x0,0(x3) ; GPIO=0
0024 mv x2,x0 ; = addi x2,x0,0
0028 addi x2,x2,1 ; x2++
002c bgeu x1,x2,00028
0030 j 00010
アセンブラをハードコーディング
→機械語へ
(確認用にgcc/gasも使用)
module imem(
input wire clk,
input wire [5:0] addr,
output reg [31:0] rd_data
);
wire [3:0] iaddr = addr[5:2];
always @(posedge clk) begin
case (iaddr)
// blink program
16'h0000 : rd_data <= 32'h000000b7; // lui x1,0x0
16'h0001 : rd_data <= 32'h0ff08093; // addi x1,x1,0x0ff / x1=255
16'h0002 : rd_data <= 32'h000011b7; // lui x3,0x00001 / GPIO base address
16'h0003 : rd_data <= 32'h00106213; // li x4,1 / ori x0,x4,1
16'h0004 : rd_data <= 32'h0041a023; // sw x4,0(x3) ; GPIO=1
16'h0005 : rd_data <= 32'h00000113; // mv x2,x0 = addi x2,x0,0
16'h0006 : rd_data <= 32'h00110113; // addi x2,x2,1 = x2++
16'h0007 : rd_data <= 32'hfe20fee3; // bgeu x1,x2,00018
16'h0008 : rd_data <= 32'h0001a023; // sw x0,0(x3) ; GPIO=0
16'h0009 : rd_data <= 32'h00000113; // mv x2,x0 = addi x2,x0,0
16'h000a : rd_data <= 32'h00110113; // addi x2,x2,1 ; x2++
16'h000b : rd_data <= 32'hfe20fee3; // bgeu x1,x2,00028
16'h000c : rd_data <= 32'hfe1ff06f; // j 00010
endcase
end
endmodule
VerilogHDLで命令ROMを記述
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
RISC-Vコア(poyo-v)の修正
そのままでは予定していたチップに入らない
(CMOS 0.6um 3M / 1.8mm角)
poyo-vでコアで使わない機能を削減
レジスタ数:32個→5個
レジスタ幅:32bit→2bit
命令デコーダ:使用する命令のみに
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
チップ製造への流れ
0000 lui x1,0x0
0004 addi x1,x1,0x0ff ; x1=255
0008 lui x3,0x00001 ; GPIO base address
000c li x4,1 / ori x0,x4,1
0010 sw x4,0(x3) ; GPIO=1
0014 mv x2,x0 ; = addi x2,x0,0
0018 addi x2,x2,1 ; = x2++
001c bgeu x1,x2,00018
0020 sw x0,0(x3) ; GPIO=0
0024 mv x2,x0 ; = addi x2,x0,0
0028 addi x2,x2,1 ; x2++
002c bgeu x1,x2,00028
0030 j 00010
VerilogHDL
CMOS 0.6um 3Al 1.8mm(sq)
Core=1490um x 1240um
Qflow(論理合成・配置配線)
osu050
(NDAフリースタセル:一部修正)
module imem(
input wire clk,
input wire [5:0] addr,
output reg [31:0] rd_data
);
wire [3:0] iaddr = addr[5:2];
always @(posedge clk) begin
case (iaddr)
// blink program
16'h0000 : rd_data <= 32'h000000b7; // lui x1,0x0
16'h0001 : rd_data <= 32'h0ff08093; // addi x1,x1,0x0ff / x1=255
16'h0002 : rd_data <= 32'h000011b7; // lui x3,0x00001 / GPIO base address
16'h0003 : rd_data <= 32'h00106213; // li x4,1 / ori x0,x4,1
16'h0004 : rd_data <= 32'h0041a023; // sw x4,0(x3) ; GPIO=1
16'h0005 : rd_data <= 32'h00000113; // mv x2,x0 = addi x2,x0,0
16'h0006 : rd_data <= 32'h00110113; // addi x2,x2,1 = x2++
16'h0007 : rd_data <= 32'hfe20fee3; // bgeu x1,x2,00018
16'h0008 : rd_data <= 32'h0001a023; // sw x0,0(x3) ; GPIO=0
16'h0009 : rd_data <= 32'h00000113; // mv x2,x0 = addi x2,x0,0
16'h000a : rd_data <= 32'h00110113; // addi x2,x2,1 ; x2++
16'h000b : rd_data <= 32'hfe20fee3; // bgeu x1,x2,00028
16'h000c : rd_data <= 32'hfe1ff06f; // j 00010
endcase
end
endmodule
poyo-v + GPIO
レイアウトデータ(GDS)
フェニテック社の
シャトル製造
(約20万円/10chip)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
ボンディング→配線
クロック源の”555”(約10Hz)
(同一チップの余白に集積)
MakerFaireTokyo2020の1週間前に到着
→ボンディングして、ブレッドボードで
マニュアルボンダーで
ボンディング(Al線)
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
動作結果
一応、LEDは点滅している(約2Hz)
ただ、ちょっと動作があやしい
周期が不規則にばらつく
D-FFのセットアップ/ホールドタイムが足りない?
←製造プロセスとは別の論理セルライブラリを使用
=遅延モデルが設計と実際で異なる?
https://www.youtube.com/watch?v=kV9WkaiM1Ik
https://www.nicovideo.jp/watch/sm38762993
「相変わらず懲りずに再度、LED点滅用の
LSIをつくってLチカをやってみた 」
2021/7/28 Interface Device Laboratory, Kanazawa University http://ifdl.jp/
まとめ
ムーアの法則とコンピュータの歴史
高性能化
用途の拡大:その意義
「技術の民主化」という考え方
技術が「道具」になるステップ
半導体の民主化:そのステップ
現状の整理
MakeLSI:他、世界的な流れになりつつある

道具としての半導体設計:Lチカを題材として

  • 1.
    Interface Device Laboratory,Kanazawa University http://ifdl.jp/ 道具としての半導体設計 :Lチカを題材として 秋田純一(金沢大学)
  • 2.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 自己紹介  1970名古屋生まれ  東京で大学→大学院  金沢大(’98~’00・’04~)  公立はこだて未来大(’00~’04)  ’95〜’00:はこだて未来大 計画策定委員(翼セミナーOBの縁)  本業:集積回路、特に(機能つき)イメージセンサ  好きなプロセスはCMOS 0.35μm  +集積回路を使うデバイス・システム  ユーザインタフェース・インタラクティブシステム(人間相手の機械) 集積回路(イメージセンサ)のレイアウト図 (プロッタ出力して目視チェック) 基板設計 研究室(実験室)
  • 3.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 自己紹介(副業) Maker、ハンダテラピスト 好きな半田はPb:Sn=40:60
  • 4.
    Interface Device Laboratory,Kanazawa University http://ifdl.jp/ 「ムーアの法則」について改めて
  • 5.
    2021/7/28 Interface DeviceLaboratory, 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)の発明
  • 6.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 半導体(集積回路)の発明 US Patent No. 2 981 877 (R. Noyce) (1961) US Patent No. 2 138 743 (J. Kilby) (1959) 電子回路を半導体(ケイ素=シリコン)に作り込んだもの インテルの創業者(の一人)
  • 7.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 半導体の進化の歴史: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.
  • 8.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ Mooreの法則のカラクリ:比例縮小 コンピュータの電子回路の最小単位 =MOSトランジスタ 電流のON(“1”)/OFF(“0”)を制御するスイッチ 集積回路の部品(MOSトランジスタ)を、同じ 形状で、より小さく作ると・・・? 寸法: 1/α 不純物濃度: α 電源電圧: 1/α p-Si S D G n-Si n-Si p-Si S D G n-Si n-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トランジスタの断面構造
  • 9.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 比例縮小の効果 効果:いいことばかり 速度↑(電子の移動=信号の伝搬距離が短くなる) 消費電力↓(電源電圧が下がる) 集積度(機能)↑(1つの素子が小さい=同一チップに多数) 技術が進むべき方向性が極めて明確なまれなケース p-Si S D G n-Si n-Si p-Si S D G n-Si n-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個の専有面積) 物理的な詳細
  • 10.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 般若心経だと・・・ 1um 0.8um 0.5um 0.35um 18ヶ月 18ヶ月 18ヶ月 同じ用紙サイズなら文字数2倍 =機能2倍
  • 11.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 般若心経だと・・・(その2) 1um 18ヶ月 18ヶ月 0.5um 0.8um 同じ内容なら用紙サイズ1/2 =コスト1/2
  • 12.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ MOSトランジスタの微細化の歴史 微細化するほど メリットがある =がんばって微細化 そろそろ「原子」が 見えてきている 「お金がからむと 技術は進む」 L=20nm L=5nm 平本・日経新聞「経済教室」(2019/7/18) 日経BP Tech-On! 2009/03/30
  • 13.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ コンピュータの歴史の2つの側面 DEC VAX(1976) 1MIPS Cray-1 (1978) 100MIPS MIPS:Million Instruction Per Second (1秒間に実行できる命令数) (世界最初のスーパーコンピュータ) 「世界トップの高速化」+「身近なものにも高速化の恩恵」の2つの側面がある 107MFLOPS 10MIPS 100MIPS 100MIPS 108MIPS 5×1011MFLOPS 106MFLOPS 100MIPS
  • 14.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ コンピュータの「使い方」の変化 国に1台/会社に1台 個人で1台(PC) 一人で何台も 仕事・勉強の道具 国・会社のプロジェクト コミュニケーション ・遊びの道具 >1億円 10〜100万円 数万円 身の回りに無数 存在に 気づかない 〜100円 大昔のコンピュータ 一昔前のコンピュータ 今どきのコンピュータ コンピュータの利用場面(アプリケーション)が広がった
  • 15.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ イノベーションのトリクルダウン A. “bunnie” Huan, “Guerilla Production Tactics”より 30倍 3倍 45nmノード 14nmノード
  • 16.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「Lチカ」から考える半導体 =「LEDチカチカ」(LED Blink) 「LEDを点滅させる」こと プログラミングにおける”Hello World”的なもの (まず始めに試すやつ)
  • 17.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ ※ウソです 広辞林(第6版)より
  • 18.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 日本工業標準調査会(JISC) JIS規格一覧 ※ウソです
  • 19.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「Lチカ」のパラダイムシフト MCU #Component=1 $1 Oscillator(555) #Component=4 $1.5 while(1){ a = 1; sleep(1); a = 0; sleep(1); } 可能だが非現実的なLチカ 合理的なLチカ マイコン(MCU)を使って 「Lチカ」しない理由がない コスト、機能性、・・・ コンピュータの使い方がもったいなくなくなった Mooreの法則の結果、コンピュータが「部品」になった例
  • 20.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ コンピュータが「頭脳」から「部品」に 出典:ARM 機器の頭脳 関節ごとに小さい脳(神経節) コンピュータが、システムの「主役」から「構成要素(部品)」になった
  • 21.
    2021/7/28 Interface DeviceLaboratory, 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
  • 22.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ (おまけ)炙って見られる どこのご家庭にもある BBQ用バーナー(カセットボンベ式) 3分くらい炙る ※火事・ヤケドに注意 ICチップ(パッケージ入) チップが見えてきた! 炭化したパッケージを、 ピンセットなどで、崩していく (チップを割らないように注意)
  • 23.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ (おまけ) ネタをTwitterで晒していたら、本になりました
  • 24.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 価格が起こしたパラダイムシフト シリアル制御フルカラーLED“NeoPixel” 電源+1本のシリアル制御線で複数制御 超安価 (~3円/pcs) 普通のLEDより安い LEDディスプレイなど大量に使われるようになった 制御チップは1umルール程度(かなり安い) Ref:https://news.nicovideo.jp/watch/nw4240213
  • 25.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ Mooreの法則の今後 微細化が進みすぎて、素子として動作しない+ 安定に製造できない 不安要因 製造ばらつき(設計通りの形状にならない) 不純物ばらつき(電気特性が設計通りにならない) トンネル効果(OFFにしたつもりが電子が通り抜ける) ref: https://slideplayer.com/slide/7843454/ Si原子(直径0.2nm) ×50
  • 26.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 最近のCPU(※イメージ) Intel Core i7 (2008) トランジスタ(素子)数~10億個 (設計では、これらを1つも間違いなく組み合わせる) cf: 地球の人口~70億人、中国の人口~13億人
  • 27.
    2021/7/28 Interface DeviceLaboratory, 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 設計が正しいか検証しきれない
  • 28.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ AI/IoT時代の半導体 半導体は重要部品なのは事実 Mooreの法則の延長は望めない 十分すぎる、使いこなしきれない機能がある どう使うか? 「今ある半導体を使う」という発想の転換 ソフトウエア→ハードウエア→半導体チップ
  • 29.
    Interface Device Laboratory,Kanazawa University http://ifdl.jp/ 技術が「道具」になる意義と イノベーション
  • 30.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術の進歩と独裁化 科学技術の進歩=社会水準の向上 科学技術の進歩=技術の高度化・複雑化 「製造者」と「利用者」の分離 製造者の「特権」: 原材料の入手(原油、電子部品、・・・) 工場・製造装置 販売チャンネル 利用者の「意識」 「ものは買う物」 大量生産・大量消費の時代が長く続いた
  • 31.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術の民主化へ 技術を、市民の手に「取り戻す」流れ 大量生産→ロングテールへ 「技術の民主化」を可能にする技術革新 実はルネッサンス時代への回帰でもある
  • 32.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術の「民主化」がもたらすもの (以前)プロのみ 音楽、映画、・・・ 我々は「消費者」 (現在)アマチュアでもコンテンツを 作ることができる DTM, Vocaloid, … YouTube, … 我々は「制作者」にもなれる (可能性・裾野が広がった) 宮下芳明「コンテンツは民主化をめざす ―表現のためのメディア技術」 (明治大学出版会, 2015)
  • 33.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術の「民主化」がもたらすもの プログラミング (以前)PCもプログラミングツールも高価 「遊び」から始められない (現在)PCもプログラミングツールも安価orタダ 「遊び」などから始められる =敷居の低下=裾野の広がり
  • 34.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術の「民主化」がもたらすもの 裾野が広がる=イノベータの多様化 「アツい思い」を具現化する 道具がある 多様性=イノベーションの土壌 小川進「ユーザーイノベーション: 消費者から始まるものづくりの未来」 (東洋経済新報社, 2013) (L.Fleming, Harvard Business Review, 8(9), pp.22-24 (2004))
  • 35.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術が「道具」になるとは 技術が「道具」になるステップ 開発/発明される お店で買えるようになる 使い方が知られるようになる みんなが使うようになる それが「道具」となって、次のステップへ プロのみ マニア(ハイレベルアマチュア)向け だれでも プロ(詳しい人)しか使えない アマ(詳しくない人)でも使える
  • 36.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 道具としてのマイコンボード 文具のように、いつのまにかなくなるので 常時ストック、という感覚
  • 37.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 「Makerの道具」としてのArduino Arduino←→それまでのマイコンボード USBケーブルのみでPC接続(給電・通信・書き込み) DTRリセット(PCからリセットをかける) メスソケット(ジャンパ線を挿せる) ArduinoIDE(ソフトウエアはこれで完結。ライブラリと サンプルも) いずれも「なんだ、そんなことか」と思えること しかし、それで「世の中が変わった」
  • 38.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術の民主化の結果:深圳の華強北 38 山寨(ShanZhai)の例(“iPhone nano”) ※FakeCopyではなく、プロダクトの 進化系。これが2週間で量産される 無限に続くパーツ屋 “Used Mobile Phone Shop”の実体 パーツに分解 (BGAも) 路上で解体 店頭でリペア 新製品の試作に流用 ShenZhen HuaQiangBei 基板製造 + 部品(サプライチェーン) + 起業(ハードウエアスタートアップ) + 資本(VC/アクセラレータ) 深圳の生態系 謎の起業・新製品が続々(ときどきアタる) 世界中から頭脳と資金が集まり、 イノベーションを生み出している 「ハードウエアのシリコンバレー」とも
  • 39.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 技術が生まれて「道具」になるまで エリンギの例 1993年に日本へ 2003年ごろから一般化 ↑10年かかって「道具」に 料理番組、調理例・・・ 農林水産省「平成20年度 農林水産物貿易円滑化推進事業 台湾・香港・シンガポール・タイにおける品目別市場実態調査 (生鮮きのこ)報告書」(林野庁経営課特用林産対策室 )より
  • 40.
    Interface Device Laboratory,Kanazawa University http://ifdl.jp/ 最後の砦:半導体 ラスボス
  • 41.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 半導体は「道具」になっているか? 「ハード」=電子回路、プリント基板あたり 「集積回路(半導体チップ)」までは、なかなか どうしても「今あるもの・使えるもの」を使う カメラ、Kinect、マイコン、FPGA・・・ 新技術で、一気にパラダイムが変わることがある 「集積回路をつくれる」という道具 =「いまできること」という発想の縛りから開放 Depth画像 ※昔は「可能だが高価」 →Kinect後は「誰でも使える」 →ユーザインタフェース界の革命
  • 42.
    2021/7/28 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) (※LSI=集積回路のこと)
  • 43.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ Lチカ動画:ニコ動でのコメント  こっから?  ニコ技界のTOKIO  ゲートの無駄遣い  ここから!!?  ひでえ、勿体ない使い方wwwww  マジかよ。レジストレベルの設計とか ガチすぎる。  無駄遣い過ぎるだろw  贅沢というかなんというか  え?まじでここからかよ」wwww」」  IC版FusionPCB的なところが現れれば・・・  (FPGAでは)いかんのか?  俺はFPGAで我慢することにする  いや、そこまでは必要ないです  量産品すらFPGA使う時代に専用LSI・・・  アマチュアはFPGAで良いんだよなぁ・・・w 「集積回路=すごいことをやるためのもの」という意識
  • 44.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ Mooreの法則がもたらしたもの(2) LSI設計・製造コストの高騰 シャトル製造サービス〜$1k 製造初期コスト(マスク)〜$1M 設計ツール 〜$1M 秘密保持契約(NDA; Non Disclosure Agreement) : Priceless 製造工場 〜$1G cf:プリント基板製造($10~)、Arduino($10~) cf: 設計CAD&コンパイラ(IDE)(Free~) 「専用LSIつくってLチカ」ってもったいない&無駄遣いすぎる
  • 45.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ これまでに・・・ 「懲りずに再度、LED点滅用のLSIを つくってLチカをやってみた」 Inkscape設計、クリーンルームで製造、 センサ 「また懲りずに再度、LED点滅用の LSIをつくってLチカをやってみた 」 555互換(デジアナ混載) 「またまた懲りずに再度、LED点滅用 のLSIをつくってLチカをやってみた 」 Cortex-M0(HDLから設計)
  • 46.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ オレLSI:AI向けも AI/深層学習向けのプロセッサ 従来型の「ノイマン型コンピュータ」では苦手 いわゆるASIC(特定用途向けIC)だが、 少量多品種向け GoogleのTPU (Tensorflow Processing Unit)の例 ref: https://news.mynavi.jp/article/20170411-tpu/2
  • 47.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ オレLSI:IoT向けも IoTは、本質的に「少量多品種」 使う場面ごとに、必要な機能・性能が異なる 情報処理のやり方も多様(端末側?サーバ?) 環境発電(太陽電池、振動発電など)など、 超低消費電力が必要な場面も多い センサ プロセッサ 通信 記録 電源
  • 48.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 半導体を「つくる」ためのハードル 設計CAD 市販の業務用CAD: 高すぎ、高機能すぎ 製造方法 高すぎ、時間かかりすぎ(1000万円・半年) NDA(設計ルールなどのアクセス制限)が厳しすぎ ユーザ・コミュニティ 参入障壁:現状は専門家ばかり “How”の専門家は多いが、”Why/What”は皆無 いずれも、なんとかなりそう?
  • 49.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ MakerでオレLSIをつくってみたい 情報収集・整理 仲間さがし 有志でつくってみる? 製造方法もいくつか フェニテック0.6umなど http://j.mp/make_lsi
  • 50.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ ・・・と思っていたら NDA不要・オープンソースなチップ設計環境 やや議論が発散気味な印象だが、猛スピードで整備中 予定では11月に相乗り試作 「なんてNDAなしでできたんですかね?」 →「だって130nmなんて枯れた技術だし、 隠すより、エコシステム作ったほうがいいじゃん?」
  • 51.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ Non-commercial EDA Tools 結構ある(オープンソースも多い) Layout Tool: Glade, K-Layout Schematic Entry: KiCAD, Xscheme, … Circuit Simulator: LTspice / Spice3 / ngspice, … Synthesize/P&R: Alliance, Qflow, OpenLANE *Open Source Softwares
  • 52.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 5番目のLチカのお題:RISC-V Open SourceなRISC命令セット 用途に応じて、実装する命令が階層化 乗算器、浮動小数点、暗号化、・・・ 回路の小規模下、省電力化に 適している ARMと並んで組み込み用途、 特に中国で採用例が急増中 52 https://riscv.org/specifications/
  • 53.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ RISC-Vコアの入手 poyo-v 命令セット:RV32I 3段パイプライン VerilogHDLソース MITライセンス https://github.com/ourfool/poyo-v
  • 54.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ ペリフェラルの準備 RISC-V ROM GPIO Lチカのプログラムを 入れておく poyo-v チップ (CMOS0.6um) メモリマップ 0x00000000:プログラム 0x00001000:GPIO
  • 55.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ プログラムの記述→命令ROM 0000 lui x1,0x0 0004 addi x1,x1,0x0ff ; x1=255 0008 lui x3,0x00001 ; GPIO base address 000c li x4,1 / ori x0,x4,1 0010 sw x4,0(x3) ; GPIO=1 0014 mv x2,x0 ; = addi x2,x0,0 0018 addi x2,x2,1 ; = x2++ 001c bgeu x1,x2,00018 0020 sw x0,0(x3) ; GPIO=0 0024 mv x2,x0 ; = addi x2,x0,0 0028 addi x2,x2,1 ; x2++ 002c bgeu x1,x2,00028 0030 j 00010 アセンブラをハードコーディング →機械語へ (確認用にgcc/gasも使用) module imem( input wire clk, input wire [5:0] addr, output reg [31:0] rd_data ); wire [3:0] iaddr = addr[5:2]; always @(posedge clk) begin case (iaddr) // blink program 16'h0000 : rd_data <= 32'h000000b7; // lui x1,0x0 16'h0001 : rd_data <= 32'h0ff08093; // addi x1,x1,0x0ff / x1=255 16'h0002 : rd_data <= 32'h000011b7; // lui x3,0x00001 / GPIO base address 16'h0003 : rd_data <= 32'h00106213; // li x4,1 / ori x0,x4,1 16'h0004 : rd_data <= 32'h0041a023; // sw x4,0(x3) ; GPIO=1 16'h0005 : rd_data <= 32'h00000113; // mv x2,x0 = addi x2,x0,0 16'h0006 : rd_data <= 32'h00110113; // addi x2,x2,1 = x2++ 16'h0007 : rd_data <= 32'hfe20fee3; // bgeu x1,x2,00018 16'h0008 : rd_data <= 32'h0001a023; // sw x0,0(x3) ; GPIO=0 16'h0009 : rd_data <= 32'h00000113; // mv x2,x0 = addi x2,x0,0 16'h000a : rd_data <= 32'h00110113; // addi x2,x2,1 ; x2++ 16'h000b : rd_data <= 32'hfe20fee3; // bgeu x1,x2,00028 16'h000c : rd_data <= 32'hfe1ff06f; // j 00010 endcase end endmodule VerilogHDLで命令ROMを記述
  • 56.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ RISC-Vコア(poyo-v)の修正 そのままでは予定していたチップに入らない (CMOS 0.6um 3M / 1.8mm角) poyo-vでコアで使わない機能を削減 レジスタ数:32個→5個 レジスタ幅:32bit→2bit 命令デコーダ:使用する命令のみに
  • 57.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ チップ製造への流れ 0000 lui x1,0x0 0004 addi x1,x1,0x0ff ; x1=255 0008 lui x3,0x00001 ; GPIO base address 000c li x4,1 / ori x0,x4,1 0010 sw x4,0(x3) ; GPIO=1 0014 mv x2,x0 ; = addi x2,x0,0 0018 addi x2,x2,1 ; = x2++ 001c bgeu x1,x2,00018 0020 sw x0,0(x3) ; GPIO=0 0024 mv x2,x0 ; = addi x2,x0,0 0028 addi x2,x2,1 ; x2++ 002c bgeu x1,x2,00028 0030 j 00010 VerilogHDL CMOS 0.6um 3Al 1.8mm(sq) Core=1490um x 1240um Qflow(論理合成・配置配線) osu050 (NDAフリースタセル:一部修正) module imem( input wire clk, input wire [5:0] addr, output reg [31:0] rd_data ); wire [3:0] iaddr = addr[5:2]; always @(posedge clk) begin case (iaddr) // blink program 16'h0000 : rd_data <= 32'h000000b7; // lui x1,0x0 16'h0001 : rd_data <= 32'h0ff08093; // addi x1,x1,0x0ff / x1=255 16'h0002 : rd_data <= 32'h000011b7; // lui x3,0x00001 / GPIO base address 16'h0003 : rd_data <= 32'h00106213; // li x4,1 / ori x0,x4,1 16'h0004 : rd_data <= 32'h0041a023; // sw x4,0(x3) ; GPIO=1 16'h0005 : rd_data <= 32'h00000113; // mv x2,x0 = addi x2,x0,0 16'h0006 : rd_data <= 32'h00110113; // addi x2,x2,1 = x2++ 16'h0007 : rd_data <= 32'hfe20fee3; // bgeu x1,x2,00018 16'h0008 : rd_data <= 32'h0001a023; // sw x0,0(x3) ; GPIO=0 16'h0009 : rd_data <= 32'h00000113; // mv x2,x0 = addi x2,x0,0 16'h000a : rd_data <= 32'h00110113; // addi x2,x2,1 ; x2++ 16'h000b : rd_data <= 32'hfe20fee3; // bgeu x1,x2,00028 16'h000c : rd_data <= 32'hfe1ff06f; // j 00010 endcase end endmodule poyo-v + GPIO レイアウトデータ(GDS) フェニテック社の シャトル製造 (約20万円/10chip)
  • 58.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ ボンディング→配線 クロック源の”555”(約10Hz) (同一チップの余白に集積) MakerFaireTokyo2020の1週間前に到着 →ボンディングして、ブレッドボードで マニュアルボンダーで ボンディング(Al線)
  • 59.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ 動作結果 一応、LEDは点滅している(約2Hz) ただ、ちょっと動作があやしい 周期が不規則にばらつく D-FFのセットアップ/ホールドタイムが足りない? ←製造プロセスとは別の論理セルライブラリを使用 =遅延モデルが設計と実際で異なる? https://www.youtube.com/watch?v=kV9WkaiM1Ik https://www.nicovideo.jp/watch/sm38762993 「相変わらず懲りずに再度、LED点滅用の LSIをつくってLチカをやってみた 」
  • 60.
    2021/7/28 Interface DeviceLaboratory, Kanazawa University http://ifdl.jp/ まとめ ムーアの法則とコンピュータの歴史 高性能化 用途の拡大:その意義 「技術の民主化」という考え方 技術が「道具」になるステップ 半導体の民主化:そのステップ 現状の整理 MakeLSI:他、世界的な流れになりつつある