1. A method for designing a logic circuit comprising: maintaining a data structure representative of a model, the model including combinational blocks, state elements and graphical library elements of the logic circuit; and generating an architectural model and an implementation model from the data structure.