What are the mandatory input files required to start a Physical Design flow, and what sanity checks must you run before floorplanning?
A typical ASIC/SoC physical implementation flow requires seven primary inputs:
- Gate-Level Netlist (.v): Synthesized Verilog netlist specifying instantiated standard cells, macros, and interconnections.
- Synopsys Design Constraints (.sdc): Clocks, generated clocks, I/O delays, false paths, and multicycle paths.
- Logical Timing Libraries (.lib): NLDM or CCS/CCSN timing models, power tables, pin capacitance, and function truth tables for all PVT corners.
- Physical Libraries (.lef): Cell boundary dimensions (PR boundary), pin coordinates, layer restrictions, and routing obstruction areas.
- Technology File (.tf / .techlef): Metal layer definitions, pitch, width, spacing rules, resistance/capacitance per unit length, and mask colors.
- Parasitic Extraction Models (.tluplus / .ict / QRC Techfile): RC coefficients for pre-route and post-route capacitance estimation.
- Power Intent (.upf / .cpf): Power domains, power switches, isolation cells, and level shifters for multi-voltage designs.
💡 Sanity Checks Before Floorplanning
Always run check_design (identifies floating pins, multidriven nets, unloaded gates), check_timing (verifies unconstrained endpoints, missing clock definitions), and ensure LEF vs. .lib port consistency.