推荐答案
测试一下
题目
systemverilog中C语言可以通过以下哪些方式访问到DUT中的信号?
A、PLI
B、VPI
C、DPI
D、force或deposit
参考答案与知识点
参考答案
正确选项为A、B、C。PLI(编程语言接口)是Verilog最早提供的C语言访问接口,允许通过C代码直接读取或修改DUT内部信号;VPI(Verilog过程接口)是PLI的标准化升级版,提供了更丰富的信号访问函数,是IEEE标准的一部分;DPI(直接编程接口)是SystemVerilog引入的接口,允许C和SV之间直接函数调用,虽然DPI本身不直接提供信号访问函数,但可以通过在SV侧编写export函数封装信号访问逻辑,从而间接实现C语言对DUT信号的访问。选项D的force和deposit是SystemVerilog语言内部的任务和系统函数,用于强制赋值或设置信号值,但C语言无法直接调用,必须通过DPI或VPI等接口调用SV中的对应函数才能生效。因此,C语言访问DUT信号的合法方式包括PLI、VPI和DPI。
涉及知识点
- PLI(编程语言接口)
- VPI(Verilog过程接口)
- DPI-C(直接编程接口)
- C语言与硬件描述语言接口
- force/deposit的局限性