OpenRAM icon indicating copy to clipboard operation
OpenRAM copied to clipboard

Fix routing issue

Open FriedrichWu opened this issue 10 months ago • 1 comments

These changes concentrate on the SRAM

Main features

  • Allows reroute based in the original routing algorithms (iterative apporach)
  • Introduce io_pin_placer for single-bank-SRAM routing (constructive apporach)

Fixed bugs

  • Routing errors when generating SRAM macros
  • Illegal overlap of tracks added by the channel router with the address dffs (dual ported) and w_en wire / data dffs

Shortcuts of 2 approaches

Iterative approach

  • Channel router changes to M2 stack
  • Rip-up & route like structure

Constructive approach

  • Channel router changes to M2 stack
  • IO pins placed in a constructive way
  • Provides bigger pin pads
  • Corresponding supply_placer, providing a routing result like the official SKY130 SRAM macros in the SKY130 PDK

Back-ups

Since there are a lot of changes, in case that the merge is not been approved, here's just a note to the issue #236. The reason that the routing will fail in this case is because the track added by the channel router "dive" into the dffs area, which makes the supply router not be able to do the routing due to the track already overlaps the vdd pins at dffs. To address this, just make sure the first track added by the channel router higher than the dff area (for channel at bottom), which could refer to the changes in this request.

FriedrichWu avatar Feb 12 '25 09:02 FriedrichWu