In an ever growing world of IPs, it’s essential that a tool which vouches to simplify designer’s job of IP development and help improving its quality remains versatile to encompass various formats, databases, common data models, standard libraries, scripting etc. that are used in the development of IPs and their exchange between different vendors. It also needs to represent common environment for easily and efficiently viewing a design, validating the design consistency, analyzing and debugging the design and providing consistent reports; it even needs to check error and warning messages in the reports for their consistency with the design. And the tool needs to be customizable for a typical IP provider as well as extensible to accommodate newer formats, databases, scripts, GUI infrastructure and so on.
As I have seen Crossfire from Fractal Technologies, it’s a perfect tool (amid growing complexity, size and heterogeneity in IPs) to ease the burden from designer in many respects. It has continuously added new features to enable faster and easy designing and to cater to growing sizes of IPs.
Crossfire reads all industry standard formats from front-end to back-end design flows including any user defined format in ASCII, HTML or PDF (converted to text) file. It employs most of the available parsers and database interfaces including any custom readers and constructs a common data model and APIs to maintain consistency and accuracy across different formats. It has proven legacy checks implemented in the system, has native checks for various data models and uses available custom scripts for various purposes. The common data model is comprehensive enough to accommodate vendor proprietary data sheets, characterization data or any other information. There are several kinds of validation checks at library (e.g. terminal name consistency, timing arcs etc.) as well as design level (e.g. pin compatibility of layout, schematic and underlying format or database). Since an IP can be in the form of a hard macro (GDS) or a synthesizable IP (RTL), Crossfire makes sure that only relevant checks are done at a particular level, thus eliminating unnecessary checks and making the validation efficient.
The report presentation and its review and analysis need special mention as it is tightly coupled with design details and provides an opportunity to designers to do what they want to with the design based on the report. I recently reviewed an on-line demoof Fractal’s Diagnose tool which has an excellent GUI helping designers to analyze rules, formats, messages, and errors and so on in sync with the design and do what they want. There is bind-key implementation to control various operations in the GUI. As an IP can be large, there can be overwhelming number of messages; to keep the messages within viewable limit there is provision for setting message level where the messages below the set level will only be displayed. Also, the messages can be searched with keywords just like in text editors. They can also be filtered to keep only those matching with the filter.
The reports can also be generated in HTML where rules and format names along with their details can be displayed. There is provision of tool-tips which automatically appear when the mouse hovers at certain locations. Errors, warnings, waivers etc. can be viewed for each rule or format. Analysis of errors is done very intelligently.
An error can be selected by dragging the mouse over it; if the format is text based then an editor opens up and you can click ‘analyze’. In the above image, the schematic and symbol is displayed which tells about the missing pin in symbol. In the report, the error with respect to symbol pin will be flagged ‘red’.
Waiver is another important feature where you can waive an error in the report if you think fit; just the select the error(s) and click ‘waive’, a dialog box opens up, add waivers and the values to waive; it’s necessary to provide the reasons to waive. In the messages, the waivers are tagged with G:Lines. After waiving certain error, if you decide to un-waive it, you can easily do so by just un-checking the respective waive rule in the dialog box and clicking ‘Apply’.
These features to move backward and forward between report and design makes designers life easy to review the cause and effect to achieve their goals.
As the designs get more complex and their sizes increase, newer features are sought to be added by customers and that keeps Crossfire updated as per latest trends in the semiconductor design industry. The latest features added are –
· Checks for new rules – Condition based check for values and 0 values in the tables; double defined voltage maps; 0 sized polygons; pin layer based attributes in .lib file.
· HTML report with user defined colors.
· Reading all formats directly as .gz files.
· Possibility to run checks on more than 1500 .lib files.
· Speedup in layout viewer by 50%.
The Crossfireis a very useful tool for IP and design development; it helps in maintaining the consistency between different formats, databases, libraries, and legacy and so on and keeps the quality of design in check though out the design flow, thus incorporating quality-by-construction.