LAYOUT DESIGN TECHNIQUES IN AN UNCERTAIN ENVIRONMENT:GUIDELINES FOR PROPER LAYOUT
GUIDELINES FOR PROPER LAYOUT
We described in previous chapters most of the basic layout concepts and methodologies, and now it is the time to summarize them in a consolidated list. The list is built based on the basic flow of top-down planning and bottom-up execution in design.
Chip Floorplan
• Learn the architecture of the chip from the designer, who has a vision of the possible blocks, power requirements, groups of signals, and new areas that were never designed in the company before.
• It may be possible to extrapolate from previous projects the size of some blocks and the number of signals related to them. We need this information to assess contingency for the chip and for each individual block.
If new types of blocks are to be developed, new flow and new tools may have to be brought in. If so, the project may need additional CAD support to introduce the new technologies. Place-and-route, compactors, new verification tools, libraries from another vendor, and IP blocks are only a few example of new technologies that may have to be included in the plan.
• Assess and compare process rules related to other known processes. The list includes the following:
Vertical connectivity diagram—especially in case of multiple poly types Resistance and capacitance of gate, metal conductors, vias, and contacts Electromigration values for each conductor layer
• Evaluate the routing layers and determine the routing grid for each layer.
Determine whether it makes sense to unify the routing grids to a single value for each direction for simplicity.
• Calculate block size based on finger size (Figure 9.8) and add contingency based on the novelty of the design and the experience of the designer.
• Check package and define pad locations, especially for power and busses of addresses and/or data.
• Define power style and grid—power line widths based on electromigration or RC, and where the chip needs special power lines connections in order to achieve the allowed IR drop and resistance. In some advanced processes, power lines have their own routing layers.
• Evaluate the total number of signals; build channels including contingency and plan for spare lines and spare logic.
• Find repeated structures and try to reuse any possible piece to increase efficiency and reduce change impacts.
• Plan layout hierarchy and design to match each other as much as possible (same level and names). Even though the verification tools are fast today, debugging time is based on the user’s ability to understand the errors and fix them in a timely manner.
• Update the floorplan regularly by replacing the empty boxes with finished blocks and rerouting the interblock connectivity. This way, when all the blocks are done, the chip is complete.
Blocks
Block-level layout guidelines are as follows:
• Import from the chip level, the block size and port positions and try to stick to them.
• Define feed-through signals so the overall chip congestion inside interblock channels will be reduced.
• Define power needs and grid inside each block.
• Define critical path design and group the related cells to minimize routing.
• Plan for changes by having spare logic and lines.
• Try to improve efficiency by using automated tools. When the number of components is 100 or more, even a good layout designer will find it hard to respect all the design constraints for this many instances and still be fast. Even if the tool is providing 80 percent of the job, it is much faster and less prone to error if the designer uses assisted routing rather than hand connectivity.
Cells
For cell-level design, we offer the following overall guidelines:
• Define cell architecture—i.e., standard, full custom, datapath, etc.—and boundary rules based on the block plan.
• Define power style and widths.
• Define special requirements—i.e., symmetry, neighbors, critical path.
• Define transistor style based on speed, power consumption, and routing requirements (porosity).
• Verify the cell DRC together with neighbors. This eliminates all possibility of finding errors at a higher level of hierarchy.
Comments
Post a Comment