StanfordAHA/garnet

Tapeout: Constraint not on manufacturing grid

steveri opened this issue · 0 comments

This issue has been solved already, but I am filing (and immediately closing) it here anyway so we'll have a record of what happened and how it was fixed.

Problem was this error in floorplanning as seen in e.g. buildkite job 392
https://buildkite.com/tapeout-aha/top/builds/392#cccea50b-3e91-4774-ab6d-c00ef56e5994

  > grep ERROR innovus.log
  >   innovus.log:**ERROR: (IMPFP-3967): Module
  >   core_cgra_subsystem/GlobalController_32_32_inst0 Constraint is not on
  >   manufacturing grid (UR-2021.2580 1776.9925)....

The solution was to ask the planner to snap all corners of the block. Before (in floorplan.tcl):

  set cgra_subsys [get_cells -hier core_cgra_subsystem]
  create_guide -area [expr $grid_llx - $margin] $core_to_edge ...
  set gc [get_cells -hier *GlobalController*]
  create_guide -area $gc_llx $grid_ury $gc_urx $gc_ury -name $gc_name
  ...

After:

  set_preference SnapAllCorners 1
  set cgra_subsys [get_cells -hier core_cgra_subsystem]
  create_guide -area [expr $grid_llx - $margin] $core_to_edge ...
  set gc [get_cells -hier *GlobalController*]
  create_guide -area $gc_llx $grid_ury $gc_urx $gc_ury -name $gc_name
  ...

For complete change see commit 1c49ee3