[an error occurred while processing this directive]
|
Как-то раз мне захотелось поэкспериментировать с системами VHDL синтеза. Основной вопрос:"Что лучше по критерию быстродействие-объем реализации?" Вот что получилось. Основные претенденты:
1. Altera MAX+PLUS II v.9.6 (с VHDL-синтезом)
2. Synopsis FPGA Express 3.4.0.5211 (Altera Edition)
3. Exemplar Logic LeonardoSpectrum v. 1999.1j (Altera Edition)
4. Synplicity SynplifyPro 6.0.0 (Full)
Тестовый файл - 16-разрядный перемножитель без знака, с синхронизацией по входам и выходам. Возможно, выбор такого теста спорен, но перемножитель достаточно сложное устройство.
Файл приведен ниже
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
entity multiply_reg is
port
(
clk :in std_logic;
A, B :in std_logic_vector (15 downto 0);
AB :out std_logic_vector (31 downto 0)
);
end multiply_reg;
architecture behave of multiply_reg is
signal a_reg :std_logic_vector (15 downto 0);
signal b_reg :std_logic_vector (15 downto 0);
signal ab_reg :std_logic_vector (31 downto 0);
begin
process (clk)
begin
if (clk'event and clk = '1') then
a_reg <= A;
b_reg <= B;
ab_reg <= a_reg * b_reg;
end if;
end process;
ab <= ab_reg;
end behave;
При тестировании основной упор делался на быстродействие, которое измерялось в MAX+PLUS II при помощи Registered Performance.
В качестве входного файла для MAX+PLUS II выбирался EDIF.
Использовалась ПЛИС EPF10K30ATC144-1
Результаты:
______________ Fmax, MHz____________ # of LC__________
MAX+PLUS II 26.45 566
Synopsis 26.17 566
Exemplar 28,98 549
Synplicity 40.81 408
Результаты, как можно заметить, очень интересные
Выводы делайте сами. Но очень удивил Synopsys.
Хотя раньше слышал, что синтез от Altera - отстой.
Интересно было-бы обсудить вопросы синтеза.
E-mail: info@telesys.ru