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

 
 
> Приём данных в ПЛИС по внешнему клоку, Методы и подходы.
dxp
сообщение Jun 19 2014, 06:44
Сообщение #1


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Всем привет!

Возможно, тема уже обсуждалась в том или ином виде, но я не заметил, хотя форум читаю регулярно. Поэтому предлагается обсуждение.

Вопрос, собственно, вот в чём. Дано: ПЛИС и некое внешнее цифровое устройство, с которым ПЛИС обменивается данными, причём в этом обмене клок идёт с внешнего устройства на ПЛИС. Соответственно, на ПЛИС нужно принять поток, имея устойчивую синхронизацию, не зависящую от таких факторов, как изменение температуры, зависимость от конкретного образца/партии микросхем и т.п.

Если клок внешнего устройства относительно низкочастотен по отношению к внутреннему клоку ПЛИС, то ситуация выглядит простой: пропускаем все входные сигналы, включая клок внешнего устройства, через синхронизаторы и работаем с полученными внутренними сигналами обычным образом.

Но если клок внешнего устройства соизмерим или больше внутреннего клока ПЛИС, тут остаётся один путь - заводить внешний клок внутрь, организовывать для него клоковый домен, в котором принимать данные (которые потом внутри можно отдавать в другие клоковые домены, например, через двухклоковое FIFO). Вот тут и возникает самый интересный вопрос: как организовать внутренний клок, синхронный с внешним для уверенного приёма данных. Насколько мне известно, существует два подхода.

  1. Подача внешнего клока на I/O пин ПЛИС с дальнейшей трассировкой на глобальный клок, которым и тактировать приём данных.
  2. Подача внешнего клока на специальный пин ПЛИС, который ведёт на вход ФАПЧ, включаемой в режиме zero-compensation (в терминах Altera).

В первом случае необходимо добиться, чтобы клок, пройдя через внутренние трассировочные ресурсы ПЛИС, был приемлемо сфазирован по отношению к данным. Видел, что этого добиваются введением констрейнов задержки (set_delay). Вопрос: неужто этот способ даёт возможность добиться в различных условиях (климатика, зависимость от экземпляра и т.д.) согласованности между полученным указанным образом внутренним клоком и внешними данными, чтобы их (данные), например, можно было безопасно и надёжно захватывать прямо во входных триггерах I/O элементов ПЛИС?

Во втором случае, вроде, теоретически всё хорошо - все пути являются, что называется, dedicated, синтезатор и ПЛИС обеспечивают надёжную организацию согласования клока и данных. Интересует реальный опыт - кто так делал и каков результат? Какие частоты реально использовались?

В общем, интересует любая информация по обозначенной теме: теория, практические достижения и т.д. Практический опыт особенно интересен, как в плане подхода, так и в нюансах. Конкретные примеры тоже в кассу: какие ПЛИС, какие внешние устройства использовались?



--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
dxp
сообщение Jun 19 2014, 12:49
Сообщение #2


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Спасибо всем за дельные ответы!

QUOTE (blackfin @ Jun 19 2014, 14:17) *
Теория: AN433.
Практика: SLAA545.

Спасибо, изучаю второй документ, первый видел.

QUOTE (warrior-2001 @ Jun 19 2014, 14:27) *
Ответ зависит от типа ПЛИС и той частоты, которыю ПЛИС поддерживает. Положительный опыт - до 300 Мгц.

До 300 МГц - это приём на логике (без спец аппаратуры типа аппаратных десериалайзеров)?

QUOTE (warrior-2001 @ Jun 19 2014, 14:27) *
Бывает и больше, но надо изголяться. Обычно самое трудное - обеспечить на выводах ПЛИС синхронность входных данных с опорной частотой на всём климатическом диапазоне! Вот где танцы начинаются!

Во-от, именно этот момент меня больше всего интересует и смущает.

QUOTE (warrior-2001 @ Jun 19 2014, 14:27) *
А внутри ПЛИС надо вытянуть частоту и радоваться жизни для второго случая.



QUOTE (des00 @ Jun 19 2014, 15:13) *
а вы умнее поступите, сделайте региональный клок, на котором хлопает пара регистров, а потом на остальную логику, работающую от ФАПЧ. Если входной поток нормально сфазирован относительно клока, то там норм все будет. Но при желании можно автомат калибровки сделать и периодически подруливать задержками в падах на лету.

А чем это лучше, чем вариант два (с генерацией клока на ФАПЧ с компенсацией задержки)? Тем, что внешний клок не надо подавать на специальный (dedicated) пин?

QUOTE (doom13 @ Jun 19 2014, 17:20) *
Stratix II (EP2S30) + ADS6445 (2-Wire Interface 16xSerialization, тактовая для АЦП 61.44 MHz, скорость передачи данных по линии 491.52 Mbit/s). Тактовый сигнал от АЦП заводится на Global Clock -> PLL.
Cyclone V (5CGXFC9E6) + ADS5263 (тактовая для АЦП 61.44 MHz - скорость передачи данных по линии 491.52 Mbit/s, 100 MHz - скорость передачи данных по линии 800 Mbit/s). Тактовый сигнал от АЦП заводится на Global Clock -> PLL.
Если рассматривать АЦП от TI, то клок от АЦП заводится на ногу FPGA, которая поддерживает подключение его к PLL.

Циклончик пятый, я понял, с аппаратным десериалайзером, у которого есть своя ФАПЧ, обеспечвающая корректный внутренний клок?
А на стратиксе втором завели по второму варианту и принимали поток на логике? Неужто сия уже довольно древняя ПЛИС успевает щёлкать на частоте под полгига?

QUOTE (alexadmin @ Jun 19 2014, 18:26) *
Могу поделиться личным фэйлом: пытался ходить первым путем с альтерой (циклон/ария). Ничерта не вышло. Временной анализ проходит успешно (сколько я времени на это положил...), но на практике не работает, даже жалкие 200 МГц (400 MSPS). В итоге использовал схему с кручением фазы принимающего клока либо задержек в пинах с предварительной калибровкой.

Как я вижу, для более-менее ВЧ сигналов реальный путь - через ФАПЧ с компенсацией задержки. Осталось понять, где начинается это ВЧ в каждом конкретном случае. Вот например, есть у нас кит от терасика на третьем стратиксе, к нему есть примочка (платка) с GbE трансиверами (два штуки там стоит 88Е1111), с трансивера идёт клок RXD_CLK 125 МГц и заводится на обычную ножку ПЛИС, не на специальную. И в sdc файле прописан констрейн про задержку. Всё. Вот и интересно, то ли 125 МГц - это для этой ПЛИС не частота, но будет ли это так же хорошо, скажем, на циклоне 4, то ли, исходя из того, что это кит и работает он на столе, климатики, в общем, никакой почти нет, и на столе всё работает хорошо, будет ли так же хорошо, если понизить температуру до -40? И из чего исходить в каждом случае при оценке, годится ввод клока непосредственно или нужно его фапчевать? Ведь критериев оценки как-то с ходу не просматривается.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- dxp   Приём данных в ПЛИС по внешнему клоку   Jun 19 2014, 06:44
- - blackfin   Цитата(dxp @ Jun 19 2014, 10:44) В общем,...   Jun 19 2014, 07:17
- - warrior-2001   Цитата(dxp @ Jun 19 2014, 10:44) ...Но ес...   Jun 19 2014, 07:27
- - des00   Цитата(dxp @ Jun 19 2014, 13:44) В первом...   Jun 19 2014, 08:13
- - Golikov A.   Делал по обоим путям. Первый раз схему развели не ...   Jun 19 2014, 08:13
- - doom13   Stratix II (EP2S30) + ADS6445 (2-Wire Interface 16...   Jun 19 2014, 10:20
- - alexadmin   Могу поделиться личным фэйлом: пытался ходить перв...   Jun 19 2014, 11:26
|- - des00   Цитата(alexadmin @ Jun 19 2014, 19:26) Мо...   Jun 19 2014, 12:39
|- - alexadmin   Цитата(des00 @ Jun 19 2014, 16:39) а фази...   Jun 19 2014, 13:23
|- - des00   Цитата(alexadmin @ Jun 19 2014, 20:23) Не...   Jun 19 2014, 13:43
|- - alexadmin   Цитата(des00 @ Jun 19 2014, 17:43) я не п...   Jun 20 2014, 11:10
|- - dxp   QUOTE (des00 @ Jun 19 2014, 20:43) тем чт...   Jun 23 2014, 09:33
|- - dsmv   Добрый день По ходу своей работы постоянно сталк...   Jun 27 2014, 11:59
|- - shide_3   Цитата(dsmv @ Jun 27 2014, 15:59) Добрый ...   Jan 11 2016, 07:17
|- - blackfin   Цитата(dxp @ Jun 19 2014, 16:49) А на стр...   Jun 19 2014, 13:21
|- - doom13   Цитата(dxp @ Jun 19 2014, 15:49) Циклончи...   Jun 19 2014, 13:24
- - warrior-2001   300 МГц у меня было на логике в режиме ddr. На с...   Jun 20 2014, 04:47
|- - bogaev_roman   У меня ситуация была не та, которая важна dxp, но ...   Jun 20 2014, 06:51
- - dxp   QUOTE (warrior-2001 @ Jun 20 2014, 11...   Jun 20 2014, 07:01
- - warrior-2001   Цитата(dxp @ Jun 20 2014, 11:01) Кстати, ...   Jun 23 2014, 06:17


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

 


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


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