Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix routing issue #260

Open
wants to merge 27 commits into
base: dev
Choose a base branch
from
Open

Fix routing issue #260

wants to merge 27 commits into from

Conversation

FriedrichWu
Copy link

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.

@mguthaus
Copy link
Collaborator

Thanks for the PR! We will look at this very soon.

@mguthaus mguthaus requested a review from jcirimel February 19, 2025 18:24
@mguthaus mguthaus self-assigned this Feb 19, 2025
@mguthaus mguthaus assigned jcirimel and unassigned mguthaus Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants