1. A multiplication circuit, generating a product of a matrix and a first scalar when in matrix mode and a product of a second scalar and a third scalar when in scalar mode, the multiplication circuit comprising: a sub-product generator configured to generate sub-products of the matrix and the first scalar when in matrix mode and sub-products of the second scalar and the third scalar when in scalar mode; an accumulator coupled to output of the sub-product generator; and an adder configured to sum outputs of the accumulator to generate the product of the second scalar and the third scalar when in scalar mode; wherein in matrix mode the sub-products are stacked into a square form and are summed by the accumulator to generate save of the summation of the outputs of the accumulator to be the product of the matrix and the first scalar; wherein in scalar mode the sub-products are stacked and each sub-product shifted in position with respect to an adjacent one of the sub-products to make the sub-product to have a stair form, a middle part of the stair form is extracted to form a square matrix, empty fields of the middle part are padded by zeroes, the square matrix is summed by the accumulator to generate save and carry of the summation of the square matrix, and saves and carries of the summation of the remaining parts of the stair form of the sub-products are generated.