A system and method for protecting circuit designs from unauthorized use involves
techniques for watermarking by embedding a hidden, recognizable input/output signature
or code into the circuit design. An internal sequential function, such as a finite
state machine, within the circuit design is used to generate a predictable output
sequence when a known input sequence is applied. The free input configurations
in the internal sequential function of the circuit design are identified and modified
to generate the desired output sequence when the known input sequence is applied.
A path among the free input configurations is selected, with output values in the
desired output sequence being assigned the various state transitions. If there
are not enough free input configurations to meet specified watermarking robustness
criteria, then additional free input configurations may be added by, for example,
adding one or more inputs, outputs or states to the finite state machine. Various
techniques for arriving at an optimal path so as to minimize overhead caused by
the addition of the watermark are also disclosed.