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

 
 
> Как уменьшить время распространения сигнала (route)?, Virtex6, xc6vlx240, Ise14.7, LDPC DVBS2
Tpeck
сообщение Jan 22 2018, 11:26
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Доброго времени суток.
Есть дизайн c LDPC DVBS2 (около 25-30 % процентов ПЛИС), с тактовой частотой 200 МГц.
В проекте много однотипных юнитов.
После P/R с помощью PlanAhead вижу следующую таблицу.
Из неё видно, что значительная часть времянок уходит на route.
Как это время можно уменьшить, не используя loc, rloc, area_group и т. п. ручные механизмы?
А если это не уменьшить, то как грамотно использовать ручные механизмы?
Всем откликнувшимся - спасибо! sm.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
TRILLER
сообщение Jan 22 2018, 13:14
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 180
Регистрация: 17-02-09
Из: Санкт-Петербург
Пользователь №: 45 001



Основная проблема раскладки проекта в ISE, на мой взгляд, это шины. Т.е. если у Вас сигналы образуют шину, то они будут распиханы по 4 штуки(по умолчанию) в SLICE. Ещё хуже то обстоятельство, что однобитные сигналы одинаковых модулей("empty" для фифо, например), описанных через генерейт(т.е. копи) будут объединены в шину. В итоге у вас большие массивы BRAM в разных углах кристалла будут стоять, а управляющие сигналы к ним будут в одном "месте" biggrin.gif
Как с этим бороться в уже готовом описании я даже не представляю.
В любом случае, советую уделить этой особенности работы маппера особое внимание.
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Jan 22 2018, 13:22
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(TRILLER @ Jan 22 2018, 16:14) *
Основная проблема раскладки проекта в ISE, на мой взгляд, это шины. Т.е. если у Вас сигналы образуют шину, то они будут распиханы по 4 штуки(по умолчанию) в SLICE. Ещё хуже то обстоятельство, что однобитные сигналы одинаковых модулей("empty" для фифо, например), описанных через генерейт(т.е. копи) будут объединены в шину. В итоге у вас большие массивы BRAM в разных углах кристалла будут стоять, а управляющие сигналы к ним будут в одном "месте" biggrin.gif

Управляющие сигнала древовидно разветвляются в две стадии, образуя относительно небольшой fanout.
Вопрос в другом, почему ISE, при исользовании четверти памяти, ставит их в разные углы плисины?


Цитата(bogaev_roman @ Jan 22 2018, 16:20) *
Для начала - возьмите один длинный путь от триггера до триггера и проанализируйте кол-во fan-out на выходном триггере этого пути, а также наиболее длинный путь до входного триггера, возможно у Вас дикое кол-во fan-out.


fan-out = 2.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jan 22 2018, 13:27
Сообщение #4


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Tpeck @ Jan 22 2018, 16:22) *
fan-out = 2.

Это для выхода? Проанализируйте длину этих путей. Думаю, что тут без скриншота не обойтись.
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Jan 22 2018, 13:36
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(bogaev_roman @ Jan 22 2018, 16:27) *
Это для выхода? Проанализируйте длину этих путей. Думаю, что тут без скриншота не обойтись.

Да.
Длина - длинная sm.gif
Тут системная проблема и длинный путь - это следствие.


Цитата(TRILLER @ Jan 22 2018, 16:29) *
Лично я считаю хорошим тоном приколотить ВСЮ блочную память гвоздями. Несколько сотен штук - не так и много. Зато экономит кучу времени в дальнейшем. И САПРине сильно легчает.

А по-какому принципу ее приколачивать?
LOC, Rloc, AREA_GROUP?
Или еще какие-нибудь?

И главное, как её расположить так, чтобы хуже не стало? sm.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jan 22 2018, 14:00
Сообщение #6


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Tpeck @ Jan 22 2018, 16:36) *
Тут системная проблема и длинный путь - это следствие.

Судя по описанию, это проблема не кривой разводки и решается она до парсера, на уровне описания алгоритма путем изменения логики и, как было выше описано, добавлением регистров. Вы можете попробовать все банки прибить гвоздями, но без четкого понимания того, каким образом Ваш алгоритм должен лечь на ПЛИС (архитектурно) это приведет только к ухудшения времянки и дополнительному времени разводки.
Цитата
Лично я считаю хорошим тоном приколотить ВСЮ блочную память гвоздями. Несколько сотен штук - не так и много. Зато экономит кучу времени в дальнейшем. И САПРине сильно легчает.

А что если вся эта память управляется из одного места и имеет стыки с интерфейсами типа ethernet или DDR3,которые уже жестко сидят - куда ее прибивать? Нам ТС ничего не поведал об алгоритме.
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Jan 22 2018, 14:06
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(bogaev_roman @ Jan 22 2018, 17:00) *
Судя по описанию, это проблема не кривой разводки и решается она до парсера, на уровне описания алгоритма путем изменения логики и, как было выше описано, добавлением регистров. Вы можете попробовать все банки прибить гвоздями, но без четкого понимания того, каким образом Ваш алгоритм должен лечь на ПЛИС (архитектурно) это приведет только к ухудшения времянки и дополнительному времени разводки.

А что если вся эта память управляется из одного места и имеет стыки с интерфейсами типа ethernet или DDR3,которые уже жестко сидят - куда ее прибивать? Нам ТС ничего не поведал об алгоритме.


Топикстартер ничего не понимает в том о чем он пишет biggrin.gif
Информация принята.
Алгоритм приведен в описание темы.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jan 22 2018, 14:34
Сообщение #8


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Tpeck @ Jan 22 2018, 17:06) *
Топикстартер ничего не понимает в том о чем он пишет biggrin.gif
Информация принята.
Алгоритм приведен в описание темы.

Возможно, я неправильно выразился - отсутствует структурная схема, конкретно проблемный кусок.
Цитата
Есть дизайн c LDPC DVBS2
с точки зрения реализации в итоговой RTL схеме может варьироваться. Обычная линия задержки может иметь несколько вариантов реализации, не зная реализацию, сложно чем-то помочь.
Go to the top of the page
 
+Quote Post
Tpeck
сообщение Jan 24 2018, 08:51
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(bogaev_roman @ Jan 22 2018, 17:34) *
Возможно, я неправильно выразился - отсутствует структурная схема, конкретно проблемный кусок.

Тут не в куске проблема. С проблемным куском я и сам бы разобрался sm.gif
C fan-out глобальных проблем нет.
Структурная схема - Память, сдвигатель, обработчик.
Проблема в том, как вежливо объяснить мапперу, что не надо память равномерно по всему кристаллу раскидывать.
Память размести компактней, сдвигатель поставь после неё, а обработчик поставь после сдвигателя и перед памятью.
А так память раскидал по всему кристаллу и между кристаллами начинает распихивать, сдвигатель, обработчик.
Там становится тесно и бах 90 % времни тратиться на распространение сигнала с fanout 2 .....
PS Белый цвет - это блоки памяти.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jan 24 2018, 09:00
Сообщение #10


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Tpeck @ Jan 24 2018, 11:51) *
Тут не в куске проблема. С проблемным куском я и сам бы разобрался sm.gif
C fan-out глобальных проблем нет.
Структурная схема - Память, сдвигатель, обработчик.
Проблема в том, как вежливо объяснить мапперу, что не надо память равномерно по всему кристаллу раскидывать.
Память размести компактней, сдвигатель поставь после неё, а обработчик поставь после сдвигателя и перед памятью.

А если память взять как инстанс из библиотеки - RAMB32 и т.д. А сдвигатель как SRL32...
И память составлять из кусков не по "адресам", а по "данным"... Тогда не понадобится мультиплексор шины данных от разных кусков памяти....


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Tpeck   Как уменьшить время распространения сигнала (route)?   Jan 22 2018, 11:26
- - svedach   Может организовать дополнительные регистры на вход...   Jan 22 2018, 11:56
|- - Tpeck   Цитата(svedach @ Jan 22 2018, 14:56) Може...   Jan 22 2018, 12:09
- - bogaev_roman   Цитата(Tpeck @ Jan 22 2018, 14:26) Доброг...   Jan 22 2018, 12:28
|- - Tpeck   Цитата(bogaev_roman @ Jan 22 2018, 15:28)...   Jan 22 2018, 12:37
|- - alexadmin   Цитата(Tpeck @ Jan 22 2018, 15:37) Не вып...   Jan 22 2018, 12:55
||- - Tpeck   Цитата(alexadmin @ Jan 22 2018, 15:55) Ес...   Jan 22 2018, 13:09
|- - bogaev_roman   Цитата(Tpeck @ Jan 22 2018, 15:37) Я бы х...   Jan 22 2018, 13:20
|- - starley   Цитата(Tpeck @ Jan 22 2018, 15:37) Увелич...   Jan 24 2018, 16:02
|- - Tpeck   Цитата(starley @ Jan 24 2018, 19:02) В AS...   Jan 24 2018, 16:19
|- - RobFPGA   Приветствую! Цитата(Tpeck @ Jan 24 2018,...   Jan 24 2018, 16:36
||- - TRILLER   Цитата(Tpeck @ Jan 22 2018, 16:36) А по-к...   Jan 22 2018, 13:41
|||- - Tpeck   Цитата(TRILLER @ Jan 22 2018, 16:41) Как ...   Jan 22 2018, 13:53
|||- - Tpeck   Цитата(iosifk @ Jan 24 2018, 12:00) А есл...   Jan 24 2018, 09:20
|||- - blackfin   Цитата(Tpeck @ Jan 24 2018, 12:20) Исполь...   Jan 24 2018, 09:24
|||- - Tpeck   Цитата(blackfin @ Jan 24 2018, 12:24) А с...   Jan 24 2018, 09:26
||||- - blackfin   Цитата(Tpeck @ Jan 24 2018, 12:26) нет А...   Jan 24 2018, 09:34
||||- - Tpeck   Цитата(blackfin @ Jan 24 2018, 12:34) Не ...   Jan 24 2018, 09:39
|||- - Tpeck   Цитата(blackfin @ Jan 24 2018, 12:24) Xil...   Jan 24 2018, 09:52
|||- - blackfin   Цитата(Tpeck @ Jan 24 2018, 12:47) Это-то...   Jan 24 2018, 09:53
||- - blackfin   Цитата(Tpeck @ Jan 24 2018, 11:51) Пробле...   Jan 24 2018, 09:43
|- - TRILLER   Цитата(Tpeck @ Jan 22 2018, 16:22) Вопрос...   Jan 22 2018, 13:29
- - RobFPGA   Приветствую! Увы - алгоритм P&R ISE стра...   Jan 24 2018, 10:15
- - svedach   ТС. А как у Вас расположены входы и выходы проекта...   Jan 24 2018, 17:57


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

 


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


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