Skip to content

Allow auto taper to be disabled per net #9995

@mole99

Description

@mole99

Description

I have used NDR to route some analog traces on HeiChips.
They go directly from the user projects to the analog pads. Using NDRs enabled me to increase their width (and use dual-cut vias, which I know aren't really supported by DRT yet, but it's DRC and LVS clean).

However, to ensure that the traces wouldn't be reduced to their minimum width when connecting to the pins, I had to disable auto taper globally for all nets and recompile OpenROAD.

diff --git a/src/drt/src/global.h b/src/drt/src/global.h
index fbc5f64b4b..7706ed1d5a 100644
--- a/src/drt/src/global.h
+++ b/src/drt/src/global.h
@@ -72,7 +72,7 @@ struct RouterConfiguration
   int NDR_NETS_RIPUP_HARDINESS = 3;  // max ripup avoids
   int CLOCK_NETS_TRUNK_RIPUP_HARDINESS = 100;
   int CLOCK_NETS_LEAF_RIPUP_HARDINESS = 10;
-  bool AUTO_TAPER_NDR_NETS = true;
+  bool AUTO_TAPER_NDR_NETS = false;
   int TAPERBOX_RADIUS = 3;
   int NDR_NETS_ABS_PRIORITY = 2;
   int CLOCK_NETS_ABS_PRIORITY = 4;

Suggested Solution

It would be great if it were possible to disable auto taper per net, as this would enable me to disable it only for the analog nets.
Please let me know if you require a test case.

Additional Context

No response

Metadata

Metadata

Assignees

Labels

drtDetailed Routing

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions