|
Подскажите, как бороть времянки в Xilinx?, Задержки в цепях гораздо больше, чем в логике |
|
|
|
Dec 22 2010, 15:44
|
Знающий
   
Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543

|
Здравствуйте, уважаемые гуры. Собираю проект под Spartan-6, а точнее XC6SLX150T. Микросхема большая, текущая версия проекта занимает ее примерно наполовину (в будущем хотелось бы заполнить под завязку). При компиляции (синтез Synplify, остальное ISE 12.3) проект не проходит по времянкам. В отчете по ошибкам времянок классическая картина следующая: Код ------------------------------------------------- ------------------- SLICE_X52Y115.CQ Tcko 0.447 SLICE_X48Y99.A3 net (fanout=8) 1.571 SLICE_X48Y99.CMUX Topac 0.537 SLICE_X51Y97.C5 net (fanout=2) 0.573 SLICE_X51Y97.C Tilo 0.259 SLICE_X85Y58.B4 net (fanout=12) 3.898 SLICE_X85Y58.B Tilo 0.259 SLICE_X113Y49.C4 net (fanout=68) 2.203 SLICE_X113Y49.C Tilo 0.259 SLICE_X116Y49.C4 net (fanout=16) 0.727 SLICE_X116Y49.C Tilo 0.204 SLICE_X105Y54.A3 net (fanout=1) 1.158 SLICE_X105Y54.A Tilo 0.259 SLICE_X105Y54.B6 net (fanout=1) 0.118 SLICE_X105Y54.B Tilo 0.259 SLICE_X85Y54.D6 net (fanout=1) 1.236 SLICE_X85Y54.CLK Tas 0.322
------------------------------------------------- --------------------------- Total 14.289ns (2.805ns logic, 11.484ns route) (19.6% logic, 80.4% route) Можно видеть, что: 1) потери на "путь" гораздо больше, чем потери на логику. 2) fanout части цепей достигает больших значений (68 например), что по моему мнению не может не сказываться на задержках в этой цепи. Кстати, в настройках Synplify ставлю Max fanout = 30, что не мешает появляться цифрам типа вышеуказанного 68. Собственно, вопросов 2: 1) Прав ли я в том, что большой fanout цепей увеличивает их задержки. Если да - то как его уменьшить. 2) Если синтез производится силами Synplify, какие оптимизации Map в ISE нужно включать, а какие - лучше не надо? Например, в настройках и того, и того есть возможность включить Retiming. Ну или пошлите, где на эту тему почитать. Заранее спасибо.
Сообщение отредактировал Koluchiy - Dec 22 2010, 15:50
|
|
|
|
|
 |
Ответов
|
Dec 23 2010, 04:52
|
Знающий
   
Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543

|
Цитата 1) да. разрешить Map Properties -> register duplication -> On Включено. Цитата В общем случае Allow Logic Optimization Across Hierarchy нужно включать Включено. Цитата Попробуйте синтезировать XST На этом проекте (да и вообще на моих проектах) Синплифай дает ощутимый выигрыш. Кроме того, в XST скорее всего надо будет менять текст, т.к. он не всё поддерживает, чего написано. Цитата Если вы контролируете исходные тексты, можете проверить корректность после изменений и представляете где и что, то может иметь смысл руками дублировать регистры с большим fanout. А почему оно само не может автоматом размножать? Это недоделки ихних программистов, или есть какие-то проблемы с размножением (учитывая, что свободная логика есть). Цитата А сколько не влезает то? В процентах. Логика влезает вся (заполнение микросхемы порядка 44%). Проблема во времянках. Если судить по отчетам P&R, проблемных цепей всего ничего - для разных настроек от 15 до 100. Но при правке этих цепей и перекомпиляции он успешно находит другие "не успевающие" цепи. Собственно, основная фишка работы в том, что проект изначально создавался и отлаживался под Virtex-5, а теперь вот начальство издало гениальное решение переделывать практически готовый проект под Spartan-6... А он ощутимо медленнее...
|
|
|
|
|
Dec 23 2010, 05:54
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
ну вот эти можно пробывать: Perform Timing-Driven Packing and Placemen Map Effort Level - в хай Extra Effort - в хай Trim Unconnected Signals - включить Optimization Strategy - Speed LUT Combining отключить Global Optimization весьма помогает. Может поможет. Можно планахед запустить. там уже предопределенные стратегии есть. Но вот это ваше сообщение выглядит грустно: Цитата(Koluchiy @ Dec 23 2010, 10:52)  Но при правке этих цепей и перекомпиляции он успешно находит другие "не успевающие" цепи. В wp331 первый рисунок очень полезен, посмотрите. Там вообще весь алгоритм очень наглядно показан.
|
|
|
|
Сообщений в этой теме
Koluchiy Подскажите, как бороть времянки в Xilinx? Dec 22 2010, 15:44 Shtirlits 1) да. разрешить Map Properties -> register dup... Dec 22 2010, 16:21 disel ИМХО. Судя по всему, слоев логики очень много, пер... Dec 22 2010, 17:10 Shtirlits Случаи бывают разные. Плохим размещением можно и с... Dec 22 2010, 17:50 Leka Результат синтеза в XST сильно зависит от способа ... Dec 22 2010, 18:20 RobFPGA Приветствую!
В такой ситуации в первую очеред... Dec 22 2010, 19:27 disel Цитата(Koluchiy @ Dec 23 2010, 10:52) Лог... Dec 23 2010, 05:04 Koluchiy Порядка 2-3 наносекунд на проблемную цепь.
Период... Dec 23 2010, 05:06 disel wp331. Он правда достаточно древний, и не все прим... Dec 23 2010, 05:15 Koluchiy ЦитатаЕсли у вас с 44% заполнения уже проблемы, то... Dec 23 2010, 05:28 Koluchiy Оно, конечно, мало(хотя есть цепи с fanout за 80).... Dec 23 2010, 07:45 DmitryR Цитата(Koluchiy @ Dec 23 2010, 13:45) Оно... Dec 23 2010, 07:58 Koluchiy ЦитатаЭто получается не от фанаута, а от неоптимал... Dec 23 2010, 08:07 DmitryR Цитата(Koluchiy @ Dec 23 2010, 14:07) В м... Dec 23 2010, 08:31 dmitry-tomsk Цитата(Koluchiy @ Dec 23 2010, 15:07) В м... Dec 23 2010, 14:52 Shtirlits От разработчиков placer-ов почему-то годами скрыва... Dec 23 2010, 16:50 disel Хаппи энд случился? Jan 12 2011, 05:39 Koluchiy Цитата(disel @ Jan 12 2011, 08:39) Хаппи ... Jan 19 2011, 07:59  disel Цитата(Koluchiy @ Jan 19 2011, 10:59) Поч... Jan 19 2011, 08:12 Мур Прокоментируйте, народ, такой парадокс.
Если я доб... Jan 19 2011, 07:06 disel Схема поди не синхронная или констрейны заданы не ... Jan 19 2011, 07:15 Мур Цитата(disel @ Jan 19 2011, 11:15) Схема ... Jan 19 2011, 07:31  disel Цитата(Мур @ Jan 19 2011, 10:31) Там же ... Jan 19 2011, 07:59   Мур Цитата(disel @ Jan 19 2011, 11:59) А заче... Jan 19 2011, 08:27 Koluchiy Ну, во-1х, пока не победил, ибо 86% пока откомпили... Jan 19 2011, 08:34 DmitryR Global optimiztion в моей практике может помочь до... Jan 19 2011, 08:49 disel Т.е. ручная расстановка + переделка схемы. Понятно... Jan 19 2011, 08:44 Koluchiy ЦитатаПо пункту 3 можно было в таком случае и муль... Jan 19 2011, 08:57 disel Ну тогда да. Jan 19 2011, 09:07 jojo Рецепт для 95-100% слайсов и максимальных частот.
... Jan 19 2011, 09:09 Koluchiy Граждане, кто-нибудь пробовал компилировать проект... Feb 24 2011, 09:52 Kuzmi4 2 Koluchiy
из тяжеловесных имею XC3S1600E: на AMD ... Feb 24 2011, 10:00 Koluchiy Spartan-3 мне не очень интересно, у меня есть прое... Feb 24 2011, 10:04 DmitryR Цитата(Koluchiy @ Feb 24 2011, 13:04) Неу... Feb 24 2011, 10:29 Kuzmi4 2 Koluchiy
ну тут выше 45ки дело не имел
правда ... Feb 24 2011, 10:06 Koluchiy 2 Kuzmi4
Цитата(Kuzmi4 @ Feb 24 2011, 13... Feb 24 2011, 11:48 disel У меня правда не спартан, а виртекс6. Но в целом п... Feb 24 2011, 10:29 Kuzmi4 2 Koluchiy
не секрет там несколько частот: внешн... Feb 24 2011, 11:55 Victor® Цитата(Kuzmi4 @ Feb 24 2011, 14:55) 2 Kol... Feb 24 2011, 12:30 Kuzmi4 2 Victor®
возле того Feb 24 2011, 12:39
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|