# 优先级编码器

库： | 复用器
引入版本： | 2.3.0
外观： |

## 行为

优先级编码器的西侧有若干输入端，标号从 0 开始。 优先级编码器会在输入为 1 的端口中，找到编号最大的端口，并输出其编号。 例如，若输入 0、2、5、6 均为 1，则优先级编码器输出 110。 若没有任何输入为 1，或编码器被禁用，则输出为高阻。

优先级编码器支持通过级联的方式扩展输入数量，可以通过使能输入与使能输出实现。 当使能输入为 0 时，编码器被禁用，主输出为高阻。 当编码器启用且所有编号输入都不为 1 时，使能输出为 1。 因此可以将两个优先编码器串接：把第一个编码器的“使能输出”连接到第二个的“使能输入”。 如果第一个编码器的任一编号输入为 1，则第二个编码器会被禁用，其输出为高阻； 反之，若第一个没有任何编号输入为 1，则它的主输出为高阻，同时使能输出为 1，从而启用第二个编码器，由第二个编码器找出为 1 的最高优先级输入。

优先级编码器还有一个附加输出：当编码器启用且在任一编号输入上检测到 1 时，该输出为 1。 在级联场景中，可用它判断是哪一级编码器被触发。

## 引脚（假设组件朝东）

西侧（输入，数量可变，位宽 1）
  输入端，从该侧的上端（或西端）起编号为 0。
东侧上端（输出，位宽与“选择位数”一致）
  主输出：输出为 1 的输入中编号最大的那个；若没有任何输入为 1，或通过“使能输入”将组件禁用，则输出为高阻。
东侧下端（输出，位宽 1）
  组选择：当编码器启用且至少有一个编号输入为 1 时输出 1；否则输出 0。
南侧（输入，位宽 1）
  使能输入：为 0 时禁用编码器；否则启用。
北侧（输出，位宽 1）
  使能输出：当编码器启用且所有编号输入都不为 1 时输出 1；否则输出 0。

## 属性

当组件被选中或正在放置时，数字键 1–4 可修改 选择位数 属性，方向键可修改 朝向 属性。

朝向
  组件方向（其输出相对于输入的位置）。
选择位数
  主输出的位宽。优先编码器的编号输入数量为 2选择位数。
禁用时输出
  使能端为 0 时，各输出位应呈现的值。可选项包括 0 和高阻；若选择高阻，则输出等同于与其它端口断开连接。

## 手形工具行为

无。

## 文本工具行为

无。

返回 库参考手册