As the SoCs and IPs grow in sizes and complexities, the number of formats, databases, libraries of standard cells and IOs also increase. It becomes a clumsy task to check every cell in a library, its consistency among various format with respect to functionality, timing, naming, labels and so on, and its complex physical properties such as size, pitch alignment, routability of its pins and several others. It’s very tedious to do manually; using scripts can be an option, but that may involve risk of missing finer points and may prove costly at the end. The important point here is utilization of designers’ time in real value addition in the design rather than checking such consistencies. Considering the shrinking time-to-market window and increasing complexities of SoCs and IPs needing more development time of designers, it’s imperative that standard automated tools are needed to fill this gap of consistency check between various formats used by different tools and correctness of libraries.
Fractal Technologieshas rightly perceived this need and is leading this space by offering an excellent tool, Crossfire[SUP]TM[/SUP], you must have heard/seen in DAC; they have been consistently representing it there. There are new features which naturally are driven by demand; I will talk about them a little bit later. Let’s first look at the fool proof methodology it employs to check that consistency across all formats and how this methodology is scalable to add any new format whether standard or proprietary.
The Crossfire is architected with a central database with associated APIs. Interfaces with standard popular interfaces are available. Any new format which requires verification needs to be read into the central database and then consistency checked. The system already has a rich set of checks including library data (lib, cell, view names, labels, cell presence, net and terminal consistency etc.), functionality (equivalence between functions, e.g. schematic and Spice netlist), physical properties (layout polygon level checks, boundary alignment for abutment, cell size information in LEF SITE construct, pin routability and cell architecture compliance with P&R), characterization data (cross referencing of arcs between liberty, Verilog and SDF back-annotation and their match with respective functions of the cell) and so on. The characterization data check can be performed on LIB (NLDM), ECSM or CCS and specific checks done for the corresponding data.
The Crossfire provides a unified environment for graphically browsing and viewing cells in any database or format in a single window. It provides easy debugging by automatically flagging error messages which when clicked takes you directly to the applicable data format. The waiving mechanism is also implemented. The library verification setup can be done in GUI as well as batch mode.
This system also provides database independent checking through an API which can be in Perl, Tcl or Python. The validation scripts available with design houses can be easily integrated into the system. Most of the formats used in the semiconductor design industry are supported in Crossfire. And due to its open architecture, any newer format can be easily added to the Crossfire database.
For IPs, the Crossfire is optimized to deal with large data such as GDS and to optimize the checking time for various formats, it’s intelligent enough to do only relevant checks; for example routing checks at GDS while cell size checks at LEF. The final Q/A report generated by Crossfire can be delivered along with the IP for the IP customers to cross verify as part of their incoming inspection.
Coming to what’s newly added in the Crossfire – it’s for rising demand of faster checks and new checks for productivity improvement –
· Parallel Parsing – allows faster parsing of formats.
· setupAPI for fast automatic setup creation
· Speedup in various checks – 2x – 40x
· New checks added – pg_pin definition, related bias pin, input pins only connected to gates in spice, find parameter differences over a range of .lib files, find PVT corner in a set of .lib files, full difference between two LEF files.
· Zipped message database
· Strict syntax checking on .lib files
TheCrossfire can be used from the very beginning of a design setup up to its final integration to keep a check on the consistency and quality of the design amid several formats, databases, tools in the flow and heterogeneous sources of IPs and blocks, thus conserving and perhaps shortening the design cycle time.