{
 "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.01875,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.98,
   "cell_area_um2": 25129.8,
   "cells": 14603,
   "die_area_um2": 56003.2,
   "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.4070084845577,
   "M2_pj_per_useful_mac": 0.6979481478537654,
   "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": 11.00388,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.98,
   "S2_cell_area_per_peak_mac_um2": 392.653125,
   "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.214094,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.78591,
   "cell_area_um2": 2276.89,
   "cells": 20517,
   "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": 27653.686078158535,
   "M2_pj_per_useful_mac": 0.15114843520533053,
   "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.516627,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.78591,
   "S2_cell_area_per_peak_mac_um2": 35.57640625,
   "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.434596,
   "met_target": true,
   "clock_used_mhz": 125.0,
   "min_period_ns": 7.57,
   "cell_area_um2": 139696,
   "cells": 18185,
   "die_area_um2": 272698,
   "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.431868635520125,
   "M2_pj_per_useful_mac": 3.851582976083397,
   "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.36211,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 7.57,
   "S2_cell_area_per_peak_mac_um2": 2182.75,
   "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.0385088,
   "met_target": false,
   "clock_used_mhz": 124.37810945273634,
   "min_period_ns": 8.04,
   "cell_area_um2": 715032,
   "cells": 16534,
   "die_area_um2": 1420900.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": 7831393195.833134,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9838187702265372,
   "M1_gmac_s_per_mm2": 10.952507294545047,
   "M2_pj_per_useful_mac": 110.55165243121841,
   "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": 870.0708999999999,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 8.04,
   "S2_cell_area_per_peak_mac_um2": 11172.375,
   "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.35985,
   "met_target": true,
   "clock_used_mhz": 125.0,
   "min_period_ns": 6.64,
   "cell_area_um2": 284474,
   "cells": 24340,
   "die_area_um2": 859329,
   "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.711869348016403,
   "M2_pj_per_useful_mac": 3.5216105003322515,
   "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.76093,
   "power_clock_mhz": 125.0,
   "S1_min_period_ns": 6.64,
   "S2_cell_area_per_peak_mac_um2": 4444.90625,
   "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": "9a14afee6a06ec7aa899189dd0afec9fb88286415a9f0347f8f48838326f30a3",
  "asap7-cv_gemv_r14r_p8/6_report.json": "29adaa4413a9515d5668b0fe61b3275f3942d6a6d2bccd349fa572658c6eb601",
  "asap7-cv_gemv_r14r_p8/activity-header.txt": "782f71b59eab5f4e9eb0d97cd4660f07b4115577c3213b6fc4ab33588ad390a9",
  "asap7-cv_gemv_r14r_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-cv_gemv_r14r_p8/lec.txt": "a1190b798fc8a6924ce789e5e8a94c0d0e3af1a5a2d8cc5994607fbcecd3aca8",
  "asap7-cv_gemv_r14r_p8/power.log": "cc8217a138047a86758e14fd55632c1a6d85a8af5148556eff249b3d2d3f77a9",
  "asap7-cv_gemv_r14r_p8/result.json": "9fcc7b9fe0426aeb83394463359367312cc849bb4f9c2b020b8a3ac0a00a52c0",
  "asap7-cv_gemv_r14r_p8/sim.log": "ae73844228c8f25c6400000d98c54690188bb8a4b960cfd610ff520ca5ac3ae9",
  "fixtures.json": "5863a21a45d3ba3cc5d11d8679b18299adde5760d65e8f522e73c55aff8a50c5",
  "gf180-cv_gemv_r14r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "gf180-cv_gemv_r14r_p8/6_finish.rpt": "2e790ac740a05655dc9a56725e271d89949f8721f27f5e875445b1fd4dcbd447",
  "gf180-cv_gemv_r14r_p8/6_report.json": "746e4cc4503d77e42286793ba509eeac091b6292316d289138b54f0822c1d8d8",
  "gf180-cv_gemv_r14r_p8/activity-header.txt": "e189f51ebb550059cbd4c7b36bcbcab5e36535e80e0c31f3268da4178809ccd6",
  "gf180-cv_gemv_r14r_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "gf180-cv_gemv_r14r_p8/lec.txt": "ec508414f584094de56b36bdefc91606127260d63fc14280beb6b3b35cf3dcf2",
  "gf180-cv_gemv_r14r_p8/power.log": "2303538a9bdb74746275f69108641ec62735601443f241bcfe0c1244ea7b0ddc",
  "gf180-cv_gemv_r14r_p8/result.json": "d41732fcef5e4de0526d7d398f23e8bb75b0360f25d7a6bf1fbcf97ced676d8d",
  "gf180-cv_gemv_r14r_p8/sim.log": "cc9b4cb3e55cc71be310cbd8f32a13660ba569759edc66c8392a0f3be750ac81",
  "ihp-sg13g2-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "ihp-sg13g2-cv_gemv_r14c_p8/6_finish.rpt": "0749bfcf2d178a8440ac1b048a5d5c1397e9d58a10e0dd3a5d27475672366b61",
  "ihp-sg13g2-cv_gemv_r14c_p8/6_report.json": "e503a4b8048ce7a73c81d4635cfe000b0ff42a9ccc85d42a0cf117dba07306e0",
  "ihp-sg13g2-cv_gemv_r14c_p8/activity-header.txt": "77ee91cf561074be1438b1da548787d766d26ab764c55478cd5372d556762ca3",
  "ihp-sg13g2-cv_gemv_r14c_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "ihp-sg13g2-cv_gemv_r14c_p8/lec.txt": "57fbef2281110cdc0e1fda9f8bd880a1f24ebb87152a11f5ba870b577982733a",
  "ihp-sg13g2-cv_gemv_r14c_p8/power.log": "c03a8571e14910c3a290db2a809f01875cec60c2ee2afab8de0b34b0a58ef510",
  "ihp-sg13g2-cv_gemv_r14c_p8/result.json": "794b4f4e21a79e881941ed4789513c19b7b3b17d4ed85d3a9f36de81de18c63c",
  "ihp-sg13g2-cv_gemv_r14c_p8/sim.log": "66986add738acd3d46201f3171d76bf320a8f42bc4b6d4b6382f1f2e653b324a",
  "nangate45-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r14c_p8/6_finish.rpt": "630a9f5ec0f266dbcca0ddc631192e1443eec057b4b7d2c61453a81038d3bb1b",
  "nangate45-cv_gemv_r14c_p8/6_report.json": "9e6477e9f866f7b7923aa4e8627dec566be2ce02c0a523a1b8104113dde88487",
  "nangate45-cv_gemv_r14c_p8/activity-header.txt": "fe18457265febac024ba5281575bc9d76ee7ff1263e7b6ef69de56a76144c0a0",
  "nangate45-cv_gemv_r14c_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r14c_p8/lec.txt": "e4a6dccca3b9b14af78ebc801512a60b49ffea8e0a4cff35214076a5226191b3",
  "nangate45-cv_gemv_r14c_p8/power.log": "ac0db33de95fc9444189c5de19061d1dfdf65477a94e8e483ef7c11d230a03e4",
  "nangate45-cv_gemv_r14c_p8/result.json": "81d1cf5c7d021c488a3884d4cb5aaac42bd2edb7c3dea41cd886a6a7f2bfb37a",
  "nangate45-cv_gemv_r14c_p8/sim.log": "05c8053ffd63b6a504d449193ca46a5587b3d29b2b14bf98787de0b0466d4147",
  "sky130hd-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "sky130hd-cv_gemv_r14c_p8/6_finish.rpt": "cd67ded39a89dc8436a2579b5aaa871617a0c037a27c6a5eae56cb6c34ce0d06",
  "sky130hd-cv_gemv_r14c_p8/6_report.json": "be541365199bbadfa640649116adf4bf56effef197ec7d92003b77b02bd17f3b",
  "sky130hd-cv_gemv_r14c_p8/activity-header.txt": "f250603f41b1a0d802659db7bd14a3eed4f62bfa60b777b5b0ef16082f789ef2",
  "sky130hd-cv_gemv_r14c_p8/constraint.sdc": "6b27ffd5346aa0a8d82cbf0241a683c5ed6352a57bb12080c0cb9af799afab1b",
  "sky130hd-cv_gemv_r14c_p8/lec.txt": "dbd0ab9ed6d1f11113b4163719cb4774304b33ad7936ebec44c88f4c689b5d91",
  "sky130hd-cv_gemv_r14c_p8/power.log": "3430833472f3c9da670ae5d098756a3cf0ba7c7c9fed9d14d41107bb9af48c77",
  "sky130hd-cv_gemv_r14c_p8/result.json": "72eb8c33b3cd7f71dc8372c5ce15e7add503884ca03df6873532d921226f09b8",
  "sky130hd-cv_gemv_r14c_p8/sim.log": "1afd5d4019db601697aba97d1384a0adc106499c4421e37d1960a1fefc7a5d62"
 }
}