第 7 讲:数据选择器与函数实现

数据选择器 MUX 根据地址输入,从多路数据中选一路送到输出。2n2^n 选 1 MUX 有 nn 个选择变量。

逻辑表达式

4 选 1 MUX,选择端 S1S0S_1S_0、数据端 D0D_0 到 D3D_3:

Y=Sˉ1Sˉ0D0+Sˉ1S0D1+S1Sˉ0D2+S1S0D3.Y=\bar S_1\bar S_0D_0+\bar S_1S_0D_1 +S_1\bar S_0D_2+S_1S_0D_3.

这就是按选择变量做 Shannon 展开。使能端无效时输出可能固定为 0、1 或高阻,取决于器件。

用 MUX 实现逻辑函数

变量数等于选择端数

对 nn 变量函数,直接用 2n2^n 选 1 MUX:nn 个变量接选择端,数据端按真值表接 0 或 1。

函数多一个变量

用 n−1n-1 个变量接选择端,剩余变量 XX 留在数据端。对每个选择组合观察函数关于 XX 的两行真值:

F(X=0),F(X=1)F(X=0),F(X=1)数据端接法
0,00
1,11
0,1XX
1,0Xˉ\bar X

这样一个 2n−12^{n-1} 选 1 MUX 就能实现任意 nn 变量函数,可能再需一个反相器。

选择变量怎样选

任意变量都可做选择端,但不同选择会让数据端表达式复杂度不同。优先选择能让剩余数据端只出现 0,1,X,Xˉ0,1,X,\bar X 的变量组合。

考试要写清 MUX 数据端编号对应的选择码,特别注意器件手册中 S1,S0S_1,S_0 的高低位顺序。

级联扩展

较小 MUX 可组成较大 MUX。例如两个 4 选 1 先分别选择两组数据,再用一个 2 选 1 在两组输出间选择;最高位选择端控制最后一级,低位选择端并联到前两片。

也可利用带三态或低有效输出的器件配合使能端扩展,但不能让两个普通推挽输出直接并联。

数据选择与总线

MUX 内部选择一条信号路径,输出始终由器件主动驱动;三态总线则让未选设备真正处于高阻。两者都能实现多源共享,但电气结构不同。

解复用器

解复用器 DEMUX 根据地址把一路数据送到多个输出之一。若数据输入固定为有效电平,它与译码器功能相近;区别在于 DEMUX 传送数据,译码器产生选择码。

常见错误

  • 数据端顺序按普通二进制而器件采用不同引脚命名;
  • 使能有效极性接反;
  • 剩余变量映射表把 XX 与 Xˉ\bar X 写反;
  • MUX 输出本身反相却未补偿;
  • 级联时选择位层级错位;
  • 把三态门和 MUX 的输出并联规则混为一谈。

验证最直接:按每个选择码逐行看实际接通的是哪个 DiD_i,再比较原函数真值表。

评论