<' struct constrain_gen_ex2 { good: bool; length: byte [1..24]; data [length]: list of byte; crc: uint; keep good => crc == crc_calc(); keep gen (length, data) before (crc); crc_calc() : uint is { result = pack(packing.low,length,data).crc_32(0,length); }; }; extend sys { tb : list of constrain_gen_ex2; run() is also { print sys.tb.crc; }; }; '>