0

我试图从我的基于 PLI 的 C 代码的模拟过程中找出一个 inout 端口是用作输入端口还是用作输出端口。怎么做到呢?

4

1 回答 1

1

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

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

  • 对于每个inout端口
    • 使用注册cbValueChange回调vpi_register_cb
    • 使用图表§37.16 网络构建驱动程序列表
    • 将每个驱动程序分类为模块外部(HiConn)或内部(本地或 LoConn)
  • 回调例程需要扫描驱动程序列表以查找更改值的端口
    • 如果活动驱动程序在模块外部,则端口处于输入模式。
    • 如果有源驱动程序位于模块内部,则端口处于输出模式。
于 2018-02-02T21:37:41.207 回答