From 67f83cda7f1e2021986dfd55f95b5c83b979f746 Mon Sep 17 00:00:00 2001 From: Kip Macsai-Goren Date: Wed, 22 Feb 2023 20:25:51 -0800 Subject: [PATCH] Fixed lint errors on zero and pop count. All of regression passes --- src/ieu/bmu/cnt.sv | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ieu/bmu/cnt.sv b/src/ieu/bmu/cnt.sv index 540d5e910..32be6b2eb 100644 --- a/src/ieu/bmu/cnt.sv +++ b/src/ieu/bmu/cnt.sv @@ -79,9 +79,12 @@ module cnt #(parameter WIDTH = 32) ( end end - //NOTE: Signal width mistmatch from log2(WIDTH) to WIDTH but deal with that later. - lzc #(WIDTH) lzc(.num(lzcA), .ZeroCnt(czResult)); - popcnt #(WIDTH) popcntw(.num(popcntA), .PopCnt(cpopResult)); + + lzc #(WIDTH) lzc(.num(lzcA), .ZeroCnt(czResult[$clog2(WIDTH):0])); + popcnt #(WIDTH) popcntw(.num(popcntA), .PopCnt(cpopResult[$clog2(WIDTH):0])); + // zero extend these results to fit into width *** There may be a more elegant way to do this + assign czResult[WIDTH-1:$clog2(WIDTH)+1] = {(WIDTH-$clog2(WIDTH)-1){1'b0}}; + assign cpopResult[WIDTH-1:$clog2(WIDTH)+1] = {(WIDTH-$clog2(WIDTH)-1){1'b0}}; assign CntResult = (B[1]) ? cpopResult : czResult;