替换库
现在假设我们有两个 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
下一步: 其他验证选项 。