Работает на дискретном косинусном преобразовании с использованием VHDL. Я пытаюсь преобразовать код VHDL из целого в стандартный логический вектор. Я применил некоторые методы, которые я читал в Интернете и из учебников, но это не сработало. Ниже приведен код, который я попробовал преобразовать. Мне хотелось бы, чтобы длина ввода была 8 бит, а длина вывода была 12 бит. Спасибо.дискретное косинусное преобразование с использованием VHDL
entity dct is
port (
Clk : in BIT;
Start : in BIT;
Din : in INTEGER;
Done : out BIT;
Dout : out INTEGER
);
end dct;
architecture behavioral of dct is
begin
process
type RF is array (0 to 7, 0 to 7) of INTEGER;
variable i, j, k : INTEGER;
variable InBlock : RF;
variable COSBlock : RF;
variable TempBlock : RF;
variable OutBlock : RF;
variable A, B, P, Sum : INTEGER;
begin
Вот один, который я пробовал после чтения некоторых книг, и я продолжаю получать ошибки.
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity dct is
port (
Clk : in std_logic;
Start : in std_logic;
Din_temp: in INTEGER;
temp := conv_std_logic_vector(Din_temp, 8);
Done : out std_logic;
Dout_temp: out INTEGER;
temp := conv_std_logic_vector(Dout_temp, 9));
end dct;
architecture behavioral of dct is
begin
process
type RF is matrix(0 to 7, 0 to 7) of ;
variable i, j, k : std_logic_vector(7 downto 0);
variable InBlock : RF;
variable COSBlock : RF;
variable TempBlock : RF;
variable OutBlock : RF;
variable A, B, P, Sum : std_logic_vector(7 downto 0);
begin