diff --git a/hardware/src/ara_sequencer.sv b/hardware/src/ara_sequencer.sv index e3acb0821..cd6de56e8 100644 --- a/hardware/src/ara_sequencer.sv +++ b/hardware/src/ara_sequencer.sv @@ -231,7 +231,7 @@ module ara_sequencer import ara_pkg::*; import rvv_pkg::*; import cf_math_pkg::i vreg_access_t [31:0] write_list_d, write_list_q; // This function determines the VFU responsible for handling this operation. - function automatic vfu_e vfu(ara_op_e op = VADD); + function automatic vfu_e vfu(ara_op_e op); unique case (op) inside [VADD:VWREDSUM] : vfu = VFU_Alu; [VMUL:VFWREDOSUM] : vfu = VFU_MFpu; diff --git a/hardware/src/ara_soc.sv b/hardware/src/ara_soc.sv index 45d4de78d..a8d8c3e86 100644 --- a/hardware/src/ara_soc.sv +++ b/hardware/src/ara_soc.sv @@ -14,7 +14,7 @@ module ara_soc import axi_pkg::*; import ara_pkg::*; #( // Support for floating-point data types parameter fpu_support_e FPUSupport = FPUSupportHalfSingleDouble, // External support for vfrec7, vfrsqrt7 - parameter fpext_support_e FPExtSupport = FPExtSupportEnable, + parameter fpext_support_e FPExtSupport = FPExtSupportDisable, // Support for fixed-point data types parameter fixpt_support_e FixPtSupport = FixedPointEnable, // AXI Interface diff --git a/hardware/src/lane/lane_sequencer.sv b/hardware/src/lane/lane_sequencer.sv index fcaf85f03..57bf31537 100644 --- a/hardware/src/lane/lane_sequencer.sv +++ b/hardware/src/lane/lane_sequencer.sv @@ -564,7 +564,7 @@ module lane_sequencer import ara_pkg::*; import rvv_pkg::*; import cf_math_pkg:: // Extra elements to ask, because of the stride logic [$clog2(8*NrLanes)-1:0] extra_stride; // Need one bit more than vl, since we will also add the stride contribution - logic [$size(pe_req.vl):0] vl_tot; + logic [$bits(pe_req.vl):0] vl_tot; // We need to trim full words from the start of the vector that are not used // as operands by the slide unit. diff --git a/hardware/src/masku/masku.sv b/hardware/src/masku/masku.sv index 65d20e790..2974ac103 100644 --- a/hardware/src/masku/masku.sv +++ b/hardware/src/masku/masku.sv @@ -321,23 +321,12 @@ module masku import ara_pkg::*; import rvv_pkg::*; #( // Remaining elements of the current instruction in the commit phase vlen_t commit_cnt_d, commit_cnt_q; - // Population count for vcpop.m instruction - popcount #( - .INPUT_WIDTH (DataWidth*NrLanes) - ) i_popcount ( - .data_i (vcpop_operand), - .popcount_o(popcount ) - ); + // vpopc substitute + assign popcount = vcpop_operand[$clog2(DataWidth*NrLanes):0]; - // Trailing zero counter - lzc #( - .WIDTH(DataWidth*NrLanes), - .MODE (0) - ) i_clz ( - .in_i (vcpop_operand), - .cnt_o (vfirst_count ), - .empty_o (vfirst_empty ) - ); + // vfirst substitute + assign vfirst_count = vcpop_operand[$clog2(DataWidth*NrLanes)-1:0]; + assign vfirst_empty = vcpop_operand[0]; always_comb begin: p_mask_alu alu_result = '0;