реклама на сайте
подробности

 
 
> Подскажите, как бороть времянки в Xilinx?, Задержки в цепях гораздо больше, чем в логике
Koluchiy
сообщение Dec 22 2010, 15:44
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 42)
Shtirlits
сообщение Dec 22 2010, 16:21
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



1) да. разрешить Map Properties -> register duplication -> On, поиграть со стратегиями P&R
2) там нечего крутить практически, только effort и strategy. Balanced и Area в некоторых редких случаях может дать лучше времянки (для CRC, DES и т.п.). В общем случае Allow Logic Optimization Across Hierarchy нужно включать, но не все схемы это допускают. Может быть я путаю сейчас с опцией синтеза xst "Keep Hierarchy", после которой может потребоваться вносить изменения в .UCF

Попробуйте синтезировать XST, несколько лет назад я перестал даже пытаться синтезировать синплифаем, не умею его готовить.
Если вы контролируете исходные тексты, можете проверить корректность после изменений и представляете где и что, то может иметь смысл руками дублировать регистры с большим fanout.
В случае, когда дизайн большой, сделан из огромного чужого кода или готовых ядер, то однозначно нужно играть настройками, выкручивать все на максимум (Reentrant Route, High, High, Continue on Impossible), но можно сначала заглянуть в PlanAhead и помочь с размещением руками. Наделать AreaGroup и расставить все аккуратно.
Go to the top of the page
 
+Quote Post
disel
сообщение Dec 22 2010, 17:10
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



ИМХО. Судя по всему, слоев логики очень много, перекос в сторону route большой. Игрой с настройками синтезатора\маппера\парсера ничего, кроме потери времени и изучения этих самых настроек, не достигните. Схему надо менять. Конвеер, мультицикловые констрейны и т.д.
С увеличением загрузки кристалла ситуация будет только ухудшаться.
Полезный документ wp381 (правда он про виртекс). Был какой то еще документ полезный про хай-перфоманс, завтра на работе найду.
А сколько не влезает то? В процентах. В ксалинксовых апноутах пишется, что настройками синтеза\маппера можно играть если процентов 10 не хватает. Если больше, то схему нужно корректировать.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Dec 22 2010, 17:50
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Случаи бывают разные. Плохим размещением можно и с 200 MHz до 20 MHz уронить.
Некоторые схемы вообще могут работать, только при правильных констрейнах размещения.
Переделывать схему конечно прекрасно, но как бы не попасть на последующую отладку и верификацию. Кто гарантирует, что переделанная схема будет такая же по функциональности?
Я за подробное изучение проблем в схеме и последующие подсказки placer-у без переделки самой схемы.
Go to the top of the page
 
+Quote Post
Leka
сообщение Dec 22 2010, 18:20
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Результат синтеза в XST сильно зависит от способа описания схемы, правильная разбивка на мелкие модули может заметно уменьшить число уровней логики.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Dec 22 2010, 19:27
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!

В такой ситуации в первую очередь анализ путей где именно возникают проблемы,
затем попытка уменьшит длину связей заданием ограничений на размещение
как говорил товарищ Shtirlits -AreaGroup, фиксация блоков памяти, и.т.д.
Полезно также посмотреть нет ли "лишних" констрейн. Поскольку очень часто при излишней "зажатости" PR не может автоматом оптимально разместить проект. Например если есть несколько clk которые формируются из одного источника то при этом
автоматом появляются констрейны на связи между clk доменами которые могут быть очень "жесткими" хоть и реально не нужными в проекте.
Соответственно если их не поставить в "игнор" то PR всеми своими немощными попытками будет пытается их реализовать теряя при этом в действительно нужных местах. Ну и естественно если по дизайну цепь необходимо размазать по всему кристаллу - тут только изменение логики может помочь.

Так что ищите хороший бубен! :-)

Удачи! Rob.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 23 2010, 04:52
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 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...
А он ощутимо медленнее...
Go to the top of the page
 
+Quote Post
disel
сообщение Dec 23 2010, 05:04
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(Koluchiy @ Dec 23 2010, 10:52) *
Логика влезает вся (заполнение микросхемы порядка 44%).
Проблема во времянках.


Я про то сколько по времени не влезает.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 23 2010, 05:06
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Порядка 2-3 наносекунд на проблемную цепь.

Период порядка 12.5 нс.

Сообщение отредактировал Koluchiy - Dec 23 2010, 05:11
Go to the top of the page
 
+Quote Post
disel
сообщение Dec 23 2010, 05:15
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



wp331. Он правда достаточно древний, и не все применимо, но больших изменений нет.
Регистры сами размножаться могут - включить Register Duplication.
Ключевое слово для поиска - Timing Closure.
Если у вас с 44% заполнения уже проблемы, то при полном заполнении проблемы будут еще больше. Я бы схему начал переделывать сразу. Мучений меньше.

Цитата(Koluchiy @ Dec 23 2010, 11:06) *
Порядка 2-3 наносекунд на проблемную цепь.

Период порядка 12.5 нс.


3/12,5 = 24 %. Настройками маппера\парсера вы этого не выберете. Если выберете сейчас, по при заполнении кристалла, опять вернетесь к этой проблеме.

Мультициклы в констрейнах, статичные цепи в игнор весьма помогают.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 23 2010, 05:28
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата
Если у вас с 44% заполнения уже проблемы, то при полном заполнении проблемы будут еще больше. Я бы схему начал переделывать сразу. Мучений меньше.

Теоретически это понятно, а практически эти 44% - задача минимум, до выполнения которой, казалось бы, всего ничего. До того момента, когда будет необходимо выполнять задачу максимум (80%), может чего-то "по опыту эксплуатации" поменяться, что вызовет необходимость что-то дополнительно корректировать (возможно, существенно).
Поэтому хочется откомпилить "as is".
Да и вообще интересно выжать из ПО максимум, чего оно может дать.

Цитата
Мультициклы в констрейнах, статичные цепи в игнор весьма помогают.

Буду пытаться...

Цитата
3/12,5 = 24 %.

Тем не менее, если посмотреть на табличку в первом посте и представить, что в цепи с fanout 68 сделать, чтобы fanout был = 34 и при этом задержка станет вместо 2.2 нс -> 1.1 нс, то это уже 1 нс. Если с остальных столько же наскрести, то вот уже те самые 2-3 нс.

Сообщение отредактировал Koluchiy - Dec 23 2010, 05:24
Go to the top of the page
 
+Quote Post
disel
сообщение Dec 23 2010, 05:54
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 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 первый рисунок очень полезен, посмотрите. Там вообще весь алгоритм очень наглядно показан.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Dec 23 2010, 07:11
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Fanout 68 - это на самом деле довольно мало, не вижу смысла пытаться его уменьшить. Надо сначала сделать размещение в PlanAhead, а настройки маппера выкрутить как раз на минимум. Ибо если вы сейчас будете выезжать на маппере - при загрузке микросхемы в 80% вы не влезете никуда наверняка. Начинайте с PlanAhead всегда, в любых относительно сложных проектах: это заодно еще может сильно уменьшить время работы маппера.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 23 2010, 07:45
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Оно, конечно, мало(хотя есть цепи с fanout за 80).
Но если посмотреть на то, что задержки цепей от задержки всего пути составляют порядка 80%, уже кажется, что много...
Ну и есть некоторое чисто академическое непонимание вопроса - почему в Synplify стоит ограничение 30, а на практике получается гораздо больше?
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Dec 23 2010, 07:58
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Koluchiy @ Dec 23 2010, 13:45) *
Оно, конечно, мало(хотя есть цепи с fanout за 80).
Но если посмотреть на то, что задержки цепей от задержки всего пути составляют порядка 80%, уже кажется, что много...

Это получается не от фанаута, а от неоптимального размещения, когда соединяемые модули оказываются физически далеко друг от друга.

Цитата(Koluchiy @ Dec 23 2010, 13:45) *
Ну и есть некоторое чисто академическое непонимание вопроса - почему в Synplify стоит ограничение 30, а на практике получается гораздо больше?

Потому что маппер еще есть, и он много чего умеет.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Dec 23 2010, 08:07
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата
Это получается не от фанаута, а от неоптимального размещения, когда соединяемые модули оказываются физически далеко друг от друга.

В моём понимании, неоптимальное размещение дает большие длины линий(сопротивление), а фанаут дает большую емкость нагрузки. Соответственно, улучшить результат можно, оптимизируя и то, и другое.
Или я неправ?

Цитата
Потому что маппер еще есть, и он много чего умеет.

Можно как-то ограничить его стремление к повышению фанаута? Чего включить/выключить надо.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Dec 23 2010, 08:31
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Koluchiy @ Dec 23 2010, 14:07) *
В моём понимании, неоптимальное размещение дает большие длины линий(сопротивление), а фанаут дает большую емкость нагрузки. Соответственно, улучшить результат можно, оптимизируя и то, и другое.
Или я неправ?

Это для ASIC. Для FPGA считайте грубо, что задержка сильно коррелирует с длиной (почти линейно) линии и слабо коррелирует с фанаутом (растет линейно при экспоненциальном росте фанаута).

Цитата(Koluchiy @ Dec 23 2010, 14:07) *
Можно как-то ограничить его стремление к повышению фанаута? Чего включить/выключить надо.

Не заморачивайтесь, только время потеряете.
Go to the top of the page
 
+Quote Post
dmitry-tomsk
сообщение Dec 23 2010, 14:52
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 672
Регистрация: 18-02-05
Пользователь №: 2 741



Цитата(Koluchiy @ Dec 23 2010, 15:07) *
В моём понимании, неоптимальное размещение дает большие длины линий(сопротивление), а фанаут дает большую емкость нагрузки. Соответственно, улучшить результат можно, оптимизируя и то, и другое.
Или я неправ?


Можно как-то ограничить его стремление к повышению фанаута? Чего включить/выключить надо.


p&r в ise настолько тупой, что самое тривиальное размещение модулей по кристаллу в planahead даёт отличные результаты по частоте и времени имплементации.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Dec 23 2010, 16:50
Сообщение #19


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



От разработчиков placer-ов почему-то годами скрывают существование регулярных структур и требуют размещения по принципу минимального расхода проволоки и близости к вымышленному пупу чипа.

sm.gif
Go to the top of the page
 
+Quote Post
disel
сообщение Jan 12 2011, 05:39
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Хаппи энд случился?
Go to the top of the page
 
+Quote Post
Мур
сообщение Jan 19 2011, 07:06
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Прокоментируйте, народ, такой парадокс.
Если я добился в Post-Route и самом медленном Speed grade-2 устойчивой работы проекта в Model Sim, но при смене Speed grade-3 (шустрее!) вижу как валится проект на ровном месте(не должно быть такого в моём понимании).
Казалось бы, стоило расслабиться! Я в лёгкой прострации...
Go to the top of the page
 
+Quote Post
disel
сообщение Jan 19 2011, 07:15
Сообщение #22


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Схема поди не синхронная или констрейны заданы не верно (или не заданы). Других вариантов нет.
А зачем Post-Route в моделсим засовывать?
Go to the top of the page
 
+Quote Post
Мур
сообщение Jan 19 2011, 07:31
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(disel @ Jan 19 2011, 11:15) *
Схема поди не синхронная или констрейны заданы не верно (или не заданы). Других вариантов нет.

Схема синхронная под единую 100Мгц. Собственно, в констрейнах только это и было прописано...
Цитата(disel @ Jan 19 2011, 11:15) *
А зачем Post-Route в моделсим засовывать?

Там же большее приближение к истинным задержкам! Глюки в нём как раз и просматриваются...
Go to the top of the page
 
+Quote Post
disel
сообщение Jan 19 2011, 07:59
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(Мур @ Jan 19 2011, 10:31) *
Там же большее приближение к истинным задержкам! Глюки в нём как раз и просматриваются...

А зачем вам истинные задержки? Именно вам? Пускай временной анализатор этим мучается.

Вообще в данной теме это офтоп и нехорошо. Создайте новую тему, если нужно.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Jan 19 2011, 07:59
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата(disel @ Jan 12 2011, 08:39) *
Хаппи энд случился?


Почти, но не совсем.
Т.е. при заполнении 44% всё вполне себе.
Но при заполнении микросхемы 86% при выполнении MAP в компьютере заканчивается память sm.gif.

Сообщение отредактировал Koluchiy - Jan 19 2011, 08:00
Go to the top of the page
 
+Quote Post
disel
сообщение Jan 19 2011, 08:12
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(Koluchiy @ Jan 19 2011, 10:59) *
Почти, но не совсем.
Т.е. при заполнении 44% всё вполне себе.
Но при заполнении микросхемы 86% при выполнении MAP в компьютере заканчивается память sm.gif.



Ну вы поделитесь как победили.

Странно по поводу памяти. В спартане6 вроде ничего страшного нет: http://www.xilinx.com/ise/products/memory.htm.
Go to the top of the page
 
+Quote Post
Мур
сообщение Jan 19 2011, 08:27
Сообщение #27


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(disel @ Jan 19 2011, 11:59) *
А зачем вам истинные задержки? Именно вам? Пускай временной анализатор этим мучается.

Поведенчески проект совершенен(ModelSim)
До заливки в железо провериться всегда полезно с приближенными к реальности задержками...
Цитата(disel @ Jan 19 2011, 11:59) *
Вообще в данной теме это офтоп и нехорошо. Создайте новую тему, если нужно.

Извините! Тема спала...
Я посчитал, что времянки здесь тоже цепляют такой вариант.
...Я просто воспользовался поиском и не стал новый топик из такого пустяка создавать.
Как решат модераторы?
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Jan 19 2011, 08:34
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Ну, во-1х, пока не победил, ибо 86% пока откомпилить не удалось.

А в остальном - собственно, все рецепты здесь перечислили.
1) Включение всех оптимизаций по скорости (в Synplify - тоже).
2) Ручная расстановка отдельных блоков. Я расставлял блоки памятей, причем делал это в общем "по наитию", но эффект это дало очень заметный.
3) Развязка отдельных блоков между собой при помощи промежуточных триггеров (можно это назвать конвейеризацией). Т.е. если нет разницы, через сколько тактов придет такой-то сигнал из блока А в блок Б, то между А и Б ставятся триггера, которые делят путь на участки.

Цитата
Странно по поводу памяти. В спартане6 вроде ничего страшного нет

Ну вот там вот написано, что для S6 150LXT в пике 2300 МБайт.
А у меня их 2 гига...
Собственно, память закончилась тогда, когда я на 86% заполнения включил Global Optimization.
Go to the top of the page
 
+Quote Post
disel
сообщение Jan 19 2011, 08:44
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Т.е. ручная расстановка + переделка схемы. Понятно.
По пункту 3 можно было в таком случае и мультицикловыми констрейнами обойтись.

На расстановку еще влияет cost table. Можно запустить на ночь смарт эхплорер, пускай перебирает пока не найдет подходящий вариант. А потом фиксить.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Jan 19 2011, 08:49
Сообщение #30


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Global optimiztion в моей практике может помочь дотянуть чуть-чуть, но не может помочь кардинально, а ресурсов (в основном времени) жрет много. Поэтому я бы его не включал. Если у вас компилируется без него - расскажите, что получается.

А памяти не жалейте, она же дешевая. Если написано пик 2300 - значит надо иметь минимум 4 гига: эти пики оказываются, как сами видите, вполне достижимыми. Да, придется поставить шестидесятичетырехразрадную операционку, но двенадцатый ISE в ней уже вроде полностью живет.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Jan 19 2011, 08:57
Сообщение #31


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата
По пункту 3 можно было в таком случае и мультицикловыми констрейнами обойтись.

Насколько я понимаю суть мультицикловых констрейнов, нельзя.

Поскольку данные передаются каждый такт, и поэтому должны фиксироваться в триггере перед следующим тактом.
Но могут приходить с задержкой на несколько тактов, поэтому промежуточные триггеры решают задачу.

В случае мультицикловых констрейнов данные передаются раз в несколько тактов, в результате чего могут идти до следующего триггера за n*период тактов.

Как-то так...

Цитата
Global optimiztion в моей практике может помочь дотянуть чуть-чуть, но не может помочь кардинально, а ресурсов (в основном времени) жрет много. Поэтому я бы его не включал.

В моем проекте для некоторых конфигураций он помогал.
Но потом я его выключил, пока хватало других способов. Включил обратно, когда некоторые методы себя исчерпали (возможно, зря включил).

Собственно, сейчас, поскольку конфигурация-минимум откомпилировалась, эта задача отошла на задний план.

Цитата
А памяти не жалейте, она же дешевая...Да, придется поставить шестидесятичетырехразрадную операционку

Надо парить мозг начальнику, чтобы купил эту память, и всё переставлять. Т.е. время.
Когда эта задача станет по-настоящему актуальной - возможно, так и сделаю.
Go to the top of the page
 
+Quote Post
disel
сообщение Jan 19 2011, 09:07
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Ну тогда да.
Go to the top of the page
 
+Quote Post
jojo
сообщение Jan 19 2011, 09:09
Сообщение #33


Знающий
****

Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827



Рецепт для 95-100% слайсов и максимальных частот.
Действуя так, можно добиться впечатляющих 110-120 % sm.gif использования LUT с учётом комбинирования LUT2 и LUT3 в LUT6:

Этап 1. Подготовка IP
Ограничить пути распространения ~2...4 LUT или ~32 бита при суммировании с переносом.
Экспортировать крупные или многочисленные блоки IP в Planahead (сделав для них отдельный проект).

Этап 2. Сборка основного проекта
Привязать вручную импортированные крупные блоки констрейнами.
Для всей остальной логики основного проекта назначить области в Planahead.

На всех этапах, по необходимости:
Перебрать таблицы Cost в поисках "счастливого номера" при сбалансированной стратегии.
Увеличить усилия и включить продвинутые галки Mapper-у.
Вручную переставить несколько совсем неудачно расположенных LUT.


Все эти действия имеют свою трудоёмкость и последствия, поэтому выжимать максимум из Xilinx - занятие не из приятных.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Feb 24 2011, 09:52
Сообщение #34


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Граждане, кто-нибудь пробовал компилировать проекты для больших Spartan-6 (LX100, LX150) при заполнении 80% и больше?
Если да, насколько успешно и сколько времени занимает Place & Route.

Чего-то у меня оно затыкается на Route.Phase 4... Думает-думает-думает, и не может придумать, как это всё дело развести.
Заполнение по LUT'ам 78%, по триггерам чуть меньше, по блокам памяти порядка половины.
Временные ограничения отключил, но это не очень помогло.
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 24 2011, 10:00
Сообщение #35


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Koluchiy
из тяжеловесных имею XC3S1600E: на AMD Phenom II 945 собирает минут 10 (Синтез Synplify Pro). Сильно зависит от того как написан код. Исходный код писали какие то индусы (за воду наверное) и синтез в XST - ситезирует 4 часа. После моих апдейтов (апдейтил и редизайнил правда ОЧЕНЬ долго) и синтеза в Synplify Pro имею 10 минут.. Так что тут неоднозначность - всё зависит от того как написать архитектуру и где синтезировать.

Так а что именно пишет роутер ?
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Feb 24 2011, 10:04
Сообщение #36


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Spartan-3 мне не очень интересно, у меня есть проект под XC3S5000 :-))) с заполнением те же 80.
Интересно про Spartan-6...

Цитата
Так а что именно пишет роутер ?

А ничего не пишет. Несколько часов считает молча, периодически выдавая строки типа
Intermediate status: 9421 unrouted; REAL time: 2 hrs 15 mins 7 secs,
причем цифра неразведенных колеблется вокруг 9000.
Неужели закончились цепи межсоединений?
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 24 2011, 10:06
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Koluchiy
ну тут выше 45ки дело не имел laughing.gif
правда заполнение 99%, но выше приведённых сообщений не получал...
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Feb 24 2011, 10:29
Сообщение #38


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Koluchiy @ Feb 24 2011, 13:04) *
Неужели закончились цепи межсоединений?

Это вряд ли. Вообще LX150 - кристалл большой, если у вас процессор не очень мощный - может уйти несколько часов легко. А если не хватает ОЗУ (используется своп) - то может и на сутки растянуться, думаю. Особенно если Global Optimization включено. Посмотрите соотношение имеющейся и используемой памяти, напишите что за процессор. Поиграйтесь опциями ISE.
Go to the top of the page
 
+Quote Post
disel
сообщение Feb 24 2011, 10:29
Сообщение #39


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



У меня правда не спартан, а виртекс6. Но в целом проблема была такая же. 75% по лютам и 250 мгц тактовой. И та же хрень. Помог запуск смартэксплорера с опцией Use built-in SmartXplorer strategies for Congestion Reduction. все развелось, а до этого процессор сутки колбасился и никак не мог развести. Советую почитать wp381, там правда про виртекс, но думаю это не принципиально.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Feb 24 2011, 11:48
Сообщение #40


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



2 Kuzmi4

Цитата(Kuzmi4 @ Feb 24 2011, 13:06) *
2 Koluchiy
ну тут выше 45ки дело не имел laughing.gif
правда заполнение 99%, но выше приведённых сообщений не получал...


Если не секрет, какие частоты? sm.gif
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 24 2011, 11:55
Сообщение #41


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Koluchiy
не секрет biggrin.gif там несколько частот: внешнаяя на 2.048МГц/1.554МГц, внешнаяя на 75МГц. И внутренняя, системная, на 200МГц.
Go to the top of the page
 
+Quote Post
Victor®
сообщение Feb 24 2011, 12:30
Сообщение #42


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Kuzmi4 @ Feb 24 2011, 14:55) *
2 Koluchiy
не секрет biggrin.gif там несколько частот: внешнаяя на 2.048МГц/1.554МГц, внешнаяя на 75МГц. И внутренняя, системная, на 200МГц.


Хм... TDMoIP? Рискну предположить :-)


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Kuzmi4
сообщение Feb 24 2011, 12:39
Сообщение #43


Гуру
******

Группа: Свой
Сообщений: 3 304
Регистрация: 13-02-07
Из: 55°55′5″ 37°52′16″
Пользователь №: 25 329



2 Victor®
возле того cool.gif
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 21:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01829 секунд с 7
ELECTRONIX ©2004-2016