[an error occurred while processing this directive]
To _ik_ в продолжении темы carry+cascade …
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)

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

Отправлено Andy-P 28 апреля 2004 г. 12:46

Установил Quartus4+SP1 и скомпилировал пример, о котором писал раннее
http://www.telesys.ru/wwwboards/fpga/127/messages/41470.shtml

Результат аналогичный Q2.2 - 33LC. CARRY и CASCADE цепи раскладываются
на отдельные независимые LC. Компилятор так же меняет CARRY на CARRY_SUM.
Описание последнего такое же неполное.
По библиотечному addcore.tdf разобрался как работать с CARRY_SUM и переписал
пример с использованием CARRY_SUM.

Цепь переноса для i-го разряда:
a_gr_b[15 - i].cin = dataa[15 - i] & !datab[15 - i]
# (dataa[15 - i] !$ datab[15 - i]) & a_gr_b[15 - 1 - i].cout;

Цепь каскадирования для i-го разряда:

Вариант1

a_eq_b[15 - i] = CASCADE((dataa[15 - i] !$ datab[15 - i]) & a_eq_b[15 - 1 - i]);

Результат: CARRY и CASCADE цепи раскладываются на отдельные независимые LC.
Входы dataа и datab подключаются к LC от входных выводов.

Вариант2

a_gr_b[15..0] : CARRY_SUM;

a_gr_b[15 - i].sin = (dataa[15 - i] !$ datab[15 - i]);
a_eq_b[15 - i] = CASCADE(a_gr_b[15 - i].sout & a_eq_b[15 - 1 - i]);

Результат: образуется CARRY цепь, CASCADE цепи нет, вместо чего на отдельных LC
реализована заданная функция, но при этом использующая промежуточный результат
(dataa[15 - i] !$ datab[15 - i]), полученный в цепи CARRY.

Вариант3

a_gr_b[15 - i].sin = CASCADE((dataa[15 - i] !$ datab[15 - i]) & a_gr_b[15 - 1 - i].sout);

Результат: нет обоих цепей! Предупреждение компилятора о невозможности запитать порт sin выходом CASCADE.

Если у вас есть иные варианты или новости по этой теме, дайте знать.
Буду очень признателен!

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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru