其他验证选项

还有一些与命令行执行相关的附加选项。

-load 命令行参数

更复杂的电路可能包括需要加载程序才能使电路执行任何操作的 RAM 组件。 您可以在命令行指定一个内存映像文件,该文件将在仿真开始之前加载到电路中的任何 RAM 组件中。 (这在加载 GUI 时不起作用 - 它仅适用于命令行执行。)

java -jar logisim-filename.jar cpu.circ -tty table -load mem-image.txt

参数的顺序并不重要(除了 table 参数必须紧接在 -tty 之后,并且内存映像的文件名必须紧接在 -load 之后 tt>)。 内存映像文件应采用 Logisim 的内存映像格式

Logisim-evolution 递归地搜索 RAM,因此如果 RAM 嵌套在子电路中,这仍然有效。 但是,无法区分不同的 RAM 组件:Logisim-evolution 将尝试将相同的文件加载到它能找到的每个 RAM 中。

-tty 参数的选项

到目前为止,在我们的示例中,我们始终使用 -tty table 来指示应显示输出值表。 您可以通过列出一个或多个选项(以逗号分隔)以其他方式自定义行为。 例如,您可以编写 -tty table,halt,speed ,程序将执行下面列出的所有三种行为。 (它们列出的顺序并不重要。)

halt

模拟结束后,会显示一行消息,解释模拟结束的原因。 任何情况下都会显示错误情况(例如检测到的振荡)。

speed

如果将 speed -tty 结合使用,则在完成仿真后 Logisim 将显示电路仿真速度的摘要,例如:

714 Hz (509 ticks in 712 milliseconds) < /blockquote>

请注意,在模拟过程中显示信息会使模拟速度变慢。 作为一项比较,相同的电路和图像在仅使用 speed 选项时以 714 Hz 以上运行,但在使用 table 选项时也以 490 Hz 运行。

stats

显示一个制表符分隔的表,其中包含有关项目中顶级“主”电路使用的组件的统计信息。 该表包括四列:

  • 唯一:该组件出现在电路层次结构中的次数,其中层次结构中的每个子电路仅计算一次。
  • 递归:组件在电路层次结构中出现的次数,其中我们对每个子电路在层次结构中出现的次数进行计数。
  • 组件:组件的名称。
  • 库:组件所在库的名称。

项目菜单 部分进一步解释了“唯一”和“递归”之间的区别。 如果文件使用已加载 Logisim 库中的电路,则这些组件将被视为“黑匣子”:库电路的内容不包含在唯一和递归计数中。

(此功能对于分配学生使用 Logisim 库的子集构建项目的教师非常有用。)

table

(正如已经讨论过的)

tty

任何 TTY 组件都会将其输出发送到显示器(标准输出),并且在键盘上键入的任何信息都会发送到电路中的所有键盘组件。 即使这些组件深深嵌套在子电路层次结构中,它们也会被包含在内。

下一步: 测试多个文件