From 29fb6afd018c601a2e0c7376656d5e37beb565d6 Mon Sep 17 00:00:00 2001 From: "Pavel V. Shatov (Meister)" Date: Tue, 1 Oct 2019 15:01:43 +0300 Subject: Started working on the pipelined Montgomery modular multiplier. Currently can do the "square" part of the multiplication, i.e. compute the twice larger intermediate product AB = A * B. --- rtl/modexpng_parameters.vh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 rtl/modexpng_parameters.vh (limited to 'rtl/modexpng_parameters.vh') diff --git a/rtl/modexpng_parameters.vh b/rtl/modexpng_parameters.vh new file mode 100644 index 0000000..f846119 --- /dev/null +++ b/rtl/modexpng_parameters.vh @@ -0,0 +1,39 @@ +//localparam WORD_WIDTH = 17; +//localparam MAC_WIDTH = 47; + +//localparam BANK_ADDR_WIDTH = 3; // TODO: Replace everywhere! + +localparam [2:0] BANK_FAT_T1T2 = 3'd0; +localparam [2:0] BANK_FAT_ABL = 3'd1; +localparam [2:0] BANK_FAT_ABH = 3'd2; +localparam [2:0] BANK_FAT_Q = 3'd3; +localparam [2:0] BANK_FAT_Q_EXT = 3'd4; +localparam [2:0] BANK_FAT_ML = 3'd5; +localparam [2:0] BANK_FAT_MH = 3'd6; +localparam [2:0] BANK_FAT_MH_EXT = 3'd7; + +localparam [1:0] BANK_SLIM_T1T2 = 2'd0; +localparam [1:0] BANK_SLIM_N = 2'd1; +localparam [1:0] BANK_SLIM_N_COEFF = 2'd2; +localparam [1:0] BANK_SLIM_N_COEFF_EXT = 2'd3; + + +//localparam BANK_Y_T2 = 3'd0; +//localparam BANK_XY_T1T2 = 3'd0; + +//localparam BANK_XY_AB_LSB = 3'd1; +//localparam BANK_XY_AB_MSB = 3'd2; + +//localparam BANK_X_N = 3'd3; +//localparam BANK_Y_N_COEFF = 3'd3; + +//localparam BANK_XY_M = 3'd4; + +//localparam BANK_XY_Q_LSB = 3'd5; +//localparam BANK_XY_Q_MSB = 3'd6; + +//localparam BANK_XY_AUX = 3'd7; + +//localparam BANK_XY_ANY = 3'bXXX; + +//localparam BANK_XY_AUX_ADDR_N_COEFF = 0; -- cgit v1.2.3