Altifigence Academy

13 / 63 · 概念

DEMUX 与译码器:将数据送往所选路径

比较 MUX、DEMUX 与译码器的方向和作用,验证独热条件与至多一位为 1 的条件。

MUX 汇集,DEMUX 分流

MUX多路选择器 根据选择信号,把多个输入之一连接到输出的组合电路。必须规定选择位与输入编号的对应关系。了解更多把多个数据输入中的一个传到输出;DEMUXDEMUX 将一个输入数据送到选择信号指定输出的电路。也必须规定未选中输出的值。把一个数据输入 d 传到所选输出,其余输出置 0。若 1-to-4 DEMUX 的选择地址为 s1s0s_1s_0,则:

y0=ds1‾s0‾,y1=ds1‾s0,y2=ds1s0‾,y3=ds1s0y_0=d\overline{s_1}\overline{s_0},\quad y_1=d\overline{s_1}s_0,\quad y_2=ds_1\overline{s_0},\quad y_3=ds_1s_0

用带使能的译码器观察相同功能

在下图中,把 a1、a0 看作选择地址,把 enable 看作数据 d。输出名 d0~d3 对应上式的 y0~y3。同一个组合函数,在不同应用情境中可以有不同名称。

将 enable 视为数据输入,就是 DEMUX

d[i] = enable AND (2 × a1 + a0 = i)

地址为 10、数据为 1 时,只有 y2 为 1。数据为 0 时,包括所选输出在内,所有输出均为 0。因此,“始终恰好一个 1”的独热独热码 多个位中恰好只有一个为 1 的表示。若也允许全部为 0,则应称为 one-hot-or-zero。了解更多条件不成立;完整行为应满足“至多一个 1”的条件。

区分选择线与实际写入事件

向四个寄存器寄存器 存储多位状态的电路。本课程中的同步寄存器在时钟边沿存储指定输入。了解更多之一写入时,可将 write_en 作为 d,将地址作为选择信号。但译码器译码器 激活与二进制编码对应的输出线的电路。带 enable 时,可在禁用状态下将所有输出置 0。了解更多本身不存储数值。实际寄存器在时钟边沿接收相应写使能和数据并存储。组合选择线改变,并不意味着存储值立即改变。

选择与存储是两个步骤
  1. 地址 + write_en: 定义写到哪里,以及是否写入
  2. 译码器: 生成所选寄存器的使能
  3. 时钟边沿: 所选寄存器存储数据

验证时不仅要检查所选输出,还要检查其余输出是否全部为 0。d=0 的四种组合加 d=1 的四种组合,共八种。这种功能检查并不能保证地址转换过程中没有毛刺。

自己试试

地址 s1s0=01 时,分别求 d=1 和 d=0 时的 y3y2y1y0。要求四个寄存器使能必须恰好有一个激活的检查,会在什么时候失败?

阅读解释

分别为 0010 和 0000。d 或 write_en 为 0 时,没有任何输出激活是正常行为。“恰好一个”的条件只适用于 d=1。

你的选择适用于此浏览器,可随时在页脚更改。