Chapter 1: Contents
1-xvii
Contents xvii
Design Compiler
®
User Guide Version J-2014.09
Delay and Leakage Optimization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-15
Design Rule Fixing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16
Area Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16
Optimization Techniques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-16
Optimizing Once for Best- and Worst-Case Conditions . . . . . . . . . . . . . . . . . . 11-17
Constraint-Related Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18
Reporting Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-18
Optimizing With Multiple Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-19
Preserving Subdesigns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-20
Preserving Cells, References, and Designs . . . . . . . . . . . . . . . . . . . . . . . . 11-20
Preserving Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-21
Removing a dont_touch Setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-22
Preserving the Clock Network After Clock Tree Synthesis . . . . . . . . . . . . . . . . 11-22
Optimizing Datapaths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-23
Creating Path Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-24
Controlling the Optimization of Your Design . . . . . . . . . . . . . . . . . . . . . . . . 11-24
Optimizing Near-Critical Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-25
Optimizing All Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-26
Isolating Input and Output Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-26
Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-28
Removing and Reporting Port Isolation Cells. . . . . . . . . . . . . . . . . . . . . . . 11-28
Fixing Heavily Loaded Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-29
Fixing Nets Connected to Multiple Ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-30
Optimizing Buffer Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-32
Building Balanced Buffer Trees. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-32
Reporting Buffer Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-33
Removing Buffer Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-34
Optimizing Multibit Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-34
Optimizing for Multiple Clocks Per Register. . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-37
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-39
Defining a Signal for Unattached Master Clocks . . . . . . . . . . . . . . . . . . . . . . . 11-39
Example 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-39
Example 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-41
12. Optimizing Across Hierarchical Boundaries
Boundary Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-2
Disabling Boundary Optimization Throughout the Design . . . . . . . . . . . . . . . . . 12-3
Disabling Boundary Optimization for a Specific Design. . . . . . . . . . . . . . . . . . . 12-3