Compare commits
2 Commits
8e4bf3df7f
...
c9b0ad6e46
Author | SHA1 | Date | |
---|---|---|---|
c9b0ad6e46 | |||
681b866b96 |
65
content/コードとデザイン 人間CMOSワークショップ.md
Normal file
65
content/コードとデザイン 人間CMOSワークショップ.md
Normal file
@ -0,0 +1,65 @@
|
||||
---
|
||||
date: 2025-04-25 01:22
|
||||
---
|
||||
#teaching
|
||||
|
||||
## 主旨
|
||||
|
||||
現代のコンピューターの根幹である、論理回路について理解を深める。
|
||||
|
||||
また同時に、アナログ電子回路の構成の理解も深めるため、よくある旗上げゲームのような論理回路の模式的な理解ではなく、MOSFETを用いた論理回路の構成を行う。
|
||||
|
||||
授業の構成上、90分授業x2コマの前半は、身体を使って人一人が一つのトランジスタを演じるような形で動作のシミュレーションを行い、後半では実際にMOSFETを紙の上に銅箔テープを貼って作った電気回路の上にはんだ付けして作ることで理解を試みる。
|
||||
|
||||
## 前口上
|
||||
|
||||
現代のコンピューターとは、ハードウェア的には突き詰めると、電流の値が高い/低いという2種類の値を、いろんな組み合わせで受け取って、その結果をまたバイナリの値の集合として返すようなものである。
|
||||
|
||||
例えば連続的に見える整数や実数のような値も、0と1の組み合わせで表現でき、その足し算や引き算も、2値の値の組み合わせに対応する答えの組み合わせを返す回路を作る事で表現できる。
|
||||
## 人間CMOSの基本
|
||||
|
||||
### 共通のルール
|
||||
|
||||
高さが電圧を表すものとする。
|
||||
|
||||
電源と繋がっている配線は、常に高い位置にある。
|
||||
|
||||
GNDと繋がっている配線は、常に低い位置にある。
|
||||
|
||||
導通している場所同士は全て同じ位置でなければならない。
|
||||
|
||||
導通しているはずなのに高さが違うのは、ショート(短絡)を意味する。これは、電源とGNDが直結され、急激に電流が流れるので実際には危険。
|
||||
|
||||
### MOSFET役のルール
|
||||
|
||||
肩がゲート:入力とする。配線をするときは、肩に触れる。(別に直接触れなくとも良い)
|
||||
|
||||
PMOS、NMOSともに、右手をソース、左手をドレインとする。
|
||||
|
||||
右手のソースは、どこかと配線されたら、繋がっている部分の電圧と同じ電圧になる。電源に繋げれば上がるし、GNDにつながれば下がる。
|
||||
|
||||
NMOSの人は、**ソース(右手)よりゲート(肩)の電圧が高ければ、ドレイン(左手)をソースを同じ電圧にする(=スイッチオン)**
|
||||
|
||||
PMOSの人は、**ソース(右手)よりゲート(肩)の電圧が低ければ、ドレイン(左手)をソースを同じ電圧にする(=スイッチオン)**
|
||||
|
||||
## CMOSインバーターを演じてみよう
|
||||
|
||||
1グループあたりの役:
|
||||
|
||||
- 入力兼配線役
|
||||
- PMOS役
|
||||
- NMOS役
|
||||
- 出力配線役
|
||||
|
||||
あまりが出る場合は、1~2人を指示役として調整。
|
||||
|
||||
「入力がHIGHの時出力がLOW、入力がLOWの時出力がHIGHの回路を作ろう」
|
||||
|
||||
## 紙で作ってみよう
|
||||
|
||||
一人当たりPMOS、NMOS1個ずつ LEDと抵抗
|
||||
|
||||
20人いると、、、NMOS20、PMOS20
|
||||
|
||||
NANDも作ると、NMOS40、PMOS40いる
|
||||
|
@ -5,5 +5,7 @@ date: "2023-11-07T15:34:11+0900"
|
||||
|
||||
[[メディアアート・プログラミング2 リーディングリスト]]
|
||||
|
||||
[[コードとデザイン 人間CMOSワークショップ]]
|
||||
|
||||
[[Bytebeat]]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user