_TOP_MENU

Feb 16, 2023

Difference between target & link library ?



The target_library specifies the name of the technology library that corresponds to the library whose cells the designers want DC to infer and finally map to. 

The link_library defines the name of the library that refers to the library of cells used solely for reference,i.e., cells in the link_library are not inferred by DC. 
In other words , link_library is for resolving the references only..so if you are using an instance of a design whose definition is not available in the source path you specify the .db file name and also including the search path in the search_path variable. link is the command used to resolve the functional references in your design

For example, you may specify a standard cell technology library as the target_library, while specifying the pad technology library name and all other macros (RAMs,ROMs etc.) in the link_library list. This means that the user would synthesize the design that targets the cells present in the standard cell library, while linking to the pads and macros that are instantiated in the design.

The target library name should also be included in the link_library list. This is important while reading the gate-level netlist in DC. DC will not be able to link to the mapped cells in the netlist, if the target library name is not included in the link library list. For this case, DC generates a warning stating that it was unable to resolve reference for the cells present in the netlist.

The target_library and link_library system variables allow the designer to better control the mapping of cells. These variables also provide a useful means to re-map a gate-level netlist from one technology to the other. In this case, the link_library may contain the old technology library name, while the target_library may contain the new technology library. Re-mapping can be performed by using the translate command in dc_shell.

That means Link library is not used for synthesising design . It is used for linking macros & pads

link_library: is the library you use components from
target_library: is the library you synthesise to

if you have a RAM or PLL you will include it in link_library and not the target_library

target_library is for mapping your design...your netlist after synthesis can and shall contain only cells from target library

so target is for mapping and link is for resolving functional references..


No comments:

Post a Comment