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

 
 
> Приём LVDS с динамической подстройкой фазы, Как это реализовать на Altera, не имея спец. блоков DPA
Flip-fl0p
сообщение Jun 8 2017, 10:33
Сообщение #1


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Приветствую уважаемые посетители форума !
Возникло некоторое непонимание как на Altera реализовать приём данных по LVDS с динамической подстройкой фазы, т.е чтобы данные считывались по центру битового периода(sample window), а не в зоне джиттера.
Думаю тут будет уместна эта картинка для наглядности:

К сожалению, Cyclone V, который на моей макетной плате, не содержит блоков DPA (dynamic phase alignment), а в альтеровских application notes я не увидел алгоритмов реализации(может плохо смотрел или не туда), поэтому смотрел как это реализовано у Xilinx(XAPP460, XAPP861, XAPP224), но неужели у альтеры нет ничего похожего ?
Данные принимаю при помощи мега функции ALTLVDS_RX с калибровкой по тестовым паттернам.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Corner
сообщение Aug 7 2017, 12:58
Сообщение #2


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

Группа: Участник
Сообщений: 1 072
Регистрация: 11-12-12
Пользователь №: 74 815



Частота 800 МГц вытекает из 2 x максимальная частота тактирования регистров. Для этой ПЛИС 400 МГц потолок.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Aug 7 2017, 13:36
Сообщение #3


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(Corner @ Aug 7 2017, 15:58) *
Частота 800 МГц вытекает из 2 x максимальная частота тактирования регистров. Для этой ПЛИС 400 МГц потолок.

А где Вы нашли это если не секрет ? Я весь даташит прочитал, и нашёл только:
Global clock and Regional clock 550 MHZ (стр.39)
Максимальная скорость встроенного LVDS приёмника 875Mbs (стр.48)
А вот с какой скоростью могут работать регистры в ячейках я не увидел. Если что у меня speedgrade -C6 (5CSEMA5F31C6).
Да я и не собираюсь выжимать больше, поскольку у меня согласователь уровней CML -> LVDS ограничен скоростью 800 Mbs.
Сейчас основная задача разобраться с временными ограничениями и задать констрейны, чтобы реальная железка соответствовала тому, что говорит Timequest.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Aug 8 2017, 07:39
Сообщение #4


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

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



Цитата(Flip-fl0p @ Aug 7 2017, 16:36) *
А где Вы нашли это если не секрет ? Я весь даташит прочитал, и нашёл только:
Global clock and Regional clock 550 MHZ (стр.39)
Максимальная скорость встроенного LVDS приёмника 875Mbs (стр.48)
А вот с какой скоростью могут работать регистры в ячейках я не увидел. Если что у меня speedgrade -C6 (5CSEMA5F31C6).

Мне тоже интересно, откуда такие цифры. Согласно документации https://www.altera.com/content/dam/altera-w...-v/av_51002.pdf
Global clock and Regional clock 525MHz (1-43)
SERDES factor J = 1 to 2, Uses DDR Registers (1-51, (79*) - The maximum ideal data rate is the SERDES factor (J) x the PLL maximum output frequency (fOUT), provided you can close the design timing and
the signal integrity simulation is clean) Далее, кстати, на 1-44 fOUT_max=400MHz (This specification is limited by the lower of the two: I/O fMAX or FOUT of the PLL). Но это в случае без DPA, для DPA фактор сериализации начинается от 4.
Цитата
Каждые 5 тактов частоты RX0_CLK я формирую запрос на запись данных в FIFO. Частота записи у меня естественно RX0_CLK .
Для каждой линии приёма у меня свой FIFO буфер. Общее для них это частота чтения - CLK_40MHz

У Вас нет никакой пересинхронизации и т.к. фазовые соотношения между стробом на запись и частотой на чтение могут быть любые, в общем случае схема работать стабильно не будет. Кстати, а что там за временные ошибки timequest рисует, этот переход из одного клокового домена в другой там тоже скорее всего есть. Еще второй момент - канальная синхронизация - Вы пишете в отдельные буфера в общем случае в разные моменты времени, если чтение произойдет посредине между записями, то слово на канальном уровне разобьется на два такта ну или опять же будут временные ошибки.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Aug 8 2017, 07:52
Сообщение #5


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(bogaev_roman @ Aug 8 2017, 10:39) *
Мне тоже интересно, откуда такие цифры. Согласно документации https://www.altera.com/content/dam/altera-w...-v/av_51002.pdf
Global clock and Regional clock 525MHz (1-43)
SERDES factor J = 1 to 2, Uses DDR Registers (1-51, (79*) - The maximum ideal data rate is the SERDES factor (J) x the PLL maximum output frequency (fOUT), provided you can close the design timing and
the signal integrity simulation is clean) Далее, кстати, на 1-44 fOUT_max=400MHz (This specification is limited by the lower of the two: I/O fMAX or FOUT of the PLL). Но это в случае без DPA, для DPA фактор сериализации начинается от 4.

У Вас нет никакой пересинхронизации и т.к. фазовые соотношения между стробом на запись и частотой на чтение могут быть любые, в общем случае схема работать стабильно не будет. Кстати, а что там за временные ошибки timequest рисует, этот переход из одного клокового домена в другой там тоже скорее всего есть. Еще второй момент - канальная синхронизация - Вы пишете в отдельные буфера в общем случае в разные моменты времени, если чтение произойдет посредине между записями, то слово на канальном уровне разобьется на два такта ну или опять же будут временные ошибки.

Так у меня CYCLONE V а не ARRIA V laughing.gif
А зачем мне делать пересинхронизацию, если я принятые данные отправляю в DC FIFO буфер ? Я принял слово и отдал в FIFO буфер. Сам буфер обеспечит синхронизацию, для этого его и ставил.
Я сейчас привожу проект к тому виду, чтобы можно было показать общественности. Думаю, после того как проект выложу (ну и фиг с ним, что сырой), диалог будет более конструктивный.
Пока выложу структуру приемника по одной линии.
А слаки возникают из-за того, что данные слишком долго идут от выводов DDR регистра до регистра-приёмника.
Ну и заодно вопрос про мультициклы. Является ли путь от SHREG до PARALEL_REG мультицикловым или нет.



Сообщение отредактировал Flip-fl0p - Aug 8 2017, 07:56
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Flip-fl0p   Приём LVDS с динамической подстройкой фазы   Jun 8 2017, 10:33
- - Flip-fl0p   Есть мысли применить динамический сдвиг фазы (DPS)...   Jun 8 2017, 12:47
- - dm.pogrebnoy   Посмотрите реализацию Дмитрия Смехова aka dsmv htt...   Jun 8 2017, 19:19
|- - Flip-fl0p   Цитата(dm.pogrebnoy @ Jun 8 2017, 22:19) ...   Jun 8 2017, 20:24
- - spectr   Посмотрите еще вот здесь, совсем недавно было и ка...   Jun 9 2017, 06:01
|- - Flip-fl0p   Цитата(spectr @ Jun 9 2017, 09:01) Посмот...   Jun 9 2017, 06:17
- - doom13   Динамический сдвиг фазы клока PLL конечно поможет,...   Jun 9 2017, 07:58
|- - Flip-fl0p   Цитата(doom13 @ Jun 9 2017, 10:58) Динами...   Jun 9 2017, 08:04
- - doom13   Что-то подобное должно быть, но для Arria либо Str...   Jun 9 2017, 08:23
|- - Flip-fl0p   Цитата(doom13 @ Jun 9 2017, 11:23) Что-то...   Jun 9 2017, 08:31
- - Flip-fl0p   Итак, мысль в голове докрутилась до следующего алг...   Jun 13 2017, 13:30
|- - Flip-fl0p   Итак, в процессе разработки DPA возник очень важны...   Jun 21 2017, 10:24
|- - Александр77   Цитата(Flip-fl0p @ Jun 13 2017, 16:3...   Jun 21 2017, 19:29
|- - Flip-fl0p   Цитата(Александр77 @ Jun 21 2017, 22:29) ...   Jun 21 2017, 20:20
|- - Flip-fl0p   Отпишусь о результатах. Вроде получилось реализова...   Jun 26 2017, 12:28
- - krux   не тратьте времени. нормально (робастно) принять T...   Jun 21 2017, 19:40
- - doom13   Расскажите принцип работы системы, для каждой лини...   Jun 26 2017, 14:51
|- - Flip-fl0p   Цитата(doom13 @ Jun 26 2017, 17:51) Расск...   Jun 26 2017, 15:34
|- - Leka   Цитата(Flip-fl0p @ Jun 26 2017, 18:3...   Jun 26 2017, 18:35
|- - Flip-fl0p   Цитата(Leka @ Jun 26 2017, 21:35) Имхо. В...   Jun 27 2017, 11:08
- - Leka   Частоты какие?   Jun 26 2017, 15:21
- - doom13   А какую-нибудь Альтеровскую доку по этой теме нашл...   Jun 26 2017, 17:44
|- - Flip-fl0p   Цитата(doom13 @ Jun 26 2017, 20:44) А как...   Jun 26 2017, 18:01
- - Leka   A,B - сдвинутые по времени выборки, XOR дает биени...   Jun 27 2017, 17:31
|- - Flip-fl0p   Цитата(Leka @ Jun 27 2017, 20:31) A,B - с...   Jun 27 2017, 19:35
- - Leka   Тут просто стандартный метод выделения фронта + уп...   Jun 28 2017, 15:03
|- - Flip-fl0p   Итак господа. Отпишусь о результатах. DVI приёмник...   Jun 29 2017, 19:58
- - dvladim   Цитата(Flip-fl0p @ Jun 26 2017, 18:3...   Jul 1 2017, 10:43
|- - Flip-fl0p   Итак. Мучения с DVI походят к концу. Сегодня получ...   Jul 4 2017, 10:35
|- - Kuzmi4   Цитата(Flip-fl0p @ Jul 4 2017, 13:35...   Jul 5 2017, 12:52
- - Magnum   Пользовал и корку lvds_rx и просто на регистре дес...   Jul 6 2017, 15:18
|- - Flip-fl0p   Цитата(Magnum @ Jul 6 2017, 18:18) Пользо...   Jul 6 2017, 18:40
|- - Magnum   Цитата(Flip-fl0p @ Jul 7 2017, 01:40...   Jul 7 2017, 00:29
|- - Magnum   Цитата(Flip-fl0p @ Jul 7 2017, 01:40...   Jul 7 2017, 03:21
|- - Александр77   Цитата(Magnum @ Jul 7 2017, 06:21) Можно ...   Jul 7 2017, 05:06
|- - Flip-fl0p   Цитата(Magnum @ Jul 7 2017, 06:21) Можно ...   Jul 7 2017, 05:26
|- - Magnum   Цитата(Flip-fl0p @ Jul 7 2017, 12:26...   Jul 7 2017, 06:22
|- - Flip-fl0p   Цитата(Magnum @ Jul 7 2017, 09:22) Ну, ка...   Jul 7 2017, 06:41
- - Flip-fl0p   Сейчас в процессе написания собственного приёмника...   Jul 27 2017, 07:59
|- - bogaev_roman   Цитата(Flip-fl0p @ Jul 27 2017, 10:5...   Jul 27 2017, 08:35
|- - Flip-fl0p   Цитата(bogaev_roman @ Jul 27 2017, 12:35)...   Jul 27 2017, 08:41
|- - warrior-2001   Цитата(Flip-fl0p @ Jul 27 2017, 11:4...   Jul 27 2017, 10:02
|- - Flip-fl0p   Цитата(warrior-2001 @ Jul 27 2017, 13...   Jul 27 2017, 10:11
- - Flip-fl0p   А как правильно законстрейнить вариант в случае ди...   Jul 28 2017, 08:29
|- - Flip-fl0p   Всё мучаюсь с констрейнами В реальности железка...   Aug 3 2017, 05:51
|- - Magnum   Вы требуете слишком повышенных обязательств от lvd...   Aug 4 2017, 10:22
|- - Flip-fl0p   Цитата(Magnum @ Aug 4 2017, 13:22) Вы тре...   Aug 4 2017, 10:27
|- - bogaev_roman   Цитата(Flip-fl0p @ Aug 4 2017, 13:27...   Aug 4 2017, 12:56
|- - Flip-fl0p   Цитатапочитайте документацию - А какую именно из ...   Aug 4 2017, 13:10
|- - bogaev_roman   Цитата(Flip-fl0p @ Aug 4 2017, 16:10...   Aug 4 2017, 13:42
- - Flip-fl0p   Цитата(Flip-fl0p @ Jul 27 2017, 10:5...   Aug 4 2017, 12:50
- - Flip-fl0p   Цитата(bogaev_roman @ Aug 4 2017, 16:42) ...   Aug 4 2017, 14:15
|- - bogaev_roman   Цитата(Flip-fl0p @ Aug 8 2017, 10:52...   Aug 8 2017, 08:29
- - Димыч   Вопрос топикастеру: сколько сейчас у Вас ресурсов ...   Aug 8 2017, 14:39
- - Flip-fl0p   Весь проект, а это приём по DVI видеопотока и выво...   Aug 8 2017, 16:41
- - Димыч   Спасибо! Довольно немного. Дело в том, что соб...   Aug 9 2017, 05:23
|- - Corner   Цитата(Димыч @ Aug 9 2017, 08:23) Спасибо...   Aug 15 2017, 16:15
|- - Flip-fl0p   Цитата(Corner @ Aug 15 2017, 19:15) У МАХ...   Aug 16 2017, 05:01
- - doom13   Приветствую. Смотрю доку на Cyclone 10, правильно ...   Feb 12 2018, 11:13
|- - _Anatoliy   Цитата(doom13 @ Feb 12 2018, 14:13) Очен...   Feb 12 2018, 11:22
- - doom13   Т.е. оно круче чем у Xilinx (Kintex-7), там автома...   Feb 12 2018, 11:45
- - _Anatoliy   Цитата(_Anatoliy)В Arria V использовали эти блоки?...   Feb 12 2018, 12:15
- - Flip-fl0p   Цитата(_Anatoliy @ Feb 12 2018, 15:15) По...   Feb 14 2018, 06:18
- - _Anatoliy   Цитата(Flip-fl0p @ Feb 14 2018, 09:1...   Feb 14 2018, 09:45
- - Flip-fl0p   Цитата(_Anatoliy @ Feb 14 2018, 12:45) А ...   Feb 14 2018, 10:01
- - _Anatoliy   Цитата(Flip-fl0p @ Feb 14 2018, 13:0...   Feb 14 2018, 10:09


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

 


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


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