VLSI

DEF File in VLSI: Design Exchange Format Explained

By CourseTron Team ·  7 min read ·  Updated Oct 2026 💬 𝕏 in f
Table of Contents
    🖨  Download / Print this guide (PDF)

    In short: A DEF file in VLSI (Design Exchange Format) is an ASCII database that captures the physical implementation of a chip design — component placement, net connectivity, routed wires, pins, blockages and die geometry — for one specific netlist. It pairs with the LEF file, which describes the reusable library and technology abstractions, so together LEF+DEF let EDA tools exchange a complete physical view of the design.

    What Is a DEF File in VLSI?

    A DEF file in VLSI is the Design Exchange Format representation of a single chip design's physical layout. Originally defined by Cadence as part of the LEF/DEF pair, it is a human-readable ASCII file (conventionally ending in .def) that stores everything about where things are and how they connect for one netlist mapped onto one technology.

    Unlike GDSII or OASIS, which carry full polygon geometry for mask generation, DEF is design-specific and instance-level. It names every standard-cell instance, every net, every pin and every routed segment by reference. It does not redraw the internal shapes of a cell — it points to the cell's abstract defined elsewhere. That separation is the whole idea behind LEF and DEF.

    Key fact: DEF describes one design instance (placement and routing of a particular netlist), while LEF describes the reusable building blocks (cell abstracts and the metal/via technology). You almost always need both files together to reconstruct a complete physical database.

    LEF vs DEF: How They Differ

    Engineers constantly confuse these two formats because they travel together. The distinction is clean once you anchor it:

    • LEF (Library Exchange Format) is written once per library/technology. It holds the technology section (layer names, routing pitches, spacing, via rules, units) and the cell abstracts (each cell's bounding box, pin locations, pin layers and routing/placement blockages). LEF deliberately hides the transistor-level internals of a cell.
    • DEF (Design Exchange Format) is written per design and changes at every stage of the flow — after floorplan, after placement, after CTS, after routing. It references cells by the names LEF defined and adds all the design-specific coordinates.

    Think of LEF as the catalogue of parts and the rules for assembling them, and DEF as the assembly instructions for one particular product built from that catalogue.

    What a DEF File Stores: The Major Sections

    A DEF file is organized into clearly delimited statements. The important ones, roughly in the order a tool writes them:

    Header and units

    The file opens with VERSION, DESIGN , UNITS DISTANCE MICRONS (commonly 1000 or 2000 database units per micron) and DIEAREA, which gives the die outline as a polygon of coordinates. All later coordinates are integers in these database units.

    ROWS and TRACKS

    ROWS define the standard-cell placement rows (site name, origin, orientation, step and count), establishing the legal placement grid. TRACKS define routing tracks per metal layer — the x/y grid onto which the router snaps wires.

    COMPONENTS

    The COMPONENTS section lists every instance: instance name, its master cell (from LEF), its placement status (PLACED, FIXED, COVER or UNPLACED), coordinate and orientation (N, S, FN, FS, etc.). This is the placement database.

    PINS

    The PINS section describes the design's primary I/O ports — name, associated net, direction, the metal layer and rectangle of the physical pin shape, and its placement on the die edge or inside.

    NETS and SPECIALNETS

    The NETS section is the connectivity heart of the file. Each net lists its connected pins (instance/pin pairs plus any primary pins) and, once routing is done, the ROUTED geometry: the sequence of metal-layer segments and via instances that physically realize the net. SPECIALNETS handles power and ground (VDD/VSS) — wide, often shielded or stripe/ring routing that is treated separately from signal nets.

    Blockages, regions and groups

    Additional sections capture BLOCKAGES (placement or routing keep-outs), REGIONS and GROUPS (floorplan fences and soft/hard placement constraints), VIAS (design-specific via definitions), and GCELLGRID for the global-routing grid. The file closes with END DESIGN.

    LEF + DEF = Complete Physical ViewLEF (per library)Technology: layers, pitchVia rules, spacingCell abstractsPin layer + bbox(internals hidden)+DEF (per design)DIEAREA, ROWS, TRACKSCOMPONENTS (placement)PINS (I/O ports)NETS + routingSPECIALNETS (PG)PhysicalDBCourseTron · coursetron.com
    LEF supplies the library and technology abstractions; DEF supplies the placement and routing of one design. Together they form the complete physical database.

    Why the DEF File Matters in the PnR Flow

    DEF is the common currency that lets physical-design tools interoperate. Because it is open ASCII and instance-level, it is written and re-read at nearly every milestone:

    • Floorplan exchange — a DEF with DIEAREA, ROWS, macro placement and I/O pins, but empty routing, seeds the implementation tool.
    • Placement hand-off — COMPONENTS populated with PLACED coordinates, no routing yet.
    • Post-route — full NETS/SPECIALNETS routing, ready for parasitic extraction and sign-off.
    • Tool bridging — passing a design from a place-and-route tool to a separate router, a power-planning script, or an academic flow (OpenROAD, for example, consumes LEF/DEF natively).
    DEF is written at each flow stageCheckpoint moving through the flowFloorplanDIEAREA, ROWS,macros, I/O pinsPlacementCOMPONENTSPLACEDCTSDesign stateafter CTSRoutingComplete NETSSPECIALNETSEach defOut dump captures the design state at that pointCourseTron · coursetron.com
    DEF is dumped at every milestone: floorplan, placement, CTS and routing. The marker steps through each checkpoint.

    Because every coordinate is explicit, DEF is also perfect for scripted edits: you can parse it, nudge a macro, add a blockage or rip up a net programmatically without a full GUI session.

    How EDA Tools Handle DEF Files

    In Cadence Innovus the commands are defIn to read and defOut (with flags like -floorplan, -routing, -netlist) to selectively dump sections. Synopsys IC Compiler II uses read_def / write_def, and OpenROAD uses read_def / write_def on top of its LEF database. A few practical realities:

    • DEF must be read after the matching LEF — every COMPONENT master and every pin/layer name has to already exist, or the reader errors out.
    • The UNITS multiplier in DEF must be consistent with the LEF database units, or placements land at the wrong scale.
    • Partial DEF is legal and common: a floorplan-only DEF simply omits routed NETS. Tools happily read what is present.
    • DEF is verbose; for a large SoC a full routed DEF can run to hundreds of megabytes, which is why teams often exchange gzipped DEF.
    Read LEF before DEFCorrect order1. Read LEF2. Read DEFNames resolveWrong order1. Read DEFReader errors outmasters, pins, layers missingCourseTron · coursetron.com
    A DEF reader needs the matching LEF loaded first, otherwise component masters, pins and layer names cannot be resolved.

    Learn LEF/DEF, floorplan and routing hands-on

    Explore the Physical Design Course →

    DEF File Interview FAQ

    Can a DEF file exist without a LEF file?

    Not meaningfully. DEF references cell masters, layers, vias and sites by name, and those names are defined in LEF. A reader needs the LEF loaded first; a DEF alone is just a set of names and coordinates with nothing to resolve them against.

    What is the difference between NETS and SPECIALNETS in DEF?

    NETS carry ordinary signal connectivity and, after routing, thin signal wires. SPECIALNETS carry power and ground — typically wide stripes, rings and rails with explicit widths, shapes and shielding. Tools treat them separately because PG routing follows different width and spacing rules.

    Does DEF contain the actual mask geometry of the chip?

    No. DEF stores placement and routing by reference — instance locations, net routes as layer segments and vias. The full polygon mask data lives in GDSII or OASIS, produced after sign-off by streaming out the merged LEF+DEF plus cell geometry.

    At what stages of the flow is DEF typically written?

    After floorplan (die, rows, macros, pins), after placement (COMPONENTS placed), after CTS, and after detailed routing (complete NETS). Each dump captures the design state at that point, which makes DEF a natural checkpoint and hand-off format.

    Related reading: Antenna effect in VLSI · VLSI Glossary · Physical Design Interview Questions.

    Advertisement