[an error occurred while processing this directive]
Циклон-2 не может или квартус не хочет? (навеяно электроникосом)
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено SM 10 декабря 2005 г. 13:01

Вот. Выдаем на выход (регистровый) минимальное или максимальное (выбирается SEL'ом) из двух входных. Специально написал так, чтобы не видеть, что там синтезатор навыдумывает. Все прозрачно и видно, как должно лечь в LUT. Итого на циклоне 9 лутов, как и положено, а вот на втором проигнорированы все CARRY_SUM и 15 лутов. Кто тут виноват? Квартус не хочет или циклон не может?


parameters ( WIDTH=8 );

subdesign test (
dataa[WIDTH-1..0] : INPUT;
datab[WIDTH-1..0] : INPUT;
out[WIDTH-1..0] : OUTPUT;
clk, sel, reset : INPUT;
)

VARIABLE
out_reg[WIDTH-1..0] : DFFEAS;
comp[WIDTH-1..0] : CARRY_SUM;
selector : LCELL;
BEGIN

for i in 0 to WIDTH-1 generate
if (i==0) generate
comp[i].sin = dataa[i];
comp[i].cin = dataa[i] # !datab[i];
else generate
comp[i].sin = dataa[i];
comp[i].cin = dataa[i] & (!datab[i] # comp[i-1].cout) # !dataa[i] & !datab[i] & comp[i-1].cout;
end generate;
out_reg[i].D = comp[i].sout;
out_reg[i].asdata = datab[i];
out_reg[i].clrn = reset;
out_reg[i].sload = selector;
out_reg[i].clk = clk;
end generate;

selector = comp[WIDTH-1].cout $ sel;

out[] = out_reg[];

END;


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru