What are database units, and how do you convert DEF coordinates?
From PDVerse PnR Interview Handbook ยท pdVerse Mentor Guide
Short Answer
Database units, or DBU, represent physical coordinates as integers. A DEF declaration of 2000 database units per micrometer means that 2000 coordinate units represent a physical distance of 1 um.
Technical Explanation
The conversion is distance in micrometers = integer coordinate divided by DBU per micrometer. In the reverse direction, multiply the physical distance by the scale. With 2000 DBU per um, a coordinate of 240000 means 120 um, while one DBU represents 0.0005 um or 0.5 nm. Keep the scale attached to every calculation. DBU controls coordinate representation. It does not by itself define where every feature can legally be placed. A database may represent 0.5 nm steps while the manufacturing grid allows only 1 nm steps and the placement sites are much wider. A coordinate can therefore be representable in the database but still violate a physical grid. When importing DEF, confirm that units, site names, and technology data agree with the receiving design. Do not manually rescale all coordinates merely because they look large: the file header is intended to tell the reader how to interpret them. Watch for rounding when converting between database scales. If an intended physical coordinate cannot be represented exactly at the destination scale, the flow needs a deliberate conversion policy and geometry checks.
Common Mistake
Equating DBU resolution with minimum wire width, the manufacturing grid, or a technology-node name.
Follow-up Question & Model Response
Can two files encode the same physical location using different integers? Yes. A 120 um location is 120000 at 1000 DBU/um and 240000 at 2000 DBU/um.
Practical Example
With 2000 DBU per um, a 0.048 um routing pitch becomes 96 DBU. A 120.024 um coordinate becomes 240048 DBU. Dividing either number by 1000 instead of 2000 doubles the interpreted physical distance.
Continue practising