【问题标题】:System verilog process::state系统verilog进程::state
【发布时间】:2018-11-17 00:27:48
【问题描述】:

在使用 systemverilog 时,我试图获取一些被分叉的进程的状态。 为了做到这一点,我创建了一个变量,我可以在其中获取进程的状态。 来自 1800-2012 SV-LRM 的第 9.7 部分

process::state pstat;

但是 irun 出现以下错误: xmvlog: *E,EXPIDN 需要一个标识符 [3.2][3.8][3.9(IEEE)]。

【问题讨论】:

    标签: verilog system-verilog


    【解决方案1】:

    state 是类process 的一个方法。您不能创建 process::state 类型的变量 - 这没有任何意义。在 IEEE 1800-2012 的第 9.7 节中有一个示例,它展示了如何使用 process 类。

    【讨论】:

      【解决方案2】:

      state 是嵌入在类中的类型。 BNF 确实允许您直接使用它,但一些工具允许它。你应该能够做到:

      typedef process::state state_e;
      state_e pstat;
      
      // or
      type(process::state) pstat;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多