From 3c29cc217ee693e6e33093e7b05187b021820151 Mon Sep 17 00:00:00 2001 From: myrtle Date: Tue, 28 Apr 2026 13:08:08 +0200 Subject: [PATCH] gatemate: Handle missing INIT on BRAMs (#1707) Signed-off-by: gatecat --- himbaechel/uarch/gatemate/pack_bram.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/himbaechel/uarch/gatemate/pack_bram.cc b/himbaechel/uarch/gatemate/pack_bram.cc index ce292cb5..8650c067 100644 --- a/himbaechel/uarch/gatemate/pack_bram.cc +++ b/himbaechel/uarch/gatemate/pack_bram.cc @@ -584,10 +584,14 @@ void GateMatePacker::repack_ram() for (int i = 63; i >= 0; i--) { std::vector orig_first; if (ram.second.first) - orig_first = ram.second.first->params.at(ctx->idf("INIT_%02X", i)).extract(0, 320).as_bits(); + orig_first = get_or_default(ram.second.first->params, ctx->idf("INIT_%02X", i), Property()) + .extract(0, 320) + .as_bits(); std::vector orig_second; if (ram.second.second) - orig_second = ram.second.second->params.at(ctx->idf("INIT_%02X", i)).extract(0, 320).as_bits(); + orig_second = get_or_default(ram.second.second->params, ctx->idf("INIT_%02X", i), Property()) + .extract(0, 320) + .as_bits(); std::string init[2]; for (int j = 0; j < 2; j++) {