Transcription of Working With Libraries 5 - VLSI IP
1 Compiler User Guide5 Working with Libraries5 This chapter contains the following sections: Selecting a Semiconductor Vendor Understanding the Library Requirements Specifying Libraries Loading Libraries Listing Libraries Reporting Library Contents Specifying Library Objects Directing Library Cell Usage Removing Libraries From Memory Saving Compiler User GuideSelecting a Semiconductor VendorOne of the first things you must do when designing a chip is to selectthe semiconductor vendor and technology you want to use. Considerthe following issues during the selection process: Maximum frequency of operation Physical restrictions Power restrictions Packaging restrictions Clock-tree implementation Floorplanning Back-annotation support Design support for Libraries , megacells, and RAMs Available cores Available test methods and scan stylesUnderstanding the Library RequirementsDesign Compiler uses these Libraries .
2 Technology Libraries Symbol Libraries DesignWare Compiler User GuideThe following sections describe these LibrariesTechnology Libraries contain information about the characteristics andfunctions of each cell provided in a semiconductor vendor s vendors maintain and distribute the characteristics include information such as cell names, pinnames, area, delay times, and pin loading. The technology libraryalso defines the conditions that must be met for a functional design(for example, the maximum transition time for nets). These conditionsare called design rule addition to cell information and design rule constraints, technologylibraries specify the operating conditions and wire load modelsspecific to that Compiler requires the technology Libraries to be in.
3 Db most cases, your semiconductor vendor provides you .db formatlibraries. If you are provided only with library source code, see theLibrary Compiler documentation for information about generatingtechnology Compiler uses technology Libraries to Implement the design functionThe technology Libraries that Design Compiler maps to duringoptimization are called target Libraries . The target Libraries containthe cells used to generate the netlist and definitions for thedesign s operating Compiler User GuideThe target Libraries used to compile or translate a design becomethe local link Libraries for the design.
4 Design Compiler saves thisinformation in the design slocal_link_libraryattribute. See Working with Attributes in Chapter 6 for information aboutattributes. Resolve cell referencesThe technology Libraries that Design Compiler uses to resolve cellreferences are called link Libraries . In addition to technologylibraries, link Libraries can also include design files. The linklibraries contain the descriptions of cells (library cells as well assubdesigns) in a mapped Libraries include both local link Libraries (local_link_library attribute) and system link Libraries (link_library variable).See Linking Designs in Chapter 6 for more information aboutresolving references.
5 Calculate timing values and path delaysThe link Libraries define the delay models used to calculate timingvalues and path delays. See the Library Compiler documentationfor information about the various delay LibrariesSymbol Libraries contain definitions of the graphic symbols thatrepresent library cells in the design schematics. Semiconductorvendors maintain and distribute the symbol Compiler User GuideDesign Compiler uses symbol Libraries to generate the designschematic. You must have Design Analyzer to view the you generate the design schematic, Design Compiler performsa one-to-one mapping of cells in the netlist to cells in the LibrariesA DesignWare library is a collection of reusable circuit-design buildingblocks (components) that are tightly integrated into the Synopsyssynthesis components that implement many of the built-in HDLoperators are provided by Synopsys.
6 These operators include +, -, *,<, >, <=, >=, and the operations defined by if and case DesignWare Libraries can be developed by users at theirsites by using DesignWare Developer, or they can be licensed fromSynopsys or from third parties. To use licensed DesignWarecomponents, you need a license Compiler User GuideSpecifying LibrariesYou use dc_shell variables to specify the Libraries used by DesignCompiler. Table 5-1 lists the variables for each library type as well asthe typical file extension for the a Library Search PathYou can specify the library location by using either the complete pathor only the file name.
7 If you specify only the file name, Design Compileruses the search path defined in thesearch_pathvariable to locatethe library files. By default, the search path includes the currentworking directory and $SYNOPSYS/ Libraries /syn. Design Compilerlooks for the library files, starting with the leftmost directory specifiedin thesearch_pathvariable, and uses the first matching library fileit example, assume that you have technology Libraries in both the lib directory and the vhdl directory. Given thefollowing search path,search_path = {lib vhdl} + search_pathTable 5-1 Library VariablesLibrary TypeVariableDefault ValueFileExtensionTarget Librarytarget_library{ }.
8 DbLink Librarylink_library{ * , }.dbSymbol Librarysymbol_library{ }.sdbDesignWare Librarysynthetic_library,{}. Compiler User GuideDesign Compiler uses the file found in the lib directory,because it encounters the lib directory can use thewhich command to see which library file DesignCompiler finds (in order).dc_shell>which {"/usr/ ", "/usr/ "}Specifying Technology LibrariesSpecify the same value for the target library and the link library (exceptwhen performing technology translation). For the link library, youshould also specify the asterisk character (*), which specifies thatDesign Compiler should also search the designs in memory whenresolving cell references.
9 If thelink_library variable has noasterisk, the designs loaded in memory are not searched. As a result,designs might not be found during linking and might specifying the files in thelink_library variable, considerthat Design Compiler searches these files from left to right whenresolving references and stops searching when it finds a the following example, the designs in memory are searched beforethe lsi_10k library:link_library = {"*" }See Linking Designs in Chapter 6 for more information aboutresolving Compiler User GuideSpecifying DesignWare LibrariesYou do not need to specify the standard synthetic library, , that implements the built-in HDL operators.
10 Thesoftware automatically uses this you are using additional DesignWare Libraries , you must specifythese Libraries , using thesynthetic_library variable (foroptimization purposes) and thelink_library variable (for cellresolution purposes).For more information about using DesignWare Libraries , see theDesignWare User LibrariesDesign Compiler uses binary Libraries (.db format for technologylibraries and .sdb format for symbol Libraries ), and automatically loadsthese Libraries when your library is not in the appropriate binary format, use theread_libcommand to compile the library source. Theread_libcommand requires a Library-Compiler manually load a binary library, use theread >read >read Compiler User GuideListing LibrariesDesign Compiler refers to a library loaded in memory by its library statement in the library source defines the library list the names of the Libraries loaded in memory, use thelist_libs >list_libsmy_lib my_symbol_lib1To list the path and file name information along with the names, usethelist - Libraries command (dcsh mode only).