Я не могу понять, как принять абсолютное значение двух std_logic_vector (31 downto 0);Как взять абсолютное значение std_logic_vector? в VHDL
вот пример кода:
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all; -- for the signed, unsigned types and arithmetic ops
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
...
...
port (
X: in std_logic_vector(31 downto 0);
Y: in std_logic_vector(31 downto 0);
F: out std_logic_vector(31 downto 0)
);
..
..
..
process(X,Y)
begin
F <= abs(X-Y) --this doesnt work
Как бы вы вычислить абсолютное значение двоичного значения с помощью карандаша и бумаги? Просто повторите этот алгоритм в VHDL. –
@JoeHass это правильный ответ, если вы учитесь, или если у вас есть что-то не встроенное, но использование встроенного 'abs' на стандартном' подписанном 'типе часто будет синтезироваться для лучшего кода во многих FPGA и Синтезаторы поставщика ASIC, которые в отдельном случае используют некоторые встроенные математические операции. – wjl