|
Приём данных в ПЛИС по внешнему клоку, Методы и подходы. |
|
|
|
Jun 19 2014, 06:44
|

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

|
Всем привет! Возможно, тема уже обсуждалась в том или ином виде, но я не заметил, хотя форум читаю регулярно. Поэтому предлагается обсуждение. Вопрос, собственно, вот в чём. Дано: ПЛИС и некое внешнее цифровое устройство, с которым ПЛИС обменивается данными, причём в этом обмене клок идёт с внешнего устройства на ПЛИС. Соответственно, на ПЛИС нужно принять поток, имея устойчивую синхронизацию, не зависящую от таких факторов, как изменение температуры, зависимость от конкретного образца/партии микросхем и т.п. Если клок внешнего устройства относительно низкочастотен по отношению к внутреннему клоку ПЛИС, то ситуация выглядит простой: пропускаем все входные сигналы, включая клок внешнего устройства, через синхронизаторы и работаем с полученными внутренними сигналами обычным образом. Но если клок внешнего устройства соизмерим или больше внутреннего клока ПЛИС, тут остаётся один путь - заводить внешний клок внутрь, организовывать для него клоковый домен, в котором принимать данные (которые потом внутри можно отдавать в другие клоковые домены, например, через двухклоковое FIFO). Вот тут и возникает самый интересный вопрос: как организовать внутренний клок, синхронный с внешним для уверенного приёма данных. Насколько мне известно, существует два подхода. - Подача внешнего клока на I/O пин ПЛИС с дальнейшей трассировкой на глобальный клок, которым и тактировать приём данных.
- Подача внешнего клока на специальный пин ПЛИС, который ведёт на вход ФАПЧ, включаемой в режиме zero-compensation (в терминах Altera).
В первом случае необходимо добиться, чтобы клок, пройдя через внутренние трассировочные ресурсы ПЛИС, был приемлемо сфазирован по отношению к данным. Видел, что этого добиваются введением констрейнов задержки (set_delay). Вопрос: неужто этот способ даёт возможность добиться в различных условиях (климатика, зависимость от экземпляра и т.д.) согласованности между полученным указанным образом внутренним клоком и внешними данными, чтобы их (данные), например, можно было безопасно и надёжно захватывать прямо во входных триггерах I/O элементов ПЛИС? Во втором случае, вроде, теоретически всё хорошо - все пути являются, что называется, dedicated, синтезатор и ПЛИС обеспечивают надёжную организацию согласования клока и данных. Интересует реальный опыт - кто так делал и каков результат? Какие частоты реально использовались? В общем, интересует любая информация по обозначенной теме: теория, практические достижения и т.д. Практический опыт особенно интересен, как в плане подхода, так и в нюансах. Конкретные примеры тоже в кассу: какие ПЛИС, какие внешние устройства использовались?
--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
|
|
|
|
|
 |
Ответов
|
Jun 19 2014, 13:43
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(alexadmin @ Jun 19 2014, 20:23)  Не. Клок был прямо от АЦП, сопровождающий данные. я не про это, вы осцилом не пробовали посмотреть что там на самом деле ? Это я к тому, что констрейны они же рассчитываются под определенные соотношения входных сигналов и если они не те, то рассчет будет не корректный. В моей практике такое было, пока осцилом не увидел что в даташите приведены другие данные тоже была такая ситуация. Цитата(dxp @ Jun 19 2014, 19:49)  А чем это лучше, чем вариант два (с генерацией клока на ФАПЧ с компенсацией задержки)? Тем, что внешний клок не надо подавать на специальный (dedicated) пин? тем что клок проходит путь через пины аналогичный данным и задержки плывут одинакого.
--------------------
|
|
|
|
|
Jan 11 2016, 07:17
|
Местный
  
Группа: Участник
Сообщений: 314
Регистрация: 27-04-10
Пользователь №: 56 923

|
Цитата(dsmv @ Jun 27 2014, 15:59)  Добрый день По ходу своей работы постоянно сталкиваюсь с необходимостью принять синхронные данные с внешнего устройства. Причён тактовый сигнал как правило заходит на обычную ножку ПЛИС. В результате различных экспериментов я сделал узел автоподстройки тактовой частоты. Получилось решение, которое не зависит от партии ПЛИС, температуры и переразводки ПЛИС. Несколько раз я на этом форуме уже давал ссылку. Вот ещё раз: ctrl_dcm_phase_v8здравствуйте! мне почему-то представляется, что при таком подходе не обязательно входной клок и выход DCM будут совпадать по фазе. Они могут быть и сдвинуты на 90 градусов, и при этом тоже количество нулей и единичек на выходе триггера будет равным. Поправьте пожалуйста если чего-то не понял
|
|
|
|
Сообщений в этой теме
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 Цитата(des00 @ Jun 19 2014, 17:43) я не п... Jun 20 2014, 11:10 dxp Спасибо всем за дельные ответы!
QUOTE (black... Jun 19 2014, 12:49 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|