diff options
Diffstat (limited to 'rtl/ed25519_uop.v')
-rw-r--r-- | rtl/ed25519_uop.v | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/rtl/ed25519_uop.v b/rtl/ed25519_uop.v index 4b744c6..12b9e10 100644 --- a/rtl/ed25519_uop.v +++ b/rtl/ed25519_uop.v @@ -30,13 +30,22 @@ // //====================================================================== -localparam integer UOP_ADDR_WIDTH = 6; // 2 ^ 6 = 64 instructions +localparam integer UOP_ADDR_WIDTH = 9; // 2 ^ 9 = max 512 instructions localparam integer UOP_DATA_WIDTH = 5 + 1 + 3 * 6; // opcode + banks + 3 * operand (2 * src + dst) -localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_PREPARE = 6'd00; -localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_BEFORE_ROUND_K1 = 6'd09; -localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_BEFORE_ROUND_K0 = 6'd18; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_PREPARE = 9'd000; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_BEFORE_ROUND_K0 = 9'd009; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_BEFORE_ROUND_K1 = 9'd018; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_DURING_ROUND = 9'd027; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_AFTER_ROUND_K0 = 9'd062; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_AFTER_ROUND_K1 = 9'd067; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_BEFORE_INVERSION = 9'd072; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_DURING_INVERSION = 9'd075; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_AFTER_INVERSION = 9'd354; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_FINAL_REDUCTION = 9'd358; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_HANDLE_SIGN = 9'd361; +localparam [UOP_ADDR_WIDTH-1:0] UOP_OFFSET_OUTPUT = 9'd363; localparam [4:0] UOP_OPCODE_COPY = 5'b00001; localparam [4:0] UOP_OPCODE_ADD = 5'b00010; |