Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 1.92 KB

routing.md

File metadata and controls

56 lines (38 loc) · 1.92 KB

Routing

This page of the documentation explains the routing of OpenRAM.

Table of Contents

  1. Power Supply Options
  2. Power Routing
  3. Power Supply Algorithm
  4. Channel Router

Power Supply Options

  • Unrouted
    • Leave must-connect metal 3 pins for vdd and gnd within the array
  • Grid
    • Connect in a metal 3 and 4 grid
    • Blockage aware
    • Can encounter DRC errors with off-grid pins
    • Works with commercial tools but not so well with OpenRoad
  • Work in Progress: Hanan Grid / Steiner Tree:
    • Route tree on Hanan metal 3 and 4 grid instead of full grid
    • Blockage aware

Power Routing

  • All power pins are brought to M3 and routed as a grid on M3/M4
  • Considers blockages of M3/M4 by control and data signals
  • Considers wide/long metal spacing rules

Power Supply Algorithm

  • 1st: Route vertical and horizontal grids (blockage aware, allow connection to correct supply)
  • 2nd: Check direct overlaps of power pins
  • 3rd: Single direction probes to connect
  • 4th: A* maze router

Channel Router

  • SRAMs typically try to use minimal layers of metal
    • Primarily used to connect decoders, input/output circuitry, or control logic
  • Wish list
    • Minimize number of tracks
    • Must consider impact on floorplan
Credit: Chen & Chang, EDA Handbook, Chapter 12, Global and detailed routing Sense amp to data flop connection