20260507_4


  • 前で課題の解説をさせられる←

-3


7章 多段回路

  • NANDやNORみたいなの
  • 出力が複数ある回路

AND-OR: ANDの出力がORの入力に
OR-AND-OR: ORの入力がANDに入り、その出力が二つ目のORに入る

論理式はANDとORで論理回路に起こせるが、そのままやると段数が増えてしまう

(出力がlevel 1で上に行くたびにレベルが上がる)

NAND, NOR

NANDはANDの否定=一つでも0があれば1を返す、すべてが1の時だけ0を返す

NORはORの否定=一つでも1があれば0を返す、すべてが0の時だけ1を返す

NAND,NORだけですべての論理式を表現できるらしい
→NANDだけでNOT,AND,ORを表現できる

NORも同様にNOT, AND, ORを実現できるので、すべての論理回路を表現できる

(ANDとORについては片方を作ってドモルガンすればいい)


二段のNAND, NOR

一般の論理式に対して、
ドモルガンの法則を使うとAND-ORを二重否定して、NAND-NAND→OR-NAND→NOR-OR→AND-ORに変換できる

  1. 二段のAND-OR
  2. 全部NANDに変換、二段目にリテラル入力があれば否定
  3. (ORの入力を全部否定するNANDの代替表現を使ってもいい)

OR-ANDの回路を二重否定してドモルガンするとNOR-NORになる(ANDの入力を全否定するNORの代替表現を使ってもいい)


多段のNAND-NOR

ANDとORが交互に現れるものから考える

出力ORを1段目として、多段AND-ORを構成し、NANDに変換するには基数段目のリテラル入力を否定してNANDの否定を打ち消す

出力ANDを1段目として、全ゲートをNORに変換、基数レベルの入力リテラルを否定する


交互でない場合

  • すべてのゲートをNANDに置き換え
    • このときANDは出力にインバーター、ORは入力にインバーター
  • 各接続について、二重否定になっていないものにインバーターを追加する

多出力回路

複数の論理式を一つの回路にまとめたい

  • それぞれのカルノー図を用意して、共通している部分についてはゲートを節約できる
  1. 片方にしかない1に注目して必須項を設定
  2. 共通部分はまとめる

多出力のNAND-NOR

  1. それぞれの論理式を簡単化する
  2. 他出力の和積回路→NOR、積和回路ならNANDに変換

次回はタイミング図/ハザード(誤出力)とそれをなくす方法について

ファンインとファンアウトの制限がある場合には因数分解して適宜変換する

展開→段数の減少、入出力の増加
因数分解→段数の増加、入出力の減少