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

 
 
> Ошибки при работе схемы на ПЛИС, Прошу помощи. Временный задержки
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
Ответов
iosifk
сообщение Jan 23 2014, 08:41
Сообщение #2


Гуру
******

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



Цитата(bognev @ Jan 22 2014, 14:36) *
. Решение проблемы нашел в последовательной обработке на более высокой частоте.

На самом деле, есть еще один вариант.
Не последовательно на более высокой частоте, а многопоточно, но тоже на более высокой частоте...
Т.е. есть вычислитель и есть память. Из памяти извлекаются данные для N-го потока, выполняется операция и данные опять отправляются в память... При этом конвейером извлекаются данные для другого потока... Для Ваших 16-ти потоков потребуется память шириной "сколько надо" х 16... Под шириной я понимаю все или часть битов, которые извлекаются для обработки...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
bognev
сообщение Jan 23 2014, 09:10
Сообщение #3


Участник
*

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



Цитата(iosifk @ Jan 23 2014, 12:41) *
На самом деле, есть еще один вариант.
Не последовательно на более высокой частоте, а многопоточно, но тоже на более высокой частоте...
Т.е. есть вычислитель и есть память. Из памяти извлекаются данные для N-го потока, выполняется операция и данные опять отправляются в память... При этом конвейером извлекаются данные для другого потока... Для Ваших 16-ти потоков потребуется память шириной "сколько надо" х 16... Под шириной я понимаю все или часть битов, которые извлекаются для обработки...

Вариант понятен, но скажем если без алгоритма в чипскопе я наблюдаю такую картинку:
Прикрепленное изображение

TRIG1, TRIG3, TRIG3, TRIG4 - это отсчеты 16и каналов последовательно передаются на вход алгоритма, а в TRIG5 счетчик, который синхронно с отсчетом в одно время должен менять свое значение, но если посмотреть на шину, то видно, что есть задержка.
При этом алгоритм подавления сейчас в схеме закомментирован. Если сейчас так схема работает, то более высокая частота или конвейер вряд ли спасут.


Вот вопрос такой

CODE
Timing constraint: NET "clk100" PERIOD = 10 ns HIGH 50%;
For more information, see Period Analysis in the Timing Closure User Guide (UG612).
22078 paths analyzed, 14128 endpoints analyzed, 2971 failing endpoints
2971 timing errors detected. (2971 setup errors, 0 hold errors, 0 component switching limit errors)
Minimum period is 11.898ns.
--------------------------------------------------------------------------------

Paths for end point ddc/ddc/SW_IN_I/user_rd_data_10_3_ii_14 (SLICE_X21Y127.CX), 1 path
--------------------------------------------------------------------------------
Slack (setup path): -0.949ns (requirement - (data path - clock path skew + uncertainty))
Source: ddc/ddc/u_ddrii_tb_top_0/Label1/user_rd_data_10_3_14 (FF)
Destination: ddc/ddc/SW_IN_I/user_rd_data_10_3_ii_14 (FF)
Requirement: 5.000ns
Data Path Delay: 1.592ns (Levels of Logic = 0)
Clock Path Skew: -3.864ns (1.420 - 5.284)
Source Clock: ddc/ddc/i_clk_0_tb rising at 5.000ns
Destination Clock: clk100 rising at 10.000ns
Clock Uncertainty: 0.493ns

Clock Uncertainty: 0.493ns ((TSJ^2 + DJ^2)^1/2) / 2 + PE
Total System Jitter (TSJ): 0.070ns
Discrete Jitter (DJ): 0.220ns
Phase Error (PE): 0.377ns

Maximum Data Path at Slow Process Corner: ddc/ddc/u_ddrii_tb_top_0/Label1/user_rd_data_10_3_14 to ddc/ddc/SW_IN_I/user_rd_data_10_3_ii_14
Location Delay type Delay(ns) Physical Resource
Logical Resource(s)
------------------------------------------------- -------------------
SLICE_X29Y143.CQ Tcko 0.337 ddc/ddc/u_ddrii_tb_top_0/Label1/user_rd_data_10_3<15>
ddc/ddc/u_ddrii_tb_top_0/Label1/user_rd_data_10_3_14
SLICE_X21Y127.CX net (fanout=1) 1.221 ddc/ddc/u_ddrii_tb_top_0/Label1/user_rd_data_10_3<14>
SLICE_X21Y127.CLK Tdick 0.034 ddc/ddc/SW_IN_I/user_rd_data_10_3_ii<15>
ddc/ddc/SW_IN_I/user_rd_data_10_3_ii_14
------------------------------------------------- ---------------------------
Total 1.592ns (0.371ns logic, 1.221ns route)
(23.3% logic, 76.7% route)

--------------------------------------------------------------------------------


В Timing Report я вижу максимальный путь между двумя FF на выходе блока u_ddrii_tb_top_0 и на входе другого блока SW_IN_I, каким образом уменьшить эту задержку?
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
- - bognev   А каким способом можно уменьшить эти нарушения? Ка...   Jan 22 2014, 14:52
|- - bogaev_roman   Цитата(bognev @ Jan 22 2014, 18:52) А как...   Jan 22 2014, 15:30
|- - bognev   Цитата(bogaev_roman @ Jan 22 2014, 19:30)...   Jan 22 2014, 18:54
|- - gibson1980   ЦитатаРешение проблемы нашел в последовательной об...   Jan 23 2014, 07:40
|- - bognev   Цитата(gibson1980 @ Jan 23 2014, 11:40) М...   Jan 23 2014, 07:49
|- - gibson1980   Цитата(bognev)Можно по подробнее? Коре элементы ес...   Jan 23 2014, 07:56
|- - bognev   Цитата(gibson1980 @ Jan 23 2014, 11:56) М...   Jan 23 2014, 08:02
|- - gibson1980   Наоборот поставить. Я так понимаю что должно умень...   Jan 23 2014, 08:13
|- - bognev   Цитата(gibson1980 @ Jan 23 2014, 12:13) Н...   Jan 23 2014, 08:24
|- - gibson1980   В корках умножителей речь идет вроде о LUTах, посм...   Jan 23 2014, 08:30
|- - bognev   Цитата(gibson1980 @ Jan 23 2014, 12:30) В...   Jan 23 2014, 08:38
- - iosifk   Цитата(bognev @ Jan 22 2014, 14:36) Возни...   Jan 22 2014, 18:25
- - 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 Текстовая версия Сейчас: 19th August 2025 - 04:01
Рейтинг@Mail.ru


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