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

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


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bognev
сообщение Jan 22 2014, 14:52
Сообщение #2


Участник
*

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



А каким способом можно уменьшить эти нарушения? Как строить алгоритм, чтобы минимизировать временные задержки?
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Jan 22 2014, 15:30
Сообщение #3


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

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



Цитата(bognev @ Jan 22 2014, 18:52) *
А каким способом можно уменьшить эти нарушения? Как строить алгоритм, чтобы минимизировать временные задержки?

Способов много, но нужно сначала узнать, что за пути, есть ли возможность разрезать путь дополнительным регистром. Иногда помогает только изменение алгоритма.
А вообще алгоритмов вытягивания много и по сложности они разные - начиная от дублирования логики и заканчивая игрой настроек в САПР или жестким фиксированием отдельных модулей (в виде разведенных нетлистов) на кристалле. Все зависит от конкретной ситуации.
Go to the top of the page
 
+Quote Post
bognev
сообщение Jan 22 2014, 18:54
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 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 не используются и не формируются.
Go to the top of the page
 
+Quote Post
gibson1980
сообщение Jan 23 2014, 07:40
Сообщение #5


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

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



Цитата
Решение проблемы нашел в последовательной обработке на более высокой частоте.

Может попробовать комбинировать? К примеру 4х4.
Если есть Коре элементы, перекинуть их на DSP, тем самым освободить слайсы.

Сообщение отредактировал gibson1980 - Jan 23 2014, 07:43


--------------------
Go to the top of the page
 
+Quote Post
bognev
сообщение Jan 23 2014, 07:49
Сообщение #6


Участник
*

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



Цитата(gibson1980 @ Jan 23 2014, 11:40) *
Может попробовать комбинировать? К примеру 4х4.
Если есть Коре элементы, перекинуть их на DCM, тем самым освободить слайсы.


Пробовал комбинировать 8x2, ошибки также вылазят. Ошибки вылазят на простом счетчике даже при остутсвии алгоритма подавления несинхронных помех.

Цитата(gibson1980 @ Jan 23 2014, 11:40) *
Если есть Коре элементы, перекинуть их на DCM, тем самым освободить слайсы.


Можно по подробнее? Коре элементы есть, но это фильтры и умножители, я не до конца вас понимаю.
Go to the top of the page
 
+Quote Post
gibson1980
сообщение Jan 23 2014, 07:56
Сообщение #7


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

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



Цитата(bognev)
Можно по подробнее? Коре элементы есть, но это фильтры и умножители, я не до конца вас понимаю.

Может я ошибаюсь, но вот...

Прикрепленное изображение

Умножители кстати лучше тоже на DSP делать, поддерживаются более высокие скорость, экономятся ресурсы ПЛИС ну и т.д. XtremeDSP 48 Slice

Сообщение отредактировал gibson1980 - Jan 23 2014, 08:05


--------------------
Go to the top of the page
 
+Quote Post
bognev
сообщение Jan 23 2014, 08:02
Сообщение #8


Участник
*

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



Цитата(gibson1980 @ Jan 23 2014, 11:56) *
Может я ошибаюсь, но вот...

Прикрепленное изображение


Я попробую снять эту опцию, если я правильно вас понимаю, то это уменьшит использование слайсов и как результат снизит временные ошибки?
Go to the top of the page
 
+Quote Post
gibson1980
сообщение Jan 23 2014, 08:13
Сообщение #9


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

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



Наоборот поставить. Я так понимаю что должно уменьшить количество слайсов sm.gif
Тут есть пример умножителя на DSP.
Эскизы прикрепленных изображений
Прикрепленное изображение
 


--------------------
Go to the top of the page
 
+Quote Post
bognev
сообщение Jan 23 2014, 08:24
Сообщение #10


Участник
*

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



Цитата(gibson1980 @ Jan 23 2014, 12:13) *
Наоборот поставить. Я так понимаю что должно уменьшить количество слайсов sm.gif
Тут есть пример умножителя на DSP.

К сожалению, эта опция уже стоит.
А в корках умножителей тоже выбрано использование DSP блоков.
Go to the top of the page
 
+Quote Post
gibson1980
сообщение Jan 23 2014, 08:30
Сообщение #11


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

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



В корках умножителей речь идет вроде о LUTах, посмотри еще вот этот пример, вот там точно умножение будет на DSP...

Прикрепленное изображение

вообще что за ПЛИС используется?

Сообщение отредактировал gibson1980 - Jan 23 2014, 08:31


--------------------
Go to the top of the page
 
+Quote Post
bognev
сообщение Jan 23 2014, 08:38
Сообщение #12


Участник
*

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



Цитата(gibson1980 @ Jan 23 2014, 12:30) *
В корках умножителей речь идет вроде о LUTах, посмотри еще вот этот пример, вот там точно умножение будет на DSP...

Прикрепленное изображение

вообще что за ПЛИС используется?


ПЛИС - virtex 6.

В корке умножителей есть выбор:
Прикрепленное изображение
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


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


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