分配nettype结构的单个元素

时间:2017-04-06 19:16:42

标签: system-verilog

由typedef结构定义的Systemverilog net的常用赋值样式,如

test/Spec.hs

typedef struct {
real V;
real I;
real R;
}  SVAstruct;
// resolution function ommitted
nettype SVAstruct SVAnet with res_SVA;

因此,对网络结构的所有元素同时进行分配。分配如

inout SVAnet P;
assign P = '{Vout,0,0};

给出错误。是否有任何方法可以进行个人作业?

1 个答案:

答案 0 :(得分:0)

你做不到。一旦创建了具有特定数据类型的网络类型,每个驱动程序都需要所有类型的字段才能执行其解析功能。

想象一下,如果您想要一个信号来表示物理对象上的力。力是具有幅度和方向的矢量。如果该信号上的每个驱动器代表一个力矢量,则无法在不知道幅度的情况下驱动方向。

您可以创建一个与网络相同类型的变量,然后您可以对该变量的字段进行单独分配。

inout SVAnet P;
...
SVAstruct S
assign P = S;
...
S.R = 100;