组合逻辑模块-Combinational_Logic_Blocks

数据多路复用器(Data Multiplexor)

Data Multiplexor (here 2-to-1, n-bit-wide)

image-20240730215149640

  • 当S = 0,C的值为A的值
  • 当S = 1,C的值为B的值

N instances of 1-bit-wide mux

image-20240730215219759

如何构建1位宽的mux?

image-20240730215234361

4-to-1 Multiplexor

image-20240730215317634

Mux:是否有其他方法可以做到这一点?

image-20240730215331054

运算和逻辑单元(Arithmetic and Logic Unit\ALU)

image-20240730215403358

Our simple ALU

image-20240730215420329

加法器/减法器(Adder/subtracter)

如何构建

  • 真值表,然后确定标准式,然后最小化并实现如我们所见
  • 看看把问题分解成更小的片断,我们可以级联或分层

Adder / Subtractor – One-bit adder LSB…

image-20240730215621377

image-20240730215641647

image-20240730215648535

N 1-bit adders -> 1 N-bit adder

image-20240730215705289

将N个1-bit adders串联起来后就变成了1个N-bit的加法器了!

接下来我们来考虑溢出问题

两个2 - bit数之和.. ..

image-20240730215723811

减法器设计

极巧减法:A-B = A + ( - B )

image-20240730215754602

  • A-B = A + ( - B ),因此我们只需要将B的只在输入加法器前变为-B即可,我们可以考虑补码:

    • B取反后加一
  • 在取反这个步骤中,我们可以想到我们的XOR逻辑门来实现,然后将C0设为1,即可实现减法器!

总结

  • 使用muxes在输入中进行选择

    • S个输入位选择2^S^个输入
    • 每个输入可以是n位宽,indep为S
  • 可以分层实施muxes

  • ALU可以使用mux实现

    • 与基本块体单元耦合
  • N位加减器是使用N个1位加法器在输入端使用异或门完成的

    • XOR作为条件反相器