替换库

现在假设我们有两个 Logisim-evolution 电路,它们应该执行相同的操作。 作为一名教师,您可能让学生完成一项作业:您有一个包含解决方案的文件,但有多个包含他们作业的学生文件。 也许任务是构建一个两位加法器。

我假设我们有两个文件,名为 master.circ query.circ 。 每个文件都包含一个名为 Adder2 的电路(重要的是要测试的电路命名完全相同),其外观如下。

master.circ 中的 Adder2 query.circ 中的 Adder2
######### #########

正如您所看到的,主电路使用 Logisim-evolution 的内置加法器,而查询电路使用两个子电路,分别代表半加器和全加器(它们本身由简单的门组成)。 就我们的示例而言,查询电路有一个愚蠢的错误:来自半加器的 进位 未连接到全加器。

我们将测试电路构建到不同的文件 test.circ 中。 在那里,我们加载 master.circ 作为 Logisim 库 | Project | | Load Library | | Logisim Library | ,然后我们插入其 2 位加法器作为子电路。 我们可以直接执行该电路以获得完美解决方案所需的输出。

java -jar logisim-evolution.jar test.circ -tty table

但我们希望使用 query.circ 而不是 master.circ 作为加载的库来执行电路。 最简单的方法是打开 Logisim-evolution 并加载该库; 或者您可以简单地删除 master.circ 文件并将 query.circ 重命名为 < b>master.circ 相反。 但 Logisim 包含一个方便的 -sub 选项,可以在会话期间临时用一个文件替换另一个文件,而无需在磁盘上进行任何更改。

java -jar logisim-evolution.jar test.circ -tty table -sub master.circ query.circ

您将看到的输出如下所示; 它当然与我们在 上一节 中看到的不同,因为 adder2 通用的库已被替换 在测试电路中, query.circ 的错误。

00      00      0E0
01      00      0E1
10      00      EE0
11      00      EE1
00      01      0E1
01      01      0E0
10      01      EE1
11      01      EE0
00      10      EE0
01      10      EE1
10      10      1E0
11      10      1E1
00      11      EE1
01      11      EE0
10      11      1E1
11      11      1E0

下一步: 其他验证选项