30

我正在使用 GUI 模拟器,它们似乎都在做同样的事情。

4

7 回答 7

37

$finish退出模拟并将控制权交还给操作系统。

$stop暂停模拟并将模拟器置于交互模式。

于 2010-03-07T04:16:40.333 回答
8

根据IEEE Verilog 标准(1364-2005,第 17.4 节,“模拟控制系统任务”),$stop应暂停模拟,并$finish应使模拟器退出并将控制权交还给主机操作系统。当然,不同的模拟器实现规范的方式可能略有不同,并不是所有的模拟器都 100% 符合规范。

您的模拟器的文档可能会提供对其行为的更详细描述,尤其是在 GUI 与命令行模式方面。

于 2010-03-07T04:22:52.443 回答
3

快速参考链接

$finish;
    Finishes a simulation and exits the simulation process.
$stop;
    Halts a simulation and enters an interactive debug mode.
于 2010-03-07T04:19:42.057 回答
3

$stop - 暂停模拟,因此您可以在 linux 中使用 fg 命令恢复模拟。在这种情况下 lincense 不会被释放,进程也不会被杀死,消耗内存。

$finish - 模拟完成,因此释放许可证并终止进程。

于 2014-12-09T03:39:59.070 回答
3

$stop:模拟意外终止。所有系统活动都被暂停。 $finish: 用来解压编译器。

很好的比喻$finish就像关闭你的电脑,$stop就像突然拔掉它的插头。

于 2014-05-09T02:44:56.813 回答
2

这个链接在某种程度上解释了它。

$stop - When Verilog encounters a $stop, it pauses as if you sent a Ctrl-C.

$finish - Verilog exits as if you sent Ctrl-D when it encounters $finish.

摘自此介绍PDF 的第 15 页。

干杯

于 2010-03-07T04:15:32.057 回答
2

我正在使用 Modelsim GUI。当我在模拟中有一个 $stop 语句时,就好像我在模拟运行期间点击了 GUI 顶部的停止按钮。但是,如果我有 $finish 语句,GUI 将显示退出提示,询问我是否要完全退出 modelsim。

于 2016-08-26T15:58:13.157 回答