カテゴリー
Parts

2SC3732

2SC3732
2SC3732
カテゴリー
Parts

SN74LS181N

SN74LS181N
SN74LS181N
カテゴリー
Free

Computerナゼ動く17

半加算器
半加算器

 半加算器は2進数の加算をする回路です。AとBを足してSに出力します。桁上がりが有ればCに出力されます。

全加算器
全加算器

 全加算器はAとBを足す時に下からの桁上がりXも加えることができます。加算結果をS、桁上がりをCに出力します。この出力SとCを別の全加算器に与えれば一度に演算できるビット数が増えます。全加算器を8個繋げば8ビットの加算器が出来上がります。

 減算は補数を求めて加算し桁上がりを無視する方法で算出します。補数は2進数であればNOTで反転し1を加えれば求められますので論理回路で容易に実現できます。

カテゴリー
Parts

2SD1119-Q

2SD1119-Q
2SD1119-Q
2SD1119-Q表
2SD1119-Q表
2SD1119-Q裏
2SD1119-Q裏

https://industrial.panasonic.com/content/data/SC/ds/ds4/2SD1119_J_discon.pdf

 石川町駅近くのシンコー電機でリールで売っているトランジスタを購入しました。1,000個で1,000円、表面実装用なので小さいですが実験用なので十分です。

カテゴリー
Free

Computerナゼ動く16

SRフリップフロップ
SRフリップフロップ

 フリップフロップのことをFFと略します。。上図のように四角い記号で描かれます。今後は呼び名はFF、記号は四角いのをを使用します。

 FFは以前記憶する回路として登場していますが、その状態を記憶する性質を使って数を数えることができます。コンピュータの中ではこれをカウンターと呼びます。

JK型ラッチ
JK型フリップフロップ

 カウンターは最初の図のRS型のFFではできません。JK型のFFを使います。JK型のFFにはクロック信号を入力する端子があり、クロック信号毎にカウンターをアップします。

 ですが、少し回路が複雑で大変そうなのでもう少し調べました。

D型フリップフロップ
D型フリップフロップ

 JK型より簡単なD型フリップフロップという回路がありました。これでもカウンターを作れます。

D型フリップフロップで構成したカウンター
D型フリップフロップで構成したカウンター

 D型フリップフロップは4個のトランジスタで作れるので4ビットのカウンターを作るためには16個のトランジスタが必要です。チップタイプの2SD1119が1000個もあるので今度実験してみます。

失敗したバイナリカウンター
失敗したバイナリカウンター

 と言う訳で早速実験してみました。取り敢えず手持ちのNPNトランジスタを並べて4個のFFを作ります。同じトランジスタがないのでバラバラで格好は良くありませんがなんとかFFが4個できました。型が同じトランジスタでも結構hfeにばらつきがあり調整が面倒でしたが手持ち抵抗と勘案して抵抗値を低めに寄せてあります。
 しかしカウンターとしては全くダメな結果でした。FFとしては4個それぞれ動いたのですがFFどうしをつなぐと全然ダメでした。部品数を減らすためになるべく簡単な回路で挑んだのですが失敗に終わったのです。

トランジスタによる標準的NAND回路
トランジスタによる標準的NAND回路

 それでもう一度NAND回路から見直し少し本格的にしました。NAND一つでこれだけの部品になります。

改良したフリップフロップ OFF状態
改良したフリップフロップ OFF状態
改良したフリップフロップ ON状態
改良したフリップフロップ ON状態

 一つのFFでこの規模になってしまいました。これではとても4ビットカウンターには辿り着けそうもありません。

 実用的な回路図をネットで探して見つけたのが「TTLアプリケーションマニュアル」テキサスインスツルメンツアジアリミテッド、昭和47年9月15日発行です。そこにFFやカウンターの回路図が載っています。上にあるような単純な代物ではありません。雑音や温度、不良な電源をも考慮された回路なのでしょう。

 でも二つ大きなことが解りました。

 一つはトランジスタのhfeにはかなりばらつきがありスイッチングだからといってギリギリで設計してはいけない。

 もう一つはネットや書籍に載っている論理回路は動作を説明するために抽象化されているので実用性は無いと言うことです。

 アナログ回路に比べるとデジタル回路が簡単に見えるのはONとOFFのスイッチングだけだからではなく調整が必要なことをICが中で殆どこなしているいるからだと気付かされました。

 ディスクリート部品で組み立てようと思ったらアナログ回路に負けない程に難しい実装が待ち受けています。

 だからコンピュータを作るためには集積回路がどうしても必要になります。