<!-- Opening Combinational Analysis --> 开放组合分析

# 开放组合分析

组合分析 模块的大部分内容是通过同名的单个窗口访问的，允许您查看真值表和布尔表达式。 该窗口可以通过两种方式打开。

## 通过窗口菜单

选择 | Window | → | Combinational Analysis | ，将出现当前组合分析窗口。 如果您之前没有查看过该窗口，则打开的窗口将根本不代表任何电路。

无论打开多少个项目，Logisim-evolution 中都只存在一个组合分析窗口。 无法同时打开两个不同的分析窗口。

## 通过项目菜单

在编辑电路的窗口中，您还可以通过从菜单 | Project | → | 中选择分析电路选项来请求 Logisim-evolution 分析当前电路。 分析电路|| 。 Logisim-evolution 打开窗口之前，它会计算布尔表达式和与电路对应的真值表，并将它们放在那里供您查看。

为了使分析成功，每个输入必须连接到输入引脚，每个输出必须连接到输出引脚。 Logisim-evolution 将仅分析每种类型最多 八个 的电路，并且所有引脚都应为单位引脚。 否则，您将看到一条错误消息，并且窗口将无法打开。

在构造与电路对应的布尔表达式时，Logisim-evolution 将首先尝试构造与电路中的门精确对应的布尔表达式。 但如果电路使用了一些非门元件（比如多路复用器），或者电路深度超过100级（不太可能），那么它会弹出一个对话框告诉你不可能导出布尔表达式，而Logisim-evolution 相反，将根据真值表导出表达式，而真值表将通过悄悄尝试每种输入组合并读取结果输出来导出。

分析电路后，电路和组合分析窗口之间不存在连续关系。 也就是说，对电路的改变不会反映在窗口中，对窗口中的布尔表达式和/或真值表的改变也不会反映在电路中。 当然，您随时可以再次分析电路； 并且，正如我们稍后将看到的，您可以将电路替换为与组合分析窗口中显示的电路相对应的电路。

## 局限性

Logisim-evolution 不会尝试检测时序电路：如果您告诉它分析时序电路，它仍然会创建真值表和相应的布尔表达式，尽管这些不会准确地总结电路行为。 （事实上，检测时序电路 被证明是不可能的 ，因为这相当于解决停止问题。当然，您可能希望 Logisim-evolution 至少做出一些尝试 - 也许寻找触发器或 因此，组合分析系统不应随意使用：只有当您确实确定您正在分析的电路确实是组合电路时才使用它！

Logisim-evolution 将对原始电路进行可能意想不到的更改：组合分析系统要求每个输入和输出都有一个符合 Java 标识符规则的唯一名称。 （粗略地说，每个字符必须是字母或数字，第一个字符必须是字母。不允许有空格！）它尝试使用引脚的现有标签，如果不存在标签，则使用默认值列表。 如果现有标签不遵循 Java 标识符规则，则 Logisim-evolution 将尽可能尝试从标签中提取有效名称。

顺便说一句，真值表中输入的顺序将与原始电路中自上而下的顺序相匹配，并按左右顺序断开关系。 （这同样适用于输出的排序。）

下一节: 编辑真值表 .