From 62495c597ca8b60f733682661afdad9e0d3e0e2d Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Mon, 16 Mar 2020 13:58:08 -0400 Subject: Increase NUM_MULTS to 32. This required finding and fixing every function that had a baked-in assumption that NUM_MULTS=8. --- rtl/modexpng_mmm_dual.v | 30 ++++-------------------------- 1 file changed, 4 insertions(+), 26 deletions(-) (limited to 'rtl/modexpng_mmm_dual.v') diff --git a/rtl/modexpng_mmm_dual.v b/rtl/modexpng_mmm_dual.v index 9346a42..fd39943 100644 --- a/rtl/modexpng_mmm_dual.v +++ b/rtl/modexpng_mmm_dual.v @@ -829,18 +829,8 @@ module modexpng_mmm_dual input [NUM_MULTS_HALF_AUX-1:0] col_index_value; input [OP_ADDR_W -1:0] narrow_xy_addr_value; // - if (narrow_xy_addr_value[OP_ADDR_W-1:MAC_INDEX_W] == col_index_value) - case (narrow_xy_addr_value[MAC_INDEX_W-1:0]) - 3'b000: calc_mac_mode_z_square = {1'b1, 8'b11111110}; - 3'b001: calc_mac_mode_z_square = {1'b1, 8'b11111101}; - 3'b010: calc_mac_mode_z_square = {1'b1, 8'b11111011}; - 3'b011: calc_mac_mode_z_square = {1'b1, 8'b11110111}; - 3'b100: calc_mac_mode_z_square = {1'b1, 8'b11101111}; - 3'b101: calc_mac_mode_z_square = {1'b1, 8'b11011111}; - 3'b110: calc_mac_mode_z_square = {1'b1, 8'b10111111}; - 3'b111: calc_mac_mode_z_square = {1'b1, 8'b01111111}; - endcase - else calc_mac_mode_z_square = {1'b1, 8'b11111111}; + if (narrow_xy_addr_value[OP_ADDR_W-1:MAC_INDEX_W] == col_index_value) calc_mac_mode_z_square = ~({{NUM_MULTS_AUX-1{1'b0}}, 1'b1} << narrow_xy_addr_value[MAC_INDEX_W-1:0]); + else calc_mac_mode_z_square = {NUM_MULTS_AUX{1'b1}}; endfunction function [NUM_MULTS_AUX -1:0] calc_mac_mode_z_rectangle; @@ -848,20 +838,8 @@ module modexpng_mmm_dual input [NUM_MULTS_HALF_AUX -1:0] col_index_value; input [OP_ADDR_W -1:0] narrow_xy_addr_value; // - begin - if (narrow_xy_addr_value[OP_ADDR_W-1:MAC_INDEX_W] == col_index_value) - case (narrow_xy_addr_value[MAC_INDEX_W-1:0]) - 3'b000: calc_mac_mode_z_rectangle = {1'b1, 8'b11111110}; - 3'b001: calc_mac_mode_z_rectangle = {1'b1, 8'b11111101}; - 3'b010: calc_mac_mode_z_rectangle = {1'b1, 8'b11111011}; - 3'b011: calc_mac_mode_z_rectangle = {1'b1, 8'b11110111}; - 3'b100: calc_mac_mode_z_rectangle = {1'b1, 8'b11101111}; - 3'b101: calc_mac_mode_z_rectangle = {1'b1, 8'b11011111}; - 3'b110: calc_mac_mode_z_rectangle = {1'b1, 8'b10111111}; - 3'b111: calc_mac_mode_z_rectangle = {1'b1, 8'b01111111}; - endcase - else calc_mac_mode_z_rectangle = {1'b1, 8'b11111111}; - end + if (narrow_xy_addr_value[OP_ADDR_W-1:MAC_INDEX_W] == col_index_value) calc_mac_mode_z_rectangle = ~({{NUM_MULTS_AUX-1{1'b0}}, 1'b1} << narrow_xy_addr_value[MAC_INDEX_W-1:0]); + else calc_mac_mode_z_rectangle = {NUM_MULTS_AUX{1'b1}}; endfunction always @(posedge clk) -- cgit v1.2.3