From fdcef3cbc4cfd05d34ff91dfaeb7b351f4c6aa01 Mon Sep 17 00:00:00 2001 From: Cary R Date: Tue, 12 Feb 2013 18:34:46 -0800 Subject: [PATCH] A concatenation may also need a BUFZ to hold the drive strength Just like a select a concatenation needs a BUFZ to hold the drive strength. --- elaborate.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/elaborate.cc b/elaborate.cc index 7968e9b47..2c593336b 100644 --- a/elaborate.cc +++ b/elaborate.cc @@ -176,11 +176,12 @@ void PGAssign::elaborate(Design*des, NetScope*scope) const need_driver_flag = false; } - /* When we are given a non-default strength value and if the - * drive source is a bit, part or indexed select we need to - * add a driver (BUFZ) to convey the strength information. */ + /* When we are given a non-default strength value and if the drive + * source is a bit, part, indexed select or a concatenation we need + * to add a driver (BUFZ) to convey the strength information. */ if ((drive0 != IVL_DR_STRONG || drive1 != IVL_DR_STRONG) && - (dynamic_cast(rval_expr))) { + ((dynamic_cast(rval_expr)) || + (dynamic_cast(rval_expr)))) { need_driver_flag = true; }