Superb Garbages 2

千野純一(chinorin)のはてなダイアリーの続きです。

ハイ&ローってなんだっけ。なんかそういうクイズ番組あったよね⋯

  • 最近どんなインターネッツを見ていても、視界の端でBanggoodだのAliExpressだのモノタロウだのといった奴らがちらちらと謎デバイスを見せびらかしてきやがるんだ。「ん? なんだこの謎デバイスは」⋯⋯そう思ってしまったらその日はもう終わりである。気がついたら日が暮れていて、ブラウザのタブは縦幅よりも横幅の方が狭くなっている。誰もが経験したことがあろうが、そんなタブを全て閉じるのはたいへんな苦痛を伴うのであった。

 

  • なぁるほどねぇ。ハードウェアを全くやらず、少年の頃にまずソフトウェアから入ってそれっきりだからなんだけど、「論理=2進数、真と偽、オンとオフ」みたいなイメージが頭の中に根強くあって、それが論理回路の理解を妨げてるよね。
  • デジタル回路においてHIGHとLOWは等価であって、どちらもオンであると理解するべきだ。それとは別にハイインピーダンスという状態があるので、それがオフに相当するかもしれない。
  • AND回路はHIGHのANDを正論理で出力しLOWのORを負論理で出力する。OR回路はHIGHのORを正論理で出力しLOWのANDを負論理で出力する。NOTは無条件の反転で、XORは反転するかどうかを論理で決める。
  • ええとつまり、XNOR(一致回路ってやつ。論理が一致していればHIGH)はAND(HIGHの正論理AND)とNOR(LOWの負論理ANDを反転)をORすれば作れるはずだ。ほんとか? 自明とは思うんだけどちゃんとやってみよう。
A B A AND B A NOR B (A AND B) OR (A NOR B)
L L L H H
L H L L L
H L L L L
H H H L H
  • よかった。
  • ソフトウェア的にはHIGHは肯定LOWは否定みたいなイメージもあるんだが、デジタル回路内では↑でやった「負論理の反転」とか、「まず反転してからNANDをとり、それを反転したのを反転バッファに入れたのちに分岐させ、ICの負論理に入れたいのでさらに反転」みたいな二重三重どころじゃない多重否定をすることがあるので、LOW自体を否定と捉えてしまうと否定がいっこ増えてまたわけわかんなくなるんだわ。