in this example, the codice_35 field is not randomized; in practice it will be computed with a crc generator, and the codice_36 field used to corrupt it to inject fcs errors. the two constraints shown are applicable to conforming ethernet frames. constraints may be selectively enabled; this feature would be required in the example above to generate corrupt frames. constraints may be arbitrarily complex, involving interrelationships among variables, implications, and iteration. the systemverilog constraint solver is required to find a solution if one exists, but makes no guarantees as to the time it will require to do so as this is in general an np-hard problem (boolean satisfiability).