LAYOUT DESIGN FLOWS:WHAT IS A FLOW?
WHAT IS A FLOW?
We define a flow as follows:
An effective methodology of capturing and verifying a useable representation of an idea such that the final result exhibits the appropriate characteristics for its intended use.
A methodology is “how” to do something. A methodology defines a series of steps to follow, but also includes knowledge about what issues to be aware of, tricks of the trade, and other goodies as we pass through these steps.
An effective methodology is one that is appropriate for the task at hand. This is important to the validity of any design flow. The flow that is used must match the requirements of the style of design that is being attempted; otherwise, failure is certain.
When is a flow effective?
The absolute minimum requirement for any design flow is to be able to capture a useable representation of an idea. A useable representation of the idea is the key concept to be understood. An idea can be captured on paper, but it is not useful other than for communicating the idea. The data must be useful and be a functional representation of the idea. A computer database of schematics, block diagrams, netlists, and layout drawings is the useable representation of the idea that all IC design is based on.
Without this minimum level of functionality we do not really have a flow at all, so this does not really answer the question of the effectiveness of a flow. If we must choose between two flows that can capture and implement our idea, how do we determine the effectiveness of each?
The more effective flow is the one that can produce a design that exhibits the appropriate characteristics for its intended use in the shortest amount of time or for the least cost.
Characteristics include issues you would expect in a formal specification of the design (Table 4.1).
It is no wonder that designer expertise is still in high demand, as it should be apparent that CAD tools cannot address all of the issues listed in Table 4.1. In fact, there has been a proliferation of tools as new vendors and new tools try to specialize and solve some of these issues individually that were previously not addressed in existing flows.
Appropriate characteristics for its intended use implies that our design need only “meet the requirements” for each characteristic, and not necessarily exhibit the “smallest or fastest” characteristic that is humanly possible. If a flow produces a sports car, but a hatchback was required, then the flow is not effective even though all performance specifications were exceeded.
How is the design’s appropriateness measured as the flow is executed? The characteristics are constantly verified and measured at each step in the flow.
In a competitive marketplace it is ultimately business issues such as revenue and market share that determine the success or failure of the product. This is where an effective flow can amplify differences between companies. Some com- panies will produce an equivalent design more quickly than others (thus gaining market share before anyone else), others will produce a design that exhibits supe- rior characteristics (such as speed), and still others will produce a design for a lower cost (thus being more efficient).
In summary, a flow is an encapsulation of knowledge of how things should be done. A flow defines a sequence of steps and a set of design tools for a specific type of design style. Successful companies are able to evolve and optimize their design flows in step with the business requirements for delivering their products. In the area of layout design, this book will explain the fundamental principles that form the foundation for any design flow.
Historically, all the designs were done in a full-custom fashion, meaning that each piece of the project was hand designed, verified, and laid out. As soon as the first computers started to provide proper platforms and specialized software for
IC design, developers of new products started to adapt their design flow to the new tools. In the past, methodologies and flows were dependent on the type of the design (i.e., full-custom, ASIC, memories), but more and more, they have become a mix and match of different flows.
We will try to define the most important changes over time of the standard flows and our perception of the reasons flows had to evolve:
• Time to market pressures: An integrated flow, even a full-custom one, is far more efficient than no flow at all. A flow is an approach that promotes faster design and proper allocation of tool resources, and most importantly, it shortens the time to tape-out. For example, a chip of 10,000 gates was designed in 6 months as compared to an earlier chip which took 2 years to design.
• Increasing chip complexity: A full-custom flow and tools cannot enable a team of designers to produce a design of 100,000+ transistors fast enough, even with development of faster tools and computer hardware. Chip designers had to develop not only new chips, but also new methodologies to cope with the increased complexity of the designs.
The solution was to implement the designs at a higher level of abstraction and trust the design tools to work with more abstract models and reduce the time spent for the design of each transistor. HDL-based design methodologies matured at this point and enabled logic circuitry to be designed at the RTL level instead of the transistor level.
• Growth of design services and fabless semiconductor companies: The next market reality was that many experienced designers decided to leave their big companies and go out on their own. Startup companies in general were trying to address markets that were too small or were not understood by the big companies.
As fabless companies, these startups designed chips and had their ideas manufactured by semiconductor companies under a business model now known as an ASIC model. These new companies demanded and bought new tools and methodologies to support their business.
• Increasing chip size and shrinking device geometries: Everybody tried to improve profits and to fit more and more transistors on a chip, so the process technology has been constantly evolving. The transistor gate size moved from 5 to 0.5 mm in less than 10 years and from 0.5 to 0.18 mm in the following 5 years. Using such small dimensions for their devices, chips can support up to 10,000,000 transistors for a microprocessor and 256,000,000 for a DRAM.
The small transistors, capacitors, and resistors mean that many analog and physical effects influence the performance of the designs. Logic designers now have to contend with effects that previously only analog or RF/microwave designers had to deal with. An emphasis on signal integrity and accurate layout extraction tools is a major concern within design flows today.
• System on a chip designs: The large chip sizes have enabled the ability to integrate many different applications on a chip for more efficient system design.
This is referred to as the concept of system on a chip (SOC). No single tool or platform can be used to design a chip with such complexity in a short time without having huge design groups that are specialized in all the various applications.
Instead of designing the many applications internally, a new market of selling and buying different functional blocks has evolved. These blocks are referred to as intellectual property (IP) blocks, and this business approach promotes design reuse and is intended to increase the productivity of the design teams.
In this case, a design team will develop specifications for a full chip, but will design only the blocks that are in their area of expertise. For all the other blocks they will import, at different levels, blocks already designed and proven functionally by other teams or companies.
These are a few examples of the important revolutions that changed the way people design VLSI chips. Design teams have been required to adapt to market and schedule pressures, knowledge limitations, and changing process capabilities; new flows and methodologies are key to ongoing success.
What determines the flow that is used, or how is a flow defined? The answer is that it is the type of chip that is to be designed and the different blocks on the chip. The flow may be different for different blocks on the chip, especially for SOC designs. Microprocessors require one design flow for timely completion, while memories required another. Common products that are recognizable to most and their respective flows will be discussed in the following sections.
Comments
Post a Comment