|
|
异或/同或门
|
| 库: | 逻辑门 | |||||||||||||||
| 引入版本: | 异或门、奇/偶校验门:2.0 Beta 1;同或门:2.0 Beta 6 | |||||||||||||||
| 外观: |
|
行为
异或门、同或门、奇校验门与偶校验门分别计算其输入对应的逻辑函数,并将结果输出。
默认情况下,任何未连接的输入(连着导线视作有连接)都会被忽略。
因此,如果放置一个 5 输入的逻辑门,但只连接其中两个输入,它的行为就和一个 2 输入门一致。
但如果所有输入都未连接,则输出为错误值(E)。
如果您希望强制要求所有输入都必须连接,可以通过菜单 | 项目 | >
| 选项… |,在
| 仿真 | 选项卡中,
将 未定义时的门输出
设置为
对未定义的输入给出错误值
来启用该行为。
这些门在 2 输入时的真值表如下。
| x | y | 异或门 | 同或门 | 奇校验门 | 偶校验门 |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 | 1 |
| 0 | 1 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 |
2 输入时,奇校验门与异或门的行为相同,偶校验门与同或门的行为相同。 但当输入数量多于 2 时,异或门在“恰好只有一个输入为 1”时输出 1,奇校验门在“为 1 的输入个数为奇数”时输出 1。 同或门在“不是恰好只有一个 1”时输出 1,偶校验门在“为 1 的输入个数为偶数”时输出 1。 此外,异或门与同或门还提供了一个名为 多输入行为 的属性,可将其配置为采用奇/偶校验的规则。
若任一输入为错误值(例如同一根导线上出现冲突)或悬空,则输出为错误值。
多位版本会对输入的每一位分别执行对应的 1 位变换。
注意:有些资料认为“弧形异或门”的行为应当和奇校验门一致,但这一点并无共识。
Logisim-evolution 默认的异或行为基于 IEEE 91 标准,同时也符合“互斥或”的直观含义:服务员问你配菜要土豆泥、胡萝卜、豌豆还是凉拌卷心菜,你只能选一个,而不是三个(不管有些资料怎么说)。
如需使用奇偶校验的规则,可修改异或门与同或门的 多输入行为
属性。
引脚(假设组件朝东)
- 西侧(输入,位宽由“数据位宽”决定)
-
组件的输入端。输入数量由 输入端口数 属性指定。 位宽由 数据位宽 属性决定。
注意,如果使用ANSI形状的逻辑门,或门和或非门的西侧会是弧形的,但输入引脚仍然沿直线排列。
- 东侧(输出,位宽由“数据位宽”决定)
-
门的输出值,按上文规则由当前输入计算得到。
属性
当组件被选中或正在放置时,数字键 0–9 可修改 输入端口数
,
Alt-0–Alt-9 可修改 数据位宽
,
方向键可修改 朝向
。
- 朝向
- 输出相对于输入的位置。
- 数据位宽
- 组件输入与输出的位宽。
- 门尺寸
- 决定组件绘制为较宽或较窄的版本。 该属性不会影响输入数量,输入数量由 输入端口数 属性指定。 如果选择了ANSI形状, 当输入数量超过形状本身所能容纳的数量时, 逻辑门会绘制出“翼状”结构以容纳额外的输入。
- 输入端口数
- 指定西侧输入引脚的数量。
- 输出值
- 指定逻辑假/真如何映射为输出值。默认情况下, 假为低电平(0),真为高电平(1); 其中之一也可以改为高阻值, 以支持线与、线或连接,详见 与/或/与非/或非门 文档中的示例。
- 标签
- 与该逻辑门关联的标签文本。
- 标签字体
- 标签的显示字体。
- 多输入行为(仅限异或/同或门)
- 当输入端不少于 3 个时,异或/同或门的输出规则可以设为: “当输入中只有一个为 1 时”(默认),或“当输入中有奇数个 1 时”(校验)。
手形工具行为
无。
文本工具行为
可编辑该逻辑门的标签。