小编Pra*_*ant的帖子

在expect中使用argc和argv解析命令行

我有一个期望例程,它需要生成一个进程并将我传递给期望例程的命令行参数传递给生成的进程。

我的期望例程有以下几行

spawn myProcess $argv
Run Code Online (Sandbox Code Playgroud)

当我调用我的期望例程时,我从命令行调用它,如下所示

expect myRoutine <arg1> <arg2> <arg3>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,期望抛出以下错误

Can't open input file <arg1> <arg2> <arg3> for reading
Run Code Online (Sandbox Code Playgroud)

但是,如果我按如下方式更改我的期望例程

spawn myProcess [lindex $argv 0] [lindex $argv 1] [lindex $argv 2]
Run Code Online (Sandbox Code Playgroud)

myProcess 生成时没有任何错误。然而,这对我没有用,因为我不能保证我总是将三个参数传递给期望例程。

如何将命令行参数从 unix shell 的命令行传递到 expect 中生成的进程?

expect

5
推荐指数
1
解决办法
7196
查看次数

如何测量 gtkwave 中两个标记之间的时间?

我正在使用 iverilog 模拟我的 verilog 设计并将输出转储到 fst 文件。然后我使用 gtkwave 查看波形。gtkwave 允许我添加许多标记。然后我如何测量任意两个标记之间的增量。我通读了 gtkwave 手册,它谈到了“切换增量频率”选项:

切换增量频率

测量标记之间的距离时,您可以在主窗口右上角的增量时间和频率显示之间切换。默认行为是显示增量时间。

但是,我没有看到波形窗口中显示任何增量值。

增量频率切换

我在这里缺少一些选择吗?

我在 Windows 上在 cygwin 下运行 gtkwave。

verilog iverilog gtkwave

2
推荐指数
1
解决办法
3516
查看次数

标签 统计

expect ×1

gtkwave ×1

iverilog ×1

verilog ×1