Ответ с точки зрения аппаратного обеспечения (не прошивки): к сожалению, на ваш вопрос нет простого ответа. Каждая функция, которую вы указали, имеет множество различных аппаратных реализаций, как правило, между медленными и крупными. Кроме того, это зависит от вашей целевой FPGA, потому что некоторые из них встраивают эти функции в жесткие макросы, поэтому вопрос не более что они стоят, но у меня их достаточно в этой ПЛИС?
В качестве частичного ответа вы можете принять это: с самым простой, комбинаторной реализацией, не используя любой жесткий макрос, целый или с фиксированной точкой расходов N
-bits сумматора/вычитатель O(N)
а N x N
-bits затраты мультипликатора O(NxN)
. Грубо.
Для других функций очень сложно ответить, существует слишком много вариантов для рассмотрения (фиксированная/плавающая точка, латентность, пропускная способность, точность, диапазон ...). Предполагая, что вы сделаете аналогичный выбор для всех из них, я бы сказал: add < mul < div < sqrt < trig
. Но, честно говоря, не принимайте это как должное. Например, если вы работаете с числами с плавающей запятой, сумматор может быть ближе или даже больше, чем множитель, потому что для этого требуется выравнивание мантиссы, то есть баррель.
Если это вопрос VHDL/FPGA, вам нужен инженер-аппаратчик, а не инженер прошивки. –
Для арифметических операций (+ - * /) это будет сильно зависеть от того, считаете ли вы значения с фиксированной или плавающей запятой. Можете ли вы уточнить? – wap26
плавающие точки – Ehsan