diff --git a/vvp/array.cc b/vvp/array.cc index 1cbbda240..7b3d6699c 100644 --- a/vvp/array.cc +++ b/vvp/array.cc @@ -1259,7 +1259,8 @@ static void array_attach_port(vvp_array_t array, vvp_fun_arrayport*fun) assert(fun->next_ == 0); fun->next_ = array->ports_; array->ports_ = fun; - if (!array->get_scope()->is_automatic()) { + if (!array->get_scope()->is_automatic() && + (array->vals4 || array->vals)) { /* propagate initial values for variable arrays */ if (!vpi_array_is_real(array)) { vvp_bit4_t init;