System verilog 使用PLI进行仿真时输入端口的活动方向

System verilog 使用PLI进行仿真时输入端口的活动方向,system-verilog,inout,vpi,System Verilog,Inout,Vpi,我试图从基于PLI的C代码中找出在模拟过程中,inout端口是用作输入端口还是用作输出端口。如何才能做到这一点?在您走这条路之前,请注意,大多数工具都具有通过扩展VCD文件或通常与功率估算工具相关的其他格式向您提供此信息的功能 使用VPI进行此操作需要广泛了解1800-2012 LRM中的§38 VPI例程和§36 VPI对象模型图。我可以给你一个需要做什么的概要: 对于每个inout端口 使用vpi\u Register\u cb 使用图表§37.16建立驱动程序列表 将每个驾驶员分类为模

我试图从基于PLI的C代码中找出在模拟过程中,inout端口是用作输入端口还是用作输出端口。如何才能做到这一点?

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

使用VPI进行此操作需要广泛了解1800-2012 LRM中的§38 VPI例程和§36 VPI对象模型图。我可以给你一个需要做什么的概要:

  • 对于每个
    inout
    端口
    • 使用
      vpi\u Register\u cb
    • 使用图表§37.16建立驱动程序列表
    • 将每个驾驶员分类为模块外部(HiConn)或内部(本地或本地)
  • 回调例程需要扫描驱动程序列表以查找更改值的端口
    • 如果激活的驱动器位于模块外部,则端口处于输入模式
    • 如果激活的驱动程序位于模块内部,则端口处于输出模式