• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:回路図での負論理の見方)

回路図での負論理の見方

このQ&Aのポイント
  • 回路図での負論理の見方について解説します。
  • 回路図におけるCS部分のROMとOR回路の間に配置されている○は負論理を表します。
  • 例えばA15が0、A14が1の場合、出力は1で、CSには1が入力されます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#128530
noname#128530
回答No.2

 ○は負論理を意味する、という知識は正しいですが、○によって信号が反転すると言う理解は正しくありません。○はあくまでも負論理を表します。○の意味は「この信号はLで有効」と書いてあるのと同じ、それ以外の意味は無い、と考えた方がよいです。  この問題を考えるには、ディジタル信号に有効、無効と言う概念と、H、Lという電圧の、二種類のニ値があると考えればよいです。  7407というバッファは入力に「有効」を入れると出力に「有効」が出ます。7407の入力にも出力にも○が付いていないので入出力共に正論理。つまり有効はH、無効はLです。つまり、7407はHを入れるとHが、Lを入れるとLが出てきます。  7404というインバータも入力に「有効」を入れると出力に「有効」が出ます。ところが7404の出力には○が付いていますから、出力は負論理、つまり有効がL、無効がHとなります。つまり、7404はHを入れるとLが、Lを入れるとHが出てきます。  また、7404の表記は、時として入力に○があり、出力に○が無い場合も有ります。これは入力が負論理(有効がL)であるという表記であって、入力で反転し出力では反転しないということを意味しません。物理的には出力側に○がある7404と同じなのです。  7407についても、入力と出力にそれぞれ○が付いている場合があります。2回反転するという意味ではなく、入力と出力が負論理であることを表します。回路図が変わるだけで、回路も動作も変わらないのです。  論理とは入力と出力の間の約束です。入力が負論理であればそこに接続する出力も負論理であるはずで、その間の配線も負論理です。つまり○付きの入力には基本的に○付きの出力が接続され、その間が負論理であることを表します。CS入力に○があれば、LでChipがSelectされるんだな、とひとめで分かるというわけです。例の回路を見ると、A14がH、またはA15がHの時にChipがSelectされるということが一目瞭然です。  またこの回路は別の書き方をすることもできます。CSの名前をCNS(Chip Not Select)と変更すれば、この入力は正論理(Hで有効)と言う事ができます。正論理入力に接続される出力は正論理であるべきですから、現在のNORゲートを、2個の入力にそれぞれ○が付いたANDに書き換えます。これも回路図が変わっただけで現実の回路はまったく変更がありません。この場合の回路図を見ると、A14がL(有効)、かつA15がL(有効)の時にChip Not SelectがH(有効)となる回路であることが一目瞭然です。しかし現実の回路には変更が無く、動作も同一なのです。  このように○は正論理、負論理を表し、同一配線上では回路の見やすさ、理解のしやすさの為に可能な限り論理をそろえます。それが揃えられない場合も多々あります。が、この例題はごく単純な例となります。

kirita
質問者

お礼

丁寧な回答ありがとうございました。とても分かりやすかったです。 ○をインバータと同じように考えていたのが間違いなのだと気づきました。 あくまでもLで動くことを表すだけであって、反転するのではないのですね。 この場合だと一つ目の○はNOR回路だからついていて、 二つ目の○はCSがLで動くよっという意味だけなんですね。 だからA14、A15のどちらかが1であればNOR回路で出力がLになり、CSが動く。 ようやく理解出来ました。同じような負論理の作動問題で躓いていたので助かりました。

その他の回答 (1)

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.1

そうです。 組み込み系では、実際の論理回路は基本的に負論理で動作することがほとんどです。 NANDまたはNORだけで回路を作成するのが常ですし、CS等も負論理で動きます。 なので、A14またはA15のどちらかに1があればCSに1が入るのでROMが有効になる、つまり読み込むことができるって事です。実際のアドレスでいうと 0100000000000000(40)~ 1111111111111111(FF) です。

kirita
質問者

お礼

ありがとうございます。 ただA14またはA15のどちらかに1があれば有効になる、という考え方がよくわかりませんでした。 負論理なら0の出力でないと有効じゃないのでは、と。 どちらか1の場合、反転してしまうと結局1がCSに入力されて…あれ?となっていました。 もう一人の方の回答で分かりましたが、ROM側の○は反転ではなく、 Lで動きますよっていう意味だけなんですね。 そもそもの知識が間違っていたようです。申し訳ありません。

関連するQ&A