What files and information are required for SRAMs and other hard macros?
From PDVerse PnR Interview Handbook ยท pdVerse Mentor Guide
Short Answer
A hard macro needs compatible logical/timing and physical information, together with its interface and integration requirements. A black box in the netlist is not a complete macro handoff.
Technical Explanation
The physical abstraction supplies size, pin shapes, and obstructions for placement and routing. Timing views describe interface behavior and timing constraints across the required operating conditions. A functional model supports simulation or equivalence-related activities as appropriate. Full layout data is needed later for the assembled layout and physical verification, but detailed polygons need not be loaded for every early planning operation. Memories also have operating assumptions: clocks, setup/hold checks, read/write behavior, test controls, power pins, legal orientations, and possibly multiple supply requirements. Integration guidance can specify keepouts or routing restrictions. Check the memory compiler configuration, depth, width, mux option, revision, and model set rather than relying on a familiar macro name. In ICC2, these views commonly arrive through prepared reference libraries. Verify that the instantiated cell and pin names match and that timing models exist for every required scenario. An abstract with the correct dimensions but the wrong pin arrangement is physically dangerous; a timing view from a different memory configuration is electrically misleading.
Common Mistake
Saying that a macro's LEF alone is enough for timing-driven implementation, or that GDS replaces its timing model.
Follow-up Question & Model Response
What would you request for an intentionally untimed block? An explicit approved timing abstraction or exception methodology, plus physical and interface data; do not silently waive missing models.
Practical Example
A 512-by-32 SRAM and a 1024-by-32 SRAM may have similar names but different sizes and timing. Using one macro's abstract with the other's timing model does not produce a valid combined cell.
Continue practising