diff options
Diffstat (limited to 'src/rtl/modexpa7_wrapper.v')
-rw-r--r-- | src/rtl/modexpa7_wrapper.v | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/rtl/modexpa7_wrapper.v b/src/rtl/modexpa7_wrapper.v index a4e2319..8ebc22a 100644 --- a/src/rtl/modexpa7_wrapper.v +++ b/src/rtl/modexpa7_wrapper.v @@ -42,7 +42,7 @@ module modexpa7_wrapper # input cs, input we, - input [OPERAND_ADDR_WIDTH+2:0] address, + input [OPERAND_ADDR_WIDTH+3:0] address, input [ 32-1:0] write_data, output [ 32-1:0] read_data ); @@ -54,8 +54,8 @@ module modexpa7_wrapper # localparam ADDR_MSB_REGS = 1'b0; localparam ADDR_MSB_CORE = 1'b1; - wire address_msb = address[OPERAND_ADDR_WIDTH+2]; - wire [OPERAND_ADDR_WIDTH+1:0] address_lsb = address[OPERAND_ADDR_WIDTH+1:0]; + wire address_msb = address[OPERAND_ADDR_WIDTH+3]; + wire [OPERAND_ADDR_WIDTH+2:0] address_lsb = address[OPERAND_ADDR_WIDTH+2:0]; /* @@ -68,17 +68,17 @@ module modexpa7_wrapper # /* * Registers */ - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_NAME0 = 'h00; // - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_NAME1 = 'h01; // - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_VERSION = 'h02; // - - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_CONTROL = 'h08; // {next, init} - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_STATUS = 'h09; // {valid, ready} - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_MODE = 'h10; // {crt, dummy} - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_MODULUS_BITS = 'h11; // number of bits in modulus - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_EXPONENT_BITS = 'h12; // number of bits in exponent - localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_BUFFER_BITS = 'h13; // largest supported number of bits
- localparam [OPERAND_ADDR_WIDTH+1:0] ADDR_ARRAY_BITS = 'h14; // number of bits in systolic array + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_NAME0 = 'h00; // + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_NAME1 = 'h01; // + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_VERSION = 'h02; // + + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_CONTROL = 'h08; // {next, init} + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_STATUS = 'h09; // {valid, ready} + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_MODE = 'h10; // {crt, dummy} + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_MODULUS_BITS = 'h11; // number of bits in modulus + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_EXPONENT_BITS = 'h12; // number of bits in exponent + localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_BUFFER_BITS = 'h13; // largest supported number of bits
+ localparam [OPERAND_ADDR_WIDTH+2:0] ADDR_ARRAY_BITS = 'h14; // number of bits in systolic array localparam CONTROL_INIT_BIT = 0; localparam CONTROL_NEXT_BIT = 1; @@ -91,7 +91,7 @@ module modexpa7_wrapper # localparam CORE_NAME0 = 32'h6D6F6465; // "mode" localparam CORE_NAME1 = 32'h78706137; // "xpa7" - localparam CORE_VERSION = 32'h302E3230; // "0.20" + localparam CORE_VERSION = 32'h302E3235; // "0.25" /* |