Design services

Manual place and route.

For compute blocks with a repeating structure, we place by script and by hand, design custom clock trees, abut the sub-blocks, and integrate the result with a standard digital back-end flow.

Covers
Hand placement, critical routing, custom clock trees and abutment
Best for
Pipelined datapaths and compute blocks with a repeating structure
Integration
Hardened as a block, or custom cells fixed by a placement script
Our work
A hand-placed compute core on 16 nm FinFET, with sub-blocks abutted at 95% placement utilisation at tape-out

What manual place and route does

The most regular layout, where it matters most.

  1. Hand placement

    Cells placed in data-flow order shorten wires and balance setup and hold paths, and a repeating layout makes process variation more uniform across the block.

  2. Custom cell heights

    Custom cells of different heights on critical paths, for deep optimisation of timing and power.

  3. Abutment

    Sub-blocks abutted without boundary cells, raising placement utilisation and reducing area.

  4. Custom clock trees

    Clock distribution designed for the pipeline structure, controlling skew and power.

  5. Power delivery and IR drop

    The power network designed with the placement, with static and dynamic IR drop analysis.

  6. Integration with automated flows

    The custom part hardened as a block, or its cells fixed by a placement script, while the other logic follows the automated flow.

The place-and-route flow

Six steps, from floorplan to sign-off.

  1. Floorplan

    Hierarchy, block sizes, abutment and power structure.

  2. Hand placement

    Cells placed by script, bit slice by bit slice, with iteration on the critical paths.

  3. Clock tree

    Clock distribution designed to balance skew and power.

  4. Routing

    Critical signals routed by rule, with the rest completed by tools.

  5. Extraction and timing

    Parasitic extraction, post-layout simulation and static timing analysis.

  6. Sign-off

    Timing across corners, IR drop and physical rules.

Questions about manual place and route

How does it differ from automated place and route?

In automated place and route, tools decide cell positions and wiring, which suits control logic and interfaces. In manual place and route, engineers decide the placement of key blocks by script, which suits regular, repeating datapaths.

Can it work with an automated flow?

Yes. The custom part can be hardened as a block that gives the top level its timing and physical models, or a placement script can fix the custom cells in a way that stays fully compatible with the automated flow.

How are timing, power, IR or ECO issues handled?

In the same way as in an automated flow. The key to full-custom design is treating the architecture, netlist, cells and placement as one.

Which blocks suit manual place and route?

Pipelined blocks with a regular bit width and high switching activity. The larger and more repetitive the block, the greater the gain.

Have a block worth placing by hand?

Send its structure, the target process, and where its energy and area go, and we will reply.