Interviews

Placement Interview Questions

Practise the question, then the follow-ups an interviewer asks next.

Start with a Question TreeAI Mock Interview

4
Question trees
25
Follow-ups
14
Wrong answers explained
Question tree The interviewer asksA net connects four pins at the corners of a 10 µm square. What is its half-perimeter wirelength, and how long is the shortest real wire? WhyWhy HPWL Is Only a Lower BoundComparePlaced HPWL vs Routed WirelengthWhat IfWhat a Global Placer OptimisesScale ItTarget Density and CongestionCompareTarget Density vs Utilization + 5 more follow-ups · Open this tree

Flagship Questions · With follow-ups

Question Trees

Each question opens into the follow-ups an interviewer asks next, the wrong answers people give, and what a fresher's and a senior's answer sound like.

Quick revision · One flat list

Question Bank

All 19 Placement questions, main and follow-up. Open a track, then a topic. Answer out loud first, then open the short answer.

Jump to a Track
19 questions · 3 topicsPlacement
Half-Perimeter Wirelength9
A net connects four pins at the corners of a 10 µm square. What is its half-perimeter wirelength, and how long is the shortest real wire? L0L1

HPWL is half the perimeter of the bounding box around a net's pins, here 10 + 10 = 20 µm. The shortest rectilinear tree that joins four corners must run three sides of the square, 30 µm. HPWL is exact for two- and three-pin nets without obstacles, and a lower bound for larger nets. That is why placers use it as a fast estimate, not as the routed length.

QuestionPractise Half-Perimeter Wirelength →
Why is HPWL exact for a three-pin net but only a lower bound for a five-pin net? L1

Any tree that reaches every pin must span the bounding box once horizontally and once vertically. So it is at least the half perimeter. With three pins one trunk and one branch always achieve that. With more pins the tree needs extra branches inside the box, as the four-corner square shows, so real wire exceeds the bound.

Follow-upPractise Why HPWL Is Only a Lower Bound →
Compare placed HPWL with the wirelength the router reports. Why can they move in opposite directions? L1L2

HPWL sums pin boxes and ignores how crowded the routing is. The router has to share tracks, so in a dense cluster it detours and uses more wire. In lesson L4.2 raising the target density from 0.6 to 0.95 cut HPWL from about 6244 to 5119 µm while routed wire rose from 18326 to 18719 µm.

Follow-upPractise Placed HPWL vs Routed Wirelength →
What if you ran global placement with wirelength as the only goal? L1L2

Every connected cell would pile into one spot, which is short wire and impossible to build. An analytic placer minimises a smooth wirelength plus a density penalty whose weight grows each iteration. It stops when overflow falls low enough. Overflow is the share of cell area above the target density. In lesson L4.1 the run stopped at iteration 361 with overflow 0.099.

Follow-upPractise What a Global Placer Optimises →
What does the placer's target density control, and how does it relate to routing congestion? L1L2

Target density is the local fill the placer aims for; it must sit above the overall utilization or cells cannot spread. A higher target clusters connected cells, which shortens wires but concentrates routing demand on the clusters. Congestion is that demand compared with the tracks available in each routing tile. So the global router's overflow map, not HPWL, says whether the density choice was too aggressive.

QuestionPractise Target Density and Congestion →
Compare core utilization with the placer's target density. L1

Utilization is one number for the whole core: cell area over core area, fixed by the floorplan. Target density is a local goal the placer pushes every region toward, so it controls how tightly cells cluster within that core. A 40 % core can be placed at density 0.6 or 0.95, with very different wire and congestion.

Follow-upPractise Target Density vs Utilization →
Why does the global router count fewer tracks than the layer really has? L1L2

The platform reduces each layer's capacity, by 20 % on sky130 here. This leaves room for pin access, vias and detours that the coarse model cannot see. Overflow is measured against that reduced capacity. Changing the adjustment changes the plan's resources, not the physical tracks, so it can hide congestion rather than fix it.

Follow-upPractise Why the Router Holds Tracks Back →
The global-route map shows overflow in one corner of the block. Which remedies do you try, in what order? L2L3

Start cheap and local: lower the target density or turn on routability-driven placement, which inflates cells in crowded regions. Then look at the cause, such as a pin cluster, a wide multiplexer or a macro channel. Fix that cause with a pin plan or floorplan change. Lower utilization is the expensive last resort. Re-check timing after each step, because spreading costs wire.

Follow-upPractise Relieving Placement Congestion →
Why try routability-driven placement before lowering the utilization of the whole block? L2

Routability-driven placement adds room only where the router predicts overflow. Lower utilization grows the whole block, so area and wire grow everywhere. The local fix keeps the dense, short-wired regions that had no problem. So it is the cheaper first step.

Follow-upPractise Why Local Congestion Fixes Come First →
Legal Placement and Displacement5
What makes a placement legal, and what does the legalizer's displacement report tell you? L0L1

A legal placement has every cell on a row, on a site, in the row's orientation or its mirror, and overlapping nothing. Legalization moves each cell from its rough global position to the nearest legal spot, and displacement measures those moves. A large maximum displacement points to an over-full region. The moves cost wirelength and slack, and detailed placement only partly wins them back.

QuestionPractise Legal Placement and Displacement →
Why is every other standard-cell row flipped upside down? L0L1

Each cell has VDD along one edge and VSS along the other. Flipping alternate rows puts the same supply on the boundary between two rows, so neighbours share one rail instead of needing two. A cell placed in a row must take that row's orientation, or its mirror image left to right.

Follow-upPractise Why Every Other Row Is Flipped →
Compare legalization with detailed placement. L1L2

Legalization only makes the placement legal, moving cells as little as possible. Detailed placement then improves a legal placement without breaking it, by swapping and shifting neighbours and mirroring cells to shorten nets. In lesson L4.3 it won back about 530 µm of the 1236 µm that legalization had added.

Follow-upPractise Legalization vs Detailed Placement →
Why can legalization cost slack, and not only wirelength? L1L2

Legalization moves each cell to a nearby free site without looking at timing. In an over-full region a cell on a critical path can move far. The longer wires add delay on that path. Detailed placement and repair then win part of it back.

Follow-upPractise Why Legalization Can Cost Slack →
What if you need to add a buffer after routing, when every gap in the rows already holds a filler cell? L1L2

Filler cells only keep the rails and wells continuous, so they can be taken out where the new cell goes. Remove the fillers around the edit, place and legalize the new cell, route the change, then insert fillers again and re-check. In the pinned flow fillers go in after detailed routing for exactly this reason.

Follow-upPractise Adding a Cell Where the Fillers Are →
A Slow Reset Net After Placement5
After placement, the design-rule report below flags the reset net. What is wrong, and how is it fixed without hurting the reset timing? L1L2

One small driver feeds 52 reset pins plus the wire. So its edge is far slower than the library allows, and its delay is extrapolated. Repair the design rules first: a buffer tree splits the load and stronger drivers sharpen the edge. Reset is not a clock and needs no skew balancing. But its release is still timed by recovery and removal checks. So re-check those after the tree is built.

QuestionPractise A Slow Reset Net After Placement →
Why can you not trust the delay of a cell driving beyond its maximum capacitance? L1L2

The Liberty tables stop at the characterised loads and slews, and beyond them the timer extrapolates in a straight line. In lesson L2.2 an inv_1 at 0.25 pF, well past its 0.18 pF limit, still got a printed delay of 0.8558 ns, which nobody measured. The design-rule report is what flags it.

Follow-upPractise Delays Past the End of the Table →
Compare buffering a high-fanout net with resizing its driver. L1L2

Resizing swaps in a stronger driver, which is cheap and keeps the topology. But it loads the cell in front of it and cannot help a net that is simply too long. Buffering splits the loads into a tree, so each driver sees a manageable load. The cost is extra cells and delay stages. Repair tools try both and use placement to estimate the wires.

Follow-upPractise Buffering vs Resizing a Weak Driver →
A reset synchroniser's output drives a flop's asynchronous reset. The removal check below fails by 10 ps. What does that mean, and how do you fix it? L1L2

Removal is the hold check of a reset release. The release must not come too soon after the clock edge. Otherwise the flop sees reset and clock at nearly the same time. Here the release arrives 0.3259 ns after the edge but the flop needs 0.3364 ns, so it is 10 ps early. Slow the release path slightly, or reduce the skew between the synchroniser and the flop, exactly as for hold.

Follow-upPractise A Removal Failure on a Reset Release →
What if the reset net is buffered after the removal check was fixed? L1L2

The buffer tree adds delay and skew on the release path at every flop. Removal may then pass with margin while recovery, the setup-like check, starts to fail. So re-run both checks after every reset repair, at all corners.

Follow-upPractise Rechecking Reset After Buffering →

Your Review Queue

Saved review reminders are coming soon.