From e7ef790145abdafa56f7a460b3c9af87dfafb95e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20V=C3=A1zquez?= <83733507+danivz@users.noreply.github.com> Date: Fri, 19 Jul 2024 18:21:37 +0200 Subject: [PATCH] Remove pow function to avoid errors in Synopsys DC (#559) --- hw/ip/pdm2pcm/rtl/fir.sv | 4 +++- hw/ip/pdm2pcm/rtl/halfband.sv | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hw/ip/pdm2pcm/rtl/fir.sv b/hw/ip/pdm2pcm/rtl/fir.sv index 6d22d673e..ce17a7a66 100644 --- a/hw/ip/pdm2pcm/rtl/fir.sv +++ b/hw/ip/pdm2pcm/rtl/fir.sv @@ -48,7 +48,9 @@ module fir #( genvar k; generate for (k = 0; k < TOTCOEFS; k = k + 1) begin : coeffs_mapping - assign coeffs[k] = freecoeffs[int'($floor($sqrt($pow((TOTCOEFS-1)/2.0-k, 2))))]; + // Remove $pow function to avoid errors in Synopsys DC + // assign coeffs[k] = freecoeffs[int'($floor($sqrt($pow((TOTCOEFS-1)/2.0-k, 2))))]; + assign coeffs[k] = freecoeffs[int'($floor($sqrt(((TOTCOEFS-1)/2.0-k)*((TOTCOEFS-1)/2.0-k))))]; end endgenerate diff --git a/hw/ip/pdm2pcm/rtl/halfband.sv b/hw/ip/pdm2pcm/rtl/halfband.sv index 9d9355c8d..a0710c586 100644 --- a/hw/ip/pdm2pcm/rtl/halfband.sv +++ b/hw/ip/pdm2pcm/rtl/halfband.sv @@ -63,7 +63,11 @@ module halfband #( genvar k; generate for (k = 0; k < TOTCOEFS; k = k + 1) begin : coeffs_mapping - assign coeffs[k] = lessfreecoeffs[int'($floor($sqrt($pow((TOTCOEFS-1)/2.0-k, 2))))]; + // Remove $pow function to avoid errors in Synopsys DC + // assign coeffs[k] = lessfreecoeffs[int'($floor($sqrt($pow((TOTCOEFS-1)/2.0-k, 2))))]; + assign coeffs[k] = lessfreecoeffs[int'($floor( + $sqrt(((TOTCOEFS-1)/2.0-k)*((TOTCOEFS-1)/2.0-k)) + ))]; end endgenerate