From 191be632e23b26fa9eae484b04dde0ad5af35e39 Mon Sep 17 00:00:00 2001 From: Maciej Dudek Date: Wed, 9 Mar 2022 14:13:29 +0100 Subject: nexus: DCCs cannot be cascaded This commit solves implicit cascading when clock signal drives DCC and logic Signed-off-by: Maciej Dudek --- nexus/pack.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nexus/pack.cc') diff --git a/nexus/pack.cc b/nexus/pack.cc index a769c05a..bff50d89 100644 --- a/nexus/pack.cc +++ b/nexus/pack.cc @@ -883,7 +883,7 @@ struct NexusPacker for (size_t i = 0; i < std::min(clk_fanout.size(), available_globals); i++) { NetInfo *net = ctx->nets.at(clk_fanout.at(i).second).get(); log_info(" promoting clock net '%s'\n", ctx->nameOf(net)); - insert_buffer(net, id_DCC, "glb_clk", id_CLKI, id_CLKO, [](const PortRef &port) { return true; }); + insert_buffer(net, id_DCC, "glb_clk", id_CLKI, id_CLKO, [&](const PortRef &port) { return port.cell->type != id_DCC; }); } } -- cgit v1.2.3