我试图从我的基于 PLI 的 C 代码的模拟过程中找出一个 inout 端口是用作输入端口还是用作输出端口。怎么做到呢?
问问题
144 次
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 回答