{
 "rule": "studies/compare/PROBLEM.md, 2026-11-10 11:20",
 "shape": {
  "rows_per_cycle": 16,
  "columns_per_row": 16,
  "peak_mac_per_cycle": 256
 },
 "builds": {
  "c": {
   "design": "cv_gemv_r15c_p16t16",
   "pair_reg": 0
  },
  "o": {
   "design": "cv_gemv_r15o_p16t16",
   "pair_reg": 2
  },
  "r": {
   "design": "cv_gemv_r15r_p16t16",
   "pair_reg": 1
  }
 },
 "order": [
  "c",
  "o",
  "r"
 ],
 "comparators_from": "size256.json",
 "comparators": [
  "vta16",
  "vta16_official",
  "vta16_tuned",
  "vta16_official_tuned",
  "vta16_csa",
  "vta16_official_csa",
  "tpu16",
  "opengemm16",
  "gemmini16",
  "w8a8_p32"
 ],
 "r14_rows": {
  "nangate45": "cv_gemv_r14c_p32",
  "asap7": "cv_gemv_r14r_p32",
  "sky130hd": "cv_gemv_r14c_p32",
  "gf180": "cv_gemv_r14r_p32",
  "ihp-sg13g2": "cv_gemv_r14c_p32"
 },
 "useful_macs_per_token": 4358144,
 "rows": [
  {
   "platform": "asap7",
   "design": "cv_gemv_r15c_p16t16",
   "variant": "c",
   "pair_reg": 0,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": false,
   "setup_worst_slack_ns": -0.108069,
   "min_period_ns": 1.1080699999999999,
   "clock_used_mhz": 902.4700605557412,
   "cell_area_um2": 7637.75,
   "route_drc_violations": 0,
   "cycles_per_token": 17416,
   "reads_per_token": 17024,
   "utilization": 0.977491961414791,
   "M1_gmac_s_per_mm2": 29567.902953141136,
   "M2_pj_per_useful_mac": 0.12736627450813925,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 31.8673,
   "core_utilization_used": 50,
   "core_utilization_config": 50,
   "timing_repair_buffers": 12877,
   "timing_repair_buffer_area_um2": 1202.49,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "eeb1b4d3b9467e615ac96cc3234d11a16df929650037b230deda67bd199c4ec7",
   "machine": "AWS instance 1",
   "netlist_sha256": "d3fffc4a51b0144e3809fe2f475a225cfea82890226aa3f1f84655265e5e40d8",
   "evidence": "lanes256/asap7-cv_gemv_r15c_p16t16",
   "chosen": false
  },
  {
   "platform": "asap7",
   "design": "cv_gemv_r15o_p16t16",
   "variant": "o",
   "pair_reg": 2,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 0.056929099999999996,
   "min_period_ns": 0.9430700000000001,
   "clock_used_mhz": 1000.0,
   "cell_area_um2": 7499.38,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 33260.869223308786,
   "M2_pj_per_useful_mac": 0.1277114793854907,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 31.85127,
   "core_utilization_used": 50,
   "core_utilization_config": 50,
   "timing_repair_buffers": 8405,
   "timing_repair_buffer_area_um2": 745.344,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 1",
   "netlist_sha256": "af80df4ae6081f3f465e7739de12f9313f5ed5037d88e71201fdd50daa78102b",
   "evidence": "lanes256/asap7-cv_gemv_r15o_p16t16",
   "chosen": true
  },
  {
   "platform": "asap7",
   "design": "cv_gemv_r15r_p16t16",
   "variant": "r",
   "pair_reg": 1,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 0.14650899999999997,
   "min_period_ns": 0.85349,
   "clock_used_mhz": 1000.0,
   "cell_area_um2": 7709.31,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 32355.152074037418,
   "M2_pj_per_useful_mac": 0.13784711632979546,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 34.3791,
   "core_utilization_used": 50,
   "core_utilization_config": 50,
   "timing_repair_buffers": 6603,
   "timing_repair_buffer_area_um2": 524.443,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 1",
   "netlist_sha256": "6b8a2f62a38af981e9d727dc6557ce8f1d301fdaf90dc72b078bb3bcb0687cef",
   "evidence": "lanes256/asap7-cv_gemv_r15r_p16t16",
   "chosen": false
  },
  {
   "platform": "gf180",
   "design": "cv_gemv_r15c_p16t16",
   "variant": "c",
   "pair_reg": 0,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": false,
   "setup_worst_slack_ns": -5.9352,
   "min_period_ns": 13.94,
   "clock_used_mhz": 71.73601147776183,
   "cell_area_um2": 2408910.0,
   "route_drc_violations": 0,
   "cycles_per_token": 17416,
   "reads_per_token": 17024,
   "utilization": 0.977491961414791,
   "M1_gmac_s_per_mm2": 7.451947930079859,
   "M2_pj_per_useful_mac": 96.11701523217224,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 3006.084,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 9521,
   "timing_repair_buffer_area_um2": 414879,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "eeb1b4d3b9467e615ac96cc3234d11a16df929650037b230deda67bd199c4ec7",
   "machine": "AWS instance 1",
   "netlist_sha256": "ea5fd18e5deb2d3f0f11df0f9d8c1f7610814ee9dff78257386b5c704fd43dd6",
   "evidence": "lanes256/gf180-cv_gemv_r15c_p16t16",
   "chosen": false
  },
  {
   "platform": "gf180",
   "design": "cv_gemv_r15o_p16t16",
   "variant": "o",
   "pair_reg": 2,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": false,
   "setup_worst_slack_ns": -2.7456,
   "min_period_ns": 10.75,
   "clock_used_mhz": 93.02325581395348,
   "cell_area_um2": 2515690.0,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 9.223449350421774,
   "M2_pj_per_useful_mac": 102.03311305454798,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 3180.8849999999998,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 8727,
   "timing_repair_buffer_area_um2": 394038,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 1",
   "netlist_sha256": "ca9489c846acaa07807a7be77a0533f2195907d5334b99bcdde3c8cdd80f8c26",
   "evidence": "lanes256/gf180-cv_gemv_r15o_p16t16",
   "chosen": false
  },
  {
   "platform": "gf180",
   "design": "cv_gemv_r15r_p16t16",
   "variant": "r",
   "pair_reg": 1,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": false,
   "setup_worst_slack_ns": -0.992155,
   "min_period_ns": 8.99,
   "clock_used_mhz": 111.23470522803115,
   "cell_area_um2": 2530750.0,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 10.963520112445506,
   "M2_pj_per_useful_mac": 107.70813630389449,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 3357.8039999999996,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 7650,
   "timing_repair_buffer_area_um2": 339145,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 1",
   "netlist_sha256": "007863eb2b1403e1986fe1585b04c90d93c715c9897e712c0e8547e94f65ac34",
   "evidence": "lanes256/gf180-cv_gemv_r15r_p16t16",
   "chosen": true
  },
  {
   "platform": "ihp-sg13g2",
   "design": "cv_gemv_r15c_p16t16",
   "variant": "c",
   "pair_reg": 0,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 0.738888,
   "min_period_ns": 7.26,
   "clock_used_mhz": 125.0,
   "cell_area_um2": 979990,
   "route_drc_violations": 0,
   "cycles_per_token": 17416,
   "reads_per_token": 17024,
   "utilization": 0.977491961414791,
   "M1_gmac_s_per_mm2": 31.918430560794814,
   "M2_pj_per_useful_mac": 3.099054034836848,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 96.9237,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 8802,
   "timing_repair_buffer_area_um2": 71714.2,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "eeb1b4d3b9467e615ac96cc3234d11a16df929650037b230deda67bd199c4ec7",
   "machine": "AWS instance 2",
   "netlist_sha256": "83ae94c9ea62407881ecff330c6b2185ae6e5754714c78b141156eb483c21c22",
   "evidence": "lanes256/ihp-sg13g2-cv_gemv_r15c_p16t16",
   "chosen": true
  },
  {
   "platform": "ihp-sg13g2",
   "design": "cv_gemv_r15o_p16t16",
   "variant": "o",
   "pair_reg": 2,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 1.79116,
   "min_period_ns": 6.21,
   "clock_used_mhz": 125.0,
   "cell_area_um2": 1015950.0,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 30.68998196711175,
   "M2_pj_per_useful_mac": 3.311368479793233,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 103.232,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 8344,
   "timing_repair_buffer_area_um2": 65971.6,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 2",
   "netlist_sha256": "d44fa0404d991053ee6fa26600f2cc858dcdc823d87636a2bc694d4bf333d628",
   "evidence": "lanes256/ihp-sg13g2-cv_gemv_r15o_p16t16",
   "chosen": false
  },
  {
   "platform": "ihp-sg13g2",
   "design": "cv_gemv_r15r_p16t16",
   "variant": "r",
   "pair_reg": 1,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 1.94941,
   "min_period_ns": 6.05,
   "clock_used_mhz": 125.0,
   "cell_area_um2": 1034530.0,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 30.138794601884122,
   "M2_pj_per_useful_mac": 3.8829798629875474,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 121.052,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 9930,
   "timing_repair_buffer_area_um2": 104313,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 2",
   "netlist_sha256": "e78a22e8b60ebb5996ceccd0649d0be7f67b7bc9e2c4dcc2880de54235598534",
   "evidence": "lanes256/ihp-sg13g2-cv_gemv_r15r_p16t16",
   "chosen": false
  },
  {
   "platform": "nangate45",
   "design": "cv_gemv_r15c_p16t16",
   "variant": "c",
   "pair_reg": 0,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 1.92839,
   "min_period_ns": 2.07,
   "clock_used_mhz": 250.0,
   "cell_area_um2": 85312.9,
   "route_drc_violations": 0,
   "cycles_per_token": 17416,
   "reads_per_token": 17024,
   "utilization": 0.977491961414791,
   "M1_gmac_s_per_mm2": 733.2945607352068,
   "M2_pj_per_useful_mac": 0.6479744477511528,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 40.53113,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 3312,
   "timing_repair_buffer_area_um2": 2939.3,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "eeb1b4d3b9467e615ac96cc3234d11a16df929650037b230deda67bd199c4ec7",
   "machine": "AWS instance 2",
   "netlist_sha256": "bd6885245c7c09bd2bb08b436df9fb6e7e1502f73a676a3626c0f8ae73abe558",
   "evidence": "lanes256/nangate45-cv_gemv_r15c_p16t16",
   "chosen": true
  },
  {
   "platform": "nangate45",
   "design": "cv_gemv_r15o_p16t16",
   "variant": "o",
   "pair_reg": 2,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 2.29214,
   "min_period_ns": 1.71,
   "clock_used_mhz": 250.0,
   "cell_area_um2": 90002.4,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 692.8590166370492,
   "M2_pj_per_useful_mac": 0.6876691836203668,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 42.87621,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 3686,
   "timing_repair_buffer_area_um2": 3232.96,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 2",
   "netlist_sha256": "23cac29d615aa3b496399e6243a45b6e157ff87a92613a9b57db991e0d285ba8",
   "evidence": "lanes256/nangate45-cv_gemv_r15o_p16t16",
   "chosen": false
  },
  {
   "platform": "nangate45",
   "design": "cv_gemv_r15r_p16t16",
   "variant": "r",
   "pair_reg": 1,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 2.35771,
   "min_period_ns": 1.64,
   "clock_used_mhz": 250.0,
   "cell_area_um2": 96544.4,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 645.9098027329846,
   "M2_pj_per_useful_mac": 0.7601231718272733,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 47.39372,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 4435,
   "timing_repair_buffer_area_um2": 3857.8,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 2",
   "netlist_sha256": "603880e15333aa83863c39ac8a7a4af118476cc2ec30368d1c85e181007ab9db",
   "evidence": "lanes256/nangate45-cv_gemv_r15r_p16t16",
   "chosen": false
  },
  {
   "platform": "sky130hd",
   "design": "cv_gemv_r15c_p16t16",
   "variant": "c",
   "pair_reg": 0,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": false,
   "setup_worst_slack_ns": -0.230872,
   "min_period_ns": 8.23,
   "clock_used_mhz": 121.5066828675577,
   "cell_area_um2": 518068,
   "route_drc_violations": 0,
   "cycles_per_token": 17416,
   "reads_per_token": 17024,
   "utilization": 0.977491961414791,
   "M1_gmac_s_per_mm2": 58.69033075748893,
   "M2_pj_per_useful_mac": 4.0019915653085345,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 125.1633,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 10411,
   "timing_repair_buffer_area_um2": 89619.7,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "eeb1b4d3b9467e615ac96cc3234d11a16df929650037b230deda67bd199c4ec7",
   "machine": "AWS instance 2",
   "netlist_sha256": "b31566736afe052ddff6059c4080787b35bfbb74524e4446a573335474208ec1",
   "evidence": "lanes256/sky130hd-cv_gemv_r15c_p16t16",
   "chosen": false
  },
  {
   "platform": "sky130hd",
   "design": "cv_gemv_r15o_p16t16",
   "variant": "o",
   "pair_reg": 2,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 0.674424,
   "min_period_ns": 7.33,
   "clock_used_mhz": 125.0,
   "cell_area_um2": 485213,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 64.25938130158751,
   "M2_pj_per_useful_mac": 3.708494044804394,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 115.61240000000001,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 4891,
   "timing_repair_buffer_area_um2": 32819,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 2",
   "netlist_sha256": "eac6efff50fe42be7da62d58d79b8f827c059775df683b049fc7970f485eff9f",
   "evidence": "lanes256/sky130hd-cv_gemv_r15o_p16t16",
   "chosen": true
  },
  {
   "platform": "sky130hd",
   "design": "cv_gemv_r15r_p16t16",
   "variant": "r",
   "pair_reg": 1,
   "rows_per_cycle": 16,
   "columns_per_row": 16,
   "peak_mac_per_cycle": 256,
   "replay": "PASS",
   "met_target": true,
   "setup_worst_slack_ns": 1.62087,
   "min_period_ns": 6.38,
   "clock_used_mhz": 125.0,
   "cell_area_um2": 512704,
   "route_drc_violations": 0,
   "cycles_per_token": 17472,
   "reads_per_token": 17024,
   "utilization": 0.9743589743589743,
   "M1_gmac_s_per_mm2": 60.813816899199495,
   "M2_pj_per_useful_mac": 4.2549570932947605,
   "M3_bits_per_useful_mac": 4.875,
   "workload_power_mw": 132.6484,
   "core_utilization_used": 45,
   "core_utilization_config": 45,
   "timing_repair_buffers": 3503,
   "timing_repair_buffer_area_um2": 20793.7,
   "hold_repair_off": false,
   "make_setting": "",
   "first_attempts": [],
   "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
   "machine": "AWS instance 2",
   "netlist_sha256": "01f0202c25b2e3db74e209b103cd35b1763acd500a849c777b7970e276197f6b",
   "evidence": "lanes256/sky130hd-cv_gemv_r15r_p16t16",
   "chosen": false
  }
 ],
 "by_process": {
  "nangate45": {
   "chosen": "cv_gemv_r15c_p16t16",
   "chosen_build": "c",
   "basis": "the first of c, o, r that meets the target clock with route DRC 0",
   "timing": {
    "cv_gemv_r15c_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 1.92839,
     "min_period_ns": 2.07,
     "route_drc_violations": 0
    },
    "cv_gemv_r15o_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 2.29214,
     "min_period_ns": 1.71,
     "route_drc_violations": 0
    },
    "cv_gemv_r15r_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 2.35771,
     "min_period_ns": 1.64,
     "route_drc_violations": 0
    }
   },
   "reversed_or_tied": [],
   "comparators_present": [
    "vta16",
    "vta16_official",
    "vta16_tuned",
    "vta16_official_tuned",
    "vta16_csa",
    "vta16_official_csa",
    "tpu16",
    "opengemm16",
    "gemmini16",
    "w8a8_p32"
   ],
   "M1": {
    "subject": 733.2945607352068,
    "best": 577.8650318956902,
    "best_row": "vta16_official",
    "margin": 0.26897202678907384,
    "r14": 649.0708570364492,
    "r14_margin": 0.12322224258347614,
    "over_r14": 1.1297604148849159
   },
   "M2": {
    "subject": 0.6479744477511528,
    "best": 0.6764021082354553,
    "best_row": "vta16_official",
    "margin": -0.04202775263143754,
    "r14": 0.7040676018690525,
    "r14_margin": 0.04090095713298214,
    "over_r14": 0.9203298746185848
   },
   "M3": {
    "subject": 4.875,
    "best": 5.5,
    "best_row": "vta16",
    "margin": -0.11363636363636365,
    "r14": 4.625,
    "r14_margin": -0.15909090909090906,
    "over_r14": 1.054054054054054
   },
   "over_r14": {
    "cell_area_um2": 0.8780281214686068,
    "cycles_per_token": 1.0081037277147489,
    "workload_power_mw": 0.9129327863247247
   },
   "gates": {
    "replays": 3,
    "replay_fail": [],
    "missed_target": {},
    "route_drc": {},
    "utilization_lowered": {},
    "hold_repair_off": [],
    "failed": {}
   }
  },
  "asap7": {
   "chosen": "cv_gemv_r15o_p16t16",
   "chosen_build": "o",
   "basis": "the first of c, o, r that meets the target clock with route DRC 0",
   "timing": {
    "cv_gemv_r15c_p16t16": {
     "met_target": false,
     "setup_worst_slack_ns": -0.108069,
     "min_period_ns": 1.1080699999999999,
     "route_drc_violations": 0
    },
    "cv_gemv_r15o_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 0.056929099999999996,
     "min_period_ns": 0.9430700000000001,
     "route_drc_violations": 0
    },
    "cv_gemv_r15r_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 0.14650899999999997,
     "min_period_ns": 0.85349,
     "route_drc_violations": 0
    }
   },
   "reversed_or_tied": [
    {
     "metric": "M2",
     "margin": 0.04289245433651545,
     "best_row": "vta16_official"
    }
   ],
   "comparators_present": [
    "vta16",
    "vta16_official",
    "vta16_tuned",
    "vta16_official_tuned",
    "vta16_csa",
    "vta16_official_csa",
    "tpu16",
    "opengemm16",
    "gemmini16",
    "w8a8_p32"
   ],
   "M1": {
    "subject": 33260.869223308786,
    "best": 30416.247423293138,
    "best_row": "vta16_official",
    "margin": 0.09352310166431654,
    "r14": 28027.808308043248,
    "r14_margin": -0.0785251080454058,
    "over_r14": 1.186709601327043
   },
   "M2": {
    "subject": 0.1277114793854907,
    "best": 0.12245891592603411,
    "best_row": "vta16_official",
    "margin": 0.04289245433651545,
    "r14": 0.1542395017397314,
    "r14_margin": 0.25952039158090323,
    "over_r14": 0.8280075982156315
   },
   "M3": {
    "subject": 4.875,
    "best": 5.5,
    "best_row": "vta16",
    "margin": -0.11363636363636365,
    "r14": 4.625,
    "r14_margin": -0.15909090909090906,
    "over_r14": 1.054054054054054
   },
   "over_r14": {
    "cell_area_um2": 0.8345635817533739,
    "cycles_per_token": 1.0097087378640777,
    "workload_power_mw": 0.8200471257271353
   },
   "gates": {
    "replays": 3,
    "replay_fail": [],
    "missed_target": {
     "cv_gemv_r15c_p16t16": -0.1081
    },
    "route_drc": {},
    "utilization_lowered": {},
    "hold_repair_off": [],
    "failed": {}
   }
  },
  "sky130hd": {
   "chosen": "cv_gemv_r15o_p16t16",
   "chosen_build": "o",
   "basis": "the first of c, o, r that meets the target clock with route DRC 0",
   "timing": {
    "cv_gemv_r15c_p16t16": {
     "met_target": false,
     "setup_worst_slack_ns": -0.230872,
     "min_period_ns": 8.23,
     "route_drc_violations": 0
    },
    "cv_gemv_r15o_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 0.674424,
     "min_period_ns": 7.33,
     "route_drc_violations": 0
    },
    "cv_gemv_r15r_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 1.62087,
     "min_period_ns": 6.38,
     "route_drc_violations": 0
    }
   },
   "reversed_or_tied": [],
   "comparators_present": [
    "vta16",
    "vta16_official",
    "vta16_tuned",
    "vta16_official_tuned",
    "vta16_csa",
    "vta16_official_csa",
    "tpu16",
    "opengemm16",
    "gemmini16",
    "w8a8_p32"
   ],
   "M1": {
    "subject": 64.25938130158751,
    "best": 54.409781431843584,
    "best_row": "vta16_official_csa",
    "margin": 0.18102627157365125,
    "r14": 54.90341136544639,
    "r14_margin": 0.009072448383589782,
    "over_r14": 1.1704078071554826
   },
   "M2": {
    "subject": 3.708494044804394,
    "best": 3.8085090042144083,
    "best_row": "vta16_official_csa",
    "margin": -0.026260922397541964,
    "r14": 4.2992118285215,
    "r14_margin": 0.1288438136194745,
    "over_r14": 0.8625985861412523
   },
   "M3": {
    "subject": 4.875,
    "best": 5.5,
    "best_row": "vta16",
    "margin": -0.11363636363636365,
    "r14": 4.625,
    "r14_margin": -0.15909090909090906,
    "over_r14": 1.054054054054054
   },
   "over_r14": {
    "cell_area_um2": 0.8448184002507225,
    "cycles_per_token": 1.0113452188006482,
    "workload_power_mw": 0.8529233838245232
   },
   "gates": {
    "replays": 3,
    "replay_fail": [],
    "missed_target": {
     "cv_gemv_r15c_p16t16": -0.2309
    },
    "route_drc": {},
    "utilization_lowered": {},
    "hold_repair_off": [],
    "failed": {}
   }
  },
  "gf180": {
   "chosen": "cv_gemv_r15r_p16t16",
   "chosen_build": "r",
   "basis": "no build meets the target clock with route DRC 0: the shortest minimum period",
   "timing": {
    "cv_gemv_r15c_p16t16": {
     "met_target": false,
     "setup_worst_slack_ns": -5.9352,
     "min_period_ns": 13.94,
     "route_drc_violations": 0
    },
    "cv_gemv_r15o_p16t16": {
     "met_target": false,
     "setup_worst_slack_ns": -2.7456,
     "min_period_ns": 10.75,
     "route_drc_violations": 0
    },
    "cv_gemv_r15r_p16t16": {
     "met_target": false,
     "setup_worst_slack_ns": -0.992155,
     "min_period_ns": 8.99,
     "route_drc_violations": 0
    }
   },
   "reversed_or_tied": [
    {
     "metric": "M2",
     "margin": 0.21344580193076923,
     "best_row": "vta16_official"
    }
   ],
   "comparators_present": [
    "vta16",
    "vta16_official",
    "vta16_tuned",
    "vta16_official_tuned",
    "vta16_csa",
    "vta16_official_csa",
    "tpu16",
    "opengemm16",
    "gemmini16",
    "w8a8_p32"
   ],
   "M1": {
    "subject": 10.963520112445506,
    "best": 8.057359889775906,
    "best_row": "vta16_official",
    "margin": 0.3606839290320476,
    "r14": 10.651258015061956,
    "r14_margin": 0.32192903888747515,
    "over_r14": 1.029316921714034
   },
   "M2": {
    "subject": 107.70813630389449,
    "best": 88.76221429297884,
    "best_row": "vta16_official",
    "margin": 0.21344580193076923,
    "r14": 111.54224270148026,
    "r14_margin": 0.2566410559938379,
    "over_r14": 0.96562641825441
   },
   "M3": {
    "subject": 4.875,
    "best": 5.5,
    "best_row": "vta16",
    "margin": -0.11363636363636365,
    "r14": 4.625,
    "r14_margin": -0.15909090909090906,
    "over_r14": 1.054054054054054
   },
   "over_r14": {
    "cell_area_um2": 0.9001006533576609,
    "cycles_per_token": 1.0097087378640777,
    "workload_power_mw": 0.9563428771936219
   },
   "gates": {
    "replays": 3,
    "replay_fail": [],
    "missed_target": {
     "cv_gemv_r15c_p16t16": -5.9352,
     "cv_gemv_r15o_p16t16": -2.7456,
     "cv_gemv_r15r_p16t16": -0.9922
    },
    "route_drc": {},
    "utilization_lowered": {},
    "hold_repair_off": [],
    "failed": {}
   }
  },
  "ihp-sg13g2": {
   "chosen": "cv_gemv_r15c_p16t16",
   "chosen_build": "c",
   "basis": "the first of c, o, r that meets the target clock with route DRC 0",
   "timing": {
    "cv_gemv_r15c_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 0.738888,
     "min_period_ns": 7.26,
     "route_drc_violations": 0
    },
    "cv_gemv_r15o_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 1.79116,
     "min_period_ns": 6.21,
     "route_drc_violations": 0
    },
    "cv_gemv_r15r_p16t16": {
     "met_target": true,
     "setup_worst_slack_ns": 1.94941,
     "min_period_ns": 6.05,
     "route_drc_violations": 0
    }
   },
   "reversed_or_tied": [],
   "comparators_present": [
    "vta16",
    "vta16_official",
    "vta16_tuned",
    "vta16_official_tuned",
    "vta16_csa",
    "vta16_official_csa",
    "tpu16",
    "opengemm16",
    "gemmini16",
    "w8a8_p32"
   ],
   "M1": {
    "subject": 31.918430560794814,
    "best": 27.662805528701895,
    "best_row": "vta16_csa",
    "margin": 0.15383924192639964,
    "r14": 29.211766221970482,
    "r14_margin": 0.05599434560827321,
    "over_r14": 1.092656647949915
   },
   "M2": {
    "subject": 3.099054034836848,
    "best": 3.564057013663844,
    "best_row": "vta16_official_csa",
    "margin": -0.1304701291377418,
    "r14": 3.4982834742495887,
    "r14_margin": -0.018454682167567293,
    "over_r14": 0.8858784765867554
   },
   "M3": {
    "subject": 4.875,
    "best": 5.5,
    "best_row": "vta16",
    "margin": -0.11363636363636365,
    "r14": 4.625,
    "r14_margin": -0.15909090909090906,
    "over_r14": 1.054054054054054
   },
   "over_r14": {
    "cell_area_um2": 0.9078436640203063,
    "cycles_per_token": 1.0081037277147489,
    "workload_power_mw": 0.8787582890435028
   },
   "gates": {
    "replays": 3,
    "replay_fail": [],
    "missed_target": {},
    "route_drc": {},
    "utilization_lowered": {},
    "hold_repair_off": [],
    "failed": {}
   }
  }
 },
 "missing_or_failed": {},
 "checks": {
  "rtl": [
   {
    "rows_per_cycle": 8,
    "columns_per_row": 8,
    "pair_reg": 0,
    "cycles_per_token": 69104,
    "mismatches": 0,
    "passed": true,
    "published_row": "nangate45-cv_gemv_r14c_p8",
    "equal_to_published": true
   },
   {
    "rows_per_cycle": 32,
    "columns_per_row": 8,
    "pair_reg": 0,
    "cycles_per_token": 17276,
    "mismatches": 0,
    "passed": true,
    "published_row": "size256/nangate45-cv_gemv_r14c_p32",
    "equal_to_published": true
   },
   {
    "rows_per_cycle": 32,
    "columns_per_row": 8,
    "pair_reg": 1,
    "cycles_per_token": 17304,
    "mismatches": 0,
    "passed": true,
    "published_row": "size256/asap7-cv_gemv_r14r_p32",
    "equal_to_published": true
   },
   {
    "rows_per_cycle": 16,
    "columns_per_row": 16,
    "pair_reg": 0,
    "cycles_per_token": 17416,
    "mismatches": 0,
    "passed": true
   },
   {
    "rows_per_cycle": 16,
    "columns_per_row": 16,
    "pair_reg": 2,
    "cycles_per_token": 17472,
    "mismatches": 0,
    "passed": true
   },
   {
    "rows_per_cycle": 16,
    "columns_per_row": 16,
    "pair_reg": 1,
    "cycles_per_token": 17472,
    "mismatches": 0,
    "passed": true
   }
  ],
  "images_sha256": {
   "weights.hex": "807868ce3a9ade2ce3f008b01dfadea0992da54865cdd5363bd480aac4810669",
   "meta.hex": "81e48f35c8f5498bade784392080bf2ff9cf9ec6d71b66285488576d6df28a57",
   "query.hex": "490295e2bc79c51a9a8f3e4e2aa34d3e6c27a887716110dc1c42691d91381dd4",
   "expected.hex": "6d232cc8fb89a91263e3fc5c19a64a5c92e5b4d6858ad2384eb61b499c236158"
  },
  "expected_equal_to_published_256_mac_row": true,
  "check_passed": true
 },
 "reproduction": {
  "rule": "studies/compare/PROBLEM.md, 2026-11-10 11:20 (fields: 2026-11-08 17:49, part 1)",
  "runs": [
   "ext4rep-a",
   "ext4rep-b"
  ],
  "fields_compared": [
   "netlist_sha256",
   "cell_area_um2",
   "setup_worst_slack_ns",
   "route_drc_violations",
   "cycles_per_token",
   "result_lines_sha256",
   "workload_power_mw",
   "replay",
   "make_setting"
  ],
  "rows_reproduced": 5,
  "rows_identical": 5,
  "rows_on_the_other_instance": 5,
  "rows_missing": [],
  "differences": [],
  "rows": [
   {
    "row": "asap7-cv_gemv_r15o_p16t16",
    "first_machine": "AWS instance 1",
    "second_run": "ext4rep-b",
    "second_machine": "AWS instance 2",
    "other_instance": true,
    "second": {
     "netlist_sha256": "af80df4ae6081f3f465e7739de12f9313f5ed5037d88e71201fdd50daa78102b",
     "cell_area_um2": 7499.38,
     "setup_worst_slack_ns": 0.056929099999999996,
     "route_drc_violations": 0,
     "cycles_per_token": 17472,
     "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
     "workload_power_mw": 31.85127,
     "replay": "PASS",
     "make_setting": ""
    }
   },
   {
    "row": "gf180-cv_gemv_r15r_p16t16",
    "first_machine": "AWS instance 1",
    "second_run": "ext4rep-b",
    "second_machine": "AWS instance 2",
    "other_instance": true,
    "second": {
     "netlist_sha256": "007863eb2b1403e1986fe1585b04c90d93c715c9897e712c0e8547e94f65ac34",
     "cell_area_um2": 2530750.0,
     "setup_worst_slack_ns": -0.992155,
     "route_drc_violations": 0,
     "cycles_per_token": 17472,
     "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
     "workload_power_mw": 3357.8039999999996,
     "replay": "PASS",
     "make_setting": ""
    }
   },
   {
    "row": "ihp-sg13g2-cv_gemv_r15c_p16t16",
    "first_machine": "AWS instance 2",
    "second_run": "ext4rep-a",
    "second_machine": "AWS instance 1",
    "other_instance": true,
    "second": {
     "netlist_sha256": "83ae94c9ea62407881ecff330c6b2185ae6e5754714c78b141156eb483c21c22",
     "cell_area_um2": 979990,
     "setup_worst_slack_ns": 0.738888,
     "route_drc_violations": 0,
     "cycles_per_token": 17416,
     "result_lines_sha256": "eeb1b4d3b9467e615ac96cc3234d11a16df929650037b230deda67bd199c4ec7",
     "workload_power_mw": 96.9237,
     "replay": "PASS",
     "make_setting": ""
    }
   },
   {
    "row": "nangate45-cv_gemv_r15c_p16t16",
    "first_machine": "AWS instance 2",
    "second_run": "ext4rep-a",
    "second_machine": "AWS instance 1",
    "other_instance": true,
    "second": {
     "netlist_sha256": "bd6885245c7c09bd2bb08b436df9fb6e7e1502f73a676a3626c0f8ae73abe558",
     "cell_area_um2": 85312.9,
     "setup_worst_slack_ns": 1.92839,
     "route_drc_violations": 0,
     "cycles_per_token": 17416,
     "result_lines_sha256": "eeb1b4d3b9467e615ac96cc3234d11a16df929650037b230deda67bd199c4ec7",
     "workload_power_mw": 40.53113,
     "replay": "PASS",
     "make_setting": ""
    }
   },
   {
    "row": "sky130hd-cv_gemv_r15o_p16t16",
    "first_machine": "AWS instance 2",
    "second_run": "ext4rep-a",
    "second_machine": "AWS instance 1",
    "other_instance": true,
    "second": {
     "netlist_sha256": "eac6efff50fe42be7da62d58d79b8f827c059775df683b049fc7970f485eff9f",
     "cell_area_um2": 485213,
     "setup_worst_slack_ns": 0.674424,
     "route_drc_violations": 0,
     "cycles_per_token": 17472,
     "result_lines_sha256": "8895537e1edf91f9594b960da5df0d50841ed2192cc725295be8f6ccda8dbbc5",
     "workload_power_mw": 115.61240000000001,
     "replay": "PASS",
     "make_setting": ""
    }
   }
  ]
 }
}