The-OpenROAD-Project / bazel-orfs

BSD 3-Clause "New" or "Revised" License
5 stars 5 forks source link

--output_groups=Foo.lef is wrong for mocked artifacts #245

Open oharboe opened 3 hours ago

oharboe commented 3 hours ago

Below the unmocked .lef file instead of the mocked .lef file is in the--output_group=lb_32x128.lef of lb_32x128_generate_abstract

orfs_flow(
    name = "lb_32x128",
    arguments = LB_ARGS,
    mock_area = 0.5,
    stage_sources = LB_STAGE_SOURCES,
    verilog_files = LB_VERILOG_FILES,
)
$ bazel build lb_32x128_generate_abstract
INFO: Invocation ID: 4a883030-53cf-46d2-b3ca-64cb7f520858
INFO: Analyzed target //:lb_32x128_generate_abstract (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
Target //:lb_32x128_generate_abstract up-to-date:
  bazel-bin/results/asap7/lb_32x128/mocked/lb_32x128.lef
  bazel-bin/results/asap7/lb_32x128/mocked/lb_32x128.lib
  bazel-bin/results/asap7/lb_32x128/base/6_final.gds
  bazel-bin/results/asap7/lb_32x128/base/lb_32x128.lef
  bazel-bin/results/asap7/lb_32x128/base/lb_32x128.lib
INFO: Elapsed time: 0.061s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
oyvind@corona:~/bazel-orfs$ grep SIZE $(bazel build lb_32x128_unmocked_generate_abstract --output_groups=lb_32x128.lef 2>&1 | grep lb_32x128.lef)
  CUTSIZE 0.018 0.018 ;
  CUTSIZE 0.024 0.288 ;
  SIZE 16.52 BY 31.04 ;
oyvind@corona:~/bazel-orfs$ grep SIZE $(bazel build lb_32x128_mocked_generate_abstract --output_groups=lb_32x128.lef 2>&1 | grep lb_32x128.lef)
  CUTSIZE 0.018 0.018 ;
  CUTSIZE 0.024 0.288 ;
  SIZE 8.26 BY 15.52 ;
oyvind@corona:~/bazel-orfs$ grep SIZE $(bazel build lb_32x128_generate_abstract --output_groups=lb_32x128.lef 2>&1 | grep lb_32x128.lef)
  CUTSIZE 0.018 0.018 ;
  CUTSIZE 0.024 0.288 ;
  SIZE 16.52 BY 31.04 ;
oharboe commented 2 hours ago

@jeffng-or @maliberty The wrong area seem to have been used for the mocked srams in megaboom compared to our intentions...

Mostly the macros are 3x too large (mock_area=0.33) on the side, so ~10x too large area compared to our intentions. Though the caches have been underestimated in size. Looks like data cache by 3x on the size and instruction cache by 1.2x on the size.