使用PLI模拟期间输入端口的有效方向

时间:2018-02-02 19:12:43

标签: system-verilog inout vpi

我试图在我的基于PLI的C代码的模拟过程中发现inout端口是用作输入端口还是用作输出端口。怎么办呢?

1 个答案:

答案 0 :(得分:1)

在沿着这条路走下去之前,请注意大多数工具都有能力通过扩展VCD文件或通常与功耗估算工具相​​关的其他格式为您提供此信息。

使用VPI执行此操作需要充分了解1800-2012 LRM中的§38VPI例程§36VPI对象模型图。我可以概述一下需要做些什么:

  • 对于每个inout端口
    • 使用cbValueChange
    • 注册vpi_register_cb回调
    • 使用图表§37.16Nets
    • 构建驱动程序列表
    • 将每个驱动程序分类为模块外(HiConn)或内部(本地或LoConn)
  • 回调例程需要扫描更改值的端口的驱动程序列表
    • 如果活动驱动程序在模块外部,则端口处于输入模式。
    • 如果活动驱动程序在模块内,则端口处于输出模式。