blob: dec499da49059c20a8bfc96490e16d18050cb007 [file] [log] [blame]
// Copyright 2020 Google LLC.
// SPDX-License-Identifier: Apache-2.0
typedef struct {
//- @xx defines/binding XX
byte xx;
//- @yy defines/binding YY
reg yy;
//- @zz defines/binding ZZ
shortint unsigned zz;
}
//- @my_struct defines/binding MyStruct
my_struct;
//- @module_with_struct defines/binding _
module module_with_struct;
struct {
//- @aa defines/binding AA
byte aa;
//- @bb defines/binding BB
reg bb;
//- @cc defines/binding CC
shortint unsigned cc;
}
//- @local_struct defines/binding LocalStruct
local_struct = '{1, 2, 100};
//- @my_struct ref MyStruct
//- @external_struct defines/binding ExternalStruct
my_struct external_struct = '{1, 2, 100};
//- @local_struct ref LocalStruct
//- @cc ref CC
assign local_struct.cc = 50;
//- @local_struct ref LocalStruct
//- @external_struct ref ExternalStruct
//- @bb ref BB
//- @xx ref XX
assign local_struct.bb = external_struct.xx;
//- @zz ref ZZ
//- @cc ref CC
assign local_struct.cc = external_struct.zz;
//- @xx ref XX
//- @external_struct ref ExternalStruct
assign external_struct.xx = 0;
//- @aa ref AA
//- @xx ref XX
assign local_struct.aa = external_struct.xx;
//- @yy ref YY
//- @bb ref BB
assign external_struct.yy = local_struct.bb;
endmodule