分配 nettype 结构的单个元素
Assign a single element of a nettype struct
由 typedef 结构定义的 Systemverilog 网络的通常赋值样式,例如
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};
所以网络结构的所有元素的赋值是同时完成的。像
这样的作业
P.R = 100;
报错。有没有做个人作业的方法?
你不能那样做。一旦您创建了具有特定数据类型的网络类型,每个驱动程序都需要所有类型字段才能执行其解析功能。
想象一下,如果您想要一个信号来表示物理对象上的力。力是具有大小和方向的矢量。如果该信号上的每个驱动器都代表一个力矢量,则无法在不知道大小的情况下驱动一个方向。
您可以创建一个与网络类型相同的变量,然后您可以对该变量的字段进行单独赋值。
inout SVAnet P;
...
SVAstruct S
assign P = S;
...
S.R = 100;
由 typedef 结构定义的 Systemverilog 网络的通常赋值样式,例如
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};
所以网络结构的所有元素的赋值是同时完成的。像
这样的作业P.R = 100;
报错。有没有做个人作业的方法?
你不能那样做。一旦您创建了具有特定数据类型的网络类型,每个驱动程序都需要所有类型字段才能执行其解析功能。
想象一下,如果您想要一个信号来表示物理对象上的力。力是具有大小和方向的矢量。如果该信号上的每个驱动器都代表一个力矢量,则无法在不知道大小的情况下驱动一个方向。
您可以创建一个与网络类型相同的变量,然后您可以对该变量的字段进行单独赋值。
inout SVAnet P;
...
SVAstruct S
assign P = S;
...
S.R = 100;