与/或/与非/或非门

| # 与/或/与非/或非门

库： | 逻辑门
引入版本： | 2.0 Beta 1
外观： |

## 行为

与/或/与非/或非门分别计算输入对应的逻辑函数，并输出结果。

默认情况下，任何未连接的输入（连着导线视作有连接）都会被忽略。 因此，如果放置一个 5 输入的逻辑门，但只连接其中两个输入，它的行为就和一个 2 输入门一致。
但如果所有输入都未连接，则输出为错误值（E）。 如果您希望强制要求所有输入都必须连接，可以通过菜单 | 项目 | > | 选项… |，在 | 仿真 | 选项卡中， 将 未定义时的门输出 设置为 对未定义的输入给出错误值 来启用该行为。

以下是这些逻辑门在双输入情况下的真值表。 字母 E 表示错误值， 字母 U 表示悬空值。

与门
- | 0 | 1 | U/E
0 | 0 | 0 | 0
1 | 0 | 1 | E
U/E | 0 | E | E
或门
- | 0 | 1 | U/E
0 | 0 | 1 | E
1 | 1 | 1 | 1
U/E | E | 1 | E
与非门
- | 0 | 1 | U/E
0 | 1 | 1 | 1
1 | 1 | 0 | E
U/E | 1 | E | E
或非门
- | 0 | 1 | U/E
0 | 1 | 0 | E
1 | 0 | 0 | 0
U/E | E | 0 | E

简而言之，只要所有输入都是 0 或 1，逻辑门的行为就完全符合预期。 如果某个输入既不是 0 也不是 1，而是悬空值（U） 或错误值（E）， 那么逻辑门会将该输入同时视为 0 和 1，具体规则如下： 如果无论该输入被当作 0 还是 1，输出结果都相同 （例如，与门的一个输入为 0，另一个输入不确定，输出结果一定为 0）， 那么该结果就是输出值； 但如果输出结果取决于该输入是 0 还是 1， 则输出为错误值（E）。

各种逻辑门的多位版本会对其输入按位执行对应的一位逻辑运算。

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

西侧：
  组件的输入端。输入数量由 输入端口数 属性指定。 位宽由 数据位宽 属性决定。

  注意，如果使用ANSI形状的逻辑门，或门和或非门的西侧会是弧形的，但输入引脚仍然沿直线排列。

东侧：
  逻辑门的输出端，数值按上述规则计算。 位宽由 数据位宽 属性决定。

## 属性

当组件被选中或正在放置时， 数字键 0 到 9 用于修改 输入端口数 属性， Alt-0 到 Alt-9 用于修改 数据位宽 属性， 方向键用于修改 朝向 属性。

朝向
  输出相对于输入的方向。
数据位宽
  组件输入和输出的位宽。
门尺寸
  决定组件绘制为较宽或较窄的版本。 该属性不会影响输入数量，输入数量由 输入端口数 属性指定。 如果选择了ANSI形状， 当输入数量超过形状本身所能容纳的数量时， 逻辑门会绘制出“翼状”结构以容纳额外的输入。
输入端口数
  决定组件西侧包含多少个输入引脚。
输出值
  指定逻辑假和逻辑真如何映射为输出值。 默认情况下，假对应低电平（0），真对应高电平（1）， 但高低电平之一的值也可以设置为高阻值，从而实现线或、线与。 例如下图左侧，输出设置为 高阻/1，下拉到 0，形成“线或”； 右侧中，输出设置为 0/高阻，上拉到 1，形成“线与”。
标签
  与逻辑门关联的标签文本。
标签字体
  用于绘制标签的字体。
对 x 取反
  如果设为 是，则在输入送入逻辑门之前先对其取反。 当组件朝东或朝西时，输入按从上到下编号； 当组件朝北或朝南时，输入按从左到右编号。

## 探针工具行为

无。

## 文本工具行为

编辑与逻辑门关联的标签。

返回 库参考手册