From 0420d39b339a65eacfc00db3f8b446310993dbb6 Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Fri, 29 Aug 2025 12:47:57 +0200 Subject: [PATCH] attach ECC pins --- himbaechel/uarch/gatemate/pack_bram.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/himbaechel/uarch/gatemate/pack_bram.cc b/himbaechel/uarch/gatemate/pack_bram.cc index d69d7340..2e84e242 100644 --- a/himbaechel/uarch/gatemate/pack_bram.cc +++ b/himbaechel/uarch/gatemate/pack_bram.cc @@ -420,6 +420,10 @@ void GateMatePacker::pack_ram() move_ram_o(&ci, ctx->idf("ENB[%d]", i)); move_ram_o(&ci, ctx->idf("GLWEA[%d]", i)); move_ram_o(&ci, ctx->idf("GLWEB[%d]", i)); + move_ram_o(&ci, ctx->idf("ECC1B_ERRA[%d]", i)); + move_ram_o(&ci, ctx->idf("ECC1B_ERRB[%d]", i)); + move_ram_o(&ci, ctx->idf("ECC2B_ERRA[%d]", i)); + move_ram_o(&ci, ctx->idf("ECC2B_ERRB[%d]", i)); } if (is_fifo) { @@ -482,6 +486,12 @@ void GateMatePacker::remap_ram_half(CellInfo *half, CellInfo *cell, int num) rename_or_move(half, cell, ctx->idf("ADDRB0[%d]", i), ctx->idf("ADDRB%d[%d]", num, i)); } + index = num ? 1 : 0; + rename_or_move(half, cell, ctx->idf("ECC1B_ERRA[0]"), ctx->idf("ECC1B_ERRA[%d]", index)); + rename_or_move(half, cell, ctx->idf("ECC1B_ERRB[0]"), ctx->idf("ECC1B_ERRB[%d]", index)); + rename_or_move(half, cell, ctx->idf("ECC2B_ERRA[0]"), ctx->idf("ECC2B_ERRA[%d]", index)); + rename_or_move(half, cell, ctx->idf("ECC2B_ERRB[0]"), ctx->idf("ECC2B_ERRB[%d]", index)); + static dict map_params = { {id_RAM_cfg_forward_a0_clk, id_RAM_cfg_forward_a1_clk}, {id_RAM_cfg_forward_b0_clk, id_RAM_cfg_forward_b1_clk},