What are NDM, reference libraries, and design libraries in ICC2?
From PDVerse PnR Interview Handbook, part of the pdVerse Mentor Guide
Short Answer
NDM is ICC2's library/database framework — the container system, not a specific library itself. Reference libraries are the toolbox: standard cells, macros, anything reusable that your design draws from.
Technical Explanation
- NDM is ICC2's library/database framework — the container system, not a specific library itself.
- Reference libraries are the toolbox: standard cells, macros, anything reusable that your design draws from.
- The design library is the actual project you're building — your block, its saved versions, and its own technology/reference setup.
- One design library can hold multiple blocks, and in a hierarchical flow a design library can itself act as a reference library for something higher up.
- Different views expose different levels of detail: a design view carries full layout, a frame view is the lighter abstraction placement/routing actually needs, and other abstract views support specific top-level tasks without loading everything underneath.
- Creating an NDM library doesn't prove all needed timing/physical data is present, and creating it in memory isn't the same as saving it to disk — verify reference lists, available views, technology compatibility, and scale-factor agreement, and keep both setup scripts and saved databases for a reproducible handoff.
Visual Verification
In ICC2 NDM architecture, reference libraries provide read-only standard-cell and tech views, bound directly into the active read-write design library (soc_work.ndm) to record incremental flow snapshots.
Command Checks & Actions
create_lib ../my_lib_dir/my_libACreates a new design library in memory -- the container ICC2 uses to hold one block's physical/functional data.
create_lib lib_B -ref_libs {../LIBS/lib_C ../STND/stdhvt.ndm}Creates a design library that references NDM reference libraries, the concrete syntax that ties a design library to the lower-level libraries it depends on.
report_ref_libsShows which reference libraries are attached, which one is currently open, and which carries technology info -- the fastest way to confirm an NDM/reference-library setup actually matches what you intended.
Common Mistake
The Trap: Candidates often mistakenly 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?"
Candidate Model Response: Inspect the reference-library setup and the views in the intended macro library before changing the netlist.
Practical Example
Tapeout Scenario: 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.
PnR Flow Mentor Guide
Master the Physical Design Implementation Flow
Read the complete 8-chapter PnR Flow Mentor Guide free on the web — library setup through placement, clock tree synthesis, routing, chip finishing, hierarchical implementation, and ECO, all the way to stream-out.
Offline PDF Bundle
Want all 1109 questions offline?
Get the complete 4-book PDF bundle (PnR, STA, MMMC, Low Power) with a clickable table of contents - no ads, no internet needed.

Continue practising