Forum Discussion
Altera_Forum
Honored Contributor
20 years agoHello markman,
sorry for the late reply, but I was out of office last week. The speed of the multiplication instruction depends on the nios2 core you select, when designing the system (there are 3 : fast, standard, economy). On top of that you can disable the hardware for multiplication altogether. This is what unimplemented opcode means. You can find a table with the information on multiplication in the Nios2 Processor Reference Handbook under the section Appendix II.Nios2 Core Implementation Details, then look under the heading of your core. About 32x32 multiplication in 1 cycle: As I understand it, the result of a 32x32 multiplication is 64bits long. As the nios2 is "only" a 32bit processor the result can't be stored completely in one register. Because of that there are the the different types of mul(xx). One instruction to calculate the lower 32bits of the result, and depending whether your operands are signed or unsigned, the mulx(??) instruction to calculate the higher 32bits of the result. And to give my 5 cents about your question: If you need your 64bit result in 1 cycle, then I think you should use a custom instruction.