Say a parent struct is having two fields inside it. One is an ungenerated (with do-not-generate sign) child struct and another ungenerated field is of pre defined data types (like uint, bool etc.).
When this parent struct is generated
2) ungenerated field whose value is a range (such as [0..100]) gets the first value in the range.
3) ungenerated field of user defined data types (like sturcts) will not be allocated and none of the fields in it will be generated.
Take a look at following code.
In this example, top_s struct has one ungenerated struct and two ungenerated fields of uint (bits: 3). When top is generated inside the sys
2) x will be generated with value of 2 as it is a range bound ungenerated field.
3) child field will not be generated as it is defined as ungenerated struct. So, the fields a and b of child struct will not be generated as well.