|
Использование встроенной памяти ПЛИС. |
|
|
|
Sep 13 2010, 21:33
|

Участник

Группа: Участник
Сообщений: 29
Регистрация: 6-08-10
Пользователь №: 58 790

|
Доброго всем времени суток! Вопрос такой. Пишу код, который работает с матрицами, в том числе обрабатывает их в циклах. Получилось так, что текущая версия кода при размере матрицы, далёком от практических потребностей код требует значительных ресурсов (насколько я понял из отчёта, близких к предельным для этой ПЛИСы): Logic Utilization: Number of Slice Flip Flops: 1,231 out of 9,312 13% Number of 4 input LUTs: 8,329 out of 9,312 89% Logic Distribution: Number of occupied Slices: 4,654 out of 4,656 99% Total Number of 4 input LUTs: 8,741 out of 9,312 93% Number of bonded IOBs: 19 out of 232 8% Number of BUFGMUXs: 1 out of 24 4% Number of MULT18X18SIOs: 20 out of 20 100% Скажите, ребят, если я буду использовать память (пока я себе это представляю как модуль памяти из IP Core Generator), то снизит ли это количество используемых LUT? То есть если данные будут хранится в памяти, а по мере необходимости вычислений они оттуда будут выдёргиваться. Если да, то был бы благодарен за ссылки на примеры использование памяти или статьи. Безусловно, гуглить обязательно буду, но вдруг, у кого уже под рукой хороший готовый материал. Просто пока для меня это чёрный ящик, надо в него заглянуть с фонариком  . Заранее спасибо, коллеги!
--------------------
Усложнять - просто, упрощать - сложно.
|
|
|
|
|
 |
Ответов
|
Sep 22 2010, 16:20
|

Участник

Группа: Участник
Сообщений: 29
Регистрация: 6-08-10
Пользователь №: 58 790

|
Цитата а какая оценка тактовой даётся синтезатором? Код Timing Summary: --------------- Speed Grade: -4
Minimum period: 206.584ns (Maximum Frequency: 4.841MHz) Minimum input arrival time before clock: 2.793ns Maximum output required time after clock: 4.310ns Maximum combinational path delay: No path found Блин, мало получается. Я думал, по наивности, что 50МГц - то есть как раз то, что с кварца подаётся  . Цитата и почему у вас так регистров-то мало используется вы не думали? 640*480 уже за 300 тыс. слов, а у вас только около 1 тыс бит У меня входная матрица - 8*6. Отладочный вариант. О 640*480 я только мечтать могу с таким кодом  . Цитата это значит требуемые умножители будут реализованы на общей логике Объясните пожалуйста, что значит "на общей логике". Это с помощью LUTов? Угловые скобки - это моё изобретение для экономии места. Я в них суть общую обозначал. Просто очень длинные индексы у матриц  . Цитата вообще есть подозрение, что вы кристалл выбрали слабый - у вас параллельная обработка всего массива за шаг вряд ли получится - придётся делать скользящим окном Получается, что так, Вы правы. Я тоже теперь к этому склоняюсь. Или попробую загружать матрицу в память, а потом оттуда её вытаскивать блоками, или просто на вход буду принимать часть матрицы. 20 умножителей сильно развернуться не дадут, это уж точно. Самое главное, что мне пока не понятно - это почему тактовая частота такая низкая. Как Вы думаете, если перейти к блочной обработке, частота повысится? Цитата есть подозрение, что вы кристалл выбрали слабый А кристалл пока выбирать не приходится - SDK Nexys2  .
Сообщение отредактировал m0use - Sep 22 2010, 16:12
--------------------
Усложнять - просто, упрощать - сложно.
|
|
|
|
|
Sep 22 2010, 16:52
|

тоже уже Гуру
     
Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973

|
Цитата(m0use @ Sep 22 2010, 19:20)  Самое главное, что мне пока не понятно - это почему тактовая частота такая низкая. Как Вы думаете, если перейти к блочной обработке, частота повысится? нет не повысится. эта мера вынужденная, так как у вас на преобразование большой картинки просто ресурсов кристалла не хватит. частота у вас такая низкая из-за того что преобразования между регистровыми матрицами очень жирные. например если у вас записана операция умножения и она не синтезируется во встроенный умножитель, то она будет реализована в виде столбикового сложения с количеством операндов равным разрядности множителя. а это очень жирный кусок. тут либо нужно принудительно вставлять промежуточные регистры (делать конвейерное умножение, либо реализовывать умножитель на аккумуляторе). Цитата(m0use @ Sep 22 2010, 19:20)  Объясните пожалуйста, что значит "на общей логике". Это с помощью LUTов? да
--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
|
|
|
|
Сообщений в этой теме
m0use Использование встроенной памяти ПЛИС. Sep 13 2010, 21:33 Shtirlits Я бы ответы искал User Guide на конкретную микрос... Sep 13 2010, 22:28 CaPpuCcino скажите сразу, что за кристалл, чтоб лишний раз не... Sep 13 2010, 23:01 Krys Цитата(CaPpuCcino @ Sep 14 2010, 06:01) З... Oct 12 2010, 07:07 m0use Спасибо за советы и Ваше время!
Кристалл - Sp... Sep 14 2010, 21:21 CaPpuCcino Цитата(m0use @ Sep 15 2010, 00:21) Я не о... Sep 14 2010, 23:02 ADA007 Цитата(m0use @ Sep 14 2010, 00:33) Скажит... Sep 15 2010, 05:34 andrew_b Цитата(ADA007 @ Sep 15 2010, 09:34) Так к... Sep 15 2010, 08:03 m0use Несколько раз перечитывал, что вы мне ответили, чт... Sep 15 2010, 21:55 des333 Цитата(m0use @ Sep 16 2010, 01:55) Хотел ... Sep 15 2010, 22:04 CaPpuCcino Цитата(m0use @ Sep 16 2010, 00:55) Выходи... Sep 15 2010, 22:48  des333 Цитата(CaPpuCcino @ Sep 16 2010, 02:48) З... Sep 15 2010, 22:52   CaPpuCcino Цитата(des333 @ Sep 16 2010, 01:52) Подум... Sep 15 2010, 23:06 vadimuzzz у Максфилда (The Design Warrior's Guide to FPG... Sep 16 2010, 00:32 m0use Спасибо, войны дизайна . Вы мне глаза приоткрывает... Sep 21 2010, 19:46 CaPpuCcino Цитата(m0use @ Sep 21 2010, 22:46) мне не... Sep 21 2010, 21:46 Shtirlits какие есть средства для "эквивалентной трансф... Sep 21 2010, 23:05 des333 Цитата(Shtirlits @ Sep 22 2010, 03:05) ка... Sep 21 2010, 23:08  CaPpuCcino Цитата(des333 @ Sep 22 2010, 02:08) Бумаг... Sep 22 2010, 00:06 m0use Цитататеперь, если угодно вопрос на засыпку: а мож... Sep 22 2010, 11:34 m0use Посмотрел код. Может, в этой триаде - бумага+кара... Sep 22 2010, 14:53 CaPpuCcino а вы моделировали функционально? результат получае... Sep 22 2010, 15:02 m0use Не, и так понятно, Вы доступно объясняете. Спасибо... Sep 22 2010, 15:15 CaPpuCcino а какая оценка тактовой даётся синтезатором?
и поч... Sep 22 2010, 15:27  des333 Цитата(CaPpuCcino @ Sep 22 2010, 19:27) в... Sep 22 2010, 15:53 m0use Понятно. А есть ли возможность конвеерно выполнять... Sep 22 2010, 17:02 CaPpuCcino Цитата(m0use @ Sep 22 2010, 20:02) Понятн... Sep 22 2010, 17:20 m0use Идею понял, только уточнить хочу. Если у меня в al... Sep 22 2010, 17:34 des333 Цитата(m0use @ Sep 22 2010, 21:34) Идею п... Sep 22 2010, 17:50 CaPpuCcino Цитата(m0use @ Sep 22 2010, 20:34) Если у... Sep 22 2010, 17:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|