{
 "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.03634,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.96,
   "cell_area_um2": 25114.7,
   "cells": 14574,
   "die_area_um2": 50449.7,
   "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": 627.7842316179464,
   "M2_pj_per_useful_mac": 0.6947767749023436,
   "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.95388,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.96,
   "S2_cell_area_per_peak_mac_um2": 392.4171875,
   "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.19401,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.80599,
   "cell_area_um2": 2274.2,
   "cells": 20501,
   "die_area_um2": 4797.64,
   "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": 27686.39578511054,
   "M2_pj_per_useful_mac": 0.1503444439447159,
   "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.466006,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.80599,
   "S2_cell_area_per_peak_mac_um2": 35.534375,
   "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.109894,
   "met_target": true,
   "clock_used_mhz": 125.0,
   "min_period_ns": 7.89,
   "cell_area_um2": 139879,
   "cells": 17888,
   "die_area_um2": 245530,
   "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.358040312753296,
   "M2_pj_per_useful_mac": 3.871138930251042,
   "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": 30.516270000000002,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 7.89,
   "S2_cell_area_per_peak_mac_um2": 2185.609375,
   "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.0184528,
   "met_target": false,
   "clock_used_mhz": 124.68827930174564,
   "min_period_ns": 8.02,
   "cell_area_um2": 715207,
   "cells": 16470,
   "die_area_um2": 1279040.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": 7850922854.675609,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9838187702265372,
   "M1_gmac_s_per_mm2": 10.977133689513117,
   "M2_pj_per_useful_mac": 110.37586421540911,
   "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": 868.6874,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 8.02,
   "S2_cell_area_per_peak_mac_um2": 11175.109375,
   "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.01419,
   "met_target": true,
   "clock_used_mhz": 125.0,
   "min_period_ns": 6.99,
   "cell_area_um2": 284275,
   "cells": 24301,
   "die_area_um2": 776558,
   "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.731268387679602,
   "M2_pj_per_useful_mac": 3.4997419810084294,
   "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.588540000000002,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 6.99,
   "S2_cell_area_per_peak_mac_um2": 4441.796875,
   "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": "cabeaa2aed4da65a3837094b29e0235119c58200f927f2a0dc99c1dda01fbfb3",
  "asap7-cv_gemv_r14r_p8/6_report.json": "2ff6a22662c055e02ecd21dbb02cdc4ac00263344d2e8cc02fd7628da5c8cf01",
  "asap7-cv_gemv_r14r_p8/activity-header.txt": "6f43953edcbf2899f9b67b868c6f3c564a1ca29284c4063156609ad6faaa3861",
  "asap7-cv_gemv_r14r_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-cv_gemv_r14r_p8/lec.txt": "02bea7cbf4615de6038cef8c42e6d1a21e63517b105d686db540259968d066ee",
  "asap7-cv_gemv_r14r_p8/power.log": "a2f0b6d9f157145ebd410cad741e588320f7c67b636c28550e295f93f9cbb82a",
  "asap7-cv_gemv_r14r_p8/result.json": "325d09d079f025af41c512f4bf8857305cfe7d3003ea310a2b58cf7fd05fc9fe",
  "asap7-cv_gemv_r14r_p8/sim.log": "2045dd6733bcf1e8f7e9e00b6ceb20e0a34fc11239e9a752115ce5e09413a500",
  "fixtures.json": "5863a21a45d3ba3cc5d11d8679b18299adde5760d65e8f522e73c55aff8a50c5",
  "gf180-cv_gemv_r14r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "gf180-cv_gemv_r14r_p8/6_finish.rpt": "ff3b1c656f23ba4d36f2c34aa409d2326b6cd1814cc92c3926b2afbbd80f4602",
  "gf180-cv_gemv_r14r_p8/6_report.json": "4f759f43fb11207b7903b73d1bde7c9e9659e5da83de1cb5cb784cf9dd7ad5b1",
  "gf180-cv_gemv_r14r_p8/activity-header.txt": "74f2774cb692cacd080ce498edf1e1b2639dc8387b4bcd67101cd97d9092b7c1",
  "gf180-cv_gemv_r14r_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "gf180-cv_gemv_r14r_p8/lec.txt": "76186f822c2f9b94acdaf9bd1e36b91de2a825aacedf9afbffc99e71e4eee219",
  "gf180-cv_gemv_r14r_p8/power.log": "b7ef940dbbfee957a63750f739e67b422b38cc6d45bb20c09a70d330dafdb62d",
  "gf180-cv_gemv_r14r_p8/result.json": "0828e46f5bfb85f6eb13863ecf7b7c12a930f9fc3ff9a3964512b383d823bf85",
  "gf180-cv_gemv_r14r_p8/sim.log": "635e79b704deca289c44b42a11ddd9f895aef5b4d7cdcb88370c1759d31ad05d",
  "ihp-sg13g2-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "ihp-sg13g2-cv_gemv_r14c_p8/6_finish.rpt": "bb2df6ad29751ab4fc07ffab905df91a5fa8726efb9ccb8aad94d75a10e8ea86",
  "ihp-sg13g2-cv_gemv_r14c_p8/6_report.json": "9147b9a142089755c23156db304cdfc5a03592123ae13e440c3b77a60726f84f",
  "ihp-sg13g2-cv_gemv_r14c_p8/activity-header.txt": "d4fa33fb234442cc3af10d72f8d846ad4d1687aabf6999a934dd96a23d531155",
  "ihp-sg13g2-cv_gemv_r14c_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "ihp-sg13g2-cv_gemv_r14c_p8/lec.txt": "75c31741381720b8320007e75cf61ebfdf4cd8594ce8af6db3f3769b365e1ba3",
  "ihp-sg13g2-cv_gemv_r14c_p8/power.log": "fc7ebd8e36dbe35917c49521ee11e85c25afd4714fab69cb564cfb7a60ad8872",
  "ihp-sg13g2-cv_gemv_r14c_p8/result.json": "342f2acf479c9792928d70f1ade604966c2fb53b4e2a50484caa5068216edddc",
  "ihp-sg13g2-cv_gemv_r14c_p8/sim.log": "08cf6b9b65e29516f383d02d91df728b2fbc38a82fa9f42fafd31fe4a547e252",
  "nangate45-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r14c_p8/6_finish.rpt": "036b5f16d83fe63655ab30b3a5cfe2eeb60d2a6d52ab67005ce30085cd00e83b",
  "nangate45-cv_gemv_r14c_p8/6_report.json": "0a846e3d75f697c64f80a6485168259bd9e9c45d279f5af2f3c2efb695409fa5",
  "nangate45-cv_gemv_r14c_p8/activity-header.txt": "356899330485083acafdfb4885091ed8d324611a897a23150bc7de33951cf9a0",
  "nangate45-cv_gemv_r14c_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r14c_p8/lec.txt": "2e0b09dd3668a1787d4d56482323e21ca148b2187707489e1e16483d9683b204",
  "nangate45-cv_gemv_r14c_p8/power.log": "dde0041730c84d6e83a1c6273804f5e9c1df10030d932b5cc25501aca514fdde",
  "nangate45-cv_gemv_r14c_p8/result.json": "d108ae48df35d3e605e88aa90567f747695848d6ab6f76c8bcc4a75023c36664",
  "nangate45-cv_gemv_r14c_p8/sim.log": "9e44e8bc2a0d5eb1d804e1a78c8dfbddb7b68f25ea497a98b2c075f4530a480e",
  "sky130hd-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "sky130hd-cv_gemv_r14c_p8/6_finish.rpt": "e3d42e16ff1feac36b9e9da0a15bb9bba3b42d80279efd32bb86e722812cd378",
  "sky130hd-cv_gemv_r14c_p8/6_report.json": "da7c78ac237d2a7d3aeabc84ead38931e9845d6aa5bfc7f5c5649391ad512592",
  "sky130hd-cv_gemv_r14c_p8/activity-header.txt": "71f25d6259a783f546432b263a29b9412e6213f52a67e2c4296b1082830b07ed",
  "sky130hd-cv_gemv_r14c_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "sky130hd-cv_gemv_r14c_p8/lec.txt": "27113860f4ed23245519b7b85de56544c841a8be84f487c62c3c4892079b4710",
  "sky130hd-cv_gemv_r14c_p8/power.log": "b4f6713cbfd8c58ced1afa1595b02acf6dc9564d5e1c527ed4136ccbc0eb47be",
  "sky130hd-cv_gemv_r14c_p8/result.json": "5ad880b9e6a0c9fcb5c158db2d5bcbe6cc5006f5ad16ca3746021e44e9276c8d",
  "sky130hd-cv_gemv_r14c_p8/sim.log": "dbb63519c8a8ea4335323fcc35a2e5c5a7d2a3b077abb33e8ccf93b7d9f9a1a5"
 }
}