Chip Planner - overview
VLSI design automation has come a long way, yet early-stage system-level chip planning remains a manual step that relies heavily on experience of architects, instead of a systematic exploration of design spaces. During this step, architects make judgments that have decisive impacts on chip performance, and sub-optimality introduced here is rarely recoverable in later design stages, -- mistakes are costly.
On the other hand, dimensions of design spaces are growing due to 1) heterogeneous architectures, 2) design options from technology scaling, voltage scaling, package co-design, etc., and 3) the need for trade-off analysis with respect to key objectives such as power, temperature, power/current distribution, and reliability. Things are even more complicated for 3D chip designs. Consequently, it has become more and more difficult for chip architects to manually find an optimal design point in these vast design spaces.
The Chip Planner project aims to bridge this gap and greatly improve the productivity of chip design at the early concept phase. The following figure illustrates the Chip Planner environment. It has a front-end that is used for chip architect input and output, plus a back-end which performs various analyses. Currently, the front-end interface is Microsoft Excel spreadsheets, where the chip architect can specify desirable architecture configurations, technology scaling rules, and package material and geometry properties. Built-in VBA (Visual Basic for Applications) macros take the chip architects inputs, set up remote connection to the back-end server, initiate the execution of the tools, wait until the execution completes and transfers results back to the spreadsheets. Once the results are received, they are displayed in a pop-up window as text and/or plots. This process is fully automated. While we chose the spreadsheet as the front-end interface, it can be implemented with other applications such as web-based front-end.
The main functions of the Chip Planner run on the back-end server. It begins with a library of reference designs, -- previous designs with similar functionality but on a different technology. Each reference design includes its physical implementation in OpenAccess format, power estimation reports, etc. The Chip Planner converts these data to XML-based internal database called PAD (Processor Architecture Description). It then extracts units from the reference design library, scales them with respect to target technology, performance and power, and places them using heuristics and architect guidance. It provides power, thermal, electrical and reliability reports back to the spreadsheets, and thereby enables the architect to perform trade-off analysis efficiently. Finally, the Chip Planner creates a netlist of a new design in certain details with data, power, ground and clock pins of the composing units, and passes it on to the implementation stage.
The Chip Planner has been used in several projects and enabled chip architects to explore many more configurations and floorplans with higher accuracy than traditional manual methods. The following figure illustrates a special-purpose server processor in a 3D technology. For this project, the close coupling of system architecture, floorplan and package data has allowed alternative designs to be evaluated in hours, instead of days or weeks which would be required in traditional manual processes. The automatic scaling and user-directed floorplanning, based on detailed placement data derived from reference designs, exposed many subtle issues, which, in a traditional flow, would have surfaced much later in chip integration.