Перейти к содержанию
    

проект в VitrexE

Привет всем!! Подскажите пожалуйста я вот делаю фильтр на ПЛИС Xilinx VirtexE xcv300E где в проекте использую шестнадцатиразрядные сумматоры (16adder). И вот мой проект по частотным свойствам упирается в 150Мгц, тормозят сумматоры. Я пробовал рисовать сам сумматоры, а не использовать библиотеки, да получалось что суммирование происходило допустим за 16 тактов и частота около 220 Мгц, но занимает один такой сумматор 3% от сего кристалла, а у меня в проекте таких около 20 или чуть побольше....:))

XCV300 заменил на VCX600 так как часто происходили сбои фильтра (загрузка крисстала составляла 70% для 300 ), вчера только запрограммировал во не знаю опять будут происходить сбои или нет, да еще крисстал грелся как утюг:)) тактовая частота подаваямая на крисстал 120 МГц. Задействован только один клок крисстала, может из за этого:((

Хотел бы узнать ваше мнение ао вопросам:

1. Как лучше делать сумматор на 16 разрядов?

2. До какого процента использования крисстала лучше делать проект?

3. Как правильно подводить частоту к тактовым ножкам крисстала?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В самом спеке указано, что Pipelined Multiplier 16 x 16 он способен реализовать за 5.1 ns, правда не указано какую логику он при этом займет, но частота вроде должна тебе подойти. Если выбор FPGA не критичен, то попробый те в которых уже есть готовый multiplier, Virtex 2 например, у него кажется есть multiplier 18x18 . Там и DPLL побольше и получше, сможешь подавать на тактовые ножки крисстала частоту поменьше, глядишь и греться поменьше будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1.Лучше сумматор,чем тебе родит корегенератор,ты вряд ли сделаешь.

2.Если учебный-то хоть 100% :-).А в реале после процентов 85-90 уже начинает хуже разводиться,времянка падает.

3.генератором :-).

А ваще попробуй ещё ручками по кристаллу раставить.Особенно память.ну или кристал пошустрее выбрать(-7,например).Ещё увеличть конвеер можно(если есть куда увеличиваться).Ну и последний вариант-пересмотреть структуру проекта радикально.Иногда помогает,особенно если рожался "методом маленьких домкратов".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваще попробуй ещё ручками по кристаллу раставить. Ещё увеличть конвеер можно(если есть куда увеличиваться).Иногда помогает,особенно если рожался "методом маленьких домкратов".

Да вот идея ручками попробовать хорошая, попробую что-нибудь сделать:))

А вот на счет метода маленьких домкратов не понял??

Крисстал XCV300EPQ240-8 скорость 8:))

А конвеер. Продлить время сумирования??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. с <= a+b кореген те луче ничего не сделает, введение конвеера на 2-4 такта увеличит скорость, но общее время вычислений увеличится (получишь выигрышь только для нерекурсивного фильтра)

2. пока логика вмещается :)), но при больших заполнениях фитер начинает мутить и забирать ячейки под разводку

3. генератор, маленькая длинна дорожки "нога-нога", скругленные углы у дорожки тоже не будут лишними

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если выбор FPGA не критичен, то попробый те в которых уже есть готовый multiplier, Virtex 2 например, у него кажется есть multiplier 18x18 .

Выбор как раз кретичен по корпусу, нужен PQ240, так как пайка BGA не освоена :))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. с <= a+b кореген те луче ничего не сделает, введение конвеера на 2-4 такта увеличит скорость, но общее время вычислений увеличится (получишь выигрышь только для нерекурсивного фильтра)

3. генератор, маленькая длинна дорожки "нога-нога", скругленные углы у дорожки тоже не будут лишними

Корегеном не пользовался:(( Я работаю в ISE6.1 там помоему по умолчанию не стоит. Он отдельно ставиться?? Я вот работал в LIBERO фирмы ACTEL вот там был:))

А вот насчет подвода генератора к кристаллу, я имел ввиду как подвести правильно к 4 ножкам CLK одновременно, так как они находятся на разных сторонах ПЛИС, просто заделжка получиться, не отразиться это на работе проекта??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

зачем ко всем подводить???

одной вполне хватит.. если один клок

температура от этого никак не зависит

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>А вот на счет метода маленьких домкратов не понял??

ООООО.Метод малениких домкратов-удивительная вешь!Поясняю.

Для начала разрабатывается общая стуктура проекта.Делается это долго(относительно) и вдумчиво.После написания кода и исправления мелких ошибок выясняется-работает.Это-метод Большого домкрата. B)

 

Другая ситуация.Общая стуктура разработана плохо.Не потому что ты глупый, а просто могут выйти из виду мелкие вещи,которые перерастут в большие непиятности.Пишется код.И выясняется,что мелкими ошибками не отделаешься.Приходится делать всякие надстройки,патчи,переписки и т.п.,чтобы сохранить ранее придуманную стуктуру.Это-метод маленьких домкратов. B)

 

Поэтому и родилася данная рекомендация:"Ну и последний вариант-пересмотреть структуру проекта радикально.Иногда помогает,особенно если рожался "методом маленьких домкратов".

 

А раз есть ISE6.1, то и корегенератор должен быть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что касается о построении сумматоров, думаю стоит почитать XAPP018, хоть он и для старого семейства, но в качестве теории подойдет. Там приводится формула для расчета получаемых задержек, только для Virtex подставляются немного другие времена (можешь посмотреть отчет Timing Analyzer). Там же приводится альтернативное построение сумматоров, с целью увеличения быстродействия.

На счет объема проекта, необходимо учитывать не только фак увеличения времени на Implemenation, но и возрастаемое потребление тока ядром. Кстати, это могло стать причиной сбоев. Типичный проект (50% FFS, 50% LUT, 15% Int Toggle) на 100 МГц для кристалла XCV300E требует около 600 мА, для XCV600E - почти 1.4 А. Так что, проверь источник на возможность выдачи требуемого тока для твоего проекта. Возможное потреблении можно оценить, воспользовавшись XPower или Power Estimator.

Для обычного проекта достаточно использовать один тактовый вход или два, если требуется Feedback от внешней тактовой, используемой, например, для работы с микросхемами SDRAM.

На последок, прикрепляю к письму XAPP018 и Power Estimator for Virtex.

xapp018_and_PE.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Молодец Браток!

Жизненую тему поднял!

Уже много правильных советов дали. От себя добавлю.

1. Сумматор лучше брать КореГеновский, т.к. но вставляет RLOCи как следствие разводка легче и быстрее.

2. Делать можно до 100%. Вот только ели "меры" на принимать посинееш

"Меры"

Самый надежный - Modular Design (влечет за собой ощутимый геморой в отладке).

Самый правильный - (предварительное внимательное изучение RTL, важно чтобы синтезатор нарисовал то что нужно) описываеш констрейны на каждый путь. Как тебе уже советовали, можно потаскать по кристаллу части для лучшей разводки. Далее фиксируеш получившееся, на случай дополнений.

У меня как правило всегда возникают незамеченные неограниченные пути, проявляется это так - изменяеш один блок ломается другой (знакомая картина ;)). Т.е. у Вас глючить может из-за этого, плохого питания (как указал USTAT), и еще вариант - ПЛИСа наверняка обвязана памятью процессором и т.п. и соответственно возможны конфликты на шинах и как следствие кристал тоже сильно греется (у меня Sp2 на 200т на 70%: 15%-120МГц, 40%-60МГц, 15%-30МГц. греется градусов на 60).

3. Самое доступное - SI нализ. Прикрутив IBIS модели в HyperLinx можеш посмотреть времянки на лапах. Очень полезно перед тем как тупо поставить согласующие резюки предлагаемые егошним визардом, поиграться с выходной поделью (12fast,12slow и т.п.).

Вроде все. Естественно вышесказанное ни есть догма, просто придерживаясь этих правил жить мне стало как-то интересней ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое 3.14, USTAS, Mad Makc, lutik и edward77!!! Постараюсь воспользоваться вашеми советами, о результатах доложу:))

CoreGEn нашел!! Находился прям на видном месте:)) прям при создании нового файла:))) скоко создавал даже не смотрел туда:)))

На счет "Метод малениких домкратов" - прикольно, теперь буду знать как это называется:)

Спасибо за файл XAPP018, смотрю скачало уже 14 человек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...