Verilog 如何在Synopsys Verdi中使用查找范围

Verilog 如何在Synopsys Verdi中使用查找范围,verilog,synopsys-vcs,Verilog,Synopsys Vcs,Synopsys Verdi中的“查找范围…”选项似乎只能找到顶级模块。我将范围类型设置为模块,并尝试了一系列不同的变体: 1) the module name with the * wildcard before and/or after: this will find top level modules no problem, but not anything lower. 2) The path to the module separated by . 3) The path to the

Synopsys Verdi中的“查找范围…”选项似乎只能找到顶级模块。我将范围类型设置为模块,并尝试了一系列不同的变体:

1) the module name with the * wildcard before and/or after: this will find top level modules no problem, but not anything lower.
2) The path to the module separated by .
3) The path to the module separated by /
4) Variations 2 & 3 with the * wildcard.
我肯定遗漏了一些简单的东西,但它是什么?

默认情况下,Verdi将使用
-y
编译的模块视为“库”模块,它们在nTrace GUI中不可见

解决方案是使用
verdi-ssy
命令行选项来查看库模块


考虑一下这个场景。我有3个Verilog文件:

  • 结核病毒
  • lib/foo.v
  • lib/bar.v
  • 如果使用以下命令启动Verdi,它将干净地编译,但子模块(
    foo
    bar
    )在GUI中不可见。只有顶级模块可见:

    verdi tb.v -y lib +libext+.v
    
    要获得可见性,请添加
    -ssy
    选项:

    verdi tb.v -y lib +libext+.v -ssy
    
    我可以看到层次结构中的所有模块


    tb.v:

    module tb;
        foo i0 ();
        foo i1 ();
        foo i2 ();
    endmodule
    
    module tb2;
    endmodule
    
    module foo;
       bar b0 ();
       bar b1 ();
    endmodule
    
    module bar;
    endmodule
    
    foo.v:

    module tb;
        foo i0 ();
        foo i1 ();
        foo i2 ();
    endmodule
    
    module tb2;
    endmodule
    
    module foo;
       bar b0 ();
       bar b1 ();
    endmodule
    
    module bar;
    endmodule
    
    bar.v:

    module tb;
        foo i0 ();
        foo i1 ();
        foo i2 ();
    endmodule
    
    module tb2;
    endmodule
    
    module foo;
       bar b0 ();
       bar b1 ();
    endmodule
    
    module bar;
    endmodule
    
    默认情况下,Verdi将使用
    -y
    编译的模块视为“库”模块,它们在nTrace GUI中不可见

    解决方案是使用
    verdi-ssy
    命令行选项来查看库模块


    考虑一下这个场景。我有3个Verilog文件:

  • 结核病毒
  • lib/foo.v
  • lib/bar.v
  • 如果使用以下命令启动Verdi,它将干净地编译,但子模块(
    foo
    bar
    )在GUI中不可见。只有顶级模块可见:

    verdi tb.v -y lib +libext+.v
    
    要获得可见性,请添加
    -ssy
    选项:

    verdi tb.v -y lib +libext+.v -ssy
    
    我可以看到层次结构中的所有模块


    tb.v:

    module tb;
        foo i0 ();
        foo i1 ();
        foo i2 ();
    endmodule
    
    module tb2;
    endmodule
    
    module foo;
       bar b0 ();
       bar b1 ();
    endmodule
    
    module bar;
    endmodule
    
    foo.v:

    module tb;
        foo i0 ();
        foo i1 ();
        foo i2 ();
    endmodule
    
    module tb2;
    endmodule
    
    module foo;
       bar b0 ();
       bar b1 ();
    endmodule
    
    module bar;
    endmodule
    
    bar.v:

    module tb;
        foo i0 ();
        foo i1 ();
        foo i2 ();
    endmodule
    
    module tb2;
    endmodule
    
    module foo;
       bar b0 ();
       bar b1 ();
    endmodule
    
    module bar;
    endmodule
    

    我用它来加载上一次模拟的波形:verdi-dbdir simv.daidir-ssf verilog.fsdb当我用
    -kdb
    运行
    vcs
    时,我运行
    verdi
    命令,
    查找范围
    对我有效。用我答案中的小例子试试看。您使用什么版本的Verdi和VCS?我在2019.06。我用它来加载上一次模拟的波形:verdi-dbdir simv.daidir-ssf verilog.fsdb当我用
    -kdb
    运行
    vcs
    时,我运行
    verdi
    命令,
    查找范围
    对我有效。用我答案中的小例子试试看。您使用什么版本的Verdi和VCS?我是2019.06。