首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用VPI PLI - verilog VCS查找是否连接了两个Verilog模块

如何使用VPI PLI - verilog VCS查找是否连接了两个Verilog模块
EN

Stack Overflow用户
提问于 2012-05-03 09:27:32
回答 1查看 1K关注 0票数 3
代码语言:javascript
复制
module A (
    output A_OPORT_1 
    ); 
endmodule

module B (
    input B_IPORT_1
    ); 
endmodule

module TestBench;
wire A_to_B; 
A A_inst (
        .A_OPORT_1  (A_to_B)
        );
B B_inst (
        .B_IPORT_1  (A_to_B)
        );

endmodule

这里基本上将输出端口A:A_inst:A_OPORT_1连接到B:B_inst:B_IPORT_1

如何使用verilog PLI检索这些信息?我很欣赏你的例子。

我有一些代码,它获取一个端口并检索highconn,并且能够获取有线/网络A_to_B。

但是,我无法使用vpiPortInst找出连接到A_To_B的端口。我得到一个为空的迭代器。

代码语言:javascript
复制
    vpiHandle high = vpi_handle(vpiHighConn, port); 
        vpi_printf(" High conndata type is %s\n",
            vpi_get_str(vpiType, high));
        vpi_printf(" High conndata Net type is %s\n",
            vpi_get_str(vpiNetType, high));                    
        vpi_printf(" High conndata Name is %s\n",
            vpi_get_str(vpiFullName, high));     

        vpiHandle iter = vpi_iterate(vpiPortInst,high);
        vpiHandle p2ref;
        if (iter == NULL)
        {
            vpi_printf(" Port Iterator is null\n");                      
        }

O/P:

代码语言:javascript
复制
 High conndata type is vpiNet
 High conndata Net type is vpiWire
 High conndata Name is $unit::A_to_B
 Port Iterator is null
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-09 13:50:03

上面的代码可以工作。正如toolic指出的那样,这两个端口必须连接起来。

现在,这可以工作了,我可以打印出扇出。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10423936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档