太鼓と見張り ― 神経細胞を Basys 3 で作って、電流計で比べる
ボタン一個とLED一個で神経細胞を作り、最後は百個並べて電流計の針を見る
持ち込み元 散歩02 脳は20Wで動く ― ニューロチップの現在地の第6節「終点」。そこで描いた五つの「やってみること」を、この実験でそのまま実物にします。散歩の主張は「脳型チップの省電力は、神経細胞の式からではなく、何も起きていないときに太鼓(クロック)を止める設計から来る」でした。それが本当かどうかを、電流計で確かめます。
1 予想 ― 測る前に、書いておく
散歩で描いた構想を、そのまま予想にします。測ったあとは、この節は書き換えません。
五つの「やってみること」で、こうなるはず
- その一(一個の神経細胞) ボタンをゆっくり押すとLEDは光らない。速く連打すると一回だけ光り、連打を続けると一定間隔で光り続ける。7セグメントに出した「バケツの水位」は、押すと増え、放っておくと減る
- その二(漏れと閾値を変える) 光るかどうかを決めるのは押した回数ではなく、押した間隔。同じ十回でも、一秒に十回なら光り、十秒に十回なら光らない
- その三(二個で同時検出) 左だけ連打しても、右だけ連打しても光らない。左右をほぼ同時に押したときだけ光る。「ほぼ同時」の幅は、漏れの速さで変えられる
- その四(電流を測る) 神経細胞一個では、押しているときと押していないときで、基板の電流に見える差は出ない(土台の電流に埋もれる)
- その五(太鼓と見張りを百個ずつ) 太鼓方式を百個並べると、ボタンに触らなくても土台より数十ミリアンペア増える。見張り方式を百個並べても、触らなければ土台とほぼ同じ。一秒に十回押しても、見張り方式はほぼ変わらない。太鼓方式のクロックを100MHzから10MHzに落とすと、増分は十分の一近くになる
数字での予想 ★土台の電流 ___ mA / 太鼓×100 の増分 ___ mA / 見張り×100 の増分 ___ mA(測る前に、Vivadoの電力見積もりも見て、ここに数字を書いておく)
2 道具
| もの | 型番・条件 | 役割 |
|---|---|---|
| FPGA基板 | Digilent Basys 3(Artix-7 XC7A35T) | 神経細胞を載せる。押しボタン、スライドスイッチ、LED、7セグメントを使う |
| 電流計 | ★USB電流計(1mA刻み)または電流表示付き安定化電源(0.1mA刻み) | 基板全体の電流を読む |
| 設計ツール | ★Vivado のバージョン | 回路を書いて書き込む。電力見積もりも取る |
| 前提 | FPGA入門のLチカまで | 書き込みの手順はそちらに任せる |
★実際に使ったものに書き換える。
3 手順
★実際にやった順に書く。読んだ人が同じ手順で同じ数字を出せることを前提にする。
3.1 神経細胞を一個作る(その一・その二)
★バケツ(カウンタ)、穴(一定周期で減らす)、あふれ(閾値との比較)、リセット。ボタンのチャタリング対策。7セグメントへの水位表示。スライドスイッチで漏れの速さと閾値を変える。
3.2 二個つないで同時検出器にする(その三)
★二個の神経細胞の出力を、三個目の神経細胞に入れる。三個目の漏れを速くしておくと、二つの入力がほぼ同時に来たときだけあふれる。
3.3 電流を測る(その四・その五)
★土台(何も載せない)→ 太鼓×100(触らない)→ 見張り×100(触らない)→ 見張り×100(一秒に十回押す)→ 太鼓×100 を10MHzに落とす。それぞれ、切り替えてから何秒待って読んだか。温度による待機電流の変化に注意。
4 結果
測った数字
| 条件 | 予想(mA) | 実測(mA) | 差 |
|---|---|---|---|
| 土台(何も載せない) | ★ | ★ | ★ |
| 太鼓×100、触らない、100MHz | ★ | ★ | ★ |
| 見張り×100、触らない | ★ | ★ | ★ |
| 見張り×100、一秒に十回押す | ★ | ★ | ★ |
| 太鼓×100、触らない、10MHz | ★ | ★ | ★ |
★その一〜その三で見えたこと(光り方、7セグメントの動き)も、ここに書く。写真や短い動画があれば貼る。
5 予想との差
★合っていたところ、外れたところ。外れた理由の候補。クロック配線ぶんの電流が残っていたか。クロックを止める回路(BUFGCE)を足したら、どう変わったか。
6 分かったこと
★散歩の主張「省電力の正体は太鼓を止める設計にある」は、数字で支持されたか。一文で。
7 次にやりたくなったこと
★同じ神経細胞をアナログで(アナログIC設計入門の延長)。Tiny Tapeout に出す。イベントカメラをつなぐ。など。
参照 持ち込み元の散歩02と、そこに挙げた出典。Basys 3 の仕様は Digilent のリファレンスマニュアルによる。★ほかに参照したもの。