BeginnerQuestion 6 of 61Source PDF page undefined

What are NDM, reference libraries, and design libraries in ICC2?

From PDVerse PnR Interview Handbook ยท pdVerse Mentor Guide

Short Answer

NDM is ICC2's library/database framework. Reference libraries supply reusable blocks such as standard cells and macros; a design library stores the implementation blocks you are working on and their associated technology and reference setup.

Technical Explanation

The distinction is about role. A standard-cell reference library is a source of reusable cells. Your design library contains the controller or processor block assembled from those cells. A block is a particular design container or saved version within that library. The same design library can contain multiple blocks, and a library can serve as a reference to another library in a hierarchical flow. Different views provide different levels of detail. A design view holds layout information. A frame view provides an abstraction needed for placement and routing. Other hierarchical views, such as abstracts, support selected top-level tasks without loading every internal detail. The suffix .ndm does not by itself prove that all necessary timing and physical information is present. At setup, verify the reference list, the available cell views, technology compatibility, and database scale. The supplied Data Model guide requires the scale factor to agree between a design library and its references. Also distinguish memory from disk: creating a library does not necessarily save it immediately. A reproducible handoff needs saved databases as well as setup scripts.

Common Mistake

Calling NDM simply another name for LEF, or assuming every NDM is a complete, interchangeable technology package.

Follow-up Question & Model Response

How would you debug a missing macro view? Inspect the reference-library setup and the views in the intended macro library before changing the netlist.

Practical Example

soc_work is the editable design library; stdcells.ndm and sram.ndm are references. soc_top_initial and soc_top_placed can be separate saved blocks. Updating a reference should be controlled because it may change many instances at once.

Original guide diagramWhat are NDM, reference libraries, and design libraries in ICC2?
What are NDM, reference libraries, and design libraries in ICC2?, illustrating the physical design concept.