{
 "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_r7c_p8",
   "name": "CV-GEMV r7, P = 8, dense, PAIR_REG = 0",
   "source": "Corvel (r6 logic without the pair-sum registers; 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": 1.95379,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 2.05,
   "cell_area_um2": 34381,
   "cells": 16579,
   "die_area_um2": 76165,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68992,
   "cycles_basis": "cycle_count + 1 (result fully presented)",
   "useful_mac_per_s": 15792207792.20779,
   "peak_mac_per_cycle": 64,
   "utilization": 0.987012987012987,
   "M1_gmac_s_per_mm2": 459.3295073502164,
   "M2_pj_per_useful_mac": 0.8334500847424959,
   "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": 13.161539999999999,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 2.05,
   "S2_cell_area_per_peak_mac_um2": 537.203125,
   "sources": {
    "metrics": "nangate45-cv_gemv_r7c_p8/6_report.json",
    "timing": "nangate45-cv_gemv_r7c_p8/6_finish.rpt",
    "power": "nangate45-cv_gemv_r7c_p8/power.log",
    "replay": "nangate45-cv_gemv_r7c_p8/sim.log",
    "lec": "nangate45-cv_gemv_r7c_p8/lec.txt"
   }
  },
  {
   "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.01834,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.98,
   "cell_area_um2": 25117.8,
   "cells": 14601,
   "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.7067514597313,
   "M2_pj_per_useful_mac": 0.694799608787594,
   "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.95424,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.98,
   "S2_cell_area_per_peak_mac_um2": 392.465625,
   "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": "nangate45",
   "design": "cv_gemv_r11r_p8",
   "name": "CV-GEMV r11, P = 8, PAIR_REG = 1",
   "source": "Corvel (r10 with one carry-save group stage and the plain scale product; 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.77593,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.22,
   "cell_area_um2": 28739.4,
   "cells": 15611,
   "die_area_um2": 63018.6,
   "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": 15741100323.624596,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9838187702265372,
   "M1_gmac_s_per_mm2": 547.7184744157705,
   "M2_pj_per_useful_mac": 0.8176483595493861,
   "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": 12.87022,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.22,
   "S2_cell_area_per_peak_mac_um2": 449.053125,
   "sources": {
    "metrics": "nangate45-cv_gemv_r11r_p8/6_report.json",
    "timing": "nangate45-cv_gemv_r11r_p8/6_finish.rpt",
    "power": "nangate45-cv_gemv_r11r_p8/power.log",
    "replay": "nangate45-cv_gemv_r11r_p8/sim.log",
    "lec": "nangate45-cv_gemv_r11r_p8/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "cv_gemv_r11c_p8",
   "name": "CV-GEMV r11, P = 8, PAIR_REG = 0",
   "source": "Corvel (r10's logic in this build; 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.12689,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.87,
   "cell_area_um2": 25533.1,
   "cells": 14848,
   "die_area_um2": 56922.8,
   "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": 617.4969996520297,
   "M2_pj_per_useful_mac": 0.6972288804683828,
   "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.99254,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.87,
   "S2_cell_area_per_peak_mac_um2": 398.9546875,
   "sources": {
    "metrics": "nangate45-cv_gemv_r11c_p8/6_report.json",
    "timing": "nangate45-cv_gemv_r11c_p8/6_finish.rpt",
    "power": "nangate45-cv_gemv_r11c_p8/power.log",
    "replay": "nangate45-cv_gemv_r11c_p8/sim.log",
    "lec": "nangate45-cv_gemv_r11c_p8/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "cv_gemv_r10r_p8",
   "name": "CV-GEMV r10, P = 8, PAIR_REG = 1",
   "source": "Corvel (r9 with Booth-recoded lanes and scale, split pair registers and a carry-save activation sum; 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.73145,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.27,
   "cell_area_um2": 28991.6,
   "cells": 16441,
   "die_area_um2": 63665.4,
   "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": 15741100323.624596,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9838187702265372,
   "M1_gmac_s_per_mm2": 542.9538322695055,
   "M2_pj_per_useful_mac": 0.8431017562476137,
   "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": 13.27087,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.27,
   "S2_cell_area_per_peak_mac_um2": 452.99375,
   "sources": {
    "metrics": "nangate45-cv_gemv_r10r_p8/6_report.json",
    "timing": "nangate45-cv_gemv_r10r_p8/6_finish.rpt",
    "power": "nangate45-cv_gemv_r10r_p8/power.log",
    "replay": "nangate45-cv_gemv_r10r_p8/sim.log",
    "lec": "nangate45-cv_gemv_r10r_p8/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "cv_gemv_r10c_p8",
   "name": "CV-GEMV r10, P = 8, PAIR_REG = 0",
   "source": "Corvel (r9 with Booth-recoded lanes and scale, split pair registers and a carry-save activation sum; 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.02045,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.98,
   "cell_area_um2": 25491,
   "cells": 14875,
   "die_area_um2": 56951.4,
   "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": 618.5168350325698,
   "M2_pj_per_useful_mac": 0.7081396719704534,
   "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.16456,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.98,
   "S2_cell_area_per_peak_mac_um2": 398.296875,
   "sources": {
    "metrics": "nangate45-cv_gemv_r10c_p8/6_report.json",
    "timing": "nangate45-cv_gemv_r10c_p8/6_finish.rpt",
    "power": "nangate45-cv_gemv_r10c_p8/power.log",
    "replay": "nangate45-cv_gemv_r10c_p8/sim.log",
    "lec": "nangate45-cv_gemv_r10c_p8/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "tpu8",
   "name": "LogikBench TPU MXU, N = 8",
   "source": "Zero ASIC LogikBench 62fc37ec (MIT), in OpenROAD-flow-scripts",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x; group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 2.22446,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.78,
   "cell_area_um2": 72571.7,
   "cells": 41260,
   "die_area_um2": 162643,
   "route_drc_violations": 0,
   "lec_final": "not run",
   "replay": "PASS",
   "cycles_per_token": 558752,
   "cycles_basis": "cycles driven for one token (loads, streaming, drains)",
   "useful_mac_per_s": 1949945593.0359085,
   "peak_mac_per_cycle": 64,
   "utilization": 0.12187159956474429,
   "M1_gmac_s_per_mm2": 26.86922854275025,
   "M2_pj_per_useful_mac": 8.289490625954537,
   "M3_bits_per_useful_mac": 8.071428571428571,
   "M3_basis": "608 chunks x (8 activation-load words + 896 weight rows) x 64 bits; host scale fetch not counted",
   "workload_power_mw": 16.16394,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.78,
   "S2_cell_area_per_peak_mac_um2": 1133.9328125,
   "sources": {
    "metrics": "nangate45-tpu8/6_report.json",
    "timing": "nangate45-tpu8/6_finish.rpt",
    "power": "nangate45-tpu8/power.log",
    "replay": "nangate45-tpu8/sim.log",
    "lec": "nangate45-tpu8/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "vta8",
   "name": "VTA matrix-vector core, 8 x 8 (hand port)",
   "source": "Apache TVM VTA d4a15f6 (Apache-2.0), TensorGemm MatrixVectorMultiplication ported register for register",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 1.67608,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 2.32,
   "cell_area_um2": 36086.1,
   "cells": 19799,
   "die_area_um2": 76203.6,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 15999765041.044394,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 443.37750660349536,
   "M2_pj_per_useful_mac": 0.9864192272123983,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 15.78207,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 2.32,
   "S2_cell_area_per_peak_mac_um2": 563.8453125,
   "sources": {
    "metrics": "nangate45-vta8/6_report.json",
    "timing": "nangate45-vta8/6_finish.rpt",
    "power": "nangate45-vta8/power.log",
    "replay": "nangate45-vta8/sim.log",
    "lec": "nangate45-vta8/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "vta8_official",
   "name": "VTA matrix-vector core, 8 x 8 (official generated module)",
   "source": "Apache TVM VTA d4a15f6 (Apache-2.0), TensorGemm MatrixVectorMultiplication, Verilog generated from the unchanged Chisel source (vta/CorvelVtaGemv.scala, Chisel 3.5) on the build VM",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 1.91623,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 2.08,
   "cell_area_um2": 35793.2,
   "cells": 18696,
   "die_area_um2": 75224,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 15999765041.044394,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 447.00571731626104,
   "M2_pj_per_useful_mac": 0.9562967602379937,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 15.300130000000001,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 2.08,
   "S2_cell_area_per_peak_mac_um2": 559.26875,
   "sources": {
    "metrics": "nangate45-vta8_official/6_report.json",
    "timing": "nangate45-vta8_official/6_finish.rpt",
    "power": "nangate45-vta8_official/power.log",
    "replay": "nangate45-vta8_official/sim.log",
    "lec": "nangate45-vta8_official/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "vta8_tuned",
   "name": "VTA matrix-vector core, 8 x 8 (hand port, tuned)",
   "source": "the hand port with the ordinary changes CV-GEMV got in r9 and r10 (PROBLEM.md 2026-11-07 03:42): accumulator pipe registers load every cycle, exact widths, radix-4 Booth MACs; registers, latency and results unchanged",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 1.88969,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 2.11,
   "cell_area_um2": 33833.9,
   "cells": 20065,
   "die_area_um2": 70564.6,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 15999765041.044394,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 472.89153899031425,
   "M2_pj_per_useful_mac": 0.9654077533302022,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 15.4459,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 2.11,
   "S2_cell_area_per_peak_mac_um2": 528.6546875,
   "sources": {
    "metrics": "nangate45-vta8_tuned/6_report.json",
    "timing": "nangate45-vta8_tuned/6_finish.rpt",
    "power": "nangate45-vta8_tuned/power.log",
    "replay": "nangate45-vta8_tuned/sim.log",
    "lec": "nangate45-vta8_tuned/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "vta8_official_tuned",
   "name": "VTA matrix-vector core, 8 x 8 (official generated module, tuned)",
   "source": "the generated module edited as text with the same ordinary changes (vta/tuned/w5/): accumulator pipe registers load every cycle, exact widths, radix-4 Booth MACs; registers, latency and results unchanged",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 2.23063,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.77,
   "cell_area_um2": 35098.4,
   "cells": 19771,
   "die_area_um2": 73005.3,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 15999765041.044394,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 455.85454154731815,
   "M2_pj_per_useful_mac": 0.9605275561659048,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 15.36782,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.77,
   "S2_cell_area_per_peak_mac_um2": 548.4125,
   "sources": {
    "metrics": "nangate45-vta8_official_tuned/6_report.json",
    "timing": "nangate45-vta8_official_tuned/6_finish.rpt",
    "power": "nangate45-vta8_official_tuned/power.log",
    "replay": "nangate45-vta8_official_tuned/sim.log",
    "lec": "nangate45-vta8_official_tuned/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "vta8_csa",
   "name": "VTA matrix-vector core, 8 x 8 (hand port, tuned, carry-save)",
   "source": "the tuned hand port with the carry-save change CV-GEMV got in r10 and r11 (PROBLEM.md 2026-11-07 08:33): carry-save MAC and dot-product-plus-accumulator trees, one add each; registers, latency and results unchanged",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 2.31419,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.69,
   "cell_area_um2": 33668.4,
   "cells": 19971,
   "die_area_um2": 70095.2,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 15999765041.044394,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 475.2160792031814,
   "M2_pj_per_useful_mac": 0.9206215689285968,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 14.72935,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.69,
   "S2_cell_area_per_peak_mac_um2": 526.06875,
   "sources": {
    "metrics": "nangate45-vta8_csa/6_report.json",
    "timing": "nangate45-vta8_csa/6_finish.rpt",
    "power": "nangate45-vta8_csa/power.log",
    "replay": "nangate45-vta8_csa/sim.log",
    "lec": "nangate45-vta8_csa/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "vta8_official_csa",
   "name": "VTA matrix-vector core, 8 x 8 (official generated module, tuned, carry-save)",
   "source": "the tuned generated module edited as text with the same carry-save change (vta/csa/w5/): carry-save MAC and dot-product-plus-accumulator trees, one add each; registers, latency and results unchanged",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 2.33055,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.67,
   "cell_area_um2": 34175.7,
   "cells": 20413,
   "die_area_um2": 71323.7,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 15999765041.044394,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 468.162028606419,
   "M2_pj_per_useful_mac": 0.9226629014002405,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 14.76201,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.67,
   "S2_cell_area_per_peak_mac_um2": 533.9953125,
   "sources": {
    "metrics": "nangate45-vta8_official_csa/6_report.json",
    "timing": "nangate45-vta8_official_csa/6_finish.rpt",
    "power": "nangate45-vta8_official_csa/power.log",
    "replay": "nangate45-vta8_official_csa/sim.log",
    "lec": "nangate45-vta8_official_csa/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "opengemm8",
   "name": "OpenGeMM BlockGemm, Mu x Ku x Nu = 1 x 8 x 8",
   "source": "KU Leuven MICAS snax_cluster ea9c837 (Apache-2.0), hw/chisel_acc BlockGemm, Verilog generated from the unchanged Chisel source (Chisel 6.4) on the build VM",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5, K = 4 tiles per 32-column group (C input 0, subtraction 0); group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 0.604785,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 3.4,
   "cell_area_um2": 51057.4,
   "cells": 26984,
   "die_area_um2": 110261,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.5,
   "cycles_basis": "cycles for two tokens / 2 (from the first tile offered to the last group result)",
   "useful_mac_per_s": 15999647564.154337,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999779727596461,
   "M1_gmac_s_per_mm2": 313.365889452936,
   "M2_pj_per_useful_mac": 1.1491631235681978,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); C input and accumulator traffic not counted",
   "workload_power_mw": 18.38553,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 3.4,
   "S2_cell_area_per_peak_mac_um2": 797.771875,
   "sources": {
    "metrics": "nangate45-opengemm8/6_report.json",
    "timing": "nangate45-opengemm8/6_finish.rpt",
    "power": "nangate45-opengemm8/power.log",
    "replay": "nangate45-opengemm8/sim.log",
    "lec": "nangate45-opengemm8/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "gemmini8",
   "name": "Gemmini spatial array, 8 x 8 mesh of 1 x 1 tiles, weight-stationary",
   "source": "UC Berkeley gemmini 8c3f992 (BSD-3-Clause), Mesh/Tile/PE, Verilog generated with chisel3 3.6.0 on the build VM (standalone, not the Chipyard SoC)",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT8, activation chunk stationary in column 0, double-buffered preload; chunk sums, group scale and row sum on the host (not charged)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 2.53133,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.47,
   "cell_area_um2": 72550.4,
   "cells": 31449,
   "die_area_um2": 157549,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 544793,
   "cycles_basis": "cycles driven for one token (first preload, streaming, drain)",
   "useful_mac_per_s": 1999908222.0219421,
   "peak_mac_per_cycle": 64,
   "utilization": 0.12499426387637139,
   "M1_gmac_s_per_mm2": 27.565778024958405,
   "M2_pj_per_useful_mac": 7.968970418971012,
   "M3_bits_per_useful_mac": 8.071428571428571,
   "M3_basis": "608 chunks x (8 preload words on in_d + 896 weight rows on in_a) x 64 bits; host scale fetch not counted",
   "workload_power_mw": 15.93711,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.47,
   "S2_cell_area_per_peak_mac_um2": 1133.6,
   "sources": {
    "metrics": "nangate45-gemmini8/6_report.json",
    "timing": "nangate45-gemmini8/6_finish.rpt",
    "power": "nangate45-gemmini8/power.log",
    "replay": "nangate45-gemmini8/sim.log",
    "lec": "nangate45-gemmini8/lec.txt"
   }
  },
  {
   "platform": "nangate45",
   "design": "w8a8_p8",
   "name": "Plain W8A8 GEMV, P = 8",
   "source": "textbook baseline written by Corvel",
   "external": false,
   "public_rtl": true,
   "math": "W8A8 per-row (different quantization)",
   "target_ns": 4.0,
   "setup_worst_slack_ns": 2.69709,
   "met_target": true,
   "clock_used_mhz": 250.0,
   "min_period_ns": 1.3,
   "cell_area_um2": 50170.5,
   "cells": 23853,
   "die_area_um2": 111436,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68656,
   "cycles_basis": "cycle_count + 1 (result fully presented)",
   "useful_mac_per_s": 15869494290.375204,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9918433931484503,
   "M1_gmac_s_per_mm2": 316.311264395914,
   "M2_pj_per_useful_mac": 1.2649527814179615,
   "M3_bits_per_useful_mac": 9.0,
   "M3_basis": "read_count x (P*64 + 64)",
   "workload_power_mw": 20.07343,
   "power_clock_mhz": 250.0,
   "S1_min_period_ns": 1.3,
   "S2_cell_area_per_peak_mac_um2": 783.9140625,
   "sources": {
    "metrics": "nangate45-w8a8_p8/6_report.json",
    "timing": "nangate45-w8a8_p8/6_finish.rpt",
    "power": "nangate45-w8a8_p8/power.log",
    "replay": "nangate45-w8a8_p8/sim.log",
    "lec": "nangate45-w8a8_p8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "cv_gemv_r7r_p8",
   "name": "CV-GEMV r7, P = 8, dense, PAIR_REG = 1",
   "source": "Corvel (r6 logic with build options; 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.023178999999999998,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.97682,
   "cell_area_um2": 2886.46,
   "cells": 27656,
   "die_area_um2": 6060.31,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 69104,
   "cycles_basis": "cycle_count + 1 (result fully presented)",
   "useful_mac_per_s": 63066450567.26095,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9854132901134521,
   "M1_gmac_s_per_mm2": 21849.064448237965,
   "M2_pj_per_useful_mac": 0.17001999959271652,
   "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.72217,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.97682,
   "S2_cell_area_per_peak_mac_um2": 45.1009375,
   "sources": {
    "metrics": "asap7-cv_gemv_r7r_p8/6_report.json",
    "timing": "asap7-cv_gemv_r7r_p8/6_finish.rpt",
    "power": "asap7-cv_gemv_r7r_p8/power.log",
    "replay": "asap7-cv_gemv_r7r_p8/sim.log",
    "lec": "asap7-cv_gemv_r7r_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": "asap7",
   "design": "cv_gemv_r11r_p8",
   "name": "CV-GEMV r11, P = 8, PAIR_REG = 1",
   "source": "Corvel (r10 with one carry-save group stage and the plain scale product; 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.176293,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.82371,
   "cell_area_um2": 2264.8,
   "cells": 20462,
   "die_area_um2": 4763.21,
   "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": 27801.30753024478,
   "M2_pj_per_useful_mac": 0.15034179155656627,
   "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.465839,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.82371,
   "S2_cell_area_per_peak_mac_um2": 35.3875,
   "sources": {
    "metrics": "asap7-cv_gemv_r11r_p8/6_report.json",
    "timing": "asap7-cv_gemv_r11r_p8/6_finish.rpt",
    "power": "asap7-cv_gemv_r11r_p8/power.log",
    "replay": "asap7-cv_gemv_r11r_p8/sim.log",
    "lec": "asap7-cv_gemv_r11r_p8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "cv_gemv_r11c_p8",
   "name": "CV-GEMV r11, P = 8, PAIR_REG = 0",
   "source": "Corvel (r10's logic in this build; 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.042926900000000004,
   "met_target": false,
   "clock_used_mhz": 958.8371223380283,
   "min_period_ns": 1.0429300000000001,
   "cell_area_um2": 2232.26,
   "cells": 20999,
   "die_area_um2": 4354.15,
   "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": 60470453977.98599,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9854132901134521,
   "M1_gmac_s_per_mm2": 27089.341733483547,
   "M2_pj_per_useful_mac": 0.13682397036100688,
   "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": 8.628689999999999,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 1.0429300000000001,
   "S2_cell_area_per_peak_mac_um2": 34.8790625,
   "sources": {
    "metrics": "asap7-cv_gemv_r11c_p8/6_report.json",
    "timing": "asap7-cv_gemv_r11c_p8/6_finish.rpt",
    "power": "asap7-cv_gemv_r11c_p8/power.log",
    "replay": "asap7-cv_gemv_r11c_p8/sim.log",
    "lec": "asap7-cv_gemv_r11c_p8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "cv_gemv_r10r_p8",
   "name": "CV-GEMV r10, P = 8, PAIR_REG = 1",
   "source": "Corvel (r9 with Booth-recoded lanes and scale, split pair registers and a carry-save activation sum; 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.16225499999999998,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.83775,
   "cell_area_um2": 2287.24,
   "cells": 20482,
   "die_area_um2": 4819.41,
   "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": 27528.55025904513,
   "M2_pj_per_useful_mac": 0.1524896383029106,
   "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.601072,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.83775,
   "S2_cell_area_per_peak_mac_um2": 35.738125,
   "sources": {
    "metrics": "asap7-cv_gemv_r10r_p8/6_report.json",
    "timing": "asap7-cv_gemv_r10r_p8/6_finish.rpt",
    "power": "asap7-cv_gemv_r10r_p8/power.log",
    "replay": "asap7-cv_gemv_r10r_p8/sim.log",
    "lec": "asap7-cv_gemv_r10r_p8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "cv_gemv_r10c_p8",
   "name": "CV-GEMV r10, P = 8, PAIR_REG = 0",
   "source": "Corvel (r9 with Booth-recoded lanes and scale, split pair registers and a carry-save activation sum; 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.112196,
   "met_target": false,
   "clock_used_mhz": 899.1188635137565,
   "min_period_ns": 1.1122,
   "cell_area_um2": 2239.47,
   "cells": 20912,
   "die_area_um2": 4339.12,
   "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": 56704235359.882164,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9854132901134521,
   "M1_gmac_s_per_mm2": 25320.38176884806,
   "M2_pj_per_useful_mac": 0.13980342767827314,
   "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": 8.816587,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 1.1122,
   "S2_cell_area_per_peak_mac_um2": 34.99171875,
   "sources": {
    "metrics": "asap7-cv_gemv_r10c_p8/6_report.json",
    "timing": "asap7-cv_gemv_r10c_p8/6_finish.rpt",
    "power": "asap7-cv_gemv_r10c_p8/power.log",
    "replay": "asap7-cv_gemv_r10c_p8/sim.log",
    "lec": "asap7-cv_gemv_r10c_p8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "tpu8",
   "name": "LogikBench TPU MXU, N = 8",
   "source": "Zero ASIC LogikBench 62fc37ec (MIT), in OpenROAD-flow-scripts",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x; group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": -0.00384792,
   "met_target": false,
   "clock_used_mhz": 996.1647656522388,
   "min_period_ns": 1.0038500000000001,
   "cell_area_um2": 5567.52,
   "cells": 49400,
   "die_area_um2": 11232.6,
   "route_drc_violations": 0,
   "lec_final": "not run",
   "replay": "PASS",
   "cycles_per_token": 558752,
   "cycles_basis": "cycles driven for one token (loads, streaming, drains)",
   "useful_mac_per_s": 7769868378.884926,
   "peak_mac_per_cycle": 64,
   "utilization": 0.12187159956474429,
   "M1_gmac_s_per_mm2": 1395.5708069095263,
   "M2_pj_per_useful_mac": 1.6158656259086435,
   "M3_bits_per_useful_mac": 8.071428571428571,
   "M3_basis": "608 chunks x (8 activation-load words + 896 weight rows) x 64 bits; host scale fetch not counted",
   "workload_power_mw": 12.603309999999999,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 1.0038500000000001,
   "S2_cell_area_per_peak_mac_um2": 86.9925,
   "sources": {
    "metrics": "asap7-tpu8/6_report.json",
    "timing": "asap7-tpu8/6_finish.rpt",
    "power": "asap7-tpu8/power.log",
    "replay": "asap7-tpu8/sim.log",
    "lec": "asap7-tpu8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "vta8",
   "name": "VTA matrix-vector core, 8 x 8 (hand port)",
   "source": "Apache TVM VTA d4a15f6 (Apache-2.0), TensorGemm MatrixVectorMultiplication ported register for register",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": -0.249577,
   "met_target": false,
   "clock_used_mhz": 800.2688903471567,
   "min_period_ns": 1.24958,
   "cell_area_um2": 2970.16,
   "cells": 28022,
   "die_area_um2": 5458.55,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 51216456860.8473,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 17243.669317763117,
   "M2_pj_per_useful_mac": 0.196943280027989,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 12.60386,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 1.24958,
   "S2_cell_area_per_peak_mac_um2": 46.40875,
   "sources": {
    "metrics": "asap7-vta8/6_report.json",
    "timing": "asap7-vta8/6_finish.rpt",
    "power": "asap7-vta8/power.log",
    "replay": "asap7-vta8/sim.log",
    "lec": "asap7-vta8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "vta8_official",
   "name": "VTA matrix-vector core, 8 x 8 (official generated module)",
   "source": "Apache TVM VTA d4a15f6 (Apache-2.0), TensorGemm MatrixVectorMultiplication, Verilog generated from the unchanged Chisel source (vta/CorvelVtaGemv.scala, Chisel 3.5) on the build VM",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": -0.0905335,
   "met_target": false,
   "clock_used_mhz": 916.9853190650418,
   "min_period_ns": 1.09053,
   "cell_area_um2": 2906.16,
   "cells": 27645,
   "die_area_um2": 5385.06,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 58686198604.51118,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 20193.725949194533,
   "M2_pj_per_useful_mac": 0.1918849503884452,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 12.28014,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 1.09053,
   "S2_cell_area_per_peak_mac_um2": 45.40875,
   "sources": {
    "metrics": "asap7-vta8_official/6_report.json",
    "timing": "asap7-vta8_official/6_finish.rpt",
    "power": "asap7-vta8_official/power.log",
    "replay": "asap7-vta8_official/sim.log",
    "lec": "asap7-vta8_official/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "vta8_tuned",
   "name": "VTA matrix-vector core, 8 x 8 (hand port, tuned)",
   "source": "the hand port with the ordinary changes CV-GEMV got in r9 and r10 (PROBLEM.md 2026-11-07 03:42): accumulator pipe registers load every cycle, exact widths, radix-4 Booth MACs; registers, latency and results unchanged",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": -0.167493,
   "met_target": false,
   "clock_used_mhz": 856.5383857677582,
   "min_period_ns": 1.16749,
   "cell_area_um2": 2838.14,
   "cells": 26479,
   "die_area_um2": 5211.4,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 54817651683.6783,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 19314.63975831999,
   "M2_pj_per_useful_mac": 0.19312031286621095,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 12.359200000000001,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 1.16749,
   "S2_cell_area_per_peak_mac_um2": 44.3459375,
   "sources": {
    "metrics": "asap7-vta8_tuned/6_report.json",
    "timing": "asap7-vta8_tuned/6_finish.rpt",
    "power": "asap7-vta8_tuned/power.log",
    "replay": "asap7-vta8_tuned/sim.log",
    "lec": "asap7-vta8_tuned/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "vta8_official_tuned",
   "name": "VTA matrix-vector core, 8 x 8 (official generated module, tuned)",
   "source": "the generated module edited as text with the same ordinary changes (vta/tuned/w5/): accumulator pipe registers load every cycle, exact widths, radix-4 Booth MACs; registers, latency and results unchanged",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": 0.016375,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.98362,
   "cell_area_um2": 2888.84,
   "cells": 27049,
   "die_area_um2": 5478.52,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 63999060164.177574,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 22153.895738143186,
   "M2_pj_per_useful_mac": 0.19015738049795966,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 12.16958,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.98362,
   "S2_cell_area_per_peak_mac_um2": 45.138125,
   "sources": {
    "metrics": "asap7-vta8_official_tuned/6_report.json",
    "timing": "asap7-vta8_official_tuned/6_finish.rpt",
    "power": "asap7-vta8_official_tuned/power.log",
    "replay": "asap7-vta8_official_tuned/sim.log",
    "lec": "asap7-vta8_official_tuned/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "vta8_csa",
   "name": "VTA matrix-vector core, 8 x 8 (hand port, tuned, carry-save)",
   "source": "the tuned hand port with the carry-save change CV-GEMV got in r10 and r11 (PROBLEM.md 2026-11-07 08:33): carry-save MAC and dot-product-plus-accumulator trees, one add each; registers, latency and results unchanged",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": 0.0165917,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.98341,
   "cell_area_um2": 2725.86,
   "cells": 25527,
   "die_area_um2": 5175.8,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 63999060164.177574,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 23478.48391486634,
   "M2_pj_per_useful_mac": 0.17930975414690292,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 11.47536,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.98341,
   "S2_cell_area_per_peak_mac_um2": 42.5915625,
   "sources": {
    "metrics": "asap7-vta8_csa/6_report.json",
    "timing": "asap7-vta8_csa/6_finish.rpt",
    "power": "asap7-vta8_csa/power.log",
    "replay": "asap7-vta8_csa/sim.log",
    "lec": "asap7-vta8_csa/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "vta8_official_csa",
   "name": "VTA matrix-vector core, 8 x 8 (official generated module, tuned, carry-save)",
   "source": "the tuned generated module edited as text with the same carry-save change (vta/csa/w5/): carry-save MAC and dot-product-plus-accumulator trees, one add each; registers, latency and results unchanged",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5; accumulator scratchpad outside; group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": 0.00737121,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.99263,
   "cell_area_um2": 2767.69,
   "cells": 25918,
   "die_area_um2": 5255.24,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.0,
   "cycles_basis": "cycles for two tokens / 2 (one tile per cycle plus drain)",
   "useful_mac_per_s": 63999060164.177574,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999853150652745,
   "M1_gmac_s_per_mm2": 23123.637460906953,
   "M2_pj_per_useful_mac": 0.17989196520080566,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); accumulator scratchpad traffic not counted",
   "workload_power_mw": 11.51262,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.99263,
   "S2_cell_area_per_peak_mac_um2": 43.24515625,
   "sources": {
    "metrics": "asap7-vta8_official_csa/6_report.json",
    "timing": "asap7-vta8_official_csa/6_finish.rpt",
    "power": "asap7-vta8_official_csa/power.log",
    "replay": "asap7-vta8_official_csa/sim.log",
    "lec": "asap7-vta8_official_csa/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "opengemm8",
   "name": "OpenGeMM BlockGemm, Mu x Ku x Nu = 1 x 8 x 8",
   "source": "KU Leuven MICAS snax_cluster ea9c837 (Apache-2.0), hw/chisel_acc BlockGemm, Verilog generated from the unchanged Chisel source (Chisel 6.4) on the build VM",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT5, K = 4 tiles per 32-column group (C input 0, subtraction 0); group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": -0.871432,
   "met_target": false,
   "clock_used_mhz": 534.3507371368419,
   "min_period_ns": 1.8714300000000001,
   "cell_area_um2": 4532.54,
   "cells": 45249,
   "die_area_um2": 7955.57,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68097.5,
   "cycles_basis": "cycles for two tokens / 2 (from the first tile offered to the last group result)",
   "useful_mac_per_s": 34197693879.342182,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9999779727596461,
   "M1_gmac_s_per_mm2": 7544.929306601196,
   "M2_pj_per_useful_mac": 0.23964751371225915,
   "M3_bits_per_useful_mac": 6.0,
   "M3_basis": "row blocks x tiles x (64 weights x 5 bits + 64 activation bits); C input and accumulator traffic not counted",
   "workload_power_mw": 15.33654,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 1.8714300000000001,
   "S2_cell_area_per_peak_mac_um2": 70.8209375,
   "sources": {
    "metrics": "asap7-opengemm8/6_report.json",
    "timing": "asap7-opengemm8/6_finish.rpt",
    "power": "asap7-opengemm8/power.log",
    "replay": "asap7-opengemm8/sim.log",
    "lec": "asap7-opengemm8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "gemmini8",
   "name": "Gemmini spatial array, 8 x 8 mesh of 1 x 1 tiles, weight-stationary",
   "source": "UC Berkeley gemmini 8c3f992 (BSD-3-Clause), Mesh/Tile/PE, Verilog generated with chisel3 3.6.0 on the build VM (standalone, not the Chipyard SoC)",
   "external": true,
   "public_rtl": true,
   "math": "same integers (q - zp) x x as INT8 x INT8, activation chunk stationary in column 0, double-buffered preload; chunk sums, group scale and row sum on the host (not charged)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": 0.020014800000000003,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.97999,
   "cell_area_um2": 5589.1,
   "cells": 51775,
   "die_area_um2": 11365.5,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 544793,
   "cycles_basis": "cycles driven for one token (first preload, streaming, drain)",
   "useful_mac_per_s": 7999632888.087769,
   "peak_mac_per_cycle": 64,
   "utilization": 0.12499426387637139,
   "M1_gmac_s_per_mm2": 1431.2917800876291,
   "M2_pj_per_useful_mac": 1.5699730920162345,
   "M3_bits_per_useful_mac": 8.071428571428571,
   "M3_basis": "608 chunks x (8 preload words on in_d + 896 weight rows on in_a) x 64 bits; host scale fetch not counted",
   "workload_power_mw": 12.55913,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.97999,
   "S2_cell_area_per_peak_mac_um2": 87.3296875,
   "sources": {
    "metrics": "asap7-gemmini8/6_report.json",
    "timing": "asap7-gemmini8/6_finish.rpt",
    "power": "asap7-gemmini8/power.log",
    "replay": "asap7-gemmini8/sim.log",
    "lec": "asap7-gemmini8/lec.txt"
   }
  },
  {
   "platform": "asap7",
   "design": "w8a8_p8",
   "name": "Plain W8A8 GEMV, P = 8",
   "source": "textbook baseline written by Corvel",
   "external": false,
   "public_rtl": true,
   "math": "W8A8 per-row (different quantization)",
   "target_ns": 1.0,
   "setup_worst_slack_ns": 0.197201,
   "met_target": true,
   "clock_used_mhz": 1000.0,
   "min_period_ns": 0.8028,
   "cell_area_um2": 3849.53,
   "cells": 37001,
   "die_area_um2": 8027.8,
   "route_drc_violations": 0,
   "lec_final": "identical",
   "replay": "PASS",
   "cycles_per_token": 68656,
   "cycles_basis": "cycle_count + 1 (result fully presented)",
   "useful_mac_per_s": 63477977161.50082,
   "peak_mac_per_cycle": 64,
   "utilization": 0.9918433931484503,
   "M1_gmac_s_per_mm2": 16489.799316150493,
   "M2_pj_per_useful_mac": 0.23235266326445386,
   "M3_bits_per_useful_mac": 9.0,
   "M3_basis": "read_count x (P*64 + 64)",
   "workload_power_mw": 14.74874,
   "power_clock_mhz": 1000.0,
   "S1_min_period_ns": 0.8028,
   "S2_cell_area_per_peak_mac_um2": 60.14890625,
   "sources": {
    "metrics": "asap7-w8a8_p8/6_report.json",
    "timing": "asap7-w8a8_p8/6_finish.rpt",
    "power": "asap7-w8a8_p8/power.log",
    "replay": "asap7-w8a8_p8/sim.log",
    "lec": "asap7-w8a8_p8/lec.txt"
   }
  }
 ],
 "files_sha256": {
  "asap7-cv_gemv_r10c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-cv_gemv_r10c_p8/6_finish.rpt": "5bacb619105d13a48f63c2e4c2275f8329ae8dc4b374434f070371d28079c950",
  "asap7-cv_gemv_r10c_p8/6_report.json": "ed78f08cda1686dfc2ec9fac706f0233cce35405ddf6e3e22694c8377268b940",
  "asap7-cv_gemv_r10c_p8/activity-header.txt": "980fd1d3c2d38b5bbc4bdc0ddbc7b1fa0470f0c0a620956018119a7c38cef258",
  "asap7-cv_gemv_r10c_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-cv_gemv_r10c_p8/lec.txt": "aaa80353a005d2caa600c751ecc5c6f0cae8b7caebd2fd11da4a70fca600347a",
  "asap7-cv_gemv_r10c_p8/power.log": "5f1857ef2da7ae9170ae2867993f0ff9e54108a5e2e7445950b6ba52ae92d5dc",
  "asap7-cv_gemv_r10c_p8/result.json": "bd0cffe325edddaa726fd089ffb00a148c968560d56909a9bada5a28e0eaae34",
  "asap7-cv_gemv_r10c_p8/sim.log": "17fbcb33ec53188eca89e64f469d7073bf1b7989b57b9b7fbbb2221e86bc7302",
  "asap7-cv_gemv_r10r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-cv_gemv_r10r_p8/6_finish.rpt": "fda915f138df9e85d0e56b6240712fae2793ede8f34fd6878331ed7d8640d8bc",
  "asap7-cv_gemv_r10r_p8/6_report.json": "7dd4cedf7ca69d198155e9ca3d4a15c32fb008f58aa739b9c830ee1c7671f5e7",
  "asap7-cv_gemv_r10r_p8/activity-header.txt": "812e5bf29da3fed1d73c9d08a2eb065668e6f34b2be4b3eb75d341f0e024a8b4",
  "asap7-cv_gemv_r10r_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-cv_gemv_r10r_p8/lec.txt": "d9ef017c6b3ea3ca68f90408f799245f5086fd82d7da8dbab1f23572601b2f44",
  "asap7-cv_gemv_r10r_p8/power.log": "0f1369dade6cb119128eedc166f7233f1703cdc161a08e74d97af04ce02a0632",
  "asap7-cv_gemv_r10r_p8/result.json": "4bd6135739e53e8a44e359640d240a6d68a0951017f165798d8027a9c4d8a9b7",
  "asap7-cv_gemv_r10r_p8/sim.log": "4ab2fc153230220f10b0b9b0b56eb78446ea61a769efb311cc335aa9792b6cd1",
  "asap7-cv_gemv_r11c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-cv_gemv_r11c_p8/6_finish.rpt": "27a891260de95ccecfadeeba9d0474d213a82b14ca06959c96b1aed94699b01b",
  "asap7-cv_gemv_r11c_p8/6_report.json": "e06c17899234686bfc888f962cb253bccce91012d71705bf4561ad04283e9d7c",
  "asap7-cv_gemv_r11c_p8/activity-header.txt": "8eb49ef1ba19594acb4924b6755f9db4aca0ed394e9b3261a02f5b7e1d07dc58",
  "asap7-cv_gemv_r11c_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-cv_gemv_r11c_p8/lec.txt": "cdfcd2fadfc855d22942dc4529d671297f1be5b7b32adbce0220672993074b72",
  "asap7-cv_gemv_r11c_p8/power.log": "3c466217fd1f86c9c3fbdf4af59d0afc3622e898f23516c4fb246bb272e57d11",
  "asap7-cv_gemv_r11c_p8/result.json": "8421f8ebd543070fe95508cba02eb0f9b4e860959c2fdbbf52126049cbc24d45",
  "asap7-cv_gemv_r11c_p8/sim.log": "d796a2e826f4c831139431d1284c12360540d779a17e855d0f61f0d0302fae0b",
  "asap7-cv_gemv_r11r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-cv_gemv_r11r_p8/6_finish.rpt": "f2f35a883cae83008395c67d9c5dab5233e10df6e955fe248977b30afe4fef4d",
  "asap7-cv_gemv_r11r_p8/6_report.json": "e146fca69bbbd22836e5fc2ab2176284de26c656477bd6cc0ff83f0ad3709c8f",
  "asap7-cv_gemv_r11r_p8/activity-header.txt": "ad21a6fa3c44a3d70f1b697f480eb994b1bb689707207e9e5697484060090344",
  "asap7-cv_gemv_r11r_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-cv_gemv_r11r_p8/lec.txt": "04193c35bdc397a5c7645c21061bd53f3c22341a1789faf046d7a2e40f60f374",
  "asap7-cv_gemv_r11r_p8/power.log": "82a2f24a55f02bc12de20564c0aa742863559332c552eb36c819236afa7120e8",
  "asap7-cv_gemv_r11r_p8/result.json": "ba4a966164fd461921aa6c5ec5e5943a4fdfc4181ddd57aeb3abe0724eb1ceec",
  "asap7-cv_gemv_r11r_p8/sim.log": "1a048bab283ed0333359176ca45f25a0dae92db2e27659b796f64ba8d11602e3",
  "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": "4ded89fd726b8b50d5610645375b5c63ad3a25cba61595bde8f3993c71f74961",
  "asap7-cv_gemv_r14r_p8/power.log": "a2f0b6d9f157145ebd410cad741e588320f7c67b636c28550e295f93f9cbb82a",
  "asap7-cv_gemv_r14r_p8/result.json": "325d09d079f025af41c512f4bf8857305cfe7d3003ea310a2b58cf7fd05fc9fe",
  "asap7-cv_gemv_r14r_p8/sim.log": "42843aa58017bf96202c29a35533df38d7374dbae87a8ec06227b3b79e828b54",
  "asap7-cv_gemv_r7r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-cv_gemv_r7r_p8/6_finish.rpt": "24b7e3bd4ca0e91b88ae4cba83c873d25e7d7d9f1fd81574f3d2e0c32566261f",
  "asap7-cv_gemv_r7r_p8/6_report.json": "277385032717bf37add4d5412b0613a16df212cc88154d4498ce081c53354e49",
  "asap7-cv_gemv_r7r_p8/activity-header.txt": "c34462ccd6ba39e1af946fd2a60c8989816dab595e59d94d9a7d9a3a1313f32c",
  "asap7-cv_gemv_r7r_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-cv_gemv_r7r_p8/lec.txt": "48be203705648c7c2d21c10bd76fa8bb399bdc8e29b61ea2414e955292c977a4",
  "asap7-cv_gemv_r7r_p8/power.log": "e367af30a20b79d1c051356cc83f9570fcd3da55ba3b74d6177a8fd4483b7b8c",
  "asap7-cv_gemv_r7r_p8/result.json": "5fe61391171dc1aedcdace304719e841449dfacbd4aef472f0c646748ecd0616",
  "asap7-cv_gemv_r7r_p8/sim.log": "d9a2f48a670986503650b0d46e3345103803688e682567bde3fcf4ea9e99d09b",
  "asap7-gemmini8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-gemmini8/6_finish.rpt": "4c8b478df5ed45221de855e9a4498b3309de251b148e6c6a10a80bdba7c19a8d",
  "asap7-gemmini8/6_report.json": "cd3027355da8bb3cc0df221bf8f2bd7dcf746c0c51573d8fad1dde62c533ad63",
  "asap7-gemmini8/activity-header.txt": "d49ef2692c5140a8169396f47512fc933c6ac8266998e7657b6ece327747321a",
  "asap7-gemmini8/config.mk": "96bd639b8f4a8391d19f64d319ec865e6ba0769766c2959a16cf1bea620f7757",
  "asap7-gemmini8/constraint.sdc": "ba7862933cbf981f213f32d9c0ba2e6f09c1d79054308a3fb6a430e7b779c78a",
  "asap7-gemmini8/lec.txt": "c19301c63d80c1d375172c410f404a8246bd90c5aecf43193812b3af8e4d1944",
  "asap7-gemmini8/power.log": "05d46834706bb27205814b2647fd9657da7c2f781d371db666d8e43425729f18",
  "asap7-gemmini8/result.json": "531d28d0b3a53731b4bb6b7799168b8513cd019719ea28416de4710c6178aabd",
  "asap7-gemmini8/sim.log": "f67a2956e744befe5c75c49af2b81c816a773eec5fe012d11a0413239733e838",
  "asap7-opengemm8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-opengemm8/6_finish.rpt": "934fd1494d51115b8f62b7f74a8eda00778dd01aff8b50bda649bf2d3f989c57",
  "asap7-opengemm8/6_report.json": "0a09bd9b31f1bbc73d794771d131653c302e8e4e430696159920305bda98b28d",
  "asap7-opengemm8/activity-header.txt": "189b0683c9964b49b3a931d6b9c2d150e0cb087fe1f9fda7cf05d0cae59646fb",
  "asap7-opengemm8/config.mk": "3e93a6739385163437108a4b6ccce78cbb0430bc8583b242f8cdad6077909d00",
  "asap7-opengemm8/constraint.sdc": "ba7862933cbf981f213f32d9c0ba2e6f09c1d79054308a3fb6a430e7b779c78a",
  "asap7-opengemm8/lec.txt": "737da70113d98e00b2d2b3891b212b997684cdd080be11697c737af4b3e09bc9",
  "asap7-opengemm8/power.log": "7b261e3233ea0e50e31cd74d0bf6388c2ee92c2feb1c02864d60d40fd5efe815",
  "asap7-opengemm8/result.json": "e5e778f5d30257518e9c60b9103f4526a4bd7d6c8a3087368a3b18250a6f9b76",
  "asap7-opengemm8/sim.log": "e42bc241785e52893ee31a5ed95fadb9758648802c2e7aee18e2f6e6ec7801e9",
  "asap7-tpu8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-tpu8/6_finish.rpt": "9004d8891a7bb121d9a3bc4a3a98176c6bc192c9d728db8bc6a8b838d30fd4b3",
  "asap7-tpu8/6_report.json": "55a176763e651eb37a0caf725332a553ef8ab59c4d0e6393ce0a204bbe920eba",
  "asap7-tpu8/activity-header.txt": "32a2fa64e13a20202fde86d8de4897e4dad399d8cbb1f87a76b1660cd45bd499",
  "asap7-tpu8/config.mk": "cafe3854b94a3323493d5393433bd5268f6791a1537fe2fce848ba13ba94155a",
  "asap7-tpu8/constraint.sdc": "791cff6d9b783f4f56a3483ea528eb7847d981966a2908cb32d89013d0eabd89",
  "asap7-tpu8/lec.txt": "f8f537cb8578463269b70f0eb01c2baaae7ff0846a0d277c82d208e0c71dbffa",
  "asap7-tpu8/power.log": "534100fe220fd598ce02b0589f284b54feea22cae91a387d94d3565d618d42ca",
  "asap7-tpu8/result.json": "1e0814ff392251a51a45e715d4c55f59bdcf3803ff93e0afb46c261371d2e683",
  "asap7-tpu8/sim.log": "d713c0acc8b202527fc5615d8d5b8c78213d01d69a6fa041c78da3527ab12ab7",
  "asap7-vta8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-vta8/6_finish.rpt": "9da8884391518df2974273712c131ced29d4271e75b569a66d3c6149af6e5bb1",
  "asap7-vta8/6_report.json": "066a5a91fe7caee5964ac4117e509fed3cbf0a96c471be14bdcc54c6b050c537",
  "asap7-vta8/activity-header.txt": "da625e0e5c260daa91d7b4afa8f474d060beda6316182f55397ccb7fb252b641",
  "asap7-vta8/config.mk": "7021186b9dac73b55a5bbc7db489d484f80207f250292053d9a5f09399649a1f",
  "asap7-vta8/constraint.sdc": "791cff6d9b783f4f56a3483ea528eb7847d981966a2908cb32d89013d0eabd89",
  "asap7-vta8/lec.txt": "657f39a5c93b2b760fc5cf5b3adfb005df19816da72895b9dd2b308b3fcff8f0",
  "asap7-vta8/power.log": "96168a51fe7bcb50157a6272b530cde061752544d26baf88ea929cad3756f696",
  "asap7-vta8/result.json": "289202aec16cdb4d32ad037a83279c4cd5c999359cc1ba8886898f32ad7dca97",
  "asap7-vta8/sim.log": "32f0ca9c689f61c3d3d2a919d4a510e6dabd3d3a1e1a891f1fafcfa8f61faac7",
  "asap7-vta8_csa/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-vta8_csa/6_finish.rpt": "aa6d3332fdcc847285e6b9908263babf7b888cc608383a78db10b8e086045287",
  "asap7-vta8_csa/6_report.json": "8807bd0f7d3d0825f150736d008266d32070bf125520a267d6e27a654563ae39",
  "asap7-vta8_csa/activity-header.txt": "e039b0c5e03a01f3edb7ded4c94ea55e0e9d7c3b0b8361895f3488af2ddededb",
  "asap7-vta8_csa/config.mk": "b09cc67c7f8ae02c8dc411568442d9b1754e3401c51e5e405effc5ea3d6a3360",
  "asap7-vta8_csa/constraint.sdc": "791cff6d9b783f4f56a3483ea528eb7847d981966a2908cb32d89013d0eabd89",
  "asap7-vta8_csa/lec.txt": "c140a2fa1339fa7af814b0dae6ffcab1a3d00d39114b5043c7f1807941e1745a",
  "asap7-vta8_csa/power.log": "cf386063b9939247b92021ade37eb215df0923382b9c8c8df26057cce732daf2",
  "asap7-vta8_csa/result.json": "5ec5390341c22b75a475bd1c8498dda7120c52d8b5e39d0772468e766bdbba4a",
  "asap7-vta8_csa/sim.log": "79a96b756b4c96ffb63437c201d05d07aeffb88efa4131cb799648ea37204315",
  "asap7-vta8_official/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-vta8_official/6_finish.rpt": "7d4028a2216a2e6b84b80b094002781157337871342c0581abcdb9ec7451078e",
  "asap7-vta8_official/6_report.json": "253214aede43c121542d7e46cff95fff6954dc93112c71f961a58fbaaf714825",
  "asap7-vta8_official/activity-header.txt": "dcb43f4807a16f19fe6ee5476f1cc09a2163dcd140ae22d84dd76f636eb79edf",
  "asap7-vta8_official/config.mk": "3c093cfa909cbacad260cadab3007e9a2405d1933cabd4bac2cd337f6fb2bb46",
  "asap7-vta8_official/constraint.sdc": "ba7862933cbf981f213f32d9c0ba2e6f09c1d79054308a3fb6a430e7b779c78a",
  "asap7-vta8_official/lec.txt": "af94c47cd8808c6920162459105179938c2e5428de6c48c48d103ad97a6e7cee",
  "asap7-vta8_official/power.log": "dce9ea9bc907ae63f6ce0ee60a621162feb4a54ca132da1706b82d09a79bf714",
  "asap7-vta8_official/result.json": "ca846d9b1b6ac142ae9f7e57f24176134ad0270fc9f330673d8d2069806a2f41",
  "asap7-vta8_official/sim.log": "9a6ae6c1f095508527c24134693d6432641622387aab4c24545466146f5c16d6",
  "asap7-vta8_official_csa/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-vta8_official_csa/6_finish.rpt": "b3c2710d4ee51cce0c8f6fcf7a436625fbc13aeb7a8c9c591ce4176da90af549",
  "asap7-vta8_official_csa/6_report.json": "82795ce3d7bdf26849f3fc29a718b8a63e17223ac183607439dc9fc1f93f078c",
  "asap7-vta8_official_csa/activity-header.txt": "679413197010c7ef67b1db111cd0879106c980d84bdedfec6bd20267b5dc6ba9",
  "asap7-vta8_official_csa/config.mk": "bd4ccece76c6f8825e676e2e7b98e10f6fd63d9ccaa5c42e2c2ac4b639e6c920",
  "asap7-vta8_official_csa/constraint.sdc": "ba7862933cbf981f213f32d9c0ba2e6f09c1d79054308a3fb6a430e7b779c78a",
  "asap7-vta8_official_csa/lec.txt": "383fef814480b98a63c7110ce516fbae78429211c3dddfed339ea2ac3d9d5af6",
  "asap7-vta8_official_csa/power.log": "677ad34e45ba996a4be75c6e27c988ee6a7f1664ec35fd3c166d7363ea15c492",
  "asap7-vta8_official_csa/result.json": "400f3159fa8c551b427c49dfdd473448e90c86bcfc65a22c1c939312a3a3db45",
  "asap7-vta8_official_csa/sim.log": "3a387f66ef1e2a104d8a1957ff373317fd8e5c1e0624863cc3ed4df45fa95dae",
  "asap7-vta8_official_tuned/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-vta8_official_tuned/6_finish.rpt": "a21b13df84a9de97daf61a2c7152de524818989cc2e2f3782b1cbb365a7fb11a",
  "asap7-vta8_official_tuned/6_report.json": "d345f62b375eef7905d0c6dbde39c4b0f091886b9a68a29fe0f70a3b5ed4c2f6",
  "asap7-vta8_official_tuned/activity-header.txt": "29f83874c52d2277c94ec6c598891d5108fe92846daa0dc686d6b988abe9f8dc",
  "asap7-vta8_official_tuned/config.mk": "06545d5019a246ef2a5cd6f16c45bfbb884cde6a041b9be0b7f7688bcc09fe6a",
  "asap7-vta8_official_tuned/constraint.sdc": "ba7862933cbf981f213f32d9c0ba2e6f09c1d79054308a3fb6a430e7b779c78a",
  "asap7-vta8_official_tuned/lec.txt": "6cccf9151b7611798d57a4d7c1b32bc50c6aa810714c956ce856d17bd4812f46",
  "asap7-vta8_official_tuned/power.log": "b94e3f544ef3a4e24fa852c8995fa86a1bf186af6a389c6bcd8e08fa8eee50b0",
  "asap7-vta8_official_tuned/result.json": "7f7c40612562fe13ef4af61b91194a327d1274675290672915c2c798e385cf61",
  "asap7-vta8_official_tuned/sim.log": "ddbf2dab4c2e1ffb919b0574fa7e9efcb9a2a8bbb0f2aaba35eac16ab2c84c63",
  "asap7-vta8_tuned/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-vta8_tuned/6_finish.rpt": "58f57b9caa4a0d3b7b02cb6b7e4f7491bf837fe6c05e7492f72b93c56894cd10",
  "asap7-vta8_tuned/6_report.json": "d90f1365df497553d2a91f397c09ac261c7954cffc85101f00ed1e0a60688ac9",
  "asap7-vta8_tuned/activity-header.txt": "cbdbe39b2b8c6ea5747e4d788c2ae6c9e837f406fd2100783b37c584e94e5d11",
  "asap7-vta8_tuned/config.mk": "dff4f26c3ef640b310407d6347b9c69ab32260c62b851be3e4986176f3fb9319",
  "asap7-vta8_tuned/constraint.sdc": "791cff6d9b783f4f56a3483ea528eb7847d981966a2908cb32d89013d0eabd89",
  "asap7-vta8_tuned/lec.txt": "85d8d4b2430fe76995be7beb53975affbc6a9170cc94332eee2e842a5d9150e4",
  "asap7-vta8_tuned/power.log": "cf5ba7a050d179ec70377bb97f9160fd9028382d37d9f1e0b9bedafaac7cbbe5",
  "asap7-vta8_tuned/result.json": "b92d551704fae7586f4bae3b8123c6f486715e74668eee74cf1e7daccef73f97",
  "asap7-vta8_tuned/sim.log": "550ca74a08e17c9df8196ffe0dfbcbc6d34145330e378faa1557ec71e4698dc6",
  "asap7-w8a8_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "asap7-w8a8_p8/6_finish.rpt": "8ecd108d18bff3fdd3bad1dbde880f8f49b4d684e9469230b84b531ce23fd0e0",
  "asap7-w8a8_p8/6_report.json": "6cf276e291abbdc67c0371e5f61e9b0b39510987db525c626c863ee2bbc00d47",
  "asap7-w8a8_p8/activity-header.txt": "84f54f31aec2f06f48cee5e3656fc209f624167c0c1de5d6b4837837d9f4be1a",
  "asap7-w8a8_p8/config.mk": "a3c20d4dc4cbf114fc55f5dcf9bdef12ee9411e26e60de01637f1313dc6fafe8",
  "asap7-w8a8_p8/constraint.sdc": "f008120b21ba330593aba7cafb86a5a58720c0d98d772f710826bef56c408b15",
  "asap7-w8a8_p8/lec.txt": "f5a9590da47b4346a4c999c7ffa46cf613f2471e1eb364452ccaf3354c6ec64c",
  "asap7-w8a8_p8/power.log": "6ca95b5269311cc5ace25ccbb637fecfffe381237b030799e1666cf5a670a8b0",
  "asap7-w8a8_p8/result.json": "1f4862c3fdabc5b5cd5d6c287a115f42d7f448c1dfab535a0567309b0aabc89c",
  "asap7-w8a8_p8/sim.log": "329d1e48d701e05a041f0b2f7a3fe7bc0da9f1e63cc6aa1e594242c38ee52c15",
  "fixtures.json": "5863a21a45d3ba3cc5d11d8679b18299adde5760d65e8f522e73c55aff8a50c5",
  "nangate45-cv_gemv_r10c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r10c_p8/6_finish.rpt": "7d2e628adcf0c9706032ab8551aaf1b7adf89219adfcf6a6568bbe209df92ca2",
  "nangate45-cv_gemv_r10c_p8/6_report.json": "19f8ad07bd3ea4adea0b4329314c0039e192807f46007d5b48aa7ab09b6a23b6",
  "nangate45-cv_gemv_r10c_p8/activity-header.txt": "1d9f28e1d595594834585416da57133bd386037f93334fdabe8a67f50f287c8a",
  "nangate45-cv_gemv_r10c_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r10c_p8/lec.txt": "898745c3f92d73b6b6365143a28d89f58e8c787591de00e189c82cfddef90f01",
  "nangate45-cv_gemv_r10c_p8/power.log": "14d9f78cf14ba96bbb805da90079fb4699dbfbf76dd21ba3952ab0cdb5750711",
  "nangate45-cv_gemv_r10c_p8/result.json": "a635b90bf73c59c2106bc38a61638321ec8d282a2fdfb1571501ec74425c8872",
  "nangate45-cv_gemv_r10c_p8/sim.log": "be4f9e619ddbc450cc2df4a950ab8a2765f440b421a22d9e2232400014223191",
  "nangate45-cv_gemv_r10r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r10r_p8/6_finish.rpt": "f3c45ec5ee644aad08da9e51ad9be422945bbac70e2168e165cc63fb8f018618",
  "nangate45-cv_gemv_r10r_p8/6_report.json": "736825f672f64a655f18ab86eb9663ba65852065aa654d324c20a08e6aaf07bc",
  "nangate45-cv_gemv_r10r_p8/activity-header.txt": "02b217fcae7e043d81f179993907e69441faf7aff499a3925a38bd0fb1ab083f",
  "nangate45-cv_gemv_r10r_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r10r_p8/lec.txt": "b54588bc2951f746e84c8288aa1fd52a1e24c89589be77cedaba1b831fc203a6",
  "nangate45-cv_gemv_r10r_p8/power.log": "17d2e3bc08d6f0cb205b573d922c7a813ff86b0796bc940fde0e11b2d1795781",
  "nangate45-cv_gemv_r10r_p8/result.json": "14aab85ac9aa60d86442f59152b492edf7b72835327359d121d3379db5802152",
  "nangate45-cv_gemv_r10r_p8/sim.log": "4dfcad6a860b39ede7ab5dcc4b82ab02a6ef8147ff074e1a6decdeac12797780",
  "nangate45-cv_gemv_r11c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r11c_p8/6_finish.rpt": "031fcc4c34808c0126250cc6edddf8947d534fc95043b17c15f1c14c721b1c57",
  "nangate45-cv_gemv_r11c_p8/6_report.json": "3416a37177abae420668f7b4b0cf9b294e5661dd0818567406ebbb2ba869f074",
  "nangate45-cv_gemv_r11c_p8/activity-header.txt": "b49cc9f11b1e3fe058bda83bf71eba394515a05f63db64e9593575e0bcee0923",
  "nangate45-cv_gemv_r11c_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r11c_p8/lec.txt": "01cc2946bf064b67d1d0909afe4ce6a66d2f29310fa24106b868d02baf2746a0",
  "nangate45-cv_gemv_r11c_p8/power.log": "e9e6f4ceaf859df531f9a64a70be0d340a4bc42d21447b17914e9db98a95d3f1",
  "nangate45-cv_gemv_r11c_p8/result.json": "d9bb5598db37df2d2007b9d1b4cfd2236ca96bf4a1c40cd66fde1e5475fd9a12",
  "nangate45-cv_gemv_r11c_p8/sim.log": "75451c3ff838f365a7310dfa9cdd111b6dc03468be03d46a4bdd12f4869e6b51",
  "nangate45-cv_gemv_r11r_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r11r_p8/6_finish.rpt": "76663588782d95a2b71efc8b29ae0ca4d39f27a880bd1718366cd5463adb5522",
  "nangate45-cv_gemv_r11r_p8/6_report.json": "93cb9aec2b47469d0f98c862d05fcbb5091e46f282599aac804d66ea4dc55046",
  "nangate45-cv_gemv_r11r_p8/activity-header.txt": "56dcc99f5c513b5de70ed9893128028615ef59439b4042a7388f3a3764b8fd14",
  "nangate45-cv_gemv_r11r_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r11r_p8/lec.txt": "546a7267220737baa7ec929be506e8639b62c4d60462941f6a9fc5dc68f23def",
  "nangate45-cv_gemv_r11r_p8/power.log": "3ad603d80a422c4d452fb104f9a668e177a749072cada50cc8c9373ab5e4ea10",
  "nangate45-cv_gemv_r11r_p8/result.json": "6c7a0b355a94cacf945574bb3e563492e7c76b74c91d3540a47b88da00d895d1",
  "nangate45-cv_gemv_r11r_p8/sim.log": "66d9737f06943f70599b8518ab3017e4014dffc92c95af0f8f28f83daff2dbd8",
  "nangate45-cv_gemv_r14c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r14c_p8/6_finish.rpt": "98e6bd4acc119549cfe8915428df84877ee62101b4c50424d6fc7166adf2a93e",
  "nangate45-cv_gemv_r14c_p8/6_report.json": "9dafe6e850bcf0c68182fdce334c03183638814ca2650d200ef33ddf847aaffd",
  "nangate45-cv_gemv_r14c_p8/activity-header.txt": "a0d019e627bf4cf9ffd2d1807a24e60e48e81560d383c310278c41e7510b33e2",
  "nangate45-cv_gemv_r14c_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r14c_p8/lec.txt": "7e43a2088ba176d1a6d6a23dce6d8c501a5fb389e2dea5fbfd1f31a2877c1be1",
  "nangate45-cv_gemv_r14c_p8/power.log": "0442201421682c74095a6c714d370b04724effb334daa8ad7b9bcf90673b4a5f",
  "nangate45-cv_gemv_r14c_p8/result.json": "845b00aa8a4e769f0f08bf0c9087a16f1f4bd3889d768c701b5073b17d4d102b",
  "nangate45-cv_gemv_r14c_p8/sim.log": "77a7f4b321a231007ed8f076609f8db1f3702d52957dddf672ef549098a3232f",
  "nangate45-cv_gemv_r7c_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-cv_gemv_r7c_p8/6_finish.rpt": "313876b771fbb699583220bf0f34990fa23274968a01bc4b479381789624be57",
  "nangate45-cv_gemv_r7c_p8/6_report.json": "42e83bcb26991ef43077e9960703b75d965e8f62d759dd43dc9220c2499fa9a4",
  "nangate45-cv_gemv_r7c_p8/activity-header.txt": "855b19056e918e6a97a0531a9dfb841932b5e242a82539799dbb6a788717ba50",
  "nangate45-cv_gemv_r7c_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-cv_gemv_r7c_p8/lec.txt": "aed1659328a194a7e1f56c2436d54caade691843d8bca5c8545b7b6d235b0028",
  "nangate45-cv_gemv_r7c_p8/power.log": "813de08906ba140af896b3c425dbcd0e46a808f1cf0a5cabbce905696e934dce",
  "nangate45-cv_gemv_r7c_p8/result.json": "a0f5c6bf35c54aca9ffd8c5f3f8321726089a6f6274b35f46659663264c7ede8",
  "nangate45-cv_gemv_r7c_p8/sim.log": "6a78097fcac9bf204293c0486ddcd067004325f18a472c636930c23ee090577c",
  "nangate45-gemmini8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-gemmini8/6_finish.rpt": "3cb0e9537ff66f521216580887ad5f74e7d8d206e38d4dbbb0043a7a9797d90c",
  "nangate45-gemmini8/6_report.json": "4a010a80fedee8256cee689f449f65ff472bb2551c368b7bb9b2883d3983adf3",
  "nangate45-gemmini8/activity-header.txt": "f2e2a5371b2b5a0b93aab69429a912d8d82c5aba05c91df683be16f3edf693e4",
  "nangate45-gemmini8/config.mk": "c1771f4c343e012a6197b852a2fe2d87661e151c68291e417d1fec0ccf42eff7",
  "nangate45-gemmini8/constraint.sdc": "7c5ea6fe988b3e09aabd96dc9eb0c94f4c9a7b222ab7a39a000c428691c4afde",
  "nangate45-gemmini8/lec.txt": "e7b842bdf9b88e9b223069d27b56a3fe7607b553462bf350230ea4bef9b7e279",
  "nangate45-gemmini8/power.log": "4fefa06bf5844d1011234a5f5664a495d1b64aa1239f8c7af0deaabea42b6ba3",
  "nangate45-gemmini8/result.json": "7f7a1c270bded83b714805d8cdd307b68604b203a744c88d3a6a8c5ec6b3ce09",
  "nangate45-gemmini8/sim.log": "adb88150e11329de0cf90b7605906f0aebb082849cba72a7241e7eb54ed67128",
  "nangate45-opengemm8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-opengemm8/6_finish.rpt": "6e1c20eb78a61095f1f97c1409f382904d10e262a5e90aaff7b1d1952f86c9ba",
  "nangate45-opengemm8/6_report.json": "24fb8a66cbd93272dc8cb823821663f10759cfcf67062c86aa6596612d44ee50",
  "nangate45-opengemm8/activity-header.txt": "40116a2d2a3a7e4899e5f320ce77d3a81ee8b6f2ae6dd8c831a027e07cb44f57",
  "nangate45-opengemm8/config.mk": "dc136a53716529757143ede7cefd3871c131f30387d24a319c4ee975c95d8385",
  "nangate45-opengemm8/constraint.sdc": "7c5ea6fe988b3e09aabd96dc9eb0c94f4c9a7b222ab7a39a000c428691c4afde",
  "nangate45-opengemm8/lec.txt": "69124f2e8a27372fdb4cf83586fc83ef1b6ef3a2636c63e3ea6ffac92be5e8ac",
  "nangate45-opengemm8/power.log": "43c5ec07dd5712d90638c145aa69a6b73989872a1fd5477593985764fc54b3f5",
  "nangate45-opengemm8/result.json": "577b0f8755ca816e54f18e1b62ec621362ec381d749b569115643fb938658f13",
  "nangate45-opengemm8/sim.log": "099d8a95f9fe63027b18046bc3efbfb6b4131863e238a6e7b6e07180877ac553",
  "nangate45-tpu8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-tpu8/6_finish.rpt": "08591b756dc91486163666c68fcc654128a6e6684c52d35177e82d049e20f94e",
  "nangate45-tpu8/6_report.json": "d478aead379096369fb96ad4e60adb59dd574c1abf69ed72842f62b6bfd11083",
  "nangate45-tpu8/activity-header.txt": "c3b49cd7d8f2bc52b10ae584e3e1eccca20e89be1012645cf0ed5b4ad1af9921",
  "nangate45-tpu8/config.mk": "3c211e94178395de1e342f242cd46d6abda651beef4e4b961ecf56a130e0f285",
  "nangate45-tpu8/constraint.sdc": "83eeb54e060b07dec4c32e2d34b36e53b8e87dfc22e43287d1187055793d13b5",
  "nangate45-tpu8/lec.txt": "f8f537cb8578463269b70f0eb01c2baaae7ff0846a0d277c82d208e0c71dbffa",
  "nangate45-tpu8/power.log": "841deea648478c2b9ece6b6d9ef994ad02df84d5582d628fb44b48c8f63e2b47",
  "nangate45-tpu8/result.json": "463b45413bc73f72fbb030dfe768f1f28e591fe77533b1a665b74a7192993ab1",
  "nangate45-tpu8/sim.log": "640092a15c977a5fb1496ecd8a0d1fd37574d5a5fc7f02f4a69f43e1bc1806d0",
  "nangate45-vta8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-vta8/6_finish.rpt": "b1c232cfdba4592e4ac5cb7533f59aec0c6f0eda2db861098bf4ccde0d2d6766",
  "nangate45-vta8/6_report.json": "cbb37123226413137c076fbec417c839cd606183c384f907caf93494dabccac5",
  "nangate45-vta8/activity-header.txt": "3c1e99c14a55328ae50799fadb28b7b9cc226f9c4af9d69e1f61db6f14262379",
  "nangate45-vta8/config.mk": "907ca82d7439e7d1b41dbc4160aecaa673ae552ae7b3a92e7cdd1c44b4936657",
  "nangate45-vta8/constraint.sdc": "83eeb54e060b07dec4c32e2d34b36e53b8e87dfc22e43287d1187055793d13b5",
  "nangate45-vta8/lec.txt": "e4eaed1596b2975de79ea401294272b6b39dc2bbdc8572e3de854d7b0589402d",
  "nangate45-vta8/power.log": "be66fcfda41cf59d2bd6f0d6f596d9a029c793e447cc8b66c714b3c931cfdaaf",
  "nangate45-vta8/result.json": "3667f36362c95e95002ec7a856ba269dff9ad72768285ed2d4d33186f7d23830",
  "nangate45-vta8/sim.log": "c392d39d2ea7368485b6e0b10f9e7dd5d7807f388ff2f8bb188b4f12d6e48cbc",
  "nangate45-vta8_csa/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-vta8_csa/6_finish.rpt": "0f6bbe8d5d59281eee763193e2a04a9291500452c30ec85e9b34ba9622ceabb2",
  "nangate45-vta8_csa/6_report.json": "0e05c3e03c93a84b17504c1724c525e06feb21bd48baf1a6ae08a02f2812671a",
  "nangate45-vta8_csa/activity-header.txt": "ff64a663a12c328e79479eedfd33e3ba24373e75bdf9def1c1cba501b3ecd8ee",
  "nangate45-vta8_csa/config.mk": "be094770e4c5a3afcf2c7615039f7f0456d2c14a378fa6c0e86ad43a476cef89",
  "nangate45-vta8_csa/constraint.sdc": "83eeb54e060b07dec4c32e2d34b36e53b8e87dfc22e43287d1187055793d13b5",
  "nangate45-vta8_csa/lec.txt": "3192fc5820e58f6cc01c2adf7f400d1e3dca733f4747066906c33c0f020c115f",
  "nangate45-vta8_csa/power.log": "2fe19bf347baad6eec113183c0edd0ddd34718008af3091616bd827caa821c82",
  "nangate45-vta8_csa/result.json": "db0731ac7b53e1154273615132ecb556323ac3f09a8a3533aeb8958b607a3425",
  "nangate45-vta8_csa/sim.log": "432524b3c9c176edb4113221b631a018068eeb0822eb5504962524b6284b0b4d",
  "nangate45-vta8_official/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-vta8_official/6_finish.rpt": "2e5745b1e92902ece94b2b1c5dda633a79084d400c5841fd0a02da57ed288b3a",
  "nangate45-vta8_official/6_report.json": "09504df53727415768146582d5bdd1ca5e8d66880e0214d3759c613335b762f8",
  "nangate45-vta8_official/activity-header.txt": "0a5c507e730081f8e6fdd8fa8470e7fd6b24ed9ebfee4695d63b1b9032f73d66",
  "nangate45-vta8_official/config.mk": "99be12ff3c821bbb72900c76fa3899e9643418991841fab4205cd92c6595401f",
  "nangate45-vta8_official/constraint.sdc": "7c5ea6fe988b3e09aabd96dc9eb0c94f4c9a7b222ab7a39a000c428691c4afde",
  "nangate45-vta8_official/lec.txt": "322eda12df36f89ba656162ee3978a0b02dfc1e4346e7fd4bbe43da3983eb884",
  "nangate45-vta8_official/power.log": "8b9fd6dcd5a3afa7fa74378f066e1b7f45a0d67c2f1fc8df5518cc5703321177",
  "nangate45-vta8_official/result.json": "6db38aa02cacc7245e903b72c2f32bd55c921a76dc2764d96cb87992462d556c",
  "nangate45-vta8_official/sim.log": "8f9012ab8a2a5fc1c22fdb2b13fc9c8c193c1ea7e1c82d5d54d3a6ab11abc326",
  "nangate45-vta8_official_csa/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-vta8_official_csa/6_finish.rpt": "da8aadf5460f464dde7f2ba71bb8828d50d7c246b3649a41e4c90f68472e849e",
  "nangate45-vta8_official_csa/6_report.json": "d737c1ebe5f0fb9bd28a35c9e0774858262b83670b8f942a782914a15a4131cb",
  "nangate45-vta8_official_csa/activity-header.txt": "425a7ce201aaffb7f4ee84d02a672b048e2e4980197df2b240060af431a24e4e",
  "nangate45-vta8_official_csa/config.mk": "783296c8a0cc737e1b9af9e28fa06e94ab3a2a8fc6a301b6fb74160e05e07d26",
  "nangate45-vta8_official_csa/constraint.sdc": "7c5ea6fe988b3e09aabd96dc9eb0c94f4c9a7b222ab7a39a000c428691c4afde",
  "nangate45-vta8_official_csa/lec.txt": "6b410770d98dd2b60b1a561a0b1ce68cf6ee374a3f18d0ca81545f97ddd49be8",
  "nangate45-vta8_official_csa/power.log": "7c680ec23aface771b9ecbf5344757d401624ab95eadc9708e9e8d47de43cccb",
  "nangate45-vta8_official_csa/result.json": "c8470c0bba70f6844374514ecd97bd640f4486483177a43c817d86fe3c2d76db",
  "nangate45-vta8_official_csa/sim.log": "962dfe7bd04149ab00d0ec476fd589c6dfec797d82fea8eeb03e85c19dda003c",
  "nangate45-vta8_official_tuned/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-vta8_official_tuned/6_finish.rpt": "716d498d83b53aaa392f881a0761fcea7871e1d40dc37d5aad22108860ae7790",
  "nangate45-vta8_official_tuned/6_report.json": "0d29e5fbee278b6dedf190e63628ec724c2746ca41a565ac9747ca5be32b7023",
  "nangate45-vta8_official_tuned/activity-header.txt": "c5b7d40b66cbad1c5b36a42d23546ee0fb81ff20941d50ef3f4be34b0eb9f1b3",
  "nangate45-vta8_official_tuned/config.mk": "09ad2393bd12c31e8d00c5e40314fc8f1940eb82c380e16ae0c837df64729845",
  "nangate45-vta8_official_tuned/constraint.sdc": "7c5ea6fe988b3e09aabd96dc9eb0c94f4c9a7b222ab7a39a000c428691c4afde",
  "nangate45-vta8_official_tuned/lec.txt": "c5eaf341f701d4333def3b9fe7613cc904bad6d6916b5115060aa2f9136370c9",
  "nangate45-vta8_official_tuned/power.log": "096f0014f9dfea7b407e1bc1c5e2aa10112cd0ff7745fe0d31ce2c77d9e64e94",
  "nangate45-vta8_official_tuned/result.json": "97e90e1bd6ff0f79cabc1bb73695956bfdc8f6f4b740bb416d04d919c52bf225",
  "nangate45-vta8_official_tuned/sim.log": "37b56456298d509a0a3e0ab6adc8a44aeffd34e1eaa9b67e150813d50ec8cce5",
  "nangate45-vta8_tuned/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-vta8_tuned/6_finish.rpt": "a56d0607b27f31bfd3007deed6eddc4c9a5c4b366496f4071048f53228e920b5",
  "nangate45-vta8_tuned/6_report.json": "32057a94f5a51c5f4df0149c64a06e09682a2f44113617a2141b19d039e71ec3",
  "nangate45-vta8_tuned/activity-header.txt": "017007f125954411d61082a24d77281bfcd62ba3242543b8f38bf51f1ee76b40",
  "nangate45-vta8_tuned/config.mk": "a11fbe290a489feff7fe144b1daf5d0f3b5776e6fa0cdcfe79bd8cee1d1f8879",
  "nangate45-vta8_tuned/constraint.sdc": "83eeb54e060b07dec4c32e2d34b36e53b8e87dfc22e43287d1187055793d13b5",
  "nangate45-vta8_tuned/lec.txt": "ef6d7a3f36f722c0260a33a383dd64e135ee26613423419f5576bdc8f8d941df",
  "nangate45-vta8_tuned/power.log": "9bbaf9c475ec42a62fb0aca31e33061302c36be1b50180da4870a9405c3f068c",
  "nangate45-vta8_tuned/result.json": "e49e6fa3a9e95c05a77264ccb9f6afc7febd3b27933a54ea5f9575e67e1ba17d",
  "nangate45-vta8_tuned/sim.log": "a2cf136f36cbed4446cb6da404c90c06a4a2244c9ba10f1cdb594f21f76f9731",
  "nangate45-w8a8_p8/5_route_drc.rpt": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "nangate45-w8a8_p8/6_finish.rpt": "cdc228564866f484e033484690bfc1fa4dc739db0d21863aa681f11b5da8e38f",
  "nangate45-w8a8_p8/6_report.json": "d45c622d5f888019e2a470baa8eab8534e1ba9ae591d3bfc15e0c97a01a56e38",
  "nangate45-w8a8_p8/activity-header.txt": "045f55895ae722fc001ab44b3d30dd14fabe148ae370644a5e8e777752633acf",
  "nangate45-w8a8_p8/config.mk": "01a8eaf3d5437b5b2c77de318ed9905f0a678fed6a346efcb174882da4734d56",
  "nangate45-w8a8_p8/constraint.sdc": "22b9abd354c2d398a54a5fdd0472a5c1fbc0146e454904a69ccf2be091164e17",
  "nangate45-w8a8_p8/lec.txt": "732f82a8b19f9c00a86e85aa734add9d47a5bdc11e96133ca808c83c4bded972",
  "nangate45-w8a8_p8/power.log": "47b0c088944eda98d23afa601cefd35a47c223dd97774c8e3ae6e2954c3abef3",
  "nangate45-w8a8_p8/result.json": "b66419e193eeae9b3c77491f73c5c38ebdc6850667ed185cd58a2604cd1fd881",
  "nangate45-w8a8_p8/sim.log": "4110a02eb1cb9a9af7a27c235cb1301a6388b28aef6f4ebfebaf9184d6f59a28"
 }
}