Overview of EDA Tools and Design Concepts:Essential EDA Concepts
Essential EDA Concepts
Nora:
With all these tools, there must be a lot of data around. Would you please explain more about the EDA design data?
Design Views
Andrea:
There is a lot of data. That's because an IC design is described from many different viewpoints. Just as in the case of a house, different people need different views.
The prospective buyers may want to see the arrangement of rooms (the floor plan). They may also like to see an exterior view (artist's drawing), including landscaping, fences, and so on. A glossy brochure will typically contain these views plus a list of features.
A more detailed block diagram includes the location of all the closets, appliances, bathroom, and kitchen fixtures.
The plumbing contractor needs a detailed plan showing the size and location of each pipe. The electrical contractor needs a wiring diagram showing each cable and outlet. The customer or the interior decorator doesn't want to see those views.
Nora:
Yes, I understand the need for different views.
Andrea:
Similarly, an IC design has different design views. The system designer works with a description of all the functions and features needed.
A logic designer needs to see all the gates and logic displayed as pictures (graphic symbols) or described in text.
The layout designer needs to see a graphical floorplan of every block and transistor in the design.
One difference between a house and an integrated circuit is that the house is passive. It just sits there (except in earthquake zones where it might slide down a hillside!). The house plans are physical views.
The analogy is better if we include activities of the people living there. They move from room to room, watch TV, read, cook, and sleep at specific clock times. They perform specific functions at different speeds. We could describe these activities as behavioral, performance, and timing views.
An IC has electrical signals and data moving around. It exhibits behavior, operates by clock times, and runs activities at different speeds. Therefore, it also has physical, behavioral, and performance (timing) views.
Nora:
I imagine there are even more views.
Design Data
Andrea:
Yes, there are, and more kinds of data as well. In houses, there are design rules and guidelines. Building codes require minimum pipe and cable sizes, safety features, and materials to be used. Design guidelines suggest things that should be done, or should not be done (constraints). "Locate the dining room close to the kitchen" is a guideline example.
ICs also have a host of design rules and guidelines. All this different data also resides in the various views and is stored in files. Just as people organize their paper files differently, so do programmers. (With luck, they remember where they filed things better than I do!)
For instance, I may have a telephone list of friends, ordered by first names. Your telephone list may arrange them by last names. I may just include the telephone number, while you include the address. My telephone number format may be (888) 732-4567, while yours is 888 732 4567.
Therefore, the design data representation (data content, format, and arrangement) may be different for each view. A design consists of the whole set of views. An individual EDA tool usually works with one view and one design data representation.
Suppose the timing data from one tool's file would be useful to another tool. That data might have to be translated from one representation to another. The incompatibility of EDA tools is largely due to data representation differences!
Nora:
Yes, Hugo mentioned the tool incompatibility problem. Is some data more important than others? Is there a hierarchy of data?
Design Hierarchy
Andrea:
There is a hierarchy, but not because of importance. Hierarchy is a useful concept for houses, system, or chip design. It refers to describing a house, project, or chip as a collection of different pieces. Each piece is then described in terms of smaller pieces or blocks.
Most large projects are broken down into smaller chunks to make them easier to understand. People do that all the time.
For example, we can describe (or draw) the house as a two-story brick dwelling. We can describe it at a lower level as a collection of rooms (e.g., living room, bedroom, and kitchen). We can next describe a room (e.g., 10x14 feet square, three windows, and a closet).
Note this is a hierarchy of the physical view of the house. We can have a hierarchy in each kind of view. Like the house hierarchy, we have a chip design hierarchy of blocks, cells, gates, and transistors. Look, here is an example sketch of a typical design hierarchy. (See Figure 4.2.)
Note that the IC contains blocks contain cells, which contain transistors. Hierarchy reduces the visible complexity for the viewer. Each higher level of description hides the details of the lower levels.
All the design details are exposed when the data is flat (no hierarchy). With millions of transistors, that's a lot of exposure. A related term is level of abstraction. The higher the level of abstraction, the less detail is shown.
Nora:
Can all EDA tools work with hierarchical information?
Andrea:
No, some EDA tools cannot handle hierarchy and work only with flat design data. Flat design files are huge, since they contain all the detailed data. So those tools run more slowly. Hierarchy can enable smaller design files, so the tools can run faster. Another point is that the hierarchical levels do not necessarily match across the different views. Thus, physical view design levels may not correspond to the logical view design levels.
Nora:
All right, I see that design data comes in many views and can be hierarchical. Can you explain just how you design something?
Comments
Post a Comment