From c3f6e0ea851b90b11671015f2bb472c857f0e2d9 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Sat, 7 May 2016 09:33:16 +0200 Subject: [PATCH] Added support for "keep" attribute to shregmap --- passes/techmap/shregmap.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/passes/techmap/shregmap.cc b/passes/techmap/shregmap.cc index 766c1c65f..6936b499e 100644 --- a/passes/techmap/shregmap.cc +++ b/passes/techmap/shregmap.cc @@ -112,7 +112,7 @@ struct ShregmapWorker { for (auto wire : module->wires()) { - if (wire->port_output) { + if (wire->port_output || wire->get_bool_attribute("\\keep")) { for (auto bit : sigmap(wire)) sigbit_with_non_chain_users.insert(bit); } @@ -130,7 +130,7 @@ struct ShregmapWorker for (auto cell : module->cells()) { - if (opts.ffcells.count(cell->type)) + if (opts.ffcells.count(cell->type) && !cell->get_bool_attribute("\\keep")) { IdString d_port = opts.ffcells.at(cell->type).first; IdString q_port = opts.ffcells.at(cell->type).second; -- 2.30.2