the pipelined multiplier is designed to accept in every clock cycle two new numbers to be multiplied the product of both is calculated in a number of stages and is ready when all stages have been run through e g for a 32 32 bit multiplication the number of stages can be 17 16 for multiplication and 1 for the final addition every clock cycle a next product is calculated but the outcome is only ready after 17 clock cycles so at most 17 products are being processed at the same clock cycle for an efficient pipelined multiplier the long integer calculations have been designed such that the pipeline is kept filled one has to avoid the situation that a new calculation depends on a result that is still under way in such situation wait states would have to be inserted this is the reason for designing the montgomery multiplications for elliptic curve calculations differently from rsa like calculations next to the multiplication the multiplier executes two additions p x y a b one of the additions is necessary for the multiplication of two long integers where the multiplication must be split in a number of elementary 32 32 bit multiplications pipelined multipliers can be designed for different numbers of bits e g 8 8 or 16 16 the montgomery multiplication calculates the product.