While EDA tools accomplish tasks such as synthesis or simulation, they do not define the flows and methodologies that are used to design and verify IP, chips or systems. An important aspect of a flow is the models that are created, how they are used and the transformations that are made to them.
Models can define the design at several levels of abstraction, they can define the requirements of the design or they can define closure criteria. It should be noted that most languages do not define a model or its abstraction because the languages tend to be capable of defining many levels of abstraction or to describe the system in multiple alternative ways. However, a language can be used to create the model, often using a set of coding guidelines.
A methodology defines the models that are created, how they are used and the ways in which tools are used to manipulate them.
Most design flows are built up from sub-flows that define how certain tasks are performed. For example, companies may have low-power design flow that describes the techniques to be used at various stages of a design in order to reduce the power consumption of the device. The sub-flow is spread across a considerable range of the entire flow and will affect other sub-flows. Some sub-flows may be more focused, such as a design for test strategy which primarily acts at a single point in the flow.
The main purpose of a methodology is to optimize some aspect of the design while minimizing the time spent on it. It also ensures consistency within a company such that reuse becomes possible.