使用 PLI 仿真期间输入输出端口的活动方向
Active direction of inout port during simulation using PLI
我试图从我基于 PLI 的 C 代码中找出在模拟过程中 inout 端口是用作输入端口还是输出端口。怎么做到的?
在您走这条路之前,请注意,大多数工具都可以通过扩展 VCD 文件或通常与功率估算工具相关的其他格式为您提供此信息。
使用 VPI 执行此操作需要广泛了解 1800- 2012 年 LRM。我可以给你一个需要做什么的大纲:
- 每个
inout
端口
- 使用
vpi_register_cb
注册一个 cbValueChange
回调
- 使用图表构建驱动程序列表 §37.16 Nets
- 将每个驱动程序分类为模块外部 (HiConn) 或内部(本地或 LoConn)
- 回调例程需要扫描更改值的端口的驱动程序列表
- 如果活动驱动程序在模块外部,则端口处于输入模式。
- 如果活动驱动程序在模块内部,则端口处于输出模式。
我试图从我基于 PLI 的 C 代码中找出在模拟过程中 inout 端口是用作输入端口还是输出端口。怎么做到的?
在您走这条路之前,请注意,大多数工具都可以通过扩展 VCD 文件或通常与功率估算工具相关的其他格式为您提供此信息。
使用 VPI 执行此操作需要广泛了解 1800- 2012 年 LRM。我可以给你一个需要做什么的大纲:
- 每个
inout
端口- 使用
vpi_register_cb
注册一个 - 使用图表构建驱动程序列表 §37.16 Nets
- 将每个驱动程序分类为模块外部 (HiConn) 或内部(本地或 LoConn)
cbValueChange
回调 - 使用
- 回调例程需要扫描更改值的端口的驱动程序列表
- 如果活动驱动程序在模块外部,则端口处于输入模式。
- 如果活动驱动程序在模块内部,则端口处于输出模式。