|
Ошибки при работе схемы на ПЛИС, Прошу помощи. Временный задержки |
|
|
|
Jan 22 2014, 10:36
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475

|
Приветсвую всех!
Возникла такая проблема и требуется помощь в ее решении. Пишу проект на virtex 6. В проекте реализован 16 канальный DDC. Работоспособность проверена на железке. Мне необходимо разместить на каждом канале алгоритм подавления несинхронной помехи. Сам алгоритм подавления я написал и проверил также его работоспособность. Но при размещении 16 подавителей, по 1 на каждый канал столкнулся с проблемой нехватки ресурсов slice. Решение проблемы нашел в последовательной обработке на более высокой частоте. Но при этом столнулся с другой проблемой. При отладке в ChipScope видно, что схема ведет себя не корректно. Например, счетчик считает 1 2 3 !2! 4 5 6. Возникают значения, которых не должно быть. Если в ChipScope раскрыть шину, то видно что некоторые сигналы в шине задерживаются на один такт и это приводит к ошибке. Собственно, это мой первый проект и раньше с временными задержками в схеме не сталкивался. Алгоритм синхронный и почему возникают такие задержки мне не понятно. Вопрос в том, в какую сторону копать в чем проблема и как бороться с временными задержками в ПЛИС? Так как вопрос достаточно общий, не знаю, какую информацию еще надо предоставить и в процессе обсуждения выложу ее.
Заранее благодарю за помощь.
Сообщение отредактировал bognev - Jan 22 2014, 10:40
|
|
|
|
|
 |
Ответов
|
Jan 22 2014, 14:52
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475

|
А каким способом можно уменьшить эти нарушения? Как строить алгоритм, чтобы минимизировать временные задержки?
|
|
|
|
|
Jan 22 2014, 18:54
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475

|
Цитата(bogaev_roman @ Jan 22 2014, 19:30)  Способов много, но нужно сначала узнать, что за пути, есть ли возможность разрезать путь дополнительным регистром. Иногда помогает только изменение алгоритма. А вообще алгоритмов вытягивания много и по сложности они разные - начиная от дублирования логики и заканчивая игрой настроек в САПР или жестким фиксированием отдельных модулей (в виде разведенных нетлистов) на кристалле. Все зависит от конкретной ситуации. А вы не могли бы привести где более подробно можно почитать? Как повлияет установка дополнительно регистра? Ресурс в интернете или книга, аппнот? Цитата(iosifk @ Jan 22 2014, 22:25)  и это еще не все... Откуда столько частот? Они что, извне приходят в кристалл? Как сделан переход между ними? На плис клоки clk100 100МГц и CLK_ADC 160 МГц приходят извне. На основе клока CLK100 формируются 200 МГц и 300 МГц с помощью MMCM_BASE. Клоки clkfft, clk400, сlk240, aclk не используются и не формируются.
|
|
|
|
|
Jan 23 2014, 07:40
|

Частый гость
 
Группа: Свой
Сообщений: 116
Регистрация: 13-12-12
Пользователь №: 74 831

|
Цитата Решение проблемы нашел в последовательной обработке на более высокой частоте. Может попробовать комбинировать? К примеру 4х4. Если есть Коре элементы, перекинуть их на DSP, тем самым освободить слайсы.
Сообщение отредактировал gibson1980 - Jan 23 2014, 07:43
--------------------
|
|
|
|
|
Jan 23 2014, 07:49
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475

|
Цитата(gibson1980 @ Jan 23 2014, 11:40)  Может попробовать комбинировать? К примеру 4х4. Если есть Коре элементы, перекинуть их на DCM, тем самым освободить слайсы. Пробовал комбинировать 8x2, ошибки также вылазят. Ошибки вылазят на простом счетчике даже при остутсвии алгоритма подавления несинхронных помех. Цитата(gibson1980 @ Jan 23 2014, 11:40)  Если есть Коре элементы, перекинуть их на DCM, тем самым освободить слайсы. Можно по подробнее? Коре элементы есть, но это фильтры и умножители, я не до конца вас понимаю.
|
|
|
|
|
Jan 23 2014, 07:56
|

Частый гость
 
Группа: Свой
Сообщений: 116
Регистрация: 13-12-12
Пользователь №: 74 831

|
Цитата(bognev) Можно по подробнее? Коре элементы есть, но это фильтры и умножители, я не до конца вас понимаю. Может я ошибаюсь, но вот...
Умножители кстати лучше тоже на DSP делать, поддерживаются более высокие скорость, экономятся ресурсы ПЛИС ну и т.д. XtremeDSP 48 Slice
Сообщение отредактировал gibson1980 - Jan 23 2014, 08:05
--------------------
|
|
|
|
|
Jan 23 2014, 08:02
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475

|
Цитата(gibson1980 @ Jan 23 2014, 11:56)  Может я ошибаюсь, но вот...
Я попробую снять эту опцию, если я правильно вас понимаю, то это уменьшит использование слайсов и как результат снизит временные ошибки?
|
|
|
|
|
Jan 23 2014, 08:13
|

Частый гость
 
Группа: Свой
Сообщений: 116
Регистрация: 13-12-12
Пользователь №: 74 831

|
Наоборот поставить. Я так понимаю что должно уменьшить количество слайсов  Тут есть пример умножителя на DSP.
Эскизы прикрепленных изображений
--------------------
|
|
|
|
|
Jan 23 2014, 08:24
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475

|
Цитата(gibson1980 @ Jan 23 2014, 12:13)  Наоборот поставить. Я так понимаю что должно уменьшить количество слайсов  Тут есть пример умножителя на DSP. К сожалению, эта опция уже стоит. А в корках умножителей тоже выбрано использование DSP блоков.
|
|
|
|
|
Jan 23 2014, 08:38
|
Участник

Группа: Участник
Сообщений: 58
Регистрация: 4-06-11
Пользователь №: 65 475

|
Цитата(gibson1980 @ Jan 23 2014, 12:30)  В корках умножителей речь идет вроде о LUTах, посмотри еще вот этот пример, вот там точно умножение будет на DSP...
вообще что за ПЛИС используется? ПЛИС - virtex 6. В корке умножителей есть выбор:
|
|
|
|
Сообщений в этой теме
bognev Ошибки при работе схемы на ПЛИС Jan 22 2014, 10:36 bogaev_roman Цитата(bognev @ Jan 22 2014, 14:36) Приве... Jan 22 2014, 10:57 bognev Цитата(bogaev_roman @ Jan 22 2014, 14:57)... Jan 22 2014, 12:05 bogaev_roman Я давно в ISE не работал, но все равно тут можно с... Jan 22 2014, 12:40 bognev RE: Ошибки при работе схемы на ПЛИС Jan 23 2014, 06:53 iosifk Цитата(bognev @ Jan 22 2014, 14:36) Возни... Jan 22 2014, 18:25 iosifk Цитата(bognev @ Jan 22 2014, 14:36) . Реш... Jan 23 2014, 08:41 bognev Цитата(iosifk @ Jan 23 2014, 12:41) На са... Jan 23 2014, 09:10 bogaev_roman По поводу поста 9 - большое кол-во логических уров... Jan 23 2014, 09:54 bognev Цитата(bogaev_roman @ Jan 23 2014, 13:54)... Jan 23 2014, 10:14  bogaev_roman Цитата(bognev @ Jan 23 2014, 14:14) В 9 п... Jan 23 2014, 10:50   bognev Цитата(bogaev_roman @ Jan 23 2014, 14:50)... Jan 23 2014, 11:16    Maverick проект синхронный? асинхронщины нет?
переходы из р... Jan 23 2014, 20:15     bognev Цитата(Maverick @ Jan 24 2014, 00:15) про... Jan 24 2014, 06:34      Maverick Цитата(bognev @ Jan 24 2014, 08:34) перех... Jan 24 2014, 07:08       bognev Цитата(Maverick @ Jan 24 2014, 11:08) рек... Jan 24 2014, 20:18        Bad0512 Цитата(bognev @ Jan 25 2014, 03:18) Спаси... Jan 25 2014, 06:45         bognev Цитата(Bad0512 @ Jan 25 2014, 10:45) Пров... Jan 25 2014, 07:22          Bad0512 Цитата(bognev @ Jan 25 2014, 14:22) RКаки... Jan 25 2014, 08:34           bognev Временные ошибки в памяти свелись к сигналу сброса... Jan 27 2014, 08:22    o_khavin Цитата(bognev @ Jan 23 2014, 15:16) 16 би... Jan 23 2014, 22:26 bognev Стал дальше реализовывать проект и столкнулся с но... Jan 31 2014, 04:50 Джеймс Цитата(bognev @ Jan 31 2014, 07:50) Стал ... Jan 31 2014, 06:47  bognev Цитата(Джеймс @ Jan 31 2014, 10:47) Замен... Feb 2 2014, 15:15 Timmy Я бы посоветовал для начала разместить user_rd_dat... Jan 31 2014, 05:54
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|