{
 "tool_image": "openroad/orfs@sha256:9aeafa602de8317ea294ec24b95755437546111a08e4e1bce452339401da14b2",
 "problem": "studies/compare/PROBLEM.md",
 "useful_macs_per_token": 4358144,
 "notes": [
  "Power is measured at the target clock; throughput uses the target clock when met, otherwise the design's own minimum period.",
  "Storage is excluded for every engine.",
  "Host work for the TPU mapping (group scale, row sum) is not charged to it."
 ],
 "rows": [
  {
   "platform": "nangate45",
   "design": "cv_gemv_r14c_p8",
   "name": "CV-GEMV r14, P = 8, PAIR_REG = 0",
   "source": "Corvel (r13 with the scale's Booth digits held one-hot; results identical to r1)",
   "external": false,
   "public_rtl": false,
   "math": "W4A8-G32, full (group scale and row sum in the engine)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 2.02376,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.98,
   "cell_area_um2": 25156.4,
   "cells": 14719,
   "die_area_um2": 62943.3,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 69104,
   "cycles_basis": "testbench cycle count (core's rule) + 1 (result fully presented)",
   "useful_mac_per_s": 15766612641.815237,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9854132901134521,
   "M1_gmac_s_per_mm2": 626.7435977252403,
   "M2_pj_per_useful_mac": 0.6973367071487312,
   "M3_bits_per_useful_mac": 5.375,
   "M3_basis": "read_count x (P*32 + 64) + groups x row blocks x P*12",
   "workload_power_mw": 10.994240000000001,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.98,
   "S2_cell_area_per_peak_mac_um2": 393.06875,
   "sources": {
    "metrics": "nangate45-cv_gemv_r14c_p8/6_report.json",
    "timing": "nangate45-cv_gemv_r14c_p8/6_finish.rpt",
    "power": "nangate45-cv_gemv_r14c_p8/power.log",
    "replay": "nangate45-cv_gemv_r14c_p8/sim.log",
    "lec": "nangate45-cv_gemv_r14c_p8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "cv_gemv_r14r_p8",
   "name": "CV-GEMV r14, P = 8, PAIR_REG = 1",
   "source": "Corvel (r13 with the scale's Booth digits held one-hot; results identical to r1)",
   "external": false,
   "public_rtl": false,
   "math": "W4A8-G32, full (group scale and row sum in the engine)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": 0.221295,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.77871,
   "cell_area_um2": 2282.32,
   "cells": 20624,
   "die_area_um2": 5924.07,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 69216,
   "cycles_basis": "testbench cycle count (core's rule) + 1 (result fully presented)",
   "useful_mac_per_s": 62964401294.49838,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9838187702265372,
   "M1_gmac_s_per_mm2": 27587.8935883217,
   "M2_pj_per_useful_mac": 0.15227759019401377,
   "M3_bits_per_useful_mac": 5.375,
   "M3_basis": "read_count x (P*32 + 64) + groups x row blocks x P*12",
   "workload_power_mw": 9.587721,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.77871,
   "S2_cell_area_per_peak_mac_um2": 35.66125,
   "sources": {
    "metrics": "asap7-cv_gemv_r14r_p8/6_report.json",
    "timing": "asap7-cv_gemv_r14r_p8/6_finish.rpt",
    "power": "asap7-cv_gemv_r14r_p8/power.log",
    "replay": "asap7-cv_gemv_r14r_p8/sim.log",
    "lec": "asap7-cv_gemv_r14r_p8/lec.txt"
   }
  },
  {
   "platform": "sky130hd",
   "design": "cv_gemv_r14c_p8",
   "name": "CV-GEMV r14, P = 8, PAIR_REG = 0",
   "source": "Corvel (r13 with the scale's Booth digits held one-hot; results identical to r1)",
   "external": false,
   "public_rtl": false,
   "math": "W4A8-G32, full (group scale and row sum in the engine)",
   "target_ns": 8.0,
   "setup_worst_slack_ns": 0.544572,
   "met_target": true,
   "clock_used_mhz": 125.0,
   "min_period_ns": 7.46,
   "cell_area_um2": 138821,
   "cells": 18441,
   "die_area_um2": 306650,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 69104,
   "cycles_basis": "testbench cycle count (core's rule) + 1 (result fully presented)",
   "useful_mac_per_s": 7883306320.9076185,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9854132901134521,
   "M1_gmac_s_per_mm2": 56.78756327146195,
   "M2_pj_per_useful_mac": 3.784891540013363,
   "M3_bits_per_useful_mac": 5.375,
   "M3_basis": "read_count x (P*32 + 64) + groups x row blocks x P*12",
   "workload_power_mw": 29.83638,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 7.46,
   "S2_cell_area_per_peak_mac_um2": 2169.078125,
   "sources": {
    "metrics": "sky130hd-cv_gemv_r14c_p8/6_report.json",
    "timing": "sky130hd-cv_gemv_r14c_p8/6_finish.rpt",
    "power": "sky130hd-cv_gemv_r14c_p8/power.log",
    "replay": "sky130hd-cv_gemv_r14c_p8/sim.log",
    "lec": "sky130hd-cv_gemv_r14c_p8/lec.txt"
   }
  },
  {
   "platform": "gf180",
   "design": "cv_gemv_r14r_p8",
   "name": "CV-GEMV r14, P = 8, PAIR_REG = 1",
   "source": "Corvel (r13 with the scale's Booth digits held one-hot; results identical to r1)",
   "external": false,
   "public_rtl": false,
   "math": "W4A8-G32, full (group scale and row sum in the engine)",
   "target_ns": 8.0,
   "setup_worst_slack_ns": -0.0106235,
   "met_target": false,
   "clock_used_mhz": 124.84394506866418,
   "min_period_ns": 8.01,
   "cell_area_um2": 721674,
   "cells": 16864,
   "die_area_um2": 1598200.0,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 69216,
   "cycles_basis": "testbench cycle count (core's rule) + 1 (result fully presented)",
   "useful_mac_per_s": 7860724256.491684,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9838187702265372,
   "M1_gmac_s_per_mm2": 10.892347869663704,
   "M2_pj_per_useful_mac": 111.02588037329652,
   "M3_bits_per_useful_mac": 5.375,
   "M3_basis": "read_count x (P*32 + 64) + groups x row blocks x P*12",
   "workload_power_mw": 873.8032,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 8.01,
   "S2_cell_area_per_peak_mac_um2": 11276.15625,
   "sources": {
    "metrics": "gf180-cv_gemv_r14r_p8/6_report.json",
    "timing": "gf180-cv_gemv_r14r_p8/6_finish.rpt",
    "power": "gf180-cv_gemv_r14r_p8/power.log",
    "replay": "gf180-cv_gemv_r14r_p8/sim.log",
    "lec": "gf180-cv_gemv_r14r_p8/lec.txt"
   }
  },
  {
   "platform": "ihp-sg13g2",
   "design": "cv_gemv_r14c_p8",
   "name": "CV-GEMV r14, P = 8, PAIR_REG = 0",
   "source": "Corvel (r13 with the scale's Booth digits held one-hot; results identical to r1)",
   "external": false,
   "public_rtl": false,
   "math": "W4A8-G32, full (group scale and row sum in the engine)",
   "target_ns": 8.0,
   "setup_worst_slack_ns": 1.28298,
   "met_target": true,
   "clock_used_mhz": 125.0,
   "min_period_ns": 6.72,
   "cell_area_um2": 284708,
   "cells": 24341,
   "die_area_um2": 962577,
   "route_drc_violations": 0,
   "lec_final": "vacuous: no comparable outputs",
   "replay": "PASS",
   "cycles_per_token": 69104,
   "cycles_basis": "testbench cycle count (core's rule) + 1 (result fully presented)",
   "useful_mac_per_s": 7883306320.9076185,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9854132901134521,
   "M1_gmac_s_per_mm2": 27.68909310910694,
   "M2_pj_per_useful_mac": 3.5202645696516677,
   "M3_bits_per_useful_mac": 5.375,
   "M3_basis": "read_count x (P*32 + 64) + groups x row blocks x P*12",
   "workload_power_mw": 27.75032,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 6.72,
   "S2_cell_area_per_peak_mac_um2": 4448.5625,
   "sources": {
    "metrics": "ihp-sg13g2-cv_gemv_r14c_p8/6_report.json",
    "timing": "ihp-sg13g2-cv_gemv_r14c_p8/6_finish.rpt",
    "power": "ihp-sg13g2-cv_gemv_r14c_p8/power.log",
    "replay": "ihp-sg13g2-cv_gemv_r14c_p8/sim.log",
    "lec": "ihp-sg13g2-cv_gemv_r14c_p8/lec.txt"
   }
  }
 ],
 "files_sha256": {
  "asap7-cv_gemv_r14r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-cv_gemv_r14r_p8/6_finish.rpt": "a55dff6dbd64e662d7f4f3c0c63551df3674117f43721a3bbd7e94219a993e6f",
  "asap7-cv_gemv_r14r_p8/6_report.json": "efae3744f36b58c0c663f60204b4ad57a7a005bdf0c5d47c44eae13c7260bb8c",
  "asap7-cv_gemv_r14r_p8/activity-header.txt": "c87b0cc0ad7231d5b5bdef606908d712567eee68100c26b2d39e89ccb24791e3",
  "asap7-cv_gemv_r14r_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-cv_gemv_r14r_p8/lec.txt": "771eaaa863bc44194edf8dc48d687e89d2f35a8eaca864e7d5273b1fa0eba317",
  "asap7-cv_gemv_r14r_p8/power.log": "aa4c5bec7aeca90301365b0793f886b9fd7358e09336f1d0b3ede9e77f58b8b2",
  "asap7-cv_gemv_r14r_p8/result.json": "ab1aad132cfc62b649607e11d2be7865f5fd9c5d624cb59f9a647c08f70f1ee4",
  "asap7-cv_gemv_r14r_p8/sim.log": "d53879e0dbcbf8e275e13d1ccc70b02541872996ac5f47cd93fdbedb7cb8d4ed",
  "fixtures.json": "5863a21a45d3ba3cc5d11d8679b18299adde5760d65e8f522e73c55aff8a50c5",
  "gf180-cv_gemv_r14r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "gf180-cv_gemv_r14r_p8/6_finish.rpt": "8ed432d23b01749d0007274ca2fd2992c8f4e4da62716e2f1cb7c129596fdc38",
  "gf180-cv_gemv_r14r_p8/6_report.json": "adf013a1c5c0a8250d27d4f1dc45944495ed9806a945bba8c0f32b43ec172ab0",
  "gf180-cv_gemv_r14r_p8/activity-header.txt": "f7e5e51f1c9c502bb3766f7472a82851cd3a69a8562c7bab958c3227607de48a",
  "gf180-cv_gemv_r14r_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "gf180-cv_gemv_r14r_p8/lec.txt": "cc294c5aeed89b24220e668bb65a2203c05fd34478fecb4415f1726dff6b6b2f",
  "gf180-cv_gemv_r14r_p8/power.log": "27923128047ea0ca46eee83af74622f1c07ac8d32969c92fff47fbec52508df1",
  "gf180-cv_gemv_r14r_p8/result.json": "370cd2b2e9fc33a0effd035cd5eb2519692e3e81778ff9ab3e73abfa4f0e3bbc",
  "gf180-cv_gemv_r14r_p8/sim.log": "3e63bc6b0095c4b0bc3ebd64b1d1669dcc7210e00eee4ddbca76817c4be76013",
  "ihp-sg13g2-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "ihp-sg13g2-cv_gemv_r14c_p8/6_finish.rpt": "5ccb6ea7b1f3b8a421a8e1fb266f192dad75e3e22a9a4f89836cd3ab26df91c4",
  "ihp-sg13g2-cv_gemv_r14c_p8/6_report.json": "4df6eee19e2df78d7faa72d64b59e6d82e5d0b7836848183f128e675f3cbf1b3",
  "ihp-sg13g2-cv_gemv_r14c_p8/activity-header.txt": "7933cb81cd537461c221e96006eb411717c61a0de7a6252ff8512239a470043b",
  "ihp-sg13g2-cv_gemv_r14c_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "ihp-sg13g2-cv_gemv_r14c_p8/lec.txt": "fce14039b42c36939af952b1a08333449f2a162776dcabdadabc72a09e7bc55c",
  "ihp-sg13g2-cv_gemv_r14c_p8/power.log": "ff8340fac3784283610694d627af746fd274e0cf63cde9cdf9ff7b8964b8d5f7",
  "ihp-sg13g2-cv_gemv_r14c_p8/result.json": "c01489c80a0637321c264082a74743d4bb1041775c1d8be19c53ae2f8327fc86",
  "ihp-sg13g2-cv_gemv_r14c_p8/sim.log": "decfe48b66132a1618b7bcc420840182783f217609bb7e63a35f87c3ed05ca9b",
  "nangate45-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r14c_p8/6_finish.rpt": "f7d2b1f1e7a11c5aac6fb1875cba2bc55bcd811754d4a57b3d9d5f34da1fbdb3",
  "nangate45-cv_gemv_r14c_p8/6_report.json": "a5d46c4a3faf51a9e75f4cd935f2a2e8cb7cbe11148670e58c923a7239750789",
  "nangate45-cv_gemv_r14c_p8/activity-header.txt": "7a9edb1550e14d182ff21401c104f06295d24e02007167109766c8735eacbf9d",
  "nangate45-cv_gemv_r14c_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r14c_p8/lec.txt": "b6561568e91f9abc0256ffbde2c75aeaf5beca09c8b5d5276a54a1bc839f4e0d",
  "nangate45-cv_gemv_r14c_p8/power.log": "60bb51c315bf5902921b438ec80bfe9304b5a6327df612c982869141fc7b19cf",
  "nangate45-cv_gemv_r14c_p8/result.json": "3c63c8d384991f537882d4fc4591f1aa65688d1eb07df19245e5d7cbe26d57d3",
  "nangate45-cv_gemv_r14c_p8/sim.log": "8dfa6d610cd782a2ff9c5344d526dbc6ac9862356535947540d99381f1375bb0",
  "sky130hd-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "sky130hd-cv_gemv_r14c_p8/6_finish.rpt": "528e5c5fceb932b6cdde134b42935190a8b0b90b0d85fc739f2b68e8f9d388a5",
  "sky130hd-cv_gemv_r14c_p8/6_report.json": "15df7fdea87cee3ac188f082ba0ecd04905c1274662ff946f3b2df2448b2a7cc",
  "sky130hd-cv_gemv_r14c_p8/activity-header.txt": "7b0f3c8f6e7e5429c3d84c9b6609d60005d2dd730b0d64983a2bbd07c591202a",
  "sky130hd-cv_gemv_r14c_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "sky130hd-cv_gemv_r14c_p8/lec.txt": "672fa08331f641e6f115e8c0ee18d95e8cd25a37188de21fb769c74be218f311",
  "sky130hd-cv_gemv_r14c_p8/power.log": "76d9ea0226c114080c042e8f513ee32e2f19e11ec75ce103eadb2e09ba1896b1",
  "sky130hd-cv_gemv_r14c_p8/result.json": "741015ab0081035ac95c1547ddb4864758087764884ede83cd6fd55a5b6a6fab",
  "sky130hd-cv_gemv_r14c_p8/sim.log": "f50e6e0af053411a1088529974b3cbf643296362df290077568ffa021c31349a"
 }
}