From 838e6766597d5e7231023e87daa58de0d73480ac Mon Sep 17 00:00:00 2001 From: Ayyaz Ahmed Date: Thu, 22 Feb 2024 10:35:13 +0500 Subject: [PATCH] Fix EDA-2528, Updated condtion for DSP19X2 merging --- src/rs-dsp-simd.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/rs-dsp-simd.cc b/src/rs-dsp-simd.cc index c4cce30c..f2dc16f2 100644 --- a/src/rs-dsp-simd.cc +++ b/src/rs-dsp-simd.cc @@ -159,9 +159,19 @@ struct RSDspSimdPass : public Pass { std::string name = stringf("simd_%s_%s", RTLIL::unescape_id(dsp_a->name).c_str(), RTLIL::unescape_id(dsp_b->name).c_str()); std::string SimdDspType; - - if (use_cfg_params) + /*EDA-2528- Checking the condition for not merging DSP with reg-out with a DSP that dont have a reg-out*/ + bool conti = false; + if (use_cfg_params && technology == "genesis3"){ + for (const auto &it : m_DspParams2Mode) { + if (dsp_a->getParam(RTLIL::escape_id(it)) != dsp_b->getParam(RTLIL::escape_id(it))){ + conti = true; + break; + } + } + if (conti)continue; + /*--------------------------------------------EDA-2528-----------------------------------------------------*/ SimdDspType = m_SimdDspType_cfg_params; + } else SimdDspType = m_SimdDspType_cfg_ports;