Author_Institution :
Cadence Design Syst. Inc., San Jose, CA, USA
Abstract :
Before manufacturing, each chip design must be inspected for possible errors. For example, design rule checking is used to check for adherence to the physical manufacturing rules, and static timing analysis is used to verify that the design has adequate performance. Although modern chip designs are invariably specified hierarchically, verification algorithms can treat this hierarchy in different ways. The most straightforward way to verify a hierarchical design is to expand (or flatten) the hierarchy, then do the test. Since most verification algorithms involve at least sorting the data, such algorithms are at least O(N log N), where N is the size of the flattened hierarchy. Alternatively, a verification tool can try to use the hierarchy rather than flattening it. One form of hierarchical verification involves verifying each cell, generating a model (also called an abstract) for each cell, and then checking all interactions between cells by using their abstracts. Under some conditions, this may be more efficient than flattening the hierarchy and then verifying. In particular, if the size of the abstract is O(na) for a cell containing n primitives, and the time to verify a cell and generate the abstract is O(nb), then the complete verification of all levels of the hierarchy is O(N), provided ab<1.
Keywords :
circuit CAD; computational geometry; formal verification; hierarchical systems; integrated circuit design; timing; abstract; chip design; complexity; computation time; computational geometry; design automation; design rule checking; flattened hierarchy; hierarchical systems; hierarchical verification; physical manufacturing rules; primitives; static timing analysis; verification algorithms; Abstracts; Algorithm design and analysis; Chip scale packaging; Complexity theory; Design automation; Manufacturing; Performance analysis; Sorting; Testing; Timing;