From 9658811092f3dec4e7027602ae6c94bee8d37241 Mon Sep 17 00:00:00 2001 From: James Cherry Date: Fri, 1 Jul 2022 19:22:03 -0700 Subject: [PATCH] liberty latch inference require untate D->Q arcs Signed-off-by: James Cherry --- liberty/Liberty.cc | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/liberty/Liberty.cc b/liberty/Liberty.cc index 97981edf..d901c2b3 100644 --- a/liberty/Liberty.cc +++ b/liberty/Liberty.cc @@ -1728,10 +1728,9 @@ LibertyCell::inferLatchRoles(Debug *debug) // Look for combinational d->q arcs. TimingRole *d_to_q_role = d_to_q->role(); if ((d_to_q_role == TimingRole::combinational() - && ((d_to_q->arcCount() == 2 - && (d_to_q->sense() == TimingSense::positive_unate - || d_to_q->sense() == TimingSense::negative_unate)) - || (d_to_q->arcCount() == 4))) + && d_to_q->arcCount() == 2 + && (d_to_q->sense() == TimingSense::positive_unate + || d_to_q->sense() == TimingSense::negative_unate)) // Previously identified as D->Q arc. || d_to_q_role == TimingRole::latchDtoQ()) { LibertyPort *d = d_to_q->from();