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.