[an error occurred while processing this directive]
|
Просветите, пожалуйста, вот по какому вопросу. Разбираюсь в FPGA и не могу понять, почему все что я делаю имеет такую низкую производительность. Сделал самое простое - однобитный полный сумматор
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
entity full_adder is
port(
a: in std_logic;
b: in std_logic;
cin: in std_logic;
c: out std_logic;
cout: out std_logic);
end full_adder;
architecture full_adder of full_adder is
begin
process(a,b,cin)
begin
c <= (a xor b) xor cin;
cout <= (a and b) or (a and cin) or (b and cin);
end process;
end full_adder;
Собрал его в Quartus Web Edition 6.0 и получаю, что результат он дает через ~13нс. Если использую LPM примитивы, все работает гораздо быстрее.
Подскажите, что надо сделать (кроме настроек fitter'а) что бы это заработало побыстрее (я думаю, проблемма в трассировке), или где можно про это прочитать?
Неужели Altera при разработки своих примитивов использовала какие-то технологии недоступные рчдовому разработчику?