Полная версия этой страницы:
Борьба с времянками
D-Luxe
Sep 29 2011, 16:02
Нужно срочно придумать решение для борьбы с времянками.
Скажите какая нужна информация о проекте. Напишу.
bogaev_roman
Sep 29 2011, 16:42
Цитата(D-Luxe @ Sep 29 2011, 20:02)

Нужно срочно придумать решение для борьбы с времянками.
Ну так для начала написали хотя бы что-то - критичный путь там или логику. Какая частота получается и сколько надо, какие настройки стоят по оптимизации скорость/площадь и т.д. Выложите хотя бы кусок проекта.
Я всегда борюсь последовательно если можно следующим образом:
1. Переделка логики (включая изменение алгоритма и конвейеризацию)
2. Изменение настроек и параметров проекта в САПР
3. Создание партиций на критичные места и шаманство - перебор seed или DSE (только в крайнем случае)
Джеймс
Sep 29 2011, 16:55
опять 25...
в каком смысле "борьба с времянками"?? что вы вкладываете в это понятие? проект по-прежнему глючит? шина PLB жутко тормозная? не проходите по какой-то из 6-7 частот?
D-Luxe
Sep 29 2011, 17:37
Проект не проходит по одной частоте:
* TS_client_rx_clk0 = PERIOD TIMEGRP "clk_client_rx_clk0" 7.2 ns
Check 8.424ns
Worst Case Slack -1.224ns.
Настройки синтезатора, маппера дефолтные в EDK.
Все критические пути - передача данных между Coregen'овскими FIFO. (Т.е. при перекладывании из одного FIFO в другое, размеры FIFO - 2, 8, 64 Кбайт)
ПЛИС - Virtex 4-FX20. Заполненность кристалла - 63%.
VladimirB
Sep 29 2011, 18:33
Цитата(D-Luxe @ Sep 29 2011, 21:37)

Проект не проходит по одной частоте...
PlanAhead вам точно поможет.
+ настройки можно покрутить - типа оптимизации по скорости.
P.S. преждевременно вы в Америку собрались...
D-Luxe
Sep 29 2011, 18:48
Цитата(VladimirB @ Sep 29 2011, 22:33)

PlanAhead вам точно поможет.
+ настройки можно покрутить - типа оптимизации по скорости.
P.S. преждевременно вы в Америку собрались...
Общие принципы работы в PlanAhead можете рассказать.
Оптимизация по скорости не помогает - Slack большой.
Цитата(D-Luxe @ Sep 29 2011, 21:48)

Оптимизация по скорости не помогает - Slack большой.
Можно по четным нечетным отсчетам работать. За счет ресурсов.
(Раньше так в скорости выигрывали)
D-Luxe
Sep 29 2011, 18:57
Цитата(sazh @ Sep 29 2011, 22:54)

Можно по четным нечетным отсчетам работать. За счет ресурсов.
(Раньше так в скорости выигрывали)
Что вы имеет ввиду когда говорите четные нечетные.
Цитата(D-Luxe @ Sep 29 2011, 21:57)

Что вы имеет ввиду когда говорите четные нечетные.
Распараллеливание ресурсов. (два фифо меньшей емкости)
Надобно всё же приложить сюда отчёт временного анализатора и проблемный исходный код.
VladimirB
Sep 29 2011, 19:25
Цитата(D-Luxe @ Sep 29 2011, 22:48)

Общие принципы работы в PlanAhead можете рассказать.
Открываешь, создаёшь проект,
делишь ПЛИС на Pblok'и и помещаешь туда куски дизайна в соответствии с логикой работы проекта и связями между отдельными его частями.
Дальше запускаешь оттуда PAR и изучаешь тайминги. Корректируешь дизайн и расстановку Pblock'oв.
И так пока не сойдутся тайминги.
P.S. ISE доживает последние деньки, вместо него будет у-Rodin-а на основе PlanAhead.
Bad0512
Sep 30 2011, 04:05
Цитата(D-Luxe @ Sep 30 2011, 00:37)

Проект не проходит по одной частоте:
* TS_client_rx_clk0 = PERIOD TIMEGRP "clk_client_rx_clk0" 7.2 ns
Check 8.424ns
Worst Case Slack -1.224ns.
Настройки синтезатора, маппера дефолтные в EDK.
Все критические пути - передача данных между Coregen'овскими FIFO. (Т.е. при перекладывании из одного FIFO в другое, размеры FIFO - 2, 8, 64 Кбайт)
ПЛИС - Virtex 4-FX20. Заполненность кристалла - 63%.
7.2нС для Виртекса4 - это смех просто. Видимо проблема где-то у вас в коде-настройках-директивах UCF для тайминг аналайзера.
Телепаты отдыхают, выкладывайте проект (или мелкий проектик где ваша проблема видна явно).
DmitryR
Sep 30 2011, 06:44
Не скажу ничего нового - для FX применение PlanAhead еще более актуально, чем для кристаллов без процесора. Потому что как по собственной инициативе фиттер вокруг процессора логику раскладывает - я каждый раз диву давался.
Но еще бывает, что выводы неудачно расположены. Ведь шины у процессора выходят из определенного места, и если пины, куда выводятся выводы блоков с этой шины расположены с другой стороны кристалла - приходиться делать аццкие конвейеры, чтобы дотянуться.
bogaev_roman
Sep 30 2011, 10:12
Цитата(D-Luxe @ Sep 29 2011, 21:37)

Все критические пути - передача данных между Coregen'овскими FIFO. (Т.е. при перекладывании из одного FIFO в другое, размеры FIFO - 2, 8, 64 Кбайт)
ПЛИС - Virtex 4-FX20. Заполненность кристалла - 63%.
Т.е. я так понимаю, что у Вас большое время распространения сигнала от одного fifo до другого без дополнительной логики и при большой загруженности кристалла все очень плохо разводится. Тут проще всего planahead'ом раскидать проблемные блоки и закрепить, как уже советовали
DmitryR и
VladimirB
Цитата(D-Luxe @ Sep 29 2011, 21:37)

Проект не проходит по одной частоте:
* TS_client_rx_clk0 = PERIOD TIMEGRP "clk_client_rx_clk0" 7.2 ns
Check 8.424ns
Worst Case Slack -1.224ns.
Настройки синтезатора, маппера дефолтные в EDK.
Все критические пути - передача данных между Coregen'овскими FIFO. (Т.е. при перекладывании из одного FIFO в другое, размеры FIFO - 2, 8, 64 Кбайт)
ПЛИС - Virtex 4-FX20. Заполненность кристалла - 63%.
Попробуйте поставить регистры на выходе одного FIFO и на входе другого
AlphaMil
Oct 5 2011, 13:55
Кстати, подскажите, что значит Starting Placer Cost Table в ISE-е? Там в хелпе что-то написано, но не конкретно.
Перебор Cost table может поднять частоту в плохом проекте, когда остальные меры нежелательны или уже не помогают. Вы как будто получаете ПЛИС на одну градацию лучше, если повезёт.
AlphaMil
Oct 6 2011, 05:33
Да, про это в хелпе что-то написано, но что этот перебор делает физически??
При переборе весов физически меняется размещение ресурсов по ПЛИСу.
Подскажите, можно ли для улучшения качества работы фиттера по определенным линиям (WR И RD от процессора) их описать в SDCфайле как частотные(тем более они на глобал поданы!) как create_clock -period 50MHz -name {WR} ?
Тем более так проще потом контролировать Слаки в TQ... по этим сигналам.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.