This invention relates to the analysis of integrated circuit (IC) designs for physical implementation failures. The invention specifically relates to analysis of a structural design before the floor planning, cell placement and routing steps of a typical IC implementation flow. Physical issues include timing, congestion, clocking, scan, power/thermal, physical-hierarchy, and multi-power domain issues.
The physical implementation of IC designs developed using Hardware Description Languages (HDL), such as Verilog and VHDL, is a tedious, effort and time-intensive process. The main IC design development steps are typically high-level architecture definition, RTL code development, functional verification, synthesis and timing optimization, floor planning, cell placement and timing optimization, routing and final verification. If a design is unable to meet design timing or successfully complete routing in the planned floor plan or block area, then it is considered a physical implementation failure. Physical implementation failures are found late in the development cycle. In advanced technology processes such as 40 nm and below, the larger design sizes and smaller geometries exacerbate the risk of physical implementation failure. This creates a significant time and development cost risk for a design team.
The design team attempts to resolve physical implementation issues with a combination of methods: (i) decrease the design utilization, i.e. implement the block with larger silicon area; (ii) change the floor plan to allocate more area for the affected block, often causing a sub-optimal floor plan and degradation in design performance; and (iii) change the design itself by changing the design's HDL description. Each of the methods creates a significant loss in terms of increased time to design implementation completion, time to market for the finished product, larger silicon area, reduced performance and clock frequency, risk of not fitting into chosen chip package, and higher development cost.
Given the high cost of resolving physical implementation issues, a method to predict such issues at the pre-floorplan stage of design development is very valuable to design development teams. By predicting such issues early in the development cycle, the development team can take corrective steps before going to physical implementation, and hence significantly reduce risk to timely completion and overall cost of development.
Existing electronic design automation (EDA) tools try to detect physical implementation issues by applying checking-rules to each of the objects in the design. The checking rules look for high fan-in, high fan-out, large multiplexors and other properties. EDA systems attempt to identify timing critical paths.
Existing EDA tools do not consider the interactions of the detected physical implementation issues. A critical timing path issue might normally indicate placing and routing instances close together. A routing congestion issue might normally indicate spreading out the layout. If both issues are present in close proximity the risk of a physical implementation failure is greatly increased.
A method is provided for analyzing physical implementation issues in a pre-placement integrated circuit design. The method is implemented in a computing system having at least one processing unit and a memory accessible by the processing unit. The memory stores a hardware description of at least a portion of the circuit design, and also storing a set of program instructions of a physical hotspot debug tool that when executed by the processing unit causes the system to perform the steps of the method.
In particular, the system receives into the memory a hardware description of at least a portion of the pre-placement integrated circuit design. From this stored description the system's processing unit analyzes for each logic cell a set of physical issue metrics and identifies any logic cell having a value for at least one such metric exceeding a corresponding specified threshold. For each identified logic cell, a physical issue severity is measured, based on the values of all metrics exceeding said corresponding thresholds. Next, any collection of identified logic cells based on proximity of the respective identified logic cells is determined, along with related physical issue metrics. For each determined collection, a hotspot severity metric is analyzed, based on the physical issue severity of each logic cell in the collection. Finally, a physical implementation hotspot severity report for the analyzed collections is output.
Critical objects are logic cells that have multiple metric values exceeding their threshold. Critical object severity is computed as the sum of normalized metric values. Logic designers can specify scaling factors for individual metrics.
Object 230 is a critical object that connects to multiple objects, 210, 240, 250, 260 and 280. Object 240 has a high FILD value. Object 250 is a Hard-Macro (HM) or memory object with placement constraints. Objects 260 and 270 have high FOCN values. Object 280 has a high FICN value.
In S340 the physical hotspot debug tool, 420, checks if the next physical issue belongs to a collection and if so, assigns it to a collection. In S340 it processes the first physical issue on the first iteration and subsequent physical issues on subsequent iterations. It determines whether an issue belongs to a collection by the proximity of the respective logic cells. In one embodiment the physical hotspot debug tool, 420, includes physical issues that where the logic cells connect together. In S340 the physical hotspot debug tool, 420, will join collections if the physical issue belongs to more than one collection. In S350 the physical hotspot debug tool, 420, checks if there more physical issues to process. If there are more issues it continues at S340, otherwise it continues at S360.
In S360 the physical hotspot debug tool, 420, analyzes the collections and generates a physical hotspot severity report. The physical hotspot debug tool, 420, filters out complementary issues such as two objects with FILD and FOLD issues. For each collection, the physical hotspot debug tool, 420, counts the number of objects and issues. It computes a total severity score by summing normalized metric severities. The normalized metric severity is derived by relative scaling of different metrics based on the design and technology for which hotspot report is used. The normalized metric computation uses the raw metric value modified by the timing-criticality or placement criticality of underlying object. It computes the average severity score from the normalized metric severities. It also determines the physical issue with maximum severity score.
The embodiments disclosed herein can be implemented as hardware, firmware, software, or any combination thereof. Moreover, the software is preferably implemented as an application program tangibly embodied on a program storage unit or computer readable medium. The application program may be uploaded to, and executed by, a machine comprising any suitable architecture. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units (“CPUs”), a memory accessible to the one or more processing units and storing both the application program and any received hardware description of at least a portion of an integrated circuit design, and input/output interfaces. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be either part of the microinstruction code or part of the application program, or any combination thereof, which may be executed by a CPU, whether or not such computer or processor is explicitly shown. In addition, various other peripheral units may be connected to the computer platform such as an additional data storage unit and a printing unit. Furthermore, a non-transitory computer readable medium is any computer readable medium except for a transitory propagating signal.
This application claims priority under 35 U.S.C. 119(e) from prior U.S. provisional application No. 61/780,488, filed Mar. 13, 2013.
Number | Name | Date | Kind |
---|---|---|---|
6068662 | Scepanovic et al. | May 2000 | A |
6668365 | Harn | Dec 2003 | B2 |
7082584 | Lahner et al. | Jul 2006 | B2 |
7114142 | Segal et al. | Sep 2006 | B1 |
7225116 | Harn | May 2007 | B2 |
7299442 | Alpert et al. | Nov 2007 | B2 |
7401313 | Galatenko et al. | Jul 2008 | B2 |
7971174 | Khalsa et al. | Jun 2011 | B1 |
8024693 | Adams et al. | Sep 2011 | B2 |
8108809 | Sadakane et al. | Jan 2012 | B2 |
8122420 | Kannan et al. | Feb 2012 | B1 |
8185858 | Okamoto | May 2012 | B2 |
8239797 | Ghosh et al. | Aug 2012 | B1 |
8250512 | Lo et al. | Aug 2012 | B2 |
8370783 | Uchino et al. | Feb 2013 | B2 |
8438508 | Liu | May 2013 | B2 |
20080127000 | Majumder et al. | May 2008 | A1 |
20110099526 | Liu | Apr 2011 | A1 |
20120216156 | Liu et al. | Aug 2012 | A1 |
20130311958 | Liu | Nov 2013 | A1 |
Number | Date | Country | |
---|---|---|---|
61780488 | Mar 2013 | US |