开放组合分析

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

通过窗口菜单

选择 | 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 将尽可能尝试从标签中提取有效名称。

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

下一节: 编辑真值表 .